diff --git a/.devcontainer/compose.yml b/.devcontainer/compose.yml index 945490af..9e3d94b3 100644 --- a/.devcontainer/compose.yml +++ b/.devcontainer/compose.yml @@ -4,8 +4,5 @@ services: context: .. dockerfile: .devcontainer/Dockerfile command: sleep infinity - ports: - - "4000" - - "35729:35729" volumes: - ..:/usr/src/calitp diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d5380219..7b73590d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -4,20 +4,24 @@ "service": "site", "workspaceFolder": "/usr/src/calitp", "postAttachCommand": ["/bin/bash", ".devcontainer/postAttach.sh"], - "settings": { - "terminal.integrated.defaultProfile.linux": "bash", - "terminal.integrated.profiles.linux": { - "bash": { - "path": "/bin/bash" - } + "customizations": { + "vscode": { + "settings": { + "terminal.integrated.defaultProfile.linux": "bash", + "terminal.integrated.profiles.linux": { + "bash": { + "path": "/bin/bash" + } + } + }, + "extensions": [ + "bungcip.better-toml", + "eamodio.gitlens", + "esbenp.prettier-vscode", + "mhutchie.git-graph", + "redhat.vscode-xml", + "sissel.shopify-liquid" + ] } - }, - "extensions": [ - "bungcip.better-toml", - "eamodio.gitlens", - "esbenp.prettier-vscode", - "mhutchie.git-graph", - "redhat.vscode-xml", - "sissel.shopify-liquid" - ] + } } diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..9b35196a --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# default to web-admin team +* @cal-itp/web-admin diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..c2e9e819 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,27 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "bundler" # See documentation for possible values + directory: "/" # Location of Gemfile + schedule: + interval: "daily" + commit-message: + prefix: "chore" + include: "scope" + labels: + - "dependencies" + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "chore" + include: "scope" + labels: + - "dependencies" diff --git a/.github/workflows/dependabot-differ.yaml b/.github/workflows/dependabot-differ.yaml index 102ecedd..11bd821b 100644 --- a/.github/workflows/dependabot-differ.yaml +++ b/.github/workflows/dependabot-differ.yaml @@ -13,7 +13,7 @@ jobs: if: contains(github.event.pull_request.labels.*.name, 'dependencies') # See https://git.io/JsVv1 steps: - name: Checkout Pull Request Branch - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} submodules: true @@ -21,7 +21,7 @@ jobs: - name: Setup Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 2.6 + ruby-version: 3.1 bundler-cache: true - name: Build Pull Request Version of Website @@ -31,9 +31,9 @@ jobs: mv _site _site-pr - name: Checkout Default Branch - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: - ref: core + ref: staging clean: false submodules: true @@ -70,7 +70,7 @@ jobs: echo "::set-output name=pr-comment::$PR_COMMENT" - name: Comment on the Pull Request - uses: peter-evans/create-or-update-comment@v1 + uses: peter-evans/create-or-update-comment@v3 with: issue-number: ${{ github.event.pull_request.number }} body: ${{ steps.site-diff.outputs.pr-comment }} diff --git a/.gitignore b/.gitignore index a064b2ce..bd16e28d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .bundle .netlify _site +.DS_Store diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7e333217..121fa7a0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,7 +15,7 @@ default_stages: repos: - repo: https://github.com/compilerla/conventional-pre-commit - rev: v2.2.0 + rev: v2.3.0 hooks: - id: conventional-pre-commit stages: [commit-msg] diff --git a/.vscode/settings.json b/.vscode/settings.json index 49b32056..5fed93a2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,13 +6,8 @@ "files.insertFinalNewline": true, "files.trimFinalNewlines": true, "files.trimTrailingWhitespace": true, - "[javascript]": { - "editor.tabSize": 2 - }, - "[json]": { - "editor.tabSize": 2 - }, - "[markdown]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.tabSize": 2, + "files.associations": { + "*.html": "liquid" } } diff --git a/CONDUCT.md b/CONDUCT.md deleted file mode 100644 index ed36699b..00000000 --- a/CONDUCT.md +++ /dev/null @@ -1,133 +0,0 @@ - -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -support@compiler.la. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available -at [https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq -[translations]: https://www.contributor-covenant.org/translations diff --git a/Gemfile b/Gemfile index 3149ca1b..5eb50c47 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,4 @@ -source "https://rubygems.org" - -gem "jekyll", "~> 4.2.0" -gem "rubyzip", "~> 2.3" -gem "webrick", "~> 1.7" +source "https://rubygems.org" + +gem "jekyll", "~> 4.3.2" +gem "rubyzip", "~> 2.3" diff --git a/Gemfile.lock b/Gemfile.lock index 3fed0cc5..cd4a1df7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,73 +1,78 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - colorator (1.1.0) - concurrent-ruby (1.1.7) - em-websocket (0.5.2) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - eventmachine (1.2.7) - ffi (1.14.2) - forwardable-extended (2.6.0) - http_parser.rb (0.6.0) - i18n (1.8.6) - concurrent-ruby (~> 1.0) - jekyll (4.2.0) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 1.0) - jekyll-sass-converter (~> 2.0) - jekyll-watch (~> 2.0) - kramdown (~> 2.3) - kramdown-parser-gfm (~> 1.0) - liquid (~> 4.0) - mercenary (~> 0.4.0) - pathutil (~> 0.9) - rouge (~> 3.0) - safe_yaml (~> 1.0) - terminal-table (~> 2.0) - jekyll-sass-converter (2.1.0) - sassc (> 2.0.1, < 3.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - kramdown (2.3.1) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.3) - listen (3.4.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.4.0) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.6) - rb-fsevent (0.10.4) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.2.5) - rouge (3.26.0) - rubyzip (2.3.0) - safe_yaml (1.0.5) - sassc (2.4.0) - ffi (~> 1.9) - terminal-table (2.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) - unicode-display_width (1.7.0) - webrick (1.7.0) - -PLATFORMS - ruby - x86_64-darwin-19 - x86_64-linux - -DEPENDENCIES - jekyll (~> 4.2.0) - rubyzip (~> 2.3) - webrick (~> 1.7) - -BUNDLED WITH - 2.2.4 +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.4) + public_suffix (>= 2.0.2, < 6.0) + colorator (1.1.0) + concurrent-ruby (1.2.2) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + ffi (1.15.5) + forwardable-extended (2.6.0) + google-protobuf (3.23.4) + google-protobuf (3.23.4-x86_64-darwin) + google-protobuf (3.23.4-x86_64-linux) + http_parser.rb (0.8.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + jekyll (4.3.2) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.0.3) + rake (13.0.6) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (4.1.3) + rubyzip (2.3.2) + safe_yaml (1.0.5) + sass-embedded (1.64.1) + google-protobuf (~> 3.23) + rake (>= 13.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.4.2) + webrick (1.8.1) + +PLATFORMS + ruby + x86_64-darwin-19 + x86_64-linux + +DEPENDENCIES + jekyll (~> 4.3.2) + rubyzip (~> 2.3) + +BUNDLED WITH + 2.2.4 diff --git a/_config.yml b/_config.yml index 66bc3757..709dc9ff 100644 --- a/_config.yml +++ b/_config.yml @@ -1,9 +1,20 @@ analytics: "G-VCVX2DGPPN" -domain: "www.calitp.org" -description: "A state government initiative, Cal-ITP is making riding by rail and bus simpler and more cost-effective—for California transit providers and riders." -google_fonts: "https://fonts.googleapis.com/css2?family=Poppins:wght@500;700&family=Raleway:wght@900&display=swap" +collections: + press: + output: true + permalink: /:collection/:name + resources: + output: false +defaults: + - scope: + path: "" + type: press + values: + layout: press +description: A state government initiative, Cal-ITP is making riding by rail and bus simpler and more cost-effective—for California transit providers and riders. +domain: www.calitp.org +google_fonts: "https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Raleway:wght@700&display=swap" source: ./src -theme_background_color: "#b82d28" -theme_color: "#b82d28" +timezone: America/Los_Angeles title: "Cal-ITP: California Integrated Travel Project" url: "https://www.calitp.org" diff --git a/src/404.html b/src/404.html index 9b8876b2..deffabbe 100644 --- a/src/404.html +++ b/src/404.html @@ -7,7 +7,8 @@

Page Not Found

Sorry, but the page you were trying to view does not exist.

-

Go back Home.

+

+ Go back Home.

diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml new file mode 100644 index 00000000..d32251cd --- /dev/null +++ b/src/_data/initiatives.yml @@ -0,0 +1,73 @@ +- tag: Contactless Payments + slug: contactless-payments + id: enabling-contactless-payment + active: "show active" + headline: Enabling contactless payments + image: + src: images/enabling-contactless-payment.png + alt: "A trio of images, from left to right: a contactless-enabled bank card, a + mobile wallet on a smartphone, and a mobile wallet on a smartwatch" + width: "78" + paragraphs: + - "Adding a contactless payment reader to a bus or train means customers can quickly + and easily tap to pay as they board with the bank card or smartphone that’s already + in their pocket—just like they’d tap to buy a coffee." + - "Starting with Monterey-Salinas Transit, Cal-ITP and partners like Visa + demonstrated how a transit provider that has traditionally used cash and agency-specific + fare cards can accept contactless bank card payments like any other merchant. " + - "For more information about the products available to support this initiative, please visit the California Mobility Marketplace." + button: + text: Explore Mobility Marketplace + url: https://camobilitymarketplace.org + class: --calitp-primary-blue +- tag: Benefits + slug: benefits + id: automating-customer-discounts + active: "" + headline: Automating customer discounts + image: + src: images/automating-customer-discounts.png + alt: Checking a state-issued identification + width: "78" + paragraphs: + - "Our Cal-ITP + Benefits web application streamlines the process for transit riders to instantly + qualify for and receive discounts, starting with Monterey-Salinas + Transit (MST), which offers a half-price Senior Fare. Now older adults (65+) + who are able to electronically verify their identity are able to access MST’s + reduced fares without the hassle of paperwork." + - "We worked with state partners on this product launch, and next we’re working to + bring youth, lower-income riders, veterans, people with disabilities, and others + the same instant access to free or reduced fares across all California transit + providers, without having to prove eligibility to each agency." + button: + text: Explore Mobility Marketplace + url: https://camobilitymarketplace.org + class: d-none + class: --calitp-red-5 +- tag: GTFS + slug: gtfs + id: standardizing-trip-quality + active: "" + headline: Standardizing information for easy trip planning + image: + src: images/standardizing-trip-quality.png + alt: A bus that transmits real-time arrival and departure information + width: "78" + paragraphs: + - "Cal-ITP is helping transit providers remove the guesswork for riders wondering + when the next bus or train will arrive or if they’ll make their connection by + using the General Transit Feed Specification (GTFS)—the global standard for publishing + transit information. Cal-ITP developed California + Minimum GTFS Guidelines and is working to ensure statewide GTFS schedule/static + coverage and GTFS Realtime. The Cal-ITP team will support transit providers by + assessing their systems and providing technical assistance so riders can easily + access complete, accurate, consistent, and timely mobility data for their journey." + button: + text: Explore Mobility Marketplace + url: https://camobilitymarketplace.org + class: d-none + class: --calitp-purple-4 diff --git a/src/_data/press_tags.yml b/src/_data/press_tags.yml new file mode 100644 index 00000000..b9630c9b --- /dev/null +++ b/src/_data/press_tags.yml @@ -0,0 +1,8 @@ +- name: "Contactless Payments" + id: "contactless" +- name: "Benefits" + id: "benefits" +- name: "GTFS" + id: "gtfs" +- name: "Data Plans" + id: "data-plans" diff --git a/src/_data/resource_tags.yml b/src/_data/resource_tags.yml new file mode 100644 index 00000000..35d6bbe9 --- /dev/null +++ b/src/_data/resource_tags.yml @@ -0,0 +1,6 @@ +- name: "Contactless Payments" + id: "contactless" +- name: "Benefits" + id: "benefits" +- name: "GTFS" + id: "gtfs" diff --git a/src/_includes/article.html b/src/_includes/article.html new file mode 100644 index 00000000..cb3129c6 --- /dev/null +++ b/src/_includes/article.html @@ -0,0 +1,21 @@ +{% if item.category %} + {% assign url = item.asset %} + {% unless url contains "https://" %} + {% assign url = "/assets/" | append: url %} + {% endunless %} +{% else %} + {% assign url = item.url %} + {% if item.external %} + {% assign url = item.external %} + {% endif %} +{% endif %} + +
+ {{ item.title }} +
+ + {% if item.outlet %} + {{ item.outlet }} |{% endif %} + {{ item.tags | join: ", " }} | + {% include date.html date=item.date format = "%b %Y" %} +
diff --git a/src/_includes/articles.html b/src/_includes/articles.html new file mode 100644 index 00000000..4eabca1f --- /dev/null +++ b/src/_includes/articles.html @@ -0,0 +1,3 @@ +{% for item in items %} + {% include article.html item=item %} +{% endfor %} diff --git a/src/_includes/clipped.html b/src/_includes/clipped.html new file mode 100644 index 00000000..46aa92ae --- /dev/null +++ b/src/_includes/clipped.html @@ -0,0 +1,3 @@ + + + diff --git a/src/_includes/date.html b/src/_includes/date.html new file mode 100644 index 00000000..f9e9eaee --- /dev/null +++ b/src/_includes/date.html @@ -0,0 +1 @@ + diff --git a/src/_includes/footer.html b/src/_includes/footer.html new file mode 100644 index 00000000..6e06fe3b --- /dev/null +++ b/src/_includes/footer.html @@ -0,0 +1,35 @@ + diff --git a/src/_includes/header.html b/src/_includes/header.html index 08cc2bf8..2ad0a6c5 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -1,42 +1,39 @@
-
diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html new file mode 100644 index 00000000..2c3a2be2 --- /dev/null +++ b/src/_includes/initiatives.html @@ -0,0 +1,114 @@ + + + + +
+
+

Explore our initiatives

+
+
+ +
+
+ +
+ {% for initiative in site.data.initiatives %} +
+
+
+ + {{ initiative.image.alt }} + +
+

{{ initiative.headline }}

+ {% for paragraph in initiative.paragraphs %} +

+ {{ paragraph }} +

+ {% endfor %} + +
+
+
+
+

Recent News

+
+ {% assign all_press = site.press | reverse %} + {% for press in all_press %} + {% assign url = press.url %} + {% if press.external %} + {% assign url = press.external %} + {% endif %} + {% if press.tags contains initiative.tag %} + + {% endif %} + {% endfor %} +
+ See all +
+
+
+
+

Resources

+
+ {% assign all_resources = site.resources | reverse %} + {% for resource in all_resources %} + {% assign url = resource.asset %} + {% unless url contains "https://" %} + {% assign url = "/assets/" | append: url %} + {% endunless %} + {% if resource.tags contains initiative.tag %} + + {% endif %} + {% endfor %} +
+ See all +
+
+
+
+ {% endfor %} +
diff --git a/src/_includes/pills.html b/src/_includes/pills.html new file mode 100644 index 00000000..1d74f58b --- /dev/null +++ b/src/_includes/pills.html @@ -0,0 +1,21 @@ +
+ Filter by: + +
diff --git a/src/_includes/script_redirect.html b/src/_includes/script_redirect.html new file mode 100644 index 00000000..77890fa7 --- /dev/null +++ b/src/_includes/script_redirect.html @@ -0,0 +1,3 @@ +

Redirecting...

+Click here if you are not redirected. + diff --git a/src/_includes/styles.html b/src/_includes/styles.html index 00d8aa37..0e77128b 100644 --- a/src/_includes/styles.html +++ b/src/_includes/styles.html @@ -1,17 +1,20 @@ - - - - + + + - - - + integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" + crossorigin="anonymous" /> + diff --git a/src/_layouts/default.html b/src/_layouts/default.html index b58f4d17..047ac4c7 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -1,10 +1,17 @@ - {% include meta.html %} {% include styles.html %} {%include analytics.html %} + {% include meta.html %} {% include styles.html %} {% include analytics.html %} - {% include header.html %} {{content}} + {% include header.html %} +
{{ content }}
+ {% include footer.html %} + + diff --git a/src/_layouts/press.html b/src/_layouts/press.html new file mode 100644 index 00000000..fb58fde4 --- /dev/null +++ b/src/_layouts/press.html @@ -0,0 +1,31 @@ +--- +layout: default +--- + +{% if page.external %} + {% include script_redirect.html location=page.external %} +{% endif %} + +{% capture date %} + {% include date.html date=page.date format = "%B %e, %Y, " %} +{% endcapture %} + +{% assign location = page.location | default: "Sacramento, CA" %} + +{% unless page.external %} +
+
+
+ Press +

{{ page.heading }}

+ {% if page.lead %} +

{{ page.lead }}

+ {% endif %} +
+

For immediate release

+

{{ date | append: location | append: "—" | append: page.intro }}

+ {{ page.content }} +
+
+
+{% endunless %} diff --git a/src/_layouts/redirect.html b/src/_layouts/redirect.html index f18cf094..698498aa 100644 --- a/src/_layouts/redirect.html +++ b/src/_layouts/redirect.html @@ -3,26 +3,22 @@ - + {% include meta.html %} {% include styles.html %} {% include analytics.html %} - + - + {% include header.html %}
-
-
-

Redirecting...

- Click here if you are not redirected. - -
-
+
+ {% include script_redirect.html location=page.redirect_to %} +
- + diff --git a/src/_press/cal-itp-announces-ods.md b/src/_press/cal-itp-announces-ods.md new file mode 100644 index 00000000..6c77cded --- /dev/null +++ b/src/_press/cal-itp-announces-ods.md @@ -0,0 +1,79 @@ +--- +date: "2022-06-02T17:00:00-07:00" +title: ODS—New open data standard helps improve transit agency operations +heading: ODS—New open data standard helps improve transit agency operations +intro: |- + Caltrans’ California Integrated Travel Project (Cal-ITP) today launched a new open data standard to capture and integrate + more information impacting transit agency operations. The Operational Data Standard (ODS) leverages the existing GTFS + (General Transit Feed Specification) standard used by transit agencies and riders all over the world for transit service + information and extends it to include data about personnel, scheduled maintenance, and non-revenue service. +tags: + - GTFS +outlet: "Cal-ITP" +--- + +The ODS specification is a product of the Operational Data Standard Working Group, a coalition of more than 40 transit +agencies, transit technology vendors such as computer-aided dispatch/automatic vehicle location (CAD/AVL) companies, transit +scheduling companies, and other contributors. + +“Cal-ITP is all about reducing barriers to transit, including digital ones,” said Gillian Gillett, Program Manager of +California Integrated Mobility at Caltrans. “During these times of accelerating change and innovation within the industry, +ODS can help promote an interoperable transit ecosystem by improving the flow of data and information sharing.” + +Cal-ITP began approaching transit agencies in 2020 to identify ways to improve transit data quality and completeness to offer +more information and improved trip planning for California riders—for example, helping passengers with mobility-assisting +devices find stations where they can easily board and alight vehicles. Many transit agencies expressed frustration that the +different software platforms they use for scheduling, dispatching, and planning didn’t communicate well together, resulting in +inefficiency, increased costs, and data errors. + +Cal-ITP convened the ODS Working Group to develop an open data solution to the issues raised by transit agencies and to +integrate the information from the various platforms to provide a more complete picture of transit operations. Open standards, +particularly GTFS and GTFS Realtime, are popular with North American transit agencies and riders alike to plan trips with +mobile apps and maps and to account for changing conditions and delays in real time. + +“As the largest private-sector provider of mobility solutions in North America, First Transit supports open standards for +sharing transit service operations data,” said Sean Donavan, Vice President of Information Technology and Innovation at First +Transit, a member of the ODS Working Group. “Enhanced data sharing will help us continue to deliver the best passenger +experience.” + +Jeff Kessler, Director of Service Delivery Innovation at Keolis Commuter Services, said, “As a mobility provider, Keolis +interfaces with our partner agencies and countless software providers to safely and efficiently operate our transportation +systems. Building upon the successful GTFS standard, we’re thrilled to have contributed to advancing the standard’s development +and to enable further innovations in the mobility space.” + +Supporting open standards such as ODS also aligns with Cal-ITP’s work on the +[Mobility Data Interoperability Principles](https://interoperablemobility.org/), an effort that seeks to achieve frictionless +access to transit data between software applications. + +While ODS will transmit data within the transit agency (and its vendors) for operations, it builds upon the public-facing GTFS +open standard, reducing the frustration agencies often encounter when integrating new technologies. + +“We have created dozens of custom AVL interfaces over the years,” said David Reed, President and Founder of Schedule Masters, +Inc. “With ODS, we can now look forward to a standard interface from our runcutting and rostering software.” + +With the public launch of ODS, Cal-ITP and the ODS Working Group welcome feedback to help steer the implementation of this new +open standard. The coalition will also be seeking partner agencies whose service data can be used for initial applications of +the ODS specification. + +Read more about ODS at . + +## About Cal-ITP + +The California Integrated Travel Project (Cal-ITP) was established by the California State Transportation Agency (CalSTA) and +California Department of Transportation (Caltrans) to simplify travel on public transit throughout California. Cal-ITP is +working with transit providers to build a modern and consistent travel experience for Californians of all incomes, ages, and +abilities—by enabling contactless, open-loop payments, automating customer discounts, and standardizing +information for easy multimodal trip planning. Learn more at [calitp.org](https://calitp.org). And visit Cal-ITP’s +[CAMobilityMarketplace.org](https://camobilitymarketplace.org) for a catalog of code-compliant products and services for +transit agencies. + +## About the Operational Data Standard Working Group + +The Operational Data Standard working group was convened by Cal-ITP as part of its goal to provide complete, accurate, and +up-to-date transit data to customers and respective agencies. Working group members include major transit agencies across the +United States and many of the largest transit software companies in North America. Visit +for a full list of members. + +## Questions? In need of free support? + +For additional information, please email [hello@calitp.org](mailto:hello@calitp.org?subject=Attn: Scott Frazier) Attn: Scott Frazier. diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md new file mode 100644 index 00000000..9e06ca70 --- /dev/null +++ b/src/_press/cal-itp-benefits-launch.md @@ -0,0 +1,137 @@ +--- +date: "2022-09-21T17:00:00-07:00" +title: Cal-ITP Benefits is first web tool to enable transit riders to verify identity and benefit eligibility, link fare discounts to bank cards +heading: |- + State of California launches Cal-ITP Benefits, the first online tool for transit riders to verify their identity and benefit + eligibility and link fare discounts to debit and credit cards +lead: |- + California is one of the first states to integrate the federal government’s secure Login.gov sign-in service, enabling older + adults to tap to pay a discounted bus fare at participating transit agencies +intro: |- + The debut of a new web application called Cal-ITP Benefits allows + transit riders to quickly and securely verify their eligibility online for discounted fares and link that discount benefit to + a contactless debit or credit card to automatically receive reduced fares whenever they tap to pay with the card. +tags: + - Benefits +outlet: "Cal-ITP" +--- + +Cal-ITP Benefits is initially available for people 65 and older who ride Monterey-Salinas Transit (MST) buses, with plans to +expand the service to other transit agencies— including ones outside of California. The web application is available in +multiple languages and uses Login.gov as a secure sign-in service to verify a transit customer’s age for a “senior fare” +discount. This removes the need for someone to appear inperson at a transit agency to apply for the discount-fare +benefit—saving time, money, and paper. + +“Cal-ITP Benefits can help decrease the administrative burden on transit agencies and remove barriers for riders to receive +fare discounts while improving social equity and the customer experience,” says Caltrans California Integrated Mobility +Program Manager Gillian Gillett, who leads the California Integrated Travel Project ([Cal-ITP](https://calitp.org)). +“Our web app makes accessing lower fares easier for customers, which will help grow transit ridership.” + +Cal-ITP Benefits is the product of a collaboration between Cal-ITP and the Digital Identity team at the California Department +of Technology ([CDT](https://cdt.ca.gov/)), leveraging CDT’s expertise from researching the development of a Digital ID system +to be used across all state departments and transitioning all state forms to be signed and submitted electronically. In the +future, the Cal-ITP Benefits platform can be expanded to provide digital eligibility verification for students, veterans, +people with disabilities, low-income residents, and others who are eligible for transit discounts. There’s also the potential +to expand the service to other benefits beyond transit. + +“The Cal-ITP project offered us a test-case to deliver dependable and equitable public services, and reduce outdated +paper-based processes,” says Greg Fair, California Digital Identity Chief and Acting Chief Product Officer at CDT. +“Cal-ITP Benefits’ [open source software](https://github.com/cal-itp/benefits) and lessons learned from streamlining identity +and eligibility verification for this secure government product could be applied to more of California’s social service +benefits, from park passes and electric vehicle benefits to unemployment and food assistance programs.” + +While more than 30 federal agencies already use Login.gov for single sign-in and digital identity verification—including the +Social Security Administration, the U.S. Department of Veteran Affairs, the Transportation Security Administration +(including Global Entry), and the Small Business Administration—California is one of the first states to collaborate with +Login.gov on an application of its secure and centralized verification service. + +“Having access to a secure, seamless, and equitable identity verification service is key when receiving benefits, and strong, +effective partnerships on the state level is a great point of entry into shared services like Login.gov,” says GSA’s Technology +Transformation Services Acting Director Lauren Bracey Scheidt. “Our California partners were focused and driven to making a +difference in this federal-state collaboration, and we at GSA are excited to help serve members of the public in the +Monterey-Salinas Transit area.” + +Cal-ITP Benefits reduces administrative costs to the government and meets the customer-oriented government goals established +by President Joe Biden’s [_Transforming Federal Customer Experience and Service Delivery to Rebuild Trust in Government_](https://www.whitehouse.gov/briefing-room/statements-releases/2021/12/13/fact-sheet-putting-the-public-first-improving-customer-experience-and-service-delivery-for-the-american-people/) +Executive Order. + +Cal-ITP Benefits also embraces California Governor Gavin Newsom’s equity and inclusion goals in his: + +- New [Executive Order N 16-22](https://www.gov.ca.gov/wp-content/uploads/2022/09/9.13.22-EO-N-16-22-Equity.pdf), which aims to + tackle disparities in opportunities and outcomes and advance equity in part by designing and delivering state services to + address unequal starting points and drive equal outcomes. +- [Master Plan for Aging](https://mpa.aging.ca.gov/), which notes that by 2030, 10.8 million Californians will be an older + adult—one-quarter of the state’s population. +- Executive Orders [N-19-19](https://www.gov.ca.gov/2019/09/20/ahead-of-climate-week-governor-newsom-announces-executive-action-to-leverage-states-700-billion-pension-investments-transportation-systems-and-purchasing-power-to-strengthen-climate-resili/) and [N-79-20](https://www.gov.ca.gov/2020/09/23/governor-newsom-announces-california-will-phase-out-gasoline-powered-cars-drastically-reduce-demand-for-fossil-fuel-in-californias-fight-against-climate-change/), + which call for more equitable access to and easier use of public transportation to fight climate change. + +**How Cal-ITP Benefits works:** A user visits the Cal-ITP Benefits web app, either directly or linked from a transit agency. +They then [verify their identity via Login.gov](https://www.login.gov/help/verify-your-identity/how-to-verify-your-identity/), +and the Cal-ITP Benefits web app links the customer’s fare discount benefit to the contactless Visa or Mastercard debit or +credit card of the user’s choosing. See this process in action in [this GIF](https://docs.calitp.org/benefits/use-cases/img/senior-success.gif). + +Animated walkthrough of the Cal-ITP Benefits application enrollment process + +The payment processing and discount groups are handled by Littlepay, a U.K.- and Australia-based provider of payment +infrastructure for transit and mobility. The Benefits web app was designed and developed for Cal-ITP by Compiler, a +Los Angeles–based software consultancy. + +“ ‘How do I get my fare discount onto my contactless bank card?’ is the top question asked by MST riders since my transit +agency launched the state’s first contactless open-loop fare payments demonstration with Cal-ITP last year,” says +Monterey-Salinas Transit (MST) General Manager/CEO Carl Sedoryk. + +“We needed a digital tool that is convenient to use, maintains customer privacy, and respects both my staff and customers’ +time—and dignity—while offering instructions in both English and Spanish to meet the needs of our service-area residents,” +Sedoryk continues. “We get all of that with Cal-ITP Benefits. Plus, the web app is open to anyone with a Login.gov account +who is 65 or older and wants to ride MST for half-price when they visit our world-class Central Coast region for business or +pleasure.” + +For more information about [Cal-ITP Benefits](https://benefits.calitp.org/), contact [hello@calitp.org](mailto:hello@calitp.org). + +## About this demonstration project’s stakeholders + +### Cal-ITP + +The California Integrated Travel Project (Cal-ITP) was established by the California State Transportation Agency (CalSTA) and +California Department of Transportation (Caltrans) to both improve and encourage the use of multimodal travel throughout +California—by enabling contactless open-loop payments, standardizing information for easy multimodal trip planning, and +automating customer discounts (Cal-ITP Benefits). Prior to launching Cal-ITP Benefits, the Cal-ITP team successfully led +contactless openloop payment demonstrations with Monterey-Salinas Transit (MST) as well as public transit agencies in +Sacramento and Santa Barbara County. Learn more at [calitp.org](https://calitp.org) and on [@California_ITP](https://twitter.com/california_itp) +on Twitter, or by subscribing to the [Caltrans Mobility Newsletter](https://lp.constantcontactpages.com/su/eLbtFoE/calitp?VCPR). +And visit Cal-ITP’s [CAMobilityMarketplace.org](https://camobilitymarketplace.org) for a catalog of code-compliant products and +services for public mobility providers, including contactless payment acceptance hardware and software. + +### CDT + +The California Department of Technology (CDT) is committed to partnering with state, local government, and educational entities +to deliver digital services, develop innovative and responsive solutions for business needs, and provide quality assurance for +state government Information Technology (IT) projects and services. CDT is the guardian of public data, a leader in IT services +and solutions, and has broad responsibility and authority over all aspects of technology in California state government, +including: policy formation, inter-agency coordination, IT project oversight, information security, technology service delivery, +and advocacy. It provides for the delivery of digital government services through the oversight of statewide IT strategic +planning, project delivery, procurement, policy and standards, and enterprise architecture. The Director of CDT is also the +State Chief Information Officer (CIO), and advises the Governor on the strategic management and direction of the state’s IT +resources and policies. [cdt.ca.gov](https://cdt.ca.gov) + +### Login.gov + +Login.gov is a secure sign-in service used by the public to sign in to participating government agencies. Participating +agencies will ask you to create a Login.gov account to securely access your information on their website or application. +You can use the same username and password to access any agency that partners with Login.gov. This streamlines your process and +eliminates the need to remember multiple usernames and passwords. [Login.gov](https://login.gov/) is used to secure your +account when you apply for: + +- Federal jobs (USAJOBS — Office of Personnel Management) +- Global Entry (Trusted Traveler Programs — Department of Homeland Security) +- Small business loans and disaster assistance (Small Business Administration) +- Many other government benefits and services + +### MST + +In May 2021, Monterey-Salinas Transit (MST) paired with the California Integrated Travel Project (Cal-ITP) to become the [first +public transit agency in California to accept riders’ contactless open-loop debit/credit cards and mobile wallets for fare +payments](https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/) +aboard its fleet of fixed-route buses, which serve a population of 440,000 across 154 square miles on California’s Central +Coast. Learn more about MST’s launch of Cal-ITP Benefits in this [news release](https://mst.org/news_items/monterey-salinas-transit-mst-announces-discount-contactless-fares-for-both-local-and-visiting-riders-65-with-launch-of-new-benefits-eligibility-verification-website/) +and on [mst.org/benefits](https://mst.org/benefits). diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md new file mode 100644 index 00000000..d80e0a57 --- /dev/null +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -0,0 +1,147 @@ +--- +date: "2022-10-14T17:00:00-07:00" +title: South Carolina transit agency taps California’s contracts for competitively priced contactless fare payment system +heading: |- + South Carolina transit agency taps California’s contracts for competitively priced contactless fare payment system +lead: |- + Coast RTA leverages California’s approved vendors for a modern fare system that accepts riders’ mobile wallets and bank + cards—including the free Cash App Card, a Visa debit card for all riders that provides unbanked riders with a financial account +intro: |- + With its rollout of contactless payment acceptance devices aboard its bus fleet, South Carolina’s Coast RTA is the first + public transit agency from another state to use the State of California’s competitively priced contracts to purchase and + install the hardware and software services needed for accepting customers’ debit and credit cards and mobile wallets for fare + payments. +tags: + - Contactless Payments +outlet: "Cal-ITP" +--- + +Cal-ITP—Caltrans’ California Integrated Travel Project—supported Coast RTA through the process of purchasing open-loop payment +acceptance devices and fare calculation software from the State of California’s competitively awarded +[Master Service Agreements](https://www.calitp.org/assets/Contactless.Payments.MSA.pdf?utm_source=Coast+RTA+Press+Release&utm_medium=pr+email+social) (MSAs), +contracts that allow U.S. transit agencies to purchase hardware and software services directly from vendors without further +competitive bidding. + +“California’s MSAs make it easier and more affordable for public transportation providers anywhere in the U.S. to acquire the +tools that allow riders to buy a bus ride the same way that they buy their groceries or a cup of coffee: with the credit or +debit card or mobile device that’s already in their pocket or on their wrist,” says Gillian Gillett, Caltrans’ California +Integrated Mobility Program Manager. Gillett leads [Cal-ITP](https://www.calitp.org/?utm_source=Coast+RTA+Press+Release&utm_medium=pr+email+social), +a California-based initiative to make riding by bus and rail simpler and more costeffective—for public transportation providers +and riders—by standardizing trip-planning information and modernizing fare collection systems. + +“California’s contracts enabled us to purchase contactless open-loop payment acceptance devices and fare calculation +software—without having to conduct an RFP of our own or work through a lengthy procurement process,” says Brian Piascik, +General Manager and CEO of Coast RTA, which serves the Myrtle Beach resort town and nearby communities. “From reaching out to +Cal-ITP about using its state contracts to completing contracting and installation took just six months.” + +In switching to contactless fares, Coast RTA launched a Tap to Cap program: Customers are charged $1 per bus ride, and fare +payments by bank card or mobile wallet are “capped” at $3.50 per day—riders tap to pay until they reach that daily maximum, +then ride for free the rest of the day when tapping with the same contactless payment method. + +“Within days of launching our new fare payment system,” Piascik adds, “we could see that 15% of riders had already switched to +contactless to take advantage of Tap to Cap, which lets them pay as they go instead of locking up their money in a prepaid +farecard.” + +Because a large percentage of Coast RTA’s rider base was paying in cash before the transition to a contactless system, Cal-ITP +worked with the transit agency and Visa to ensure that anyone, including riders who may be unbanked (no bank account) or +underbanked (not regularly using checks or debit/credit cards for purchases), can order the +[Cash App Card](https://cash.app/help/us/en-us/3080-cash-card-get-started), a free contactless-enabled Visa debit card provided +by Cash App. + +“Visa previously partnered with Cal-ITP to expand financial inclusion when contactless fare payments were launched in +California on Monterey-Salinas Transit and Sacramento Regional Transit District light rail,” says Julie Scharff, VP of U.S. +Card Present & Strategic Initiatives at Visa. “We’re pleased to also help riders in South Carolina gain access to a payment +option that works both on and off the bus—making paying for transit as easy as paying for other everyday essentials.” + +The Cash App Card is a free, customizable debit card that is connected to your Cash App balance. It can be used anywhere Visa +is accepted. The Cash App Card can be used immediately, both online or in stores using a mobile wallet, before the physical +card arrives by mail. Cash App users have multiple ways to load funds to their Cash App balance, including by [depositing paper +money](https://cash.app/help/us/en-us/6488-paper-money-deposits) at various national and regional retailers, such as Walmart, +Walgreens, 7-Eleven, Rite Aid, and more. + +Coast RTA purchased payment acceptance devices manufactured by Kuba Inc., one of the hardware vendors awarded an MSA by the +California Department of General Services (DGS), contracts that are available via Cal-ITP’s [California Mobility Marketplace](https://www.camobilitymarketplace.org/contracts?utm_source=Coast+RTA+Press+Release&utm_medium=pr+email+social). +Kuba, a global leader in fare payment systems, installed and implemented Coast RTA’s new system within 90 days of contract +signing. + +“This is a testament to the partnership with Cal-ITP’s Mobility Marketplace,” says Kuba GM Brian Frank. “The successful and +timely collaboration between Coast RTA and our partners is a great example to other agencies of how easy implementing a modern +fare system can be, no matter the size of the agency.” + +For transit processor services—the fare calculation software that enables pay-as-you-go fare capping like Coast RTA’s Tap to +Cap daily max fare—the transit agency contracted with Littlepay. + +“Our platform is already pre-integrated with validators and acquirers available via CalITP’s Mobility Marketplace, so we can +plug-and-play a system within two months,” says Paul Griffin, Global Head of Commercial at Littlepay. “Agencies that choose +Littlepay do so safe in the knowledge that everything works already. There are no surprises, delays or costs to integrate +acquirers or devices.” + +And for payment processing—the secure back-end service that transmits fares from riders’ tapped bank cards and smart devices +to transit providers’ bank accounts—Coast RTA contracted with Elavon, a company with which the State of California has an MSA +for Electronic Payment Acceptance Services (EPAY) for California-based government agencies; Elavon matched California’s EPAY +rates for Coast RTA. + +“Our Mass Transit Payments product removes the need for specific transit agency–supported contactless cards by accepting any +contactless-enabled card or mobile device,” says Pari Sawant, Global Chief Product Officer of Elavon. “This helps to lower the +cost of payments acceptance and management for transit agencies and brings the ‘any card, anywhere’ approach to enable +contactless payments.” + +Cybersource, a Visa solution, serves as both the gateway and payment management platform for Mass Transit Payments. + +For more information about this project, Cal-ITP’s technical support, or California’s contactless payment MSAs, please email +[hello@calitp.org](mailto:hello@calitp.org). + +## About this project's stakeholders + +### Cal-ITP + +The California Integrated Travel Project (Cal-ITP) was established by the California State Transportation Agency (CalSTA) and +California Department of Transportation (Caltrans) to both improve and encourage the use of multimodal travel throughout +California—by enabling contactless open-loop payments, standardizing information for easy multimodal trip planning, and +automating customer discounts ([Cal-ITP Benefits]({% link _press/cal-itp-benefits-launch.md %})). Over the past year, Cal-ITP +successfully led contactless open-loop contactless payment implementations in California on Monterey-Salinas and Santa Barbara +buses; Sacramento light rail; on-demand van ride service in San Diego; and LAX’s FlyAway bus, which connects airport passengers +to commuter rail. + +Learn more at [calitp.org](https://www.calitp.org/?utm_source=Coast+RTA+Press+Release&utm_medium=pr+email+social) and on +[@California_ITP](https://twitter.com/california_itp) on Twitter, or by subscribing to the +[Caltrans Mobility Newsletter](https://lp.constantcontactpages.com/su/eLbtFoE/calitp?utm_source=Coast+RTA+Press+Release&utm_medium=pr+email+social). +And visit Cal-ITP’s [CAMobilityMarketplace.org](https://camobilitymarketplace.org) for a catalog of code-compliant products and +services for public mobility providers, including contactless payment acceptance hardware and software. Agencies that would +like to tap Cal-ITP’s technical assistance can indicate interest via this +[Cal-ITP Support Request Form](https://www.camobilitymarketplace.org/contact?utm_source=Coast+RTA+Press+Release&utm_medium=pr+email+social) +or by reaching out to [hello@calitp.org](mailto:hello@calitp.org). + +### Coast RTA + +Coast RTA provides public transportation to residents and visitors of Horry and Georgetown Counties in South Carolina. +It operates 40-passenger vehicles that service 10 fixed routes, all of which now accept fare payments from riders’ contactless +debit and credit cards and mobile wallets. [coastrta.com](https://coastrta.com) + +### Elavon + +Elavon is a wholly owned subsidiary of U.S. Bank, the fifth-largest bank in the United States and one of the largest payments +processors globally. It provides end-to-end payment processing solutions and services to more than 1.3 million customers in the +United States, Europe, and Canada. Elavon’s payment solutions are designed to solve pain points for businesses from small to +the largest global enterprises. [elavon.com](https://elavon.com) + +### Kuba + +By combining a contactless ticketing platform with more than 30 years of transit knowhow, Kuba drives transit journeys in more +than 500 cities and regions across the world. Kuba’s approach minimizes ticketing machine, ticketing agent, and kiosk costs and +cuts dwell times by speeding up boarding with tap to pay. [kubapay.com](https://kubapay.com) + +### Littlepay + +Littlepay launched in 2017 to provide contactless payment acceptance on public transit. The U.K.- and Australia-based company +works with more than 250 transportation and mobility providers around the world—powering payments on local buses, city networks, +and national public transportation systems. By creating a universal experience of tap-toride around the globe, Littlepay +supports more people in choosing public transportation for their journeys instead of cars. [littlepay.com](https://littlepay.com) + +### Cash App + +Cash App is the easy way to send, spend, bank, and invest money. Sending and receiving money is free and fast, and most +payments can be deposited directly to a bank account in just a few seconds with low to no fees. With Cash App, customers can +also invest in their favorite companies with as little as $1, buy and sell bitcoin instantly, get a paycheck deposited right to +the app, create a unique $cashtag to share with anyone to get paid fast, and use the Cash App Card to spend the money anywhere +they’d like. Download Cash App for free at [cash.app/download](https://cash.app/download). diff --git a/src/_press/cal-itp-gtfs-schedule-validator.md b/src/_press/cal-itp-gtfs-schedule-validator.md new file mode 100644 index 00000000..8eae3fd2 --- /dev/null +++ b/src/_press/cal-itp-gtfs-schedule-validator.md @@ -0,0 +1,8 @@ +--- +date: "2023-06-01T17:00:00-07:00" +title: New web tool makes GTFS validation easier for transit agency producers and consumers like journey-planning apps +external: https://mobilitydata.org/new-web-based-version-of-gtfs-schedule-validator-released/ +tags: + - GTFS +outlet: "Mobility Data" +--- diff --git a/src/_press/cal-itp-payments-data-dashboard.md b/src/_press/cal-itp-payments-data-dashboard.md new file mode 100644 index 00000000..8c82ac53 --- /dev/null +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -0,0 +1,8 @@ +--- +date: "2023-01-04T17:00:00-07:00" +title: Cal-ITP’s free dashboard serves up ridership metrics for transit agencies +external: https://www.route-fifty.com/digital-government/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ +tags: + - Contactless Payments +outlet: "Route Fifty" +--- diff --git a/src/_press/california-purchasing-agreements-allow-public-transit-agencies-across-us-to-quickly-modernize.md b/src/_press/california-purchasing-agreements-allow-public-transit-agencies-across-us-to-quickly-modernize.md new file mode 100644 index 00000000..a5e636dd --- /dev/null +++ b/src/_press/california-purchasing-agreements-allow-public-transit-agencies-across-us-to-quickly-modernize.md @@ -0,0 +1,8 @@ +--- +date: "2022-03-09T17:00:00-07:00" +title: State of California's purchasing agreements allow public transit agencies across U.S. to skip procurement and quickly modernize fare collection systems +external: https://www.calitp.org/assets/Contactless.Payments.MSA.pdf +tags: + - Contactless Payments +outlet: "Cal-ITP" +--- diff --git a/src/_press/california-valley-can-preloaded-reloadable-contactless-low-income-ev-owners.md b/src/_press/california-valley-can-preloaded-reloadable-contactless-low-income-ev-owners.md new file mode 100644 index 00000000..654e2174 --- /dev/null +++ b/src/_press/california-valley-can-preloaded-reloadable-contactless-low-income-ev-owners.md @@ -0,0 +1,8 @@ +--- +date: "2022-08-14T17:00:00-07:00" +title: State of California and Valley CAN issue preloaded, reloadable contactless debit cards for low-income EV owners to use at any charging station +external: https://valleycan.org/wp-content/uploads/2022/08/ValleyCAN_PR_080122_Final.pdf +tags: + - Contactless Payments +outlet: "Cal-ITP" +--- diff --git a/src/_press/capital-corridor-amtrak-first-innercity-passenger-rail-tap2ride.md b/src/_press/capital-corridor-amtrak-first-innercity-passenger-rail-tap2ride.md new file mode 100644 index 00000000..108ee895 --- /dev/null +++ b/src/_press/capital-corridor-amtrak-first-innercity-passenger-rail-tap2ride.md @@ -0,0 +1,8 @@ +--- +date: "2023-01-27T17:00:00-07:00" +title: Capitol Corridor—the Amtrak line that connects the San Francisco Bay Area to Sacramento—becomes first intercity passenger rail line in the U.S. to let passengers Tap2Ride with bank cards +external: https://www.capitolcorridor.org/blogs/get_on_board/capitol-corridor-announces-pilot-program-to-let-riders-pay-fares-with-contactless-debit-credit-cards/ +tags: + - Contactless Payments +outlet: "Cal-ITP" +--- diff --git a/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.md b/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.md new file mode 100644 index 00000000..a2ac4e37 --- /dev/null +++ b/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.md @@ -0,0 +1,8 @@ +--- +date: "2022-11-03T17:00:00-07:00" +title: Discounted cellular data plans now available for U.S. public transportation providers via California Mobility Marketplace +external: https://www.calitp.org/assets/Cal-ITP.FirstNet.PressRelease.221103.pdf +tags: + - Data Plans +outlet: "Cal-ITP" +--- diff --git a/src/_press/la-metro-cal-itp-mobility-wallet-prepaid-debit-card-south-la.md b/src/_press/la-metro-cal-itp-mobility-wallet-prepaid-debit-card-south-la.md new file mode 100644 index 00000000..29124851 --- /dev/null +++ b/src/_press/la-metro-cal-itp-mobility-wallet-prepaid-debit-card-south-la.md @@ -0,0 +1,8 @@ +--- +date: "2023-07-31T17:00:00-07:00" +title: LA Metro collaborates with Cal-ITP to introduce a Mobility Wallet, a prepaid debit card that lets South L.A. residents pay for their choice of transportation modes +external: https://thesource.metro.net/2023/07/31/introducing-the-mobility-wallet-mw-a-collaborative-transportation-solution-for-residents-of-south-la/ +tags: + - Contactless Payments +outlet: "L.A. Metro’s The Source Blog" +--- diff --git a/src/_resources/case-study-cash-app.md b/src/_resources/case-study-cash-app.md new file mode 100644 index 00000000..58d47c88 --- /dev/null +++ b/src/_resources/case-study-cash-app.md @@ -0,0 +1,9 @@ +--- +date: "2022-11-01T17:00:00-07:00" +title: |- + Case study: Instead of using cash, Monterey and Sacramento riders are choosing to tap the free Cash App Visa debit card +asset: Cal-ITP.CashApp.CaseStudy.pdf +category: Case studies +tags: + - Contactless Payments +--- diff --git a/src/_resources/case-study-contactless-fare-payments.md b/src/_resources/case-study-contactless-fare-payments.md new file mode 100644 index 00000000..8843db2d --- /dev/null +++ b/src/_resources/case-study-contactless-fare-payments.md @@ -0,0 +1,9 @@ +--- +date: "2022-11-01T17:00:00-07:00" +title: |- + Case study: Payments Data Dashboard enables transit agencies to visualize their contactless payments data +asset: Cal-ITP.Contactless.Payments.Data.CaseStudy.2022.pdf +category: Case studies +tags: + - Contactless Payments +--- diff --git a/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md new file mode 100644 index 00000000..9bca22cb --- /dev/null +++ b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md @@ -0,0 +1,8 @@ +--- +date: "2022-09-01T17:00:00-07:00" +title: "Fact sheet: Bank card issuers can advance equity through transit and financial inclusion" +asset: https://drive.google.com/file/d/1gDjTkOC_AoS8Zu3pMSvIWKjeJz-u7611/view?usp=share_link +category: Fact sheets & overviews +tags: + - Contactless Payments +--- diff --git a/src/_resources/fact-sheet-automated-transit-discounts.md b/src/_resources/fact-sheet-automated-transit-discounts.md new file mode 100644 index 00000000..10682ab2 --- /dev/null +++ b/src/_resources/fact-sheet-automated-transit-discounts.md @@ -0,0 +1,8 @@ +--- +date: "2023-06-01T17:00:00-07:00" +title: "Fact sheet: Automated transit discounts" +asset: https://drive.google.com/file/d/1LxLyL69hWFh_O-XnKtRKT4yBYLNNj6LZ/view +category: Fact sheets & overviews +tags: + - Benefits +--- diff --git a/src/_resources/fact-sheet-gtfs-feed.md b/src/_resources/fact-sheet-gtfs-feed.md new file mode 100644 index 00000000..ec688998 --- /dev/null +++ b/src/_resources/fact-sheet-gtfs-feed.md @@ -0,0 +1,8 @@ +--- +date: "2021-05-01T17:00:00-07:00" +title: "Fact sheet: Why transit agencies need a standard feed for their vehicle-location data" +asset: https://drive.google.com/file/d/1ljgMM-sQ2nP9241uFF7KgoWXgLDtZkDK/view?usp=share_link +category: Fact sheets & overviews +tags: + - GTFS +--- diff --git a/src/_resources/fact-sheet-why-go-contactless.md b/src/_resources/fact-sheet-why-go-contactless.md new file mode 100644 index 00000000..e67fa783 --- /dev/null +++ b/src/_resources/fact-sheet-why-go-contactless.md @@ -0,0 +1,8 @@ +--- +date: "2022-09-01T17:00:00-07:00" +title: "Fact sheet: Contactless fare collection delivers numerous benefits to both transit providers and riders" +asset: https://drive.google.com/file/d/1Wgsgcs18CfYLWfZTCIBmXk3GFf1SOq9G/view?usp=share_link +category: Fact sheets & overviews +tags: + - Contactless Payments +--- diff --git a/src/_resources/one-pager-data-playbook-making-your-gtfs-publicly-available.yml b/src/_resources/one-pager-data-playbook-making-your-gtfs-publicly-available.yml new file mode 100644 index 00000000..73ae8f1a --- /dev/null +++ b/src/_resources/one-pager-data-playbook-making-your-gtfs-publicly-available.yml @@ -0,0 +1,8 @@ +--- +date: "2023-07-02T17:00:00-07:00" +title: "Data Playbook: Making your GTFS publicly available" +asset: https://drive.google.com/file/d/1G8hp5PwaR9xUdiLkq_5tXpYWqle7qwwj/view +category: Fact sheets & overviews +tags: + - GTFS +--- diff --git a/src/_resources/one-pager-introductory-gfts-resource.md b/src/_resources/one-pager-introductory-gfts-resource.md new file mode 100644 index 00000000..38a95536 --- /dev/null +++ b/src/_resources/one-pager-introductory-gfts-resource.md @@ -0,0 +1,8 @@ +--- +date: "2023-04-01T17:00:00-07:00" +title: "Understanding GTFS: An intro and overview" +asset: https://drive.google.com/file/d/15OavdEm6-HlAK1eW3Fr5JrYdlpvKEh4n/view +category: Fact sheets & overviews +tags: + - GTFS +--- diff --git a/src/_resources/one-pager-mobility-data-interoperability-principles.md b/src/_resources/one-pager-mobility-data-interoperability-principles.md new file mode 100644 index 00000000..6a525210 --- /dev/null +++ b/src/_resources/one-pager-mobility-data-interoperability-principles.md @@ -0,0 +1,8 @@ +--- +date: "2022-09-01T17:00:00-07:00" +title: "Fact sheet: Mobilty Data Interoperability Principles help create a coordinated transportation network" +asset: https://docs.google.com/presentation/d/1Vawi8d70jtKfL-u5lwM05CcDyQ5zB764/edit?usp=share_link&ouid=107888682452903153368&rtpof=true&sd=true +category: Fact sheets & overviews +tags: + - GTFS +--- diff --git a/src/_resources/slide-deck-ca-transit-data-guidelines-draft-v3.0.md b/src/_resources/slide-deck-ca-transit-data-guidelines-draft-v3.0.md new file mode 100644 index 00000000..f517c8cc --- /dev/null +++ b/src/_resources/slide-deck-ca-transit-data-guidelines-draft-v3.0.md @@ -0,0 +1,8 @@ +--- +date: "2022-10-01T17:00:00-07:00" +title: "Overview: How Cal-ITP incorporated public feedback into CA Transit Data Guidelines v3.0" +asset: https://drive.google.com/file/d/1H8GBhTPYEUewGhAcjoIaY5Ih2txOFkTz/view?usp=share_link +category: Fact sheets & overviews +tags: + - GTFS +--- diff --git a/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md new file mode 100644 index 00000000..b2c67946 --- /dev/null +++ b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md @@ -0,0 +1,9 @@ +--- +date: "2022-09-01T17:00:00-07:00" +title: "Overview: GTFS Wheelchair Accessibility data makes +access to transit systems explicit for all riders" +asset: https://drive.google.com/file/d/1G1eBMR3qOiB6oH-dYfDhGpuyEWUUfGSj/view?usp=share_link +category: Fact sheets & overviews +tags: + - GTFS +--- diff --git a/src/browserconfig.xml b/src/browserconfig.xml deleted file mode 100644 index 3e4cf6c1..00000000 --- a/src/browserconfig.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/favicon-16x16.png b/src/favicon-16x16.png index 95840f20..a328f68c 100644 Binary files a/src/favicon-16x16.png and b/src/favicon-16x16.png differ diff --git a/src/favicon-32x32.png b/src/favicon-32x32.png index 8281dccc..00328209 100644 Binary files a/src/favicon-32x32.png and b/src/favicon-32x32.png differ diff --git a/src/favicon.ico b/src/favicon.ico index 1154de87..6b2d82c3 100644 Binary files a/src/favicon.ico and b/src/favicon.ico differ diff --git a/src/images/android-chrome-192x192.png b/src/images/android-chrome-192x192.png deleted file mode 100644 index 0b650aa6..00000000 Binary files a/src/images/android-chrome-192x192.png and /dev/null differ diff --git a/src/images/android-chrome-256x256.png b/src/images/android-chrome-256x256.png deleted file mode 100644 index ea3dd7ca..00000000 Binary files a/src/images/android-chrome-256x256.png and /dev/null differ diff --git a/src/images/android-chrome-512x512.png b/src/images/android-chrome-512x512.png deleted file mode 100644 index 1c57c6ab..00000000 Binary files a/src/images/android-chrome-512x512.png and /dev/null differ diff --git a/src/images/cal-itp-logo.svg b/src/images/cal-itp-logo.svg new file mode 100644 index 00000000..b4dc4c00 --- /dev/null +++ b/src/images/cal-itp-logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/images/connect-bg.svg b/src/images/connect-bg.svg deleted file mode 100644 index 6fc4149a..00000000 --- a/src/images/connect-bg.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/images/hero-header.png b/src/images/hero-header.png index 70b2c76a..aca4b3ca 100644 Binary files a/src/images/hero-header.png and b/src/images/hero-header.png differ diff --git a/src/images/number-1.png b/src/images/number-1.png deleted file mode 100644 index 6191cd84..00000000 Binary files a/src/images/number-1.png and /dev/null differ diff --git a/src/images/number-2.png b/src/images/number-2.png deleted file mode 100644 index 369b6f60..00000000 Binary files a/src/images/number-2.png and /dev/null differ diff --git a/src/images/number-3.png b/src/images/number-3.png deleted file mode 100644 index af70fa8f..00000000 Binary files a/src/images/number-3.png and /dev/null differ diff --git a/src/images/number-4.png b/src/images/number-4.png deleted file mode 100644 index d76c0259..00000000 Binary files a/src/images/number-4.png and /dev/null differ diff --git a/src/images/number-5.png b/src/images/number-5.png deleted file mode 100644 index a3e6c977..00000000 Binary files a/src/images/number-5.png and /dev/null differ diff --git a/src/images/section-1-bg-mobile.svg b/src/images/section-1-bg-mobile.svg deleted file mode 100644 index d5b42d6f..00000000 --- a/src/images/section-1-bg-mobile.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/images/section-1-bg-tablet.svg b/src/images/section-1-bg-tablet.svg deleted file mode 100644 index fdaf0794..00000000 --- a/src/images/section-1-bg-tablet.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/images/section-1-bg.svg b/src/images/section-1-bg.svg deleted file mode 100644 index 0efe7296..00000000 --- a/src/images/section-1-bg.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/images/section-2-bg-mobile.svg b/src/images/section-2-bg-mobile.svg deleted file mode 100644 index 38930b98..00000000 --- a/src/images/section-2-bg-mobile.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/images/section-2-bg-tablet.svg b/src/images/section-2-bg-tablet.svg deleted file mode 100644 index c5f45254..00000000 --- a/src/images/section-2-bg-tablet.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/images/section-2-bg.svg b/src/images/section-2-bg.svg deleted file mode 100644 index 6a1e49f0..00000000 --- a/src/images/section-2-bg.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/images/section-3-bg-mobile.svg b/src/images/section-3-bg-mobile.svg deleted file mode 100644 index 57866701..00000000 --- a/src/images/section-3-bg-mobile.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/images/section-3-bg-tablet.svg b/src/images/section-3-bg-tablet.svg deleted file mode 100644 index 3497b52b..00000000 --- a/src/images/section-3-bg-tablet.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/images/section-3-bg.svg b/src/images/section-3-bg.svg deleted file mode 100644 index 379f95f8..00000000 --- a/src/images/section-3-bg.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/images/tile-wide.png b/src/images/tile-wide.png deleted file mode 100644 index 4fbf43e0..00000000 Binary files a/src/images/tile-wide.png and /dev/null differ diff --git a/src/images/tile.png b/src/images/tile.png deleted file mode 100644 index e450d66e..00000000 Binary files a/src/images/tile.png and /dev/null differ diff --git a/src/images/tracks-divider-0-sm.png b/src/images/tracks-divider-0-sm.png new file mode 100644 index 00000000..d6ed7144 Binary files /dev/null and b/src/images/tracks-divider-0-sm.png differ diff --git a/src/images/tracks-divider-0.png b/src/images/tracks-divider-0.png new file mode 100644 index 00000000..644e9f43 Binary files /dev/null and b/src/images/tracks-divider-0.png differ diff --git a/src/images/tracks-divider-1-sm.png b/src/images/tracks-divider-1-sm.png new file mode 100644 index 00000000..1a875b1f Binary files /dev/null and b/src/images/tracks-divider-1-sm.png differ diff --git a/src/images/tracks-divider-2-sm.png b/src/images/tracks-divider-2-sm.png new file mode 100644 index 00000000..7d82e57d Binary files /dev/null and b/src/images/tracks-divider-2-sm.png differ diff --git a/src/images/update-bg.svg b/src/images/update-bg.svg deleted file mode 100644 index eb18d0f7..00000000 --- a/src/images/update-bg.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/index.html b/src/index.html index d72abeba..810d98af 100644 --- a/src/index.html +++ b/src/index.html @@ -3,531 +3,198 @@ layout: default --- -
-
-
-

A modern and consistent transportation experience throughout California

-

- Learn how the California Integrated Travel Project (Cal-ITP) is making riding by rail and bus simpler and more - cost-effective—for providers and riders. +

+
+
+

A modern and consistent transportation experience throughout California

+

+ Learn how the California Integrated Travel Project (Cal-ITP) is making riding by bus and train simpler and more + cost-effective—for providers and customers.

-
+ + +
A trio of images, clockwise from top: a bus, a train platform with a sign that announces “Next train in 3 minutes,” and a transit rider paying their fare by tapping their smartphone’s mobile wallet on a payment reader when boarding + alt="A trio of images, clockwise from top: a bus, a train platform with a sign that announces “Next train in 3 minutes,” and a transit rider paying their fare by tapping their smartphone’s mobile wallet on a payment reader when boarding" /> -
- -
-
-
- - A trio of images, from left to right: a contactless-enabled bank card, a mobile wallet on a smartphone, and a mobile wallet on a smartwatch - -
-

Enabling contactless payments

-

- Adding a contactless payment reader to a bus or train means customers can quickly and easily tap to pay as they board - with the bank card or smartphone that’s already in their pocket—just like they’d tap to buy a coffee. -

-

- Starting with - Monterey-Salinas Transit, Cal-ITP and partners like Visa are demonstrating how a transit provider that has traditionally used cash and - agency-specific fare cards can accept contactless bank card payments like any other merchant. -

-

- And to make it easier and more affordable for public transportation providers anywhere in the U.S. to acquire the - building blocks of contactless payments, the California Department of General Services (DGS)—in collaboration with - Cal-ITP—conducted a Request for Proposal that established Master Service Agreements (MSAs) allowing public - transportation providers to purchase contactless payments hardware and software directly from vendors without further - competitive bidding. Learn about the MSAs in our - press release, and - view the MSAs. -

-
-
-
- -
-
- - Checking a state-issued identification - -
-

Automating customer discounts

-

- Our Cal-ITP Benefits web application - streamlines the process for transit riders to instantly qualify for and receive discounts, starting with - Monterey-Salinas Transit - (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to - electronically verify their identity - are able to access MST's reduced fares without the hassle of paperwork. -

-

- We worked with state partners on this product launch, and next we're working to bring youth, lower-income riders, - veterans, people with disabilities, and others the same instant access to free or reduced fares across all California - transit providers, without having to prove eligibility to each agency. -

-
-
-
- -
-
- - A bus that transits real-time arrival and departure information - -
-

Standardizing information for easy trip planning

-

- Cal-ITP is helping transit providers remove the guesswork for riders wondering when the next bus or train will arrive - or if they’ll make their connection by using the General Transit Feed Specification (GTFS)—the global standard for - publishing transit information. Cal-ITP developed - California Minimum GTFS Guidelines - and is working to ensure statewide GTFS static coverage by the end of 2020 and GTFS Realtime by the end of 2021. Along - the way, the Cal-ITP team will support transit providers by assessing their systems and providing technical assistance - so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. -

-
-
-
-
- -
-

Bringing industry standards to California’s transit providers

-

- There are hundreds of public transit providers in California—with no single system for collecting fares, verifying - eligibility for fare discounts, or providing up-to-date vehicle arrival information to riders. -

-

- This lack of uniformity creates barriers for new riders, complicates travel across different systems, and increases expenses - for individual providers. -

-

- Supported by the - California State Transportation Agency - (CalSTA) and the - California Department of Transportation - (Caltrans) through a grant from the - California Transit and Intercity Rail Capital Program - (TIRCP), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and - cost-effective for everyone. -

-

Since forming in 2018, some Cal-ITP milestones include:

- -

Identifying solutions

-

- In August 2019, CalSTA and Caltrans organized a market sounding kickoff with companies and organizations in the payments, - banking, and trip-planning industries. In that meeting, barriers to seamless trip planning and fare payment were identified, - such as the lack of uniformity among California’s transit providers. Cal-ITP’s - 1st Market Sounding - in October 2019 dug into these barriers and identified specific opportunities for Cal-ITP to assist California’s transit - providers by leveraging global standards for data and payment systems. -

- -

Understanding feasibility

-

- Following the market sounding, Cal-ITP conducted a more thorough analysis to assess the financial and economic impacts of - the recommended initiatives. The April 2020 - Cal-ITP Feasibility Study - details the state of public transit in California and quantifies the economic benefits of Cal-ITP’s three primary - initiatives under conservative to moderate assumptions of project costs and ridership effects based on estimated demand. -

- -

Getting to work

+ +
+ + + Decorative element with dots and dashes, meant to resemble a transit map + + + Decorative element with dots and dashes, meant to resemble a transit map + + +
+
+

Bringing industry standards to California’s transit providers

- To increase the quality and quantity of transit data published by California's transit providers, Cal-ITP and state and - regional partners explored passenger-counting technologies in July 2020. Passenger occupancy data is crucial for - transportation planning purposes, and physical distancing due to COVID-19 has highlighted the benefit for riders to know - real-time passenger crowding in trip planning. Cal-ITP’s - 2nd Market Sounding: Real-Time Transit Vehicle Occupancy Report - was published in October 2020. + There are hundreds of public transit providers in California—with no consistent way to collect fares, verify eligibility for + fare discounts, or provide real-time vehicle information to customers on their phones.

-

- In 2020, Cal-ITP and partners gathered input from marketplace companies to gauge capabilities and interest in supporting - payment issuance. The findings were documented in Cal-ITP’s - 3rd Market Sounding Report: Payment Issuance for California Transit - and led to Cal-ITP collaborating with the California Air Resources Board (CARB) in 2021 to understand the market for - mobility accounts. Highlights from interviews with companies, transit agencies, and nonprofit and academic stakeholders can - be found in the - Market Sounding Report: Mobility Accounts. + The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and + increases expenses for individual providers.

-

- Throughout 2021, Cal-ITP forged new partnerships and live-tested solutions, advancing our vision across our three primary - project areas. Check out our + Supported by the 2021 Accomplishments Report - for complete details on our contactless payment demonstration projects and other ways in which our teams tackled mobility - service data, payment acceptance, and eligibility for discounts and benefits. -

- -

- In March 2022, Cal-ITP announced its + class="red-link fw-bold" + href="https://calsta.ca.gov/">California State Transportation Agency + (CalSTA) and the Market Consultation: Benefits Administrator, inviting companies to contribute answers to a set of five questions that could shape the way that California residents - qualify for and receive benefits, starting with transit discounts. -

- -

- In June 2022, Cal-ITP announced a + class="green-link fw-bold" + href="https://dot.ca.gov/ ">California Department of Transportation + (Caltrans) through a grant from the new open data standard - to improve transit agency operations and promote an interoperable transit ecosystem by improving the flow of data and - information sharing. The Operational Data Standard (ODS) leverages the existing GTFS standard used by transit agencies and - riders all over the world for transit service information and extends it to include data about personnel, scheduled - maintenance, and non-revenue service. The ODS specification is a product of the Operational Data Standard Working Group, a - coalition of more than 40 transit agencies, transit technology vendors such as computer-aided dispatch/automatic vehicle - location (CAD/AVL) companies, transit scheduling companies, and other contributors. -

-
- - - Decorative element with dots and dashes, meant to resemble a transit map - - -
-

Helping California achieve critical goals through transportation

-

- Cal-ITP initiatives are grounded in real-world results. Here’s a sampling of what we plan to do, supported by success - stories from transit providers around the world. + class="blue-link fw-bold" + href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog">California Transit and Intercity Rail Capital Program + (TIRCP), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and + cost-effective for everyone.

- -
- Number 1 -
-

Improve the customer experience

-

- Real-time global data standards save time—and change perceptions of wait time. In Seattle, riders with - access to GTFS Realtime information perceived their transit wait times as - 30% shorter than those without GTFS Realtime. Actual wait times were reduced by 2 minutes. -

-

- Contactless fare payments make transit easier for riders—especially tourists. Since beginning to accept - contactless payments in 2019, New York City has seen - taps from 130 countries - and eliminated the trip delay for currency conversion or to buy a fare card. -

-

- Contactless payments are popular with riders and boost satisfaction. In London, - 2/3 of riders converted to contactless payments after just their first use. And in a recent survey of UK commuters, - 45% of respondents said they would feel more positive toward public transit if they could use contactless payments. -

-
- - Number 2 -
-

Increase transit ridership

-

- Contactless payments are an incentive for riders to return to transit after the COVID-19 pandemic. - According to Visa, - contactless transactions for transit increased by 187% from April to June 2020. -

-

- Convenient, universal fare payments grow ridership. Riders are more likely to use transit when they - don’t need to think about how they’ll pay their fare. In its first year accepting contactless payments, - London saw a 4%–5% growth in Underground ridership. -

-

- Real-time arrival information shows that transit is a reliable way to commute and travel. The - introduction of - real-time arrival information increased bus ridership by about 2% in New York and Chicago. -

-
- - Number 3 -
-

Lower costs for transit providers and riders

-

- Cash alternatives will cut costs for transit providers. Washington, D.C., spends 10¢ per dollar - collecting cash fares but - just 4¢ per dollar on credit/debit card fares. -

-

- Digital payments are less expensive to accept. According to Visa, the average merchant spends about 7¢ - per dollar on processing cash and checks versus - 5¢ per dollar for contactless payments. -

-

- Machine maintenance and ticketing fees decrease. In New York City, the MTA expects to - save millions of dollars by eliminating the costs required for upkeep of its MetroCard system. -

-
- - Number 4 -
-

Reduce greenhouse gas emissions to reach environmental targets

-

- Contactless payments decrease bus dwell times. - Buses make up 62% of California’s urban public transit trips. The Transportation Research Board found that - bus boarding times are almost cut in half when tapping - (2.75 seconds per passenger) compared to swiping (5.0 seconds per passenger) or paying cash (4.5 seconds per passenger). -

-

- Making transit more attractive to riders will reduce driving demand. - California’s transit mode share - (5.2%) is comparable to the - national average - (5.0%). However, given our state’s density, diversity, congestion, and size, travel by bus and rail can and should be - higher in California. Contactless fare payments and real-time arrival information lead to higher transit ridership, - mitigating congestion and reducing greenhouse gas emissions. -

-
- - Number 5 -
-

Promote equitable access to transportation across the state’s transit providers

-

- A statewide program to verify eligibility for reduced fares will alleviate cumbersome processes for both transit - providers and riders. - A simple, digitized, statewide verification program will enable any rider to have their eligibility for a reduced-fare - program instantly verified for any transit provider in California. This way, older adults, students, veterans, and - others can ride transit anywhere in the state with the confidence that they’ll be charged the right fare every time. -

-

- Fare capping reduces transit costs for low-income riders. Unlimited-ride passes cost more upfront, - forcing many riders to pay as they go at full fare. Contactless fare collection enables “fare capping,” which allows - riders to pay the unlimited-ride price over time. This means that, after tapping enough times to reach the cost of a - daily, weekly, or monthly pass, riders will no longer be charged for transit use for the remainder of that time period. -

-
-
-
- - - Another decorative element with dots and dashes, meant to resemble a transit map - - -
-

The time is now—reach out to help and to learn more

+ +
+ +
+
+

Helping California achieve critical goals through transportation

+

By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:

+ +
+
    +
  1. + invites travelers toward more efficient and sustainable modes of travel, +
  2. +
  3. reduces operating costs for transit agencies,
  4. +
  5. simplifies every traveler’s life, and
  6. +
  7. + simultaneously welcomes every single person in this country to a seamless, user-friendly system—making paying for a + transit ride just as easy as buying coffee. +
  8. +
+
+
+
+ + + Decorative element with dots and dashes, meant to resemble a transit map + + + Decorative element with dots and dashes, meant to resemble a transit map + + +
+ {% include initiatives.html %} +
+ + + Another decorative element with dots and dashes, meant to resemble a transit map + + + Another decorative element with dots and dashes, meant to resemble a transit map + + +
+
+

The time is now—reach out to help and to learn more

This initiative is critical now more than ever.

- As COVID-19 hit the United States, many transit providers saw ridership decrease. But many who depend on transit do not have - the privilege to work from home—including many essential workers. Reliable transit access and contactless payments are - critical components to ensuring that transit forms a key part of the COVID-19 crisis response and recovery. -

-

- Cal-ITP also supports the state’s longer-term equity, economic development, and climate goals as delineated in - 2020 California Executive Order N-79-20. Increased transit ridership is a key component of California’s strategy to reduce greenhouse gas emissions and combat - climate change. To reach its full potential, Cal-ITP will provide individual transit providers with the buying power to save - on the equipment needed to ensure that transit remains a core tenet of the state’s mobility. -

-

- As California faces these unprecedented challenges, there is a sense of urgency around creating a seamless, simpler, and - more sustainable transit experience in California. Collaboration and collective problem-solving are needed at all levels of - government, public and private transit providers, academia, and think tanks, as well as vendors of relevant technologies and - business models. Join us. + Cal-ITP is working with transportation agencies across the country to launch a program that can immediately improve the + ridership experience. Contact us to learn more.

-
- -
-
-
- Two thought bubbles with dashes of various lengths, meant to represent words in a conversation -

Connect with Cal-ITP

-

Drop us a line at hello@calitp.org to

-
    -
  • request technical assistance
  • -
  • get more information
  • -
  • offer collaborative support
  • -
  • join our email list for updates
  • -
-
-
- -
-
- A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed -

Stay up to date

-

- See our latest milestones, and subscribe to - the - Caltrans Mobility Newsletter, a free biweekly resource with frequent Cal-ITP project updates. -

-
-
-
-
- - + + + + + + + + + + + +
+
+
+ Two thought bubbles with dashes of various lengths, meant to represent words in a conversation +

Connect with Cal-ITP

+ Drop us a line at + hello@calitp.org + to: +
    +
  • request technical assistance
  • +
  • get more information
  • +
  • offer collaborative support
  • +
  • join our email list for updates
  • +
+
+
+
+   +
+
+
+ A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed +

Stay up to date

+

+ See our + latest milestones, and subscribe to the + Caltrans Mobility Newsletter, a free biweekly resource with frequent Cal-ITP project updates. +

+
+
+
diff --git a/src/press.html b/src/press.html new file mode 100644 index 00000000..7529299e --- /dev/null +++ b/src/press.html @@ -0,0 +1,52 @@ +--- +layout: default +permalink: /press +--- + +{% include clipped.html %} + +
+
+
+

Press

+

Below you’ll find news about Cal-ITP and our initiatives, including press releases and media coverage about new launches and project milestones. Interested in getting in touch? Reach out to us at hello@calitp.org.

+ {% include pills.html tags=site.data.press_tags %} +
+
+
+ +
+
+
+
+ {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} + {% assign items = site.press | reverse %} +
+ {% include articles.html items=items %} +
+ {% for tag in site.data.press_tags %} + {% assign items = site.press | reverse | where_exp: "item", "item.tags contains tag.name" %} +
+ {% include articles.html items=items %} +
+ {% endfor %} +
+
+
+ +
+ + diff --git a/src/resources.html b/src/resources.html new file mode 100644 index 00000000..4441686e --- /dev/null +++ b/src/resources.html @@ -0,0 +1,70 @@ +--- +layout: default +permalink: /resources +--- + +{% include clipped.html %} + +
+
+
+

Resources

+

Below you’ll find information about Cal-ITP and our initiatives, including fact sheets, case studies, and more. Don’t see what you’re looking for? Reach out to us at + hello@calitp.org.

+ {% include pills.html tags=site.data.resource_tags %} +
+
+
+ +
+
+
+ {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} + {% assign all_resources = site.resources | reverse %} + {% comment %} one more reverse when creating the groups to order ascending by name {% endcomment %} + {% assign groups = all_resources | group_by: "category" | reverse %} + +
+
+ {% for group in groups %} +

{{ group.name }}

+ {% assign items = group.items %} + {% include articles.html items=items %} + {% unless forloop.last %} +
+ {% endunless %} + {% endfor %} +
+ {% for tag in site.data.resource_tags %} +
+ {% for group in groups %} + {% assign items = group.items | where_exp: "item", "item.tags contains tag.name" %} + {% unless items.size == 0 %} +

{{ group.name }}

+ {% include articles.html items=items %} + {% unless forloop.last %} +
+ {% endunless %} + {% endunless %} + {% endfor %} +
+ {% endfor %} +
+
+
+
+ + diff --git a/src/scripts/pill-behavior.js b/src/scripts/pill-behavior.js new file mode 100644 index 00000000..419703fc --- /dev/null +++ b/src/scripts/pill-behavior.js @@ -0,0 +1,57 @@ +const pills = document.querySelectorAll("button[data-bs-toggle='pill']"); +pills.forEach((p) => { + // mouse-click or Enter key will trigger "click" event and should toggle the pill's state + p.addEventListener("click", (event) => toggleSelection(p.id)); + + // arrow keys will trigger "keyup" event and should set pill to "selected" (no way to deselect using arrow key) + p.addEventListener("keyup", (event) => selectByArrowKey(event, p)); + + // mouse-click, Enter key, or arrow keys will trigger "shown.bs.tab" event and should hide the "all" tab + p.addEventListener("shown.bs.tab", (event) => hideAllTab()); +}); + +function toggleSelection(id) { + const pillToToggle = document.querySelector("#" + id); + if (!pillToToggle.classList.contains("cal-itp-selected")) { + select(pillToToggle); + } else { + pillToToggle.classList.remove("cal-itp-selected"); + pillToToggle.classList.remove("active"); + hideTab(pillToToggle.id); + + showAllTab(); + } +} + +function select(pill) { + pill.classList.add("cal-itp-selected"); + + const pills = document.querySelectorAll("button[data-bs-toggle='pill']"); + let pillSet = new Set(pills); + pillSet.delete(pill); + pillSet.forEach((pill) => pill.classList.remove("cal-itp-selected")); +} + +function hideTab(pillId) { + const selectedTab = document.querySelector("div[aria-labelledby='" + pillId + "']"); + selectedTab.classList.remove("show"); + selectedTab.classList.remove("active"); +} + +function selectByArrowKey(event, pill) { + if (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) { + select(pill); + } +} + +function showAllTab() { + const allTab = document.querySelector("#pills-all"); + allTab.classList.add("show"); + allTab.classList.add("active"); +} + +function hideAllTab() { + const allTab = document.querySelector("#pills-all"); + allTab.classList.remove("show"); + allTab.classList.remove("active"); +} diff --git a/src/site.webmanifest b/src/site.webmanifest deleted file mode 100644 index c9416d9c..00000000 --- a/src/site.webmanifest +++ /dev/null @@ -1,22 +0,0 @@ ---- ---- -{ - "short_name": "{{site.title}}", - "name": "{{site.title}}", - "icons": [ - { - "src": "images/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "images/icon.png", - "type": "image/png", - "sizes": "192x192" - } - ], - "start_url": "/", - "background_color": "{{site.theme_background_color}}", - "theme_color": "{{site.theme_color}}", - "display": "standalone" -} diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4a15d8bf..49f533c7 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,474 +1,383 @@ -article { - margin-left: auto; - margin-right: auto; - width: 80vw; +:root { + --bs-font-sans-serif: "Poppins", system-ui, -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Noto Sans", + "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --calitp-headline-sans-serif: "Raleway", system-ui, -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", "Noto Sans", + "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-border-radius: 20px; + --bs-border-style: dashed; + --bs-body-line-height: 1.4; + --header-nav-height: 110px; + --footer-nav-height: 39px; } + +body { + --bs-body-color: rgb(33, 33, 33); /* #212121 */ + --bs-link-color: rgb(4, 107, 153); /* calitp-primary-blue */ + --bs-link-hover-color: rgb(34, 81, 115); /* calitp-primary-dark-blue */ + --bs-secondary-rgb: 143, 147, 153; /* calitp-gray-3 */ + --calitp-primary-blue: rgb(4, 107, 153); /* #046b99 */ + --calitp-primary-dark-blue: rgb(34, 81, 115); /* #225173 */ + --calitp-background-blue: rgb(245, 249, 251); /* #F5F9FB */ + --calitp-cyan-1: rgb(213, 238, 245); /* #d5eef5 */ + --calitp-gray-2: rgb(200, 200, 201); /* #C8C8C9 */ + --calitp-green-4: rgb(0, 117, 91); /* #00755b */ + --calitp-green-5: rgb(0, 73, 57); /* #004939 */ + --calitp-orange-5: rgb(178, 86, 0); /* #b25600 */ + --calitp-purple-4: rgb(82, 76, 143); /* #524c8f */ + --calitp-purple-5: rgb(41, 34, 120); /* #292278 */ + --calitp-red-4: rgb(192, 63, 77); /* #c03f4d */ + --calitp-red-5: rgb(160, 46, 59); /* #a02e3b */ + --calitp-slate-5: rgb(36, 61, 81); /* #243d51 */ + --calitp-font-weight-bold: 700; +} + +.background-calitp-blue { + background-color: var(--calitp-primary-blue); +} + +.background-purple-4 { + background-color: var(--calitp-purple-4); +} + +.background-slate-5 { + background-color: var(--calitp-slate-5); +} + +.btn { + --bs-btn-border-width: 2px; +} + h1, h2, h3, h4 { - font-family: "Raleway", sans-serif; - color: #323a45; + font-family: var(--calitp-headline-sans-serif); } -h1 { - font-size: 48.83px; +h1, +.h1 { + font-size: calc(40rem / 16); + font-weight: var(--calitp-font-weight-bold); + margin-bottom: 19px; } -h2 { - font-size: 36px; +h2, +.h2 { + font-size: 2rem; } h3 { - font-size: 30px; + font-size: calc(24rem / 16); +} + +h4, +.h4 { + font-weight: var(--calitp-font-weight-bold); + line-height: var(--bs-body-line-height); } p, a, li { - font-family: "Poppins", sans-serif; - color: #323a45; + font-size: 1rem; } -picture.railway img { - width: 100%; - margin-top: 4em; - margin-bottom: 4em; +hr { + margin-top: 40px; + margin-bottom: 40px; } -header { - background-color: white; - width: 100vw; +.small-caps { + text-transform: uppercase; + line-height: var(--bs-body-line-height); + letter-spacing: 0.025em; + display: inline-block; + padding: 0.35rem 1rem; + font-size: 0.75rem; + font-family: var(--bs-font-sans-serif); + border: 1.5px solid var(--bs-white); + background-color: rgba(33, 33, 33, 0.2); } -footer { - background-color: #323a45; -} -footer nav .links a { - color: white; +.fs-7 { + font-size: calc(14rem / 16); } -nav ul { - margin-bottom: initial; - padding-left: initial; +.font-poppins { + font-family: var(--bs-font-sans-serif); } -header nav, -footer nav { - margin-left: auto; - margin-right: auto; - width: 80vw; - display: grid; - grid-template-rows: 1fr; - grid-template-columns: 1fr; - align-items: center; +a { + font-weight: 700; + text-decoration: underline; + text-decoration-thickness: 2px; } -header nav { - grid-template-columns: 7fr 1fr; +a:hover { + text-decoration-style: dotted; } -header nav .links, -footer nav .links { - list-style: none; - display: grid; - grid-template-rows: 1fr; - grid-template-columns: repeat(3, max-content); - grid-gap: 5em; +.red-link { + background-color: var(--calitp-red-5); + color: var(--bs-white); } -p.important { - font-size: 24px; - margin-bottom: 50px; +.blue-link { + background-color: var(--calitp-primary-blue); + color: var(--bs-white); } -.links a { - color: #323a45; - font-size: 18px; +.green-link { + background-color: var(--calitp-green-5); + color: var(--bs-white); } -#triforce { - width: 100%; +.red-link:focus, +.red-link:hover, +.blue-link:focus, +.blue-link:hover, +.green-link:focus, +.green-link:hover { + color: var(--bs-white); } -#deck { - display: grid; - grid-template-rows: 1fr; - grid-template-columns: 1.75fr 1fr; - grid-gap: 3em; - line-height: 1.1; - align-items: center; - padding-bottom: 50px; +.navbar { + --bs-navbar-padding-y: 0; + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04); } -@media (max-width: 540px) { - #deck h1 { - font-size: 24px; - } +.navbar-nav { + --bs-nav-link-color: var(--bs-body-color); + --bs-navbar-active-color: var(--calitp-primary-blue); + --bs-nav-link-hover-color: var(--calitp-primary-blue); } -.big { - font-size: 24px; -} -@media (max-width: 540px) { - #deck .big { - font-size: 18px; - } +header .nav-link { + padding: 31.4px 0 31.4px 0; } -#details { - margin-top: 50px; - display: grid; - grid-template-rows: repeat(3, 1fr); - grid-template-columns: 1fr; +header .nav-link:hover { + background-color: var(--calitp-background-blue); } -.box { - background-repeat: no-repeat; - background-size: contain; - background-position: center; - border-radius: 15px; +main.container { + padding-top: var(--header-nav-height); } -#details .box { - display: grid; - justify-content: center; - align-content: center; - grid-template-columns: 1fr; - grid-template-rows: min-content; - width: 100%; - max-width: 1200px; +section#about { + padding-top: var(--header-nav-height); + margin-top: calc(-1 * var(--header-nav-height)); } -#details .box .callout { - display: grid; - grid-template-rows: 1fr; - grid-template-columns: 1fr max-content; - grid-gap: 3em; - justify-content: center; - justify-items: center; - padding: 3em; - margin-left: auto; - margin-right: auto; +footer a:hover { + color: var(--calitp-gray-2) !important; } -.box p, -.box h3, -.box a, -.box li { - color: white; -} +/* Press Release */ -#details #enabling-contactless-payment { - background-image: url("../images/section-1-bg.svg"); -} -#details #automating-customer-discounts { - background-image: url("../images/section-2-bg.svg"); - margin-bottom: 1.25rem; -} -#details #standardizing-trip-quality { - background-image: url("../images/section-3-bg.svg"); +.press-release h2, +.press-release h3 { + font-size: var(--bs-body-font-size); + padding-top: 20px; + font-weight: var(--calitp-font-weight-bold); + font-family: var(--bs-font-sans-serif); } -.red-link { - background-color: #db5461; - color: white; -} -.blue-link { - background-color: #046b99; - color: white; -} -.green-link { - background-color: #00775d; - color: white; -} -.purple-link { - background-color: #4c387a; - color: white; -} -.gold-link { - background-color: #c8700a; - color: white; +.press-release h2:last-of-type { + text-decoration: underline; } -.red-link:focus, -.red-link:hover, -.blue-link:focus, -.blue-link:hover, -.green-link:focus, -.green-link:hover, -.purple-link:focus, -.purple-link:hover, -.gold-link:focus, -.gold-link:hover { - color: white; - text-decoration-style: dotted; +/* Home Page */ + +.hero-header { + max-width: 441px; } -.constricted { - width: 50vw; - margin-left: auto; - margin-right: auto; +#details .tab-content .tab-list article:nth-child(n + 3) { + display: none; } -#funfacts #facts { - display: grid; - grid-template-columns: 1fr 8fr; - grid-template-rows: 1fr; - grid-gap: 2em; +.rainbow-list ol { + list-style: none; + counter-reset: numList; } -#funfacts #facts picture { +.rainbow-list ol li:before { + counter-increment: numList; + content: counter(numList); text-align: center; - margin-top: 1.5em; + color: var(--bs-white); + line-height: 40px; + width: 40px; + height: 40px; + border-radius: 50%; + flex-shrink: 0; } -#funfacts picture img { - width: 100%; +.rainbow-list ol li:nth-child(1):before { + background: var(--calitp-primary-blue); } -#about { - padding-top: 80px; -} -#funfacts { - padding-top: 80px; -} -#reachout { - padding-top: 80px; +.rainbow-list ol li:nth-child(2):before { + background: var(--calitp-orange-5); } -#lastminute { - display: grid; - grid-template-rows: 1fr; - grid-template-columns: min-content min-content; - grid-gap: 2em; - justify-content: center; - margin-top: 5em; - margin-bottom: 5em; +.rainbow-list ol li:nth-child(3):before { + background: var(--calitp-red-5); } -#lastminute #connect { - background-image: url("../images/connect-bg.svg"); +.rainbow-list ol li:nth-child(4):before { + background: var(--calitp-purple-4); } -#lastminute #update { - background-image: url("../images/update-bg.svg"); + +.nav-pills { + --bs-nav-pills-border-radius: 19px; } -#lastminute .box { - width: 400px; - height: 400px; - display: grid; - justify-content: center; - align-items: center; +.nav-pills .nav-link { + padding: 4px 8px; + border-width: 2px; + border-style: solid; } -#lastminute h3 { - font-size: 25px; +.black-on-white .nav-pills { + --bs-nav-pills-link-active-color: var(--bs-white); + --bs-nav-pills-link-active-bg: var(--bs-body-color); } -#lastminute ul { - padding-left: 1rem; +.black-on-white .nav-pills .nav-link { + border-color: var(--bs-body-color); } -#lastminute .box picture { - justify-self: center; - align-self: center; + +.black-on-white .nav-pills .nav-link:not(.active) { + color: var(--bs-body-color); } -#lastminute .box p { - margin-bottom: 0; + +.black-on-white .nav-pills .nav-link:hover { + border-color: rgba(33, 33, 33, 0.8); } -#lastminute .box picture img { - width: 80px; + +.white-on-color .nav-pills { + --bs-nav-pills-link-active-color: var(--bs-body-color); + --bs-nav-pills-link-active-bg: var(--bs-white); } -#lastminute .box .blob { - width: 260px; - display: grid; - grid-template-rows: 130px min-content auto; - height: 350px; +.white-on-color .nav-pills .nav-link { + border-color: var(--bs-white); } -#lastminute #update.box .blob { - padding-left: 15px; +.white-on-color .nav-pills .nav-link:not(.active) { + color: var(--bs-white); } -.right-callout { - max-width: 700px; +.white-on-color .nav-pills .nav-link:hover { + border-color: rgba(var(--bs-white-rgb), 0.8); } -#triforce { - max-width: 450px; +.clipped, +.clipped-start, +.clipped-end { + -webkit-clip-path: none; + clip-path: none; + border-radius: 1.25rem; } -.callout picture { - text-align: right; +.clipped-start, +.clipped-end { + min-height: 100%; } -#about h2 { - margin-top: 50px; +.clipped-shadow { + filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15)); } -#hamburger { - display: none; +.mb-28 { + margin-bottom: 28px; } -@media (max-width: 1024px) { - .constricted { - width: 80vw; +@media (min-width: 992px) { + .navbar { + --bs-navbar-nav-link-padding-x: 40px; + --bs-navbar-nav-link-padding-y: 0; } - #deck { - grid-template-rows: min-content 1fr; - grid-template-columns: 1fr; - grid-gap: initial; - justify-items: center; - text-align: center; - } - #details { - justify-items: center; - grid-template-rows: repeat(3, min-content); - grid-gap: 2em; - } - #details .box { - width: 100%; - } - .right-callout { - max-width: 500px; - } - .callout picture img { - width: 100px; - } - #lastminute { - grid-template-rows: repeat(2, min-content); - grid-template-columns: 1fr; - grid-gap: 2em; - justify-items: center; - margin-top: 5em; - margin-bottom: 5em; - } - #details #enabling-contactless-payment { - background-color: #c64e5a; - background-image: initial; - } - #details #automating-customer-discounts { - background-color: #046b99; - background-image: initial; - margin-bottom: 0; - } - #details #standardizing-trip-quality { - background-color: #5b559c; - background-image: initial; - } - #lastminute #connect { - background-color: #c64e5a; - background-image: initial; + + .navbar-brand { + --bs-navbar-brand-padding-x: 32px; + --bs-navbar-brand-padding-y: 32px; } - #lastminute #update { - background-color: #c8700b; - background-image: initial; + + .navbar-nav { + --bs-nav-link-color: var(--bs-body-color); + --bs-navbar-nav-link-padding-y: 0; + --bs-nav-link-padding-y: 0; } -} -@media (max-width: 768px) { - header nav, - footer nav { - display: grid; - grid-template-rows: 1fr min-content; - grid-template-columns: 1fr 1fr; - justify-items: center; + main.container { + min-height: calc(100vh - var(--footer-nav-height)); } - header nav #hamburger { - display: initial; + + footer a { + line-height: var(--footer-nav-height); } - header nav .links { - display: none; + + .clipped, + .clipped-start, + .clipped-end { + border-radius: 0; } - header nav .links.visible { - display: grid; - grid-column: 1/-1; - text-align: center; + + .clipped { + -webkit-clip-path: url(#my-clip-path); + clip-path: url(#my-clip-path); } - footer nav { - grid-template-columns: 1fr; + + .clipped-start { + -webkit-clip-path: url(#my-clip-path-start); + clip-path: url(#my-clip-path-start); } - #details .box .callout { - grid-template-rows: min-content 1fr; - grid-template-columns: 1fr; + + .clipped-end { + -webkit-clip-path: url(#my-clip-path-end); + clip-path: url(#my-clip-path-end); } } -@media (max-width: 540px) { - article { - margin-left: initial; - margin-right: initial; - width: 100vw; - } - header nav .links.visible { - grid-template-rows: repeat(3, min-content); - grid-template-columns: 1fr; - grid-column: initial; - grid-gap: initial; - grid-column: 1/-1; - text-align: center; - } - footer nav { - grid-template-columns: 1fr; - } - footer nav .links { - grid-template-rows: repeat(3, min-content); - grid-template-columns: 1fr; - grid-column: initial; - grid-gap: initial; - grid-gap: 1em; - } - #details { - margin-left: 5vw; - margin-right: 5vw; - } - #details .box { - width: 100%; - } - #lastminute { - margin-left: 5vw; - margin-right: 5vw; + +@media (max-width: 992px) { + .navbar-brand { + --bs-navbar-brand-padding-x: 32px; + --bs-navbar-brand-padding-y: 32px; } - #lastminute .box { + + #mainNav { + position: absolute; width: 100%; - border-radius: 15px; - } - .constricted { - width: 90vw; - margin-left: auto; - margin-right: auto; + left: 0; + top: var(--header-nav-height); + background: var(--bs-white); } - #funfacts #facts { - grid-template-columns: 1fr; - grid-template-rows: min-content 1fr; - grid-gap: 1em; - } - #funfacts #facts picture { - text-align: initial; + .navbar-nav .nav-link { + padding: 23.8px 0 23.8px 12px; + border-bottom: 1px solid var(--calitp-cyan-1); } - #funfacts #facts img { - width: 52px; - } - .blob { - padding: 1em; - } -} -@media (min-width: 1441px) { - #details { - justify-items: center; + + .navbar-nav { + margin: 0 auto; } } -@media (min-width: 1024px) { - #funfacts, - #reachout { - padding-top: 100px; + +@media (min-width: 768px) { + .mb-md-40 { + margin-bottom: 40px; } - header { - position: fixed; - top: 0; + + .navbar-nav { + max-width: 720px; } - article { - margin-top: 140px; +} + +@media (min-width: 576px) and (max-width: 765px) { + .navbar-nav { + max-width: 540px; } }