<!DOCTYPE html>
<html lang="en">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"534901ca38","applicationID":"163388214","transactionName":"cVxfEUMNWV4EF0tAEFNHWAZuElRVBBZLWwtfVg==","queueTime":0,"applicationTime":733,"agent":""}</script>
<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]},feature_flags:["soft_nav"]};(window.NREUM||(NREUM={})).loader_config={xpid:"UgQCVFJTGwIGV1JaDwMGUg==",licenseKey:"534901ca38",applicationID:"163388214",browserID:"163388284"};;/*! For license information please see nr-loader-full-1.310.1.min.js.LICENSE.txt */
(()=>{var e,t,r={384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>a,US:()=>l,Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>f});var n=r(6154),i=r(1863),s=r(944),o=r(1910);const a={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 d(){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,o.i)(...Object.values(e.o))),e}function u(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,s.R)(69)}function l(e,t){c()[e]=t}function f(){return function(){let e=c();const t=e.info||{};e.info={beacon:a.beacon,errorBeacon:a.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>c,P3:()=>d,XX:()=>i,Yy:()=>a,df:()=>s,qY:()=>n,v4:()=>o});const n="events",i="jserrors",s="browser/blobs",o="rum",a="browser/logs",c={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"},d={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.softNav]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.sessionReplay]:8,[c.logging]:9,[c.genericEvents]:10},u={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:s,[c.sessionReplay]:s,[c.logging]:a,[c.genericEvents]:"ins"}},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)({agentIdentifier:null,drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>s,ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},s={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},o="log",a=n.K7.logging},1541:(e,t,r)=>{"use strict";r.d(t,{U:()=>i,f:()=>n});const n={MFE:"MFE",BA:"BA"};function i(e,t){if(2!==t?.harvestEndpointVersion)return{};const r=t.agentRef.runtime.appMetadata.agents[0].entityGuid;return e?{"source.id":e.id,"source.name":e.name,"source.type":e.type,"parent.id":e.parent?.id||r,"parent.type":e.parent?.type||n.BA}:{"entity.guid":r,appId:t.agentRef.info.applicationID}}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>d,Ze:()=>f,x3:()=>u});var n=r(3241),i=r(7836),s=r(3606),o=r(860),a=r(2646);const c={};function d(e,t){const r={staged:!1,priority:o.P3[t]||0};l(e),c[e].get(t)||c[e].set(t,r)}function u(e,t){e&&c[e]&&(c[e].get(t)&&c[e].delete(t),p(e,t,!1),c[e].size&&h(e))}function l(e){if(!e)throw new Error("agentIdentifier required");c[e]||(c[e]=new Map)}function f(e="",t="feature",r=!1){if(l(e),!e||!c[e].get(t)||r)return p(e,t);c[e].get(t).staged=!0,h(e)}function h(e){const t=Array.from(c[e]);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{c[e].delete(t),p(e,t)}))}function p(e,t,r=!0){const o=e?i.ee.get(e):i.ee,c=s.i.handlers;if(!o.aborted&&o.backlog&&c){if((0,n.W)({agentIdentifier:e,type:"lifecycle",name:"drain",feature:t}),r){const e=o.backlog[t],r=c[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}o.isolatedBacklog||delete c[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(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],s=e[2];n.apply(i,s)}})}},1738:(e,t,r)=>{"use strict";r.d(t,{U:()=>h,Y:()=>f});var n=r(3241),i=r(9908),s=r(1863),o=r(944),a=r(5701),c=r(3969),d=r(8362),u=r(860),l=r(4261);function f(e,t,r,s){const f=s||r;!f||f[e]&&f[e]!==d.d.prototype[e]||(f[e]=function(){(0,i.p)(c.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({agentIdentifier:r.agentIdentifier,drained:!!a.B?.[r.agentIdentifier],type:"data",name:"api",feature:l.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,o.R)(23,e)}})}function h(e,t,r,n,o){const a=e.info;null===r?delete a.jsAttributes[t]:a.jsAttributes[t]=r,(o||null===r)&&(0,i.p)(l.Pl+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},1741:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.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(i.$9,e,t)}start(){return this.#e(i.d3)}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)}}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},1910:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...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]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},2555:(e,t,r)=>{"use strict";r.d(t,{D:()=>a,f:()=>o});var n=r(384),i=r(8122);const s={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 o(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const a=e=>(0,i.a)(e,s)},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>o,H3:()=>n,g:()=>d,iL:()=>c,tS:()=>a,uh:()=>i,wk:()=>s});const n="NRBA",i="SESSION",s=144e5,o=18e5,a={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},2843:(e,t,r)=>{"use strict";r.d(t,{G:()=>s,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 s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(6154);const i="newrelic";function s(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function s(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Xh:()=>c,Zp:()=>i,kd:()=>d,mq:()=>a,nf:()=>o,qN:()=>s});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],s=["focus","blur"],o=4,a=1e3,c=2e3,d=["PageAction","UserAction","BrowserPerformance"],u={RESOURCES:"experimental.resources",REGISTER:"register"}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>s,YM:()=>d});var n=r(7836),i=r(5607);const s="nr@original:".concat(i.W),o=50;var a=Object.prototype.hasOwnProperty,c=!1;function d(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,s){n||(n="");const o="-"===n.charAt(0);for(let a=0;a<t.length;a++){const c=t[a],d=e[c];l(d)||(e[c]=r(d,o?c+n:n,i,c,s))}},r.flag=s,r;function r(t,r,n,c,d){return l(t)?t:(r||(r=""),nrWrapper[s]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var s,a,l,f;let h;try{a=this,s=[...arguments],l="function"==typeof n?n(s,a):n||{}}catch(t){u([t,"",[s,a,c],l],e)}i(r+"start",[s,a,c],l,d);const p=performance.now();let g;try{return f=t.apply(a,s),g=performance.now(),f}catch(e){throw g=performance.now(),i(r+"err",[s,a,e],l,d),h=e,h}finally{const e=g-p,t={start:p,end:g,duration:e,isLongTask:e>=o,methodName:c,thrownError:h};t.isLongTask&&i("long-task",[t,a],l,d),i(r+"end",[s,a,f],l,d)}}}function i(r,n,i,s){if(!c||t){var o=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=o}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[s])}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=o;var i=s.handlers={};function s(e,t,r,s){o(s||n.d,i,e,t,r)}function o(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var o=t[s]=t[s]||{};(o[r]=o[r]||[]).push([e,i])}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>a,Lc:()=>d,Rz:()=>u,TZ:()=>n,bD:()=>s,d3:()=>o,jx:()=>l,sl:()=>f,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",s="resource",o="-start",a="-end",c="fn"+o,d="fn"+a,u="pushState",l=1e3,f=3e4},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),o=r(3969),a=r(993);function c(e,t,r={},c=a.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(o.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)(a.ET,[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(a.p_).some(t=>t===e.toUpperCase().trim())}},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 s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>a,rs:()=>i,xV:()=>o,z_:()=>s});const n=r(860).K7.metrics,i="sm",s="cm",o="storeSupportabilityMetrics",a="storeEventMetrics"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(7836),i=r(1687);class s{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},4261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>d,BL:()=>a,CH:()=>h,Dl:()=>w,Fw:()=>b,PA:()=>m,Pl:()=>n,Pv:()=>x,Tb:()=>l,U2:()=>s,V1:()=>T,Wb:()=>E,bt:()=>y,cD:()=>v,d3:()=>R,dT:()=>c,eY:()=>p,fF:()=>f,hG:()=>i,k6:()=>o,nb:()=>g,o5:()=>u});const n="api-",i="addPageAction",s="addToTrace",o="addRelease",a="finished",c="interaction",d="log",u="noticeError",l="pauseReplay",f="recordCustomEvent",h="recordReplay",p="register",g="setApplicationVersion",m="setCurrentRouteName",v="setCustomAttribute",y="setErrorHandler",b="setPageViewName",w="setUserId",R="start",E="wrapLogger",T="measure",x="consent"},5205:(e,t,r)=>{"use strict";r.d(t,{j:()=>_});var n=r(384),i=r(1741);var s=r(2555),o=r(3333);const a=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(2614),d=r(944),u=r(8122);const l="[data-nr-mask]",f=e=>(0,u.a)(e,(()=>{const e={feature_flags:[],experimental:{allow_registered_children:!1,resources:!1},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},api:{get allow_registered_children(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.allow_registered_children},set allow_registered_children(t){e.experimental.allow_registered_children=t},duplicate_registered_data:!1},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(o.$v.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:c.wk,inactiveMs:c.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){a(t)?e.mask_selector="".concat(t,",").concat(l):""===t||null===t?e.mask_selector=l:(0,d.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){a(t)?e.block_selector+=",".concat(t):""!==t&&(0,d.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,d.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"]}}})());var h=r(6154),p=r(9324);let g=0;const m={buildEnv:p.F3,distMethod:p.Xs,version:p.xv,originTime:h.WN},v={consented:!1},y={appMetadata:{},get consented(){return this.session?.state?.consent||v.consented},set consented(e){v.consented=e},customTransaction:void 0,denyList:void 0,disabled:!1,harvester: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++g}},b=e=>{const t=(0,u.a)(e,y),r=Object.keys(m).reduce((e,t)=>(e[t]={value:m[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)};var w=r(5701);const R=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var E=r(7836),T=r(3241);const x={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A=e=>(0,u.a)(e,x),S=new Set;function _(e,t={},r,o){let{init:a,info:c,loader_config:d,runtime:u={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();a=e.init,c=e.info,d=e.loader_config}e.init=f(a||{}),e.loader_config=A(d||{}),c.jsAttributes??={},h.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,s.D)(c);const p=e.init,g=[c.beacon,c.errorBeacon];S.has(e.agentIdentifier)||(p.proxy.assets&&(R(p.proxy.assets),g.push(p.proxy.assets)),p.proxy.beacon&&g.push(p.proxy.beacon),e.beacons=[...g],function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach(r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let s=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return s?s(...t):n})})}(e),(0,n.US)("activatedFeatures",w.B)),u.denyList=[...p.ajax.deny_list||[],...p.ajax.block_internal?g:[]],u.ptid=e.agentIdentifier,u.loaderType=r,e.runtime=b(u),S.has(e.agentIdentifier)||(e.ee=E.ee.get(e.agentIdentifier),e.exposed=l,(0,T.W)({agentIdentifier:e.agentIdentifier,drained:!!w.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),S.add(e.agentIdentifier)}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>o,SR:()=>s,rF:()=>a});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function o(e){return!0===e?.session_replay.preload&&s(e)}function a(e,t){try{if("string"==typeof t?.type){if("password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,Qr:()=>c,sB:()=>a});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(s())return e();const r=(0,i.J)(e),o=setInterval(()=>{s()&&(clearInterval(o),r())},500);(0,n.sp)("load",r,t)}function a(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},5701:(e,t,r)=>{"use strict";r.d(t,{B:()=>s,t:()=>o});var n=r(3241);const i=new Set,s={};function o(e,t){const r=t.agentIdentifier;s[r]??={},e&&"object"==typeof e&&(i.has(r)||(t.ee.emit("rumresp",[e]),s[r]=e,i.add(r),(0,n.W)({agentIdentifier:r,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>d,RI:()=>i,WN:()=>f,bv:()=>s,eN:()=>h,gm:()=>o,lR:()=>l,m:()=>c,mw:()=>a,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,d=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)(),h=()=>"undefined"!=typeof PerformanceNavigationTiming&&o?.performance?.getEntriesByType("navigation")?.[0]?.responseStart},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>u,Qb:()=>l,TZ:()=>i,Ug:()=>o,Vh:()=>s,_s:()=>a,bc:()=>d,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,s="errorDuringReplay",o=.12,a={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},u=5e3,l={API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"}},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})},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>o,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function o(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,o;i>0?(s=r.substring(0,i),o=r.substring(i)):(s=r,o="*");let[c]=s.split(":");n.push({hostname:a(c),pathname:a(o,!0)})}}function a(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7699:(e,t,r)=>{"use strict";r.d(t,{It:()=>s,KC:()=>a,No:()=>i,qh:()=>o});var n=r(860);const i=16e3,s=1e6,o="SESSION_ERROR",a={[n.K7.logging]:!0,[n.K7.genericEvents]:!1,[n.K7.jserrors]:!1,[n.K7.ajax]:!1}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>i});var n=r(6154);const i=e=>n.RI&&!0===e?.privacy.cookies_enabled},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>a,ee:()=>c});var n=r(384),i=r(8990),s=r(2646),o=r(5607);const a="nr@context:".concat(o.W),c=function e(t,r){var n={},o={},u={},l=!1;try{l=16===r.length&&d.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,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var a=h(n);g(e).forEach(e=>{e.apply(a,r)});var d=v()[o[e]];d&&d.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{o[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()[o[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 h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,a,()=>new s.y(a)):new s.y(a)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c)},7866:(e,t,r)=>{"use strict";r.d(t,{Nc:()=>s,cn:()=>a,fL:()=>i,h3:()=>n,hB:()=>o});const n=/function (.+?)\s*\(/,i=/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,s=/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,o=/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i,a=/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i},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)),s=0===Object.keys(r).length?e:r;for(let o in s)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])&&Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):"object"==typeof e[o]&&"object"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){r[o]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),o=r(6154);const a={},c=o.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(a[t.debugId]++)return t;a[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(o.RI&&h(document,f),c&&h(c.prototype,f),h(o.gm,f)),t.on(d+"-start",function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)&&"newrelic"!==e[0]){var i=(0,s.I)(n,l,function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=e[1]=i}}),t.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},8362:(e,t,r)=>{"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},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}},9119:(e,t,r)=>{"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},9324:(e,t,r)=>{"use strict";r.d(t,{AJ:()=>o,F3:()=>i,Xs:()=>s,Yq:()=>a,xv:()=>n});const n="1.310.1",i="PROD",s="CDN",o="@newrelic/rrweb",a="1.0.1"},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>a,ZF:()=>c,bz:()=>o,el:()=>d});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function s(e,t){return e?15&e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map(e=>"x"===e?s(t,r++).toString(16):"y"===e?(3&s()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var a=0;a<e;a++)o.push(s(r,i++).toString(16));return o.join("")}function c(){return a(16)}function d(){return a(32)}},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,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var s=n[e]={exports:{}};return r[e](s,s.exports,i),s.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((t,r)=>(i.f[r](e,t),t),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.310.1.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.310.1.PROD:",i.l=(r,n,s,o)=>{if(e[r])e[r].push(n);else{var a,c;if(void 0!==s)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+s){a=l;break}}if(!a){c=!0;var f={891:"sha512-xc+D1iOgwuzdtVSfj8HD0IIMsMUXqicLnEDYPX2/QRzCANHxJmqxemUsuWTjmTgwzt47MhMzigz7IcEgVCn2ig==",222:"sha512-go/z3Vv68GVDx7j6Q6/5xBCkG1JRsOD57awB/lLy3OnHlWSaH9dTwni7dhFZo8PhQXh46LkPtwkwlSo/nwjl4A==",95:"sha512-iNlVk06LQ7LT+xJ/nc/Kkztk+gukzDUbfshjIwyInAFQ5gTGHBEeaVcyN/equ/jRl0vbJDVb/Wtj8LvdEeYnyA=="};(a=document.createElement("script")).charset="utf-8",i.nc&&a.setAttribute("nonce",i.nc),a.setAttribute("data-webpack",t+s),a.src=r,0!==a.src.indexOf(window.location.origin+"/")&&(a.crossOrigin="anonymous"),f[o]&&(a.integrity=f[o])}e[r]=[n];var h=(t,n)=>{a.onerror=a.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(e=>e(n)),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={85:0,959:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var s=new Promise((r,i)=>n=e[t]=[r,i]);r.push(n[2]=s);var o=i.p+i.u(t),a=new Error;i.l(o,r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var s=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed: ("+s+": "+o+")",a.name="ChunkLoadError",a.type=s,a.request=o,n[1](a)}},"chunk-"+t,t)}};var t=(t,r)=>{var n,s,[o,a,c]=r,d=0;if(o.some(t=>0!==e[t])){for(n in a)i.o(a,n)&&(i.m[n]=a[n]);if(c)c(i)}for(t&&t(r);d<o.length;d++)s=o[d],i.o(e,s)&&e[s]&&e[s][0](),e[s]=0},r=self["webpackChunk:NRBA-1.310.1.PROD"]=self["webpackChunk:NRBA-1.310.1.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(8362),t=i(860);const r=Object.values(t.K7);var n=i(5205);var s=i(9908),o=i(1863),a=i(4261),c=i(1738);var d=i(1687),u=i(4234),l=i(5289),f=i(6154),h=i(944),p=i(5270),g=i(7767),m=i(6389),v=i(7699);class y extends u.W{constructor(e,t){super(e.agentIdentifier,t),this.agentRef=e,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,m.J)(()=>{(0,d.Ak)(e.agentIdentifier,this.featureName),t()}))}):(0,d.Ak)(e.agentIdentifier,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;const n=async()=>{let n;await this.deferred;try{if((0,g.V)(e.init)){const{setupAgentSession:t}=await i.e(891).then(i.bind(i,8766));n=t(e)}}catch(e){(0,h.R)(20,e),this.ee.emit("internal-error",[e]),(0,s.p)(v.qh,[e],void 0,this.featureName,this.ee)}try{if(!this.#t(this.featureName,n,e.init))return(0,d.Ze)(this.agentIdentifier,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:i}=await t();this.featAggregate=new i(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,h.R)(34,e),this.abortHandler?.(),(0,d.Ze)(this.agentIdentifier,this.featureName,!0),this.loadedSuccessfully(!1),this.ee&&this.ee.abort()}};f.RI?(0,l.GG)(()=>n(),!0):n()}#t(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,p.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}}var b=i(6630),w=i(2614),R=i(3241);class E extends y{static featureName=b.T;constructor(e){var t;super(e,b.T),this.setupInspectionEvents(e.agentIdentifier),t=e,(0,c.Y)(a.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(a.Pl+a.Fw,[(0,o.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>i.e(891).then(i.bind(i,3718)))}setupInspectionEvents(e){const t=(t,r)=>{t&&(0,R.W)({agentIdentifier:e,timeStamp:t.timeStamp,loaded:"complete"===t.target.readyState,type:"window",name:r,data:t.target.location+""})};(0,l.sB)(e=>{t(e,"DOMContentLoaded")}),(0,l.GG)(e=>{t(e,"load")}),(0,l.Qr)(e=>{t(e,"navigate")}),this.ee.on(w.tS.UPDATE,(t,r)=>{(0,R.W)({agentIdentifier:e,type:"lifecycle",name:"session",data:r})})}}var T=i(384);class x extends e.d{constructor(e){var t;(super(),f.gm)?(this.features={},(0,T.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(E),(0,n.j)(this,e,e.loaderType||"agent"),t=this,(0,c.Y)(a.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,c.U)(t,e,r,a.cD,n);(0,h.R)(40,typeof r)}else(0,h.R)(39,typeof e)},t),function(e){(0,c.Y)(a.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,h.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,s.p)(a.Pl+"setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,c.U)(e,"enduser.id",t,a.Dl,!0)},e)}(this),function(e){(0,c.Y)(a.nb,function(t){if("string"==typeof t||null===t)return(0,c.U)(e,"application.version",t,a.nb,!1);(0,h.R)(42,typeof t)},e)}(this),function(e){(0,c.Y)(a.d3,function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,c.Y)(a.Pv,function(t=!0){if("boolean"==typeof t){if((0,s.p)(a.Pl+a.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,h.R)(65,typeof t)},e)}(this),this.run()):(0,h.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={};return r.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),n=[...this.desiredFeatures];n.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),n.forEach(r=>{if(!e[r.featureName]&&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,h.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,h.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,T.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var A=i(2843),S=i(782);class _ extends y{static featureName=S.T;constructor(e){super(e,S.T),f.RI&&((0,A.u)(()=>(0,s.p)("docHidden",[(0,o.t)()],void 0,S.T,this.ee),!0),(0,A.G)(()=>(0,s.p)("winPagehide",[(0,o.t)()],void 0,S.T,this.ee)),this.importAggregator(e,()=>i.e(891).then(i.bind(i,9018))))}}var O=i(3969);class k extends y{static featureName=O.TZ;constructor(e){super(e,O.TZ),f.RI&&document.addEventListener("securitypolicyviolation",e=>{(0,s.p)(O.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)}),this.importAggregator(e,()=>i.e(891).then(i.bind(i,6555)))}}var I=i(6774),P=i(3878),j=i(3304);class N{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function D(e){return M(e)?e:new N(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function C(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(M(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return D(e.reason)}const r=D(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new N(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return M(e.error)?e.error:D(e)}function M(e){return e instanceof Error&&!!e.stack}function B(e,r,n,i,a=(0,o.t)()){"string"==typeof e&&(e=new Error(e)),(0,s.p)("err",[e,a,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var H=i(1541),W=i(993),K=i(3785);function F(e,{customAttributes:t={},level:r=W.p_.INFO}={},n,i,s=(0,o.t)()){(0,K.R)(n.ee,e,t,r,!1,i,s)}function U(e,r,n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.hG,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}function V(e,r,n,i,c=(0,o.t)()){const{start:d,end:u,customAttributes:l}=r||{},f={customAttributes:l||{}};if("object"!=typeof f.customAttributes||"string"!=typeof e||0===e.length)return void(0,h.R)(57);const p=(e,t)=>null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(f.start=p(d,0),f.end=p(u,c),Number.isNaN(f.start)||Number.isNaN(f.end))(0,h.R)(57);else{if(f.duration=f.end-f.start,!(f.duration<0))return(0,s.p)(a.Pl+a.V1,[f,e,i],void 0,t.K7.genericEvents,n.ee),f;(0,h.R)(58)}}function z(e,r={},n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.fF,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}var G=i(9119),Y=i(7866);const q=new Set;let Z=[];if(f.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||"link"===e.initiatorType&&e.name.endsWith(".js"))(e)){q.size>250&&q.delete(q.values().next().value),q.add(e);const t=[];Z.forEach(({test:r,addedAt:n},i)=>{(r(e)||(0,o.t)()-n>1e4)&&t.push(i)}),Z=Z.filter((e,r)=>!t.includes(r))}})}).observe({type:"resource",buffered:!0})}function X(){const e={registeredAt:(0,o.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,asset:void 0,type:"unknown"},t=function(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}();if(!t)return e;const r=f.gm.performance?.getEntriesByType("navigation")?.find(e=>"navigation"===e.initiatorType)?.name||"";try{const n=function(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(Y.cn)||e.match(Y.hB);r&&r[2]&&t.add((0,G.L)(r[2]))}return[...t]}(t).at(-1);if(!n)return e;if(r.includes(n))return e.asset=(0,G.L)(r),e.type="inline",e;const i=performance.getEntriesByType("resource").find(s)||[...q].find(s);function s(e){const t=(0,G.L)(e.name);return t.endsWith(n)||n.endsWith(t)}function a(t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType}i?a(i):function(e){if(!e||!f.gm.document)return!1;try{const t=f.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,G.L)(r.href)===e)return!0}catch(e){}return!1}(n)&&(e.asset=n,e.type="preload",Z.push({addedAt:(0,o.t)(),test:e=>!!s(e)&&(a(e),!0)}))}catch(c){}return e}const J=["name","id","type"];function Q(e){(0,c.Y)(a.eY,function(t){return ee(e,t)},e)}function ee(e,r,n){(0,h.R)(54,"newrelic.register"),r||={},r.type=H.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,r.parent=n||{},("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={});const i=X(),a={};Object.entries(r.tags).forEach(([e,t])=>{J.includes(e)||(a["source.".concat(e)]=t)}),r.isolated??=!0;let c=()=>{};const d=e.runtime.registeredEntities;if(!r.isolated){const e=d.find(({metadata:{target:{id:e}}})=>e===r.id&&!r.isolated);if(e)return e}const u=e=>{r.blocked=!0,c=e};function l(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501||"number"==typeof e}e.init.api.allow_registered_children||u((0,m.J)(()=>(0,h.R)(55))),l(r.id)&&l(r.name)||u((0,m.J)(()=>(0,h.R)(48,r)));const f={addPageAction:(t,n={})=>y(U,[t,{...a,...n},e],r),deregister:()=>{g(),u((0,m.J)(()=>(0,h.R)(68)))},log:(t,n={})=>y(F,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>y(V,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>y(B,[t,{...a,...n},e],r),register:(t={})=>y(ee,[e,t],f.metadata.target),recordCustomEvent:(t,n={})=>y(z,[t,{...a,...n},e],r),setApplicationVersion:e=>v("application.version",e),setCustomAttribute:(e,t)=>v(e,t),setUserId:e=>v("enduser.id",e),metadata:{customAttributes:a,target:r,timings:i}},p=()=>(r.blocked&&c(),r.blocked);function g(){i.reportedAt||(i.reportedAt=(0,o.t)(),f.recordCustomEvent("MicroFrontEndTiming",{assetUrl:i.asset,assetType:i.type,timeToLoad:i.registeredAt-i.fetchStart,timeToBeRequested:i.fetchStart,timeToFetch:i.fetchEnd-i.fetchStart,timeToRegister:i.registeredAt-i.fetchEnd,timeAlive:i.reportedAt-i.registeredAt}))}p()||(d.push(f),(0,A.G)(g));const v=(e,t)=>{p()||(a[e]=t)},y=(r,n,i)=>{if(p()&&r!==ee)return;const a=(0,o.t)();(0,s.p)(O.xV,["API/register/".concat(r.name,"/called")],void 0,t.K7.metrics,e.ee);try{if(e.init.api.duplicate_registered_data&&r!==ee){let e=n;if(n[1]instanceof Object){const t={"child.id":i.id,"child.type":i.type};e="customAttributes"in n[1]?[n[0],{...n[1],customAttributes:{...n[1].customAttributes,...t}},...n.slice(2)]:[n[0],{...n[1],...t},...n.slice(2)]}r(...e,void 0,a)}return r(...n,i,a)}catch(e){(0,h.R)(50,e)}};return f}class te extends y{static featureName=I.T;constructor(e){var t;super(e,I.T),t=e,(0,c.Y)(a.o5,(e,r)=>B(e,r,t),t),function(e){(0,c.Y)(a.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,c.Y)(a.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Q(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,s.p)("ierr",[D(t),(0,o.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),f.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,s.p)("err",[C(t),(0,o.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,P.jT)(!1,this.removeOnAbort?.signal)),f.gm.addEventListener("error",t=>{this.abortHandler&&(0,s.p)("err",[L(t),(0,o.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,P.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#r,this.importAggregator(e,()=>i.e(891).then(i.bind(i,2176)))}#r(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var re=i(8990);let ne=1;function ie(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===f.gm?0:(0,re.I)(e,"nr@id",function(){return ne++})}function se(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var oe=i(8139),ae=i(7836),ce=i(3434);const de={},ue=["open","send"];function le(e){var t=e||ae.ee;const r=function(e){return(e||ae.ee).get("xhr")}(t);if(void 0===f.gm.XMLHttpRequest)return r;if(de[r.debugId]++)return r;de[r.debugId]=1,(0,oe.u)(t);var n=(0,ce.YM)(r),i=f.gm.XMLHttpRequest,s=f.gm.MutationObserver,o=f.gm.Promise,a=f.gm.setInterval,c="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],u=[],l=f.gm.XMLHttpRequest=function(e){const t=new i(e),s=r.context(t);try{r.emit("new-xhr",[t],s),t.addEventListener(c,(o=s,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,r.emit("xhr-resolved",[],e)),n.inPlace(e,d,"fn-",b)}),(0,P.jT)(!1))}catch(e){(0,h.R)(15,e);try{r.emit("internal-error",[e])}catch(e){}}var o;return t};function p(e,t){n.inPlace(t,["onreadystatechange"],"fn-",b)}if(function(e,t){for(var r in e)t[r]=e[r]}(i,l),l.prototype=i.prototype,n.inPlace(l.prototype,ue,"-xhr-",b),r.on("send-xhr-start",function(e,t){p(e,t),function(e){u.push(e),s&&(g?g.then(y):a?a(y):(m=-m,v.data=m))}(t)}),r.on("open-xhr-start",p),s){var g=o&&o.resolve();if(!a&&!o){var m=1,v=document.createTextNode(m);new s(y).observe(v,{characterData:!0})}}else t.on("fn-end",function(e){e[0]&&e[0].type===c||y()});function y(){for(var e=0;e<u.length;e++)p(0,u[e]);u.length&&(u=[])}function b(e,t){return t}return r}var fe="fetch-",he=fe+"body-",pe=["arrayBuffer","blob","json","text","formData"],ge=f.gm.Request,me=f.gm.Response,ve="prototype";const ye={};function be(e){const t=function(e){return(e||ae.ee).get("fetch")}(e);if(!(ge&&me&&f.gm.fetch))return t;if(ye[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],s={};t.emit(n+"before-start",[r],s),s[ae.P]&&s[ae.P].dt&&(e=s[ae.P].dt);var o=i.apply(this,r);return t.emit(n+"start",[r,e],o),o.then(function(e){return t.emit(n+"end",[null,e],o),e},function(e){throw t.emit(n+"end",[e],o),e})})}return ye[t.debugId]=1,pe.forEach(e=>{r(ge[ve],e,he),r(me[ve],e,he)}),r(f.gm,"fetch",fe),t.on(fe+"end",function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(fe+"done",[null,r],n)}else t.emit(fe+"done",[e],n)}),t}var we=i(7485),Re=i(9566);class Ee{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,Re.ZF)(),o=(0,Re.el)(),a=Date.now(),c={spanId:s,traceId:o,timestamp:a};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,o),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,a,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,o,a,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof f.gm?.btoa))return null;var o={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(o.d.tk=s),btoa((0,j.A)(o))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,we.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Te=i(9300),xe=i(7295);function Ae(e){return"string"==typeof e?e:e instanceof(0,T.dV)().o.REQ?e.url:f.gm?.URL&&e instanceof URL?e.href:void 0}var Se=["load","error","abort","timeout"],_e=Se.length,Oe=(0,T.dV)().o.REQ,ke=(0,T.dV)().o.XHR;const Ie="X-NewRelic-App-Data";class Pe extends y{static featureName=Te.T;constructor(e){super(e,Te.T),this.dt=new Ee(e),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};f.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};je(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}be(this.ee),le(this.ee),function(e,r,n,i){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=T,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){x(t,e)},(0,P.jT)(!1)),f.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,P.jT)(!1))}function c(e){this.params={method:e[0]},je(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=se(i);a&&(n.txSize=a)}this.startTime=(0,o.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit("internal-error",[e])}catch(e){}}};for(var c=0;c<_e;c++)t.addEventListener(Se[c],this.listener,(0,P.jT)(!1))}function l(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+ie(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+ie(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,o.t)()}function m(e,t){t instanceof ke&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function v(e,t){t instanceof ke&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function y(e,t,r){t instanceof ke&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,o.t)()))}function b(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,o.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&f.RI&&(t=""+f.gm.location.href):e[0]&&e[0].url?t=e[0].url:f.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,we.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)a(e[0].headers,n)&&(this.dt=n);else{var s={};for(var o in r)s[o]=r[o];s.headers=new Headers(r.headers||{}),a(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function a(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,o.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r=this.opts||{},n=this.target;je(this,Ae(n));var i=(""+(n&&n instanceof Oe&&n.method||r.method||"GET")).toUpperCase();this.params.method=i,this.body=r.body,this.txSize=se(r.body)||0}function E(e,r){if(this.endTime=(0,o.t)(),this.params||(this.params={}),(0,xe.iW)(this.params))return;let i;this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(i=+this.rxSize);const s={txSize:this.txSize,rxSize:i,duration:(0,o.t)()-this.startTime};n("xhr",[this.params,s,this.startTime,this.endTime,"fetch"],this,t.K7.ajax)}function T(e){const r=this.params,i=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<_e;t++)e.removeEventListener(Se[t],this.listener,!1);r.aborted||(0,xe.iW)(r)||(i.duration=(0,o.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==r.status&&(r.status=0):x(this,e),i.cbTime=this.cbTime,n("xhr",[r,i,this.startTime,this.endTime,"xhr"],this,t.K7.ajax))}}function x(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?se(e.response):"text"===r||""===r||void 0===r?se(e.responseText):void 0}(n,e.lastSize);if(i&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(Ie)>=0){var o=n.getResponseHeader(Ie);o&&((0,s.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=o.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",c),r.on("open-xhr-end",d),r.on("send-xhr-start",u),r.on("xhr-cb-time",l),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",g),r.on("addEventListener-end",m),r.on("removeEventListener-end",v),r.on("fn-end",b),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",y),r.on("fetch-done",E)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>i.e(891).then(i.bind(i,3845)))}}function je(e,t){var r=(0,we.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const Ne={},De=["pushState","replaceState"];function Ce(e){const t=function(e){return(e||ae.ee).get("history")}(e);return!f.RI||Ne[t.debugId]++||(Ne[t.debugId]=1,(0,ce.YM)(t).inPlace(window.history,De,"-")),t}var Le=i(3738);function Me(e){(0,c.Y)(a.BL,function(r=Date.now()){const n=r-f.WN;n<0&&(0,h.R)(62,r),(0,s.p)(O.XG,[a.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:a.BL,start:r,origin:"nr"}),(0,s.p)(a.Pl+a.hG,[n,a.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:Be,bD:He,d3:We,Kp:Ke,TZ:Fe,Lc:Ue,uP:Ve,Rz:ze}=Le;class Ge extends y{static featureName=Fe;constructor(e){var r;super(e,Fe),r=e,(0,c.Y)(a.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const n={n:e.name,s:e.start-f.WN,e:(e.end||e.start)-f.WN,o:e.origin||"",t:"api"};n.s<0||n.e<0||n.e<n.s?(0,h.R)(61,{start:n.s,end:n.e}):(0,s.p)("bstApi",[n],void 0,t.K7.sessionTrace,r.ee)},r),Me(e);if(!(0,g.V)(e.init))return void this.deregisterDrain();const n=this.ee;let d;Ce(n),this.eventsEE=(0,oe.u)(n),this.eventsEE.on(Ve,function(e,t){this.bstStart=(0,o.t)()}),this.eventsEE.on(Ue,function(e,r){(0,s.p)("bst",[e[0],r,this.bstStart,(0,o.t)()],void 0,t.K7.sessionTrace,n)}),n.on(ze+We,function(e){this.time=(0,o.t)(),this.startPath=location.pathname+location.hash}),n.on(ze+Ke,function(e){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,n)});try{d=new PerformanceObserver(e=>{const r=e.getEntries();(0,s.p)(Be,[r],void 0,t.K7.sessionTrace,n)}),d.observe({type:He,buffered:!0})}catch(e){}this.importAggregator(e,()=>i.e(891).then(i.bind(i,6974)),{resourceObserver:d})}}var Ye=i(6344);class qe extends y{static featureName=Ye.TZ;#n;recorder;constructor(e){var r;let n;super(e,Ye.TZ),r=e,(0,c.Y)(a.CH,function(){(0,s.p)(a.CH,[],void 0,t.K7.sessionReplay,r.ee)},r),function(e){(0,c.Y)(a.Tb,function(){(0,s.p)(a.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);try{n=JSON.parse(localStorage.getItem("".concat(w.H3,"_").concat(w.uh)))}catch(e){}(0,p.SR)(e.init)&&this.ee.on(a.CH,()=>this.#i()),this.#s(n)&&this.importRecorder().then(e=>{e.startRecording(Ye.Qb.PRELOAD,n?.sessionReplayMode)}),this.importAggregator(this.agentRef,()=>i.e(891).then(i.bind(i,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,s.p)(Ye.Vh,[e],void 0,this.featureName,this.ee))})}#s(e){return e&&(e.sessionReplayMode===w.g.FULL||e.sessionReplayMode===w.g.ERROR)||(0,p.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#n??=Promise.all([i.e(891),i.e(222)]).then(i.bind(i,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#n)}#i(){this.blocked||(this.featAggregate?this.featAggregate.mode!==w.g.FULL&&this.featAggregate.initializeRecording(w.g.FULL,!0,Ye.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(Ye.Qb.API,w.g.FULL)}))}}var Ze=i(3333);const Xe={},$e=new Set;function Je(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Qe{constructor(e,t){this.timestamp=(0,o.t)(),this.currentUrl=(0,G.L)(window.location.href),this.socketId=(0,Re.LA)(8),this.requestedUrl=(0,G.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class et extends y{static featureName=Ze.TZ;constructor(e){super(e,Ze.TZ);const r=e.init.feature_flags.includes("websockets"),n=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,r];var d;let u,l;if(d=e,(0,c.Y)(a.hG,(e,t)=>U(e,t,d),d),function(e){(0,c.Y)(a.fF,(t,r)=>z(t,r,e),e)}(e),Me(e),Q(e),function(e){(0,c.Y)(a.V1,(t,r)=>V(t,r,e),e)}(e),r&&(l=function(e){if(!(0,T.dV)().o.WS)return e;const t=e.get("websockets");if(Xe[t.debugId]++)return t;Xe[t.debugId]=1,(0,A.G)(()=>{const e=(0,o.t)();$e.forEach(r=>{r.nrData.closedAt=e,r.nrData.closeCode=1001,r.nrData.closeReason="Page navigating away",r.nrData.closeWasClean=!1,r.nrData.openedAt&&(r.nrData.connectedDuration=e-r.nrData.openedAt),t.emit("ws",[r.nrData],r)})});class r extends WebSocket{static name="WebSocket";static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return r.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Qe(e[0],e[1]),this.addEventListener("open",()=>{this.nrData.openedAt=(0,o.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),$e.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=Je(e.data);this.nrData.messageOrigin??=(0,G.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,o.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,$e.delete(this),t.emit("ws",[this.nrData],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=Je(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return f.gm.WebSocket=r,t}(this.ee)),f.RI){if(be(this.ee),le(this.ee),u=Ce(this.ee),e.init.user_actions.enabled){function h(t){const r=(0,we.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function p(){u.emit("navChange")}Ze.Zp.forEach(e=>(0,P.sp)(e,e=>(0,s.p)("ua",[e],void 0,this.featureName,this.ee),!0)),Ze.qN.forEach(e=>{const t=(0,m.s)(e=>{(0,s.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,P.sp)(e,t)}),f.gm.addEventListener("error",()=>{(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,P.jT)(!1,this.removeOnAbort?.signal)),this.ee.on("open-xhr-start",(e,r)=>{h(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)})}),this.ee.on("fetch-start",e=>{e.length>=1&&!h(Ae(e[0]))&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),u.on("pushState-end",p),u.on("replaceState-end",p),window.addEventListener("hashchange",p,(0,P.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",p,(0,P.jT)(!0,this.removeOnAbort?.signal))}if(e.init.performance.resources.enabled&&f.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,s.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}r&&l.on("ws",e=>{(0,s.p)("ws-complete",[e],void 0,this.featureName,this.ee)});try{this.removeOnAbort=new AbortController}catch(g){}this.abortHandler=()=>{this.removeOnAbort?.abort(),this.abortHandler=void 0},n.some(e=>e)?this.importAggregator(e,()=>i.e(891).then(i.bind(i,8019))):this.deregisterDrain()}}var tt=i(2646);const rt=new Map;function nt(e,t,r,n,i=!0){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,h.R)(29);const s=function(e){return(e||ae.ee).get("logger")}(e),o=(0,ce.YM)(s),a=new tt.y(ae.P);a.level=n.level,a.customAttributes=n.customAttributes,a.autoCaptured=i;const c=t[r]?.[ce.Jt]||t[r];return rt.set(c,a),o.inPlace(t,[r],"wrap-logger-",()=>rt.get(c)),s}var it=i(1910);class st extends y{static featureName=W.TZ;constructor(e){var t;super(e,W.TZ),t=e,(0,c.Y)(a.$9,(e,r)=>F(e,r,t),t),function(e){(0,c.Y)(a.Wb,(t,r,{customAttributes:n={},level:i=W.p_.INFO}={})=>{nt(e.ee,t,r,{customAttributes:n,level:i},!1)},e)}(e),Q(e);const r=this.ee;["log","error","warn","info","debug","trace"].forEach(e=>{(0,it.i)(f.gm.console[e]),nt(r,f.gm.console,e,{level:"log"===e?"info":e})}),this.ee.on("wrap-logger-end",function([e]){const{level:t,customAttributes:n,autoCaptured:i}=this;(0,K.R)(r,e,n,t,i)}),this.importAggregator(e,()=>i.e(891).then(i.bind(i,5288)))}}new x({features:[E,_,Ge,qe,Pe,k,te,et,st],loaderType:"pro"})})()})();</script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="google-site-verification" content="VfGWzOLDyrmGv8t-bb5sGqNb8fyIhHvgC7cfRSBeKSw" />

    <title>
      Adobe Fonts | Explore unlimited fonts
    </title>

    <link rel="stylesheet" href="https://afwebcdn.fonts.adobe.com/assets/ng-cloak-e19b998bf60bb92b71592dd5c5dbf0c25ae38c778f8f7514a19ded1365497adc.css" />

    
<link rel="preconnect" href="https://use.typekit.net" />
<link rel="preconnect" href="https://platform-assets.typekit.net" />
<link rel="preconnect" href="https://assets.adobedtm.com" />
<link rel="preconnect" href="https://cdn.cookielaw.org" />
<link rel="preconnect" href="https://www.adobe.com" />

  <link rel="preload" href="https://use.typekit.net/ynd8vkt.css" as="style" />
<link rel="preload" href="https://use.typekit.net/ajd7quw.js" as="script" />

  <link rel="preload" href="https://prod.adobeccstatic.com/top-app-bar/1.0/TopAppBar.js" as="script" />
  <link rel="preload" href="https://prod.adobeccstatic.com/top-app-bar/1.0/assets/fonts_background.svg" as="image" />
  <script
    defer
    fetchpriority="high"
    src="https://prod.adobeccstatic.com/top-app-bar/1.0/TopAppBar.js"
    data-client-id="fonts"
    data-ims-client-id="TypeKit2"
    data-ims-scopes="creative_cloud,openid,AdobeID,gnav,additional_info.roles,read_organizations,pps.read,account_cluster.read"
  ></script>



<link rel="preload" href="https://prod.adobeccstatic.com/unav/1.4/UniversalNav.js" as="script" />
<link rel="preload" href="https://prod.adobeccstatic.com/unav/1.4/UniversalNav.css" as="style" />
<link rel="preload" href="https://auth-light.identity.adobe.com/sentry/wrapper.js" as="script" />
<link rel="prefetch" href="https://afwebcdn.fonts.adobe.com/assets/shared/susi_light_modal_bg-473d3c6cdeae361b92d3959910e64637ef680335bf1fade7b5987b9cf74f9d88.webp" as="image" />


    <script>document.documentElement.classList.add('wf-loading');</script>

    <meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="6_IzfD5baTBA1QDgFPuMmaHsmuFFyCteua88cuwBbHlLxsvBDZFnAtUoGGeulmqboSQYBW3YRMpUA53reJjVHw" />

    <script src="https://afwebcdn.fonts.adobe.com/packs/assets/spectrum-css-CqZmvuLQ.js" crossorigin="anonymous" type="module"></script><link rel="stylesheet" href="https://afwebcdn.fonts.adobe.com/packs/assets/spectrum-css-Du9AHbwq.css" media="all" />

    <script>
  window.__cdn_packs_path__ = "https://afwebcdn.fonts.adobe.com/packs/";
</script>

    <script id="flipper-flags" type="application/json">
      {"EnableFontDiscoverySearch":true}
    </script>

    <link rel="stylesheet" href="https://use.typekit.net/ynd8vkt.css" defer>
<script src="https://use.typekit.net/ajd7quw.js" defer></script>
<script id="dynamic-kit-config" type="application/json">
  {"user":"tk","token":"UWiewzNGqfaXgl50sfTX597VqiNVO+VsJvzyIM5SabTjZinSwqaidRKypEX3LMfHdBUibNmD+PCRx/5yCXr4NA=="}
</script>

    <script src="https://afwebcdn.fonts.adobe.com/packs/assets/home-6tK8kGYj.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/GlobalSetup-CHXhY5VJ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/shared-webcomponents-EfbFoXTn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/add_fonts_to_web_project_service-C96mYM0D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/custom_carousel_helper-XB3Wd1EW.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/sp-button-group-BFpB3vA4-CRw-YiNk.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/directive-ByNeprFA.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/SpecimenCard-CzCswA9A.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/OpenInCCXButton-Bf4Z4Jhu.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/sp-switch-DGmpipBi-CR1uv9O-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/SpecimenCarousel-B8aIVKCx.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/if-defined-DwEt7Ysk.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/post_login_action_creator_service-DVg1EZzL.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/flipper-DaGvhwxm.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/newrelic_click_tracker_service-BRoqel54.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/font_loader_service-tLQbfZ9E.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/ims_events_service-DIZDTHu3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/authentication_util-B-zfRBLZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/Textfield-BRI4iHp3-1TpUKgyj.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/LibraryCreatedEvent-B3zesGrM.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/_commonjs-dynamic-modules-TDtrdbi3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/freezeframe_util-DqhlLNQT.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/creative-cloud-icon-CELqJJSR-8sGZk9f3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/FVDHelper-BCOogx9w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/sp-icon-chevron-right-BXulksWP.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/user_state-BQrMv1D5.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="https://afwebcdn.fonts.adobe.com/packs/assets/FeatureFlag-BQ7ni2eT.js" as="script" crossorigin="anonymous">
    <script id="ims-config" type="application/json">
  {"imsLibUrl":"https://auth.services.adobe.com/imslib/imslib.min.js?locale=en_US","imsOptions":{"clientId":"TypeKit2","globalNavSections":"[\"logo\", \"profile\"]","locale":"en_US","adobe_language_tag":"en","scope":"creative_cloud,openid,AdobeID,gnav,additional_info.roles,read_organizations,pps.read,account_cluster.read","ssoLoginUrl":"https://fonts.adobe.com/handle_sso_login","ssoLogoutUrl":"https://fonts.adobe.com/handle_sso_logout","tkRequestInfo":{"cookieName":"tk_iat_vpcproduction","requestMethod":"GET","requestURI":"/"},"imsEnv":"prod"},"cucumberConfig":null}
</script>
<script type="text/javascript" src="https://auth.services.adobe.com/imslib/imslib.min.js?locale=en_US" defer>
</script>


      <meta name="description" content="Adobe Fonts partners with the world’s leading type foundries to bring thousands of beautiful fonts to designers every day.
                    No need to worry about licensing, and you can use fonts from Adobe Fonts on the web or in desktop applications." />

        <meta name="keywords" content="font, fonts, free fonts, typekit, type kit, font kit, web fonts, webfonts, font type, online fonts, free online font, internet fonts, free internet fonts, script font, text font, bold font, best fonts, cool font, free cool fonts, beautiful font, free beautiful fonts, sans fonts, serif fonts, free text font, real fonts, font library, fonts for free, font-face, variable fonts, responsive fonts, adobe, adobe fonts, sync fonts, download fonts, creative cloud, creative cloud fonts, search, image search, visual search, find fonts, discover fonts" />

    <meta property="og:type" content="website">
<meta property="og:title" content="Adobe Fonts">
<meta property="og:description" content="Adobe Fonts partners with the world’s leading type foundries to bring thousands of beautiful fonts to designers every day. No need to worry about licensing, and you can use fonts from Adobe Fonts on the web or in desktop applications.">
<meta property="og:image" content="https://fonts.adobe.com/adobe-fonts-social.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:url" content="https://fonts.adobe.com/">
<meta property="og:site_name" content="Adobe Fonts">

<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Adobe Fonts">
<meta name="twitter:description" content="Adobe Fonts partners with the world’s leading type foundries to bring thousands of beautiful fonts to designers every day. No need to worry about licensing, and you can use fonts from Adobe Fonts on the web or in desktop applications.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@AdobeFonts">
<meta name="twitter:creator" content="@AdobeFonts">
<meta name="twitter:image" content="https://fonts.adobe.com/adobe-fonts-social.jpg">

    <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Adobe Fonts",
  "url": "https://fonts.adobe.com",
  "logo": "https://fonts.adobe.com/adobe-fonts-google-search-icon.png",
  "sameAs": [
    "https://twitter.com/AdobeFonts"
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://fonts.adobe.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://fonts.adobe.com/search?query={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>





    <link rel="search"
      href="/opensearch.xml"
      type="application/opensearchdescription+xml"
      title="Adobe Fonts" />

    <link rel="canonical" href="https://fonts.adobe.com/" />

      <script>
    // Alloy will try to hide the body of the page if we don't have this setting explicitly set.
    window.targetGlobalSettings = {
      bodyHidingEnabled: false
    };
    /**
     * If any property is needed for entire page load and user interaction hits then those properties needs to be updated in digitalData
     * https://wiki.corp.adobe.com/pages/viewpage.action?pageId=2667172745
     */
    window.alloy_all = {
      data: {
        _adobe_corpnew: {
          digitalData: {
            page: {
              pageInfo: {
                language: 'en-US',
              }
            }
          }
        }
      }
    };

    window.marketingtech = {
      adobe: {
        launch: {
          url: 'https://assets.adobedtm.com/d4d114c60e50/a0e989131fd5/launch-5dd5dd2177e6.min.js',
          controlPageLoad :true
        },
        alloy: {
          edgeConfigId: '913eac4d-900b-45e8-9ee7-306216765cd2', 
        },
        target: true, 
        audienceManager: true
      }
    };
  </script>

  <script async src="https://www.adobe.com/marketingtech/main.standard.min.js"></script>


    <link rel="apple-touch-icon" href="https://afwebcdn.fonts.adobe.com/assets/apple-touch-icon-6bb8816ebcdf01e54fa23f0cff07714f8296cd5d31ce185fdc3c1d643a253670.png">
    <link rel="apple-touch-icon" sizes="180x180" href="https://afwebcdn.fonts.adobe.com/assets/apple-touch-icon@2x-83f87f1c2a2e99ad9b352321d8aaad7a9d9ae4e8ca2d0f68de2f9beea728a3aa.png">
  </head>

  <body class="global-nav controller-static-pages action-home spectrum spectrum-Type spectrum-layout-body" ng-app="NeueApp">
    <sp-theme scale="medium"
        color="lightest"
        system="spectrum"
    >
      <af-new-relic-link-click-tracking
        
      >
        <script id="suspended-account-data" type="text/ng-data">
          {"hasSuspendedAccount":false}
        </script>

        <script id="filtered-family-list-sort-modes" type="text/ng-data">
          [{"label":"Date favorited (newest to oldest)","value":"date_favorited_desc","filter":"your_fonts=favorite"},{"label":"Date favorited (oldest to newest)","value":"date_favorited_asc","filter":"your_fonts=favorite"},{"label":"Date added (newest to oldest)","value":"date_added_desc","filter":"your_fonts=added"},{"label":"Date added (oldest to newest)","value":"date_added_asc","filter":"your_fonts=added"},{"label":"Featured","value":"featured_rank"},{"label":"Name","value":"alpha"},{"label":"Newest","value":"newest"}]
        </script>

        <script id="user-info" type="application/json">
          {"isLoggedIn":false,"hasPaidCreativeCloud":false}
        </script>

        <script id="font-discovery-config" type="application/json">
          {"autocompleteUrl":"https://font-services.adobe.io/discover/search/autocomplete","apiKey":"TypeKit1"}
        </script>

        <script id="cached-library-urns" type="application/json">
          []
        </script>

        <div id="adobe-fonts-content-container">
          <div id="section-top-notifications">

</div>

          <header
  id="sitewide-header"
  class="af-focus-trappable"
  env="prod"
  redirectOnSubmit
>

  <script id="/user_info" type="text/ng-data">
    {"activity_state":"new","adobe_profile_id":null,"days_since_sync_activity":-1,"plan":null,"logged_in_on_server":false,"logged_in_as_admin":false}
  </script>

  <a id="adobe-fonts-header__skip-link" href="#adobe-fonts-main-content"
    ng-cloak
  >
    Skip to main content
  </a>

    <af-top-app-bar
      env="prod"
      locale="en_US"
      client_id="fonts"
    >
      <div
        id="top-app-bar-content-target"
      >
      </div>
    </af-top-app-bar>

    <af-top-navbar
      id="header-top-nav"
      ng-cloak
      
    >
        <div slot="top-app-bar-toggle-slot" id="top-app-bar-toggle-target"></div>

      <div slot="adobe-fonts-logo-name">Adobe Fonts</div>

      <af-search-dialog-trigger id="header-top-nav__search-trigger" slot="nav-link">
  <a id="header-top-nav__search-link" href="/search" trigger>
    <sp-icon-search></sp-icon-search>
    <span>
      Search
    </span>
  </a>
</af-search-dialog-trigger>


      <a slot="nav-link" data-click-tracking-id="typekit.header.subnav.link-click" href="/fonts">Browse all</a>

      <a slot="nav-link" data-click-tracking-id="typekit.header.subnav.link-click" href="/recommendations">Recommendations</a>
      <a slot="nav-link" data-click-tracking-id="typekit.header.subnav.link-click" href="/collections">Font packs</a>
      <a slot="nav-link" data-click-tracking-id="typekit.header.subnav.link-click" href="/foundries">Foundries</a>

      <a slot="nav-link" data-click-tracking-id="typekit.header.subnav.link-click" href="/about">About</a>

      

      <div id="header-top-nav__manage-fonts-text-label" slot="manage-fonts-label-slot">Manage fonts</div>
      <sp-icon-more id="header-top-nav__manage-fonts-icon-label" slot="manage-fonts-label-slot"></sp-icon-more>

        <af-universal-nav
    id="universal-nav-container"
    ansAppId="TypeKit1"
    css="https://prod.adobeccstatic.com/unav/1.4/UniversalNav.css"
    env="prod"
    ims-client-id="TypeKit2"
    js="https://prod.adobeccstatic.com/unav/1.4/UniversalNav.js"
    locale="en_US"
    sign-in-url="https://fonts.adobe.com/login/adobe?url=https%3A%2F%2Ffonts.adobe.com%2F"
    
    enable-notifications
    enable-app-switcher
    enable-profile-switcher
  >
    <div id="universal-nav-target"></div>
  </af-universal-nav>

    </af-top-navbar>

</header>


          <div id="adobe-fonts-content">
            <main id="adobe-fonts-main-content" class="spectrum spectrum--light af-focus-trappable">

              <form id="visual-search-upload-form" class="visual-search-form visual-search-main" ng-cloak="true" enctype="multipart/form-data" action="/fonts/vs" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="madmpv96ulk8ow7wc297sgte73juyabELIMg1ckR2SLUzEkevDDek6MMD6oF48TU9zuj1TM4wQAZwWzKa4mpZw" autocomplete="off" />
  <label>

    <input type="file"
           accept="image/*"
           name="image"
           class="visual-search-file-input"
           tabindex="0"
           aria-label="Upload a photo to scan for similar type">

  </label>
</form>
<form id="visual-search-drag-and-drop-form" class="visual-search-drag-and-drop-form" ng-cloak="true" enctype="multipart/form-data" action="/fonts/vs" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="2I3y85euPkCbxAXFlHQmB6RbqeVExqn2OJ_6UWi5tACV5t1L1ORaigRrBJ_i-JlhWD7lSJk3zjIN3bZOyiHERQ" autocomplete="off" />
  <div class="visual-search-drop-zone visual-search-fullscreen">
    <div class="visual-search-fullscreen__frame">
      <a href="" title="Cancel search" class="visual-search-drop-zone__close">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" height="12" width="12" class="close-icon"><path d="M12,9.7a.34.34,0,0,1-.08.21l-2,2a.31.31,0,0,1-.41,0L6,8.42l-3.5,3.5a.31.31,0,0,1-.41,0l-2-2a.31.31,0,0,1,0-.41L3.58,6,.08,2.5a.31.31,0,0,1,0-.41l2-2a.31.31,0,0,1,.41,0L6,3.58,9.5.08a.31.31,0,0,1,.41,0l2,2a.31.31,0,0,1,0,.41L8.42,6l3.5,3.5A.33.33,0,0,1,12,9.7Z"></path></svg>

      </a>
      <div class="text">
        <div class="visual-search-illustration"><img alt="Scanning your file for similar type" src="https://afwebcdn.fonts.adobe.com/assets/svg/image-type-ecdcd82429f96249c09faadcba8cb2ef866fead025cd62f019d8d0385a04b79d.svg" /></div>
        <span class="spectrum-Body filename"></span>
        <span class="spectrum-Body--large visual-search-error__text"></span>
        <span class="spectrum-Body visual-search-error__details"></span>
        <span class="spectrum-Body--large loading-text">Scanning file — please wait</span>
      </div>
    </div>
  </div>

  <input type="file" accept="image/*" name="image" class="visual-search-file-input" id="visual-search-file-input-drag-and-drop">
</form>
<script id="/visual_search/i18n" type="application/json">
  {"image_downsampler":{"file_format_not_supported":{"text":"File format is not supported","details":"Supported formats are gif, jpg, png, and webp"},"file_could_not_be_processed":{"text":"File could not be processed","details":"Upload a new file of format gif, jpg, png, or webp"},"file_is_too_large":{"text":"File is too large","details":"Maximum size is 5 megabytes"}},"visual_search":{"something_went_wrong":{"text":"Something went wrong","details":"Try uploading another file"},"uploading_multiple_files":{"text":"Uploading multiple files is not supported","details":"Try again with one file at a time"}}}
</script>


              


  <script id="/preloaded_homepage_data" type="text/ng-data">
    {"browse_by_classifications":[{"title":"Sans Serif","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/classification_ss-f9e9779e37a2ba0753a5ee9cd9ef3ad095439f82360d89b2728eff01d158c8b0.png","href":"/fonts?browse_mode=default\u0026filters=cl%3Ass"},{"title":"Serif","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/classification_se-c2249c8077c79b3638d7a3af705228ff9a4289dc4e3afbf2d9394d0ae456883b.png","href":"/fonts?browse_mode=default\u0026filters=cl%3Ase"},{"title":"Slab Serif","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/classification_sl-2a238612f22986df8ffac3bc20a90507bd8418f381b75ef920d2c22383b4e66d.png","href":"/fonts?browse_mode=default\u0026filters=cl%3Asl"},{"title":"Script","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/classification_sc-b11e46846a6a530335b0cefd811a4a1bf0b372e57dcda493958ff04601b04049.jpg","href":"/fonts?browse_mode=default\u0026filters=cl%3Asc"}],"browse_by_languages":[{"title":"Japanese","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/language_ja-faac1d4ed0d6a3ed0a028eca7513888e3965aec8708ebda583823047d1d15b44.jpg","href":"/fonts?languages=ja"},{"title":"Korean","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/language_ko-768b74831205dcd977a991d587844062a12ab9c3e45e3740c9086ab02b5b7b30.jpg","href":"/fonts?languages=ko"},{"title":"Arabic","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/language_ar-cbf74b3bf898e79fd3106d6795d37d95f31696e8f2ddbee0b61ea4bb347e5829.jpg","href":"/fonts?languages=ar"},{"title":"English","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/language_en-149e6c2889e8a4f9bcdfa3e09888f357d27b6bb2bbb1f584e716871f35798ecd.jpg","href":"/fonts?languages=en"}],"browse_by_tags":[{"title":"Comic","description":"Impactful fonts with a handwritten look or cartoon feel","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/tag_comic-81f74dea323459b351aeab5bae2dbec5b4468789cc573bd5abfcfd114f1d8de6.jpg","href":"/fonts?browse_mode=default\u0026tag=comic"},{"title":"Rough","description":"Type with rough edges and eroded looks","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/tag_rough-f9a06ece859a8fbcb3421c3d6c6270b933dd07015ed02c305f12082e2e8306d2.jpg","href":"/fonts?browse_mode=default\u0026tag=rough"},{"title":"Friendly","description":"Fonts with a welcoming and approachable feel","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/tag_friendly-c44880d359d92e3673ffe57b29fd578ccab79f4bcf7fc56fa135a874686b60fe.jpg","href":"/fonts?browse_mode=default\u0026tag=friendly"},{"title":"Futuristic","description":"Fonts reminiscent of digital technology and Sci-Fi movie lettering","src":"https://afwebcdn.fonts.adobe.com/assets/home/browse_filter_cards/tag_futuristic-14e5146c3216e2b38850593bf480228891ac8e31c8865c75dc0e022cff7f653b.jpg","href":"/fonts?browse_mode=default\u0026tag=futuristic"}]}
  </script>

  <script id="project_crossbar_data" type="application/json">
    {"enableProjectCrossbar":true}
  </script>

    <script id="/recommendations/preloaded" type="text/ng-data">
      {"familiesPerPage":4,"isPersonalized":false,"recommendationTypes":[{"key":"all","label":"All"}]}
    </script>

  <script id="/recommendations/i18n" type="text/ng-data">{"neue.fontpacks.sync_error_message":"An error occurred while trying to get font pack. Some fonts may not be activated. Please try again.","neue.fontpacks.unsync_error_message":"An error occurred while trying to deactivate font pack. Some fonts may not be deactivated. Please try again.","recommendations.activation_error":"An error occurred while trying to activate fonts. Some fonts may not be activated. Please try again.","recommendations.activation_success":"You’ve activated %{family}","recommendations.deactivation_error":"An error occurred while trying to deactivate fonts. Some fonts may not be deactivated. Please try again.","recommendations.deactivation_success":"You’ve deactivated %{family}","recommendations.family_card_foundry_subheading":"From %{foundry}"}</script>

  <div id="home-crossbar" ng-controller="MarketplaceHomeController as homeCtrl">
      <div class="hero-section">
    <div class="homepage--searchbar-hero-section">
        <img src="https://afwebcdn.fonts.adobe.com/assets/home/home-bg-graphic-1920-67b03ce9c4bdc7d4f12c916c1cf965757fe76d23b01e324458d64738af667ec9.webp" alt="Find the perfect font"
            class="homepage--searchbar-hero-section-bg" fetchpriority="high" />
        <h2 class="homepage--searchbar-hero-section-lead-text">
            Every font you need, everywhere you need it
        </h2>
        <h2 class="homepage--searchbar-hero-section-title">
            Find the perfect font
        </h2>
        <af-search-bar
          id="hero-searchbar"
          placeholder="Describe the font you’re looking for"
          hideVisualSearch
          showSearchButton
          size="m"

          highlightAutocomplete
            suggestions="[{&quot;name&quot;:&quot;condensed serif fonts&quot;,&quot;type&quot;:&quot;suggestions&quot;},{&quot;name&quot;:&quot;fonts by Ryoko Nishizuka&quot;,&quot;type&quot;:&quot;suggestions&quot;},{&quot;name&quot;:&quot;Blackletra foundry&quot;,&quot;type&quot;:&quot;suggestions&quot;},{&quot;name&quot;:&quot;sci-fi alien vibe&quot;,&quot;type&quot;:&quot;suggestions&quot;}]"
        >
        </af-search-bar>
    </div>
</div>

    <div class="spectrum-grid--fluid">


      
        
<h3 class="spectrum-Heading--subtitle1 homepage--browse-filters-title margin-top--xlarge" id="">
  New releases
</h3>
<div class="spectrum-grid-row margin-top--xsmall" id="">
  <div class="spectrum-grid-col-xs-12">
    <p class="spectrum-Body homepage--browse-filters-description">The latest fonts included with your subscription</p>

      <a href="/recommendations/newest"
        class="spectrum-Button spectrum-Button--primary homepage--browse-all-button browse-by-newest__browse-all-link homepage-view-more-button add-outline-button"
        data-analytics-id="newest_section"
        aria-label="View more of the latest fonts included with your subscription">
        <span class="spectrum-Button-label">
          View more
        </span>
      </a>
  </div>
</div>

        <div class="spectrum-grid-row">
          <div class="spectrum-grid-col-xs-12" ng-cloak>
            <af-specimen-carousel id="home-newest-fonts" showShadow>
            </af-specimen-carousel>
          </div>
        </div>

      
<h3 class="spectrum-Heading--subtitle1 homepage--browse-filters-title margin-top--xlarge" id="">
  Trending now
</h3>
<div class="spectrum-grid-row margin-top--xsmall" id="">
  <div class="spectrum-grid-col-xs-12">
    <p class="spectrum-Body homepage--browse-filters-description">Fonts of the moment</p>

      <a href="/recommendations/trending"
        class="spectrum-Button spectrum-Button--primary homepage--browse-all-button browse-by-trending__browse-all-link homepage-view-more-button add-outline-button"
        data-analytics-id="trending_section"
        aria-label="View more fonts that are trending now">
        <span class="spectrum-Button-label">
          View more
        </span>
      </a>
  </div>
</div>

      <div class="spectrum-grid-row">
        <div class="spectrum-grid-col-xs-12" ng-cloak>
          <af-specimen-carousel id="home-trending-fonts" showShadow>
          </af-specimen-carousel>
        </div>
      </div>

      
<h3 class="spectrum-Heading--subtitle1 homepage--browse-filters-title margin-top--xlarge" id="">
  Hidden gems
</h3>
<div class="spectrum-grid-row margin-top--xsmall" id="">
  <div class="spectrum-grid-col-xs-12">
    <p class="spectrum-Body homepage--browse-filters-description">Quality fonts you may have missed</p>

      <a href="/recommendations/hidden_gems"
        class="spectrum-Button spectrum-Button--primary homepage--browse-all-button browse-by-hidden-gems__browse-all-link homepage-view-more-button add-outline-button"
        data-analytics-id="hidden_gems_section"
        aria-label="View more hidden gems, quality fonts you may have missed">
        <span class="spectrum-Button-label">
          View more
        </span>
      </a>
  </div>
</div>

      <div class="spectrum-grid-row">
        <div class="spectrum-grid-col-xs-12" ng-cloak>
          <af-specimen-carousel id="home-hidden-gems-fonts" showShadow>
          </af-specimen-carousel>
        </div>
      </div>

      
      <h3 class="spectrum-Heading--subtitle1 margin-top--xlarge homepage__section-title">
        Simplified licensing
      </h3>

      <div class="spectrum-grid-row margin-top--xsmall">
        <div class="spectrum-grid-col-xs-12">
          <p class="spectrum-Body homepage__section-description">
            The full Adobe Fonts library can be used for both personal and commercial projects
          </p>
        </div>
      </div>
      <div class="spectrum-grid-row">
        <div class="spectrum-grid-col-xs-12 spectrum-grid-col-sm-12 margin-left--small licensing-info">
          <div class="spectrum-grid-row licensing-info-item-blocks licensing-info-item-blocks-no-border">
            <div class="spectrum-grid-col-md-2 licensing-info-item-block">
  <div class="spectrum-grid-row licensing-info-item-blocks-image">
    <span class="licensing-info-item-blocks-design_projects"></span>
  </div>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-heading">Design Projects</h2>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-subtext_design">Create images or vector artwork, including logos</h2>
</div>
<div class="spectrum-grid-col-md-2 licensing-info-item-block_website licensing-info-item-block">
    <span class="spectrum-grid-row licensing-info-item-blocks-image">
      <span class="licensing-info-item-blocks-website_publishing"></span>
    </span>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-heading">Website Publishing</h2>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-subtext_website">Create a Web Project to add any font from our service to your website</h2>
</div>
<div class="spectrum-grid-col-md-2 licensing-info-item-block">
    <span class="spectrum-grid-row licensing-info-item-blocks-image">
      <span class="licensing-info-item-blocks-pdfs"></span>
    </span>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-heading">PDFs</h2>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-subtext">Embed fonts in PDFs for viewing and printing</h2>
</div>
<div class="spectrum-grid-col-md-2 licensing-info-item-block_video licensing-info-item-block">
    <span class="spectrum-grid-row licensing-info-item-blocks-image">
      <span class="licensing-info-item-blocks-video"></span>
    </span>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-heading">Video and Broadcast</h2>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-subtext">Use fonts to create in-house or commercial video content</h2>
</div>
<div class="spectrum-grid-col-md-2 licensing-info-item-block">
    <span class="spectrum-grid-row licensing-info-item-blocks-image">
      <span class="licensing-info-item-blocks-add-more"></span>
    </span>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-heading">And more…</h2>
  <h2 class="spectrum-grid-row licensing-info-item-blocks-subtext">
    Visit the Adobe Fonts Licensing &nbsp;<a class="spectrum-Link licensing-faq-link add-outline" target="_blank" href="https://helpx.adobe.com/fonts/using/font-licensing.html" aria-label="Frequently Asked Questions">FAQ</a> for full details
  </h2>
</div>

          </div>
        </div>
      </div>

      
        <h3 class="spectrum-Heading--subtitle1 homepage--browse-filters-title">
  Meet the type community
</h3>
<div class="spectrum-grid-row">
  <div class="spectrum-grid-col-sm-3 homepage--browse-filter-card-wrapper" ng-class="homeCtrl.getSmallScreenClass()" ng-cloak>
    <af-browse-filter-card
      title="Latest on the blog"
      description="Everything new for fonts in Creative Cloud"
      href="https://blog.adobe.com/en/topics/typography"
      src="https://afwebcdn.fonts.adobe.com/assets/home/a_closer_look/blog-c5f5cc855762b147f97b3d56183fd78257718a644f46881fe66e4e7761ddb380.jpg">
    </af-browse-filter-card>
  </div>
  <div class="spectrum-grid-col-sm-3 homepage--browse-filter-card-wrapper homepage--closer-look-card-wrapper" ng-class="homeCtrl.getSmallScreenClass()" ng-cloak>
    <af-browse-filter-card
      title="Featured Foundries"
      description="A showcase of the foundries that contribute to Adobe Fonts"
      href="/foundries"
      src="https://afwebcdn.fonts.adobe.com/assets/home/a_closer_look/featured_foundry-109a9a6a738ae350a4ca2f493598377a6cc0e37d641edca595b2ddc39cce694b.jpg">
    </af-browse-filter-card>
  </div>
  <div class="spectrum-grid-col-sm-3 homepage--browse-filter-card-wrapper" ng-class="homeCtrl.getSmallScreenClass()" ng-cloak>
    <af-browse-filter-card
      title="Explore by designer"
      description="Meet the individuals behind the type"
      href="/designers"
      src="https://afwebcdn.fonts.adobe.com/assets/home/a_closer_look/designer-37cab363fd4a9ca44efe217d15545b1ad642eadc8d65f11faffa147dc2f6bb33.jpg">
    </af-browse-filter-card>
  </div>
  <div class="spectrum-grid-col-sm-3 homepage--browse-filter-card-wrapper" ng-class="homeCtrl.getSmallScreenClass()" ng-cloak>
    <af-browse-filter-card
      title="Adobe Fonts on Behance"
      description="Catch up on our livestream featuring typography experts"
      href="https://www.behance.net/adobefonts/livestreams"
      src="https://afwebcdn.fonts.adobe.com/assets/home/a_closer_look/behance-5b9f254e56ad3051f8d1982dd6ce5d7c578cc9a68872f87564ce59707e5f4c1e.jpg">
    </af-browse-filter-card>
  </div>

</div>


      
      <div class="spectrum-grid-row">
        <div class="spectrum-grid-col-xs-12">
          <div class="homepage--licensing-section">
            <div class="homepage--banner-section-text">
              <h3 class="spectrum-Heading--subtitle1 homepage--banner-section-heading">Over 30,000 fonts</h3>
              <p class="spectrum-Body homepage--banner-section-description">Still haven&#39;t found what you are looking for? Quickly find the fonts you need with our classification and language support filters</p>
              <a href="/fonts"
                 class="spectrum-Button spectrum-Button--primary homepage--banner-Button add-outline-button"
                 aria-label="Browse over 30,000 fonts">
                <span class="spectrum-Button-label homepage--banner-Button-label">Browse</span>
              </a>
            </div>
            <div>
              <img alt="Font styles displayed in different languages, classifications and styles. Like horror, fun, rough, serif, Chinese, and Japanese" class="homepage--licensing-section-image" loading="lazy" src="https://afwebcdn.fonts.adobe.com/assets/home/banner_footer-3dbac458ef0192d781454624d5db4fc76bba1afae172a2d86e598c0ae46db84c.png" />
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>


            </main>

            




<af-bottom-notification 
  id="section-bottom-notifications"
  role="region"
  aria-hidden="true"
  aria-label="Toast notifications"
>
  <template id="notification-content-template">
    <af-notification-toast>
  <span slot="toast-message"></span>
  <sp-button
    slot="toast-action"
    static-color="white"
    variant="secondary"
    treatment="outline"
  ></sp-button>
</af-notification-toast>

  </template>
  <div id="notification-content-container"></div>
</af-bottom-notification>


            

            <footer class="adobe-fonts-footer af-focus-trappable"
  ng-cloak
>
  <script id="/locale_info" type="text/ng-data">
    {"allLocales":[{"label":"Dansk","value":"da_DK"},{"label":"Deutsch","value":"de_DE"},{"label":"English","value":"en_US"},{"label":"Español","value":"es_ES"},{"label":"Français","value":"fr_FR"},{"label":"Italiano","value":"it_IT"},{"label":"Nederlands","value":"nl_NL"},{"label":"Norsk","value":"nb_NO"},{"label":"Português","value":"pt_BR"},{"label":"Suomi","value":"fi_FI"},{"label":"Svenska","value":"sv_SE"},{"label":"Русский","value":"ru_RU"},{"label":"日本語","value":"ja_JP"},{"label":"简体中文","value":"zh_CN"},{"label":"繁體中文","value":"zh_TW"},{"label":"한국어","value":"ko_KR"}],"selectedLocale":"en_US","countryCode":"US"}
  </script>

  <div class="adobe-fonts-footer__top">
    <div>
      <a href="/" aria-label="Typekit home">
        <img src="https://afwebcdn.fonts.adobe.com/assets/spectrum/adobe-fonts-logo--light-404ec346d931eb0923079a208fcf67253f5df08c9bda416ef2d86eb500867c25.svg"
             alt="Typekit home"
             class="adobe-fonts-footer__logo"
             loading="lazy"
        />
      </a>
    </div>
  </div>

  <div class="adobe-fonts-footer__middle">
    <div>
      <h2>
        Browse
      </h2>

      <ul class="list--no-decoration adobe-fonts-footer__link_list">
        <li>
          <a href="/fonts" data-click-tracking-id="typekit.footer.link-click">
            Fonts
          </a>
        </li>
        <li>
          <a href="/collections" data-click-tracking-id="typekit.footer.link-click">
            Font Packs
          </a>
        </li>
        <li>
          <a href="/foundries" data-click-tracking-id="typekit.footer.link-click">
            Foundries
          </a>
        </li>
        <li>
          <a href="/designers" data-click-tracking-id="typekit.footer.link-click">
            Designers
          </a>
        </li>
        <li>
          <a href="/discovery"
             data-click-tracking-id="typekit.footer.link-click">
            Collections
          </a>
        </li>
      </ul>
    </div>

    <div>
      <h2>
        Support
      </h2>
      <ul class="list--no-decoration adobe-fonts-footer__link_list">
        <li>
          <a href="/help"
             data-click-tracking-id="typekit.footer.link-click">
            Help
          </a>
        </li>
        <li>
          <a href="https://www.adobe.com/go/fontsstatus"
             data-click-tracking-id="typekit.footer.link-click">
            Status Blog
          </a>
        </li>
        <li>
          <a href="https://adobefonts.uservoice.com"
             data-click-tracking-id="typekit.footer.link-click">
            Send us feedback
          </a>
        </li>
        
        <li>
          <a href="http://twitter.com/creativecloud"
             data-click-tracking-id="typekit.footer.link-click">
            Twitter
          </a>
        </li>
      </ul>
    </div>

    <div>
      <h2>
        About
      </h2>
      <ul class="list--no-decoration adobe-fonts-footer__link_list">
        <li>
          <a aria-label="About Adobe Fonts"
             href="/about"
             data-click-tracking-id="typekit.footer.link-click">
            Adobe Fonts
          </a>
        </li>
        <li>
          <a target="_blank" data-click-tracking-id="typekit.footer.link-click" href="https://blog.adobe.com/en/topics/typography">Blog</a>
        </li>
              </ul>
    </div>
    <div>
      <h2>
        ADOBE
      </h2>
      <ul class="list--no-decoration adobe-fonts-footer__link_list">
        <li>
          <a target="_blank" data-click-tracking-id="typekit.footer.link-click" href="https://www.adobe.com/creativecloud/photography.html">Photography</a>
        </li>
        <li>
          <a target="_blank" data-click-tracking-id="typekit.footer.link-click" href="https://www.adobe.com/creativecloud/design.html">Design</a>
        </li>
        <li>
          <a target="_blank" data-click-tracking-id="typekit.footer.link-click" href="https://www.adobe.com/creativecloud/illustration.html">Illustration</a>
        </li>
        <li>
          <a target="_blank" data-click-tracking-id="typekit.footer.link-click" href="https://www.adobe.com/creativecloud/video.html">Video</a>
        </li>
      </ul>
    </div>
  </div>

  <hr class="adobe-fonts-footer__divider" />

  <div class="adobe-fonts-footer__bottom">
    <div class="adobe-fonts-footer__bottom-links">
      <a href=https://www.adobe.com/go/terms target="_blank">
        Terms of Use
      </a>
      <a href=http://www.adobe.com/privacy/typekit.html target="_blank">
        Privacy Policy
      </a>
      <a href=https://www.adobe.com/privacy/cookies.html target="_blank">
        Cookies
      </a>
      <div class="adobe-fonts-footer__evidon-notice-link">
        <button aria-label="Cookie preferences" class="evidon-notice-link">
</button>

<script>
  window.fedsConfig = window.fedsConfig || {};
  window.fedsConfig.privacy = window.fedsConfig.privacy || {};
  window.fedsConfig.privacy.footerLinkSelector = '.evidon-notice-link';
  window.fedsConfig.privacy.otDomainId = '7a5eb705-95ed-4cc4-a11d-0cc5760e93db-test';
</script>

  <script>
    window.fedsConfig.privacy.otDomainId = '7a5eb705-95ed-4cc4-a11d-0cc5760e93db';
  </script>

<script src="https://www.adobe.com/etc.clientlibs/globalnav/clientlibs/base/privacy-standalone.js" async="async"></script>

      </div>
      <af-locale-switcher class="adobe-fonts-footer__locale_switcher">
  <p>Language:</p>
  <sp-action-menu
    data-id="adobe-fonts-locale-switcher"
    label="Language:"
    placement="top"
    quiet
    value="en_US"
    selects="single"
  >
    <span slot="label-only">English</span>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="da_DK"
      >
        Dansk
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="de_DE"
      >
        Deutsch
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="en_US"
      >
        English
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="es_ES"
      >
        Español
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="fr_FR"
      >
        Français
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="it_IT"
      >
        Italiano
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="nl_NL"
      >
        Nederlands
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="nb_NO"
      >
        Norsk
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="pt_BR"
      >
        Português
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="fi_FI"
      >
        Suomi
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="sv_SE"
      >
        Svenska
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="ru_RU"
      >
        Русский
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="ja_JP"
      >
        日本語
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="zh_CN"
      >
        简体中文
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="zh_TW"
      >
        繁體中文
      </sp-menu-item>
      <sp-menu-item
        data-class="adobe-fonts-locale-switcher__locale-item-button"
        value="ko_KR"
      >
        한국어
      </sp-menu-item>
  </sp-action-menu>
</af-locale-switcher>

      <a href=https://www.adobe.com/privacy/us-rights.html target="_blank">
        Do not sell or share my personal information
      </a>
      <div class="adobe-fonts-footer__copyright">
        <p>
          &copy; 2026 Adobe. All rights reserved.
        </p>
      </div>
    </div>
  </div>
</footer>


            <script type="text/javascript">
  var _gaq = _gaq || [];

    _gaq.push(['_setAccount', 'UA-8850781-2']);
    _gaq.push(['_trackPageview']);


    // C0002 is "cookies used to analyze site usage to measure and improve performance"
    if (window.adobePrivacy && window.adobePrivacy.activeCookieGroups().includes('C0002')) {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    }
</script>

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-BQ8HER6FVQ"></script>
<script>
  window.dataLayer = window.dataLayer || [];

  function gtag() {
    dataLayer.push(arguments);
  }

  gtag('js', new Date());

    gtag('config', 'G-BQ8HER6FVQ', {
      'signed-in-user': false
    });
</script>


            <script id="/notifications/i18n" type="text/ng-data">{"notifications":{"link_label":"Learn more","retirement_banner":{"message":"%{name} fonts are being removed from Adobe Fonts on %{retirement_date};"}}}</script>

            <script id="/fontpack_items/i18n" type="text/ng-data">{"neue.fontpacks.subscribe_to_activate_message":"Subscribe to Creative Cloud to activate these fonts.","neue.fontpacks.sync_error_message":"An error occurred while trying to get font pack. Some fonts may not be activated. Please try again.","neue.fontpacks.unsync_error_message":"An error occurred while trying to deactivate font pack. Some fonts may not be deactivated. Please try again.","neue.fontpacks.view_plans_action":"View Plans"}</script>

            <script id="/neue/i18n" type="text/ng-data">{"kit_editor.kits.publish.update.project_eta_message":"Updated \"%{web_project_name}\". It may take a few minutes for the changes to be available across the entire font network.","neue.browse.family_card":{"fonts":"fonts","font":"font","entitled_font_count":{"one":"1 font","other":"%{count} fonts"},"fonts_with_cc":{"one":"1 font with CC","other":"%{count} fonts with CC"},"to_buy":{"one":"1 font to buy","other":"%{count} fonts to buy"},"fonts_active_count":{"one":"Deactivate 1 font","other":"Deactivate %{count} fonts"},"fonts_activated_action":{"one":"You have activated 1 font","other":"You have activated %{count} fonts"},"fonts_deactivated_action":{"one":"You have deactivated 1 font","other":"You have deactivated %{count} fonts"},"fonts_named_activated_action":{"one":"You’ve activated %{font}","other":"You’ve activated %{count} fonts"},"fonts_named_deactivated_action":{"one":"You’ve deactivated %{font}","other":"You’ve deactivated %{count} fonts"},"subscribe_to_cc":"Subscribe to Creative Cloud to activate these fonts.","view_plans_action":"View Plans","error_occurred_activating_some_fonts":"An error occurred while trying to activate all fonts. Some fonts may not be activated. Please try again.","error_occurred_deactivating_some_fonts":"An error occurred while trying to deactivate all fonts. Some fonts may still be activated. Please try again.","error_occurred_activating_fonts":"An error occurred while trying to activate fonts. Please try again.","error_occurred_deactivating_fonts":"An error occurred while trying to deactivate all fonts. Please try again.","error_occurred_adding_fonts":"An error occurred while trying to add fonts.","error_occurred_removing_fonts":"An error occurred while trying to remove fonts.","error_occurred_adding_some_fonts":"An error occurred while trying to add all fonts. Some fonts may not be added.","error_occurred_removing_some_fonts":"An error occurred while trying to remove all fonts. Some fonts may still be added.","error_occurred_adding_font":"An error occurred while trying to add a font.","error_occurred_removing_font":"An error occurred while trying to remove a font.","remove_family_confirmation_header":"Remove font family?","remove_font_confirmation_header":"Remove font?","remove_fonts_confirmation_header":"Remove fonts?","fonts_removed_success_message":"Fonts removed","single_font_removed_success_message":"Font removed","remove_family_confirmation_description":"Are you sure you want to remove this font family from all font menus? You can always add it back from the website or the Creative Cloud App.","remove_font_confirmation_description":"Are you sure you want to remove this font from all font menus? You can always add it back from the website or the Creative Cloud App.","remove_fonts_confirmation_description":"Are you sure you want to remove these fonts from all font menus? You can always add them back from the website or the Creative Cloud App.","activate_fonts":"Activate fonts","available_to_buy":"Available to buy","available_in_cc":"Available with CC","fonts_added_success_message":"Fonts available in your Adobe Apps. Manage them in the Creative Cloud App.","open_app":"Open app","try_again":"Try Again"},"neue.browse.favorites":{"add_favorite_success":"Added to Favorites","add_favorite_failure":"Error adding to favorites","remove_favorite_success":"Removed from Favorites","remove_favorite_failure":"Error removing from favorites","remove_favorite_undo":"Undo"},"neue.shared":{"more_actions":"More actions","browse_fonts":"Browse fonts","fonts":"%{number} fonts","font":"%{number} font","sort_alpha":"Font Name A-Z","sort_alpha_desc":"Font Name Z-A","sort_newest":"Newest (new to old)","sort_oldest":"Oldest (old to new)","show_more":"Show more","coachmarks":{"save_and_organize":{"title":"You can now save \u0026 organize fonts","description":"Click the heart to quickly save your favorite fonts, or save directly to a  library."},"more_than_fonts":{"title":"More than fonts","description":"Your library can hold assets you've added from across Creative Cloud. Manage your full library from Adobe Home / Libraries."},"organize_your_fonts":{"title":"Use libraries to organize your fonts","description":"Click the library icon to save your fonts directly to a library folder."},"single_action":"Got it"}}}</script>

            <script id="/angular_templates/directives/adobe_fonts_carousel.html" type="text/ng-template"><div class="adobe-fonts-carousel js_slider">
  <button aria-label="Previous"
          class="adobe-fonts-carousel__previous-button js_prev"
          ng-hide="carouselCtrl.hidePreviousAndNextButtons"
          tabindex="{{carouselCtrl.setPreviousTabIndex()}}"></button>
  <button aria-label="Next"
          class="adobe-fonts-carousel__next-button js_next"
          ng-hide="carouselCtrl.hidePreviousAndNextButtons"
          tabindex="{{carouselCtrl.setNextTabIndex()}}"></button>

  <div class="adobe-fonts-carousel__frame js_frame">
    <ng-transclude></ng-transclude>
  </div>
</div>

<div class="adobe-fonts-carousel__controls" ng-show="carouselCtrl.shouldShowDotControl()">
  <div class="adobe-fonts-carousel__dot"
       ng-repeat="i in carouselCtrl.dotNumbers()"
       ng-class="{'adobe-fonts-carousel__dot-active': carouselCtrl.isDotActive(i)}"
       ng-click="carouselCtrl.selectDot(i)"
       ng-show="carouselCtrl.shouldShowDot(i)">
  </div>
</div>
<a class="spectrum-Link adobe-fonts-carousel__link" ng-href="{{carouselCtrl.getLinkHref()}}" ng-if="carouselCtrl.links">
  {{carouselCtrl.getLinkName()}}
</a>
</script><script id="/angular_templates/directives/adobe_fonts_family_image_card.html" type="text/ng-template"><div class="adobe-fonts-family-image-card">
  <div ng-class="fontImageCardCtrl.familyImageContainerClass()" class="adobe-fonts-family-image-card--container">
    <img ng-src="{{fontImageCardCtrl.imageItem}}" ng-class="fontImageCardCtrl.familyImageClass()"
         alt="Card displaying {{fontImageCardCtrl.familyName}} typeface in various styles" tabindex="-1"
         ng-attr-fetchpriority="{{fontImageCardCtrl.isVisibleByDefault ? 'high' : undefined}}"
         >
  </div>
</div>
</script><script id="/angular_templates/directives/adobe_fonts_family_image_card_list.html" type="text/ng-template"><div>
  <div class="adobe-fonts-family-image-card-list spectrum-grid-row" ng-class="fontImageCardListController.cardListMargin()">
    <ul class="slides js_slides spectrum-grid-col-xs-12" ng-class="fontImageCardListController.familyImageContainerClass()">
      <li ng-repeat="image in fontImageCardListController.imageItemsData track by $index"
          ng-class="fontImageCardListController.layoutClass()">
        <adobe-fonts-family-image-card
                                      image-item="image['url_largest']"
                                      family-name="fontImageCardListController.familyName"
                                      item-size={{fontImageCardListController.imageItemsData.length}}
                                      is-visible-by-default="fontImageCardListController.isImageVisibleByDefault($index)"
                                      ng-class="fontImageCardListController.getImageClass(image)"
                                      display-view={{fontImageCardListController.displayView}}>
        </adobe-fonts-family-image-card>
      </li>
    </ul>
  </div>
</div>
</script><script id="/angular_templates/directives/family_card.html" type="text/ng-template"><li class="adobe-fonts-family-card"
    data-id="family-card"
    data-family-slug="{{familyCard.family.slug}}"
    data-library-elements="{{familyCard.getLibraryElements()}}">
  <div ng-class="familyCard.getCardContainerClass()">
  <a aria-label="View family {{familyCard.family.name}}"
     ng-href="/fonts/{{familyCard.family.slug}}"
     class="adobe-fonts-family-card--link"
     ng-click="familyCard.handleFamilyCardClick()"
     tabindex="0">
  </a>
  <div class="spectrum-grid-row">
    <div class="spectrum-grid-col-xs-12 spectrum-grid-start-xs">
      <div ng-if="familyCard.isCarouselVisible()" class="adobe-fonts-family-image-carousel">
        <adobe-fonts-carousel class="adobe-fonts-carousel-container adobe-fonts-family-card__carousel-padding"
                              layout="{{familyCard.viewType()}}"
                              item-size={{familyCard.getSlideLengthForGrid()}}
                              is-family-image-carousel="true">
          <div class="adobe-fonts-family-image-card-list">
            <ul class="slides js_slides spectrum-grid--fluid">
              <li ng-repeat="slide in familyCard.getSlidesForGrid() track by $index" class="adobe-fonts-family-image-card-view">
                <a href="/fonts/{{familyCard.family.slug}}"
                   ng-click="familyCard.handleFamilyCardClick()"
                   tabindex="-1"
                   aria-hidden="true">
                  <div ng-if="!familyCard.isTextSlide(slide)">
                    <adobe-fonts-family-image-card image-item="slide['url_largest']" item-size={{familyCard.getSlideLengthForGrid()}}
                      ng-class="familyCard.getImageClass(slide)"
                      family-name="familyCard.family.name"
                      display-view="grid"></adobe-fonts-family-image-card>
                  </div>
                  <div ng-if="familyCard.isTextSlide(slide)">
                    <div ng-class="familyCard.getTextDirectionClass()" class="adobe-fonts-family-card__sampletext-with-carousel-grid adobe-fonts-family-card__sampletext-with-carousel">
  <p class="spectrum-Heading--display"
      ng-style="familyCard.getExampleTextStyle()"
      display-in-font="familyCard.getDisplayFont()">
    {{familyCard.getExampleText()}}
  </p>
</div>

                  </div>
                </a>
              </li>
            </ul>
          </div>
        </adobe-fonts-carousel>
      </div>
      <div ng-if="!familyCard.isCarouselVisible()">
        <div ng-class="familyCard.getTextDirectionClass()" class="adobe-fonts-family-card__sampletext-with-carousel">
  <p class="spectrum-Heading--display"
      ng-style="familyCard.getExampleTextStyle()"
      display-in-font="familyCard.getDisplayFont()">
    {{familyCard.getExampleText()}}
  </p>
</div>

      </div>
    </div>
  </div>
  <div class="spectrum-grid-row">
    <div class="spectrum-grid-col-xs-12 spectrum-grid-start-xs" ng-class="familyCard.getCardInfoClass()">
      <div class="adobe-fonts-family-card__info">
        <div class="adobe-fonts-family-card__family-name-and-icons">
  <span class="adobe-fonts-family-card__family_name">{{familyCard.family.name}}</span>

    <div class="adobe-fonts-family-card__icons">
        <div class="adobe-fonts-family-card__variable-font-icon" ng-if="familyCard.hasVariableFonts()">
            <div class="variable-font-icon">
    <!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 18 18" style="enable-background:new 0 0 18 18;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#6E6E6E;}
	.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#6E6E6E;}
</style>
<g>
	<g id="I_C_O_N_S">
		<path class="st0" d="M3.9,6.9L2.7,9.5c0,0,0,0-0.1,0H1.9c0,0-0.1,0,0-0.1l3.4-7.4c0.1-0.2,0.1-0.3,0.1-0.5c0,0,0-0.1,0-0.1h1    c0,0,0,0,0.1,0.1l0.9,7.9c0,0.1,0,0.1,0,0.1H6.7c-0.1,0-0.1,0-0.1-0.1L6.3,6.9H3.9z M6.2,6.1C6,4.4,5.9,2.8,5.9,2.3h0    c-0.1,0.5-1,2.5-1.6,3.8H6.2z"></path>
		<path class="st0" d="M10.8,7.9l-0.5,1.5c0,0.1-0.1,0.1-0.2,0.1c0,0,0,0,0,0H8.4c-0.1,0-0.1-0.1-0.1-0.2l2.3-6.9    c0.1-0.3,0.1-0.6,0.1-0.9c0,0,0-0.1,0.1-0.1c0,0,0,0,0,0h2.4c0.1,0,0.1,0,0.1,0.1l2.7,7.8c0,0.1,0,0.1-0.1,0.1h-2    c-0.1,0-0.1,0-0.1-0.1l-0.5-1.5H10.8z M12.9,6.1c-0.2-0.8-0.6-1.9-0.8-2.8h0c-0.2,0.9-0.5,2-0.8,2.8H12.9z"></path>
	</g>
	<path class="st1" d="M16.9,13.7c0-0.1-0.1-0.2-0.2-0.2H8c-0.3-1.3-1.6-2.2-2.9-1.9c-1,0.2-1.7,1-1.9,1.9H1.3   c-0.1,0-0.2,0.1-0.2,0.2v0.5c0,0.1,0.1,0.2,0.2,0.2h1.8c0.3,1.3,1.6,2.2,2.9,1.9c1-0.2,1.7-1,1.9-1.9h8.7c0.1,0,0.2-0.1,0.2-0.2   V13.7z M5.5,15.5C4.7,15.5,4,14.8,4,14s0.7-1.5,1.5-1.5S7,13.2,7,14S6.4,15.5,5.5,15.5L5.5,15.5z"></path>
</g>
</svg>

  </div>

        </div>

        <div class="adobe-fonts-family-card__navigate-fdp-icon">
          <a class="spectrum-Link add-outline" aria-label="View family {{familyCard.family.name}}"
            ng-href="/fonts/{{familyCard.family.slug}}">
              <div class="navigate-fdp-icon">
  <svg xmlns="http://www.w3.org/2000/svg" id="Decorative_icon" data-name="Decorative icon" width="18" height="18" viewBox="0 0 18 18">
  <rect id="Placement_Area" data-name="Placement Area" width="18" height="18" fill="red" opacity="0"></rect>
  <g id="Icon">
    <rect id="Canvas" width="18" height="18" fill="#464646" opacity="0"></rect>
    <path id="Path_954697" data-name="Path 954697" d="M12,9a.994.994,0,0,1-.293.7l-3.991,3.99a1,1,0,1,1-1.436-1.386l.024-.024L9.59,9,6.3,5.715A1,1,0,0,1,7.691,4.28l.024.025,3.991,3.99A.994.994,0,0,1,12,9Z" fill="#464646"></path>
  </g>
</svg>

</div>

          </a>
        </div>
    </div>
</div>

<div ng-if="familyCard.hasUnsyncedFontpacks()" class="adobe-fonts-family-card__fontpack_info">
  <div class="adobe-fonts-family-card__fontpack_container"
       ng-repeat="fontpack in familyCard.family.unsynced_fontpacks">
    <a class="adobe-fonts-family-card__fontpack_name"
       ng-href="/collections/{{fontpack.slug}}">
      {{fontpack.name}}
    </a>
    <span class="adobe-fonts-family-card__bullet">•</span>
  </div>
  <a class="adobe-fonts-family-card__view_family"
     ng-href="/fonts/{{familyCard.family.slug}}">
    View Family
  </a>
</div>

<div ng-if="!familyCard.hasUnsyncedFontpacks()" class="adobe-fonts-family-card__foundry_info">
  <span class="adobe-fonts-family-card__foundry_name">
    {{familyCard.family.foundry.name}}
  </span>
  <span class="adobe-fonts-family-card__count_messages" ng-if="familyCard.getCountMessages().length > 0">
    <span>{{familyCard.getCountMessages()}}</span>
  </span>
</div>



      </div>
    </div>
  </div>

  <div class="spectrum-grid-row adobe-fonts-family-card__info-bottom">
    <div class="adobe-fonts-family-card__icons--container">
      <div class="adobe-fonts-family-card__icons">
        <af-favorite-button
  class="favorite-toggle-icon"
  aria-label="Save to Favorites"
  aria-pressed="{{familyCard.family.favorite}}"
  ng-click="familyCard.favoriteToggle($event)"
  ng-attr-selected="{{familyCard.family.favorite ? true : undefined}}"
></af-favorite-button>

          <af-save-library-icon
    class="library-icon"
  ></af-save-library-icon>

        
      </div>
    </div>

    <div class="sync-family-button-container" ng-show="familyCard.isUseModelQuickMultiSyncAvailable()" ng-cloak>
  <button aria-label="Add family {{familyCard.family.name}}"
          class="spectrum-Button spectrum-Button--primary add-family-button add-outline-button"
          ng-if="familyCard.isAddFamilyButtonAvailable()"
          ng-click="familyCard.useModelSyncFamily()">
  <span class="spectrum-Icon creative-cloud-icon">
    <svg xmlns="http://www.w3.org/2000/svg" id="icons" width="18" height="18" viewBox="0 -2 18 18">
  <path id="_256" data-name=" 256" class="currentColor" d="M16.147,4.111A6.654,6.654,0,0,0,11.246,2,6.839,6.839,0,0,0,6.405,4.022c-.219-.02-.438-.04-.647-.04A5.756,5.756,0,0,0,0,9.711a5.9,5.9,0,0,0,1.614,4A5.687,5.687,0,0,0,5.758,15.5h5.488a6.745,6.745,0,0,0,4.9-11.389ZM5.658,14.539A4.753,4.753,0,1,1,8.806,6.232l.02.02,1.982,2.022a.844.844,0,0,1-.02,1.2.854.854,0,0,1-1.2-.02l-1.963-2a3.054,3.054,0,0,0-4.293.317A2.992,2.992,0,0,0,2.59,9.741,3.133,3.133,0,0,0,5.7,12.814h.388v.01a9.327,9.327,0,0,0,2.122,1.715Zm9.772-1.715a5.706,5.706,0,0,1-4.084,1.744,5.952,5.952,0,0,1-4.1-1.784l-2.61-2.607a.852.852,0,0,1,.01-1.2A.856.856,0,0,1,5.847,9l2.6,2.587a4.2,4.2,0,0,0,2.9,1.288,3.936,3.936,0,0,0,2.869-1.239,4.179,4.179,0,0,0,1.2-2.924,4.085,4.085,0,0,0-4.084-4.063A3.707,3.707,0,0,0,9.065,5.3c-.01-.01-.2-.129-.409-.258-.129-.079-.269-.159-.388-.218S7.79,4.587,7.581,4.5c-.05-.02-.12-.05-.15-.06h.01a5.556,5.556,0,0,1,3.885-1.486A5.777,5.777,0,0,1,17.113,8.71,5.845,5.845,0,0,1,15.43,12.824Z"></path>
</svg>

  </span>
    <span class="spectrum-Button-label add-family-label">
    Add family
  </span>
  </button>

  <button aria-label="Remove family {{familyCard.family.name}}"
          class="spectrum-Button spectrum-Button--primary remove-family-button add-outline-button"
          ng-if="familyCard.isRemoveButtonAvailable()"
          ng-click="familyCard.useModelUnsyncFamily()">
  <span class="spectrum-Icon creative-cloud-icon">
    <svg xmlns="http://www.w3.org/2000/svg" id="icons" width="18" height="18" viewBox="0 -2 18 18">
  <path id="_256" data-name=" 256" class="currentColor" d="M16.147,4.111A6.654,6.654,0,0,0,11.246,2,6.839,6.839,0,0,0,6.405,4.022c-.219-.02-.438-.04-.647-.04A5.756,5.756,0,0,0,0,9.711a5.9,5.9,0,0,0,1.614,4A5.687,5.687,0,0,0,5.758,15.5h5.488a6.745,6.745,0,0,0,4.9-11.389ZM5.658,14.539A4.753,4.753,0,1,1,8.806,6.232l.02.02,1.982,2.022a.844.844,0,0,1-.02,1.2.854.854,0,0,1-1.2-.02l-1.963-2a3.054,3.054,0,0,0-4.293.317A2.992,2.992,0,0,0,2.59,9.741,3.133,3.133,0,0,0,5.7,12.814h.388v.01a9.327,9.327,0,0,0,2.122,1.715Zm9.772-1.715a5.706,5.706,0,0,1-4.084,1.744,5.952,5.952,0,0,1-4.1-1.784l-2.61-2.607a.852.852,0,0,1,.01-1.2A.856.856,0,0,1,5.847,9l2.6,2.587a4.2,4.2,0,0,0,2.9,1.288,3.936,3.936,0,0,0,2.869-1.239,4.179,4.179,0,0,0,1.2-2.924,4.085,4.085,0,0,0-4.084-4.063A3.707,3.707,0,0,0,9.065,5.3c-.01-.01-.2-.129-.409-.258-.129-.079-.269-.159-.388-.218S7.79,4.587,7.581,4.5c-.05-.02-.12-.05-.15-.06h.01a5.556,5.556,0,0,1,3.885-1.486A5.777,5.777,0,0,1,17.113,8.71,5.845,5.845,0,0,1,15.43,12.824Z"></path>
</svg>

  </span>
    <span class="spectrum-Button-label">
    Remove
  </span>
  </button>
</div>
<span class="upgrade-label"
      ng-show="!familyCard.isUseModelQuickMultiSyncAvailable()">
    Available with CC
</span>

  </div>
</div>

  <div class="adobe-fonts-family-card--wide-view spectrum-grid--fluid">
  <div class="spectrum-grid-row">
    <div class="adobe-fonts-family-card__info">
      <a aria-label="View family {{familyCard.family.name}}"
         href="/fonts/{{familyCard.family.slug}}"
         ng-click="familyCard.handleFamilyCardClick()">
        <div class="adobe-fonts-family-card__family-name-and-icons">
  <span class="adobe-fonts-family-card__family_name">{{familyCard.family.name}}</span>

</div>

<div ng-if="familyCard.hasUnsyncedFontpacks()" class="adobe-fonts-family-card__fontpack_info">
  <div class="adobe-fonts-family-card__fontpack_container"
       ng-repeat="fontpack in familyCard.family.unsynced_fontpacks">
    <a class="adobe-fonts-family-card__fontpack_name"
       ng-href="/collections/{{fontpack.slug}}">
      {{fontpack.name}}
    </a>
    <span class="adobe-fonts-family-card__bullet">•</span>
  </div>
  <a class="adobe-fonts-family-card__view_family"
     ng-href="/fonts/{{familyCard.family.slug}}">
    View Family
  </a>
</div>

<div ng-if="!familyCard.hasUnsyncedFontpacks()" class="adobe-fonts-family-card__foundry_info">
  <span class="adobe-fonts-family-card__foundry_name">
    {{familyCard.family.foundry.name}}
  </span>
  <span class="adobe-fonts-family-card__count_messages" ng-if="familyCard.getCountMessages().length > 0">
    <span>{{familyCard.getCountMessages()}}</span>
  </span>
</div>

  <div class="adobe-fonts-family-card__icons">
    <span><af-favorite-button
  class="favorite-toggle-icon"
  aria-label="Save to Favorites"
  aria-pressed="{{familyCard.family.favorite}}"
  ng-click="familyCard.favoriteToggle($event)"
  ng-attr-selected="{{familyCard.family.favorite ? true : undefined}}"
></af-favorite-button>
</span>
    <span>  <af-save-library-icon
    class="library-icon"
  ></af-save-library-icon>
</span>
    <span></span>
  </div>

  <div class="adobe-fonts-family-card__navigate-fdp-icon">
    <a class="spectrum-Link add-outline" aria-label="View family {{familyCard.family.name}}"
      ng-href="/fonts/{{familyCard.family.slug}}">
        View Family
    </a>
  </div>

      </a>
    </div>

    <div class="adobe-fonts-family-card__toggle-switch-section">
        <div class="adobe-fonts-family-card__variable-font-icon" ng-if="familyCard.hasVariableFonts()">
            <div class="variable-font-icon">
    <!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 18 18" style="enable-background:new 0 0 18 18;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#6E6E6E;}
	.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#6E6E6E;}
</style>
<g>
	<g id="I_C_O_N_S">
		<path class="st0" d="M3.9,6.9L2.7,9.5c0,0,0,0-0.1,0H1.9c0,0-0.1,0,0-0.1l3.4-7.4c0.1-0.2,0.1-0.3,0.1-0.5c0,0,0-0.1,0-0.1h1    c0,0,0,0,0.1,0.1l0.9,7.9c0,0.1,0,0.1,0,0.1H6.7c-0.1,0-0.1,0-0.1-0.1L6.3,6.9H3.9z M6.2,6.1C6,4.4,5.9,2.8,5.9,2.3h0    c-0.1,0.5-1,2.5-1.6,3.8H6.2z"></path>
		<path class="st0" d="M10.8,7.9l-0.5,1.5c0,0.1-0.1,0.1-0.2,0.1c0,0,0,0,0,0H8.4c-0.1,0-0.1-0.1-0.1-0.2l2.3-6.9    c0.1-0.3,0.1-0.6,0.1-0.9c0,0,0-0.1,0.1-0.1c0,0,0,0,0,0h2.4c0.1,0,0.1,0,0.1,0.1l2.7,7.8c0,0.1,0,0.1-0.1,0.1h-2    c-0.1,0-0.1,0-0.1-0.1l-0.5-1.5H10.8z M12.9,6.1c-0.2-0.8-0.6-1.9-0.8-2.8h0c-0.2,0.9-0.5,2-0.8,2.8H12.9z"></path>
	</g>
	<path class="st1" d="M16.9,13.7c0-0.1-0.1-0.2-0.2-0.2H8c-0.3-1.3-1.6-2.2-2.9-1.9c-1,0.2-1.7,1-1.9,1.9H1.3   c-0.1,0-0.2,0.1-0.2,0.2v0.5c0,0.1,0.1,0.2,0.2,0.2h1.8c0.3,1.3,1.6,2.2,2.9,1.9c1-0.2,1.7-1,1.9-1.9h8.7c0.1,0,0.2-0.1,0.2-0.2   V13.7z M5.5,15.5C4.7,15.5,4,14.8,4,14s0.7-1.5,1.5-1.5S7,13.2,7,14S6.4,15.5,5.5,15.5L5.5,15.5z"></path>
</g>
</svg>

  </div>

        </div>
        <div class="sync-family-button-container" ng-show="familyCard.isUseModelQuickMultiSyncAvailable()" ng-cloak>
  <button aria-label="Add family {{familyCard.family.name}}"
          class="spectrum-Button spectrum-Button--primary add-family-button add-outline-button"
          ng-if="familyCard.isAddFamilyButtonAvailable()"
          ng-click="familyCard.useModelSyncFamily()">
  <span class="spectrum-Icon creative-cloud-icon">
    <svg xmlns="http://www.w3.org/2000/svg" id="icons" width="18" height="18" viewBox="0 -2 18 18">
  <path id="_256" data-name=" 256" class="currentColor" d="M16.147,4.111A6.654,6.654,0,0,0,11.246,2,6.839,6.839,0,0,0,6.405,4.022c-.219-.02-.438-.04-.647-.04A5.756,5.756,0,0,0,0,9.711a5.9,5.9,0,0,0,1.614,4A5.687,5.687,0,0,0,5.758,15.5h5.488a6.745,6.745,0,0,0,4.9-11.389ZM5.658,14.539A4.753,4.753,0,1,1,8.806,6.232l.02.02,1.982,2.022a.844.844,0,0,1-.02,1.2.854.854,0,0,1-1.2-.02l-1.963-2a3.054,3.054,0,0,0-4.293.317A2.992,2.992,0,0,0,2.59,9.741,3.133,3.133,0,0,0,5.7,12.814h.388v.01a9.327,9.327,0,0,0,2.122,1.715Zm9.772-1.715a5.706,5.706,0,0,1-4.084,1.744,5.952,5.952,0,0,1-4.1-1.784l-2.61-2.607a.852.852,0,0,1,.01-1.2A.856.856,0,0,1,5.847,9l2.6,2.587a4.2,4.2,0,0,0,2.9,1.288,3.936,3.936,0,0,0,2.869-1.239,4.179,4.179,0,0,0,1.2-2.924,4.085,4.085,0,0,0-4.084-4.063A3.707,3.707,0,0,0,9.065,5.3c-.01-.01-.2-.129-.409-.258-.129-.079-.269-.159-.388-.218S7.79,4.587,7.581,4.5c-.05-.02-.12-.05-.15-.06h.01a5.556,5.556,0,0,1,3.885-1.486A5.777,5.777,0,0,1,17.113,8.71,5.845,5.845,0,0,1,15.43,12.824Z"></path>
</svg>

  </span>
    <span class="spectrum-Button-label add-family-label">
    Add family
  </span>
  </button>

  <button aria-label="Remove family {{familyCard.family.name}}"
          class="spectrum-Button spectrum-Button--primary remove-family-button add-outline-button"
          ng-if="familyCard.isRemoveButtonAvailable()"
          ng-click="familyCard.useModelUnsyncFamily()">
  <span class="spectrum-Icon creative-cloud-icon">
    <svg xmlns="http://www.w3.org/2000/svg" id="icons" width="18" height="18" viewBox="0 -2 18 18">
  <path id="_256" data-name=" 256" class="currentColor" d="M16.147,4.111A6.654,6.654,0,0,0,11.246,2,6.839,6.839,0,0,0,6.405,4.022c-.219-.02-.438-.04-.647-.04A5.756,5.756,0,0,0,0,9.711a5.9,5.9,0,0,0,1.614,4A5.687,5.687,0,0,0,5.758,15.5h5.488a6.745,6.745,0,0,0,4.9-11.389ZM5.658,14.539A4.753,4.753,0,1,1,8.806,6.232l.02.02,1.982,2.022a.844.844,0,0,1-.02,1.2.854.854,0,0,1-1.2-.02l-1.963-2a3.054,3.054,0,0,0-4.293.317A2.992,2.992,0,0,0,2.59,9.741,3.133,3.133,0,0,0,5.7,12.814h.388v.01a9.327,9.327,0,0,0,2.122,1.715Zm9.772-1.715a5.706,5.706,0,0,1-4.084,1.744,5.952,5.952,0,0,1-4.1-1.784l-2.61-2.607a.852.852,0,0,1,.01-1.2A.856.856,0,0,1,5.847,9l2.6,2.587a4.2,4.2,0,0,0,2.9,1.288,3.936,3.936,0,0,0,2.869-1.239,4.179,4.179,0,0,0,1.2-2.924,4.085,4.085,0,0,0-4.084-4.063A3.707,3.707,0,0,0,9.065,5.3c-.01-.01-.2-.129-.409-.258-.129-.079-.269-.159-.388-.218S7.79,4.587,7.581,4.5c-.05-.02-.12-.05-.15-.06h.01a5.556,5.556,0,0,1,3.885-1.486A5.777,5.777,0,0,1,17.113,8.71,5.845,5.845,0,0,1,15.43,12.824Z"></path>
</svg>

  </span>
    <span class="spectrum-Button-label">
    Remove
  </span>
  </button>
</div>
<span class="upgrade-label"
      ng-show="!familyCard.isUseModelQuickMultiSyncAvailable()">
    Available with CC
</span>

    </div>
  </div>

  <div class="spectrum-grid-row adobe-fonts-family-card__sampletext-row">
    <div class="adobe-fonts-family-card__sampletext"
         ng-class="familyCard.getSampleTextClass()">
      <a href="/fonts/{{familyCard.family.slug}}"
         ng-click="familyCard.handleFamilyCardClick()"
         tabindex="-1"
         aria-hidden="true">
        <span
          class="spectrum-Heading--display"
          ng-style="familyCard.getExampleTextStyle()"
          display-in-font="familyCard.getDisplayFont()">
          {{familyCard.getExampleText()}}
        </span>
      </a>
    </div>
  </div>
  <div class="spectrum-grid-row">
    <div class="spectrum-grid-col-md-12">
      <div class="adobe-fonts-family-card__specimen-images adobe-fonts-family-image-carousel" ng-if="familyCard.isCarouselVisible()">
        <adobe-fonts-carousel class="adobe-fonts-carousel-container adobe-fonts-family-card__carousel-padding"
                              layout="{{familyCard.viewType()}}"
                              item-size={{familyCard.family.specimen_images.length}}
                              is-family-image-carousel="true">
          <a href="/fonts/{{familyCard.family.slug}}"
             ng-click="familyCard.handleFamilyCardClick()"
             tabindex="-1"
             aria-hidden="true">
            <adobe-fonts-family-image-card-list image-items-data="familyCard.family.specimen_images_data"
                                                family-name="familyCard.family.name"
                                                display-view="list" ng-class="familyCard.getCarouselListClass()">
            </adobe-fonts-family-image-card-list>
          </a>
        </adobe-fonts-carousel>
      </div>
    </div>
  </div>
</div>

</li>
</script><script id="/angular_templates/directives/feedback_icons.html" type="text/ng-template"><span ng-class="['feedback-icons-root', feedbackIcons.isSimilarityAndPairingVariant() ? 'similarity-and-pairing' : '']">

  <span ng-class="feedbackIcons.getClass('positive', 'thumb-up-icon')"
        ng-click="feedbackIcons.handleClick($event, 'positive')"
        ng-if="feedbackIcons.areThumbsUpDownVisible()">
    <svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 18 18" width="18" style="fill: #6E6E6E">
  <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18"></rect><path class="a" d="M14.922,6.004l-3.275.005a10.73706,10.73706,0,0,0,.4-3.04A1.90165,1.90165,0,0,0,10.4605,1,1.6635,1.6635,0,0,0,8.82,2.582C8.5845,4.8595,6.1935,6.7135,4.936,7.2685A.495.495,0,0,0,4.5,7h-3a.5.5,0,0,0-.5.5v8a.5.5,0,0,0,.5.5h3a.5.5,0,0,0,.5-.5V15h7.222a2.318,2.318,0,0,0,2.063-1.2115L16.277,8.15a1.5,1.5,0,0,0-1.355-2.146Zm.4525,1.712L13.366,13.394a.921.921,0,0,1-.871.616L5,14V8.3c1.4335-.5765,4.575-2.7625,4.82-5.7a.687.687,0,0,1,.6405-.6c.305,0,.5605.371.5865.969A7.52457,7.52457,0,0,1,10.174,7h4.75a.5.5,0,0,1,.4505.716Z"></path>
</svg>

  </span>
  <span ng-class="feedbackIcons.getClass('negative', 'thumb-down-icon')"
        ng-click="feedbackIcons.handleClick($event, 'negative')"
        ng-if="feedbackIcons.areThumbsUpDownVisible()">
    <svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 18 18" width="18" style="fill: #6E6E6E">
  <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18"></rect><path class="a" d="M16.277,9.85,14.285,4.212A2.318,2.318,0,0,0,12.222,3H5a.5.5,0,0,0-.5-.5h-3A.5.5,0,0,0,1,3v8a.5.5,0,0,0,.5.5h3A.5.5,0,0,0,5,11v-.238c1.2725.587,3.5885,2.415,3.82,4.656A1.6635,1.6635,0,0,0,10.4605,17a1.9023,1.9023,0,0,0,1.5865-1.9685,10.73831,10.73831,0,0,0-.4-3.0405l3.275.005A1.5,1.5,0,0,0,16.277,9.85ZM14.9235,11h-4.75a7.52559,7.52559,0,0,1,.873,4.0315c-.026.6-.2815.966-.5865.9685a.687.687,0,0,1-.6405-.6c-.245-2.9365-3.3865-5.1225-4.82-5.7V4l7.4955-.01a.921.921,0,0,1,.871.616l2.0085,5.678a.5.5,0,0,1-.451.716Z"></path>
</svg>

  </span>

  <span ng-class="feedbackIcons.getClass(feedbackIcons.initSelectedFeedback(), 'flag-result-icon')"
        ng-click="feedbackIcons.handleClick($event, feedbackIcons.toggleSelectedFeedback())"
        ng-if="feedbackIcons.isCancelButtonVisible()">
    <svg xmlns="http://www.w3.org/2000/svg" height="18" viewBox="0 0 18 18" width="18" style="fill: #6E6E6E">
  <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18"></rect><path class="a" d="M9,1a8,8,0,1,0,8,8A8,8,0,0,0,9,1Zm6,8a5.97146,5.97146,0,0,1-1.1095,3.4765l-8.367-8.367A6,6,0,0,1,15,9ZM3,9A5.97248,5.97248,0,0,1,4.1095,5.5235l8.367,8.3675A6,6,0,0,1,3,9Z"></path>
</svg>

  </span>

  <span ng-class="['spectrum-Tooltip feedback-icons-tooltip', feedbackIcons.getTooltipClass()]"
        ng-if="feedbackIcons.familySlug() || feedbackIcons.isCancelButtonVisible()">
    <span class="spectrum-Tooltip-label">
      {{feedbackIcons.tooltipText()}}
    </span>
    <span class="spectrum-Tooltip-tip"></span>
  </span>
</span>
</script><script id="/angular_templates/directives/spectrum/dropdown.html" type="text/ng-template"><div class="spectrum-Dropdown"
     ng-model="spectrumDropdown.selectedValue"
     ng-change="spectrumDropdown.handleChange()"
     dropdown-base>
  <button dropdown-base-button
          aria-label="Dropdown"
          aria-haspopup="true"
          class="spectrum-FieldButton spectrum-Dropdown-trigger add-outline"
          data-id="{{ spectrumDropdown.triggerButtonDataId }}">
    <span class="spectrum-Dropdown-label">
      {{ spectrumDropdown.getLabel() }}
    </span>

    <svg class="spectrum-Icon spectrum-UIIcon-ChevronDownMedium spectrum-Dropdown-icon" focusable="false" aria-hidden="true">
      <use xlink:href="#spectrum-css-icon-ChevronDownMedium"></use>
    </svg>
  </button>

  <div dropdown-base-content class="spectrum-Popover spectrum-Popover--bottom adobe-fonts-select-menu__popover">
    <div class="spectrum-Menu adobe-fonts-select-menu__menu-items" role="listbox">
      <button dropdown-base-item
              class="spectrum-Menu-item add-outline-light-background remove-border"
              ng-if="spectrumDropdown.prioritizedItem"
              role="option"
              value="spectrumDropdown.prioritizedItem.value">
        <span class="spectrum-Menu-itemLabel">
          {{ spectrumDropdown.prioritizedItem.label }}
        </span>
      </button>
      <div ng-if="spectrumDropdown.prioritizedItem" class="spectrum-Menu-divider" role="separator"></div>
      <button dropdown-base-item
              class="spectrum-Menu-item add-outline-light-background remove-border"
              ng-repeat="item in spectrumDropdown.menuItems()"
              role="option"
              value="item.value">
        <span class="spectrum-Menu-itemLabel">
          {{ item.label }}
        </span>
      </button>
    </div>
  </div>
</div>
</script>

            <script id="/neue/release_flag_bit_indices" type="text/ng-data">
              {"Typekit_ccx_templates_first":19}
            </script>

            <div class="adobe-fonts__svg-sprites">
  <svg xmlns="http://www.w3.org/2000/svg"><symbol id="spectrum-css-icon-AlertMedium" viewBox="0 0 18 18"><path d="M8.564 1.289L.2 16.256A.5.5 0 0 0 .636 17h16.728a.5.5 0 0 0 .5-.5.494.494 0 0 0-.064-.244L9.436 1.289a.5.5 0 0 0-.872 0zM10 14.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25zm0-3a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-6a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25z"></path></symbol><symbol id="spectrum-css-icon-CheckmarkMedium" viewBox="0 0 12 12"><path d="M4.5 10a1.023 1.023 0 0 1-.8-.384l-2.488-3a1 1 0 0 1 1.577-1.233L4.5 7.376l4.712-5.991a1 1 0 1 1 1.576 1.23l-5.511 7A.977.977 0 0 1 4.5 10z"></path></symbol><symbol id="spectrum-css-icon-CheckmarkSmall" viewBox="0 0 10 10"><path d="M3.788 9A1 1 0 0 1 3 8.615l-2.288-3a1 1 0 1 1 1.576-1.23l1.5 1.991 3.924-4.991a1 1 0 1 1 1.576 1.23l-4.712 6A1 1 0 0 1 3.788 9z"></path></symbol><symbol id="spectrum-css-icon-ChevronDownMedium" viewBox="0 0 10 6"><path d="M9.99 1.01A1 1 0 0 0 8.283.3L5 3.586 1.717.3A1 1 0 1 0 .3 1.717L4.293 5.7a1 1 0 0 0 1.414 0L9.7 1.717a1 1 0 0 0 .29-.707z"></path></symbol><symbol id="spectrum-css-icon-ChevronLeftMedium" viewBox="0 0 6 10"><path d="M5.7 8.283L2.414 5 5.7 1.717A1 1 0 1 0 4.283.3L.3 4.293a1 1 0 0 0 0 1.414L4.283 9.7A1 1 0 1 0 5.7 8.283z"></path></symbol><symbol id="spectrum-css-icon-ChevronRightMedium" viewBox="0 0 6 10"><path d="M5.99 5a1 1 0 0 0-.29-.707L1.717.3A1 1 0 1 0 .3 1.717L3.586 5 .3 8.283A1 1 0 1 0 1.717 9.7L5.7 5.707A1 1 0 0 0 5.99 5z"></path></symbol><symbol id="spectrum-css-icon-ChevronRightSmall" viewBox="0 0 6 8"><path d="M5.5 4a.749.749 0 0 0-.22-.531C4.7 2.863 3.242 1.5 2.041.23A.75.75 0 1 0 .98 1.291L3.689 4 .98 6.709A.75.75 0 1 0 2.041 7.77L5.28 4.531A.749.749 0 0 0 5.5 4z"></path></symbol><symbol id="spectrum-css-icon-CrossMedium" viewBox="0 0 8 8"><path d="M7.77 6.709L5.061 4 7.77 1.291A.75.75 0 1 0 6.709.23L4 2.939 1.291.23A.75.75 0 1 0 .23 1.291L2.939 4 .23 6.709A.75.75 0 1 0 1.291 7.77L4 5.061 6.709 7.77A.75.75 0 1 0 7.77 6.709z"></path></symbol><symbol id="spectrum-css-icon-CrossSmall" viewBox="0 0 8 8"><path d="M7.317 6.433L4.884 4l2.433-2.433a.625.625 0 0 0-.884-.884L4 3.116 1.567.683a.625.625 0 0 0-.884.884L3.116 4 .683 6.433a.625.625 0 0 0 .884.884L4 4.884l2.433 2.433a.625.625 0 0 0 .884-.884z"></path></symbol><symbol id="spectrum-css-icon-DashSmall" viewBox="0 0 10 10"><path d="M8 4H2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z"></path></symbol><symbol id="spectrum-css-icon-Magnifier" viewBox="0 0 16 16"><path d="M15.77 14.709l-4.534-4.534a6.013 6.013 0 1 0-1.061 1.061l4.534 4.534a.75.75 0 1 0 1.061-1.061zM6.5 11A4.5 4.5 0 1 1 11 6.5 4.505 4.505 0 0 1 6.5 11z"></path></symbol><symbol id="spectrum-icon-18-Alert" viewBox="0 0 36 36"><path d="M17.127 2.579L.4 32.512A1 1 0 0 0 1.272 34h33.456a1 1 0 0 0 .873-1.488L18.873 2.579a1 1 0 0 0-1.746 0zM20 29.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5zm0-6a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-12a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5z"></path></symbol><symbol id="spectrum-icon-18-Browse" viewBox="0 0 36 36"><path d="M35.087 20.17S29.206 7.832 28.442 5.813c-.729-1.926-1.669-3.729-3.729-3.729-2.31 0-3.511 1.674-3.729 3.729-.063.59-.2 2.474-.361 4.23h-5.249c-.2-2.131-.349-4.134-.358-4.23-.181-2.093-1.016-3.73-3.729-3.73-2.06 0-2.91 1.84-3.729 3.729C6.9 7.322.764 20.447.764 20.447h.014a8.2 8.2 0 1 0 15.73 3.263c0-.252-.015-1.466-.038-1.712h3.058c-.022.246-.038 1.461-.038 1.712a8.2 8.2 0 1 0 15.6-3.542zM8.3 29.082a5.37 5.37 0 1 1 5.37-5.37 5.37 5.37 0 0 1-5.37 5.37zm19.392 0a5.37 5.37 0 1 1 5.37-5.37 5.37 5.37 0 0 1-5.362 5.37z"></path></symbol><symbol id="spectrum-icon-18-Camera" viewBox="0 0 36 36"><circle cx="18" cy="18" r="6"></circle><path d="M33 8h-6.05L23.6 4.326A1 1 0 0 0 22.859 4h-9.718a1 1 0 0 0-.739.326L9.05 8H3a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h30a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1zM18 26.2a8.2 8.2 0 1 1 8.2-8.2 8.2 8.2 0 0 1-8.2 8.2z"></path></symbol><symbol id="spectrum-icon-18-Checkmark" viewBox="0 0 36 36"><path d="M31.312 7.725l-1.455-1.133a1 1 0 0 0-1.4.175L14.822 24.283l-6.647-6.612a1 1 0 0 0-1.414 0L5.436 19a1 1 0 0 0 0 1.415l8.926 8.9a1 1 0 0 0 1.5-.093L31.487 9.128a1 1 0 0 0-.175-1.403z"></path></symbol><symbol id="spectrum-icon-18-CloseCircle" viewBox="0 0 36 36"><path d="M27.314 6.686a16 16 0 1 0 0 22.627 16 16 0 0 0 0-22.627zm-2.687 18.527l-1.414 1.414a1.2 1.2 0 0 1-1.7 0L16 21.111l-5.516 5.516a1.2 1.2 0 0 1-1.7 0l-1.409-1.415a1.2 1.2 0 0 1 0-1.7L12.889 18l-5.514-5.516a1.2 1.2 0 0 1 0-1.7l1.414-1.411a1.2 1.2 0 0 1 1.7 0L16 14.888l5.516-5.515a1.2 1.2 0 0 1 1.7 0l1.414 1.414a1.2 1.2 0 0 1 0 1.7L19.112 18l5.516 5.516a1.2 1.2 0 0 1 0 1.7z"></path></symbol><symbol id="spectrum-icon-18-Code" viewBox="0 0 36 36"><path d="M35.493 19.061l-7.859 7.984a1.46 1.46 0 0 1-2.088 0l-.208-.211a1.522 1.522 0 0 1 0-2.121L31.943 18l-6.605-6.712a1.522 1.522 0 0 1 0-2.121l.208-.211a1.46 1.46 0 0 1 2.088 0l7.859 7.984a1.517 1.517 0 0 1 0 2.121zM.507 16.939l7.86-7.984a1.46 1.46 0 0 1 2.088 0l.208.211a1.522 1.522 0 0 1 0 2.121L4.057 18l6.605 6.712a1.522 1.522 0 0 1 0 2.121l-.208.211a1.46 1.46 0 0 1-2.088 0L.507 19.061a1.517 1.517 0 0 1 0-2.122zM16.3 29.519c-.034.135-.1.169-.236.169h-2.8c-.169 0-.2-.067-.169-.2l6.639-24.7c.034-.135.067-.135.2-.135h2.831c.135 0 .169.034.135.169z"></path></symbol><symbol id="spectrum-icon-18-Copy" viewBox="0 0 36 36"><path d="M32 22h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2h-2zm-4 0h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm0 4h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2zm4 0h2v2h-2z"></path><path d="M10 12H3a1 1 0 0 0-1 1v20a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1v-7H10z"></path></symbol><symbol id="spectrum-icon-18-Delete" viewBox="0 0 36 36"><path d="M31.5 4H24V2a2 2 0 0 0-2-2H12a2 2 0 0 0-2 2v2H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h2l2.413 25.1a1 1 0 0 0 1 .9h18.179a1 1 0 0 0 1-.9L29.5 8h2a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5zM12 2h10v2H12zm-.458 26.944l-1 .06a.5.5 0 0 1-.529-.469L8.87 11.49a.5.5 0 0 1 .469-.529l1-.06a.5.5 0 0 1 .529.469l1.145 17.045a.5.5 0 0 1-.471.529zM18 28.48a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V11.4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5zm5.985.056a.5.5 0 0 1-.529.469l-1-.06a.5.5 0 0 1-.469-.529l1.147-17.046a.5.5 0 0 1 .529-.469l1 .06a.5.5 0 0 1 .469.529z"></path></symbol><symbol id="spectrum-icon-18-Info" viewBox="0 0 36 36"><path d="M18 2a16 16 0 1 0 16 16A16 16 0 0 0 18 2zm-.3 4.3a2.718 2.718 0 0 1 2.864 2.824 2.665 2.665 0 0 1-2.864 2.863 2.706 2.706 0 0 1-2.864-2.864A2.717 2.717 0 0 1 17.7 6.3zM22 27a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h1v-6h-1a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v9h1a1 1 0 0 1 1 1z"></path></symbol><symbol id="spectrum-icon-24-ClassicGridView" viewBox="0 0 48 48"><rect height="18" rx="2" ry="2" width="18" x="4" y="4"></rect><rect height="18" rx="2" ry="2" width="18" x="26" y="4"></rect><rect height="18" rx="2" ry="2" width="18" x="4" y="26"></rect><rect height="18" rx="2" ry="2" width="18" x="26" y="26"></rect></symbol><symbol id="spectrum-icon-24-Code" viewBox="0 0 48 48"><path d="M47.323 25.414L36.845 36.059a1.947 1.947 0 0 1-2.784 0l-.278-.282a2.029 2.029 0 0 1 0-2.828L42.59 24l-8.807-8.949a2.029 2.029 0 0 1 0-2.828l.278-.282a1.947 1.947 0 0 1 2.784 0l10.478 10.644a2.023 2.023 0 0 1 0 2.829zM.677 22.585L11.155 11.94a1.947 1.947 0 0 1 2.784 0l.278.282a2.029 2.029 0 0 1 0 2.828L5.41 24l8.807 8.949a2.029 2.029 0 0 1 0 2.828l-.278.282a1.947 1.947 0 0 1-2.784 0L.677 25.414a2.023 2.023 0 0 1 0-2.829zM21.73 39.359c-.045.18-.135.225-.315.225h-3.73c-.225 0-.27-.09-.225-.27l8.854-32.939c.045-.18.09-.18.27-.18h3.775c.18 0 .225.045.18.225z"></path></symbol><symbol id="spectrum-icon-24-GlobeOutline" viewBox="0 0 48 48"><path d="M24 3.05A21.137 21.137 0 0 0 3.05 24 21.137 21.137 0 0 0 24 44.95 21.137 21.137 0 0 0 44.95 24 21.137 21.137 0 0 0 24 3.05zm16.9 24.567a17.092 17.092 0 0 1-.819 2.639c-.081.2-.137.418-.225.617a17.273 17.273 0 0 1-1.5 2.771c-.042.063-.1.116-.14.178a17.356 17.356 0 0 1-1.892 2.294c-.114.118-.246.219-.363.334a17.346 17.346 0 0 1-2.272 1.875l-.032.021a17.2 17.2 0 0 1-9.21 2.9c6.08-4.582 5.337-7.269 8.783-11.1 1.153-1.537-3.458-1.921-7.3-3.458-4.994-2.305-3.073 1.537-6.915-2.689-2.305-2.689-3.073-6.531 3.842-3.458.768.768 1.153-2.689 2.689-4.61.768-.768.768-1.537 1.153-2.689a2.528 2.528 0 0 0-4.994.384c0 .768-2.689-4.61-.768-4.61a13.646 13.646 0 0 1-3.842-.768c.36-.185.737-.329 1.11-.482A17.052 17.052 0 0 1 23.8 6.717c.067 0 .132-.008.2-.006.384-.384-2.305 2.689-1.537 2.689s5.379 1.153 4.995 1.537c1.319-2.308-.477-3.759-2.469-4.126a17.1 17.1 0 0 1 7.668 2.305c.418.255.864.459 1.258.753.147.1.27.233.413.34a15.818 15.818 0 0 1 2.35 2.264c-.768.384-.768 1.537-.384 2.305.765.765.773.766 2.288.008.245.386.442.8.656 1.209-.23.09-.32.32-.639.32a6.171 6.171 0 0 0-1.921 4.226c0 6.147 1.537 3.842 3.458 4.61a1.4 1.4 0 0 0 1 .369 17.585 17.585 0 0 1-.179 1.78c-.023.106-.038.213-.057.317zM17.78 40.089A18.6 18.6 0 0 1 6.711 24a17.154 17.154 0 0 1 .273-2.825c.061-.361.111-.724.194-1.078a17.026 17.026 0 0 1 .656-2.147c.183-.486.391-.962.616-1.429.159-.331.34-.647.519-.966a17.421 17.421 0 0 1 1.38-2.1c.233-.3.471-.6.723-.884.325-.371.651-.742 1.009-1.086a17.318 17.318 0 0 1 1.545-1.285c.359 3.435-2.685 5.358-1.537 9.186 1.537 4.994 3.458 2.689 5.763 6.147 2.665 3.807 6.819 10.251 4.652 15.6a17.193 17.193 0 0 1-4.724-1.044z"></path></symbol><symbol id="spectrum-icon-24-InfoOutline" viewBox="0 0 48 48"><path d="M24 7.9A16.1 16.1 0 1 1 7.9 24 16.118 16.118 0 0 1 24 7.9zm0-3.8A19.9 19.9 0 1 0 43.9 24 19.9 19.9 0 0 0 24 4.1z"></path><path d="M21.56 14.747a2.24 2.24 0 0 1 4.48 0 2.084 2.084 0 0 1-2.24 2.24 2.116 2.116 0 0 1-2.24-2.24zM27.5 32H26V21a1 1 0 0 0-1-1h-4.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5H22v10h-1.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z"></path></symbol><symbol id="spectrum-icon-24-ShowMenu" viewBox="0 0 48 48"><rect class="fill-2" height="6" rx="1" ry="1" width="32" x="8" y="20"></rect><rect class="fill-2" height="6" rx="1" ry="1" width="32" x="8" y="8"></rect><rect class="fill-2" height="6" rx="1" ry="1" width="32" x="8" y="32"></rect></symbol><symbol id="spectrum-icon-24-ViewList" viewBox="0 0 48 48"><rect height="10" rx="2" ry="2" width="10" x="4" y="6"></rect><rect height="10" rx="2" ry="2" width="10" x="4" y="20"></rect><rect height="10" rx="2" ry="2" width="10" x="4" y="34"></rect><rect height="6" rx="1" ry="1" width="24" x="18" y="8"></rect><rect height="6" rx="1" ry="1" width="24" x="18" y="22"></rect><rect height="6" rx="1" ry="1" width="24" x="18" y="36"></rect></symbol></svg>

</div>


            <div id="feedback-button-wrapper">
              <af-feedback-button class="af-focus-trappable"></af-feedback-button>
            </div>

            

              <af-susi-light
    js="https://auth-light.identity.adobe.com/sentry/wrapper.js"
    client_id="TypeKit2"
    locale="en_US"
    login_url="https://fonts.adobe.com/redirect/susi?url=https%3A%2F%2Ffonts.adobe.com%2F"
    scope="creative_cloud,openid,AdobeID,gnav,additional_info.roles,read_organizations,pps.read,account_cluster.read"
    env="prod"
    dctx_id="v:2,dcp-r,bg:fonts2025,7c246b70-2183-11f1-84e6-77cc4059fe4c"
    top-app-bar="true"
  >
  </af-susi-light>
  <dialog id="sentry-dialog">
    <div class="af-susi-light-container">
      <img src="https://afwebcdn.fonts.adobe.com/assets/shared/susi_light_modal_bg-473d3c6cdeae361b92d3959910e64637ef680335bf1fade7b5987b9cf74f9d88.webp" alt="" class="af-susi-light-container__background">
      <div class="af-susi-light-leftside-container">
        <div class="af-susi-light-leftside__header">
          <adobe-fonts-logo></adobe-fonts-logo>
          <h2>Adobe Fonts</h2>
        </div>
        <div class="af-susi-light-leftside__body">
          <h3>Get started with more than 5,000 fonts for free</h3>
          <ul>
            <li>Instantly use fonts in apps or on a website </li>
            <li>Create &amp; share your own custom collections </li>
            <li>Licensed for personal and commercial use</li>
          </ul>
        </div>
      </div>
      <div class="af-susi-light-rightside-container">
        <div class="af-susi-light-rightside__header">
          <sp-action-button id="af-susi-light-dialog__close-button" quiet label="Close">
            <sp-icon-cross100 slot="icon"></sp-icon-cross100>
          </sp-action-button>
        </div>
        <h2>Sign in or create an account</h2>
        <div class="af-susi-light-rightside__sentry-light-container">
        </div>
      </div>
    </div>
  </dialog>

          </div>
        </div>
      </af-new-relic-link-click-tracking>
    </sp-theme>
  </body>
</html>
