Category: News

  • Wawa 🤝 Phanatic | Inquirer Greater Media

    Wawa 🤝 Phanatic | Inquirer Greater Media

    Hi, Greater Media! 👋

    A new Phanatic-themed smoothie is the latest element of a Wawa-Phillies partnership. Here’s what it (unexpectedly) tastes like. Also this week, Wallingford residents helped lay to rest fellow veterans, a Strath Haven alum and former standout lacrosse player returned to Delco, plus, a wine tasting room marks its one-year anniversary in Media.

    Have a question about town? Submit it to Curious Greater Media and one of our reporters might track down the answer.

    If someone forwarded you this email, sign up for free here.

    Wawa stakes more home turf claim with a new Phillies-inspired smoothie

    The new Phanatic-inspired smoothie is made with vanilla ice cream, caramel sauce, whipped cream, salted caramel syrup, and sea salt pretzel pieces.Jessica Griffin / Staff Photographer

    It’s a big week for Wawa and Wawa fans as the locally rooted convenience chain rolls out a new element of its partnership with the Philadelphia Phillies — a sweet treat that “tastes like the tears of our rivals,” Inquirer columnist Stephanie Farr says.

    On Monday, the beloved store introduced the limited-edition Phanatic Caramel Curveball Cream Smoothie, a vanilla ice cream-based drink that’s “sweet, salty, and delicious,” according to Farr.

    As part of the rollout, mascot Wally Goose will throw the first pitch at tomorrow’s Phillies game.

    The new sip, in a limited-edition cup featuring the Phanatic’s eyes and the tip of his snout, comes just a couple of months after Wawa became the team’s official hoagie sponsor and has begun upping its presence at Citizens Bank Park.

    Here’s what to know about the new smoothie and the brands’ growing partnership.

    🎥 See Farr’s video from the unveiling earlier this week.

    💡 Community News

    • Fifteen local individuals with no known next of kin were laid to rest Friday after Delaware County officials helped identify them as military veterans. Among the volunteers were Wallingford residents and veterans LuAnn Jahnke and retired Army Col. Jeffery Jahnke.
    • The Philadelphia Union’s Subaru Park hosted the Women’s Lacrosse League inaugural championship last weekend and there were plenty of athletes and coaches with local ties, including Strath Haven High School alum and Philly Lacrosse’s 2009 Girls’ Player of the Year Emily Parros (formerly Emily Garrity). She may now be coaching the Maryland Charms, but she’s still a “Delco girl.”
    • The Delaware County District Attorney’s office is working to extradite Michelle Zajko, a member of extremist group the Zizians, from Maryland to prosecute her in the deaths of her parents, according to the Daily Times. In June, the DA charged Zajko with the 2022 execution-style deaths of her parents in their Chester Heights home after a yearslong investigation.
    • Swarthmore has launched its fall tree sale and borough residents can purchase one to be planted along their public curbs.

    🏫 Schools Briefing

    • Rose Tree Media School District has been awarded over $2.5 million from the state to realign Rose Tree Road as part of its proposed K-1 Early Learning Center. The road alignment alone is expected to cost north of $3.3 million, according to the district.
    • Penncrest High School recently made updates to its track, which, along with the stadium, will be closed through Tuesday. The track will again close next Saturday and Sunday.

    🍽️ On our Plate

    John Robert Cellars produces red, white, sweet, and semi-sweet wines. Courtesy of John Robert Cellars

    🎳 Things to Do

    ❄️ The Winter’s Tale: See the William Shakespeare comedy performed live. ⏰ Select days from Friday, Aug. 21-Sunday, Aug. 30, times vary 💵 $13.50-$18.50 📍 Players Club of Swarthmore

    📚 Philadelphia Book Crawl: Two local bookstores — Celia Bookshop in Swarthmore and Bookish Notions in Media — are participating in the region-wide event. ⏰ Saturday, Aug. 22, times vary 💵 Pay as you go 📍 Locations vary

    🎶 Tribute to Queen and The Beatles: Hear covers of some of both bands’ most iconic songs. ⏰ Saturday, Aug. 22, 8:45 p.m. 💵 $43.20-$84.24 📍 Media Theatre

    🗓️ Swarthmore Showcase: The annual event welcomes newcomers, including Swarthmore College students and their families, to the borough, which will turn into an open-air market. ⏰ Tuesday, Aug. 25, 10 a.m.-2 p.m. 💵 Pay as you go 📍 Swarthmore town center

    📈 Greater Media market report

    Media

    • Median listing price: $699,900 (down $7,600 from June) 📉
    • Median sold price: $620,000 (down $25,000 from June) 📉
    • Median days on the market: 27 (same as June)

    Swarthmore

    • Median listing price: $375,000 (down $160,000 from June) 📉
    • Median sold price: $365,000 (down $75,000 from June) 📉
    • Median days on the market: 42 (up 15 days from June) 📈

    Wallingford

    • Median listing price: $525,000 (down $57,500 from June) 📉
    • Median sold price: $366,500 (down $26,000 from June) 📉
    • Median days on the market: 25 (down two days from June) 📉

    This Greater Media market report is published on a monthly basis. Above is data for July from realtor.com.

    🗞️ What other Greater Media residents are reading this week:

    By submitting your written, visual, and/or audio contributions, you agree to The Inquirer’s Terms of Use, including the grant of rights in Section 10.

    This suburban content is produced with support from the Leslie Miller and Richard Worley Foundation and The Lenfest Institute for Journalism. Editorial content is created independently of the project donors. Gifts to support The Inquirer’s high-impact journalism can be made at inquirer.com/donate. A list of Lenfest Institute donors can be found at lenfestinstitute.org/supporters.

  • These are the Philly area’s 25 best athletes under 25, from high school phenoms to household names

    These are the Philly area’s 25 best athletes under 25, from high school phenoms to household names

    html,body{margin:0}.inno :where(*:not(svg,svg *,.inno-no-reset,.inno-no-reset *),use){all:revert;margin:0;padding:0;border:0;list-style:none}@font-face{font-family:”innoInquirerHeadline”;font-weight:100;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:100;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:300;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-LightWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-LightWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:300;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-LightItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-LightItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:normal;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:normal;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:500;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:500;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:600;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:600;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:700;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:700;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:900;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerHeadline”;font-weight:900;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerText”;font-weight:normal;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerText”;font-weight:normal;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerText”;font-weight:bold;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldWEB.woff”) format(“woff”)}@font-face{font-family:”innoInquirerText”;font-weight:bold;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”innoGrot10″;font-weight:normal;src:url(“https://media.inquirer.com/fonts/Grot10-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”innoGrot10″;font-weight:500;src:url(“https://media.inquirer.com/fonts/Grot10-MediumWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-MediumWEB.woff”) format(“woff”)}@font-face{font-family:”innoGrot10″;font-weight:bold;src:url(“https://media.inquirer.com/fonts/Grot10-ExtraboldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-ExtraboldWEB.woff”) format(“woff”)}@font-face{font-family:”innoGrot12″;font-weight:normal;src:url(“https://media.inquirer.com/fonts/Grot12Condensed-LightWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot12Condensed-LightWEB.woff”) format(“woff”)}@font-face{font-family:”innoGrot12″;font-weight:bold;src:url(“https://media.inquirer.com/fonts/Grot12Condensed-SemiboldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot12Condensed-SemiboldWEB.woff”) format(“woff”)}body.is-scroll-locked{overflow:hidden;height:100%}.inno{–color-background: #dbdebc;–color-background-secondary: #f4f1eb;–color-accent: #428cdf;–color-over-accent: #ffffff;–color-text-primary: #222222;–color-text-link: #428cdf;–color-text-secondary: #595760;–color-text-tertiary: #808284;–color-text-accent: #428cdf;–color-faint: #ff8c14;–color-mask: rgba(34, 34, 34, 0.8);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:”innoGrot10″,sans-serif;background:var(–color-background);color:var(–color-text-primary);padding-block-end:64px;overflow:clip;font-size:14px;line-height:1}.inno-mode–dark{–color-background: #222222;–color-background-secondary: #595760;–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-primary: #ffffff;–color-text-secondary: #dcdcdc;–color-text-tertiary: #808284;–color-text-link: #428cdf;–color-faint: #595760;–color-mask: rgba(255, 255, 255, 0.8)}.inno–lite.inno-color–purple{–color-accent: #7b2589;–color-over-accent: #ffffff;–color-text-accent: #7b2589}.inno–lite.inno-color–pink{–color-accent: #cd0785;–color-over-accent: #ffffff;–color-text-accent: #cd0785}.inno–lite.inno-color–red{–color-accent: #e11b22;–color-over-accent: #ffffff;–color-text-accent: #e11b22}.inno–lite.inno-color–orange{–color-accent: #ff8c14;–color-over-accent: #222222;–color-text-accent: #ff8c14}.inno–lite.inno-color–yellow{–color-accent: #ffd964;–color-over-accent: #222222;–color-text-accent: #ffd964}.inno–lite.inno-color–green{–color-accent: #d2c000;–color-over-accent: #222222;–color-text-accent: #d2c000}.inno–lite.inno-color–teal{–color-accent: #00a69e;–color-over-accent: #ffffff;–color-text-accent: #00a69e}.inno–lite.inno-color–light-gray{–color-accent: #dcdcdc;–color-over-accent: #222222;–color-text-accent: #dcdcdc}.inno–lite.inno-color–light-blue{–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-accent: #8dd7f7}.inno–lite.inno-color–blue{–color-accent: #428cdf;–color-over-accent: #ffffff;–color-text-accent: #428cdf}.inno–lite.inno-color–black{–color-accent: #222222;–color-over-accent: #ffffff;–color-text-accent: #222222}.inno–lite.inno-color–white{–color-accent: #ffffff;–color-over-accent: #222222;–color-text-accent: #ffffff}.inno–lite.inno-color–white,.inno–lite.inno-color–black{–color-accent: #428cdf;–color-over-accent: #ffffff;–color-text-accent: #222222}.inno–lite.inno-color–white.inno-mode–dark,.inno–lite.inno-color–black.inno-mode–dark{–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-accent: #ffffff}.inno–widget,.inno–embed{overflow:hidden;padding-block-end:0}.inno–widget .inno-layout–content>*,.inno–embed .inno-layout–content>*{max-width:none}.inno-anchorable:before{content:””;display:block;height:calc(var(–nav-height, 0) + 10px);margin:calc(0px – (var(–nav-height, 0) + 10px)) 0 0}.inno-spanner{background-color:#dcdcdc;box-shadow:4px 0 0 #dcdcdc,-4px 0 0 #dcdcdc;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:#222}.inno-spanner–error,.inno-spanner–error-invalid-symbol{background-color:#fff;border:3px dashed #e11b22;box-shadow:none;padding-left:4px;padding-right:4px}body:has(.inno-chrome–chromeless){overflow:hidden;width:100vw;height:100vh}@supports(width: 100dvw){body:has(.inno-chrome–chromeless){width:100dvw}}@supports(height: 100dvh){body:has(.inno-chrome–chromeless){height:100dvh}}body:has(.inno-chrome–chromeless) .global-app-bar,body:has(.inno-chrome–chromeless) .footer,body:has(.inno-chrome–chromeless) .footer-wrapper{display:none}body:has(.inno-chrome–chromeless) #inq-article-completion{height:0px}.inno{–gutter: calc(50vw – 325px)}.inno *{box-sizing:border-box}.inno-layout–content>*{max-width:min(650px,100vw – 32px);margin-inline:auto}.inno-layout–align-full{max-width:100%}.inno-layout–align-wide{max-width:min(1250px,100vw – 32px);margin-inline:auto}.inno-layout–align-default{max-width:min(650px,100vw – 32px);margin-inline:auto}@media(min-width: 768px){.inno-layout–align-left{float:left;margin-inline-start:var(–gutter);margin-inline-end:24px;width:301px;margin-block-end:16px;padding-top:6px}}@media(min-width: 960px){.inno-layout–align-left{margin-inline-start:calc(var(–gutter) – clamp(0px,var(–gutter) – 100px,160px))}}@media(min-width: 768px){.inno-layout–align-right{float:right;width:301px;margin-inline-start:24px;margin-inline-end:var(–gutter);margin-block-end:16px;padding-top:5px}}@media(min-width: 960px){.inno-layout–align-right{margin-inline-end:calc(var(–gutter) – clamp(0px,var(–gutter) – 100px,160px))}}.inno-layout–stack>*+*{margin-block-start:24px}.inno-layout–stack-tight>*+*{margin-block-start:10px}.inno-layout–stack-loose>*+*{margin-block-start:30px}*+.inno-layout–isolate{margin-block-start:48px}.inno-layout–isolate+*{margin-block-start:48px}.inno-adbox{max-height:400px;transition:max-height .4s ease-in-out,padding .4s ease-in-out,margin .4s ease-in-out;overflow:hidden}.inno-adbox.is-hidden{max-height:0;margin:0;padding:0}.inno-adbox__label{display:block;margin:0 auto 8px;text-align:center;font-size:12px;color:#808284;text-transform:uppercase}.inno-ad__ad{margin-inline:auto;background-color:#f4f1eb;display:flex;align-items:center;justify-content:center;overflow:hidden;width:300px;height:250px}@media(min-width: 768px)and (max-width: 1022px){.inno-ad__ad{width:728px;height:90px}}@media(min-width: 1023px){.inno-ad__ad{height:auto;width:fit-content;min-width:728px;min-height:90px;max-width:970px;max-height:250px}}.inno-ad__ad–small{width:300px;height:250px;min-height:auto;min-width:auto}.inno-ad__ad iframe{position:unset !important}.inno-ad__ad .cnx-content-wrapper{position:relative !important}.inno-ad__ad .celtra-ad-inline-host,.inno-ad__ad .celtra-ad-inline-host *{position:relative !important;overflow:hidden !important}.inno-ad__placeholder{text-align:center;text-transform:uppercase;font-weight:bold;font-size:16px;color:#222}@media(min-width: 1200px){.inno-ad__placeholder{padding:120px 0}}.inno-body__error{color:var(–color-text-primary);padding:24px;border:3px dashed #e11b22;font-family:monospace;white-space:pre-wrap;font-size:16px}.inno-body__error-head{display:block;font-weight:bold}.inno-button{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;box-sizing:border-box;text-decoration:none;border-radius:4px;cursor:pointer;pointer-events:auto;transition:background-color .4s ease-in-out,border-color .4s ease-in-out,color .4s ease-in-out;background-color:var(–color-accent);color:var(–color-over-accent)}.inno-button:focus{outline:solid 4px var(–color-text-tertiary)}.inno-button:disabled{pointer-events:none}.inno-button–primary:hover{background-color:var(–color-text-primary);color:var(–color-background)}.inno-button–primary:disabled{background-color:var(–color-text-secondary);color:var(–color-text-tertiary);pointer-events:none}.inno-button–secondary{background-color:var(–color-background);color:var(–color-text-primary);border:solid 1px var(–color-accent)}.inno-button–secondary:hover{background-color:var(–color-accent);color:var(–color-over-accent);border:solid 1px var(–color-accent)}.inno-button–secondary:disabled{border-color:var(–color-text-tertiary);color:var(–color-text-tertiary)}.inno-button–minimal{background-color:rgba(0,0,0,0);color:var(–color-text-primary);padding:8px}.inno-button–minimal:hover{background-color:var(–color-accent);color:var(–color-over-accent)}.inno-button–minimal:disabled{background-color:var(–color-text-secondary);color:var(–color-text-tertiary);pointer-events:none}.inno-button–large{padding:16px 40px}.inno-button–medium{padding:10px 24px}.inno-button–small{padding:8px 16px}.inno-button–round{border-radius:99px}.inno-button–round.inno-button–small{padding:8px}.inno-button–round.inno-button–medium{padding:10px}.inno-button–round.inno-button–large{padding:16px}.inno-button__label{font-family:”innoGrot10″,sans-serif;font-weight:700;line-height:1.2em;flex-grow:0;z-index:1}.inno-button–large .inno-button__label{font-size:20px}.inno-button–medium .inno-button__label{font-size:18px}.inno-button–small .inno-button__label{font-size:16px}.inno-button–has-image .inno-button__label{text-align:center}.inno-button__image{margin:0 auto;object-fit:contain}.inno-byline{border-block:1px solid #222;padding-block:16px;font-family:”innoGrot10″,sans-serif;font-size:14px;line-height:1.5}.inno-byline–center{border-block:none;padding-block:0}@media(min-width: 768px){.inno-byline{font-size:16px}}.inno-byline__content{display:flex;justify-content:space-between;align-items:center;gap:12px}.inno-byline–center .inno-byline__content{flex-direction:column;text-align:center}.inno-byline__text{flex:1 1 auto}.inno-byline .inno-gift{flex:0 0 auto}.inno-byline__timestamp-date{color:var(–color-text-primary)}.inno-byline__timestamp-label{color:var(–color-text-secondary)}.inno-byline__authors{color:var(–color-text-primary, #222222);line-height:1.5em;text-wrap-style:balance}.inno-byline__author{display:inline}.inno-byline__author-link,.inno-byline__authors a{color:var(–color-text-primary, #222222);text-decoration:none;transition:color .4s ease-in-out}.inno-byline__author-link:hover,.inno-byline__authors a:hover{color:var(–color-text-link, #428cdf)}.inno-callout__content{background-color:var(–color-background-secondary);padding:20px 15px}.inno-callout:has(.inno-callout__cta) .inno-callout__content{padding-bottom:50px}.inno-callout__tag{font-family:”innoGrot10″,sans-serif;font-size:16px;color:var(–color-text-primary)}@media(min-width: 768px){.inno-callout__tag{font-size:18px}}.inno-callout__title{font-family:”innoGrot12″,sans-serif;font-size:32px;font-weight:bold;text-transform:uppercase;color:var(–color-text-primary);text-wrap:balance}*+.inno-callout__title{margin-block-start:5px}.inno-callout__body{font-family:”innoGrot10″,sans-serif;font-size:16px;color:var(–color-text-primary);line-height:1.65em}@media(min-width: 768px){.inno-callout__body{font-size:18px}}*+.inno-callout__body{margin-block-start:10px}.inno-callout__body .inno-p{font-family:inherit;font-size:inherit;color:inherit;line-height:inherit}.inno-callout__cta{display:flex;width:calc(100% – 30px);margin:-30px 15px 0 15px}.inno-callout__cta .inno-button{box-shadow:0 1px 4px rgba(89,87,96,.1),0 3px 6px rgba(89,87,96,.1);padding:20px 20px}.inno-callout__form-policy{font-size:15.2px;margin-top:20px;color:#808284;line-height:1.65}.inno-callout__form-policy a{color:#808284;transition:color .3s ease-in-out}.inno-callout__form-policy a:hover{color:var(–color-text-primary)}.inno-caption{color:var(–color-text-secondary);font-family:”innoGrot10″,sans-serif;font-size:14px;line-height:1.5}.inno-caption a{color:inherit;box-shadow:inset 0 -1px 0 0 var(–color-text-secondary);transition:color .25s ease,box-shadow .25s ease;text-decoration:none}.inno-caption a:hover{color:var(–color-text-link);box-shadow:inset 0 -1px 0 0 var(–color-text-link)}.inno-caption__caption-text{display:block;text-wrap:pretty}.inno-caption__credit{color:var(–color-text-tertiary);display:block}.inno-card{position:relative;background-color:#fff;border:1.5px solid #ff8c14;padding:20px}.inno-card .inno-image-img{padding:0px}.inno-card__detail{display:block;color:#ff8c14;font-size:24px;font-family:”innoGrot12″,sans-serif;font-weight:600;text-align:center}.inno-card__title{display:block;color:var(–color-text-primary);font-family:”innoInquirerHeadline”,”Times New Roman”,serif;font-size:40px;font-weight:700;line-height:1.2;scroll-margin-top:calc(var(–sticky-height) + 16px + 48px);text-wrap:pretty;margin-top:6px;text-align:center}@media(min-width: 768px){.inno-card__title{font-size:40px}}.inno-card__body{overflow:hidden;transition:max-height .4s ease-in-out}*+.inno-card__body{margin-block-start:14px}.inno-card.is-collapsed .inno-card__body{max-height:350px}.inno-card__body .inno-caption{margin-left:0}.inno-card__show-more{position:absolute;bottom:20px;left:0;right:0;padding:12px 0;background-image:linear-gradient(rgba(255, 255, 255, 0), white);pointer-events:none;opacity:0;transition:opacity .4s ease-in-out}.inno-mode–dark .inno-card__show-more{background-image:linear-gradient(rgba(34, 34, 34, 0), #222222)}.inno-card.is-collapsed .inno-card__show-more{opacity:1;pointer-events:all}.inno-card__show-more-button{margin:0 auto;transform:translateY(50%)}.inno-credits{font-family:”innoGrot10″,sans-serif}.inno-credits__header{color:var(–color-text-primary);font-size:16px;font-family:”innoGrot10″,sans-serif;font-weight:normal;line-height:1.2;border-bottom:1px solid var(–color-faint);padding-bottom:4px;margin-bottom:8px}.inno-credits__roles{display:grid;gap:8px;color:var(–color-text-secondary);font-size:14px;line-height:1.5;text-align:pretty}@media(min-width: 768px){.inno-credits__roles{grid-template-columns:50% 50%}}.inno-gift{display:none}.inno-gift–default{justify-content:center}.inno-gift–default.is-available{display:flex}.inno-gift–default .inno-button{font-size:24px;padding:8px;min-width:200px;margin:0px auto}.inno-gift–minimal.is-available{display:inline-block}.inno-gift–minimal .inno-button{display:flex;align-items:center;font-size:16px;line-height:16px}.inno-gift–minimal .inno-button__label{font-size:14px;font-weight:normal;color:currentColor;display:none}@media(min-width: 600px){.inno-gift–minimal .inno-button__label{display:inline-block}}.inno-gift–minimal .inno-icon{display:inline-block}.inno-gift.is-available{display:block}.is-app .inno-gift{display:none}.inno-gift .inno-icon–loading{animation:spin 1s linear forwards infinite}.inno-gift .inno-icon{display:none}.inno-gift [data-state=ready] .inno-icon–gift{display:initial}.inno-gift [data-state=loading] .inno-icon–loading{display:initial}.inno-gift [data-state=complete] .inno-icon–tickmark{display:initial}.inno-gift [data-state=error] .inno-icon–cross{display:initial}.inno-gift-toast-receiver{display:none}@keyframes spin{0%{rotate:0deg}100%{rotate:360deg}}.inno-graphic__iframe,.inno-graphic__datawrapper{width:100%}.inno-hero{margin-block-start:0;position:relative}.inno-hero–layout-above{display:flex;flex-direction:column-reverse}.inno-hero–layout-above .inno-hero__content{padding:24px 0}.inno-hero–layout-above .inno-hero__media{max-width:80%;margin:0 auto;padding-top:24px}.inno-hero–layout-above .inno-hero__media>*{max-width:350px}.inno-hero–layout-above .inno-hero__media .inno-caption-text{display:none}.inno-color–white .inno-hero,.inno-mode–light .inno-hero–style-transparent{–color-accent: rgb(222, 239, 245);–color-over-accent: #222222}.inno-color–black .inno-hero,.inno-mode–dark .inno-hero–style-transparent{–color-accent: #222222;–color-over-accent: #ffffff}.inno-hero–style-transparent .inno-hero__content{background:rgba(0,0,0,0)}.inno-hero__content{text-align:center;position:absolute;background:var(–color-accent);color:var(–color-over-accent);top:0;bottom:0;left:0;right:0;z-index:10;color:#222;display:flex;margin:auto;flex-direction:column;justify-content:center;background:none;max-width:none}@media(min-width: 960px){.inno-hero__content{padding-block:32px}}.inno-hero__eyebrow{font-family:”innoGrot12″,sans-serif;font-weight:bold;text-transform:uppercase;font-size:16px;font-weight:bold;padding:5px 8px;background:var(–color-over-accent);color:var(–color-accent);width:max-content;text-decoration:none;line-height:2}@media(min-width: 768px){.inno-hero__eyebrow{font-size:18px}}.inno-hero__headline{font-family:”innoInquirerHeadline”,”Times New Roman”,serif;font-size:72px;font-weight:800;line-height:1;text-wrap:balance}@media(min-width: 768px){.inno-hero__headline{font-size:52px}}.inno-hero__subheadline{font-family:”innoInquirerHeadline”,”Times New Roman”,serif;font-size:36px;font-weight:700;line-height:1;text-wrap:balance;text-align:center;padding-top:30px;padding-bottom:30px;max-width:min(650px,100vw – 32px);margin:0 auto}@media(min-width: 768px){.inno-hero__subheadline{font-size:40px}}.inno-hero__media{position:relative;z-index:2;margin-top:0px}@media(width < 768px){.inno-hero__media .inno-image{height:calc(100vh – 122px);max-width:100%}.inno-hero__media .inno-image img{height:100%;width:auto;overflow-x:hidden}}@media(min-width: 960px){.inno-hero__media{font-size:72px}}.inno-hero__background-img{display:flex;align-items:center;justify-content:center;max-width:70%}@media(min-width: 768px){.inno-hero__background-img{max-width:40%}}.inno-hover{position:relative;cursor:pointer;border:1px var(–color-accent) solid;padding:3px 4px;transition:border .4s ease-in-out;box-sizing:border-box}@media(min-width: 768px){.inno-hover{cursor:help}}.inno-hover:hover{border:1px var(–color-accent) solid}.inno-hover__box{position:fixed;bottom:0;left:0;right:0;z-index:20;background-color:var(–color-background);pointer-events:none;transform:translateY(100%);transition:transform .4s ease-in-out;padding:16px;border-top:1px solid var(–color-accent);white-space:normal;font-family:"Grot 10",sans-serif;font-size:14px;line-height:1.5}@media(min-width: 768px){.inno-hover__box{position:absolute;top:100%;width:200px;left:-1px;right:0;bottom:auto;margin:auto;max-width:250px;padding:6px;opacity:0;transition:opacity .4s ease-in-out;transform:none;border:1px solid var(–color-accent)}}.inno-hover.is-visible .inno-hover__box{opacity:1;transform:translateY(0)}.inno-icon{display:inline-block;width:1.2em;height:1.2em;fill:currentColor}.inno-icon–white{fill:#fff}.inno-icon–black{fill:#222}.inno-icon–accent{fill:var(–color-accent)}.inno-icon–over-accent{fill:var(–color-over-accent)}.inno-icon__stroke{fill:rgba(0,0,0,0);stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.inno-icon–white .inno-icon__stroke{stroke:#fff}.inno-icon–black .inno-icon__stroke{stroke:#222}.inno-icon–accent .inno-icon__stroke{stroke:var(–color-accent)}.inno-icon–over-accent .inno-icon__stroke{stroke:var(–color-over-accent)}.inno-image__img{width:100%;display:block;padding:0px}.inno-list{list-style:none}.inno-list__item{position:relative;padding-left:20px}.inno-list__item:before{content:"";position:absolute;top:.7em;left:.1em;width:10px;height:10px;border-radius:8px;background-color:#808284}@media(min-width: 768px){.inno-list__item:before{top:.75em}}.inno-looping-video__video{width:100%}.inno-p{-webkit-font-smoothing:subpixel-antialiased;-mox-osx-font-smoothing:grayscale;color:#222;color:var(–color-text-primary);font-family:"innoInquirerText","Times New Roman",serif;font-size:18px;line-height:1.666666;white-space:pre-line;text-wrap:pretty}@media(min-width: 600px){.inno-p{font-size:20px;line-height:1.6}}.inno-p–has-dropcap:first-letter{margin-top:1px;margin-right:12px;margin-bottom:0;margin-left:0;font-family:"innoInquirerHeadline","Times New Roman",serif;font-size:3.2em;float:left;font-weight:bold;line-height:1;color:#222}@-moz-document url-prefix(){.inno-p–has-dropcap:first-letter{margin-top:10px;margin-bottom:0px}}@media(min-width: 600px){.inno-p–has-dropcap:first-letter{font-size:5.3em;margin-top:-3px;margin-bottom:-10px}@-moz-document url-prefix(){.inno-p–has-dropcap:first-letter{margin-top:12px;margin-bottom:0px}}}.inno-p a{transition:box-shadow .25s ease;color:var(–color-text-link);text-decoration:none}.inno-p a:hover{box-shadow:inset 0 -1px 0 0 var(–color-text-link)}.inno-p__endmark{display:inline-block;height:1.1em;width:1.1em;margin-left:5px;vertical-align:text-bottom;margin-bottom:2px;fill:var(–color-text-accent)}.inno-premium{padding:19px 26px 22px 8px;color:var(–color-text-primary);font-family:"innoGrot10",sans-serif;font-size:18px;line-height:1;font-weight:normal;background-color:var(–color-background-secondary)}.inno-premium .inno-icon{fill:#ffd964;width:24px;margin-right:7px}.inno-premium__header{display:flex}.inno-premium__hed{font-weight:bold;line-height:22px;font-size:16px;color:var(–color-text-primary);padding:3px 0 4px;font-family:"innoGrot10",sans-serif;text-wrap:pretty}.inno-mode–dark .inno-premium__hed{color:#fff}.inno-premium__message{font-weight:500;line-height:22px;font-size:16px;color:var(–color-text-secondary);font-family:"innoGrot10",sans-serif;margin-left:32px;text-wrap:pretty}.inno-related{position:relative;display:block;z-index:2;padding:12px;max-width:min(650px,100vw – 32px);background-color:#fff;text-decoration:none;color:var(–color-text-primary);transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;font-family:"innoGrot10",sans-serif;box-sizing:border-box;border-top:1px solid var(–color-faint)}.inno-related:hover{transform:translateY(-4px)}.inno-related:hover .inno-related__headline{color:var(–color-accent)}.inno-related .inno-image{margin:-12px -12px 12px -12px}.inno-related__eyebrow{font-size:16px;line-height:1;font-weight:bold;font-family:"innoGrot12",sans-serif;text-transform:uppercase;color:#ff8c14}.inno-related__headline{font-family:"innoInquirerHeadline","Times New Roman",serif;line-height:1.2;font-size:24px;font-weight:600;transition:color .3s ease-in-out;text-wrap:pretty}.inno-related__description{font-size:16px;line-height:1.4;color:var(–color-text-tertiary);text-wrap:pretty}.inno-subscribe{display:none;position:relative}.inno-subscribe.is-unsubscribed{display:block}.inno-subscribe.is-preview{display:block}.inno-subscribe.is-dev{display:block}.inno-subscribe.is-dev::before{content:"Non-subscribers only";display:block;position:absolute;left:-20px;border:1px dashed red;font-size:8px;text-transform:uppercase;padding:5px;font-weight:bold;writing-mode:vertical-lr}.inno-video{width:auto}.inno-video__video{width:100%}.inno-toast{position:fixed;bottom:16px;left:0;right:0;width:max-content;margin:0px auto;z-index:120;display:flex;align-content:center;justify-content:center;text-align:center;font-size:20px;border-radius:5px;background-color:var(–color-text-primary);color:var(–color-background);padding:24px 48px;box-shadow:0 1px 4px rgba(89,87,96,.1),0 3px 6px rgba(89,87,96,.1);translate:0% calc(100% + 18px);transition:translate .4s;opacity:0}.inno-toast b,.inno-toast strong{font-weight:normal}.inno-toast.is-active{translate:0 0;opacity:1}

    Illustration of the 25 under 25 top athletes in Philly
    Vivi John / For The Inquirer

    These are the Philly area’s best athletes under 25 years old.

    The Philadelphia area's sports scene is on the rise — and we're not talking about the addition of LeBron James to the city's professional ranks.

    The region's professional sports franchises are only part of the picture. There also are athletes enrolled in the area's many colleges and universities, a wealth of talent at the high school and amateur levels, and others who dominate individual sports like boxing or figure skating. We decided it was about time to spotlight some of the best.

    Welcome to The Inquirer's first 25 Under 25 list, highlighting the region's best athletes under the age of 25.

    story continues after advertisement

    The criteria is simple. To qualify for our list, an athlete must:

    • Be under 25 as of July 1, 2026, and

    • Currently reside in or train in the Philadelphia area (the city, collar counties, or South Jersey) and/or play for one of the area's colleges or professional teams (including their minor league affiliates).

    That second rule means that high school students from the Class of 2026 are ineligible, since many have already arrived on their respective college campuses across the country. A few of them can be found on our list of the best players from here, which includes Philly athletes playing elsewhere. However, there is one exception this year, which we'll explain when we get there.

    With those qualifications in mind, we went searching for the best of the best. And after much debate among our sports editors, we came away with 25 athletes who truly show the region's depth of talent at every level across a variety of sports. Here they are, presented in alphabetical order.

    Jasmine Bascoe

    Age: 20

    Illustration of Jasmine Bascoe

    Jasmine Bascoe was an all-conference selection for Villanova as a freshman in 2024-25 after leading the Wildcats with 16.2 points and 4.3 assists per game in 34 games.

    Bascoe, who’s from the Toronto area, followed a stellar freshman season with an even better sophomore campaign, again leading the team in points (18.9) and assists (4.8) per game. She was the Big East’s leading scorer last season, beating UConn stars Sarah Strong and Azzi Fudd. Bascoe led Denise Dillon’s Wildcats back to the 2026 NCAA Tournament after a two-season drought, and the Wildcats retained Bascoe for a third season. If Bascoe takes another step forward, Villanova could be a team to watch in March.

    “Denise, she trusts me, and I have all my trust in her, so I’ll do whatever she needs me to do,” Bascoe said ahead of her sophomore season. “I love it in Philly — nowhere else I’d rather be.”

    Justin Crawford

    Age: 22

    Illustration of Justin Crawford

    Justin Crawford, one of the Phillies’ top five prospects entering the year, made his big league debut on opening day and has appeared in all but 10 games so far this season. Heading into play Wednesday, Crawford is slashing .270/.316/.361 as a rookie, and, after an early adjustment period at the plate, has hit .305 since June 1. The center fielder's defense also has steadily improved.

    As for his struggles against left-handed pitching, which relegated him to a platoon role earlier in the season, Crawford hopes to pick the brain of new teammate Luis Arraez, a three-time batting champ and two-time Silver Slugger. And like Crawford, Arraez is a lefty who hits for average. Since Arraez’s arrival earlier this month, Crawford has been even better, slashing .342/.381/.500.

    story continues after advertisement

    Reese D’Ariano

    Age: 17

    Illustration of Reese D'Ariano

    The youngest member of the current United States field hockey team, Reese D’Ariano has plenty of international experience at just 17 years old. Before the field hockey World Cup in Belgium, D’Ariano won two gold medals with USA field hockey, including at the 2024 Indoor Pan American Cup in Calgary, Canada, where she was named tournament MVP. D’Ariano, who is a rising senior at Pennsylvania Leadership Charter School and committed to the University of North Carolina, is one of the top prospects in her class.

    Before she began training with WC Eagles, her field hockey club, D’Ariano would train at a multipurpose field with her mother while her brother had swim practice. “Obviously, the progression was slow if you saw it day to day,” D’Ariano said. “But as the weeks and months went on, it was a pretty drastic change in how I progressed.”

    Riley Davis

    Age: 16

    Illustration of Riley Davis

    Entering her senior year at Academy of Notre Dame de Namur, Riley Davis is the top-ranked lacrosse player in the Class of 2027, according to Inside Lacrosse. The five-star recruit and Penn State commit is a two-way midfielder for the Irish and also plays on the school’s varsity basketball team.

    Riley’s father, Ben, played seven years in the MLB as a catcher. Her mother, Megan, was a two-sport athlete at Rutgers. Her brother, Tague, set Louisville’s freshman home run record (18) last year and led the nation in home runs (34) as a sophomore. Her older sister, Finley, is entering her freshman year at Furman, where she will play lacrosse after playing with Riley at Notre Dame.

    Despite all that competition, Riley is considered the most athletic in a family of high-level athletes. “Riley is the best athlete in the family,” Ben told The Inquirer in April.

    Cooper DeJean

    Age: 23

    Illustration of Cooper DeJean

    Securing your first career pick-six in the Super Bowl on your birthday is the kind of story dreams are made of. But that’s Cooper DeJean’s real life. DeJean, however, is much more than just that moment. He earned first-team All-Pro honors as the league’s best slot cornerback in 2025. He’s also one heck of a basketball player.

    Now, he is taking on a new role as a safety in Vic Fangio’s base defense. He’ll still see the majority of his snaps in the slot, but his growing positional versatility is a testament to his skill as he becomes one of the Eagles’ most important players.

    “Playing nickel in this defense is kind of like playing safety in a lot of ways,” DeJean said. “A lot of the techniques are pretty similar.”

    Audrey Derivaux

    Age: 17

    Illustration of Audrey Derivaux

    A four-time world junior swimming champion, Haddonfield’s Audrey Derivaux was the No. 1 recruit in the Class of 2027. But Derivaux recently reclassified to the Class of 2026 to start her collegiate swimming journey at Texas a year earlier than expected. Derivaux shared the news on her social media with an Instagram post captioned, “See you in August, Austin! Can’t wait to rep the Longhorns next season!”

    (Editor’s note: Derivaux reclassified to 2026 after our list was complete.)

    Derivaux, who turned 17 earlier this month, in 2024 was the youngest swimmer to reach the finals of an Olympic trial since 2012 when she was 14 years old. She competed in the women's 400 individual medley, but fell short of earning a spot in Paris. In July, she competed in the USA Swimming national championship, finished with the second-best time in the 100-meter butterfly, and won a trio of under-18 events (the women’s 100- and 200-meter butterfly and the women’s 400-meter individual medley).

    story continues after advertisement

    Natalie Dove

    Age: 24

    Illustration of Natalie Dove

    Since her professional debut in 2023, Natalie Dove is undefeated in nine fights — with two knockouts and five unanimous decisions. Dove, a super flyweight, remained undefeated in her most recent bout, an eight-round slugfest against Maria Micheo Santizo in April that ended with a split decision.

    “No Love” Dove initially was exposed to the sport as a self-defense method and started sparring in Philadelphia at 14. She fought in amateur tournaments and trained as a hopeful for the 2020 Olympics before turning pro. Since May 2025, Dove has fought for Jake Paul’s Most Valuable Promotions. She credits her toughness in the ring to her upbringing in Philly gyms and learning to hold her own “in a gym full of grown men that … talk [trash] the entire time.”

    “I really don’t care what anyone says,” Dove said last year. “If anything, I’m probably the biggest bully in the gym. I think it just made me tougher and it made boxing fun for me.”

    VJ Edgecombe

    Age: 21

    Illustration of VJ Edgecombe

    By the end of his first professional game, VJ Edgecombe already had flashed his star potential. The No. 3 overall pick in last year’s draft finished third in NBA Rookie of the Year voting and is set to start alongside Jaylen Brown, Tyrese Maxey, Joel Embiid, and LeBron James. But don’t let him slip under the radar behind those huge names.

    Edgecombe averaged 16 points per game last season and performed even better in the critical stretch in which Maxey, Embiid, and Paul George were sidelined. Brown, whose Celtics were eliminated in seven games by the Sixers, praised Edgecombe as a difference-maker in that first-round series. His teammates agree.

    “He’s the guy,” Embiid said after the Sixers’ season ended. “I’m telling you guys, that guy is something different, and this was only Year 1. Year 2 is going to be better.”

    Tyson Foerster

    Age: 24

    Illustration of Tyson Foerster

    Before an upper-body injury sidelined Tyson Foerster for 49 games, the winger was on pace for career-best numbers with 13 goals in 29 games thanks to a shot head coach Rick Tocchet called “really elite.” The Flyers signed Foerster to an eight-year extension this offseason, so, barring a trade, the winger will be in Philadelphia for years to come. He couldn’t be happier.

    “For me, I love Philadelphia, and I love playing with these guys,” he said. “They asked me if I would look to extend this year, and it was a no-brainer for me. I mean, I don’t play hockey for the money, so it’s all fun, and just happy to be here, hopefully, for the next nine years.”

    Colton Hiller

    Age: 16

    Illustration of Colton Hiller

    Colton Hiller, the No. 2 player in the Class of 2028, is a 6-foot-7 small forward for Coatesville. In his sophomore season, he averaged 25 points, six rebounds, three assists, and 1.8 steals. Ahead of his junior year, Hiller is uncommitted but holds offers from more than 15 schools, including Villanova and Penn State. Last summer, he was part of the gold-medal winning Team USA at the FIBA U16 AmeriCup, where he averaged 13 points in six games.

    In his two seasons with the Red Raiders, the five-star recruit has already surpassed 1,000 career points. He plays travel basketball in the Nike Elite Youth Basketball League, representing the 17-and-under PSA Cardinals, based in New York.

    “Someone like Colton makes Coatesville better, makes his league better, and makes the whole area better,” Father Judge coach Chris Roantree said.

    Maxwell Hiller

    Age: 17

    Illustration of Maxwell Hiller

    Maxwell Hiller — yes, he’s Colton’s older brother — also is a five-star recruit, but not in basketball. The Coatesville offensive lineman is entering his senior year and is the top-ranked interior O-lineman in the nation and No. 2 player overall for the Class of 2027, according to 247Sports. With more than 40 college offers, Hiller received his first college offer in eighth grade from Penn State. In April, the 6-foot-5 lineman committed to Florida.

    “I don’t even watch the play, I just watch [Max],” Colton said of his brother. “I definitely like when he gets people on the ground, just pancakes, and that’s probably my favorite part.”

    Max also played basketball, using it as a way to stay in shape, and even received an offer to play college hoops at La Salle.

    Salman Khalil

    Age: 21

    Illustration of Salman Khalil

    Cairo-born Salman Khalil has been a standout in squash for Penn since he joined the Quakers in 2023. He was the Ivy League’s Rookie of the Year in 2023-24 and was the conference’s Player of the Year as a sophomore. Khalil, a rising senior, has been a standout for Penn as it has claimed its first two Potter Cups as the collegiate squash national champion in his first two seasons.

    As a sophomore, Khalil became the first Quaker to claim the individual national championship (Pool Trophy) and the Potter Cup in the same season — and he did it while fasting for Ramadan. In addition to his career at Penn, Khalil is No. 52 in the squash world rankings. He holds a 42-16 record in noncollegiate events.

    Makai Lemon

    Age: 22

    Illustration of Makai Lemon

    Makai Lemon, the Eagles’ first-round pick in 2026, hasn’t played a snap in the NFL yet. But with A.J. Brown gone, the rookie has big shoes to fill and a big opportunity in front of him. At Southern Cal, he averaged 14.6 yards per catch and racked up 1,156 receiving yards in 12 games in his final season. Lemon is known for his elite ball skills, despite being just 5-foot-11, on the smaller side for a receiver. He suffered an injury that sidelined him during minicamp and has been dealing with a hamstring injury during training camp. But when it’s time for him to take the field, Eagles fans will be “getting a dawg,” Lemon told the crowd on draft night.

    “You drafted the guy that’s going to match the city’s intensity when it comes to pro football,” said Ray Fenton, Lemon’s former coach at Los Alamitos High School, located outside Los Angeles.

    story continues after advertisement

    Isabeau Levito

    Age: 19

    Illustration of Isabeau Levito

    Isabeau Levito became a household name this winter as one of the “Blade Angels,” the women’s figure skaters representing the U.S. at the Milan Cortina Olympics. She missed out on the podium, but she still got to bask in the experience of being an Olympian.

    “It was just so cool with all these athletes from different sports all in one place,” Levito said. “It was very magical, and it was a dream come true.”

    The South Jersey native also skated to a fourth-place finish at the 2026 World Championships in March. Levito has eight podium finishes at major events in her career, including silver at the 2024 World Championships and gold at the 2023 U.S. Championship. And she’s already started teasing her next routine.

    Porter Martone

    Age: 19

    Illustration of Porter Martone

    Porter Martone, who got his start blasting holes in the wall of his parents’ basement before starring at Michigan State, made an immediate impact following his NHL debut, with 10 points in his nine regular-season games. After the Flyers’ season ended in the second round against Carolina, Martone joined Team Canada at World Championships and got ice time on the top line with Macklin Celebrini and Sidney Crosby, scoring one goal and four assists in 10 games.

    “He wants to be out there when the game’s on the line,” coach Rick Tocchet said. “He’s unflappable.”

    Matvei Michkov

    Age: 21

    Illustration of Matvei Michkov

    Matvei Michkov’s sophomore NHL season was a bit turbulent, but the 21-year-old’s potential is sky-high, if his post-Olympic break stretch leading the team in points is any indication. At his best, the winger is a game-breaker and an elite talent the Flyers desperately need.

    “He knows he needs to improve off the ice in his training — and that’s not a secret — he’s admitted that himself. … So, the big thing for Matvei is adapting," general manager Danny Brière said.

    Quinyon Mitchell

    Age: 25

    Illustration of Quinyon Mitchell

    Quinyon Mitchell is the oldest player on our list and the only one who has already turned 25 — he beat our cutoff date by about two weeks — but the Eagles cornerback is more than deserving. He won the Super Bowl and was runner-up for Defensive Rookie of the Year in 2024 and has just kept improving.

    Mitchell was named first-team All-Pro in his second season and was ranked 47th on the NFL’s top 100 Players of 2026 by his peers, and there’s still room for him to grow. Mitchell’s lockdown coverage makes him a ball repellent. He was targeted just 85 times last year and gave up 36 catches for 451 yards and one touchdown. But in two NFL seasons, Mitchell still hasn’t picked off a pass in the regular season. He’s hoping to change that in 2026.

    “I’ve been working with the staff on catching and eye placement and stuff like that, so I just need to get better,” Mitchell said.

    Andrew Painter

    Age: 23

    Illustration of Andrew Painter

    After years of anticipation, Andrew Painter got his first crack at the Phillies’ rotation this year, and it didn’t go as many hoped. The 23-year-old had a 7.06 ERA in 14 appearances, including 12 starts, before being demoted to triple A. His first game back in the majors showed promise. After giving up a double and a home run early, he settled in for six strong innings and only allowed one hit after that.

    “When he’s done some things with his delivery, which is going more directly to the plate rather than spinning off, he’s had more life,” Phillies president of baseball operations Dave Dombrowski said.

    His three starts since — including one that was cut short by hamstring tightness — have been trending in the wrong direction. But at his best, Painter still represents a ton of potential.

    Jordyn Palmer

    Age: 17

    Illustration of Jordyn Palmer

    Westtown School star Jordyn Palmer is a 6-foot-2 rising senior guard/forward who is No. 9 in her class, according to ESPN. Palmer, a three-time Gatorade Pennsylvania Girls’ Basketball Player of the Year, averaged 23.2 points, 13.2 rebounds, 6.4 assists, 3.3 steals, and 2.5 blocks as a junior, helping lead the Westtown School (28-2) to the Pennsylvania Independent Schools Athletic Association championship game. She has 1,746 career points and 894 career rebounds.

    “Jordyn has not even scratched her full potential,” her father, Jermaine Palmer, said during her junior year.

    She has offers from more than 20 colleges, including South Carolina and LSU. In June, she was named Miss Pennsylvania Basketball, awarded to the best female high school basketball player in the state, voted on by fans, coaches, and media.

    Labaron Philon Jr.

    Age: 20

    Illustration of Labaron Philon

    Labaron Philon Jr. is one of a few professional players on this list who have yet to make their debut, but there are high hopes and plenty of hype surrounding the former Alabama point guard who fell to the Sixers as the 22nd overall pick in this summer’s draft.

    Of course, the expectations have eased in recent weeks as the Sixers added Jaylen Brown and LeBron James. But the 20-year-old brings shooting (48.2% for the Crimson Tide in two seasons) and a spark off the bench behind Tyrese Maxey and VJ Edgecombe. Philon’s Sixers career already got off to a good start at NBA Summer League, and he’s got a plan for his transition into the league.

    “Having the same ‘dawg’ mentality that I had at Alabama and being the same person,” Philon said after his Sixers debut. “Being me, really.”

    Lavar Scott

    Age: 22

    Illustration of Lavar Scott

    South Jersey’s Lavar Scott comes from a racing family, so it’s no surprise that he was able to climb the ranks of stock car racing to become one of three active Black drivers in NASCAR. In two full seasons in the ARCA Menards Series, Scott finished in the top five 22 times for Rev Racing, including four second place finishes.

    He earned a full-time spot in the NASCAR O’Reilly Auto Parts Series in 2026, making 22 starts in Alpha Prime Racing’s No. 45 Chevrolet. Scott has earned five top-20 finishes in 22 starts this season. Still looking for his first NASCAR win, Scott is chasing a feeling that he first learned racing go-karts at five years old.

    “It’s a feeling that when I go to bed, I think about, [when I] wake up, [I] think about, [when I] sleep, [I am] thinking about. It’s just the feeling of standing on top of your car after a win and [celebrating] with your friends and family and knowing you did your job really well that day,” Scott said in June.

    Luigi Suigo

    Age: 19

    Illustration of Luigi Suigo

    Standing at 7-foot-3, Italian-born center Luigi Suigo was the marquee addition for Kevin Willard this summer as he tries to lead Villanova back to the NCAA Tournament. Suigo, born in northern Italy, has played professionally in Europe since 2023. He averaged 7.9 points and 5.1 rebounds in 26 games during 2025-26 for KK Mega Basket of Serbia. Suigo entered the 2026 NBA draft and was projected as a late first-round, early second-round selection before he withdrew and decided to play college basketball at Villanova.

    “He wants to make sure when he gets drafted, he’s going to play,” Willard said of Suigo in June. “The big thing is I think he needs to get Americanized a little bit, to American basketball. I think that’s why college will be really good for him.”

    Even better for the Italian big man, Suigo will begin his college career with a game in Rome, where the Wildcats will play Notre Dame on Nov. 1.

    Cavan Sullivan

    Age: 16

    Illustration of Cavan Sullivan

    Cavan Sullivan, the youngest professional on this list, has a chance to be the most internationally recognized real athlete to come from Philadelphia — apologies to Rocky. The attacking midfielder has a deal in place that will send him to English giant Manchester City once he turns 18, but for now, he’s tearing up the pitch for the Union. He netted his first MLS goal in May, and his role for the team has continued to grow.

    “It’s a big year for me,” Sullivan said in January. “It’s exciting, but I’m not going to get ahead of myself. I know there’s still work to do and stuff to prove.”

    Look out for Sullivan in stars and stripes, too. He’s still waiting on his first senior team call-up, but he’s received numerous call-ups to U.S. youth national teams and scored twice at the 2025 FIFA under-17 World Cup in Qatar.

    Quinn Sullivan

    Age: 22

    Illustration of Quinn Sullivan

    While his younger brother has Europe’s attention, Quinn Sullivan has developed into an integral piece for his hometown club. Before an ACL tear ended his 2025 season, Sullivan scored three goals and logged eight assists in 31 appearances across all competitions as the Union claimed the MLS Supporters’ Shield.

    Sullivan also has experience with the U.S. men’s national team and made one start during the 2025 Gold Cup.

    Sullivan returned from his ACL injury in July 2026, and now that he’s fully healthy, he’s back in the Union’s starting lineup. Quinn isn’t making a move to Europe yet, but the Bridesburg native is happy to represent his hometown club for now.

    “I’d love to be the face of this team,” Sullivan said in January. “I mean, I grew up supporting this team. I love this team; I love this city. I feel like I embody what Philadelphia means.”

    Gage Wood

    Age: 22

    Illustration of Gage Wood

    Gage Wood, the Phillies’ first-round pick in 2025, made his first start at Citizens Bank Park in July — as part of the MLB All-Star Futures Game.

    But the right-hander, who was promoted to double-A Reading earlier this season, is progressing quickly through the system. Wood’s elite fastball helped get him to No. 33 on MLB Pipeline’s Top 100 prospects, but there are questions about whether Wood is a starter or a reliever long-term.

    “Obviously, I want to go back to the Bank as fast as I can,” Wood said. “I just keep working every day and try to get there as fast as possible.”

    story continues after advertisement

    That completes the first installment of The Inquirer’s 25 Under 25 athlete list. Naturally we couldn’t include every great athlete from the area, so be sure to check out our list of those who just missed the cut. We also have a list of the best under-25 athletes that are from the region but no longer play here. And, of course, we want to know who you think should’ve made the cut but didn’t, so email us at sports.daily@inquirer.com with anyone we might have missed.

    Staff Contributors

    • Design and Development: Julia Duarte
    • Reporting: Gabriela Carroll, Owen Hewitt, Mia Messina
    • Editing: Matt Mullin
    • Illustration: Vivi John
    • List Curation: Inquirer Sports Editors
    • Digital Editing: Matt Mullin
    • Copy Editing: Maria McIlwain

    Subscribe to The Philadelphia Inquirer

    Our reporting is directly supported by reader subscriptions. If you want more journalism like this story, please subscribe today

    (()=>{var V=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var A=V(i=>{var W={0:”Jan.”,1:”Feb.”,2:”March”,3:”April”,4:”May”,5:”June”,6:”July”,7:”Aug.”,8:”Sept.”,9:”Oct.”,10:”Nov.”,11:”Dec.”};function L(e){return e===void 0&&(e=new Date),W[e.getMonth()]}var Y={0:”Jan”,1:”Feb”,2:”Mar”,3:”Apr”,4:”May”,5:”Jun”,6:”Jul”,7:”Aug”,8:”Sep”,9:”Oct”,10:”Nov”,11:”Dec”};function S(e){return e===void 0&&(e=new Date),Y[e.getMonth()]}function s(e){return e==null}function T(e){return typeof e==”number”&&isFinite(e)}function f(e){return T(e)&&Math.floor(e)===e}var _=[“one”,”two”,”three”,”four”,”five”,”six”,”seven”,”eight”,”nine”],U=[“million”,”billion”,”trillion”,”quadrillion”,”quintillion”,”sextillion”,”septillion”,”octillion”,”nonillion”,”decillion”],x=[“th”,”st”,”nd”,”rd”,”th”,”th”,”th”,”th”,”th”,”th”],Z=[11,12,13];function M(e){if(s(e))return””;var t=+e;return f(t)?Z.indexOf(t%100)>-1?x[0]:x[t%10]:””}var K=[“first”,”second”,”third”,”fourth”,”fifth”,”sixth”,”seventh”,”eighth”,”ninth”],Q=new RegExp(/s+([^s]*)s*$/);i.apdate=function(e){return e===void 0&&(e=new Date),L(e)+” “+e.getDate()+”, “+e.getFullYear()},i.apdatetab=function(e){return e===void 0&&(e=new Date),S(e)+” “+e.getDate()+”, “+e.getFullYear()},i.apmonth=L,i.apmonthtab=S,i.apnumber=function(e){if(s(e))return””;var t=+e;return f(t)?t=10?e.toString():_[t-1]:e.toString()},i.aptime=function(e){e===void 0&&(e=new Date);var t,n,o=e.getHours(),r=e.getMinutes(),d=r===0;if(d){if(o===0)return”midnight”;if(o===12)return”noon”}return o0?o:12):(t=”p.m.”,n=o===12?o:o-12),d?n+” “+t:n+”:”+(r<10?"0"+r:r)+" "+t},i.capfirst=function(e){if(s(e))return"";var t=String(e);return""+t.charAt(0).toUpperCase()+t.slice(1)},i.intcomma=function(e){if(s(e))return"";var t,n=+e;return T(n)?((t=n.toString().split("."))[0]=t[0].replace(/B(?=(d{3})+(?!d))/g,","),t.join(".")):e.toString()},i.intword=function(e){if(s(e))return"";var t=+e;if(!f(t))return e.toString();var n=Math.abs(t);if(n<1e6)return e.toString();var o=Math.ceil(Math.log(n+1)/Math.LN10)-1,r=o-o%3,d=t/Math.pow(10,r);return(d=Math.round(10*d)/10)+" "+U[Math.floor(r/3)-2]},i.ordinal=function(e,t){if(t===void 0&&(t=!1),s(e))return"";var n=+e;return f(n)?t&&n/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);var y=(e,t=null,n=null)=>{n||(n=document.querySelector(“head”));let o=document.createElement(“script”);o.type=”text/javascript”,o.src=e,t&&(o.onload=t),n.appendChild(o)},h=()=>(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state===”Subscribed”,m=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state;return window.location.host.includes(“zzz-systest”)||window.location.host.includes(“pmn.arcpublishing.com”)||window.location.host.includes(“stage.fusion.inquirer.com”)||typeof t>”u”},E=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.hasAdsFreeReading;return!!(t&&t==1)},u=()=>window.location.host.includes(“localhost”);var X=()=>{E()&&document.querySelectorAll(“.js-adbox”).forEach(t=>{t.classList.add(“is-hidden”)})},k={init:()=>{X()}};var g,ee=(e,t)=>{g=g||window.PMNdataLayer,g?g.push({event:”misc_event”,eventAction:e,eventLabel:t}):window.location.hostname.includes(“localhost”)?console.log(“Analytics event:”,e,t,”(not actually being sent due to localhost)”):console.log(“Failed to push analytics event”,e,t)},j={event:(e,t)=>{ee(e,t)}};var te=()=>{document.querySelectorAll(“.js-card-show-more”).forEach(e=>{e.addEventListener(“click”,()=>{ne(e)})})},ne=e=>{let t=e.closest(“.js-card”),n=t.querySelector(“.js-card-body”),r=n.querySelector(“.js-card-body-content”).getBoundingClientRect().height;t.classList.remove(“is-collapsed”),n.style.maxHeight=r+”px”,setTimeout(()=>{n.style.maxHeight=”none”},1e3),j.event(“expand_card”,`${t.dataset.id}`)},H={init:()=>{te()}};var a,D,oe=()=>{a=document.getElementById(“js-inno-toast”)},re=e=>{if(!a)return;a.innerHTML=e,a.classList.add(“is-active”);let t=()=>{a.addEventListener(“transitionend”,ie,{once:!0}),a.classList.remove(“is-active”)};clearTimeout(D),D=setTimeout(t,5e3)},ie=()=>{a.innerHTML=””},c={init:()=>{oe()},showToast:re};var v,P=!1,se=async()=>new Promise(e=>{setTimeout(()=>{console.log(“simulating createShareLink for localhost”),e(“https://inquirer.com/interactives”),ae()},100)}),ae=()=>{let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||setTimeout(()=>{let t=e?.querySelector(“span”);t&&(t.innerHTML=”Gift link copied to clipboard“)},20)},ce=()=>{let e=window.services?.createShareLink;e&&(v=e),u()&&(v=se),v&&de()},le=async e=>{let t=”text/plain”,n=async()=>{try{return await v(window.location.pathname)}catch{e.dataset.state=”error”,c.showToast(“Hmm, we couldn’t generate a gift link…”)}},o=new ClipboardItem({[t]:n()});await navigator.clipboard.write([o]).catch(r=>{console.log(r),c.showToast(“Couldn’t copy to clipboard, try again?”),e.dataset.state=”error”}),c.showToast(“Gift link copied to clipboard!”),e.dataset.state=”complete”},de=()=>{document.querySelectorAll(“.js-gift”).forEach(t=>{(h()||u()||m())&&t.classList.add(“is-available”)}),document.querySelectorAll(“.js-gift-button”).forEach(t=>{t instanceof HTMLButtonElement&&t.addEventListener(“click”,()=>{t.classList.contains(“disabled”)||(t.dataset.state=”loading”,P=!0,le(t),setTimeout(()=>{t.dataset.state=”ready”},2e3))})});let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||ue(e)},ue=e=>{new MutationObserver(n=>{for(let o of n){let r=[…o.addedNodes].at(0);if(!(r instanceof HTMLElement))return;P&&c.showToast(r.outerHTML)}}).observe(e,{subtree:!0,childList:!0})},I={init:()=>{ce()}};var pe=()=>{window.addEventListener(“message”,e=>{if(e.data[“datawrapper-height”]){let t=e.data[“datawrapper-height”];for(let n in t)document.querySelector(`#datawrapper-chart-${n}`).setAttribute(“height”,t[n])}})},fe=()=>{document.querySelectorAll(“.js-datawrapper-graphic”).forEach(e=>{y(`https://datawrapper.dwcdn.net/${e.dataset.id}/embed.js`,null,e)})},he=()=>{window.addEventListener(“message”,e=>{let t=e.data;document.querySelectorAll(`iframe[src*=”${t.id}”]`).forEach(o=>{o.style.height=`${t.height}px`})},!1)},me=()=>{document.querySelectorAll(“.js-pym-graphic”).forEach(e=>{if(typeof window{new window.pym.Parent(e.id,e.dataset.iframe)};typeof window.pym>”u”?y(“https://pym.nprapps.org/pym.v1.min.js”,t):t()}})},N={init:()=>{pe(),fe(),me(),he()}};var p,ge=()=>{document.querySelectorAll(“.js-hover”).forEach(e=>{e.addEventListener(“click”,()=>{C(e)}),e.addEventListener(“mouseenter”,()=>{C(e)}),e.addEventListener(“mouseout”,()=>{B(e)})}),window.addEventListener(“scroll”,()=>{p!==null&&ve()})},ve=()=>{(p>window.scrollY+100||p{B(e)})},C=e=>{e.classList.add(“is-visible”),p=window.scrollY},B=e=>{e.classList.remove(“is-visible”),p=null},F={init:()=>{ge()}};var ye=(e,t,n)=>{document.querySelectorAll(“.js-subscribe”).forEach(o=>{o.classList.toggle(“is-unsubscribed”,!e),o.classList.toggle(“is-preview”,t),o.classList.toggle(“is-dev”,n)})},$={init:()=>{ye(h(),m(),u())}};var l,w,b=!0,we=()=>{l=document.querySelectorAll(“.js-video-autoplay”)},be=()=>{window.addEventListener(“resize”,()=>{O()}),window.addEventListener(“scroll”,()=>{O()}),l.forEach(e=>{e.addEventListener(“volumechange”,t=>{e.muted!==b&&!q()&&(b=e.muted,Le())})})},O=()=>{let e;l.forEach((t,n)=>{let o=t.getBoundingClientRect(),r=o.height/2;o.y-r&&(e=t)}),e!==w&&(w=e,l.forEach(t=>{t.pause()}),e?e.play():w=null)},Le=()=>{l.forEach(e=>{e.muted=b})},z={init:()=>{we(),l&&be()}};var R={init:()=>{k.init?.(),H.init?.(),I.init?.(),N.init?.(),F.init?.(),$.init?.(),z.init?.(),c.init?.()}};var Se=()=>{},J={init:()=>{Se()}};var xe=document.querySelector(“.js-inno”),G=()=>{R.init(),J.init()};xe?G():new MutationObserver((t,n)=>{if(document.querySelector(“.js-inno”)){n.disconnect(),G();return}}).observe(document,{attributes:!0,childList:!0,subtree:!0});})();

  • SEPTA is altering 30 bus routes. See if your commute changes.

    SEPTA is altering 30 bus routes. See if your commute changes.

    html,body{margin:0}.inno :where(*:not(svg,svg *,.inno-no-reset,.inno-no-reset *),use){all:revert;margin:0;padding:0;border:0;list-style:none}@font-face{font-family:”Inquirer Headline”;font-weight:100;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:100;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:300;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-LightWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-LightWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:300;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-LightItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-LightItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:normal;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:normal;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:500;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:500;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:600;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:600;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:700;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:700;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:900;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:900;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:normal;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:normal;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:bold;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:bold;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Grot 10″;font-weight:normal;src:url(“https://media.inquirer.com/fonts/Grot10-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”Grot 10″;font-weight:500;src:url(“https://media.inquirer.com/fonts/Grot10-MediumWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-MediumWEB.woff”) format(“woff”)}@font-face{font-family:”Grot 10″;font-weight:bold;src:url(“https://media.inquirer.com/fonts/Grot10-ExtraboldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-ExtraboldWEB.woff”) format(“woff”)}@font-face{font-family:”Grot12″;font-weight:300;src:url(“https://media.inquirer.com/fonts/Grot12Condensed-LightWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot12Condensed-LightWEB.woff”) format(“woff”)}@font-face{font-family:”Grot12″;font-weight:600;src:url(“https://media.inquirer.com/fonts/Grot12Condensed-SemiboldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot12Condensed-SemiboldWEB.woff”) format(“woff”)}body.is-scroll-locked{overflow:hidden;height:100%}.inno{–color-background: #222222;–color-background-secondary: #595760;–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-primary: #ffffff;–color-text-secondary: #dcdcdc;–color-text-tertiary: #808284;–color-text-accent: #ffffff;–color-text-link: #8dd7f7;–color-faint: #ffffff;–color-mask: rgba(255, 255, 255, 0.8);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:”Grot 10″,sans-serif;background:var(–color-background);color:var(–color-text-primary);padding-block-end:64px;overflow:clip;font-size:14px;line-height:1}.inno–lite.inno-color–purple{–color-accent: #7b2589;–color-over-accent: #ffffff;–color-text-accent: #7b2589}.inno–lite.inno-color–pink{–color-accent: #cd0785;–color-over-accent: #ffffff;–color-text-accent: #cd0785}.inno–lite.inno-color–red{–color-accent: #e11b22;–color-over-accent: #ffffff;–color-text-accent: #e11b22}.inno–lite.inno-color–orange{–color-accent: #e66a1f;–color-over-accent: #222222;–color-text-accent: #e66a1f}.inno–lite.inno-color–yellow{–color-accent: #f0af13;–color-over-accent: #222222;–color-text-accent: #f0af13}.inno–lite.inno-color–green{–color-accent: #00a253;–color-over-accent: #ffffff;–color-text-accent: #00a253}.inno–lite.inno-color–teal{–color-accent: #00a69e;–color-over-accent: #ffffff;–color-text-accent: #00a69e}.inno–lite.inno-color–light-gray{–color-accent: #dcdcdc;–color-over-accent: #222222;–color-text-accent: #dcdcdc}.inno–lite.inno-color–light-blue{–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-accent: #8dd7f7}.inno–lite.inno-color–blue{–color-accent: #004e96;–color-over-accent: #ffffff;–color-text-accent: #004e96}.inno–lite.inno-color–black{–color-accent: #222222;–color-over-accent: #ffffff;–color-text-accent: #222222}.inno–lite.inno-color–white{–color-accent: #ffffff;–color-over-accent: #222222;–color-text-accent: #ffffff}.inno–lite.inno-color–white,.inno–lite.inno-color–black{–color-accent: #004e96;–color-over-accent: #ffffff;–color-text-accent: #222222}.inno–lite.inno-color–white.inno-mode–dark,.inno–lite.inno-color–black.inno-mode–dark{–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-accent: #ffffff}.inno–widget,.inno–embed{overflow:hidden;padding-block-end:0}.inno–widget .inno-layout–content>*,.inno–embed .inno-layout–content>*{max-width:none}.inno-anchorable:before{content:””;display:block;height:calc(var(–nav-height, 0) + 10px);margin:calc(0px – (var(–nav-height, 0) + 10px)) 0 0}.inno-spanner{background-color:#fff;box-shadow:4px 0 0 #fff,-4px 0 0 #fff;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:#222}.inno-spanner–error,.inno-spanner–error-invalid-symbol{background-color:#fff;border:3px dashed #e11b22;box-shadow:none;padding-left:4px;padding-right:4px}.inno-spanner–discontinued{background-color:#e66a1f;box-shadow:4px 0 0 #e66a1f,-4px 0 0 #e66a1f;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.inno-spanner–extended-route,.inno-spanner–extension,.inno-spanner–extended,.inno-spanner–extend,.inno-spanner–brand-new-route{background-color:#00a253;box-shadow:4px 0 0 #00a253,-4px 0 0 #00a253;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.inno-spanner–old-route,.inno-spanner–old-routes{background-color:#f0af13;box-shadow:4px 0 0 #f0af13,-4px 0 0 #f0af13;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.inno-spanner–reduced-service,.inno-spanner–increased-service{color:#fff;box-shadow:none;background-color:rgba(0,0,0,0);background-image:url(“https://interactives.inquirer.com/projects/2026/08/septa-buses/1787171010074/assets/icon–increased.svg”);background-position:left center;background-repeat:no-repeat;background-size:contain;margin:0}.inno-spanner–reduced-service{background-image:url(“https://interactives.inquirer.com/projects/2026/08/septa-buses/1787171010074/assets/icon–reduced.svg”);padding-left:28px;margin-left:3px}.inno-spanner–increased-service{background-image:url(“https://interactives.inquirer.com/projects/2026/08/septa-buses/1787171010074/assets/icon–increased.svg”);padding-left:32px}.inno-spanner–frequent-red{border:2px solid #fff;background-color:#e11b22;box-shadow:none;color:#fff;margin:0;padding:2px 8px;border-radius:18px}body:has(.inno-chrome–chromeless){overflow:hidden;width:100vw;height:100vh}@supports(width: 100dvw){body:has(.inno-chrome–chromeless){width:100dvw}}@supports(height: 100dvh){body:has(.inno-chrome–chromeless){height:100dvh}}body:has(.inno-chrome–chromeless) .global-app-bar,body:has(.inno-chrome–chromeless) .footer,body:has(.inno-chrome–chromeless) .footer-wrapper{display:none}body:has(.inno-chrome–chromeless) #inq-article-completion{height:0px}.inno{–gutter: calc(50vw – 325px)}.inno *{box-sizing:border-box}.inno-layout–content>*{max-width:min(650px,100vw – 32px);margin-inline:auto}.inno-layout–align-full{max-width:100%}.inno-layout–align-wide{max-width:min(1250px,100vw – 32px);margin-inline:auto}.inno-layout–align-default{max-width:min(650px,100vw – 32px);margin-inline:auto}@media(min-width: 768px){.inno-layout–align-left{float:left;margin-inline-start:var(–gutter);margin-inline-end:24px;width:301px;margin-block-end:16px;padding-top:6px}}@media(min-width: 960px){.inno-layout–align-left{margin-inline-start:calc(var(–gutter) – clamp(0px,var(–gutter) – 100px,160px))}}@media(min-width: 768px){.inno-layout–align-right{float:right;width:301px;margin-inline-start:24px;margin-inline-end:var(–gutter);margin-block-end:16px;padding-top:5px}}@media(min-width: 960px){.inno-layout–align-right{margin-inline-end:calc(var(–gutter) – clamp(0px,var(–gutter) – 100px,160px))}}.inno-layout–stack>*+*{margin-block-start:24px}.inno-layout–stack-tight>*+*{margin-block-start:10px}.inno-layout–stack-loose>*+*{margin-block-start:30px}*+.inno-layout–isolate{margin-block-start:48px}.inno-layout–isolate+*{margin-block-start:48px}.inno-frequencies{display:flex;flex-direction:column}.inno-frequencies__row{display:grid;grid-template-columns:32px 100px 1fr 1fr 1fr;border-bottom:3px solid #595760;align-content:center;justify-content:center;align-items:center}.inno-frequencies__row:last-of-type{border-bottom:0}.inno-frequencies__row–header{font-weight:bold;pointer-events:none}.inno-frequencies__row:hover{background-color:#595760}.inno-frequencies__cell{border-right:0;border-bottom:0;padding:8px 6px}.inno-frequencies__cell:empty{border-top:0;border-left:0}.inno-routes{display:flex;gap:6px;flex-wrap:wrap}.inno-routes__route{font-family:”Grot12″,sans-serif;font-weight:bold;text-transform:uppercase;padding:4px 8px;min-width:2em;text-align:center;border-radius:24px;color:#fff;text-decoration:none;border:3px solid #fff;transition:.4s ease-in-out border;font-size:20px}.inno-routes__route:hover{border-color:var(–color-accent)}.inno-routes__route.is-hidden{color:#595760;border-color:#595760;pointer-events:none}.inno-location.is-found .inno-location__results,.inno-location.is-error .inno-location__results{max-height:500px}.inno-location.is-found .inno-location__results-found,.inno-location.is-error .inno-location__results-error{display:block;padding-bottom:12px}.inno-location.is-loading .inno-location__loading{display:block}.inno-location.is-loading-stops{opacity:.4;pointer-events:none;animation:throb .4s ease-in-out alternate infinite}@keyframes throb{0%{opacity:.4}100%{opacity:.6}}.inno-location__direction{margin:8px 0 16px;text-align:center;font-family:”Grot 10″,sans-serif;font-size:16px}.inno-location__form{display:grid;gap:8px;margin-bottom:12px;transition:.4s;grid-template-rows:40px 40px auto;align-items:flex-start}@media(min-width: 768px){.inno-location__form{gap:8px;grid-template-rows:1fr;grid-template-columns:257px 257px 120px}}.inno-location__field{padding:12px 8px;border:3px solid #808284;transition:.4s;font-family:”Grot 10″,sans-serif;font-size:12px;letter-spacing:.1px;-webkit-appearance:none;color:#fff;background-color:#222;width:100%;border-radius:24px}@media(min-width: 768px){.inno-location__field{font-size:16px;padding:12px}}.inno-location__field::placeholder{color:#808284}.inno-location__field:focus{border-color:#fff}.inno-location__field.is-hidden-field{display:none}.inno-location__form-note{color:#808284;font-size:12px;line-height:1;margin-bottom:6px;text-align:center}.inno-location__results{overflow:hidden;max-height:0;transition:max-height .4s ease-in-out}.inno-location__results-found{color:#222;display:none;padding:0;font-family:”Grot12″,sans-serif;text-transform:uppercase;font-size:18px;font-weight:600;color:#222;text-align:center;margin-top:16px}@media(min-width: 768px){.inno-location__results-found{font-size:24px}}.inno-location__results-found a{transition:box-shadow .25s ease;color:var(–color-text-link);text-decoration:none}.inno-location__results-found a:hover{box-shadow:inset 0 -1px 0 0 var(–color-text-link)}.inno–embed .inno-location__results-found a{transition:none;color:#222;pointer-events:none}.inno-location__results-error{color:#e11b22;font-weight:bold;font-size:14px;display:none}.inno-location.is-error .inno-location__results-error{display:block}.inno-location__results-loading{color:#808284;display:none}.inno-location__loading{display:none;padding-bottom:12px}.inno-state{position:sticky;z-index:20;top:0;left:0;right:0;background-color:#222;padding:8px 0;border-bottom:3px solid #fff}@media(min-width: 960px){.inno-state{padding:12px 0}}.inno-state__content{display:grid;grid-template-columns:1fr 120px;justify-content:space-between;align-items:center;gap:12px;width:100%}@media(min-width: 768px){.inno-state__content{grid-template-columns:1fr 180px}}.inno-state__label{display:flex;font-family:”Grot 10″,sans-serif;font-weight:normal;font-size:12px;line-height:1.4}@media(min-width: 960px){.inno-state__label{font-size:14px}}.inno-state__label–sub{font-weight:bold}.inno-state__clear{position:relative;pointer-events:none;opacity:0;transition:opacity .4s ease-in-out;display:inline-block;vertical-align:middle;padding:4px;border:1px solid #fff;border-radius:32px;aspect-ratio:1/1;cursor:pointer;width:1.4em;height:1.4em;margin-left:6px}.inno-state__clear:hover{background-color:#e11b22}.inno-state.is-populated .inno-state__clear{opacity:1;pointer-events:all}.inno-state__clear .inno-icon{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:.6em;height:.6em}.inno-state__button{white-space:nowrap}.inno-adbox{max-height:400px;transition:max-height .4s ease-in-out,padding .4s ease-in-out,margin .4s ease-in-out;overflow:hidden}.inno-adbox.is-hidden{max-height:0;margin:0;padding:0}.inno-adbox__label{display:block;margin:0 auto 8px;text-align:center;font-size:12px;color:#808284;text-transform:uppercase}.inno-ad__ad{margin-inline:auto;background-color:#f4f1eb;display:flex;align-items:center;justify-content:center;overflow:hidden;width:300px;height:250px}@media(min-width: 768px)and (max-width: 1022px){.inno-ad__ad{width:728px;height:90px}}@media(min-width: 1023px){.inno-ad__ad{height:auto;width:fit-content;min-width:728px;min-height:90px;max-width:970px;max-height:250px}}.inno-ad__ad–small{width:300px;height:250px;min-height:auto;min-width:auto}.inno-ad__ad iframe{position:unset !important}.inno-ad__ad .cnx-content-wrapper{position:relative !important}.inno-ad__ad .celtra-ad-inline-host,.inno-ad__ad .celtra-ad-inline-host *{position:relative !important;overflow:hidden !important}.inno-ad__placeholder{text-align:center;text-transform:uppercase;font-weight:bold;font-size:16px;color:#222}@media(min-width: 1200px){.inno-ad__placeholder{padding:120px 0}}.inno-body__error{color:var(–color-text-primary);padding:24px;border:3px dashed #e11b22;font-family:monospace;white-space:pre-wrap;font-size:16px}.inno-body__error-head{display:block;font-weight:bold}.inno-button{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;box-sizing:border-box;text-decoration:none;border-radius:24px;border:3px solid #fff;cursor:pointer;pointer-events:auto;transition:background-color .4s ease-in-out,border-color .4s ease-in-out,color .4s ease-in-out;background-color:var(–color-accent);color:#fff;padding:6px 24px}@media(min-width: 768px){.inno-button{padding:10px 24px}}.inno-button:hover{border-color:var(–color-accent)}.inno-button–secondary{background-color:var(–color-background)}.inno-button:disabled{pointer-events:none;border-color:#808284;background-color:#808284}.inno-button:disabled .inno-button__label{color:#595760}.inno-button–minimal{background-color:rgba(0,0,0,0);color:var(–color-text-primary);padding:8px}.inno-button–minimal:disabled{background-color:var(–color-text-secondary);color:var(–color-text-tertiary);pointer-events:none}.inno-button–minimal .inno-button__label{position:relative;top:1px}.inno-button__label{font-family:”Grot12″,sans-serif;font-weight:bold;line-height:1.2em;text-transform:uppercase;flex-grow:0;z-index:1;font-size:16px}@media(min-width: 768px){.inno-button__label{font-size:20px}}.inno-button__image{margin:0 auto;object-fit:contain}.inno-byline{position:relative;z-index:2;border-block:3px solid var(–color-faint);padding-block:16px;font-family:”Grot 10″,sans-serif;font-size:14px;line-height:1.5}.inno-byline–center{border-block:none;padding-block:0}@media(min-width: 768px){.inno-byline{font-size:16px}}.inno-byline__content{display:flex;justify-content:space-between;align-items:center;gap:12px}.inno-byline–center .inno-byline__content{flex-direction:column;text-align:center}.inno-byline__text{flex:1 1 auto}.inno-byline .inno-gift{flex:0 0 auto}.inno-byline__timestamp-date{color:var(–color-text-primary)}.inno-byline__timestamp-label{color:var(–color-text-secondary)}.inno-byline__authors{color:var(–color-text-primary, #222222);line-height:1.5em;text-wrap-style:balance}.inno-byline__author{display:inline}.inno-byline__author-link,.inno-byline__authors a{color:var(–color-text-primary, #222222);text-decoration:none;transition:color .4s ease-in-out}.inno-byline__author-link:hover,.inno-byline__authors a:hover{color:var(–color-text-link, #004e96)}.inno-callout__content{background-color:var(–color-background-secondary);padding:20px 15px}.inno-callout:has(.inno-callout__cta) .inno-callout__content{padding-bottom:50px}.inno-callout__tag{font-family:”Grot 10″,sans-serif;font-size:16px;color:var(–color-text-primary)}@media(min-width: 768px){.inno-callout__tag{font-size:18px}}.inno-callout__title{font-family:”Grot12″,sans-serif;font-size:32px;font-weight:bold;text-transform:uppercase;color:var(–color-text-primary);text-wrap:balance}*+.inno-callout__title{margin-block-start:5px}.inno-callout__body{font-family:”Grot 10″,sans-serif;font-size:16px;color:var(–color-text-primary);line-height:1.65em}@media(min-width: 768px){.inno-callout__body{font-size:18px}}*+.inno-callout__body{margin-block-start:10px}.inno-callout__body .inno-p{font-family:inherit;font-size:inherit;color:inherit;line-height:inherit}.inno-callout__cta{display:flex;width:calc(100% – 30px);margin:-30px 15px 0 15px}.inno-callout__cta .inno-button{box-shadow:0 1px 4px rgba(89,87,96,.1),0 3px 6px rgba(89,87,96,.1);padding:20px 20px}.inno-callout__form-policy{font-size:15.2px;margin-top:20px;color:#808284;line-height:1.65}.inno-callout__form-policy a{color:#808284;transition:color .3s ease-in-out}.inno-callout__form-policy a:hover{color:var(–color-text-primary)}.inno-caption{color:var(–color-text-secondary);font-family:”Grot 10″,sans-serif;font-size:14px;line-height:1.5}.inno-caption a{color:inherit;box-shadow:inset 0 -1px 0 0 var(–color-text-secondary);transition:color .25s ease,box-shadow .25s ease;text-decoration:none}.inno-caption a:hover{color:var(–color-text-link);box-shadow:inset 0 -1px 0 0 var(–color-text-link)}.inno-caption__caption-text{display:block;text-wrap:pretty}.inno-caption__credit{color:var(–color-text-tertiary);display:block}.inno-credits{font-family:”Grot 10″,sans-serif}.inno-credits__header{color:var(–color-text-primary);font-size:16px;font-family:”Grot 10″,sans-serif;font-weight:normal;line-height:1.2;border-bottom:1px solid var(–color-faint);padding-bottom:4px;margin-bottom:8px}.inno-credits__roles{display:grid;gap:8px;color:var(–color-text-secondary);font-size:14px;line-height:1.5;text-align:pretty}@media(min-width: 768px){.inno-credits__roles{grid-template-columns:50% 50%}}.inno-gift{display:none}.inno-gift–default{justify-content:center}.inno-gift–default.is-available{display:flex}.inno-gift–default .inno-button{font-size:24px;padding:8px;min-width:200px;margin:0px auto}.inno-gift–minimal.is-available{display:inline-block}.inno-gift–minimal .inno-button{display:flex;align-items:center;font-size:16px;line-height:16px}.inno-gift–minimal .inno-button__label{font-size:14px;color:currentColor;display:none}@media(min-width: 600px){.inno-gift–minimal .inno-button__label{display:inline-block}}.inno-gift–minimal .inno-icon{display:inline-block}.inno-gift.is-available{display:block}.is-app .inno-gift{display:none}.inno-gift .inno-icon–loading{animation:spin 1s linear forwards infinite}.inno-gift .inno-icon{display:none}.inno-gift [data-state=ready] .inno-icon–gift{display:initial}.inno-gift [data-state=loading] .inno-icon–loading{display:initial}.inno-gift [data-state=complete] .inno-icon–tickmark{display:initial}.inno-gift [data-state=error] .inno-icon–cross{display:initial}.inno-gift-toast-receiver{display:none}@keyframes spin{0%{rotate:0deg}100%{rotate:360deg}}.inno-graphic__iframe,.inno-graphic__datawrapper{width:100%}.inno-heading{font-family:”Grot12″,sans-serif;text-transform:uppercase;font-weight:600;line-height:1.2;color:var(–color-text-primary);scroll-margin-top:calc(var(–sticky-height) + 16px);text-wrap:balance;font-size:20px}@media(min-width: 768px){.inno-heading{font-size:24px}}.inno-heading–chapter{font-weight:300;border-bottom:1px solid var(–color-text-primary);text-transform:uppercase}.inno-layout–stack>*+.inno-heading{margin-block-start:48px}.inno-layout–stack>.inno-heading:has(+*){margin-block-end:-12px}.inno-layout–stack-tight>*+.inno-heading{margin-block-start:20px}.inno-layout–stack-tight>.inno-heading:has(+*){margin-block-end:-5px}.inno-layout–stack-loose>*+.inno-heading{margin-block-start:60px}.inno-layout–stack-loose>.inno-heading:has(+*){margin-block-end:-15px}.inno-hero{margin-block-start:0;padding-top:40px}@media(min-width: 960px){.inno-hero{padding-top:60px}}.inno-hero__content{padding-block:24px;text-align:center}@media(min-width: 960px){.inno-hero__content{padding-block:32px}}.inno-hero__subheadline{position:relative;z-index:2;font-family:”Grot 10″,sans-serif;font-weight:bold;font-size:14px;line-height:1.3;text-wrap:balance;margin-bottom:10vw}@media(min-width: 768px){.inno-hero__subheadline{font-size:20px;margin-bottom:80px}}@media(min-width: 960px){.inno-hero__subheadline{font-size:24px}}.inno-hero__headline{display:flex;align-items:center;flex-direction:column;font-family:”Grot12″,sans-serif;text-transform:uppercase;font-weight:600;line-height:1;text-wrap:balance;width:120%;margin-left:-10%;font-size:10vw;gap:8vw}@media(min-width: 768px){.inno-hero__headline{width:100%;margin-left:auto;gap:5.5vw;font-size:7vw}}@media(min-width: 960px){.inno-hero__headline{font-size:80px;gap:72px}}@keyframes fall{from{rotate:0deg;opacity:0;translate:0 -20%}to{opacity:1}}.inno-hero__headline-section{position:relative;display:block;padding:.3em .5em;border:3px solid var(–color-faint);width:fit-content;white-space:nowrap;border-radius:8vw;opacity:0;animation:fall .4s ease-in-out forwards;animation-delay:.8s}@media(min-width: 960px){.inno-hero__headline-section{border-width:6px}}.inno-hero__headline-section–1{rotate:-14deg;transform:translateX(-5%) translateY(-13%)}.inno-hero__headline-section–2{rotate:5deg;animation-delay:1.2s}.inno-hero__headline-section–3{rotate:-3deg;transform:translateX(27%) translateY(-5%);animation-delay:1.4s}.inno-hero__headline-section:before,.inno-hero__headline-section:after{content:”47M”;position:absolute;margin:auto;padding:.3em .5em;border:3px solid #595760;border-radius:8vw;color:#595760;opacity:0;animation:fall .4s ease-in-out forwards}@media(min-width: 960px){.inno-hero__headline-section:before,.inno-hero__headline-section:after{border-width:6px}}.inno-hero__headline-section–1:before{content:”25″;bottom:130%;right:50%;rotate:-40deg;animation-delay:.7s}.inno-hero__headline-section–1:after{content:”47M”;right:98%;bottom:60%;rotate:60deg;animation-delay:.9s}.inno-hero__headline-section–2:before{content:”75″;left:75%;bottom:118%;rotate:20deg;animation-delay:1.4s}.inno-hero__headline-section–2:after{content:”89″;right:64%;top:120%;rotate:20deg;animation-delay:1.3s}.inno-hero__headline-section–3:before{content:”105″;left:95%;rotate:71deg;bottom:80%;animation-delay:1.4s}.inno-hero__headline-section–3:after{content:”64″;left:20%;top:120%;rotate:24deg;animation-delay:1.7s}.inno-hover{position:relative;cursor:pointer;border:1px var(–color-accent) solid;padding:3px 4px;transition:border .4s ease-in-out;box-sizing:border-box}@media(min-width: 768px){.inno-hover{cursor:help}}.inno-hover:hover{border:1px var(–color-accent) solid}.inno-hover__box{position:fixed;bottom:0;left:0;right:0;z-index:20;background-color:var(–color-background);pointer-events:none;transform:translateY(100%);transition:transform .4s ease-in-out;padding:16px;border-top:1px solid var(–color-accent);white-space:normal;font-family:”Grot 10″,sans-serif;font-size:14px;line-height:1.5}@media(min-width: 768px){.inno-hover__box{position:absolute;top:100%;width:200px;left:-1px;right:0;bottom:auto;margin:auto;max-width:250px;padding:6px;opacity:0;transition:opacity .4s ease-in-out;transform:none;border:1px solid var(–color-accent)}}.inno-hover.is-visible .inno-hover__box{opacity:1;transform:translateY(0)}.inno-icon{display:inline-block;width:1.2em;height:1.2em;fill:currentColor}.inno-icon–white{fill:#fff}.inno-icon–black{fill:#222}.inno-icon–accent{fill:var(–color-accent)}.inno-icon–over-accent{fill:var(–color-over-accent)}.inno-icon__stroke{fill:rgba(0,0,0,0);stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.inno-icon–white .inno-icon__stroke{stroke:#fff}.inno-icon–black .inno-icon__stroke{stroke:#222}.inno-icon–accent .inno-icon__stroke{stroke:var(–color-accent)}.inno-icon–over-accent .inno-icon__stroke{stroke:var(–color-over-accent)}.inno-image__img{width:100%;display:block}@keyframes loadingPulse{0%{opacity:1}100%{opacity:.4}}@keyframes spin{0%{rotate:0deg}100%{rotate:360deg}}.inno-loading{font-family:”Grot 10″,sans-serif;font-weight:bold;font-size:18px;transition:opacity .4s ease-in-out;z-index:999;position:relative}.inno-loading__text-label,.inno-loading__label-error{position:relative;text-align:left}.inno-loading–position-absolute .inno-loading__text-label,.inno-loading–position-absolute .inno-loading__icon-label,.inno-loading–position-absolute .inno-loading__label-error{position:absolute;left:0;top:0;transform:translate(-50%, -50%)}.inno-loading__icon-label{animation:spin 1s linear forwards infinite}.inno-loading__text-label{animation:loadingPulse .8s ease-in-out alternate infinite}.inno-loading__label-error{color:#e11b22;display:none}.inno-loading[data-state=ready]{opacity:0;animation:none}.inno-loading[data-state=loading]{opacity:1}.inno-loading[data-state=error] .inno-loading__label-error{display:block}.inno-loading[data-state=error] .inno-loading__text-label,.inno-loading[data-state=error] .inno-label__icon-label{display:none}.inno-looping-video__video{width:100%}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}@media(forced-colors: active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(forced-colors: active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media(hover: hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23333′ viewBox=’0 0 29 29’%3E%3Cpath d=’M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23333′ viewBox=’0 0 29 29’%3E%3Cpath d=’M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5’/%3E%3C/svg%3E”)}@media(forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23fff’ viewBox=’0 0 29 29’%3E%3Cpath d=’M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23fff’ viewBox=’0 0 29 29’%3E%3Cpath d=’M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5’/%3E%3C/svg%3E”)}}@media(forced-colors: active)and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ viewBox=’0 0 29 29’%3E%3Cpath d=’M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ viewBox=’0 0 29 29’%3E%3Cpath d=’M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5’/%3E%3C/svg%3E”)}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23333′ viewBox=’0 0 29 29’%3E%3Cpath d=’M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ viewBox=’0 0 29 29’%3E%3Cpath d=’M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z’/%3E%3C/svg%3E”)}@media(forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23fff’ viewBox=’0 0 29 29’%3E%3Cpath d=’M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23fff’ viewBox=’0 0 29 29’%3E%3Cpath d=’M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z’/%3E%3C/svg%3E”)}}@media(forced-colors: active)and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ viewBox=’0 0 29 29’%3E%3Cpath d=’M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ viewBox=’0 0 29 29’%3E%3Cpath d=’M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z’/%3E%3C/svg%3E”)}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23333′ viewBox=’0 0 29 29’%3E%3Cpath d=’m10.5 14 4-8 4 8z’/%3E%3Cpath fill=’%23ccc’ d=’m10.5 16 4 8 4-8z’/%3E%3C/svg%3E”)}@media(forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23fff’ viewBox=’0 0 29 29’%3E%3Cpath d=’m10.5 14 4-8 4 8z’/%3E%3Cpath fill=’%23ccc’ d=’m10.5 16 4 8 4-8z’/%3E%3C/svg%3E”)}}@media(forced-colors: active)and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ viewBox=’0 0 29 29’%3E%3Cpath d=’m10.5 14 4-8 4 8z’/%3E%3Cpath fill=’%23ccc’ d=’m10.5 16 4 8 4-8z’/%3E%3C/svg%3E”)}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’22’ height=’22’ fill=’none’ stroke=’%23333′ viewBox=’0 0 22 22’%3E%3Ccircle cx=’11’ cy=’11’ r=’8.5’/%3E%3Cpath d=’M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z’/%3E%3Cpath d=’M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z’/%3E%3Cpath d=’M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’22’ height=’22’ fill=’none’ stroke=’%2333b5e5′ viewBox=’0 0 22 22’%3E%3Ccircle cx=’11’ cy=’11’ r=’8.5’/%3E%3Cpath d=’M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z’/%3E%3Cpath d=’M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z’/%3E%3Cpath d=’M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’22’ height=’22’ fill=’%23333′ viewBox=’0 0 22 22’%3E%3Cpath d=’m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’22’ height=’22’ fill=’%2333b5e5′ viewBox=’0 0 22 22’%3E%3Cpath d=’m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23333′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23aaa’ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3Cpath fill=’red’ d=’m14 5 1 1-9 9-1-1z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%2333b5e5′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23e58978′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%2333b5e5′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23e54e33′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media(forced-colors: active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23fff’ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23999′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3Cpath fill=’red’ d=’m14 5 1 1-9 9-1-1z’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%2333b5e5′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23e58978′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%2333b5e5′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23e54e33′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3C/svg%3E”)}}@media(forced-colors: active)and (prefers-color-scheme: light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3C/svg%3E”)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’29’ height=’29’ fill=’%23666′ viewBox=’0 0 20 20’%3E%3Cpath d=’M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7’/%3E%3Ccircle cx=’10’ cy=’10’ r=’2’/%3E%3Cpath fill=’red’ d=’m14 5 1 1-9 9-1-1z’/%3E%3C/svg%3E”)}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’88’ height=’23’ fill=’none’%3E%3Cpath fill=’%23000′ fill-opacity=’.4′ fill-rule=’evenodd’ d=’M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z’/%3E%3Cpath fill=’%23fff’ d=’m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z’/%3E%3Cpath fill=’%23e1e3e9′ d=’M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z’/%3E%3Cpath d=’M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z’ style=’fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001’/%3E%3Cg style=’stroke-width:1.12603545’%3E%3Cpath d=’M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668′ style=’color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto’ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3Cpath d=’M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3′ style=’clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4′ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3Cpath d=’M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z’ style=’clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4′ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3C/g%3E%3C/svg%3E”);background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media(forced-colors: active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’88’ height=’23’ fill=’none’%3E%3Cpath fill=’%23000′ fill-opacity=’.4′ fill-rule=’evenodd’ d=’M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z’/%3E%3Cpath fill=’%23fff’ d=’m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z’/%3E%3Cpath fill=’%23e1e3e9′ d=’M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z’/%3E%3Cpath d=’M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z’ style=’fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001’/%3E%3Cg style=’stroke-width:1.12603545’%3E%3Cpath d=’M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668′ style=’color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto’ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3Cpath d=’M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3′ style=’clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4′ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3Cpath d=’M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z’ style=’clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4′ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3C/g%3E%3C/svg%3E”)}}@media(forced-colors: active)and (prefers-color-scheme: light){a.maplibregl-ctrl-logo{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’88’ height=’23’ fill=’none’%3E%3Cpath fill=’%23000′ fill-opacity=’.4′ fill-rule=’evenodd’ d=’M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z’/%3E%3Cpath fill=’%23fff’ d=’m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z’/%3E%3Cpath fill=’%23e1e3e9′ d=’M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z’/%3E%3Cpath d=’M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z’ style=’fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001’/%3E%3Cg style=’stroke-width:1.12603545’%3E%3Cpath d=’M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668′ style=’color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto’ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3Cpath d=’M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3′ style=’clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4′ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3Cpath d=’M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z’ style=’clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4′ transform=’translate(15.553 2.85)scale(.88807)’/%3E%3C/g%3E%3C/svg%3E”)}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0, 0%, 100%, 0.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0, 0%, 100%, 0.5);background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’24’ height=’24’ fill-rule=’evenodd’ viewBox=’0 0 20 20’%3E%3Cpath d=’M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0’/%3E%3C/svg%3E”);border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors: active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’24’ height=’24’ fill=’%23fff’ fill-rule=’evenodd’ viewBox=’0 0 20 20’%3E%3Cpath d=’M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0’/%3E%3C/svg%3E”)}}@media screen and (forced-colors: active)and (prefers-color-scheme: light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(“data:image/svg+xml;charset=utf-8,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’24’ height=’24’ fill-rule=’evenodd’ viewBox=’0 0 20 20’%3E%3Cpath d=’M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0’/%3E%3C/svg%3E”)}}.maplibregl-ctrl-attrib a{color:rgba(0, 0, 0, 0.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0, 0%, 100%, 0.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:””;position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0, 0, 0, 0.35);box-sizing:border-box;content:””;height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:rgba(29,161,242,.2);border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0, 0, 0, 0.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media(hover: none),(pointer: coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100% !important;left:0 !important;position:fixed !important;top:0 !important;width:100% !important;z-index:99999}.inno-map{position:relative;width:100%;height:100%;overflow:hidden;pointer-events:none}@media(min-width: 960px){.inno-map{pointer-events:all}}.inno-map__map{width:100%;height:100%}.inno-map__loading{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.maplibregl-ctrl-group{background-color:rgba(0,0,0,0)}@media(max-width: 960px){.maplibregl-ctrl-group{display:none}}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-in,.maplibregl-ctrl-group .maplibregl-ctrl-zoom-out{position:relative;background-color:#222;border:3px solid #fff;border-radius:24px;transition:border .4s ease-in-out}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-in:hover,.maplibregl-ctrl-group .maplibregl-ctrl-zoom-out:hover{border-color:var(–color-accent)}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon,.maplibregl-ctrl-group .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{display:none}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-in:before,.maplibregl-ctrl-group .maplibregl-ctrl-zoom-out:before{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;font-family:”Grot 10″,sans-serif;color:#fff;font-weight:bold;font-size:24px;line-height:1}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-in{border-radius:24px 24px 0 0}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-in:before{content:”+”}.maplibregl-ctrl-group button:focus:first-child{border-radius:24px 24px 0 0}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-out{border-radius:0 0 24px 24px;border-top:none;height:26px}.maplibregl-ctrl-group .maplibregl-ctrl-zoom-out:before{content:”-“;top:-3px}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 24px 24px}.inno-note .inno-p{color:var(–color-text-secondary);font-family:”Grot 10″,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;line-height:1.5}.inno-note .inno-p a{color:var(–color-text-secondary);box-shadow:inset 0 -1px 0 0 var(–color-text-secondary);transition:color .25s ease}.inno-note .inno-p a:hover{color:#004e96;box-shadow:inset 0 -1px 0 0 #004e96}.inno-note .inno-heading{color:var(–color-text-primary);font-family:”Grot 10″,sans-serif;font-size:16px;font-weight:normal;text-transform:none;border-bottom:1px solid var(–color-faint);padding-bottom:4px}.inno-p{-webkit-font-smoothing:subpixel-antialiased;-mox-osx-font-smoothing:grayscale;color:#222;color:var(–color-text-primary);font-family:”Inquirer Text”,”Times New Roman”,serif;font-size:18px;line-height:1.666666;white-space:pre-line;text-wrap:pretty}@media(min-width: 600px){.inno-p{font-size:20px;line-height:1.6}}.inno-p–has-dropcap:first-letter{margin-top:1px;margin-right:12px;margin-bottom:0;margin-left:0;font-family:”Grot12″,sans-serif;font-size:2.4em;padding:.4em;float:left;font-weight:bold;line-height:1;color:var(–color-text-accent);border:3px solid var(–color-faint);border-radius:48px}@-moz-document url-prefix(){.inno-p–has-dropcap:first-letter{margin-top:10px;margin-bottom:0px}}@media(min-width: 600px){.inno-p–has-dropcap:first-letter{font-size:3.3em;padding:.7rem;margin-top:-3px;margin-bottom:-10px}@-moz-document url-prefix(){.inno-p–has-dropcap:first-letter{margin-top:12px;margin-bottom:0px}}}.inno-p a{transition:box-shadow .25s ease;color:var(–color-text-link);text-decoration:none}.inno-p a:hover{box-shadow:inset 0 -1px 0 0 var(–color-text-link)}.inno-p__endmark{display:inline-block;height:1.1em;width:1.1em;margin-left:5px;vertical-align:text-bottom;margin-bottom:2px;fill:var(–color-text-accent)}.inno-premium{padding:19px 26px 22px 8px;color:var(–color-text-primary);font-family:”Grot 10″,sans-serif;font-size:18px;line-height:1;font-weight:normal;background-color:var(–color-background-secondary)}.inno-premium .inno-icon{fill:#f0af13;width:24px;margin-right:7px}.inno-premium__header{display:flex}.inno-premium__hed{font-weight:bold;line-height:22px;font-size:16px;color:var(–color-text-primary);padding:3px 0 4px;font-family:”Grot 10″,sans-serif;text-wrap:pretty}.inno-mode–dark .inno-premium__hed{color:#fff}.inno-premium__message{font-weight:500;line-height:22px;font-size:16px;color:var(–color-text-secondary);font-family:”Grot 10″,sans-serif;margin-left:32px;text-wrap:pretty}.inno-heading{font-family:”Grot12″,sans-serif;text-transform:uppercase;font-weight:600;line-height:1.2;color:var(–color-text-primary);scroll-margin-top:calc(var(–sticky-height) + 16px);text-wrap:balance;font-size:20px}@media(min-width: 768px){.inno-heading{font-size:24px}}.inno-heading–chapter{font-weight:300;border-bottom:1px solid var(–color-text-primary);text-transform:uppercase}.inno-layout–stack>*+.inno-heading{margin-block-start:48px}.inno-layout–stack>.inno-heading:has(+*){margin-block-end:-12px}.inno-layout–stack-tight>*+.inno-heading{margin-block-start:20px}.inno-layout–stack-tight>.inno-heading:has(+*){margin-block-end:-5px}.inno-layout–stack-loose>*+.inno-heading{margin-block-start:60px}.inno-layout–stack-loose>.inno-heading:has(+*){margin-block-end:-15px}.inno-image__img{width:100%;display:block}.inno-steps{margin-top:0}.inno-steps__steps{position:relative;margin-top:-64px;padding-bottom:80vh}@media(min-width: 960px){.inno-steps__steps{margin-top:calc(-100vh + 100px);padding-bottom:calc(100vh – 100px)}.inno-steps__steps:before{content:””;position:absolute;left:0;top:-100px;bottom:0;z-index:2;width:50%;background:linear-gradient(to right, #222222, rgba(34, 34, 34, 0))}}.inno-steps__step{position:relative;z-index:2;-webkit-transform:translate3d(0, 0, 0);margin:90vh auto;padding:12px;background-color:var(–color-background);border:var(–color-faint) 3px solid;overflow:auto;max-width:min(100% – 32px,650px);border-radius:32px;scroll-margin-top:90vh}@media(min-width: 960px){.inno-steps__step{margin:100px auto;scroll-margin-top:100px}}.inno-steps__step:first-of-type{margin-top:0}.inno-steps__step:nth-child(1 of :not(.is-hidden)){margin-top:0}.inno-steps__step:last-of-type{margin-bottom:0}.inno-steps__step.is-hidden{display:none;margin:0}.inno-steps__step.is-active .inno-steps__heading,.inno-steps__step.is-active .inno-steps__body{opacity:1;filter:grayscale(0)}@media(min-width: 960px){.inno-steps__step–left{width:calc(50vw – 32px);margin-left:auto;margin-right:calc(50% + 16px)}}.inno-steps__step .inno-hero__content{background-color:rgba(0,0,0,0);color:var(–color-text-primary)}.inno-steps__step .inno-byline{border-top:0;border-bottom:0;padding:0;margin-block-start:0;text-align:center}.inno-steps__step .inno-byline__content{flex-direction:column}.inno-steps__step .inno-premium{display:none}.inno-steps__step .inno-steps__body+.inno-caption{margin-top:6px}.inno-steps__heading{display:grid;grid-template-columns:72px auto;align-items:center;gap:12px;border-bottom:3px solid #595760;padding-bottom:12px;opacity:.2;filter:grayscale(1);transition:opacity .4s ease-in-out,filter .4s ease-in-out}@media(min-width: 960px){.inno-steps__heading{grid-template-columns:90px auto}}.inno-steps__heading .inno-heading{border:3px solid var(–color-faint);text-align:center;padding:.1em .3em;border-radius:32px;font-size:24px}@media(min-width: 768px){.inno-steps__heading .inno-heading{font-size:36px}}.inno-steps__step–red .inno-steps__heading .inno-heading{background-color:#e11b22}.inno-steps__body{margin-top:12px;opacity:.2;filter:grayscale(1);transition:opacity .4s ease-in-out,filter .4s ease-in-out}.inno-steps__route-name{font-family:”Grot 10″,sans-serif;font-weight:bold;font-size:16px}@media(min-width: 768px){.inno-steps__route-name{font-size:20px}}.inno-steps__content{position:sticky;height:100vh;width:100%;top:0;left:0;right:0;margin:auto;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;z-index:1}@supports(height: 100dvh){.inno-steps__content{height:100dvh}}.inno-steps__custom{z-index:1;position:absolute;width:100vw;height:100%;top:0;left:0;right:0;bottom:0;margin:auto;display:flex;align-items:center;justify-content:center}@media(min-width: 960px){.inno-steps__custom–left{width:50%;right:auto}}@media(min-width: 960px){.inno-steps__custom–right{width:50%;left:auto}}.inno-steps__custom:empty{display:none;pointer-events:none}.inno-steps__background{position:absolute;object-fit:cover;inset:0;opacity:0;transition:opacity .4s ease-in-out;z-index:0;background-color:var(–color-background);display:flex;justify-content:center;align-items:center}.inno-steps__background .inno-graphic{width:100%}.inno-steps__background .inno-looping-video,.inno-steps__background .inno-image{width:100%;height:100%}.inno-steps__background .inno-looping-video__video,.inno-steps__background .inno-image__img{height:100%;width:100%;object-position:center;object-fit:cover}.inno-steps__background–contain{background-color:var(–color-background);padding:8px}@media(min-width: 768px){.inno-steps__background–contain{padding:16px}}.inno-steps__background–contain .inno-looping-video__video,.inno-steps__background–contain .inno-image__img{object-fit:contain}.inno-steps__background–left .inno-image__img{object-fit:contain}@media(min-width: 960px){.inno-steps__background–left{width:50%;right:auto}}.inno-steps__background–right .inno-image__img{object-fit:contain}@media(min-width: 960px){.inno-steps__background–right{width:50%;left:auto}}.inno-steps–has-backgrounds[data-index=”-1″] .inno-steps__background–0{opacity:1;z-index:1}.inno-subscribe{display:none;position:relative}.inno-subscribe.is-unsubscribed{display:block}.inno-subscribe.is-preview{display:block}.inno-subscribe.is-dev{display:block}.inno-subscribe.is-dev::before{content:”Non-subscribers only”;display:block;position:absolute;left:-20px;border:1px dashed red;font-size:8px;text-transform:uppercase;padding:5px;font-weight:bold;writing-mode:vertical-lr}.inno-video{width:auto}.inno-video__video{width:100%}.inno-toast{position:fixed;bottom:16px;left:0;right:0;width:max-content;margin:0px auto;z-index:120;display:flex;align-content:center;justify-content:center;text-align:center;font-size:20px;border-radius:5px;background-color:var(–color-text-primary);color:var(–color-background);padding:24px 48px;box-shadow:0 1px 4px rgba(89,87,96,.1),0 3px 6px rgba(89,87,96,.1);translate:0% calc(100% + 18px);transition:translate .4s;opacity:0}.inno-toast b,.inno-toast strong{font-weight:normal}.inno-toast.is-active{translate:0 0;opacity:1}

    On August 23, SEPTA will implement phase one of their new bus network, with changes to 30 lines.

    How Septa’sNew Bus NetworkImpacts you

    You say you want a revolution? That’s not quite what SEPTA’s proposing. This weekend, the region’s transit agency will roll out the first phase of its New Bus Network, the bus system’s first significant update since the agency was formed in the 1960s.

    Sound familiar? Once dubbed Bus Revolution, the project began in 2021 after transit agencies around the country saw massive declines in ridership. SEPTA’s Bus Revolution was set to launch in 2025 but faced significant community pushback and coincided with the state funding crisis that halted many planned transit initiatives. It was officially shelved in November 2024.

    Two years later, a slimmed-down version of the plan has a new name and a new approach. Beginning Sunday, 30 bus routes will see changes ranging from cancellation of lines to altered frequencies. The most impacted areas are South Philadelphia, Kensington/Juniata, the Cheltenham Avenue Corridor, the Lancaster Avenue Corridor, and Roxborough.

    Later phases of the plan, which will roll out in 2027, will impact other neighborhoods. The number of bus routes in SEPTA’s system will drop from the current 124 to 106 when all four phases are complete.

    SEPTA says the changes are needed to modernize the system and make it easier to use.

    To help you navigate the changes that will impact how you navigate the city, we’re here to breakdown down all 30 impacted routes.

    Enter your address to only see routes near you …

    Something has gone wrong. Please try again.
    Loading…

    … or select a route to jump to it.

    Showing routes impacted
    On SEPTA's bus network

    • 4

      Broad-Pattison to Fern Rock Transportation Center

      This route remains the same but with reduced service.

      Days
      Times
      Previous
      Now
      Weekdays
      6 a.m. to 9 p.m.
      Every 16-25 minutes
      Every 30 minutes
      Saturdays
      8 a.m. to 9 p.m.
      Every 22-25 minutes
      Every 30 minutes
    • 6

      Cheltenham-Ogontz to Olney Transportation Center

      On weekdays, route 6 will have increased service during peak hours, but a reduced service otherwise.

      Days
      Times
      Previous
      Now
      Weekdays
      6 a.m. to 9 p.m.
      Every 11-13 minutes
      Every 10 minutes
      Weekdays
      9 p.m. to midnight
      Every 20 minutes
      Every 30 minutes
      Weekdays
      midnight to 4 a.m.
      Every 30-40 minutes
      Every 60 minutes

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 17

      Front-Market to 20th-Johnston

      Route 17 will be shortened and no longer operate on its old route from 20th Street and Johnston Street down to the stadium complex or the Navy Yard. SEPTA recommends Navy Yard commuters take route 45 instead.

      This route will also operate with reduced service overnight.

      Days
      Times
      Previous
      Now
      Weekdays
      midnight to 5 a.m.
      Every 30 minutes
      Every 60 minutes

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 25

      Frankford Transportation Center to Front-Spring Garden

      Route 25 is essentially being cut in half. The old route ran down Delaware Avenue to Columbus Commons. The new route will terminate at the Spring Garden Market-Frankford Line station. The old route from Spring Garden to Columbus Commons will be serviced by the new route 76.

      Route 25 will now operate for 24 hours a day, as part of SEPTA’s late-night OWL network.

      This route will also have increased service.

      Days
      Times
      Previous
      Now
      Weekdays
      6 a.m. to 9 p.m.
      Every 20-30 minutes
      Every 15 minutes
      Weekends
      6 a.m. to 9 p.m.
      Every 30 minutes
      Every 20 minutes

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 32

      Broad-Carpenter to Ridge-Lyceum

      Route 32 will have slightly reduced service with fewer buses overall. All route 32 buses will terminate at Manayunk, as opposed to the previous schedule where half would terminate at 33rd Street and Cecil B. Moore Avenue. There’s also a slight route extension into Roxborough for school service.

    • 35

      Manayunk Roxborough Loop

      Route 35 will be discontinued on Aug. 23. SEPTA recommends riders take route 61.

      According to SEPTA’s operation statistics, route 35 is the seventh most expensive bus based on the average cost per passenger.

    • 39

      Richmond-Cumberland to 33rd-Dauphin

      Route 39 will remain the same but with reduced service on weekdays and slightly increased service on Saturday evenings..

      Days
      Times
      Previous
      Now
      Weekdays
      6 a.m. to 9 p.m.
      Every 20-30 minutes
      Every 30 minutes
      Saturday
      5 p.m. to 9 p.m.
      Every 40-60 minutes
      Every 30 minutes
    • 44

      Front-Market to Ardmore

      Route 44 will no longer run along its old route that would sometimes terminate at Gladwyne. Beginning Aug. 23, all 44 buses will run to Ardmore, with select trips stopping at Narberth.

      This route will also have reduced service.

      Days
      Times
      Previous
      Now
      Weekdays
      9 a.m. to 3 p.m.
      Every 15-30 minutes
      Every 60 minutes
      Weekends
      6 a.m. to midnight
      Every 30 minutes
      Every 60 minutes
    • 45

      Navy Yard/Broad-Oregon to 12th-Noble

      Route 45 will be extended to the Navy Yard to cover for the changes to route 17.

      After 9 p.m. the route will have reduced service on weekdays.

      Days
      Times
      Previous
      Now
      Weekdays
      9 p.m. to midnight
      Every 20 minutes
      Every 30 minutes
    • 46

      58th-Baltimore to 63rd-Malvern

      Route 46 will have increased service on weekdays.

      Days
      Times
      Previous
      Now
      Saturdays
      9 a.m. to 6 p.m.
      Every 20 minutes
      Every 15 minutes
      Sundays
      9 a.m. to 7 p.m.
      Every 30 minutes
      Every 20 minutes

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 47

      Whitman Plaza to 5th-Godfrey

      Route 47 will merge with route 47M and have increased service.

      Days
      Times
      Previous
      Now
      Weekdays
      6 a.m. to 9 p.m.
      Every 8-9 minutes
      Every 7-8 minutes
      All days
      Midnight. to 5 a.m.
      Every 45 minutes
      Every 30 minutes

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 47M

      Whitman Plaza to 7th-Spring Garden via 9th

      Route 47M has been discontinued and will now be served by a more frequent route 47.

      The merger of these two routes includes a realignment so that the northbound 47 runs on Seventh Street, as opposed to Ninth Street. Southbound buses will still run on Eighth Street.

    • 49

      33rd-Dauphin to 40th-Baltimore

      Route 49 will look very different from its old route. It will no longer serve Gray’s Ferry. SEPTA recommends riders take route 79 instead.

      Route 49 will also operate on many different roads. The most notable change is taking 33rd Street instead of 29th Street. in Strawberry Mansion and Brewerytown.

      These changes are paired with generally reduced service.

      Days
      Times
      Previous
      Now
      Weekdays
      8 a.m. to 3 p.m.
      Every 18-22 minutes
      Every 30 minutes
      Saturdays
      8 a.m. to 9 p.m.
      Every 22 minutes
      Every 30 minutes
      Sundays
      9 a.m. to 7 p.m.
      Every 22 minutes
      Every 30 minutes
    • 52

      49th-Woodland to Wissahickon Transportation Center/50th-Parkside

      Route 52 will no longer follow its old route to Gladwyne. SEPTA cites low ridership and doesn’t offer an alternative route.

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 53

      Carpenter Station to Richmond-Westmoreland

      Buses on route 53 will no longer follow the old route that terminated at Sedgwick Street and Wayne Avenue. Instead, service will end at Carpenter Regional Rail station. There are additionally a bunch of small differences across the route. For example, route 53 will now serve Roosevelt Boulevard. on the western side of Hunting Park.

      The 53 will also continue past G Street and extend into Port Richmond.

    • 54

      Richmond-Cambria to 33rd-Dauphin

      Buses on route 54 will have reduced service during weekdays and increased service during evenings.

      Days
      Times
      Previous
      Now
      Weekdays
      9 a.m. to 3 p.m.
      Every 15-18 minutes
      Every 20 minutes
      All days
      9 p.m. to midnight
      Every 45 minutes
      Every 30 minutes
    • 57

      Whitman Plaza to Fern Rock Transportation Center

      The old route 57 occasionally would terminate at Packer Marine Terminal, that service will be discontinued.

      During weekends the route 57 will run at a reduced service.

      Days
      Times
      Previous
      Now
      Weekends
      All day
      Every 10-12 minutes
      Every 15 minutes

      Service along Crescentville and Cheltenham Avenues will be reduced to every hour.

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 60

      Wissahickon Transportation Center/35th-Allegheny to Richmond-Westmoreland

      Most of route 60 will continue to go down Allegheny Avenue, but it will not follow its old route where some buses stopped on Delaware Avenue and Lewis Street.

      The 60 will occasionally take an extended route and continue to the Wissahickon Transportation Center. The schedule is roughly split 50:50 whether a bus will continue to this new terminus or stop early at 35th Street and Allegheny Avenue.

      Route 60 will also see increased service.

      Days
      Times
      Previous
      Now
      Weekdays
      6 a.m. to 6 p.m.
      Every 10-15 minutes
      Every 10 minutes

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 61

      9th-Market to Ridge-Summit

      Route 61 will be extended to Upper Roxborough. This is primarily to cover for the discontinued route 35.

    • 62

      9th-Market to Andorra

      Route 62 will be discontinued. SEPTA recommends riders take routes 9, 27, or 61 as an alternative. According to SEPTA, route 62 was the fourth most expensive route to operate, costing an average of $45 per passenger.

    • 64

      50th-Parkside to Pier 70

      Previously, route 64 would occasionally terminate at 49th Street and Woodland Avenue. Under the new network, all trips will terminate at Parkside Loop. The 64 will also no longer take the old route’s detour into Grays Ferry.

      Route 64 will operate at a increased service.

      Days
      Times
      Previous
      Now
      All days
      6 a.m. to 9 a.m.
      Every 12-18 minutes
      Every 12 minutes
      All days
      9 a.m. to 9 p.m.
      Every 20 minutes
      Every 15 minutes

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 72

      Cedarbrook Plaza to Frankford Transportation Center

      72 is a brand new route that mostly operates on Cheltenham Avenue and will run every 30 minutes.

    • 73

      Frankford Transportation Center to Richmond-Westmoreland

      Route 73 will now run at a reduced service from every 20-25 minutes to every 30 minutes.

      Additionally the route 73 will no longer be part of the OWL network, ending 24-hour service on the line. SEPTA recommends riders take route 25 for overnight buses.

    • 76

      Rising Sun-Olney to Columbus Commons

      Route 76 is a brand new route that will mostly run along Delaware and Frankford Avenues every 30 minutes. This route replaces service removed from the newly aligned route 25.

    • 78

      Express from Cornwells Heights to Center City

      Route 78 will be discontinued due to lower ridership. SEPTA does not recommend an alternative bus.

      According to SEPTA figures, the 78 was the most expensive bus to operate in their network. It has an average of 2.4 passengers per hour, costing the agency $394 per rider.

    • 79

      Columbus Commons to 29th-Snyder/40th-Market

      Route 79 will occasionally be extended into West Philadelphia. Roughly every other bus will continue to 40th and Market Streets, instead of the current terminus of 29th Street and Synder Avenue.

      SEPTA also rolled out new signage that identifies certain routes as “frequent red”, indicating a bus is scheduled to arrive within 15 minutes or less on weekdays from 6 a.m. to 9 p.m.

    • 80

      Express from Horsham to Olney Transit Center

      Route 80 will be discontinued. SEPTA stated that “ridership has declined significantly since 2019 and the same connection can be made with a transfer on local routes 22, 51, and 310.”

      According to SEPTA data, route 80 was the third most expensive route to run, costing the agency $50 per passenger.

    • 89

      Front-Dauphin to Arrott Transit Center

      Route 89 will be discontinued. SEPTA says route 89 is “duplicative of other routes,” and offers “routes 3, 5, 25, 39, 41, 43, 53, 56, 75, 76, and K as alternatives.”

    • 105

      Paoli/Rosemont to 69th Street Transit Center

      Route 105 will extend to Paoli for roughly every other bus, essentially merging with the now discontinued route 106.

      The old route that serviced Suburban Square will no longer operate. There are also minor alignment changes in Overbrook.

      Route 105 will operate at a increased service.

      Days
      Times
      Previous
      Now
      Weekdays
      All day
      Every 30-60 minutes
      Every 30 minutes
      Weekends
      All day
      Every 60 minutes
      Every 30 minutes

      These changes will take effect on Aug. 24.

    • 106

      Paoli to 69th Street Transit Center

      Route 106 will be discontinued on Aug. 24.

    Do you still have questions about the changes to SEPTA’s bus network? Read our Q&A guide for details on how to contact SEPTA, information about future alterations in 2027, and much more.

    Methodology

    The animating buses on the diagram are an approximation of the number of buses active at 9 a.m. on a weekday schedule.

    Old routes are accurate to SEPTA’s bus network on Aug. 4.

    For simplicity, if a route can have different terminuses, we show all possible paths the bus operates on.

    story continues after advertisement

    Staff Contributors

    • Design, Development, and Data: Sam Morris
    • Reporting: Sam Morris and Erica Palan
    • Editing: Cynthia Henry

    Subscribe to The Philadelphia Inquirer

    Our reporting is directly supported by reader subscriptions. If you want more journalism like this story, please subscribe today

    (()=>{var Cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Rt=Cr(b=>{var cn={0:”Jan.”,1:”Feb.”,2:”March”,3:”April”,4:”May”,5:”June”,6:”July”,7:”Aug.”,8:”Sept.”,9:”Oct.”,10:”Nov.”,11:”Dec.”};function Dt(e){return e===void 0&&(e=new Date),cn[e.getMonth()]}var fn={0:”Jan”,1:”Feb”,2:”Mar”,3:”Apr”,4:”May”,5:”Jun”,6:”Jul”,7:”Aug”,8:”Sep”,9:”Oct”,10:”Nov”,11:”Dec”};function Ft(e){return e===void 0&&(e=new Date),fn[e.getMonth()]}function U(e){return e==null}function Ut(e){return typeof e==”number”&&isFinite(e)}function me(e){return Ut(e)&&Math.floor(e)===e}var hn=[“one”,”two”,”three”,”four”,”five”,”six”,”seven”,”eight”,”nine”],pn=[“million”,”billion”,”trillion”,”quadrillion”,”quintillion”,”sextillion”,”septillion”,”octillion”,”nonillion”,”decillion”],kt=[“th”,”st”,”nd”,”rd”,”th”,”th”,”th”,”th”,”th”,”th”],mn=[11,12,13];function It(e){if(U(e))return””;var t=+e;return me(t)?mn.indexOf(t%100)>-1?kt[0]:kt[t%10]:””}var dn=[“first”,”second”,”third”,”fourth”,”fifth”,”sixth”,”seventh”,”eighth”,”ninth”],vn=new RegExp(/s+([^s]*)s*$/);b.apdate=function(e){return e===void 0&&(e=new Date),Dt(e)+” “+e.getDate()+”, “+e.getFullYear()},b.apdatetab=function(e){return e===void 0&&(e=new Date),Ft(e)+” “+e.getDate()+”, “+e.getFullYear()},b.apmonth=Dt,b.apmonthtab=Ft,b.apnumber=function(e){if(U(e))return””;var t=+e;return me(t)?t=10?e.toString():hn[t-1]:e.toString()},b.aptime=function(e){e===void 0&&(e=new Date);var t,r,n=e.getHours(),i=e.getMinutes(),o=i===0;if(o){if(n===0)return”midnight”;if(n===12)return”noon”}return n0?n:12):(t=”p.m.”,r=n===12?n:n-12),o?r+” “+t:r+”:”+(i<10?"0"+i:i)+" "+t},b.capfirst=function(e){if(U(e))return"";var t=String(e);return""+t.charAt(0).toUpperCase()+t.slice(1)},b.intcomma=function(e){if(U(e))return"";var t,r=+e;return Ut(r)?((t=r.toString().split("."))[0]=t[0].replace(/B(?=(d{3})+(?!d))/g,","),t.join(".")):e.toString()},b.intword=function(e){if(U(e))return"";var t=+e;if(!me(t))return e.toString();var r=Math.abs(t);if(r<1e6)return e.toString();var n=Math.ceil(Math.log(r+1)/Math.LN10)-1,i=n-n%3,o=t/Math.pow(10,i);return(o=Math.round(10*o)/10)+" "+pn[Math.floor(i/3)-2]},b.ordinal=function(e,t){if(t===void 0&&(t=!1),U(e))return"";var r=+e;return me(r)?t&&r{},ct={init:()=>{zr()}};var qr=e=>{document.querySelectorAll(“.js-route”).forEach(t=>{e&&!e.includes(t.dataset.id)?t.classList.add(“is-hidden”):t.classList.remove(“is-hidden”)})},V={update:qr};var fe,Dr=(e,t)=>{fe=fe||window.PMNdataLayer,fe?fe.push({event:”misc_event”,eventAction:e,eventLabel:t}):window.location.hostname.includes(“localhost”)?console.log(“Analytics event:”,e,t,”(not actually being sent due to localhost)”):console.log(“Failed to push analytics event”,e,t)},Fe={event:(e,t)=>{Dr(e,t)}};var E=Uint8Array,J=Uint16Array,Fr=Int32Array,ft=new E([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ht=new E([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),kr=new E([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),pt=function(e,t){for(var r=new J(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];for(var i=new Fr(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},mt=pt(ft,2),dt=mt.b,Ir=mt.r;dt[28]=258,Ir[258]=28;var vt=pt(ht,0),Ur=vt.b,di=vt.r,Ue=new J(32768);for(p=0;p>1|(p&21845)<>2|(k&13107)<>4|(k&3855)<>8|(k&255)<>1;var k,p,te=function(e,t,r){for(var n=e.length,i=0,o=new J(t);i<n;++i)e[i]&&++o[e[i]-1];var s=new J(t);for(i=1;i<t;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new J(1<<t);var l=15-t;for(i=0;i<n;++i)if(e[i])for(var u=i<<4|e[i],f=t-e[i],c=s[e[i]-1]++<<f,h=c|(1<<f)-1;c>l]=u}else for(a=new J(n),i=0;i>15-e[i]);return a},re=new E(288);for(p=0;p<144;++p)re[p]=8;var p;for(p=144;p<256;++p)re[p]=9;var p;for(p=256;p<280;++p)re[p]=7;var p;for(p=280;p<288;++p)re[p]=8;var p,gt=new E(32);for(p=0;p<32;++p)gt[p]=5;var p;var Rr=te(re,9,1);var Br=te(gt,5,1),ke=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},D=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<>(t&7)&r},Ie=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<>(t&7)},Or=function(e){return(e+7)/8|0},Hr=function(e,t,r){return(t==null||te.length)&&(r=e.length),new E(e.subarray(t,r))};var $r=[“unexpected EOF”,”invalid block type”,”invalid length/literal”,”invalid distance”,”stream finished”,”no stream handler”,,”no callback”,”invalid UTF-8 data”,”extra field too long”,”date not in range 1980-2099″,”filename too long”,”stream finishing”,”invalid zip data”],M=function(e,t,r){var n=new Error(t||$r[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,M),!r)throw n;return n},Re=function(e,t,r,n){var i=e.length,o=n?n.length:0;if(!i||t.f&&!t.l)return r||new E(0);var s=!r,a=s||t.i!=2,l=t.i;s&&(r=new E(i*3));var u=function(at){var lt=r.length;if(at>lt){var ut=new E(Math.max(lt*2,at));ut.set(r),r=ut}},f=t.f||0,c=t.p||0,h=t.b||0,v=t.l,x=t.d,d=t.m,F=t.n,z=i*8;do{if(!v){f=D(e,c,1);var H=D(e,c+1,3);if(c+=3,H)if(H==1)v=Rr,x=Br,d=9,F=5;else if(H==2){var Pe=D(e,c,31)+257,_e=D(e,c+10,15)+4,et=Pe+D(e,c+5,31)+1;c+=14;for(var _=new E(et),Ce=new E(19),P=0;P<_e;++P)Ce[kr[P]]=D(e,c+P*3,7);c+=_e*3;for(var tt=ke(Ce),Er=(1<<tt)-1,Lr=te(Ce,tt,1),P=0;P>4;if(g<16)_[P++]=g;else{var Z=0,ce=0;for(g==16?(ce=3+D(e,c,3),c+=2,Z=_[P-1]):g==17?(ce=3+D(e,c,7),c+=3):g==18&&(ce=11+D(e,c,127),c+=7);ce–;)_[P++]=Z}}var nt=_.subarray(0,Pe),I=_.subarray(Pe);d=ke(nt),F=ke(I),v=te(nt,d,1),x=te(I,F,1)}else M(1);else{var g=Or(c)+4,q=e[g-4]|e[g-3]<i){l&&M(0);break}a&&u(h+q),r.set(e.subarray(g,T),h),t.b=h+=q,t.p=c=T*8,t.f=f;continue}if(c>z){l&&M(0);break}}a&&u(h+131072);for(var Ar=(1<<d)-1,Tr=(1<>4;if(c+=Z&15,c>z){l&&M(0);break}if(Z||M(2),W264){var P=W-257,ee=ft[P];it=D(e,c,(1<>4;qe||M(3),c+=qe&15;var I=Ur[De];if(De>3){var ee=ht[De];I+=Ie(e,c)&(1<z){l&&M(0);break}a&&u(h+131072);var ot=h+it;if(h<I){var st=o-I,Pr=Math.min(I,ot);for(st+h<0&&M(3);h<Pr;++h)r[h]=n[st+h]}for(;h<ot;++h)r[h]=r[h-I]}}t.l=v,t.p=ze,t.b=h,t.f=f,v&&(f=1,t.m=d,t.d=x,t.n=F)}while(!f);return h!=r.length&&s?Hr(r,0,h):r.subarray(0,h)};var jr=new E(0);var Gr=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&M(6,"invalid gzip data");var t=e[3],r=10;t&4&&(r+=(e[10]|e[11]<>3&1)+(t>>4&1);n>0;n-=!e[r++]);return r+(t&2)},Nr=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<>>0};var Zr=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<>5&1)==+!t&&M(6,”invalid zlib data: “+(e[1]&32?”need”:”unexpected”)+” dictionary”),(e[1]>>3&4)+2};function Wr(e,t){return Re(e,{i:2},t&&t.out,t&&t.dictionary)}function Vr(e,t){var r=Gr(e);return r+8>e.length&&M(6,”invalid gzip data”),Re(e.subarray(r,-8),{i:2},t&&t.out||new E(Nr(e)),t&&t.dictionary)}function Jr(e,t){return Re(e.subarray(Zr(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}function yt(e,t){return e[0]==31&&e[1]==139&&e[2]==8?Vr(e,t):(e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31?Wr(e,t):Jr(e,t)}var Kr=typeof TextDecoderXr(e,”name”,{value:t,configurable:!0}),w=(e,t,r)=>new Promise((n,i)=>{var o=l=>{try{a(r.next(l))}catch(u){i(u)}},s=l=>{try{a(r.throw(l))}catch(u){i(u)}},a=l=>l.done?n(l.value):Promise.resolve(l.value).then(o,s);a((r=r.apply(e,t)).next())}),yi=m((e,t)=>{let r=!1,n=””,i=L.GridLayer.extend({createTile:m((o,s)=>{let a=document.createElement(“img”),l=new AbortController,u=l.signal;return a.cancel=()=>{l.abort()},r||(e.getHeader().then(f=>{f.tileType===1?console.error(“Error: archive contains MVT vector tiles, but leafletRasterLayer is for displaying raster tiles. See https://github.com/protomaps/PMTiles/tree/main/js for details.”):f.tileType===2?n=”image/png”:f.tileType===3?n=”image/jpeg”:f.tileType===4?n=”image/webp”:f.tileType===5&&(n=”image/avif”)}),r=!0),e.getZxy(o.z,o.x,o.y,u).then(f=>{if(f){let c=new Blob([f.data],{type:n}),h=window.URL.createObjectURL(c);a.src=h,a.cancel=void 0,s(void 0,a)}}).catch(f=>{if(f.name!==”AbortError”)throw f}),a},”createTile”),_removeTile:m(function(o){let s=this._tiles[o];s&&(s.el.cancel&&s.el.cancel(),s.el.width=0,s.el.height=0,s.el.deleted=!0,L.DomUtil.remove(s.el),delete this._tiles[o],this.fire(“tileunload”,{tile:s.el,coords:this._keyToTileCoords(o)}))},”_removeTile”)});return new i(t)},”leafletRasterLayer”),Qr=m(e=>(t,r)=>{if(r instanceof AbortController)return e(t,r);let n=new AbortController;return e(t,n).then(i=>r(void 0,i.data,i.cacheControl||””,i.expires||””),i=>r(i)).catch(i=>r(i)),{cancel:m(()=>n.abort(),”cancel”)}},”v3compat”),wt=class{constructor(t){this.tilev4=m((r,n)=>w(this,null,function*(){if(r.type===”json”){let v=r.url.substr(10),x=this.tiles.get(v);if(x||(x=new he(v),this.tiles.set(v,x)),this.metadata)return{data:yield x.getTileJson(r.url)};let d=yield x.getHeader();return(d.minLon>=d.maxLon||d.minLat>=d.maxLat)&&console.error(`Bounds of PMTiles archive ${d.minLon},${d.minLat},${d.maxLon},${d.maxLat} are not valid.`),{data:{tiles:[`${r.url}/{z}/{x}/{y}`],minzoom:d.minZoom,maxzoom:d.maxZoom,bounds:[d.minLon,d.minLat,d.maxLon,d.maxLat]}}}let i=new RegExp(/pmtiles://(.+)/(d+)/(d+)/(d+)/),o=r.url.match(i);if(!o)throw new Error(“Invalid PMTiles protocol URL”);let s=o[1],a=this.tiles.get(s);a||(a=new he(s),this.tiles.set(s,a));let l=o[2],u=o[3],f=o[4],c=yield a.getHeader(),h=yield a?.getZxy(+l,+u,+f,n.signal);if(h)return{data:new Uint8Array(h.data),cacheControl:h.cacheControl,expires:h.expires};if(c.tileType===1){if(this.errorOnMissingTile)throw new Error(“Tile not found.”);return{data:new Uint8Array}}return{data:null}}),”tilev4″),this.tile=Qr(this.tilev4),this.tiles=new Map,this.metadata=t?.metadata||!1,this.errorOnMissingTile=t?.errorOnMissingTile||!1}add(t){this.tiles.set(t.source.getKey(),t)}get(t){return this.tiles.get(t)}};m(wt,”Protocol”);var xt=wt;function bt(e,t){return(t>>>0)*4294967296+(e>>>0)}m(bt,”toNum”);function St(e,t){let r=t.buf,n=r[t.pos++],i=(n&112)>>4;if(n<128||(n=r[t.pos++],i|=(n&127)<<3,n<128)||(n=r[t.pos++],i|=(n&127)<<10,n<128)||(n=r[t.pos++],i|=(n&127)<<17,n<128)||(n=r[t.pos++],i|=(n&127)<<24,n<128)||(n=r[t.pos++],i|=(n&1)<<31,n<128))return bt(e,i);throw new Error("Expected varint not more than 10 bytes")}m(St,"readVarintRemainder");function K(e){let t=e.buf,r=t[e.pos++],n=r&127;return r<128||(r=t[e.pos++],n|=(r&127)<<7,r<128)||(r=t[e.pos++],n|=(r&127)<<14,r<128)||(r=t[e.pos++],n|=(r&127)<<21,r<128)?n:(r=t[e.pos],n|=(r&15)<<28,St(n,e))}m(K,"readVarint");function Oe(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}m(Oe,"rotate");function Mt(e,t){let r=ne(2,e),n=t,i=t,o=t,s=[0,0],a=1;for(;a26)throw new Error(“Tile zoom level exceeds max safe number limit (26)”);if(t>ne(2,e)-1||r>ne(2,e)-1)throw new Error(“tile x/y outside zoom level bounds”);let n=_r[e],i=ne(2,e),o=0,s=0,a=0,l=[t,r],u=i/2;for(;u>0;)o=(l[0]&u)>0?1:0,s=(l[1]&u)>0?1:0,a+=u*u*(3*o^s),Oe(u,l,o,s),u=u/2;return n+a}m(Et,”zxyToTileId”);function en(e){let t=0,r=0;for(let n=0;n<27;n++){let i=(1<<n)*(1<e)return Mt(n,e-t);t+=i}throw new Error(“Tile zoom level exceeds max safe number limit (26)”)}m(en,”tileIdToZxy”);var tn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.None=1]=”None”,e[e.Gzip=2]=”Gzip”,e[e.Brotli=3]=”Brotli”,e[e.Zstd=4]=”Zstd”,e))(tn||{});function pe(e,t){return w(this,null,function*(){if(t===1||t===0)return e;if(t===2){if(typeof globalThis.DecompressionStream>”u”)return yt(new Uint8Array(e));let r=new Response(e).body;if(!r)throw new Error(“Failed to read response stream”);let n=r.pipeThrough(new globalThis.DecompressionStream(“gzip”));return new Response(n).arrayBuffer()}throw new Error(“Compression method not supported”)})}m(pe,”defaultDecompress”);var rn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.Mvt=1]=”Mvt”,e[e.Png=2]=”Png”,e[e.Jpeg=3]=”Jpeg”,e[e.Webp=4]=”Webp”,e[e.Avif=5]=”Avif”,e))(rn||{});function Lt(e){return e===1?”.mvt”:e===2?”.png”:e===3?”.jpg”:e===4?”.webp”:e===5?”.avif”:””}m(Lt,”tileTypeExt”);var nn=127;function At(e,t){let r=0,n=e.length-1;for(;r>1,o=t-e[i].tileId;if(o>0)r=i+1;else if(o=0&&(e[n].runLength===0||t-e[n].tileId-1,o=/Chrome|Chromium|Edg|OPR|Brave/.test(n);this.chromeWindowsNoCache=!1,i&&o&&(this.chromeWindowsNoCache=!0)}getKey(){return this.url}setHeaders(t){this.customHeaders=t}getBytes(t,r,n,i){return w(this,null,function*(){let o,s;n?s=n:(o=new AbortController,s=o.signal);let a=new Headers(this.customHeaders);a.set(“range”,`bytes=${t}-${t+r-1}`);let l;this.mustReload?l=”reload”:this.chromeWindowsNoCache&&(l=”no-store”);let u=yield fetch(this.url,{signal:s,cache:l,headers:a});if(t===0&&u.status===416){let h=u.headers.get(“Content-Range”);if(!h||!h.startsWith(“bytes */”))throw new Error(“Missing content-length on 416 response”);let v=+h.substr(8);u=yield fetch(this.url,{signal:s,cache:”reload”,headers:{range:`bytes=0-${v-1}`}})}let f=u.headers.get(“Etag”);if(f!=null&&f.startsWith(“W/”)&&(f=null),u.status===416||i&&f&&f!==i)throw this.mustReload=!0,new Be(`Server returned non-matching ETag ${i} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);if(u.status>=300)throw new Error(`Bad response code: ${u.status}`);let c=u.headers.get(“Content-Length”);if(u.status===200&&(!c||+c>r))throw o&&o.abort(),new Error(“Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.”);return{data:yield u.arrayBuffer(),etag:f||void 0,cacheControl:u.headers.get(“Cache-Control”)||void 0,expires:u.headers.get(“Expires”)||void 0}})}};m(Tt,”FetchSource”);var sn=Tt;function C(e,t){let r=e.getUint32(t+4,!0),n=e.getUint32(t+0,!0);return r*ne(2,32)+n}m(C,”getUint64″);function Pt(e,t){let r=new DataView(e),n=r.getUint8(7);if(n>3)throw new Error(`Archive is spec version ${n} but this library supports up to spec version 3`);return{specVersion:n,rootDirectoryOffset:C(r,8),rootDirectoryLength:C(r,16),jsonMetadataOffset:C(r,24),jsonMetadataLength:C(r,32),leafDirectoryOffset:C(r,40),leafDirectoryLength:C(r,48),tileDataOffset:C(r,56),tileDataLength:C(r,64),numAddressedTiles:C(r,72),numTileEntries:C(r,80),numTileContents:C(r,88),clustered:r.getUint8(96)===1,internalCompression:r.getUint8(97),tileCompression:r.getUint8(98),tileType:r.getUint8(99),minZoom:r.getUint8(100),maxZoom:r.getUint8(101),minLon:r.getInt32(102,!0)/1e7,minLat:r.getInt32(106,!0)/1e7,maxLon:r.getInt32(110,!0)/1e7,maxLat:r.getInt32(114,!0)/1e7,centerZoom:r.getUint8(118),centerLon:r.getInt32(119,!0)/1e7,centerLat:r.getInt32(123,!0)/1e7,etag:t}}m(Pt,”bytesToHeader”);function He(e){let t={buf:new Uint8Array(e),pos:0},r=K(t),n=[],i=0;for(let o=0;o<r;o++){let s=K(t);n.push({tileId:i+s,offset:0,length:0,runLength:1}),i+=s}for(let o=0;o<r;o++)n[o].runLength=K(t);for(let o=0;o<r;o++)n[o].length=K(t);for(let o=0;o0?n[o].offset=n[o-1].offset+n[o-1].length:n[o].offset=s-1}return n}m(He,”deserializeIndex”);var Ct=class extends Error{};m(Ct,”EtagMismatch”);var Be=Ct;function $e(e,t){return w(this,null,function*(){let r=yield e.getBytes(0,16384);if(new DataView(r.data).getUint16(0,!0)!==19792)throw new Error(“Wrong magic number for PMTiles archive”);let n=r.data.slice(0,nn),i=Pt(n,r.etag),o=r.data.slice(i.rootDirectoryOffset,i.rootDirectoryOffset+i.rootDirectoryLength),s=`${e.getKey()}|${i.etag||””}|${i.rootDirectoryOffset}|${i.rootDirectoryLength}`,a=He(yield t(o,i.internalCompression));return[i,[s,a.length,a]]})}m($e,”getHeaderAndRoot”);function je(e,t,r,n,i){return w(this,null,function*(){let o=yield e.getBytes(r,n,void 0,i.etag),s=yield t(o.data,i.internalCompression),a=He(s);if(a.length===0)throw new Error(“Empty directory is invalid”);return a})}m(je,”getDirectory”);var an=class{constructor(t=100,r=!0,n=pe){this.cache=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=n}getHeader(t){return w(this,null,function*(){let r=t.getKey(),n=this.cache.get(r);if(n)return n.lastUsed=this.counter++,n.data;let i=yield $e(t,this.decompress);return i[1]&&this.cache.set(i[1][0],{lastUsed:this.counter++,data:i[1][2]}),this.cache.set(r,{lastUsed:this.counter++,data:i[0]}),this.prune(),i[0]})}getDirectory(t,r,n,i){return w(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,s.data;let a=yield je(t,this.decompress,r,n,i);return this.cache.set(o,{lastUsed:this.counter++,data:a}),this.prune(),a})}prune(){if(this.cache.size>this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{$e(t,this.decompress).then(a=>{a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,data:Promise.resolve(a[1][2])}),o(a[0]),this.prune()}).catch(a=>{s(a)})});return this.cache.set(r,{lastUsed:this.counter++,data:i}),i})}getDirectory(t,r,n,i){return w(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((l,u)=>{je(t,this.decompress,r,n,i).then(f=>{l(f),this.prune()}).catch(f=>{u(f)})});return this.cache.set(o,{lastUsed:this.counter++,data:a}),a})}prune(){if(this.cache.size>=this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{this.getHeader(t).then(s=>{i(),this.invalidations.delete(r)}).catch(s=>{o(s)})});this.invalidations.set(r,n)})}};m(zt,”SharedPromiseCache”);var ln=zt,qt=class{constructor(t,r,n){typeof t==”string”?this.source=new sn(t):this.source=t,n?this.decompress=n:this.decompress=pe,r?this.cache=r:this.cache=new ln}getHeader(){return w(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(t,r,n,i){return w(this,null,function*(){let o=Et(t,r,n),s=yield this.cache.getHeader(this.source);if(ts.maxZoom)return;let a=s.rootDirectoryOffset,l=s.rootDirectoryLength;for(let u=0;u0){let h=yield this.source.getBytes(s.tileDataOffset+c.offset,c.length,i,s.etag);return{data:yield this.decompress(h.data,s.tileCompression),cacheControl:h.cacheControl,expires:h.expires}}a=s.leafDirectoryOffset+c.offset,l=c.length}else return}throw new Error(“Maximum directory depth exceeded”)})}getZxy(t,r,n,i){return w(this,null,function*(){try{return yield this.getZxyAttempt(t,r,n,i)}catch(o){if(o instanceof Be)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,r,n,i);throw o}})}getMetadataAttempt(){return w(this,null,function*(){let t=yield this.cache.getHeader(this.source),r=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength,void 0,t.etag),n=yield this.decompress(r.data,t.internalCompression),i=new TextDecoder(“utf-8″);return JSON.parse(i.decode(n))})}getMetadata(){return w(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof Be)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}getTileJson(t){return w(this,null,function*(){let r=yield this.getHeader(),n=yield this.getMetadata(),i=Lt(r.tileType);return{tilejson:”3.0.0″,scheme:”xyz”,tiles:[`${t}/{z}/{x}/{y}${i}`],vector_layers:n.vector_layers,attribution:n.attribution,description:n.description,name:n.name,version:n.version,bounds:[r.minLon,r.minLat,r.maxLon,r.maxLat],center:[r.centerLon,r.centerLat,r.centerZoom],minzoom:r.minZoom,maxzoom:r.maxZoom}})}};m(qt,”PMTiles”);var he=qt;var Ti=Rt();var Bt=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);var ie=(e,t=null,r=null)=>{r||(r=document.querySelector(“head”));let n=document.createElement(“script”);n.type=”text/javascript”,n.src=e,t&&(n.onload=t),r.appendChild(n)},de=()=>(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state===”Subscribed”,ve=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state;return window.location.host.includes(“zzz-systest”)||window.location.host.includes(“pmn.arcpublishing.com”)||window.location.host.includes(“stage.fusion.inquirer.com”)||typeof t>”u”},Ot=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.hasAdsFreeReading;return!!(t&&t==1)},oe=()=>window.location.host.includes(“localhost”);var gn=e=>{(e&&e.querySelector(“.js-loading”))?.setAttribute(“data-state”,”ready”)},yn=e=>{(e&&e.querySelector(“.js-loading”))?.setAttribute(“data-state”,”loading”)},wn=(e,t)=>{(e&&e.querySelector(“.js-loading”))?.setAttribute(“data-state”,”error”),t&&targetModalErrorEl&&(targetModalErrorEl.textContent=t)},ge={stop:e=>gn(e),start:e=>yn(e),error:(e,t)=>wn(e,t)};var A=63710088e-1,$t={centimeters:A*100,centimetres:A*100,degrees:360/(2*Math.PI),feet:A*3.28084,inches:A*39.37,kilometers:A/1e3,kilometres:A/1e3,meters:A,metres:A,miles:A/1609.344,millimeters:A*1e3,millimetres:A*1e3,nauticalmiles:A/1852,radians:1,yards:A*1.0936};function Y(e,t,r={}){let n={type:”Feature”};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function R(e,t,r={}){if(!e)throw new Error(“coordinates is required”);if(!Array.isArray(e))throw new Error(“coordinates must be an Array”);if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Ht(e[0])||!Ht(e[1]))throw new Error("coordinates must contain numbers");return Y({type:"Point",coordinates:e},t,r)}function jt(e,t,r={}){for(let i of e){if(i.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(i[i.length-1].length!==i[0].length)throw new Error("First and last Position are not equivalent.");for(let o=0;o<i[i.length-1].length;o++)if(i[i.length-1][o]!==i[0][o])throw new Error("First and last Position are not equivalent.")}return Y({type:"Polygon",coordinates:e},t,r)}function Gt(e,t,r={}){if(e.length=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return[…e];throw new Error(“coord must be GeoJSON Point or an Array of numbers”)}function Wt(e){return e.type===”Feature”?e.geometry:e}function Ne(e,t,r={}){if(r.final===!0)return xn(e,t);let n=B(e),i=B(t),o=S(n[0]),s=S(i[0]),a=S(n[1]),l=S(i[1]),u=Math.sin(s-o)*Math.cos(l),f=Math.cos(a)*Math.sin(l)-Math.sin(a)*Math.cos(l)*Math.cos(s-o);return se(Math.atan2(u,f))}function xn(e,t){let r=Ne(t,e);return r=(r+180)%360,r}function ye(e,t,r,n={}){let i=B(e),o=S(i[0]),s=S(i[1]),a=S(r),l=Zt(t,n.units),u=Math.asin(Math.sin(s)*Math.cos(l)+Math.cos(s)*Math.sin(l)*Math.cos(a)),f=o+Math.atan2(Math.sin(a)*Math.sin(l)*Math.cos(s),Math.cos(l)-Math.sin(s)*Math.sin(u)),c=se(f),h=se(u);return i[2]!==void 0?R([c,h,i[2]],n.properties):R([c,h],n.properties)}function Vt(e,t,r={}){var n=B(e),i=B(t),o=S(i[1]-n[1]),s=S(i[0]-n[0]),a=S(n[1]),l=S(i[1]),u=Math.pow(Math.sin(o/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(a)*Math.cos(l);return Nt(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),r.units)}function Ze(e,t,r={}){let i=Wt(e).coordinates,o=0;for(let s=0;s=o&&s===i.length-1);s++)if(o>=t){let a=t-o;if(a){let l=Ne(i[s],i[s-1])-180;return ye(i[s],a,l,r)}else return R(i[s])}else o+=Vt(i[s],i[s+1],r);return R(i[i.length-1])}function We(e,t,r){if(e!==null)for(var n,i,o,s,a,l,u,f=0,c=0,h,v=e.type,x=v===”FeatureCollection”,d=v===”Feature”,F=x?e.features.length:1,z=0;z<F;z++){u=x?e.features[z].geometry:d?e.geometry:e,h=u?u.type==="GeometryCollection":!1,a=h?u.geometries.length:1;for(var H=0;H<a;H++){var g=0,q=0;if(s=h?u.geometries[H]:u,s!==null){l=s.coordinates;var T=s.type;switch(f=r&&(T==="Polygon"||T==="MultiPolygon")?1:0,T){case null:break;case"Point":if(t(l,c,z,g,q)===!1)return!1;c++,g++;break;case"LineString":case"MultiPoint":for(n=0;n<l.length;n++){if(t(l[n],c,z,g,q)===!1)return!1;c++,T==="MultiPoint"&&g++}T==="LineString"&&g++;break;case"Polygon":case"MultiLineString":for(n=0;n<l.length;n++){for(i=0;i<l[n].length-f;i++){if(t(l[n][i],c,z,g,q)===!1)return!1;c++}T==="MultiLineString"&&g++,T==="Polygon"&&q++}T==="Polygon"&&g++;break;case"MultiPolygon":for(n=0;n<l.length;n++){for(q=0,i=0;i<l[n].length;i++){for(o=0;o<l[n][i].length-f;o++){if(t(l[n][i][o],c,z,g,q)===!1)return!1;c++}q++}g++}break;case"GeometryCollection":for(n=0;n{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]0)for(let n=(this.length>>1)-1;n>=0;n–)this._down(n)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;let t=this.data[0],r=this.data.pop();return this.length–,this.length>0&&(this.data[0]=r,this._down(0)),t}peek(){return this.data[0]}_up(t){let{data:r,compare:n}=this,i=r[t];for(;t>0;){let o=t-1>>1,s=r[o];if(n(i,s)>=0)break;r[t]=s,t=o}r[t]=i}_down(t){let{data:r,compare:n}=this,i=this.length>>1,o=r[t];for(;t<i;){let s=(t<<1)+1,a=r[s],l=s+1;if(l<this.length&&n(r[l],a)=0)break;r[t]=a,t=s}r[t]=o}};function bn(e,t){return et?1:0}function Kt(e,t){return e.p.x>t.p.x?1:e.p.xt.p.y?1:-1:1}function Sn(e,t){return e.rightSweepEvent.p.x>t.rightSweepEvent.p.x?1:e.rightSweepEvent.p.x<t.rightSweepEvent.p.x?-1:e.rightSweepEvent.p.y!==t.rightSweepEvent.p.y?e.rightSweepEvent.p.y<t.rightSweepEvent.p.y?1:-1:1}var Me=class{constructor(t,r,n,i){this.p={x:t[0],y:t[1]},this.featureId=r,this.ringId=n,this.eventId=i,this.otherEvent=null,this.isLeftEndpoint=null}isSamePoint(t){return this.p.x===t.p.x&&this.p.y===t.p.y}};function Mn(e,t){if(e.type==="FeatureCollection"){let r=e.features;for(let n=0;n<r.length;n++)Jt(r[n],t)}else Jt(e,t)}var we=0,xe=0,be=0;function Jt(e,t){let r=e.type==="Feature"?e.geometry:e,n=r.coordinates;(r.type==="Polygon"||r.type==="MultiLineString")&&(n=[n]),r.type==="LineString"&&(n=[[n]]);for(let i=0;i<n.length;i++)for(let o=0;o<n[i].length;o++){let s=n[i][o][0],a=null;xe=xe+1;for(let l=0;l0?(f.isLeftEndpoint=!0,u.isLeftEndpoint=!1):(u.isLeftEndpoint=!0,f.isLeftEndpoint=!1),t.push(u),t.push(f),s=a,be=be+1}}we=we+1}var Je=class{constructor(t){this.leftSweepEvent=t,this.rightSweepEvent=t.otherEvent}};function En(e,t){if(e===null||t===null||e.leftSweepEvent.ringId===t.leftSweepEvent.ringId&&(e.rightSweepEvent.isSamePoint(t.leftSweepEvent)||e.rightSweepEvent.isSamePoint(t.leftSweepEvent)||e.rightSweepEvent.isSamePoint(t.rightSweepEvent)||e.leftSweepEvent.isSamePoint(t.leftSweepEvent)||e.leftSweepEvent.isSamePoint(t.rightSweepEvent)))return!1;let r=e.leftSweepEvent.p.x,n=e.leftSweepEvent.p.y,i=e.rightSweepEvent.p.x,o=e.rightSweepEvent.p.y,s=t.leftSweepEvent.p.x,a=t.leftSweepEvent.p.y,l=t.rightSweepEvent.p.x,u=t.rightSweepEvent.p.y,f=(u-a)*(i-r)-(l-s)*(o-n),c=(l-s)*(n-a)-(u-a)*(r-s),h=(i-r)*(n-a)-(o-n)*(r-s);if(f===0)return!1;let v=c/f,x=h/f;if(v>=0&&v=0&&x<=1){let d=r+v*(i-r),F=n+v*(o-n);return[d,F]}return!1}function Ln(e,t){t=t||!1;let r=[],n=new Se([],Sn);for(;e.length;){let i=e.pop();if(i.isLeftEndpoint){let o=new Je(i);for(let s=0;s{let f=u.join(“,”);l[f]||(l[f]=!0,a.push(u))})}else a=s;return Ge(a.map(l=>R(l)))}var Xt=Pn;function Cn(e,t,r={}){let n=r.steps||64,i=r.properties?r.properties:!Array.isArray(e)&&e.type===”Feature”&&e.properties?e.properties:{},o=[];for(let s=0;s{ie(“https://interactives.inquirer.com/storage/dependencies/maplibre/5.3.0/maplibre-gl.js”,()=>{let e=new xt;Ee=window.maplibregl,Ee.addProtocol(“pmtiles”,e.tile);let t=”https://interactives.inquirer.com/melish/1.3″,r=`${t}/north-america.pmtiles`,n=new he(r);e.add(n),n.getHeader().then(async()=>{let o=await(await fetch(`${t}/styles/neutral-dark.json`)).json();y=new Ee.Map({container:”map”,zoom:13,center:[-75.165222,39.952583],maxBounds:[[-77.0272686712133,38.96344355232693],[-73.74203259659853,41.04535473441676]],interactive:!0,attributionControl:!1,style:{…o,sources:{openmaptiles:{type:”vector”,url:`pmtiles://${r}`}}}}),y.addControl(new Ee.NavigationControl({showCompass:!1,showZoom:!0}),”bottom-right”),y.scrollZoom.disable(),y.on(“load”,async()=>{ae=await(await fetch(“https://interactives.inquirer.com/projects/2026/08/septa-buses/1787171010074/assets/routes.json”)).json(),y.addSource(“routes”,{type:”geojson”,data:ae}),y.addLayer({id:”routes”,source:”routes”,type:”line”,paint:{“line-width”:2,”line-color”:[“get”,”color”],”line-opacity”:0}});let a=await y.loadImage(“https://interactives.inquirer.com/projects/2026/08/septa-buses/1787171010074/assets/bus-icon.png”);y.addImage(“bus-icon”,a.data),$=tr({route:”4″,frequency:3}),y.addSource(“buses”,{type:”geojson”,data:$}),y.addLayer({id:”buses”,source:”buses”,type:”symbol”,layout:{“icon-image”:”bus-icon”,”icon-size”:.25,”icon-allow-overlap”:!0,”icon-ignore-placement”:!0}});let l=await y.loadImage(“https://interactives.inquirer.com/projects/2026/08/septa-buses/1787171010074/assets/home-icon.png”);y.addImage(“home-icon”,l.data),y.addSource(“home”,{type:”geojson”,data:{type:”FeatureCollection”,features:[{type:”Feature”,geometry:{type:”Point”,coordinates:[0,0]}}]}}),y.addLayer({id:”home”,source:”home”,type:”symbol”,layout:{“icon-image”:”home-icon”,”icon-size”:.25}});let u=y.getCanvas();_t=!0,ge.stop(u.closest(“.js-map”)),Le&&(nr(Le),Le=null),window.requestAnimationFrame(rr)})})})},tr=({route:e,frequency:t})=>{t=parseInt(t);let r=ae.features.find(i=>i.properties.route==e&&i.properties.version==”new”),n;return r&&(er=Gt(r.geometry.coordinates[0]),Ae=r.properties.length,n=Math.random()*Ae/(t-.1)),{type:”FeatureCollection”,features:[…Array(t)].map((i,o)=>({type:”Feature”,geometry:{type:”Point”,coordinates:[0,0]},properties:{progress:Ae/t*o+n}}))}},rr=()=>{if($){let e=$.features.length;for(let[t,r]of $.features.entries())r.properties.progress+=.002,r.properties.progress>=Ae&&(r.properties.progress=0),r.geometry.coordinates=Ze(er,r.properties.progress).geometry.coordinates;y.getSource(“buses”).setData($),window.requestAnimationFrame(rr)}},nr=e=>{if(_t&&y&&ae&&e.route){Ke=e.route,y.setPaintProperty(“routes”,”line-opacity”,[“match”,[“get”,”route”],[Ke],1,0]);let t=ae.features.filter(n=>n.properties.route==Ke),r=Ve({type:”FeatureCollection”,features:t});y.fitBounds(r,{padding:{left:window.innerWidth>960?window.innerWidth/2:20,top:100,bottom:80,right:20}}),$=tr(e)}else Le=e},qn=e=>{e=e||[0,0],y.getSource(“home”).setData({type:”FeatureCollection”,features:[{type:”Feature”,geometry:{type:”Point”,coordinates:e}}]})},O={init:()=>{zn()},update:e=>{nr(e)},setHome:e=>{qn(e)}};var ir=1,or,Ye=class{constructor(t){this.el=t,this.contentPosition=”default”,this.currentStepEl=null,this.isMobile=window.innerWidth>960,this.offset=this.isMobile?window.innerHeight*.33:window.innerHeight*.95,this.instanceOfSteps=ir,this.mapTransition=null,ir++,this.updateContent(),this.bindings()}bindings(){window.addEventListener(“scroll”,()=>{this.updateContent()}),window.addEventListener(“resize”,()=>{this.updateContent(),this.onResize()})}onResize=()=>{this.isMobile=window.innerWidth>960,this.offset=this.isMobile?window.innerHeight*.33:window.innerHeight*.95};updateContent(){this.updateCurrentStep()}updateCurrentStep(){let t,r=this.el.querySelectorAll(“.js-steps-step:not(.is-hidden)”);if(r.forEach((n,i)=>{n.getBoundingClientRect().top{O.update(this.currentStepEl.dataset)},400)}}},Dn=e=>{document.querySelectorAll(“.js-steps-step”).forEach(r=>{!e||e&&e.includes(r.dataset.route)?r.classList.remove(“is-hidden”):r.classList.add(“is-hidden”)}),or.updateCurrentStep()},j={init:()=>{document.querySelectorAll(“.js-steps”).forEach(e=>{or=new Ye(e)})},show:e=>{Dn(e)}};var Fn=()=>{document.querySelector(“.js-location-top”).addEventListener(“click”,()=>{kn()})},kn=()=>{document.querySelector(“.js-location”).scrollIntoView({block:”center”})},In=()=>{document.querySelector(“.js-state”).classList.remove(“is-populated”),document.querySelector(“.js-state-address”).textContent=”Across SEPTAu2019s entire bus network”},Un=e=>{document.querySelector(“.js-state”).classList.add(“is-populated”),document.querySelector(“.js-state-address”).textContent=`Near ${e.number} ${e.formatted_street} ${e.city!==”Philadelphia”?`, ${e.city}`:””}`},X={init:Fn,empty:In,fill:Un};var Rn=!1,ar,Bn=()=>{document.querySelectorAll(“.js-location”).forEach(e=>{e.querySelector(“.js-location-form”).addEventListener(“submit”,t=>{t.preventDefault(),Hn(e)}),e.querySelector(“.js-location-street”).addEventListener(“keyup”,t=>{sr(e)}),e.querySelector(“.js-location-street”).addEventListener(“change”,()=>{sr(e)})}),document.querySelector(“.js-location-clear”).addEventListener(“click”,()=>{Fe.event(“search”,”click | clear address”),j.show(),O.setHome(),X.empty(),V.update()})},On=async()=>{ar=await(await fetch(“https://interactives.inquirer.com/projects/2026/08/septa-buses/1787171010074/assets/routes.json”)).json(),document.querySelector(“.js-location”).classList.remove(“is-loading-stops”)},Hn=e=>{e.classList.remove(“is-inactive”,”is-error”,”is-found”);let t=new URLSearchParams;t.set(“street”,e.querySelector(“.js-location-street”).value),t.set(“city”,e.querySelector(“.js-location-city”).value||”Philadelphia”),t.set(“state”,”PA”),Fe.event(“search”,`submit address | ${t.get(“street”)} ${t.get(“city”)}`),e.classList.remove(“is-inactive”,”is-error”,”is-found”),e.classList.add(“is-loading”),fetch(`https://inq-holme.herokuapp.com/geocode?${t.toString()}`).then(r=>{if(r.status>=200&&r.status{r.error?le(“Something has gone wrong. Please try again.”):$n(e,r)})},$n=(e,t)=>{let r=t.results[0].address_components;if(Rn=!0,t.results[0]&&t.results[0].accuracy>=.8&&r.number&&r.formatted_street){e.querySelector(“.js-location-street”).value=`${r.number} ${r.formatted_street}`,e.querySelector(“.js-location-city”).value=r.city;let n=t.results[0];jn(n.location),lr(n.location),X.fill(r),document.querySelector(“.js-steps”).scrollIntoView()}else j.show(),O.setHome(),X.empty(),le(“Address not found. Showing all impacted routes below.”)},jn=({lat:e,lng:t})=>{let r=Qt([t,e],.75,{units:”miles”}),n=new Array;for(let i of ar.features)Xt(i,r).features.length&&n.push(i);n=n.map(i=>i.properties.route),n.length==0?(j.show(),V.update(),le(“No impacted routes found for your address. Showing all routes instead.”)):(j.show(n),V.update(n)),O.setHome([t,e])},sr=e=>{e.querySelector(“.js-location-street”).value.length>0?(e.classList.add(“is-valid”),e.querySelector(“.js-location-button”).disabled=!1):(e.classList.remove(“is-valid”),e.querySelector(“.js-location-button”).disabled=!0)},lr=()=>{document.querySelector(“.js-location”).classList.remove(“is-loading”)},le=e=>{let t=document.querySelector(“.js-location”);t.classList.remove(“is-loading”),t.classList.add(“is-error”),t.querySelector(“.js-error”).textContent=e,lr()},ur={init:()=>{Bn(),On()},error:e=>{le(e)}};var Gn=()=>{Ot()&&document.querySelectorAll(“.js-adbox”).forEach(t=>{t.classList.add(“is-hidden”)})},cr={init:()=>{Gn()}};var G,fr,Nn=()=>{G=document.getElementById(“js-inno-toast”)},Zn=e=>{if(!G)return;G.innerHTML=e,G.classList.add(“is-active”);let t=()=>{G.addEventListener(“transitionend”,Wn,{once:!0}),G.classList.remove(“is-active”)};clearTimeout(fr),fr=setTimeout(t,5e3)},Wn=()=>{G.innerHTML=””},N={init:()=>{Nn()},showToast:Zn};var Te,hr=!1,Vn=async()=>new Promise(e=>{setTimeout(()=>{console.log(“simulating createShareLink for localhost”),e(“https://inquirer.com/interactives”),Jn()},100)}),Jn=()=>{let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||setTimeout(()=>{let t=e?.querySelector(“span”);t&&(t.innerHTML=”Gift link copied to clipboard“)},20)},Kn=()=>{let e=window.services?.createShareLink;e&&(Te=e),oe()&&(Te=Vn),Te&&Xn()},Yn=async e=>{let t=”text/plain”,r=async()=>{try{return await Te(window.location.pathname)}catch{e.dataset.state=”error”,N.showToast(“Hmm, we couldn’t generate a gift link…”)}},n=new ClipboardItem({[t]:r()});await navigator.clipboard.write([n]).catch(i=>{console.log(i),N.showToast(“Couldn’t copy to clipboard, try again?”),e.dataset.state=”error”}),N.showToast(“Gift link copied to clipboard!”),e.dataset.state=”complete”},Xn=()=>{document.querySelectorAll(“.js-gift”).forEach(t=>{(de()||oe()||ve())&&t.classList.add(“is-available”)}),document.querySelectorAll(“.js-gift-button”).forEach(t=>{t instanceof HTMLButtonElement&&t.addEventListener(“click”,()=>{t.classList.contains(“disabled”)||(t.dataset.state=”loading”,hr=!0,Yn(t),setTimeout(()=>{t.dataset.state=”ready”},2e3))})});let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||Qn(e)},Qn=e=>{new MutationObserver(r=>{for(let n of r){let i=[…n.addedNodes].at(0);if(!(i instanceof HTMLElement))return;hr&&N.showToast(i.outerHTML)}}).observe(e,{subtree:!0,childList:!0})},pr={init:()=>{Kn()}};var _n=()=>{window.addEventListener(“message”,e=>{if(e.data[“datawrapper-height”]){let t=e.data[“datawrapper-height”];for(let r in t)document.querySelector(`#datawrapper-chart-${r}`).setAttribute(“height”,t[r])}})},ei=()=>{document.querySelectorAll(“.js-datawrapper-graphic”).forEach(e=>{ie(`https://datawrapper.dwcdn.net/${e.dataset.id}/embed.js`,null,e)})},ti=()=>{window.addEventListener(“message”,e=>{let t=e.data;document.querySelectorAll(`iframe[src*=”${t.id}”]`).forEach(n=>{n.style.height=`${t.height}px`})},!1)},ri=()=>{document.querySelectorAll(“.js-pym-graphic”).forEach(e=>{if(typeof window{new window.pym.Parent(e.id,e.dataset.iframe)};typeof window.pym>”u”?ie(“https://pym.nprapps.org/pym.v1.min.js”,t):t()}})},mr={init:()=>{_n(),ei(),ri(),ti()}};var ue,ni=()=>{document.querySelectorAll(“.js-hover”).forEach(e=>{e.addEventListener(“click”,()=>{dr(e)}),e.addEventListener(“mouseenter”,()=>{dr(e)}),e.addEventListener(“mouseout”,()=>{vr(e)})}),window.addEventListener(“scroll”,()=>{ue!==null&&ii()})},ii=()=>{(ue>window.scrollY+100||ue{vr(e)})},dr=e=>{e.classList.add(“is-visible”),ue=window.scrollY},vr=e=>{e.classList.remove(“is-visible”),ue=null},gr={init:()=>{ni()}};var oi=(e,t,r)=>{document.querySelectorAll(“.js-subscribe”).forEach(n=>{n.classList.toggle(“is-unsubscribed”,!e),n.classList.toggle(“is-preview”,t),n.classList.toggle(“is-dev”,r)})},yr={init:()=>{oi(de(),ve(),oe())}};var Q,Xe,Qe=!0,si=()=>{Q=document.querySelectorAll(“.js-video-autoplay”)},ai=()=>{window.addEventListener(“resize”,()=>{wr()}),window.addEventListener(“scroll”,()=>{wr()}),Q.forEach(e=>{e.addEventListener(“volumechange”,t=>{e.muted!==Qe&&!Bt()&&(Qe=e.muted,li())})})},wr=()=>{let e;Q.forEach((t,r)=>{let n=t.getBoundingClientRect(),i=n.height/2;n.y-i&&(e=t)}),e!==Xe&&(Xe=e,Q.forEach(t=>{t.pause()}),e?e.play():Xe=null)},li=()=>{Q.forEach(e=>{e.muted=Qe})},xr={init:()=>{si(),Q&&ai()}};var br={init:()=>{ct.init?.(),V.init?.(),ur.init?.(),X.init?.(),cr.init?.(),pr.init?.(),mr.init?.(),gr.init?.(),ge.init?.(),O.init?.(),j.init?.(),yr.init?.(),xr.init?.(),N.init?.()}};var ui=()=>{},Sr={init:()=>{ui()}};var ci=document.querySelector(“.js-inno”),Mr=()=>{br.init(),Sr.init()};ci?Mr():new MutationObserver((t,r)=>{if(document.querySelector(“.js-inno”)){r.disconnect(),Mr();return}}).observe(document,{attributes:!0,childList:!0,subtree:!0});})();

  • A 19th century Philadelphia lamp maker took the world’s first selfie and turned the city into a hub of portrait photography

    A 19th century Philadelphia lamp maker took the world’s first selfie and turned the city into a hub of portrait photography

    French inventor Louis Jacques Daguerre introduced the daguerreotype — the world’s first photograph — in Paris in August 1839. By September, he produced a pamphlet introducing the technique to the world.

    When the how-to-take-a-photo leaflets arrived in Philadelphia in late September, the city’s cultured men, scientists, and budding artists gave photography a shot.

    But unlike today’s pointing and clicking, it wasn’t easy.

    “All they got were the pamphlets,” explained Rachel Wetzel, senior photo conservator at the Library of Congress. “Nobody had a camera, plates, chemicals, or darkroom apparatus.”

    The newly minted photographers needed paper-thin sheets of silver-plated copper, iodine, and mercury. The ratio of the chemicals needed to be exact, and the amount of sunlight needed for exposure to capture images varied wildly.

    “Central High School, Philadelphia,” is a facsimile of daguerreotype attributed to Joseph Saxton made in 1839.The Historical Society of Pennsylvania

    On Sept. 25, 1839, U.S. Mint employee Joseph Saxton, whose office was located on the northwest corner of Chestnut and Juniper Street across from Central High School, photographed the city’s first high school from one of his workplace’s top-floor windows.

    That photo is the oldest existing photograph taken in America.

    Saxton soon took up photography as a hobby but had a hard time getting his hands on the thin, silver-plated copper sheets needed to make daguerreotypes. He asked his friend, lamp maker and metal-plating expert Robert Cornelius, for help.

    Cornelius, who had a connection with Scovill Manufacturing, then among the most prominent metalworking manufacturing firms in the United States, happily obliged.

    And as it turned out, Cornelius was curious about photography, too.

    A few weeks later, in late October or early November, Cornelius found himself standing behind his family-owned lamp-making shop at what is today Seventh and Chestnut Streets, experimenting with a camera he fashioned from a small metal box.

    Instead of pointing his lens at a lantern, a cobblestoned street, or a traveling horse and buggy, Cornelius turned his camera on himself.

    He opened his lens cover and stood still long enough in the sunlight for the exposure to capture his image on a metal plate.

    The selfie was born.

    Alana Bograd’s design highlights the fact that the surprising fact the oldest extant photographic portrait photographic portrait was a self-portrait that today we call a selfie. It was taken in Philadelphia by Robert Cornelius in 1839.Alana Bograd for Colibri Workshop

    That first selfie is housed in the Library of Congress.

    And that magnificent moment — predating social media by almost two centuries — will be feted this Saturday at Franklin Square from 11 a.m. to 1 p.m. The selfie celebration is the Philadelphia Historic District’s 34th firstival, a weekly day party in honor of America’s 250th birthday, giving love to events and happenings with very Philly roots.

    When Daguerre came up with his picture-taking method, he did not have portraits in mind, Wetzel said.

    Historians aren’t sure why Cornelius decided to make a picture of himself, but in an 1892 American Journal of Photography article, he talked about what it was like standing alone on the streets of Philadelphia waiting for the image to happen, Wetzel said.

    “When he stood in front of the camera, he wasn’t sure if he was centered or not,” Wetzel said. “That’s why he’s weighted to the right of the plate.”

    The wonder surrounding taking the first selfie seemingly inspired Cornelius.

    In May of 1840, Cornelius opened the world’s second portrait studio at Eighth and Lodge Alley (now Ranstead Street), not far from his family’s lamp-making shop.

    Business partners Alexander S. Wolcott and John Johnson opened the world’s first portrait studio in New York a few months earlier, but only Cornelius’ 1840 portraits endured, explained Wetzel, who is also a leading historian in Cornelius’ work.

    Robert Cornelius historian Rachel Wetzel surrounded by Cornelius’ daguerreotypes at the Library of Congress. Shawn Miller

    She began studying Cornelius’ work in earnest in 2015 while working in Philadelphia at the Conservation Center for Art & Historic Artifacts. Wetzel has studied upward of 70 of Cornelius’ portraits, thanks to plates that have survived more than 100 years.

    Cornelius took portraits of prominent citizens — many of whom were Quakers — in their Sunday best because at $5 a piece, the equivalent of a week’s salary in those days, they were the only ones who could afford it.

    The first portrait he took in his studio was of a man named John McCallister Jr., a wealthy optometrist who, coincidentally, supplied Cornelius with his camera’s lenses.

    In 1840, Robert Cornelius opened the first photographic portrait studio in Philadelphia at 8th on Lodge Alley (now Ranstead Street John McCallister Jr. He was the first one to sit in his portrait studio.Robert Cornelius housed at the Library of Congress

    Cornelius moved his portrait studio to its second location on Market Street before closing the business in 1843, and returning to his family’s lamp business full time.

    “While he’s operating the studio, he never quit working for his family,” Wetzel said. “He’s working the camera, but he had apprentices who polished the plates and did the behind-the-scenes darkroom work.”

    As the mid-19th century approached, the Cornelius family’s lamp business began to boom. Street lamps became commonplace. Philadelphians began putting gas lamps in their homes. Cornelius formed a partnership with Isaac Baker and formed Cornelius & Baker, becoming a premier manufacturer of high-end metalwork, lamps, chandeliers, and gas lighting fixtures.

    Paul Miers lowers the chandelier at the Academy of Music in Philadelphia to clean it and replace light bulbs on Wednesday, May 29, 2024. The large crystal chandelier, measures 16 ft in diameter, and weighs 5,000 Lb.Jose F. Moreno / Staff Photographer

    “Their hand railings, banisters, statues, and chandeliers became world-renowned,” Wetzel said. “Many of their pieces are still found throughout Washington, D.C., and the U.S. Capitol today.”

    The Academy of Music’s massive crystal chandelier in the center of its auditorium was built by Cornelius & Baker for the opera house’s historic 1857 opening. (Yes, the guy who took the world’s first selfie also built the Academy of Music’s chandelier. Let that sink in.)

    Cornelius’ portrait studio may have been short-lived, but his impact on photography is lasting. Wetzel suggests his apprentices went on to open daguerreotype portrait studios across the city, and by 1849, there were at least 100 in Philadelphia. By the end of the 19th century, the costs had come down considerably, and portraits could be purchased for as little as 25 cents.

    “Philadelphians loved portraiture,” Wetzel said.

    National League Futures manager Shane Victorino (center) takes a selfie with members of his team before the 2026 All-Star Futures game in Philadelphia on Sunday, July 12, 2026.David Maialetti / Staff Photographer

    By the mid to late 1850s, daguerreotypes were replaced with the collodion process. But photographs — whether developed in a darkroom or a drugstore, taken on Polaroids, or shot on smartphones — endure.

    And the selfie rules.

    This week’s Firstival is Saturday, Aug. 22, from 11 a.m.-1 p.m., at Franklin Square, 200 N. 6th St. Firstival celebrants will meet under a tent, and the party will be held rain or shine.

    Each week, The Inquirer is highlighting a “first” from the Philadelphia Historic District’s 52 Weeks of Firsts. A “52 Weeks of Firsts” podcast, produced by All That’s Good Productions, drops every Tuesday.

  • Pa. State Police helicopter in midair crash with small plane west of Harrisburg

    Pa. State Police helicopter in midair crash with small plane west of Harrisburg

    A Pennsylvania State Police helicopter was involved in a midair collision with a small plane Wednesday night at an airport west of Harrisburg, officials said.

    One person from the crashed plane is dead, Lt. Col. George Bivens, acting state police commissioner, said at a late-night news conference at the Penn State Milton S. Hershey Medical Center.

    Two members of the state police who were aboard the helicopter, Cpl. Bryce Corman and Trooper Jason Mills, were listed in stable condition at the hospital, said Ashley Ludwig, trauma medical director at Penn State Hershey.

    Gov. Josh Shapiro said he was “pleased and relieved” that the state police members survived and were not seriously hurt.

    ‘Tonight could have been much worse,” Shapiro said.

    The Federal Aviation Administration, which is investigating the incident with the National Transportation Safety Board, reported that a state police Bell 407 helicopter collided in midair with a Cessna 150 airplane at the Carlisle Airport, about 20 miles west of Harrisburg.

    Bivens said that around 6:30 p.m., the state police were conducting a training exercise at the airport and were hovering the helicopter a few feet off the ground in a grassy when they were struck from behind by a Cessna that unexpectedly veered from a runway.

    The plane crashed and was torn apart into pieces, Bivens said.

    CBS21 posted photos on social media showing the crash scene and the helicopter lying on its side.

    Earlier Tuesday night, Shapiro posted on social media that he had been briefed on the crash “and I am heading there now,” he said.

    “Lori and I are praying hard and we ask all of our fellow Pennsylvanians to join us,” Shapiro said.

  • 16-year-old injured in Kensington gun battle

    16-year-old injured in Kensington gun battle

    A 16-year-old was shot early Wednesday evening in the Kensington section of Philadelphia, and police said surveillance video recorded the teen also firing shots in a gun battle with an unseen shooter.

    Around 5:45 p.m., police responded to the area of D Street and Indiana Avenue and found the teen with gunshot wounds to a leg and a foot, Chief Inspector Scott Small said.

    Police took the teen to Temple University Hospital, where he was listed in stable condition.

    Police found 18 spent shell casings at the scene, Small said.

    Surveillance video captured the teen firing shots but not the person who shot the 16-year-old, Small said, adding that the teen will be held by police.

    No guns were recovered at the scene, Small said.

  • Prince Harry and Meghan are returning to the U.K. with their children, British newspaper says

    Prince Harry and Meghan are returning to the U.K. with their children, British newspaper says

    LONDON — Prince Harry and his wife, Meghan, have decided to return to the United Kingdom, but they won’t resume their roles as working members of the royal family, British news media reported late Wednesday.

    The couple’s children, Prince Archie, 7, and Princess Lilibet, 5, have already enrolled at British schools and will start classes in September, according to the Daily Telegraph, which broke the story. The family plans to live at a private, nonroyal residence outside of London, the newspaper said.

    Harry and Meghan gave up their royal duties and moved to California more than six years ago to earn their living through lucrative contracts with Netflix and Spotify. Although relations with the rest of the royal family have soured since then, Harry has recently expressed an interest in reconciliation so he could spend more time with his father, King Charles III, who is being treated for an undisclosed form of cancer.

    Charles was informed of the couple’s plans on Sunday and wasn’t told about them during Harry and Meghan’s visit to the U.K. last month.

    Buckingham Palace has a policy of not commenting on speculation about non-working members of the royal family. A representative for Harry and Meghan declined to comment.

    Harry and Meghan have had a stormy relationship with the royal family ever since they decamped to a mansion in the exclusive Southern California enclave of Montecito.

    In a series of interviews and Harry’s memoir Spare, the couple said they left Britain to escape the restrictions of royal life and criticized palace officials for being insensitive to Meghan’s mental health while alleging that at least one member of the royal family had expressed racist views when she was pregnant with their first child. Meghan describes herself as biracial.

    Those tensions were exacerbated by Harry’s long-running legal battle with Britain’s tabloid newspapers, which he alleges illegally hacked his phones and invaded his privacy when he was younger. The prince has lost a series of lawsuits against the media, including one against the publisher of the Daily Mail, which concluded last month.

    The latest trial has left Harry facing a potential bill for millions of pounds after the court ruled he and other plaintiffs in the case were liable for the publisher’s legal fees. Associated Newspapers has filed documents showing that its legal costs amounted to 34.5 million pounds ($47 million).

    Harry has also been embroiled in a legal wrangle with the British government after a government committee refused to authorize police protection for the prince and his family when they are in the U.K. The prince says he and his family need armed police protection because they are at risk simply because they are members of the royal family, regardless of whether or not they are working royals.

    After losing a court battle over the security issue last year, Harry said he hoped to rebuild relations with his family.

    “I would love reconciliation with my family. There’s no point in continuing to fight anymore,” Harry told the BBC. “I don’t know how much longer my father has.”

    A tentative step toward that reconciliation came last month when Harry returned to the U.K. for a series of charity engagements. Meghan and the children joined Harry for part of the visit and they spent time with the king at his Highgrove estate in western England. It was the first time Archie and Lilibet had seen their grandfather since the late Queen Elizabeth II’s platinum jubilee in 2022.

    While Harry has recently met with his father, there are no signs of a warming of relations with his brother, Prince William, the heir to the throne.

    Peter Hunt, a former BBC royal correspondent, said the surprise announcement would make William “apoplectic.”

    “In the short term, Harry will be able to deepen his rapprochement with his father,” Hunt told Britain’s Press Association. “And his presence back home will make it harder for his brother to duck a reconciliation.”

  • Temple will for the first time require most freshmen to live on campus

    Temple will for the first time require most freshmen to live on campus

    Temple University for the first time in fall 2027 will require freshmen under the age of 21 to live on campus, with certain exceptions for students living locally with parents or guardians and others facing financial hardship.

    The university’s decision comes as the school makes an effort to improve the first-year experience and stem a declining retention rate.

    It is a significant change for a university that for much of its history was largely a commuter school and only transitioned to a major research university with an on-campus living community in recent decades.

    “The policy gives Temple an important opportunity to strengthen student success by creating a more intentional first-year experience and connecting students earlier to the people, resources and support that can help them persist and thrive,” Temple president John Fry said in a message to the campus community Wednesday.

    Last fall, 63% of first-year students and 22% of all undergraduates lived on Temple’s campus, according to the university.

    Many four-year colleges already require their freshmen to live on campus to better connect them to the college community, ensure they have access to support services, and improve their chances at academic success. It also brings in revenue and eases the burden of off-campus housing in surrounding communities.

    The University of Pennsylvania and Drexel University require students to live on campus their first two years. Pennsylvania State University — like Temple, a state-related university — calls for freshmen to reside on its main University Park campus. Some colleges, including Dickinson in Carlisle, mandate that students live on campus all four years.

    Not all schools have such a requirement, however: West Chester University, which has been tight on student housing over the years, does not, though the majority of first-year students live on campus.

    “We want over time for people to think about Temple as a great residential campus that’s also very friendly to commuter students,” Fry said, “as opposed to a commuter campus that is doing some residential things.”

    Temple will create “an intentional focus on belonging, connection, academic success, wellness, help-seeking and personal growth” during that first year, Fry said.

    Peer mentorship, early intervention and academic support initiatives, mental health resources, and financial counseling for students and families are among the resources that the university will offer, the school said.

    “This work will include stronger coordination across housing, advising, academic support, wellness and other student services so that students experience a more connected first year at Temple,” Fry said.

    Creating closer connections is especially important for first-generation college students and those coming to Temple from outside the area, the school said.

    The university’s recently released strategic plan calls for the construction of a new 1,000-bed residence hall on Broad Street, with work beginning next year. That would increase the current 5,000-bed capacity on the main campus by 20%. Temple welcomed a record-breaking 5,379 first-year students last fall.

    “We think we’re at a minimum several thousand beds short of where we need to be,” Fry said in January when the plan was released. “A stronger residential experience really does make for a much more fulfilling undergraduate experience. The more kids living on campus, the more dense campus is, I think the better we’re going to do on safety.”

    The university has ramped up its safety efforts in recent years following the shooting death of a student outside his off-campus residence in 2021 and the shooting death of a Temple police officer in 2023. But challenges continue in the school’s North Philadelphia neighborhood. In April, a Temple student was chased into the lobby of the school’s Morgan Hall dormitory and attacked by a group of juveniles.

    When the new residence hall opens, Temple will upgrade Johnson and Hardwick Halls, which have an additional 1,000 beds, Fry said in January.

    The Annenberg Hall/Tomlinson Theater building, whose programs will relocate to a new arts and communication building in 2027, could also be converted into more residential space if needed, Fry said.

    Fry expects the new first-year residency policy will lead to increases in persistence and graduation rates in future years, he said in Wednesday’s announcement.

    About a decade ago, 90% of freshmen returned to Temple for their sophomore year, but by last fall, that percentage had slid to 82%, and Temple said in an internal report in April that the figure could fall below 80% this fall.

    Fry said that more than 60% of all four-year residential colleges have some kind of first-year residency requirement. That includes many colleges that belong to the national University Innovation Alliance, which Temple joined in March 2025.

    “Decades of research have shown that students who live on campus ultimately benefit from a more productive and rewarding college experience,” Elizabeth Wentz, Temple’s new senior vice president and provost, said in a statement.

    Temple will offer several exemptions to the requirement, including those living with a parent or guardian in Philadelphia or other approved nearby zip codes. Students facing financial hardship verified through the university; those who are part-time, nontraditional, married, or have custody of one or more dependent children; and those with extenuating medical or personal circumstances that cannot be accommodated in university housing also are exempt, the school said.

  • A PSSA delay means Philly kids may have to take an alternative test to get into special admission schools. Here’s why.

    A PSSA delay means Philly kids may have to take an alternative test to get into special admission schools. Here’s why.

    Call it the mystery of the test scores.

    Philadelphia School District officials said this week that because of a delay in Harrisburg, they cannot use the latest state test scores to judge whether the school system’s academics are improving.

    The apparent bureaucratic delay could have real-world consequences for Philadelphia students who rely on the state test scores for admittance into selective magnet schools. And because the 2025-26 PSSA and Keystone results now will not be part of the closely watched school selection process, district officials said, some kids may need to take an alternate assessment if they want a chance to attend a magnet school.

    But the situation seems murky, with Philadelphia walling off its data in ways that other districts have not.

    Districts across Pennsylvania — including Philadelphia — received preliminary school-level scores from the Pennsylvania Department of Education in the spring, as is typical, sources confirmed to The Inquirer. And though some Philadelphia principals and teachers did see limited data for some incoming students for rostering purposes in August, most of the student- and school-level data remain hidden.

    Here is what we know, and what we don’t know, about the score release.

    PSSA administration was online, and glitchy, this year

    Pennsylvania moved in the spring to fully online administration of the Pennsylvania System of School Assessment, the state’s standardized test for third through eighth graders. Research shows that a shift from paper tests to online exams typically yields drops in student test scores.

    Many districts experienced technical glitches early in the PSSA assessment window, with some students unable to log in to complete their exams. Some canceled testing for a day, shifting assessment schedules because of the problems with the online system.

    PDE just weighed in

    The Pennsylvania Department of Education usually releases preliminary statewide results to districts in August or September, to give educational leaders time to crunch the numbers and prepare for a fall public release of the data.

    But PDE officials, in a letter sent to districts on Tuesday, said there would be a delay because a “review of the preliminary data is still underway.”

    No reasons for the shift were given, and no information was shared about whether the public release, which usually happens in the late fall, will be pushed back.

    Philly took a different tack

    While other districts and charters still have access to school- and student-level data from the 2025-26 PSSAs and Keystones, Philadelphia kept the vast majority of its data hidden from principals and teachers.

    Though some other data, like the results of periodic benchmark tests, are still available, PSSA and Keystone figures are often used to help pinpoint student needs.

    The Philadelphia School District Office of Evaluation, Research and Accountability told principals in June that “state test data are embargoed and not available until they are verified by the Pennsylvania Department of Education,” district spokesperson Monique Braxton said in a statement Wednesday.

    That review was expected to be completed by Tuesday, Braxton said, but has been pushed back.

    “Until this process is complete, assessment data will not be released,” Braxton said. “Additional information will be shared after PDE completes its review and the official statewide results are released.”

    It remains unclear why most Philadelphia data are still inaccessible to school staff.

    Questions around school selection and more

    Philadelphia’s school selection window, when students can apply to the city’s 37 sought-after criteria-based schools, opens Sept. 8.

    But the questions around the state data mean that the district “cannot use the 2025-26 assessment results to evaluate year-over-year student achievement or as the required criterion for school selection,” Braxton said. “In the interim, students will have the opportunity to take an alternative assessment in the fall and submit those results instead.”

    The district did not address questions about what assessment will be given, when it will be offered, whether it will be mandatory for school selection, or what will happen if students want to apply for criteria-based schools but not take the alternative assessment. It also did not answer questions about whether there will be an additional cost for the new assessment.

    Fastest-improving large urban district?

    Superintendent Tony B. Watlington Sr. has staked his reputation on Philadelphia being the “fastest-improving large urban district in the country,” and the district has posted promising, if incremental, gains during his tenure. Philadelphia students’ learning post-pandemic was best in the nation, according to recent research out of Harvard and Stanford Universities, though district students still perform 2.46 grade levels below the pre-pandemic national average.

    District-wide, 34% of students score at grade level in English and 23% in math, as judged by 2024-25 standardized tests.

    Braxton said in the statement that after consulting with PDE, “the district cannot use the 2025-26 assessment results to evaluate year-over-year student achievement.”

    More information will be shared, Braxton said, “as it is received from the PDE.”

  • A 78-year-old survived cancer. Then, he was killed by a stray bullet in North Philadelphia.

    A 78-year-old survived cancer. Then, he was killed by a stray bullet in North Philadelphia.

    Two years ago, Steve Alexander “rang the bell” inside a Media hospital, celebrating the end of treatment for colon cancer.

    On Tuesday afternoon, his life ended when a stray bullet struck him in the back in North Philadelphia. He was 78.

    Police say that, shortly before 5 p.m. Tuesday, as the 2200 block of Ridge Avenue bustled with bystanders and cars during rush-hour traffic, a light-colored SUV pulled up and four gunmen fired more than 50 shots toward a group of young men on the sidewalk.

    A 71-year-old and a 30-year-old were wounded by gunfire. Alexander was struck in the back, and died at Temple University Hospital shortly after.

    No arrests have been made.

    Alexander’s sister, Paulette Coles, said he was picking up cigarettes when the gunfire erupted.

    Coles, 73, said in an interview from her Strawberry Mansion home on Wednesday that her brother was the eighth of 10 children, born in Mobile, Ala. Her mother, she said, brought her and her siblings to the Philadelphia area in 1960 to be closer to family.

    A younger Steven Alexander, in a photo shared by his sister. Courtesy of Paulette Coles

    Alexander lived in Lansing, Mich., for several years, working for General Motors, before returning to Philly in the 1970s, she said. He worked odd jobs through the remainder of his adult life and had two children who are now grown, she said.

    “Anything you say goes with him. He was just a happy-go-lucky guy. He never argued with nobody,” Coles said.

    “All he wanted for was a cigarette and a beer,” she said. “He was just happy.”

    Happy, she said, even as he navigated life’s challenges. Cancer. Housing. He had spent the last year or so living at the Bethesda Project shelter, at 19th and Oxford Streets, but was on his way to living independently again.

    He had just had an appointment with a housing specialist and visited an apartment in South Philadelphia last week, she said.

    “He was going to be on his own again,” she said. “And then this happened.”

    Staff and residents at the Bethesda Project facility on Wednesday said Alexander was always seated in a green lawn chair outside the building, cigarette in hand, greeting passersby and staff as they arrived each morning.

    Tanya Cleveland said he was social and helped introduce new residents. He welcomed her each morning when she arrived to start her shift.

    He took care of his appearance, she said, and often changed his clothes several times a day to make sure his shirts were crisp and clean.

    Every morning, at 6:30 a.m., he would bring his outfits for the day down to the community room and iron them. He was the only one in the facility who used the iron, a staff member named Kelly joked.

    On Wednesday, she said, her boss placed the ironing board in the basement. It was too painful to look at.

    Investigators continue to search for the gunmen. Anyone with information is asked to submit tips to police at 215-686-TIPS (8477).