PageSourceSearch

https://www.quill.org/contact

html quill.org collected 2026-09-24 08:43:29 UTC 92,954 bytes, 1,529 lines download raw bytes

1<html lang='en'>
2  <head>
3  <!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 3-4
3
4<script async src="https://www.googletagmanager.com/gtag/js?id=
4G-C0FB3VEGYR
vendor: 12 bytes, line 4
4"></script>
5<script>
6  window.dataLayer = window.dataLayer || [];
7  function gtag(){dataLayer.push(arguments);}
8  gtag('js', new Date());
9
10  // Classifies the current page as 'marketing', 'product', or 'other' for the
11  // GA4 content_group dimension. First match wins; marketing is checked first
12  // so pages like /tools/diagnostic aren't claimed by the /diagnostic product
13  // rule. When a new marketing page launches, add it here — ping Katie McNeil.
14  function quillContentGroup() {
15    var path = window.location.pathname.toLowerCase();
16
17    // === MARKETING (checked first) ===
18    if (path === '/' || path === '') return 'marketing';
19
20    var marketingPrefixes = [
21      '/sign-up/', '/tools/', '/admins/', '/teacher-center/',
22      '/teacher_premium/', '/en/', '/articles/', '/premium/',
23      '/quill-for-','/literature/', '/social-studies/', '/interdisciplinary-science/',
24      '/blog/'
25    ];
26    for (var i = 0; i < marketingPrefixes.length; i++) {
27      if (path.indexOf(marketingPrefixes[i]) === 0) return 'marketing';
28    }
29
30    var marketingExact = [
31      '/account/new', '/sign-up', '/tools', '/admins',
32      '/teacher-center', '/teacher_premium', '/premium',
33      '/about', '/team', '/contact', '/press', '/careers',
34      '/impact', '/research-and-efficacy',
35      '/science-of-reading-and-writing', '/privacy-and-security',
36      '/ethical_ai', '/ethical-ai', '/pathways', '/faq', '/news', '/ap', '/preap',
37      '/springboard', '/college-board', '/blog',
38      '/social-studies', '/interdisciplinary-science', '/literature/'
39    ];
40    if (marketingExact.indexOf(path) !== -1) return 'marketing';
41
42    // === PRODUCT ===
43    var productPrefixes = [
44      '/student-center', '/classrooms/', '/classroom/', '/teachers/',
45      '/assign/', '/amplify/', '/account_settings', '/activity_sessions',
46      '/activities/', '/students_classrooms', '/diagnostic/', '/lessons/',
47      '/proofreader/', '/evidence/', '/grammar/', '/comprehension',
48      '/connect/', '/auth/', '/canvas_integration/',
49      '/oauth', '/clever/', '/join/', '/tutorials/', '/referrals'
50    ];
51    for (var j = 0; j < productPrefixes.length; j++) {
52      if (path.indexOf(productPrefixes[j]) === 0) return 'product';
53    }
54
55    var productExact = [
56      '/classes', '/class', '/classrooms', '/classroom',
57      '/diagnostic', '/lessons', '/proofreader', '/evidence',
58      '/grammar', '/ai-writing-check', '/connect',
59      '/add_classroom', '/subscriptions',
60      '/admin_access', '/quill_academy', '/backpack', '/profile',
61      '/student', '/home', '/dashboard', '/teachers', '/activities',
62      '/join', '/referrals'
63    ];
64    if (productExact.indexOf(path) !== -1) return 'product';
65
66    // === OTHER (auth, legal, errors, internal) ===
67    var otherPrefixes = ['/login', '/password', '/api/', '/cb/', '/cms/', '/session/'];
68    for (var k = 0; k < otherPrefixes.length; k++) {
69      if (path.indexOf(otherPrefixes[k]) === 0) return 'other';
70    }
71
72    var otherExact = [
73      '/sign-in', '/logout', '/forgot-password', '/tos', '/terms',
74      '/privacy', '/404', '/error', '/state_standards', '/teks',
75      '/locker', '/cms'
76    ];
77    if (otherExact.indexOf(path) !== -1) return 'other';
78
79    return undefined;
80  }
81
82  gtag('config', 'G-C0FB3VEGYR', {
83    content_group: quillContentGroup()
84  });
85</script>
85
86
87
88    
88<script type="text/javascript">
89    window.global ||= window;
90    var process = process || { env: {} } // can likely remove this after pipeline rollout
91    window.postbuildEnv = {"CDN_URL":"https://assets.quill.org","CLASSLINK_SSO_CLIENT_ID":"c17453308740881ebb0af7c4870a1fc0391df4e1975f","CLASSLINK_ENABLED":true,"QUILL_CMS":"https://cms.quill.org","DEFAULT_URL":"https://www.quill.org","LESSONS_WEBSOCKETS_URL":"https://lessons-server.quill.org/","PERMITTED_LANGUAGES":" [\"english\", \"spanish\", \"portuguese\", \"chinese\", \"hindi\", \"french\", \"arabic\", \"russian\", \"urdu\", \"korean\", \"thai\", \"ukrainian\", \"dari\", \"tagalog\", \"japanese\", \"vietnamese\", \"german\"]","PUSHER_CLUSTER":"mt1","PUSHER_KEY":"b2cbf247b2e2d930b21d","QUILL_GRAMMAR_URL":"https://quill.org/grammar/#","RAILS_ENV":"production","PUBLIC_POSTHOG_HOST":"https://us.i.posthog.com","PUBLIC_POSTHOG_KEY":"phc_QxdZ6b251qqgNO4hy2MGtmosrVkPuR8iSFcAAerjGsB","SUPABASE_URL":"https://sessions.quill.org","SUPABASE_ANON_KEY":"sb_publishable_OAYJnjMR_Cfz0Xzhwxkmsw_FocrWhqo","SUPABASE_SERVICE_ENABLED":true,"SUPABASE_SESSION_PRIMARY":false}
92  </script>
92
93
94
95    <title>Quill.org | Contact</title>
96    <link rel="icon" type="image/x-icon" href="https://assets.quill.org/images/shared/favicon.ico" />
97
98  <meta charset="utf-8">
99  <meta http-equiv="X-UA-Compatible" content="IE=edge">
100<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-bfa0d165f8376e8bdbd","applicationID":"548856875","transactionName":"IFgMQ0ELX19RQhYRBQRSERhQC11HVVNN","queueTime":1,"applicationTime":24,"agent":""}</script>
vendor: 1 bytes, line 100
100
101<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-bfa0d165f8376e8bdbd",applicationID:"548856875",browserID:"548858369"};;/*! For license information please see nr-loader-rum-1.322.0.min.js.LICENSE.txt */
102(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let s in a)if(void 0!==e[s])try{if(null===e[s]){r[s]=null;continue}Array.isArray(e[s])&&Array.isArray(t[s])?r[s]=Array.from(new Set([...e[s],...t[s]])):e[s]instanceof Map||e[s]instanceof Set||e[s]instanceof Date||e[s]instanceof RegExp?r[s]=e[s]:"object"==typeof e[s]&&null!==t[s]&&"object"==typeof t[s]?r[s]=i(e[s],t[s]):r[s]=e[s]}catch(e){r[s]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>s});var n=r(384),i=r(8122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function s(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,a)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["xv",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),s=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===s?.document?.visibilityState),c=""+s?.location,u=/iPad|iPhone|iPod/.test(s.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=((()=>{const e=s.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)());r.d(t,["OF",0,u,"RI",0,i,"WN",0,l,"bv",0,a,"gm",0,s,"m",0,c,"mw",0,o,"sb",0,d,"zk",0,()=>{const e=s?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<s.performance.now())return e}])},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>u,x3:()=>c});var n=r(3241),i=r(3606),a=r(860),s=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:a.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&d(e))}function u(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,d(e)}}function d(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const a=e.ee,o=i.i.handlers;if(a&&!a.aborted&&a.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=a.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}
102).forEach(t=>{t[0]?.on&&t[0].context()instanceof s.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}a.isolatedBacklog||delete o[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),a=r(2646),s=r(5607);const o="nr@context:".concat(s.W),c=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);var o=g(n);m(e).forEach(e=>{e.apply(o,r)});var u=v()[s[e]];u&&u.push([f,e,r,o]);return o},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{s[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,o,()=>new a.y(o)):new a.y(o)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=s;var i=a.handlers={};function a(e,t,r,a){s(a||n.d,i,e,t,r)}function s(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var s=t[a]=t[a]||{};(s[r]=s[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,a=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const s=[];for(var o=0;o<e;o++)s.push(i(r,a++).toString(16));return s.join("")}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(944);const i=new Map;function a(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),a=t.includes("nrWrapper");return r||a||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},5289(e,t,r){"use strict";r.d(t,{GG:()=>s,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function a(){return"undefined"==typeof document||"complete"===document.readyState}function s(e,t){if(a())return e();const r=(0,i.J)(e),s=setInterval(()=>
102{a()&&(clearInterval(s),r())},500);(0,n.sp)("load",r,t)}function o(e){if(a())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(a())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>d,dV:()=>u,pV:()=>l});var n=r(6154),i=r(1863),a=r(944),s=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function u(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,s.i)(...Object.values(e.o))),e}function d(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,a.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),u(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>a,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function a(e,t,r){(0,n.sp)("pagehide",e,t,r)}},9300(e,t,r){"use strict";r(860).K7.ajax;r.d(t,["mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>a});var n=r(9566),i=r(1741);class a extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>d});var n=r(3241),i=r(9908),a=r(1863),s=r(944),o=r(3969),c=r(8362),u=r(860);function d(e,t,r,a){const d=a||r;!d||d[e]&&d[e]!==c.d.prototype[e]||(d[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,s.R)(23,e)}})}function l(e,t,r,n,s){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(s||null===r)&&(0,i.p)("api-"+n,[(0,a.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",a="browser/blobs",s="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},u={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:a,[o.sessionReplay]:a,[o.logging]:s,[o.genericEvents]:"ins"};r.d(t,["$J",0,u,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,s,"df",0,a,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],a=t[n++];r.o(e,i)?0===a&&n++:0===a?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:a})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"nr-rum-1.322.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,a,s)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==a){const e=document.getElementsByTagName("script");for(var u=0;u<e.length;u++){const r=e[u];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+a){o=r;break}}}if(!o){c=!0;var d={296:"sha512-/59P7qAoMYQDJAZerTRPChdYcdrlcoEAw2TwA1wz6Y0/XLmt3sblL
102I5JCXAuxG0YxsW7iqJzgrcO7NJWO58EfQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+a),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),d[s]&&(o.integrity=d[s])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={374:0,840:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const a=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=a);const s=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(s,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,a,s]=n;var o,c,u=0;if(i.some(t=>0!==e[t])){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)s(r)}for(t&&t(n);u<i.length;u++)c=i[u],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),a=r(1741);var s=r(2555),o=r(981);t.K7.genericEvents,o.R.PA,o.R.UA,o.R.BP;const c={RESOURCES:"experimental.resources",REGISTER:"register"};var u=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var l=r(2614),f=r(944),g=r(8122);const p="[data-nr-mask]",m=e=>(0,g.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:u.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(c.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(c.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,f.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:l.wk,inactiveMs:l.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(p):""===t||null===t?e.mask_selector=p:(0,f.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,f.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,f.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var h=r(6154),v=r(9324);let b=0;const y={buildEnv:"PROD",distMethod:"CDN",version:v.xv,originTime:h.WN},_={consented:!1},w={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||_.consented},set consented(e){_.consented=e}
102,customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++b},listeningForIframeMessages:!1},R="BA";var A=r(7836),x=r(3241);const E={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908);const k="newrelic-iframe-";function T(e,t={},n,o){let{init:c,info:u,loader_config:d,runtime:l={},exposed:f=!0}=t;if(!u){const e=(0,i.pV)();c=e.init,u=e.info,d=e.loader_config}var p;e.init=m(c||{}),e.loader_config=(p=d||{},(0,g.a)(p,E)),u.jsAttributes??={},h.bv&&(u.jsAttributes.isWorker=!0),e.info=(0,s.D)(u);const v=e.init;e.runtime??=(e=>{const t=(0,g.a)(e,w),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(a.W.prototype).forEach(r=>{const n=a.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=A.ee.get(e.agentIdentifier),e.exposed=f,(0,x.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&h.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(k)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var j=r(1863),P=r(4261),N=r(1738);
102var O=r(1687),M=r(4234),I=r(5289),D=r(7767);function V(e){return!!(0,i.dV)().o.MO&&(0,D.V)(e)&&!0===e?.session_trace.enabled}var W=r(6389),B=r(7699);const C=new WeakSet,K=new WeakMap;class U extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,W.J)(()=>{(0,O.Ak)(e,this.featureName),t()}))}):(0,O.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,s.f)(e.info))return(0,f.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(K.has(e))return K.get(e);const i=(async()=>{if((0,D.V)(e.init))try{const{setupAgentSession:t}=await r.e(296).then(r.bind(r,1768));t(e)}catch(e){(0,f.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(B.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await Promise.resolve().then(function(){const e=new Error("Cannot find module '../../loaders/configure/iframe-message-handler'");throw e.code="MODULE_NOT_FOUND",e});t(e)}catch(e){(0,f.R)(23,e)}const[{Connector:i},{Harvester:a}]=await Promise.all([r.e(296).then(r.bind(r,6589)),r.e(296).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new a(e);const s=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(s.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();K.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,f.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,f.R)(34,e),this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};h.RI?(0,I.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return V(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!C.has(e)&&(C.add(e),!(0,s.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}T(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var L=r(6630);class F extends U{static featureName=L.T;constructor(e){var t;super(e,L.T),this.setupInspectionEvents(),t=e,(0,N.Y)(P.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+P.Fw,[(0,j.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(296).then(r.bind(r,908)):r.e(296).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,x.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,I.sB)(t=>{e(t,"DOMContentLoaded")}),(0,I.GG)(t=>{e(t,"load")}),(0,I.Qr)(t=>{e(t,"navigate")}),this.ee.on(l.tS.UPDATE,(e,t)=>{(0,x.W)({type:"lifecycle",name:"session",data:t})})}}class G extends e.d{constructor(e){var t;(super(),h.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(F),T(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(P.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,P.cD,n);(0,f.R)(40,typeof r)}else(0,f.R)(39,typeof e)},t),function(e){(0,N.Y)(P.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,f.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,P.Dl,!0)},e)}(this),function(e){(0,N.Y)(P.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,P.nb,!1);(0,f.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(P.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+P.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,f.R)(65,typeof t)},e)}(this),this.run()):(0,f.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};
102return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,f.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,f.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var H=r(2843),z=r(782);class Y extends U{static featureName=z.T;constructor(e){super(e,z.T),h.RI&&((0,H.u)(()=>(0,S.p)("docHidden",[(0,j.t)()],void 0,z.T,this.ee),!0),(0,H.G)(()=>(0,S.p)("winPagehide",[(0,j.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9981))))}}var Z=r(3969);class q extends U{static featureName=Z.TZ;constructor(e){super(e,Z.TZ),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9623)))}}new G({features:[F,Y,q],loaderType:"lite"})})()})();</script>
102
103  <meta name="viewport" content="width=device-width, initial-scale=1">
104  <meta property="og:type"               content="website" />
105  <meta property="og:title"              content="Contact" />
106  <meta property="og:image"              content="https://assets.quill.org/images/share/facebook.png" />
107  <meta property="twitter:image"         content="https://assets.quill.org/images/share/facebook.png" />
108  <meta name="description" content="">
109  <meta name="og:description" content="">
110  <link rel="apple-touch-icon" href="https://assets.quill.org/images/logos/apple-touch-icon.png">
111  <link rel="canonical" href="https://www.quill.org/contact">
112  <link rel="manifest" href="/manifest.json" />
113
114  
114<script defer src="https://kit.fontawesome.com/a149fb25a6.js" crossorigin="anonymous" integrity="sha384-p7JrABPXxZLpj1XoHTzkPyVs8ekVssRFXc4B7XU6Z1c8XVDA7sVPem/lQ9UouxqE"></script>
114
115  <!-- Inspectlet tracking -->
116  <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet" lazyload>
117
118  <!-- credit to https://blog.typekit.com/2011/05/25/loading-typekit-fonts-asynchronously/ -->
119
120<script>
121  (function() {
122    var config = {
123      kitId: 'zyx1nqp',
124      scriptTimeout: 3000
125    };
126    var h = document.getElementsByTagName('html')[0];
127    h.className += ' wf-loading';
128    var t = setTimeout(function() {
129      h.className = h.className.replace(/(\s|^)wf-loading(\s|$)/g, ' ');
130      h.className += ' wf-inactive';
131    }, config.scriptTimeout);
132    var d = false;
133    var tk = document.createElement('script');
134    tk.src = '//use.typekit.net/' + config.kitId + '.js';
135    tk.type = 'text/javascript';
136    tk.async = 'true';
137    tk.onload = tk.onreadystatechange = function() {
138      var rs = this.readyState;
139      if (d || rs && rs != 'complete' && rs != 'loaded') return;
140      d = true;
141      clearTimeout(t);
142      try { Typekit.load(config); } catch (e) {}
143    };
144    var s = document.getElementsByTagName('script')[0];
145    s.parentNode.insertBefore(tk, s);
146  })();
147</script>
147
148
149  <link rel="stylesheet" href="//www.quill.org/vite/assets/shared-CfosUMcV.css" media="screen" />
150
151    <link rel="stylesheet" href="//www.quill.org/vite/assets/application-CVWh7Zex.css" media="all" />
152    <!-- start Segment.io -->
153  
153<script type="text/javascript">
154
155    !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t,e){var n=document.createElement("script");n.type="text/javascript";n.async=!0;n.src="https://cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a);analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.1.0";
156    analytics.load("XVeKI40fXyEqHE1Is9btaglTLTAaMHzQ", {
157        integrations: {
158          all: true
159
160          , Intercom: false
161          , Vitally: false
162          , Heap: false
163        }
164      }
165    );
166      analytics.reset()
167
168
169      // In case a teacher was signed in on this computer and set the Intercom
170      // localStorage, and then a student logged into this computer, let's
171      // explicitly tell Intercom to shut it down so the student does not
172      // see Intercom.
173      window.onload = function() {
174        if (typeof Intercom !== 'undefined') {
175          Intercom('shutdown');
176        }
177      };
178  }}();
179  </script>
179
180  <!-- end Segment.io -->
181  
182
183  
184<script>
185window.birdieSettings = Object.assign({}, window.birdieSettings || {}, {});
186</script>
186
187<!-- Birdie code Snippet -->
188<script>(function(){window.addEventListener("load",function(){var t=document.createElement("script");t.type="text/javascript",t.src="https://app.birdie.so/widget/embed/l8o0vtmo",document.body.appendChild(t)});})();</script>
188
189
190  
190<script src="//www.quill.org/vite/assets/application-DIzkaKlU.js" crossorigin="anonymous" type="module" defer="defer"></script>
190<link rel="modulepreload" href="//www.quill.org/vite/assets/preNavigationBannerApp-cAGbMq5q.js" as="script" crossorigin="anonymous" defer="defer">
191<link rel="modulepreload" href="//www.quill.org/vite/assets/constants-6l3j42Ul.js" as="script" crossorigin="anonymous" defer="defer">
192<link rel="modulepreload" href="//www.quill.org/vite/assets/requestWrapper-CJXXdkOj.js" as="script" crossorigin="anonymous" defer="defer">
193<link rel="modulepreload" href="//www.quill.org/vite/assets/jquery-DGpjPq2O.js" as="script" crossorigin="anonymous" defer="defer">
194<link rel="modulepreload" href="//www.quill.org/vite/assets/useSnackbarMonitor-eXDNdY9g.js" as="script" crossorigin="anonymous" defer="defer">
195<link rel="modulepreload" href="//www.quill.org/vite/assets/snackbar-x0kYEhih.js" as="script" crossorigin="anonymous" defer="defer">
196<link rel="modulepreload" href="//www.quill.org/vite/assets/school_selector-ZhtpFQqg.js" as="script" crossorigin="anonymous" defer="defer">
197<link rel="modulepreload" href="//www.quill.org/vite/assets/index-4ZGqqI84.js" as="script" crossorigin="anonymous" defer="defer">
198<link rel="modulepreload" href="//www.quill.org/vite/assets/useScaledTableColumnWidths-DbnrzIHk.js" as="script" crossorigin="anonymous" defer="defer">
199<link rel="modulepreload" href="//www.quill.org/vite/assets/index-CvxRfEqC.js" as="script" crossorigin="anonymous" defer="defer">
200<link rel="modulepreload" href="//www.quill.org/vite/assets/textArea-DWCcVEhT.js" as="script" crossorigin="anonymous" defer="defer">
201<link rel="modulepreload" href="//www.quill.org/vite/assets/pluralize-CKdgV5HR.js" as="script" crossorigin="anonymous" defer="defer">
202<link rel="modulepreload" href="//www.quill.org/vite/assets/buttonSpinner-B-kkMNhB.js" as="script" crossorigin="anonymous" defer="defer">
203<link rel="modulepreload" href="//www.quill.org/vite/assets/TeacherPremium-c1w6RxXj.js" as="script" crossorigin="anonymous" defer="defer">
204<link rel="modulepreload" href="//www.quill.org/vite/assets/password_wrapper-D369EHDt.js" as="script" crossorigin="anonymous" defer="defer">
205<link rel="modulepreload" href="//www.quill.org/vite/assets/useDebounce-Dxa6sTg2.js" as="script" crossorigin="anonymous" defer="defer">
206<link rel="modulepreload" href="//www.quill.org/vite/assets/StudentNavbarItemsAppClient-D2Ybn-I5.js" as="script" crossorigin="anonymous" defer="defer">
207<link rel="modulepreload" href="//www.quill.org/vite/assets/pusher-UPwL9OZF.js" as="script" crossorigin="anonymous" defer="defer">
208<link rel="modulepreload" href="//www.quill.org/vite/assets/AuthGoogleAccessForm-Boe46-Rn.js" as="script" crossorigin="anonymous" defer="defer">
209<link rel="modulepreload" href="//www.quill.org/vite/assets/sortingMethods-HWdTx0tp.js" as="script" crossorigin="anonymous" defer="defer">
210<link rel="modulepreload" href="//www.quill.org/vite/assets/postNavigationBanner-BbnJDKBR.js" as="script" crossorigin="anonymous" defer="defer">
211<link rel="modulepreload" href="//www.quill.org/vite/assets/_commonjsHelpers-BosuxZz1.js" as="script" crossorigin="anonymous" defer="defer">
212<link rel="modulepreload" href="//www.quill.org/vite/assets/get_auth_token-DUHxnVBB.js" as="script" crossorigin="anonymous" defer="defer">
213<link rel="modulepreload" href="//www.quill.org/vite/assets/routingHelpers-DJtcPlkC.js" as="script" crossorigin="anonymous" defer="defer">
214<link rel="modulepreload" href="//www.quill.org/vite/assets/useWindowSize-qa9b7xr7.js" as="script" crossorigin="anonymous" defer="defer">
215<link rel="modulepreload" href="//www.quill.org/vite/assets/demoAccountBanner-yGTOhJVd.js" as="script" crossorigin="anonymous" defer="defer">
216<link rel="modulepreload" href="//www.quill.org/vite/assets/dataTableChip-DJJna4_R.js" as="script" crossorigin="anonymous" defer="defer">
217<link rel="modulepreload" href="//www.quill.org/vite/assets/purify.es-ZSz1NCfQ.js" as="script" crossorigin="anonymous" defer="defer">
218<link rel="modulepreload" href="//www.quill.org/vite/assets/index-DcFefcRN.js" as="script" crossorigin="anonymous" defer="defer">
219<link rel="modulepreload" href="//www.quill.org/vite/assets/combineReducers-L6roQ3OM.js" as="script" crossorigin="anonymous" defer="defer">
220<link rel="modulepreload" href="//www.quill.org/vite/assets/radioButton-Ch3
220-HEAP.js" as="script" crossorigin="anonymous" defer="defer">
221<link rel="modulepreload" href="//www.quill.org/vite/assets/xlsx-Bs-wpXP9.js" as="script" crossorigin="anonymous" defer="defer">
222<link rel="modulepreload" href="//www.quill.org/vite/assets/clickHandlers-G-eBA-1-.js" as="script" crossorigin="anonymous" defer="defer">
223<link rel="modulepreload" href="//www.quill.org/vite/assets/___vite-browser-external_commonjs-proxy-DRaEfepn.js" as="script" crossorigin="anonymous" defer="defer"><link rel="stylesheet" href="//www.quill.org/vite/assets/application-SR52WX9J.css" media="screen" defer="defer" />
224
225  <meta name="csrf-param" content="authenticity_token" />
226<meta name="csrf-token" content="fIL9njH7RJFQiOxF8IswPaBw_IGC9vsEXRfi1SU_tjNYarXaKgctALj_Cv9DaAryRk1OK6-PUKeJNj1troyLGw" />
227  <meta id='current-user-testing-flag' property="flag" content= />
228  <meta id='current-user-id' property="id" content= />
229  <meta id='current-user-is-premium?' property="is_premium?" content= />
230  <meta id='current-user-email' property="email" content= />
231
232<!--[if !IE 7]>
233  <style type="text/css">
234    #wrap { display: table ; height: 100% }
235  </style>
236<![endif]-->
237
238<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
239<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
240<!--[if lt IE 9]>
241  
241<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
241
242  
242<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
242
243<![endif]-->
244</head>
245
246  
246<script>
247    function handleTabNavigation(e) {
248      if (e.code !== 'Tab') { return }
249
250      const element = document.getElementById("body")
251      if (element) { element.classList.remove("hide-focus-outline") }
252    }
253  </script>
253
254  <body class="hide-focus-outline" id="body" onkeydown="handleTabNavigation(event)">
255      <div>
256        <a class="skip-main" href="#post-primary-nav">Skip past primary navigation</a>
257      </div>
258      
259
260      
261
262      
263      
264
265      
266    <div id='application_nav_bar'>
267      
268
269	<nav aria-label="Primary" class="navbar desktop-navbar" role="navigation">
270		
271<div class="q-navbar-home">
272    <div class="logo-and-badge-container">
273      <button
274        aria-expanded="true"
275        aria-label="Close navigation"
276        class="focus-on-light evidence-nav-toggle"
277        data-close-icon-src="https://assets.quill.org/images/icons/s/sidebar-close.svg"
278        data-open-icon-src="https://assets.quill.org/images/icons/s/sidebar-open.svg"
279        hidden
280        id="evidence-nav-toggle"
281        type="button"
282      >
283        <img alt="" src="https://assets.quill.org/images/icons/s/sidebar-close.svg" />
284      </button>
285      <a aria-label="Quill" class=focus-on-dark href="/">
286        <img alt="Quill.org logo" src="https://assets.quill.org/images/logos/quill-logo-green.svg" />
287      </a>
288      
289    </div>
290
291      <div class="home-nav-right wide primary-tab-active">
292          <div id="schools-and-districts" class="navbar-tooltip-trigger ">
293  <button aria-expanded="false" aria-haspopup="true" class="focus-on-light" type="button">Schools &amp; Districts</button>
294  <ul class="navbar-tooltip" role="menu">
295    
296<li role="none">
297  <a class="tooltip-link" href="/admins" role="menuitem" target="_self">
298    <div class="content-container" id="for-administrators">
299      <div class="image-container">
300          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/school.svg" id="for-administrators-img" loading="lazy" src="https://assets.quill.org/images/icons/s/school.svg" />
301      </div>
302      <div>
303        <h3>For Administrators</h3>
304        <p>Create district-wide success</p>
305      </div>
306    </div>
307  </a>
308</li>
309
310    
311<li role="none">
312  <a class="tooltip-link" href="/science-of-reading-and-writing" role="menuitem" target="_self">
313    <div class="content-container" id="science-of-reading-and-writing">
314      <div class="image-container">
315          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" id="science-of-reading-and-writing-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" />
316      </div>
317      <div>
318        <h3>Science of Reading &amp; Writing</h3>
319        <p>Use Quill to support the science of reading and writing</p>
320      </div>
321    </div>
322  </a>
323</li>
324
325    
326<li role="none">
327  <a class="tooltip-link" href="/privacy-and-security" role="menuitem" target="_self">
328    <div class="content-container" id="privacy-and-security">
329      <div class="image-container">
330          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/lock.svg" id="privacy-and-security-img" loading="lazy" src="https://assets.quill.org/images/icons/s/lock.svg" />
331      </div>
332      <div>
333        <h3>Privacy &amp; Security</h3>
334        <p>See how we protect student data and support educators</p>
335      </div>
336    </div>
337  </a>
338</li>
339
340    
341<li role="none">
342  <a class="tooltip-link" href="/research-and-efficacy" role="menuitem" target="_self">
343    <div class="content-container" id="research-and-efficacy">
344      <div class="image-container">
345          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/lightbulb.svg" id="research-and-efficacy-img" loading="lazy" src="https://assets.quill.org/images/icons/s/lightbulb.svg" />
346      </div>
347      <div>
348        <h3>Research &amp; Efficacy</h3>
349        <p>Find research validating Quill’s impact</p>
350      </div>
351    </div>
352  </a>
353</li>
354
355    
356<li role="none">
357  <a class="tooltip-link" href="/quill-for-college-writing" role="menuitem" target="_self">
358    <div class="content-container" id="quill-for-college-writing">
359      <div class="image-container">
360          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/graduation-cap-filled.svg" id="quill-for-college-writing-img" loading="lazy" src="https://assets.quill.org/images/icons/s/graduation-cap-filled.svg" />
361      </div>
362      <div>
363        <h3>For College Writing</h3>
364        <p>Follow one college&#39;s path to stronger writing</p>
365      </div>
366    </div>
367  </a>
368</li>
369
370    
371<li role="none">
372  <a class="tooltip-link" href="/premium" role="menuitem" target="_self">
373    <div class="content-container" id="premium-pricing">
374      <div class="image-container">
375          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/premium-diamond.svg" id="premium-pricing-img" loading="lazy" src="https://assets.quill.org/images/icons/s/premium-diamond.svg" />
376      </div>
377      <div>
378        <h3>Premium Pricing</h3>
379        <p>Go Premium to improve writing across your district</p>
380      </div>
381    </div>
382  </a>
383</li>
384
385  </ul>
386</div>
387
388          <div id="learning-tools" class="navbar-tooltip-trigger ">
389  <button aria-expanded="false" aria-haspopup="true" class="focus-on-light" type="button">Learning Tools</button>
390  <ul class="navbar-tooltip" role="menu">
391    
392<li role="none">
393  <a class="tooltip-link" href="/tools/connect" role="menuitem" target="_self">
394    <div class="content-container" id="">
395      <div class="image-container">
396          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/connect-icon-green.svg" id="connect-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/connect-icon-green.svg" />
397      </div>
398      <div>
399        <h3>Quill Connect</h3>
400        <p>Combine sentences</p>
401      </div>
402    </div>
403  </a>
404</li>
405
406    
407<li role="none">
408  <a class="tooltip-link" href="/tools/lessons" role="menuitem" target="_self">
409    <div class="content-container" id="">
410      <div class="image-container">
411          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/lessons-icon-green.svg" id="lessons-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/lessons-icon-green.svg" />
412      </div>
413      <div>
414        <h3>Quill Lessons</h3>
415        <p>Teacher-led group lessons</p>
416      </div>
417    </div>
418  </a>
419</li>
420
421    
422<li role="none">
423  <a class="tooltip-link" href="/tools/diagnostic" role="menuitem" target="_self">
424    <div class="content-container" id="">
425      <div class="image-container">
426          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/diagnostic-icon-green.svg" id="diagnostic-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/diagnostic-icon-green.svg" />
427      </div>
428      <div>
429        <h3>Quill Diagnostic</h3>
430        <p>Identify learning gaps</p>
431      </div>
432    </div>
433  </a>
434</li>
435
436    
437<li role="none">
438  <a class="tooltip-link" href="/tools/proofreader" role="menuitem" target="_self">
439    <div class="content-container" id="">
440      <div class="image-container">
441          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/proofreader-icon-green.svg" id="proofreader-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/proofreader-icon-green.svg" />
442      </div>
443      <div>
444        <h3>Quill Proofreader</h3>
445        <p>Fix errors in passages</p>
446      </div>
447    </div>
448  </a>
449</li>
450
451    
452<li role="none">
453  <a class="tooltip-link" href="/tools/grammar" role="menuitem" target="_self">
454    <div class="content-container" id="">
455      <div class="image-container">
456          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/grammar-icon-green.svg" id="grammar-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/grammar-icon-green.svg" />
457      </div>
458      <div>
459        <h3>Quill Grammar</h3>
460        <p>Practice basic mechanics</p>
461      </div>
462    </div>
463  </a>
464</li>
465
466    
467<li role="none">
468  <a class="tooltip-link" href="/tools/evidence" role="menuitem" target="_self">
469    <div class="content-container" id="">
470      <div class="image-container">
471          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" id="evidence-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" />
472      </div>
473      <div>
474        <h3>Quill Reading for Evidence</h3>
475        <p>Use a text to write with evidence</p>
476      </div>
477    </div>
478  </a>
479</li>
480
481  </ul>
482</div>
483
484          <div id="explore-curriculum" class="navbar-tooltip-trigger ">
485  <button aria-expanded="false" aria-haspopup="true" class="focus-on-light" type="button">Explore Curriculum</button>
486  <ul class="navbar-tooltip" role="menu">
487    
488<li role="none">
489  <a class="tooltip-link" href="/activities/packs" role="menuitem" target="_self">
490    <div class="content-container" id="">
491      <div class="image-container">
492          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" id="featured-activities-image" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" />
493      </div>
494      <div>
495        <h3>Featured Activities</h3>
496        <p>Explore featured activity packs that are created by our teachers</p>
497      </div>
498    </div>
499  </a>
500</li>
501
502    
503<li role="none">
504  <a class="tooltip-link" href="/literature" role="menuitem" target="_self">
505    <div class="content-container" id="">
506      <div class="image-container">
507          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/book-white.svg" id="literature-img" loading="lazy" src="https://assets.quill.org/images/icons/s/book-white.svg" />
508      </div>
509      <div>
510        <h3>Literature Activities</h3>
511        <p>
511Build background knowledge with writing activities paired with commonly taught works of literature</p>
512      </div>
513    </div>
514  </a>
515</li>
516
517    
518<li role="none">
519  <a class="tooltip-link" href="/social-studies" role="menuitem" target="_self">
520    <div class="content-container" id="">
521      <div class="image-container">
522          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/globe.svg" id="social-studies-img" loading="lazy" src="https://assets.quill.org/images/icons/s/globe.svg" />
523      </div>
524      <div>
525        <h3>Social Studies Activities</h3>
526        <p>Build social studies knowledge through reading and writing practice</p>
527      </div>
528    </div>
529  </a>
530</li>
531
532    
533<li role="none">
534  <a class="tooltip-link" href="/interdisciplinary-science" role="menuitem" target="_self">
535    <div class="content-container" id="">
536      <div class="image-container">
537          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/ai.svg" id="interdisciplinary-science-img" loading="lazy" src="https://assets.quill.org/images/icons/s/ai.svg" />
538      </div>
539      <div>
540        <h3>
540Interdisciplinary Science Activities</h3>
541        <p>Explore reading and writing activities focused on AI and STEM topics</p>
542      </div>
543    </div>
544  </a>
545</li>
546
547    
548<li role="none">
549  <a class="tooltip-link" href="/quill-for-texas" role="menuitem" target="_self">
550    <div class="content-container" id="">
551      <div class="image-container">
552          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/texas.svg" id="teks-img" loading="lazy" src="https://assets.quill.org/images/icons/s/texas.svg" />
553      </div>
554      <div>
555        <h3>Quill For Texas</h3>
556        <p>Browse grade-level TEKS-aligned activity packs</p>
557      </div>
558    </div>
559  </a>
560</li>
561
562    
563<li role="none">
564  <a class="tooltip-link" href="/ap" role="menuitem" target="_self">
565    <div class="content-container" id="">
566      <div class="image-container">
567          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/pencil-icon-green.svg" id="ap-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/pencil-icon-green.svg" />
568      </div>
569      <div>
570        <h3>AP Activities</h3>
571        <p>Official free AP English writing practice</p>
572      </div>
573    </div>
574  </a>
575</li>
576
577    
578<li role="none">
579  <a class="tooltip-link" href="/preap" role="menuitem" target="_self">
580    <div class="content-container" id="">
581      <div class="image-container">
582          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/pencil-icon-green.svg" id="pre-ap-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/pencil-icon-green.svg" />
583      </div>
584      <div>
585        <h3>Pre-AP Activities</h3>
586        <p>Official free Pre-AP English writing practice</p>
587      </div>
588    </div>
589  </a>
590</li>
591
592    
593<li role="none">
594  <a class="tooltip-link" href="/springboard" role="menuitem" target="_self">
595    <div class="content-container" id="">
596      <div class="image-container">
597          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/pencil-icon-green.svg" id="pre-ap-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/pencil-icon-green.svg" />
598      </div>
599      <div>
600        <h3>SpringBoard Activities</h3>
601        <p>Official free SpringBoard writing practice</p>
602      </div>
603    </div>
604  </a>
605</li>
606
607    
608<li role="none">
609  <a class="tooltip-link" href="/activities/standard_level/7" role="menuitem" target="_self">
610    <div class="content-container" id="">
611      <div class="image-container">
612          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/standards-icon-green.svg" id="standards-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/standards-icon-green.svg" />
613      </div>
614      <div>
615        <h3>ELA Standards</h3>
616        <p>See a list of ELA standards upon which we base our activities</p>
617      </div>
618    </div>
619  </a>
620</li>
621
622  </ul>
623</div>
624
625          <div id="teacher-center" class="navbar-tooltip-trigger ">
626  <button aria-expanded="false" aria-haspopup="true" class="focus-on-light" type="button">Teacher Center</button>
627  <ul class="navbar-tooltip" role="menu">
628    
629<li role="none">
630  <a class="tooltip-link" href="/teacher-center" role="menuitem" target="_self">
631    <div class="content-container" id="">
632      <div class="image-container">
633          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/folder-icon-green.svg" id="resources-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/folder-icon-green.svg" />
634      </div>
635      <div>
636        <h3>All Resources</h3>
637        <p>View all of Quill’s instructional resources</p>
638      </div>
639    </div>
640  </a>
641</li>
642
643    
644<li role="none">
645  <a class="tooltip-link" href="/teacher-center/topic/writing-for-learning" role="menuitem" target="_self">
646    <div class="content-container" id="">
647      <div class="image-container">
648          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" id="comprehension-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/evidence-icon-green.svg" />
649      </div>
650      <div>
651        <h3>Writing For Learning</h3>
652        <p>Strengthening students&#39; content knowledge and writing skills</p>
653      </div>
654    </div>
655  </a>
656</li>
657
658    
659<li role="none">
660  <a class="tooltip-link" href="/teacher-center/topic/getting-started" role="menuitem" target="_self">
661    <div class="content-container" id="">
662      <div class="image-container">
663          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/clipboard-icon-green.svg" id="gettingstarted-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/clipboard-icon-green.svg" />
664      </div>
665      <div>
666        <h3>Getting Started</h3>
667        <p>Set up your classroom on Quill with guides, videos, and presentations</p>
668      </div>
669    </div>
670  </a>
671</li>
672
673    
674<li role="none">
675  <a class="tooltip-link" href="/teacher-center/topic/video-tutorials" role="menuitem" target="_self">
676    <div class="content-container" id="">
677      <div class="image-container">
678          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/play-box-icon-green.svg" id="casestudy-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/play-box-icon-green.svg" />
679      </div>
680      <div>
681        <h3>Video Tutorials</h3>
682        <p>View detailed walkthroughs of Quill tools, set-up, and features</p>
683      </div>
684    </div>
685  </a>
686</li>
687
688    
689<li role="none">
690  <a class="tooltip-link" href="/teacher-center/topic/best-practices" role="menuitem" target="_self">
691    <div class="content-container" id="">
692      <div class="image-container">
693          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/comment-account-icon-green.svg" id="research-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/comment-account-icon-green.svg" />
694      </div>
695      <div>
696        <h3>Best Practices</h3>
697        <p>Explore implementation ideas from Quill’s instructional experts</p>
698      </div>
699    </div>
700  </a>
701</li>
702
703    
704<li role="none">
705  <a class="tooltip-link" href="/faq" role="menuitem" target="_self">
706    <div class="content-container" id="">
707      <div class="image-container">
708          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/question-mark-icon-green.svg" id="faq-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/question-mark-icon-green.svg" />
709      </div>
710      <div>
711        <h3>FAQ</h3>
712        <p>Answers for common questions about Quill</p>
713      </div>
714    </div>
715  </a>
716</li>
717
718    
719<li role="none">
720  <a class="tooltip-link" href="/premium" role="menuitem" target="_self">
721      <div class="divider"></div>
722    <div class="content-container" id="premium-section">
723      <div class="image-container">
724          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/premium-icon-dark-gold.svg" id="premium-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/premium-icon-dark-gold.svg" />
725      </div>
726      <div>
727        <h3>Premium</h3>
728        <p>Gain actionable insights with Quill Premium</p>
729      </div>
730    </div>
731  </a>
732</li>
733
734  </ul>
735</div>
736
737          <div id="our-story" class="navbar-tooltip-trigger active">
738  <button aria-expanded="false" aria-haspopup="true" class="focus-on-light" type="button">About Us</button>
739  <ul class="navbar-tooltip" role="menu">
740    
741<li role="none">
742  <a class="tooltip-link" href="/about" role="menuitem" target="_self">
743    <div class="content-container" id="">
744      <div class="image-container">
745          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/quill-icon-green.svg" id="aboutus-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/quill-icon-green.svg" />
746      </div>
747      <div>
748        <h3>About Us</h3>
749        <p>Learn about Quill&#39;s mission</p>
750      </div>
751    </div>
752  </a>
753</li>
754
755    
756<li role="none">
757  <a class="tooltip-link" href="/impact" role="menuitem" target="_self">
758    <div class="content-container" id="">
759      <div class="image-container">
760          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/speaker-icon-green.svg" id="impact-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/speaker-icon-green.svg" />
761      </div>
762      <div>
763        <h3>Impact</h3>
764        <p>Learn about Quill&#39;s reach</p>
765      </div>
766    </div>
767  </a>
768</li>
769
770    
771<li role="none">
772  <a class="tooltip-link" href="/press" role="menuitem" target="_self">
773    <div class="content-container" id="">
774      <div class="image-container">
775          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/press-icon-green.svg" id="pathways-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/press-icon-green.svg" />
776      </div>
777      <div>
778        <h3>Press</h3>
779        <p>
779Read articles that feature Quill</p>
780      </div>
781    </div>
782  </a>
783</li>
784
785    
786<li role="none">
787  <a class="tooltip-link" href="/ethical-ai" role="menuitem" target="_self">
788    <div class="content-container" id="">
789      <div class="image-container">
790          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/s/ai.svg" id="ethical-ai-img" loading="lazy" src="https://assets.quill.org/images/icons/s/ai.svg" />
791      </div>
792      <div>
793        <h3>Ethical AI Hub</h3>
794        <p>Our commitment to Ethical AI</p>
795      </div>
796    </div>
797  </a>
798</li>
799
800    
801<li role="none">
802  <a class="tooltip-link" href="/pathways" role="menuitem" target="_self">
803    <div class="content-container" id="">
804      <div class="image-container">
805          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/compass-icon-green.svg" id="pathways-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/compass-icon-green.svg" />
806      </div>
807      <div>
808        <h3>Pathways Initiative</h3>
809        <p>An instructional research project</p>
810      </div>
811    </div>
812  </a>
813</li>
814
815    
816<li role="none">
817  <a class="tooltip-link" href="/team" role="menuitem" target="_self">
818    <div class="content-container" id="">
819      <div class="image-container">
820          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/account-group-icon-green.svg" id="pathways-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/account-group-icon-green.svg" />
821      </div>
822      <div>
823        <h3>Team</h3>
824        <p>Learn about our team</p>
825      </div>
826    </div>
827  </a>
828</li>
829
830    
831<li role="none">
832  <a class="tooltip-link" href="/careers" role="menuitem" target="_self">
833    <div class="content-container" id="">
834      <div class="image-container">
835          <img alt="" class="lazyload static" data-src="https://assets.quill.org/images/icons/pulldown_icons/account-add-icon-green.svg" id="pathways-img" loading="lazy" src="https://assets.quill.org/images/icons/pulldown_icons/account-add-icon-green.svg" />
836      </div>
837      <div>
838        <h3>Careers</h3>
839        <p>See open positions</p>
840      </div>
841    </div>
842  </a>
843</li>
844
845    
846<li role="none">
847  <a class="tooltip-link" href="/contact" role="menuitem" target="_self">
848    <div class="content-container" id="">
849      <div class="image-container">
850          <img alt="" class="lazyload static" data-src="https://quill-cdn.s3.amazonaws.com/images/icons/pulldown_icons/mail-icon.svg" id="envelope-img" loading="lazy" src="https://quill-cdn.s3.amazonaws.com/images/icons/pulldown_icons/mail-icon.svg" />
851      </div>
852      <div>
853        <h3>Contact Us</h3>
854        <p>Contact Sales or Support</p>
855      </div>
856    </div>
857  </a>
858</li>
859
860  </ul>
861</div>
862
863
864          <a class="nav-element text-white " href="/session/new">Log In</a>
865          <a class="nav-element sign-up-button text-white " href="/account/new">Sign Up</a>
866      </div>
867</div>
868
869
870<script>
871  // Utility function to close a dropdown for a given button.
872  function closeDropdown(button) {
873    button.setAttribute("aria-expanded", "false");
874    const menu = button.nextElementSibling;
875    if (menu) {
876      menu.style.display = "none";
877    }
878  }
879
880  // Toggle dropdown on button click and handle Escape key on button.
881  document.querySelectorAll(".navbar-tooltip-trigger > button").forEach(button => {
882    button.addEventListener("click", event => {
883      event.stopPropagation();
884      // Close all other dropdowns.
885      document.querySelectorAll(".navbar-tooltip-trigger > button").forEach(otherButton => {
886        if (otherButton !== button) {
887          closeDropdown(otherButton);
888        }
889      });
890
891      // Toggle the clicked dropdown.
892      const expanded = button.getAttribute("aria-expanded") === "true";
893      if (expanded) {
894        closeDropdown(button);
895      } else {
896        button.setAttribute("aria-expanded", "true");
897        const menu = button.nextElementSibling;
898        if (menu) {
899          menu.style.display = "block";
900        }
901      }
902    });
903
904    button.addEventListener("keydown", event => {
905      if (event.key === "Escape") {
906        closeDropdown(button);
907        button.focus();
908      }
909    });
910  });
911
912  // Close dropdown when clicking outside of its container.
913  document.addEventListener("click", event => {
914    document.querySelectorAll(".navbar-tooltip-trigger").forEach(container => {
915      if (!container.contains(event.target)) {
916        const button = container.querySelector("button");
917        if (button) {
918          closeDropdown(button);
919        }
920      }
921    });
922  });
923
924  // Close dropdown when keydown event occurs outside of its container.
925  document.addEventListener("keydown", event => {
926    document.querySelectorAll(".navbar-tooltip-trigger").forEach(container => {
927      if (!container.contains(event.target)) {
928        const button = container.querySelector("button");
929        if (button) {
930          closeDropdown(button);
931        }
932      }
933    });
934  });
935
936  const evidenceSidebarStorageKey = "evidence-sidebar-open";
937  const evidenceSidebarToggle = document.getElementById("evidence-nav-toggle");
938
939  function evidenceSidebarElements() {
940    return {
941      sidebar: document.querySelector(".main-admin-container .left-side-menu"),
942      activityContainer: document.querySelector(".main-admin-container .activity-container")
943    };
944  }
945
946  function evidenceSidebarHasActivityEditorSection(sidebar) {
947    if (!sidebar) { return false; }
948
949    return Array.from(sidebar.querySelectorAll(".menu-label")).some(label => (
950      label.textContent && label.textContent.trim() === "Activity Editor"
951    ));
952  }
953
954  function evidenceSidebarOpen() {
955    return window.localStorage.getItem(evidenceSidebarStorageKey) !== "false";
956  }
957
958  function updateEvidenceSidebarToggle() {
959    if (!evidenceSidebarToggle) { return; }
960
961    const { sidebar, activityContainer } = evidenceSidebarElements();
962    const hasSidebarLayout = Boolean(
963      sidebar &&
964      activityContainer &&
965      evidenceSidebarHasActivityEditorSection(sidebar)
966    );
967
968    evidenceSidebarToggle.hidden = !hasSidebarLayout;
969
970    if (!hasSidebarLayout) {
971      document.body.classList.remove("evidence-sidebar-collapsed");
972      return;
973    }
974
975    const isOpen = evidenceSidebarOpen();
976    const img = evidenceSidebarToggle.querySelector("img");
977    const openIconSrc = evidenceSidebarToggle.dataset.openIconSrc;
978    const closeIconSrc = evidenceSidebarToggle.dataset.closeIconSrc;
979
980    evidenceSidebarToggle.setAttribute("aria-expanded", String(isOpen));
981    evidenceSidebarToggle.setAttribute("aria-label", isOpen ? "Close navigation" : "Open navigation");
982    document.body.classList.toggle("evidence-sidebar-collapsed", !isOpen);
983
984    if (img) {
985      img.src = isOpen ? closeIconSrc : openIconSrc;
986    }
987  }
988
989  if (evidenceSidebarToggle) {
990    evidenceSidebarToggle.addEventListener("click", () => {
991      window.localStorage.setItem(evidenceSidebarStorageKey, String(!evidenceSidebarOpen()));
992      updateEvidenceSidebarToggle();
993    });
994
995    window.addEventListener("hashchange", updateEvidenceSidebarToggle);
996
997    let evidenceSidebarUpdatePending = false;
998    const evidenceSidebarObserver = new MutationObserver(() => {
999      if (!evidenceSidebarUpdatePending) {
1000        evidenceSidebarUpdatePending = true;
1001        requestAnimationFrame(() => {
1002          evidenceSidebarUpdatePending = false;
1003          updateEvidenceSidebarToggle();
1004        });
1005      }
1006    });
1007    const evidenceSidebarObserverTarget = document.querySelector(".main-admin-container") || document.body;
1008    evidenceSidebarObserver.observe(evidenceSidebarObserverTarget, {
1009      childList: true,
1010      subtree: true
1011    });
1012
1013    updateEvidenceSidebarToggle();
1014  }
1015</script>
1015
1016
1017	</nav>
1018	<nav aria-label="Primary" class="navbar mobile-navbar" role="navigation">
1019		
1020
1021<nav class="q-navbar-home sub-page">
1022	  <div class="logo-and-badge-container">
1023      <a aria-label="Quill" class="focus-on-dark" href=/>
1024        <div class="mobile-quill-logo"></div>
1025      </a>
1026			
1027  	</div>
1028
1029    <div class="right-side-mobile-nav">
1030      <p class="active-tab ">About Us</p>
1031      <div class="mobile-hamburger-container ">
1032        <div class="hamburger-icon  " onclick="toggleMobilePrimaryDropdown()">
1033          <div class="horizontal-line"></div>
1034          <div class="horizontal-line"></div>
1035          <div class="horizontal-line"></div>
1036        </div>
1037      </div>
1038    </div>
1039    <div class="dropdown-container" id="mobile-primary-dropdown-container">
1040      <div>
1041        <ul class="dropdown-menu" role='menu'>
1042            <li class=" " id="schools-and-districts">
1043              <a class="focus-on-dark" href=/admins>
1044                  Schools &amp; Districts
1045              </a>
1046              <div class="checkmark-icon "></div>
1047            </li>
1048            <li class=" " id="learning-tools">
1049              <a class="focus-on-dark" href=/tools/connect>
1050                  Learning Tools
1051              </a>
1052              <div class="checkmark-icon "></div>
1053            </li>
1054            <li class=" " id="">
1055              <a class="focus-on-dark" href=/activities/packs>
1056                  Explore Curriculum
1057              </a>
1058              <div class="checkmark-icon "></div>
1059            </li>
1060            <li class=" " id="">
1061              <a class="focus-on-dark" href=/teacher-center>
1062                  Teacher Center
1063              </a>
1064              <div class="checkmark-icon "></div>
1065            </li>
1066            <li class="active " id="">
1067              <a class="focus-on-dark" href=/about>
1068                  About Us
1069              </a>
1070              <div class="checkmark-icon active"></div>
1071            </li>
1072            <li class=" " id="">
1073              <a class="focus-on-dark" href=/session/new>
1074                  Log In
1075              </a>
1076              <div class="checkmark-icon "></div>
1077            </li>
1078            <li class=" " id="">
1079              <a class="focus-on-dark" href=/account/new>
1080                  Sign Up
1081              </a>
1082              <div class="checkmark-icon "></div>
1083            </li>
1084        </ul>
1085      </div>
1086    </div>
1087</nav>
1088
1089	</nav>
1090
1091
1092<script>
1093	function toggleMobileSecondaryDropdown(primaryDropdownOpen) {
1094    const dropdown = document.querySelector('#mobile-subnav-dropdown');
1095
1096		if(!dropdown) { return }
1097
1098    const parent = dropdown.parentElement
1099
1100    if(primaryDropdownOpen) {
1101      parent.classList.remove('open');
1102      return;
1103    }
1104		if(parent.classList.contains('open')) {
1105			parent.classList.remove('open');
1106		} else {
1107			parent.classList.add('open');
1108		}
1109  }
1110
1111	function toggleMobilePrimaryDropdown() {
1112    toggleMobileSecondaryDropdown(true)
1113    const dropdown = document.querySelector('#mobile-primary-dropdown-container');
1114    const child = dropdown.firstElementChild
1115		if(child.classList.contains('open')) {
1116			child.classList.remove('open');
1117		} else {
1118			child.classList.add('open');
1119		}
1120  }
1121
1122  function closeSubnavDropdown(dropdown, refocus) {
1123    dropdown.classList.remove('open');
1124    const button = dropdown.querySelector('button');
1125    if (button) {
1126      button.setAttribute('aria-expanded', 'false');
1127      if (refocus) { button.focus(); }
1128    }
1129  }
1130
1131  function toggleSubnavDropdown(button) {
1132    const dropdown = button.closest('.subnav-dropdown');
1133    if (!dropdown) { return }
1134    document.querySelectorAll('.subnav-dropdown.open').forEach(function(other) {
1135      if (other !== dropdown) { closeSubnavDropdown(other, false); }
1136    });
1137    const isOpen = dropdown.classList.toggle('open');
1138    button.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
1139  }
1140
1141  document.addEventListener('click', function(event) {
1142    document.querySelectorAll('.subnav-dropdown.open').forEach(function(dropdown) {
1143      if (!dropdown.contains(event.target)) { closeSubnavDropdown(dropdown, false); }
1144    });
1145  });
1146
1147  document.addEventListener('keydown', function(event) {
1148    if (event.key !== 'Escape') { return }
1149    document.querySelectorAll('.subnav-dropdown.open').forEach(function(dropdown) {
1150      closeSubnavDropdown(dropdown, true);
1151    });
1152  });
1153</script>
1153
1154
1155    </div>
1156    
1157    <div id="post-primary-nav" class="page">
1158      
1159<div class="tab-subnavigation-wrapper desktop">
1160  <div class="container">
1161    <ul>
1162          <li>
1163            <a class="focus-on-dark" href=/about>About Us</a>
1164          </li>
1165          <li>
1166            <a class="focus-on-dark" href=/impact>Impact</a>
1167          </li>
1168          <li>
1169            <a class="focus-on-dark" href=/press>Press</a>
1170          </li>
1171          <li>
1172            <a class="focus-on-dark" href=/ethical-ai>Ethical AI Hub</a>
1173          </li>
1174          <li>
1175            <a class="focus-on-dark" href=/pathways>Pathways Initiative</a>
1176          </li>
1177          <li>
1178            <a class="focus-on-dark" href=/team>Team</a>
1179          </li>
1180          <li>
1181            <a class="focus-on-dark" href=/careers>Careers</a>
1182          </li>
1183          <li>
1184            <a class="active focus-on-dark" href=/contact>Contact Us</a>
1185          </li>
1186    </ul>
1187  </div>
1188</div>
1189
1190
1191<div class="tab-subnavigation-wrapper mobile ">
1192  <div class="dropdown-container">
1193    <div id="mobile-subnav-toggle">
1194      <button class="interactive-wrapper" onclick="toggleMobileSecondaryDropdown()" id="mobile-subnav-dropdown" type='button'>
1195        <p>Contact Us</p>
1196        <i class="fa fa-thin fa-angle-down"></i>
1197      </button>
1198      <ul class="dropdown-menu" role='menu'>
1199            <li id="About Us">
1200              <a class="focus-on-dark" href=/about>
1201                  About Us
1202
1203              </a>
1204              <div class="checkmark-icon " id="About Us-checkmark"></div>
1205            </li>
1206            <li id="Impact">
1207              <a class="focus-on-dark" href=/impact>
1208                  Impact
1209
1210              </a>
1211              <div class="checkmark-icon " id="Impact-checkmark"></div>
1212            </li>
1213            <li id="Press">
1214              <a class="focus-on-dark" href=/press>
1215                  Press
1216
1217              </a>
1218              <div class="checkmark-icon " id="Press-checkmark"></div>
1219            </li>
1220            <li id="Ethical AI Hub">
1221              <a class="focus-on-dark" href=/ethical-ai>
1222                  Ethical AI Hub
1223
1224              </a>
1225              <div class="checkmark-icon " id="Ethical AI Hub-checkmark"></div>
1226            </li>
1227            <li id="Pathways Initiative">
1228              <a class="focus-on-dark" href=/pathways>
1229                  Pathways Initiative
1230
1231              </a>
1232              <div class="checkmark-icon " id="Pathways Initiative-checkmark"></div>
1233            </li>
1234            <li id="Team">
1235              <a class="focus-on-dark" href=/team>
1236                  Team
1237
1238              </a>
1239              <div class="checkmark-icon " id="Team-checkmark"></div>
1240            </li>
1241            <li id="Careers">
1242              <a class="focus-on-dark" href=/careers>
1243                  Careers
1244
1245              </a>
1246              <div class="checkmark-icon " id="Careers-checkmark"></div>
1247            </li>
1248            <li id="Contact Us">
1249              <a class="focus-on-dark" href=/contact>
1250                  Contact Us
1251
1252              </a>
1253              <div class="checkmark-icon active" id="Contact Us-checkmark"></div>
1254            </li>
1255      </ul>
1256    </div>
1257  </div>
1258</div>
1259
1260
1261<div class="white-background">
1262  <div class="container contact-page about-the-org-page">
1263    <div class="contact-container">
1264      <img src="https://quill-cdn.s3.amazonaws.com/images/icons/email.svg" />
1265      <h1>Sales</h1>
1266      <div class="content-section">
1267        <p>Learn more about <a href="https://www.quill.org/premium"><span>Quill Premium</span></a>.
1268        <p>
1269          If you need assistance selecting the right subscription, receiving a quote, or processing purchase orders,
1270          our sales team is here to help! Reach out to <span><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2d5e4c41485e6d5c5844414103425f4a">[email&#160;protected]</a>.</span>
1271        </p>
1272        <p>
1273          <a href="https://www.quill.org/premium/request-school-quote"><button>Request a quote</button></a>
1274        </p>
1275      </div>
1276    </div>
1277    <div class="vertical-divider"></div>
1278    <div class="horizontal-divider"></div>
1279    <div class="contact-container">
1280      <img src="https://quill-cdn.s3.amazonaws.com/images/icons/packs-independent.svg" />
1281      <h1>Support</h1>
1282      <div class="content-section">
1283        <p>Help articles and resources can be found on our <a href="https://support.quill.org/en/"><span>Support Center</span></a>.</p>
1284        <p>For general inquiries, account guidance, instructional support, or to report bugs, our support team is here to help. Connect with them at <sp
1284an><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="62111712120d10162213170b0e0e4c0d1005">[email&#160;protected]</a></span>.</p>
1285        <p>You can also contact us at: <a href="tel:5106710222"><span>510-671-0222</span></a>.</p>
1286      </div>
1287    </div>
1288  </div>
1289</div>
1290
1291    </div>
1292    <!-- This is a placeholder for ReactOnRails to know where to render the store props for
1293     client side hydration -->
1294    
1295    
1296    <footer class="home-footer">
1297      <section aria-labelledby="premiumFooterBannerHeader" class="banner-container three-part-premium dark-mode">
1298        <section class="banner-card">
1299          <div class="content-container">
1300            <div class="text-container">
1301              <h2>1.6x Rate of Growth</h2>
1302              <p>Research studies demonstrate how Quill effectively builds writing skills.</p>
1303            </div>
1304            <img src="https://assets.quill.org/images/logos/essa-logo-light.png" alt='Essa Tier Logo'/>
1305          </div>
1306          <a class="quill-button outlined small white focus-on-dark" href="/research-and-efficacy" rel="noopener noreferrer" target="_blank">See Research Studies</a>
1307        </section>
1308        <section class="banner-card">
1309          <div class="content-container">
1310            <div class="text-container">
1311              <h2>10,000+ Quill Premium Educators</h2>
1312              <p>These educators use Premium’s growth data, school-wide reports, and data integrations to boost outcomes.</p>
1313            </div>
1314          </div>
1315          <a class="quill-button outlined small white focus-on-dark" href="/premium" rel="noopener noreferrer" target="_blank">Explore Premium & Pricing</a>
1316        </section>
1317        <section class="banner-card">
1318          <div class="content-container">
1319            <div class="text-container">
1320              <h2>92% Privacy Score</h2>
1321              <p>Common Sense awards the Privacy Seal for Quill’s high standards.</p>
1322            </div>
1323            <img src="https://assets.quill.org/images/logos/common-sense-privacy-logo-light.png" alt='Common Sense Privacy Logo' />
1324          </div>
1325          <a class="quill-button outlined small white focus-on-dark" href="/privacy-and-security" rel="noopener noreferrer" target="_blank">View Privacy & Security</a>
1326        </section>
1327      </section>
1328      <div class="footer-navigation">
1329        <ul>
1330  <li>
1331    <p>SCHOOLS &amp; DISTRICTS</p>
1332  </li>
1333      <li>
1334        <a class=focus-on-dark href=/admins>For Administrators</a>
1335      </li>
1336      <li>
1337        <a class=focus-on-dark href=/science-of-reading-and-writing>Science of Reading &amp; Writing</a>
1338      </li>
1339      <li>
1340        <a class=focus-on-dark href=/privacy-and-security>Privacy &amp; Security</a>
1341      </li>
1342      <li>
1343        <a class=focus-on-dark href=/research-and-efficacy>Research &amp; Efficacy</a>
1344      </li>
1345      <li>
1346        <a class=focus-on-dark href=/premium>Premium Pricing</a>
1347      </li>
1348</ul>
1349
1350        <ul>
1351  <li>
1352    <p>LEARNING TOOLS</p>
1353  </li>
1354      <li>
1355        <a class=focus-on-dark href=/tools/connect>Quill Connect</a>
1356      </li>
1357      <li>
1358        <a class=focus-on-dark href=/tools/lessons>Quill Lessons</a>
1359      </li>
1360      <li>
1361        <a class=focus-on-dark href=/tools/diagnostic>Quill Diagnostic</a>
1362      </li>
1363      <li>
1364        <a class=focus-on-dark href=/tools/proofreader>Quill Proofreader</a>
1365      </li>
1366      <li>
1367        <a class=focus-on-dark href=/tools/grammar>Quill Grammar</a>
1368      </li>
1369      <li>
1370        <a class=focus-on-dark href=/tools/evidence>Quill Reading for Evidence</a>
1371      </li>
1372</ul>
1373
1374        
1375        <ul>
1376  <li>
1377    <p>EXPLORE CURRICULUM</p>
1378  </li>
1379      <li>
1380        <a class=focus-on-dark href=/activities/packs>Featured Activity Packs</a>
1381      </li>
1382      <li>
1383        <a class=focus-on-dark href=/ap>AP Activities</a>
1384      </li>
1385      <li>
1386        <a class=focus-on-dark href=/preap>Pre-AP Activities</a>
1387      </li>
1388      <li>
1389        <a class=focus-on-dark href=/springboard>SpringBoard Activities</a>
1390      </li>
1391      <li>
1392        <a class=focus-on-dark href=/activities/section/7>ELA Standards</a>
1393      </li>
1394</ul>
1395
1396        <ul>
1397  <li>
1398    <p>TEACHER CENTER</p>
1399  </li>
1400      <li>
1401        <a class=focus-on-dark href=/teacher-center>All Resources</a>
1402      </li>
1403      <li>
1404        <a class=focus-on-dark href=/teacher-center/topic/whats-new>What&#39;s New?</a>
1405      </li>
1406      <li>
1407        <a class=focus-on-dark href=/teacher-center/topic/writing-for-learning>Writing For Learning</a>
1408      </li>
1409      <li>
1410        <a class=focus-on-dark href=/teacher-center/topic/getting_started>Getting Started</a>
1411      </li>
1412      <li>
1413        <a class=focus-on-dark href=/teacher-center/topic/video-tutorials>Video Tutorials</a>
1414      </li>
1415      <li>
1416        <a class=focus-on-dark href=/teacher-center/topic/best-practices>Best Practices</a>
1417      </li>
1418      <li>
1419        <a class=focus-on-dark href=/faq>FAQ</a>
1420      </li>
1421</ul>
1422
1423        <ul>
1424  <li>
1425    <p>ABOUT US</p>
1426  </li>
1427      <li>
1428        <a class=focus-on-dark href=/about>About Us</a>
1429      </li>
1430      <li>
1431        <a class=focus-on-dark href=/impact>Impact</a>
1432      </li>
1433      <li>
1434        <a class=focus-on-dark href=/press>Press</a>
1435      </li>
1436      <li>
1437        <a class=focus-on-dark href=/ethical-ai>Ethical AI Hub</a>
1438      </li>
1439      <li>
1440        <a class=focus-on-dark href=/pathways>Pathways Initiative</a>
1441      </li>
1442      <li>
1443        <a class=focus-on-dark href=/team>Team</a>
1444      </li>
1445      <li>
1446        <a class=focus-on-dark href=/careers>Careers</a>
1447      </li>
1448      <li>
1449        <a class=focus-on-dark href=/contact>Contact Us</a>
1450      </li>
1451</ul>
1452
1453      </div>
1454      <div class="partners-footer">
1455        <p>Quill is a free literacy tool powered by an open source, non-profit community of educators and developers.</p>
1456        <div class="partner-links">
1457          <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/logos/[email protected]" alt='Axim C
1457ollaborative Logo'/>
1458          <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/logos/[email protected]" alt='Cambiar Education Logo'/>
1459          <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/logos/[email protected]" alt='Fast Forward Logo'/>
1460          <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/logos/[email protected]" alt='Overdeck Family Foundation Logo'/>
1461          <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/logos/[email protected]" alt='Robertson Foundation Logo'/>
1462          <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/logos/[email protected]" alt='Robinhood Logo'/>
1463          <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/logos/[email protected]" alt='Siegel Family Endowment Logo'/>
1464        </div>
1465      </div>
1466      <div class="privacy-and-social flex-row space-between vertically-centered">
1467        <div class="pas-left flex-row">
1468  <p>© 2026 Quill</p>
1469  <p>Quill is a 501(c)(3) nonprofit organization</p>
1470  <a class="focus-on-light" href="/tos">Terms</a>
1471  <a class="focus-on-light" href="/privacy">Privacy</a>
1472</div>
1473
1474        <div class="pas-right flex-row">
1475    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://www.commonsense.org/education/reviews/quill">
1476      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/common-sense.svg" alt="Common Sense Logo"/>
1477    </a>
1478    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://apps.instructure.com/product/2336">
1479      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/canvas.svg" alt="Canvas Logo"/>
1480    </a>
1481    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://clever.com/library/app/quill">
1482      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/clever.svg" alt="Clever Logo"/>
1483    </a>
1484    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://edtechindex.org/product/ultid/U294-2794-E22F-64C9-48/">
1485      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/iste.svg" alt="ISTE Logo"/>
1486    </a>
1487    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://www.google.com/search?q=Quill.org%2C+41+East+11th+Street%2C+New+York%2C+NY&amp;sca_esv=e56551571a6f13fc&amp;ei=JAD8aPGfBJCf5NoPvKCm8Aw&amp;oq=Quill.org+4&amp;gs_lp=Egxnd3Mtd2l6LXNlcnAiC1F1aWxsLm9yZyA0KgIIADICECYyCBAAGKIEGIkFMgUQABjvBTIIEAAYogQYiQUyCBAAGKIEGIkFSI8hUJgDWLgXcAJ4AJABAJgBV6AB0gGqAQEzuAEByAEA-AEBmAIFoALrAcICDhAAGIAEGLADGLEDGIMBwgIIEAAYgAQYsAPCAgsQABiABBiRAhiKBcICBRAAGIAEwgIGEAAYFhgewgILEAAYgAQYhgMYigXCAggQABiABBiiBJgDAIgGAZAGCpIHATWgB7URsgcBM7gH5AHCBwUwLjEuNMgHEg&amp;sclient=gws-wiz-serp#lrd=0x89c25a16e9c13887:0x332ba694d8452c4c,1,,,,">
1488      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/google.svg" alt="Google Logo"/>
1489    </a>
1490    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://www.linkedin.com/company/quill-org">
1491      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/linkedin.svg" alt="LinkedIn Logo"/>
1492    </a>
1493    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://www.youtube.com/@Quillorg">
1494      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/youtube.svg" alt="YouTube Logo"/>
1495    </a>
1496    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://www.tiktok.com/@writewithquill">
1497      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/tiktok.svg" alt="TikTok Logo"/>
1498    </a>
1499    <a class="focus-on-dark" rel="noopener noreferrer" target="_blank" href="https://facebook.com/quill.org">
1500      <img class="lazyload" loading="lazy" src="https://assets.quill.org/images/icons/xs/social-media/facebook.svg" alt="Facebook Logo"/>
1501    </a>
1502</div>
1503
1504      </div>
1505      <div class="disclaimer-container">
1506        <p class="cb-disclaimer">College Board, AP, Pre-AP, and the acorn logo are registered trademarks of College Board.<p>
1507      </div>
1508    </footer>
1509
1510
1511    <!-- Include all compiled plugins (below), or include individual files as needed -->
vendor: 112 bytes, lines 1511-1513
1511
1512
1513  <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1513</body>
1514
1515</html>
1516
1517<script>
1518  document.addEventListener("DOMContentLoaded", function() {
1519    if (window.matchMedia('(display-mode: minimal-ui)').matches) {
1520      function removeTargetFromLinks() {
1521        document.querySelectorAll('a[target=_blank]').forEach(function(a) {a.removeAttribute('target');});
1522      }
1523      removeTargetFromLinks();
1524      const observer = new MutationObserver(removeTargetFromLinks);
1525      observer.observe(document.body, { childList: true, subtree: true });
1526    }
1527  });
1528</script>
1528
1529

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.