From 56b75659a5d3fcf745480dc6c6d71d8641a31ade Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 15 May 2023 21:30:55 +0000 Subject: [PATCH 001/277] fix(favicon): replace favicon files with those from mobimart --- src/favicon-16x16.png | Bin 860 -> 935 bytes src/favicon-32x32.png | Bin 1441 -> 1543 bytes src/favicon.ico | Bin 15086 -> 15086 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/favicon-16x16.png b/src/favicon-16x16.png index 95840f20fa1451c0b057e934537924c0a0829a9c..a328f68caad0c5744af729bf42858d7278bc2285 100644 GIT binary patch delta 702 zcmcb^ww!%JLcKzOPlzi614HAEqwDsbSiASs|7}cvwh8~;F7j`OC{PdwI)XzSq`qm# z(Pl8}+<9#O{*ypsfe0vGz5VFC-N)DNJ+TI45d_tP<j6uma}fyWZlEC>_a555XY=ko zE5YRI9eXx>-J$kxJIFJr2q99BDuJd>1n6p@g8%>j8*EK51BOy;NswPKkOl)L7Ur-` z8#bpfEyxu<`PET+_WCW`mdLZPvoJDq^`=cv@2<$7XfA!cY2Va^TiZ`++aBv*xvuL- z^M3yLxW?GF<Z>YaKBju}V`tA?SiqaPgn33;YJYE!!T#Av20-H(lf2zs;)^c^>H;~O z1s;*b3=BHnAk4VbcG^myAbW|YuPgf#9&u4Y0ogsue}F=ZJzX3_BrYc>II#D~%n>+n z^aO|CgJ%y}8SUy;G&CgWuy8oCwzw+P1R8S8cZ_KY5Av$_it=&`^NVZb)L3w0<&rgv zRxMk%aOKjqhgrf7FIl}jKOrL}Cn<|f)L{FDEt|G&+`73up^f83hNYF|?j5^!R##M2 zHnYr_5m8g~_fMmNf&s^xwyC-nd`wPG2bpr-BnC7Vm~}X0xTJ`1xEyz2ZD?Q=XJD{1 zlIuHB=DZl_Ue%Jx6PUzBjf_K#46O{!tqjey4GgUe3|?ISqA+<6lMJTJ%r2iflixDs F0{}=wRh<9; delta 669 zcmZ3^eur&BLcK_UPlzi614F_3y^TALcI-J(vE$<Z%^Y(7|Nq@C@_(mb^|r(6MLmL{ zCI0<OY|1BiG|kLhw7F^LF`(l4CoiwNcx%$3v-3_~o^|X(_r6mNJB|Xy6P9h8e)N3p z_7k}~9+hu8F#X8+6Wim?t<c^y-*)Q)>z#`%FRs)98V*DaJL-=%?>x5X)Rl#&u1q|5 zX2#JAOV8hXa5(kHR`LHkg#Yj02RUN9Fo@hCd~1#R<yG3pmKj}LrS*S@5XgvaBL7bC z{X4_+?-JL)(>y>fP;lps`#{sSU%PkY-jm+_XAazXwD#i7Lw6q^yZ`jWgXf!0?R~L9 zVd^x$y8h_CDS`DlohcoYLeH+yUpm`$&J3>|3$04J6Amvm`TzgF?AB~%V92<X1o;I6 zX$W9sf`H^TtAJol13SmI`HTv;wq)f1L5hTAUO5nyZojKCYd1Gr+xD$nx9-SgWn*P! zWn(s}yZ91l2xF4ByGwM*o~b54PCaLVM`SSr1Gg{;GcwGYBLNg;FY)wsWq-mWC?+7i zB|>WhP^i|^#W6(Ua&p1~ri3R?9zA>b^s#tCQWJ*(Hy3AjM^~q}hZF0PC9yGg@7%RX zNr_ZoD*7}p?w;MgI<79SQ(CLCUhzoHin?XBtLoQ3#zx13ifnB>J_?5;>TmWq9X_P2 zw7ADt;nxk{vuAX5)~;ETYq5ao&9<^{e0_a>=iXfTz{Ow_EAT*ZspUqXOH@l-BT7;d zOH!?pi&B9UgOP!efv%yEuAzB|k&%_5nU#^bwt=CQfq`hxixw0Ox%nxXX_d$tgiv*) MTnw<7Y{8rl01FN=asU7T diff --git a/src/favicon-32x32.png b/src/favicon-32x32.png index 8281dccc9d0c8adeeab73dbe00aca3159db4603d..003282095f64eaafe553659a94db7eb44259176e 100644 GIT binary patch literal 1543 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081Cv95Plzi}LG8hljXRDu zY(LVt<4Ee#j&=J^tlM{d{r(ec_W{w#|9^k4-+N*`kiGZBy1ggX>^ZS^&x!T>Pp;m5 ze97+Xf47VL-7frRoA96QBA>Ph{@*DIG>R6e0q8=o$q;e_&`Dr~%z(3j?i_Lm61>RH z-nD1#);-&|?A^V4&&oY}R&3e3>&)(!t$TI=8GH9E{lAsr?{-lz0!6{U?SlWe3;Y8! zz>xwJL_xp^0xCljB##S>U!XgIdjJ3bFL+tD6PSkflmz(&18H1<J-WE4KuO{LdlRRx zSHyDHv(9SbJ@O}1^~q~}$*lam{CFP6$*CfBJ<48FqNO^zWg}*WOq*i%@rBN^2A7|A zRCg3|A4rKlu5>;qZ`<8R-)uVP8oYHaP`O>N{e1Eai+AeF|CPFZxw!LB8l$1Ryr>no zwU4~K51+la3@aNequs_$TQ+aqwxf%qW+5Z<$|B(l-`(}!JXQ(&bC{>{)BDd8<%|ra z&fRM_1UjBE$=ls!|K;18LxCL50*}aI1_m8(5N2FzJ8dOUkiEpy*OmPVkGQCyfb1US zKR`V#o-U3d7N?UFBp42GuxK#(Tr%2JbiyI7ku$V$(Iq*N1#6m?IfU|tHtu5UVoFo< z4f$ysbxVUQBBJzy$P1%|8VQ#!yH7PYa4Bw@Xt;_=IM{?W?b#=Vgv89$)J)C%#Khdg zM~<C4cJSEA)-^q|k6$}?@8HFgH;-ODd-w3=)3=XLpUxl2Xutk`-2a9H3m#0^yD;&g z;Kab{#XngCM2;MJ*V}!6_JkQ*%q>&%vr?ieB<#Dqe+XYTHro6x?fH{u&r;r>J$1&z z-z9j0_&l+hyUbN9^MjHO-TSd)??yunE|#C4zq^Tww6%-A<<->V<k7hMTD@gaL;Q}M z{IE*bsMOF>-`v>RB<Ez|{T!Q^_C1?+ZQHj!edpG_n|E*Dx__L)>b~=sSb~>#F52Oe z^Q&j(=CreOY}3D;i7akRxc7%ugX@T^_&aCTZn4E00<oJ!d=DB0a*D8?4qtF;eN5{s zmWx-j14P%vwl7Qg%ND{aZN6}4;pb^<PbAzf^Au6<@P2z^C%5FAJGxz2M;#a$j_`bZ zk{vYVBru9pOI#yLQW8s2t&)pUffR$0fsui(p^>hUafp$jm7%$np_#UUp_PHbi|bz$ zP&DM`r(~v8;?^*;%V!QyLwHq4L`hI$xk5ovep+TuszOO+L8?M#K}j+LL&coOpLjS5 z!!$Hb`JX=H`80@uS(#fenOj&{*n6@Fv#^3ogUR6(X64Nx3a4*eIdSC75t$?GryD#L bc<C{`5*IA_<YYP(Xa$3(tDnm{r-UW|(9`>N delta 1228 zcmZqYS;##hp}s7@C&ZP3fuV87(Z(Ie{%#lfw_O;_K3c#1NbR=64cm{@Z95DRfs+j& z#YY>qgUGsVM}Qg|b{vDS+js0)vSaf9BMkoza{NEa{Qm^Q|068_53&D0%JgriAkcgW z0%_lI^y#*G<KNrG@2yq6w@&54N}bco^-nH0xUxzMDDq>Q7_w@JhQ9r$7oWa5@!*-M zhtC1s*MH#5^dskI9=ovc)RiTtE<W4m1vee2zH;-y+_ifuHXkhCe6V!m{*sORi#F^_ zUUOo{rj(!CB_Jx9f!>|m$Rsg&0uv_?v(*Ew{k2W>Cz9n|drxk^cJJ)t7aK0!ZrXWl z(!sNb?mq52aJpm9i9I(TKmws{_lfgQUS4|oYTvDgXC6K8+<WrKy(iy({hojF@{FSw zo_+iRbn>FpSDt?O+`IoYFvOa69G!dO(v6pIZ@qfA_TtSuuiv-sIt~nw74_$?&pv(; z=(~$gUp;>R>E)-dyKg=?^XNtUuEV|iPu+a=?$NuC2ktyN`QX`!2hT1)d;Q|m*PE~2 z-#y>=e>?w=t>PIS>Ah0|liIS3%32+&Yis(VvpZAmtLiq)xBtIG=>K-%C+ig*t7{J~ zF}<-y!?vn^(|p?p>y%w;s+Y`mjc(3soKPQmbgA)+4f1DK=sj7lba|DwR&kd{ZDl}1 z$@!JK|91$_n&BPRRQP+l=)zg<fej_Va9Tdc<-iiN$Lp1VAqfoArL$dE&T*PI({t@S zhgmbc{_PO{|NsAq<auSlG?rcx<QEL285o3OQ$Zlzjmi1jw7iVjpY3>$-q+yb=C0=k z10Ghjr=O1>J^}>?tS!%7g@G&AzP{Gu5QPE}?OW%BOx`VLj`>^F{nM8*xV{z$>PjVL z7sbB@+QgXT?e221^5TCkAcwQSBeIx*fm;}a85w5HkpK#^mw5WRvOnPw6cdo%QXiqU z0jSB=)5S5w;&gI?1nU*1o;5jdWah-&ne*n(ojG^z*zBq4$>93Iddb*m^QPjW&!4!9 zxVl*+14RvtxJ0K<nKm^%BrNp$m20A6oXHvjEAumQvhp%>v-97-cq1g5?6lc2X3_3# z>y~d{Uw`PxDbJ&mRhKSFO?mp{iRcrNsZ;7hLuN`!T)nc~XYMt#+N|?EGdHK5pSgPB z%B5=;uU?+NV0nH<N)A&<LRMN{VrFV;ZgO_|`v)&f^8Yopc8lpp?#lT&NmP4oYy(%! z-8*+|ZT9ZDYg1eE_YZT}+PKYScYpCpo9Eu!RGOL~V7#h1qRBZdFM4zB@kw)cm%YEa zJHI|dqJ9-q+OrQGQ`!0CtZJUT*ywxQe~yjl$)0rzude*N+#Wv9a`&e@Kc|ZOxgK9| z^MH)B`1}boSe#CJa&l^}%zVK$<6@5t>k(##l=zHG=eG!-0|u{ZiEBhjN@7W>RdP`( zkYX@0Ff!0JG}1LR4>2;bGBmR?GS@aRv@$Rd?Rn8+h@vAmKP5A*61R?&ivbpsXRzi2 E07K@2w*UYD diff --git a/src/favicon.ico b/src/favicon.ico index 1154de87b0f81383941f144b20301c3255e75c1e..6b2d82c39e6d9ab30b2b5cbe5660dee6fe610203 100644 GIT binary patch literal 15086 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 literal 15086 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 G<$nVC2~~pt From b91a9a1474bda2b8e9a4c048087ef765cf43f972 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 15 May 2023 21:33:43 +0000 Subject: [PATCH 002/277] chore: add .DS_Store ignore for Macs --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a064b2ce..1f2a1235 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .bundle .netlify _site +**/.DS_Store From add552aa138b4b5fc1818270a4338bbb8ea07d67 Mon Sep 17 00:00:00 2001 From: machiko <machikoyasuda@gmail.com> Date: Mon, 15 May 2023 14:59:49 -0700 Subject: [PATCH 003/277] Update .gitignore Co-authored-by: Kegan Maher <kegan@compiler.la> --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1f2a1235..bd16e28d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ .bundle .netlify _site -**/.DS_Store +.DS_Store From 9a2a3901d46f63c9c33f3093c0f1d990ca4f1d32 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 15 May 2023 22:06:17 +0000 Subject: [PATCH 004/277] refactor(footer): move footer to own file --- src/_includes/footer.html | 10 ++++++++++ src/_layouts/default.html | 2 ++ src/index.html | 10 ---------- 3 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 src/_includes/footer.html diff --git a/src/_includes/footer.html b/src/_includes/footer.html new file mode 100644 index 00000000..8fbe9c2a --- /dev/null +++ b/src/_includes/footer.html @@ -0,0 +1,10 @@ +<footer> + <nav> + <ul class="links"> + <li><a rel="noreferrer" href="/">Back to top</a></li> + <li><a rel="noreferrer" target="_blank" href="https://dot.ca.gov/privacy-policy">Privacy policy</a></li> + <li><a rel="noreferrer" target="_blank" href="https://www.ca.gov/use/">Conditions of use</a></li> + <li><a rel="noreferrer" target="_blank" href="https://registertovote.ca.gov/">Register to vote</a></li> + </ul> + </nav> +</footer> diff --git a/src/_layouts/default.html b/src/_layouts/default.html index b58f4d17..246c81bd 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -7,4 +7,6 @@ <body> {% include header.html %} {{content}} </body> + + {% include footer.html %} </html> diff --git a/src/index.html b/src/index.html index d72abeba..afd74ece 100644 --- a/src/index.html +++ b/src/index.html @@ -521,13 +521,3 @@ <h3>Stay up to date</h3> </section> </section> </article> - -<footer> - <nav> - <ul class="links"> - <li><a rel="noreferrer" target="_blank" href="https://dot.ca.gov/privacy-policy">Privacy policy</a></li> - <li><a rel="noreferrer" target="_blank" href="https://www.ca.gov/use/">Conditions of use</a></li> - <li><a rel="noreferrer" target="_blank" href="https://registertovote.ca.gov/">Register to vote</a></li> - </ul> - </nav> -</footer> From ba9054de17568cbf0fc45805288c45479a4c75dc Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 15 May 2023 22:06:38 +0000 Subject: [PATCH 005/277] fix(footer): allow for 4 links on Desktop --- src/stylesheets/main.css | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4a15d8bf..7120cf52 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -44,8 +44,14 @@ header { footer { background-color: #323a45; } + +footer nav { + padding: 7.5px 0; +} + footer nav .links a { color: white; + text-decoration: none; } nav ul { @@ -73,7 +79,7 @@ footer nav .links { list-style: none; display: grid; grid-template-rows: 1fr; - grid-template-columns: repeat(3, max-content); + grid-template-columns: repeat(4, max-content); grid-gap: 5em; } @@ -84,7 +90,7 @@ p.important { .links a { color: #323a45; - font-size: 18px; + font-size: 16px; } #triforce { @@ -412,7 +418,7 @@ p.important { grid-template-columns: 1fr; } footer nav .links { - grid-template-rows: repeat(3, min-content); + grid-template-rows: repeat(4, min-content); grid-template-columns: 1fr; grid-column: initial; grid-gap: initial; From 55f053f2ce725b855c40c40600c871bafb4e414c Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 15 May 2023 22:07:04 +0000 Subject: [PATCH 006/277] fix(docker): do not assign port --- .devcontainer/compose.yml | 3 --- 1 file changed, 3 deletions(-) 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 From 67a4a8537e72666b99ad8de75df822ceeeb6f517 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Mon, 15 May 2023 15:53:54 -0700 Subject: [PATCH 007/277] chore: remove site.webmanifest and icons --- src/_includes/styles.html | 1 - src/images/android-chrome-192x192.png | Bin 7459 -> 0 bytes src/images/android-chrome-256x256.png | Bin 10796 -> 0 bytes src/images/android-chrome-512x512.png | Bin 9000 -> 0 bytes src/site.webmanifest | 22 ---------------------- 5 files changed, 23 deletions(-) delete mode 100644 src/images/android-chrome-192x192.png delete mode 100644 src/images/android-chrome-256x256.png delete mode 100644 src/images/android-chrome-512x512.png delete mode 100644 src/site.webmanifest diff --git a/src/_includes/styles.html b/src/_includes/styles.html index 00d8aa37..18f127cc 100644 --- a/src/_includes/styles.html +++ b/src/_includes/styles.html @@ -1,4 +1,3 @@ -<link rel="manifest" href="site.webmanifest" /> <link rel="apple-touch-icon" href="images/icon.png" /> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> diff --git a/src/images/android-chrome-192x192.png b/src/images/android-chrome-192x192.png deleted file mode 100644 index 0b650aa6520d72de2806130fb099921215d89311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7459 zcmcgxWmHsOw7)|uNOw!8bhm=Q(1>)&(A_Nzq99Vz9fEX8hs02W(nF`j2uOF=oBzl6 z;eCDUu5<Rf`>cI`XPte1d!KW6l(wewv!~Qg0RVWWs-mcilCb|84i>7{U2?`o2@E?0 z4Fv$GjmN!vhlzS;gsA9h06-uc06;$izzs?T{RaR(`~a|H2>_Dm06^iM-KHar8o;tr zQ&t2X|9kQ~N|I2TC+;dnUI2hg@?Qf1nc0*mCAPP!h7$H)JR)*JS}y4>)EG^Ts-l9P z|HA&VY7FFe#@umeUr@Z1P)3IOrvCKXlt#bisc2~-#~6$N79*idg<jlM5FR=fo<;ES zG`}+e9;nkltU3JI%6kFJxyWuqT+5;K2=bxSz$rDK{h+rmhOJ*LUH^$bS`(;9R26Jx zsb4I;4#6(dQI!?UIPSk?T90PLdH#{`<^OkQPPD_K_3(!v#PcZ64tfclqqxWIC?IvG zxgsOHOIo?z=exOY7hHN`wj~AY!pP>kp$JssTwMV|FO<3x3`SVc81dVm3<o2+hPf-z zmN1Pi&S(Or)wzHdnmf<tFCORqbrsNRlqGFAc9<hSdsMsK-rcgSIGGT&h+PkTQN@r4 zwFn<1@mf~(8%Doev;VZ^Xj%oriRl)L;BPSGG3IQbu8A_j1&8VL(bPCT-iqT}Y{9yv zXf89~SAuAO#7C_e7PM8gAJU^FuOK>4>uM=+-#DZePYf3)TCdYr7wSM6sLOfttcu`C zIfA<zTqBH%yNH9QaN`Mq_?2LnC{w{d2=}T_G`l8C^9xj5EisLiqZ|HSoGa&7<CG!y z?Y{~qWaDz@I#!<}%;eSQP*{RrX*Zt0jVl}f3UOAG*|sL<y^~F1BJ;Wxm51;KowE^u zgYNPMoTOK33Y1l1V;W6O(l<JAhx)P)Y6C|uTYol&Z(NaXGP>(;dA8T<%F_jO`N*vz z8+j|~yo<hF!!#^Ii77~O;P}uB(o$Sg%=UMA6x6S{Hjg)TbN$A61oKooRs7-#Q>@rh z7}LN%1ame*mqPmXM|6c{wZqLP1+%~>2O0gju?&oKr{myv_$S|GD;xXFBCpl!Dvr_j z#Ekc5Xk<b~i>Y-U<mSJF0roERVPG~ajCYP$q;I1P&%#8eH>F2?1@2Fa$z%QI?x67$ z1McqUL~%KXMYFMEVV-Lzkacj|@_lPvGSiljJ{0>$syEN;7gUGWr~Ae^;7L2rd4eEC zA^F6|ybs-GhsUX($-Cohcqt)9Ia!<cVtglXtB^`~=$xtKZ#N6W=QNiE=0D@dsmV(w z+FR4*MA^0arHTKnKETjgt+T&xo!=SNn)VWmup9zfVeCn5>HmcF0a{~_EcP&dV6go& zic^V@#~Uv0$@xwycsJCq3sEp}=J08)c2-7Asz0TNr&#N@d1l>lWRV+p*e;Ht_`7u4 z$K58c%Lmf0TI{M9IH}{5P37khbWc1#=mZNNhq<J~Q|~9~vIn4V0+s4^R~IQ>q;+Mv z@eUZEcr}{?x5GN4G6dc$>8cD3))w9Ljh;PWkLKGr9oL2*Go9&i($oguP+LgT<NZ5V z%lPagX<dQCImJce=$Xu5wx})dOS+WeG2bfL3t^X<c!CzptHg)wxFihur!8nKH!?6o zHI%2%r|WsN>;h$r^_-6CvB$2g-$xq{9oj=Lo7d`Ni4V;TH#@wB_^8deaax-@hWO}f zPOa^_?81d+i2Z2)7#Ue}3A8A3Zrax!BL_~%Rod|D%l>qon0NdRDHL(nmi@qn!26mp zN2U~+gaP9j;DORvgWPI(+ygrOQWR@-k&$8yo<Cbic(omtr=tx_ctZjosnq6$E4(B` zx!yh;B7Iz)o!>ZJi-XVimSY=Dv-7qC_Zfwq^&S5T{f_haylX#E3j$d_r-@HcJHv<O z1ctXUsC%;dKQjW!zGcRSeY*=yg<!$pD2EHScj*4hdC?FY5_~Dp9L-8wbbFCmJ+t3> z&SWwz*%jE<{aV5p{h!!-YHBr6dgQVY?su!4uJzOVr=b_lNp5BmvqZqtUwx2)Vm|UA zbuNYC0XkOURI5f!Lh7@>#ZY=s)_?oOH&F@}U|Bm$z>}Z6e$!(*)?Lz=s+CL8+N$Gt zxjNAGb>_>MD0s<m1x_#m^Fdc@_~+wlTaH{ohqTnzj?{O6$GTlb>3gR$$ImkQYY~9> z9|%?j6^8R$N5g`|xF@Z+$?QG?2$v-X?MVBFt}S5Bc*vV+bmKZBSH`i{c&pbg3&XZ$ z`=!#9|0@V~DurUS`4g0r{!xp&B|8PTbt-Y=IDA@mI9CA9sBui3Jm^M(*`|doD|qvA zj3LAE^(9bytWw$E(O)!?SWx8#w556xYKT$Bs9@f<%<k!r2IX4aUaEHurIxEXJxvT( zMMVLrad>U7AlLr_5^{{uA-p5`L0?4ZE>-+B4*?)iAT7A<(t9VQP^oo3^Y2|~ls%RT z7Ocd63HaqX3>Z4~gI|QtGQV}W0>y)GUtK;F;>5mtp0znN^r?E)c(KOa3qtdWiNAP@ z`c;pQYJmCJ*)PK(Z|PCJf*{N}<GJ#gLZ*)2_mWBlO8h8)D<K~`%$dv4_N^8g1wX0R z*~OckzW*{!om8EP;-tff6gTGPL{7bM731I8F|qk7G53Z7vIyb({9S4RWo0MOdvbK! zNmXKVzXyf|ds~Mdg?l{1ynm4_Z80=J#o5T?^8;~fWQUW@PKbP!1fuLEqw$%f6bWx2 z9i5-_e{-$J*k3CX=y=0eMYf$jOV*NFN?9{r;yy<3Y;iiOcqi4K;728pSC?QLhOZGu z{}b4h#IK%|YRXiYJK$u$RGSM|su999Q*wMJx7u5hm0a#aTlEAFS~P>iU*#ClV~Tj` zQ^{lE6eWRw?Onc=-??O8Yv88oc~PQ}{3ynL$r)u1&%hc1YJ~DJ+AOGv{BrDzZLBs< zbPhv(LL#_j$d@i?G^jhruIC*Z^bxzpf#jVIRq5b9kA^RB&_3MNMOZ#p^}Msf<?XIs zW|gWwls;Kr?ICm!{sbCu^Y;-unB@GVgJn@fY{NF`9TUv>wm|G4#UgShF{=M+Fym7$ zremw#2RZ+Ht1UI7&zJs{ObZmNjvCx}QU}0flz5pecmHCeBroK3<}|e>Zi`%5bkqat z(_}Y1P=zUnrVn2|>-&k9&o8&r2PX6~&pkKhC?w`|&WknzNZlcjEL*~LTCTLuqT?pj ze51z;2}(8S0t3%eX*<s(NiILPY6`y=_kT{t3oQyvmcRY>%`l2fo}Ci#iyCC?<D>~B z4CZ*08xvq1H|ES#_+?u(<0UI|Ac;zqtYoJ+w^IT%PEV>fPJ-jy%w-4sYHCh?&c68Z zRRa?9UdPor#zr*f?|#b5F-L?4i)mWRZo7C&4_aItIqXIss=u3*{m?+}!`@dluWJ7G zOn8TG)e^)Lv=koGD7{ia`0=@Ud|lXdE3Jh@{Vy#BX=eV-e%Qpqzt$&XYd1Z#sO)!Y zrG0ylfk|HP5b|IjyO_m#HxB(EMsdoc<+I{|ubK5v8SxXN*UMX3EA$7ZXYm;RkB-;j zIf3X9g=aqr<R#8_gLt@pl*ZG1?-g$(dX%=(E5wqIum|nURjYFMPcEYlA=GwW%eBOQ zbe)}TFWC-`e=m^#Jja?bP85jmca~h>kdvECm~<)<PZ~N|*84C{DH~{R&6>7WwShL8 zP^Jpuy=?LgFkIM`apjMwZ{<X-zEAAS^=dV?2TxwuLg^1zw&@_umbFM0nfMkYo?QL( zLPY*TV*}k=qWQtyi*R`JwO<XD=S|ScSp0e9y_Y)Ce&HO(&Zu8=-1{SKkUPiyZ-Kt& zhQ^#1I~uN)Znfzem+ExHxkGL_CaCC18?;X^On3Q<75Tnd&Davs1z!ju8$-0$n_7x4 z%h3E>u|MuQkX_SpsIlAs%0T_c+-P;;4zHH^kayEj(4z*DEsz90TYls2%Qj>Yx;uCz zWc-fI^+DNryCfgtec)qY-!sLN6>6PP?s39f5lZi{DsZHX=aKxk)DOy9pm3xuYqqj( z6%wI#ZF=ZePTFeSeu#BiNS}6bjo8O_)-N|59rLUjD4>8<jSxHClC{fr)HROdq2KZE zJq47V>W&SCZNO8~r)7VnV2spL1PjXJ-#VW>L@FjpD~AtS>3Bp3X`DQgl#$S}ON?`X z@}W*J?MrKAWxp_j0~yw|m`h$Jng|B!1K0f{q*T1oVohRPKzmRVOg%ow=;t{bgB%}m z`h(3RSc!Y0igC}eJ@OJW-8Y~=m`$YCC9dfPSX{zNksl?N74dV(`!4p21GLJ&P9<;b zM4x(bg&2tpzTIgpP4@pt(J)hI=5&NOW$Fs9(=4KL5o=E$^N?8S_-9kQw6J9B()FP* zZdZX!LoNnuLgstBJ#Rh{#&;|F>*1^J#iBrpJ2P$e-L({a?ed^;m#QA>%W>q(<ji1& zGEDv#Gp|E+itxaZ%;t)qr%uAYo)!PFv7??f##<!=pS{$dc=LVX7-?-ZDmb_eKED%8 zI}z$LEjd);K{WL*2Zl@a)BWdx>k!sV8=WuCJaD&cvz=Cs#y3t!#|z}0RP7GM7D^oQ zY-<T;rjERM8P@GvIkr5a(1q}SkJIiB7MFI8$5opHG_wJELu<5-OK``NTCT1)Eo!4K z<NPn==G%XD>^Kh~HSe7AKW~3s`MrX4_N2gF;@~?vosfu->QY<d=nZZkOi@qp+IF$x z>PwGWBHC5F<)9P>A`obn38gr$EQogvUk0RZQ3n#!>>-aL{-Kwm8a-a)TwGc>G2a$q zxRmk^QUmHtil=0)6uDyy3o;+V|6F-Ebe$IJ>l{1=yJ;UXbd=aqo>({ES?!!3jrs15 z*ze`TrtxVuxTG54zwz7OQnSx7b@?TUvx{$PP&H*yJzS4;_3?qX+;j5ZXNq3IH>7aI z0{9*Q?_ajeLtQQBys~qhD(aZX&h>=ZNSL^(%Kj1D?T&r47;IQ^&8M}pX0h@>UfTUB zPRHXL>-H57`=x*A_M3-Ir!Gqovz}aO9A5_p7SR|Tv{mVWN`T;M*xlQEXMr7cXL)h( zHEKX5z*W!hRYRbu3#M=|!%8{@yAp%B*|c$Olf_!sd+!ou^ty(gA02e3SC@q;1!N!Z zwmaCx!I$m&LO90_r|ajM#x11lx<3f6hPq{l-}~k~J2!G1nuH5$(M;O2#{~M4oew^b z*nLCux5NJ4vLeH#O5jr=UR>@H9Zb1Cd*R#HB}_~*xzT;kFhI@f*KDo4%vp<(`KoU# zOgU&M_%K#(Ep`vCdWfMF1^yi=$Pb`$tvT96IDKe#c;Uz^$XuBS2c07pcBAam8v^qv zv?7JWDWzVO^D7^@f463!whn`Nw-PYB%nlcZ{@$B)$H=77qos=B`bF?M?K}_pEXbga zrbQEngWllOxp{&_GqeDI(<(5_p&8$BCX<SO$`;{xrNwy@WU|f$Gwdf2txg!1ecY*f z91O0EXoQ5m77NRH#~{5&2V>3zWvU2PCim!IGxSo9<@9AizuEfUkgdgDRfC2;1itQ> z8Mx^vtT2r6Xffl|7NQrp7pxM{7oe%A&zwi&37cN3-Yokl0PkAyuGe2H|H_@AQCCd> zn_R%#-Ip2>Z>a0Txqg7}1|zS{9!9V85VxiEVR-xDeG%__et^DiZ9H%B1RsBPZh-aE zYNbTSQ-v^9CDrX=dmQL({v6H4sj}s)9lQREZ>Yq3)Kc55C=|1{13eg>U*G<N4Wg;Q zaXHM$80YeIO`290$TX|_qC73V!T9Ho65=}O_O(~ba|UUqVyS_r#zxd|WLHgB_w5iv zJ!OUE-Y+w=Pxj1+@dR;a;0l%pFo2jxeWHL_o+JJsc*u=`LLSvEem)P)2;L>Pms#vc ze#_SdHiil`YU~lQ%|lPN#_)>XI9D~!qgRn~=0Qoy=Tu9tWc=(!xTDNEf8KFYm7H5; zp7!q=jwH{n4o!}AbM3%4Y+L0gTl^!76<$?jM86FPy(aNAf9ABvSu`DNC^<CdH%gZr z((WG@zGmABy9ej?x1NZb?MpJ#vxqta&ghT1Z?11D401N|cDe{>dRHEG@gAi%6_o{y za%a6N#Y);HsH=DkN<=@mYQ%V`?m)YI4nn(19c9$Fzm`l(JlGvSg*%Fq0-e)$GkcH+ z#5n{1hNwWX6h%DSFJZ%x>bzC`qH#?_^UhQ^;WR;$yL%@&>*wa(=@)BugYI34TZiwj zBJaF|8ku7!2kUm(1I+V4^f9L(8Kwm_fhkfBJR)G9PL+K7dcdkP56SRx(*I)xx!tPH zNw{?BX#L>;g07>9smR21gw$hdh^?mbU>@RtcUc~gJ6j@k;)`p~lP0KC+(_^(TDE#@ zGD25qsQ$)V87W7}VKGXY;c0A-d>w5r`ZODN+oe<V5}M~?A)dHx5{%S+vX1m^B%nNI z6yOw>upy^ND{uO@n-4eF)gROq8;$lx9>u8Hi`3UrQ%st0NGT50e)*Y#cKfa!DLKP6 z5jVE6#|EB%u5ZU1U*Y8}TyHjetoLhLJ>esgLA9`;Rt@gbl;?G3SIo>xqd?LE(o+sd z#DHxvzi#*<d$CpZBl#Y~k1Jp}A$PgJpSQ8s%CpAI+<n+bZ))fdC&f|hB*KeExW1N) zVzRf00OVe;n@`;5KDD;XQD>f{mZ6bd?KaUsSuy8YgySMCb#cP})z@TrU|{gkFNz%Y zI<WXZB;_-k56CyEsP!mZFdd`L$1NkKaytr815-8qhka@$ha0o5?wOYI_YW+<e_GSP zH3j!-W*?8GA|w8-q2|7~n6k^<>6_q|AU0}BhMR=i%znj;`t5xW*>5fjxR$+}kNg>K zQKaEHtT&=L$DF;r3p^$xX9+h9pGsa;+ll=W2hHH^O!Dl;^29p{Er)$4O{-V(G<PYL z`W+%PvJCDVh#{>kZZ-lRe5kXZrkCYX%ja3K2+gtB&+V70b94@?8I}GU>}Z$$=?6RP zR40!GbaZXVx}YH@3Lz64!n_Fgw*&IiJ!wn_NfCpV5r%BRx<hZAi==E5d9VX+v8wT< zxWGZW5q7Z-xgy0<6M5lbXHI2wG1JbCy5k4iS^B3X{X=()QlSZsguCgY&nk-vYmOdH z2EJ#L+m7!tT>F3Ce2g>)$uff6zx3Ek6*3JzzCoIA*|gQlTMAcu*>A$RPHL&S%O+OM zY1BTio7?1q2@i3g<6Ol{Y-vI!_99E*i5#$B*(Wq<mn%!BloE!AwQrsdY7(DM=O54( ztMrtS&HC>uH*0u8hYhyqt&}YQCn8MPI5!NN1<<sJAiC7?Mx^Gv&J3CkHu&PEovoE( z2;LJCe{9x!l{PkriB=KCkQq);RZPfNpZSNL>ub#PQW>fJ#~fBFY`HEoPIt(o&Hmr+ zsnSAq<sC>^gvWK@gKX&KI`((E&}^#~YMp1}D%Wx<KrsDNJaH9g!cVB{#%^mIXHPh9 z7K%@{9q`q5Bclrw9Y#93EaM9Cw1szU=2VmbhZ<{)*U$EGzrlVTtO1D!St}jkS80Bp zV^@*0A-{^wW?EA6cVWFAxf~#Oa8Fu^1do6%)iv%@dc7@<MqOonXkjd8now4YBqftu zle1`XfPNlaBJt75rX_Kn1u23x`l!rG<v_1zH(*>N$bm+pu@M4!c=333LvS@Rulx#c z^)?WeZo$e5a=&>2cp+ttIHN@}7dJ2+zs)8{(Nz2j@Ofbq&9BH=_cqleCBWCXj9EyP z&=0NJMohKby;MF>f2j6P`i^0OEFopd7G+P<R<tSEv&6@R!J6yEt<cd=dJROI7>i7D zkYTrp1VG$Opnz+k%!4og#~v0Uf+YMk!pOaelCPOt9(!a_Ilk-d3vFD8GPq1cq8WZY z%zy1gYEMvpx`!EckjcWs{d?IS^GYQ=ZWp@ICwsV=do=RNq&+1F3??9PA2^A^f<asY zl29NHn(ct?oMVx{cGkWbD03dQ7x5AvX^a(Oq*7iQ96DE8Nz@L2JtMo(x9!IRf9mEF zwb7v)uZUN&Twd9^JqVyeH%|QD(_H-YFVpE4JAKLB#&*QF&}c;vzkWt125dW%X#pI_ zG`1^LDN@|#YwA$YF0(26PWzQ^>bY%d&~$6H`64l|>BvC2*~XYzT6Y}-OUv8b0a{Kw z{Hjf7$H<!DWjjuth`8-x-{ttX`wnAKA{}-yKQK=?o<JwhsS#X9QPP#8wY%)`!;4Od zabwf!L<UrQP)z<$8#=rLw#<ti?nOK(`q#NSl~U#F3iT!}3?oRkbOt>IIyB%eVaNQv zq?<WQ5L8$x)C~JDg_hIAP3x6-!T40I*HM<6ZyYaPAIfFhE}16Ozs4mWc8g+o!r(|U z(u?(Hn7(c4({c7jBhjpkQC-K1qvSP5+oWWY>^+RwHKPKwmU|CA6p5cMyvfH$$nMl8 znHKR(Gj=ZzN`HH+?08Vv)7bNsET0$Y=@c54>anV_w%}X|-$ALK9~lLNc@iF$0~$Xy zUf6sQ$9n^oA-Yv$9cQiq7`_7HG7be&u&cb<x;;@L>GF{?>79+2ZGGOAgZyOqta9DU zjt!z7SBS8;*%}A#s5xrmETC|_8qo9-;th;6-&e2fHY+Ei#il$!F<=hHf71_j>Awgr zRgBgme$g9&;xzStX3nz|-iM(Z{6OUw>B<q`XV8=n(HXqO9XEv6UElWDTMc5tbyDCA zoouy(2JEgpllq14bO16@;b>c8OqCqwZv<*XmW&S)Hqq$YlQ}f^qjFZ9Xu7+5>UoRc z*lT7Qy8P+R(eC22ig|n10By`t-H3s6T7n8MghNOqbz5U*^fs?;grRC~z7$>nj;kCo zK;m19v2M*eK4=v)l(fL}gq^Y4qPVrw!=JacxAkmhoGd@y3GuGSs5#8_@=qATx`S<2 zC`%mA0CdxmTIgU}+yRg7KI@jhIo}ppmrS3c$_vL(1i2T~AW&SR^C%!&tyRk>@Kw8y zt?&Aq^~od$T~kf3E&IhY9=axuN{=i3HPJM|{x}VOER}!I=Hi(ME`_F<wf$|8hu)u$ zt=xY4hJUh+X_)A;(#a9e4SkpH7*N4fEe`eTM8`=RCMBd*@OlwqjG&jyy%VQy$y{Dt z&^zSIZGcnlNb2<4N1b-q#*iWew(=|<y3`ubf|-bc5(r5An22NCH9M&#E=L`iJ>|oO zDs3pVu%A5kyPcGaCqL%deXL0&hO`cRwgb+Y{Gh+zD7HSnhcA79j-?CJ`aFszNra-w zG4pDg#aWhrKN(d$hVlP*&FUlJ`t<oDfctoFgx`TNhpOhWdMg=vTfg(Rk%V~KpadYu zFUZd;Ajm5qrY9&UDIh8-D9+6<Aj!{<>`Qm~Uj{C2)(*A-|F=P61|tGxU=XNh=&k$C zkI~)J&DO!$hS58~-G<S@-5UY`{@KVAJRA>w4vs;sp<&exT>zaK_XPx(gqcJwi4>iL zQ4uQKYmLraug5qvH}$J;xR16EdkCtM4}JmcP!M^ayc9`6K>(^snu^sgEkFDZm54dR diff --git a/src/images/android-chrome-256x256.png b/src/images/android-chrome-256x256.png deleted file mode 100644 index ea3dd7caf37fe56b20318a0f87ef219f1f4e5f77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10796 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 diff --git a/src/images/android-chrome-512x512.png b/src/images/android-chrome-512x512.png deleted file mode 100644 index 1c57c6aba13e64e28721c491acb633c44753ee2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9000 zcmeHM`8(8K^uL1^d(vV_BWqE}5+zF!QQ4Qsno2}I)+xr!R4P;yiR?@EJyF(?ELk#k z$(l9$zKvPF_uc37Jl}ud`{TFg@np=s=iGD7>%7jn=LQ+*X|uENu>b(rbuMcf0l)x% zWdM73!~fPEbddo-DL83p80ctd2pV{}-Enfc4Zwp~2Rl1id&1*^im+rsjQG>Q@5gs- z__4XLon(8=_KWRMP-ERLwkQJESBejNO?l3XO9IELBf>0W**?&L`)wni3(ReQSOjl; zs9<VYKoy3w2CL8QQZKp7)%HkzgX8ssa{>OlYxN!%pb0-O9lOw~zHwNv|Cm5fTtMx! zU#tu(b%LROW#?jeEu-I0^G)+fh)jrxIZ7T77oYr)_WHLZ12|B>?@$rXK7KhFnNt@6 zkJS{36ely)dYovIzTA}GX1LUHrAMPZff)Gc>!@VgOXj_WAKtUE_21y-5xIY?)`Vc+ zFkDkzFpu?cGUV;zHB!gEU1sy#KYJ_0Wx<VsBl%H>STI^aoJZ%nzJ~+*$rt`H)&_OI zN}bGpM7L1ABRQ+&>2x%Bq+^v?Un3F%z_C0X%?l<EV&@0-Uz_$l<XIy9HuQRtJni%< zshuq;J%FJpajE{DyzI%le!m}`{P6w7T?y8@_M7j1eW=hiI&j-DwMnbl;`p0G68)?v z!n1g^GCiVAP9LHvhVK7Zt(BzAgL3Walz-|JoF>MarVyC)5Wi5mIIy}!&8jFI8FJ$b z-icepPAPN2fd2o#|4R=n$rHnr2@-m-=T>cnM=_oasI|Fa0X5$(;sggn;FfqPV@5`t zGDwt;8$bchgEvr0?lUd7G%F&NITA4qp+}`QhL7+lh?;|6rHp_q8>tLNG(^Qg5%Q^{ zQ2;C@g>e&}AfG(WVL<hBUA=!-{`;K}zlS`y=>9GgtwOO{5F~I$SfcJuaezNp#NlFT zNd;8Y4*}42c!%C5lPU(ZJ@$aL)NrUHve;vfOrp;Mn31h?z4y`;w}Nh-p%#C^?X<oY zek^hhD#Tg1Ggk*0JKhnxDeK7-am}rt&o52vrf+{w)DiRx6=QCHD(z`%#PzCjzSYIt z+M15s>s5aFX_se<-5N}=_9Sr$m9c)jyQ-o5llMa<3O4<8qlu{&B1Tfrwk%9Ax&FNx zZfyw*4{d8^#jx*b9<9ML_vdF%iH*gmU?}}`Pu51tu$%&y-%TNossdplp?8ZzFJ8R3 z;_ma?u}*~1A=eB$E$1gmKbiK~^@k;I-`T?AMWzLv$>H({!Dy|SaSpI`oLT+H#(Y%p z2CMST;gC$rVY#zaqBes?lJIBtiROr9i?qVdla-m4ye2d~@aI3xx2{8B*H&VoT_Pl> zL{I1j)vQ{k#AS8@)K_t?NRk70Q~PR&8!vfh6AJcMP8%H^HL6%oxl&kGa%PRE%tHUV z(N8&rHwt|^h2+q{dU2P7Efer48T+{j(A{S~(thK;^`j$PO?P~**7b%`ERoIb?(Qcr zO2qN+;uytI$F~=QS*imSF+MO{SQA4!gJLOasavId^!w1He^<R_?pBlJ&e&W{@q?Y3 ziGkmmwcj`=eHSmX$dOz_JKv-~ynn~pFKlYyI&UA79c`=qTXX3XXoiJt_QD;{JxgES zXU;G8?>L6dGxko{o8C08@TM6p7=(GXDAu*QqOYvPa^(RpsQSEx6SKO*eQ@MnG1NTR zxKa4r-oHCejydZ6uXq;{)_P`YUD$M&I-{VBOR6ZCA3$lIKWUF&mh<B$&fvoabgB<? z&iz;!Dx15yhOrBf1c*E1b3PeXLv$-`)r4%#Oxa4Uj1d<`Se3&TzHY7#mFZpjU>UUO zkkhTZGAvh<O;>^#v0C6Eh)aqgnR8Vc!<IjfKT+kCNFIq6d*DiMF$g^#Qf#^Wiv|xx zOfAkVadf-oTQfs^p|=1CuMUO-&B+ydB*)w-XCg7?IePrJ!dNOFx#*1vdJLyTA2vl2 zrCwJTe3S=>ocg3E7P^z({huA2kEgD_)xe(#OOcRUwMrHyq})KYfxYZzMhr5_bBE#L zy2VY5=Mp#3a!2{u={50&g!a~;8Es(R+Y?+`ZV!-*=a)Qzy34uq)b`<R`ei&tc*eEm z#bvcMN8uZ1I6v>P^T1vS`=G@r`1%Uhpo_R(+<SoyWulkeVq0ruKAtIWxQaXb-o4XE zh89~E`eU07_|_3T7qRv_KinuFvptK;nAiE_os8P|JvER?@L2^J?@GT?oM)L2w@&3r z)z@_B_HtHV&pwExE<Ggk*Uji7=<JD7Z#L?~=*Hz!8j|VdsDf<7SLu?XC>~43k*|k+ zx_SzH7G`e7T7T*3&2sa0JtZY2RaaM+3h{=mD8Y+a2o+#AZ789uk<POh>GOP{RF%f@ zt?Q64*4rx?N4)-%c9(NZw6njY$HR<Do>yLe!nzuv_6Zua+_QbfeZi5wk4}#8XI#9H zpO;(L_w=4S*~tI!pCefNhPLLF{^v@)f|qVP_%}OhdLv+rV;bSIrCcQ+Q}Z6EQ6zdv zR;^B{h2-OC6IEl@*DZrSx6-Y1B_|5aBtx(s7+2Ep_k!L0rKp1PF>OwaM*}!-J;qJ2 zR{%%*%9W>sy`fP<RWfMkBQd|p6vWeR)IUbpi3q9+l{`_tIXcf8IR;bv)bjb6?)TOj zak5|Td$=eqdNJCWBRDR*hh^BOp+r}M!Ra_SJM+sDJ4M1<?WipsJ{&nZ&|R0Of=b8x zing}e^6Qp9%<0bR(r9nSleA`>?_gthSLY!VTPA7Gp+3(}fOeJf&pcaSw#AUs`4`8e zPv+Jt(n+>;(^t%&mGn{|xF3BsJoL_Nbbv&&AHi^D@3Bi)24$yF`&bMv?n<<t`ev+{ zO<gWO{G80Wvoh$1@CgJ8xsHxRZ;0HUn)G%Dt#Gy~wS)O-x~N=b74beKv@oKya0NNk z07VdzKlfi{YUx_1bp3F4v;7h~aWj%NR0PZpQqPt(6TL=^8R<iw=7$|{(`FN)TWck` z#bS2%!JM-Nqu|@5c4qai3bKA*j*q*0W{H#U;K21#Zq_T3%NtLd`&3VwKBwj6)3W3B zc>1jtZJiW>PdBV?Z82$^prvPhB<qKBsHJr2lm~SqZfnCfmQ<FNBfB;Q{dlWkzp?ip zH<50i_PxX4F4%V<d74?>m7TETqbI7onvgv{bij1y_|f5={FS1UNem;q)f1Vc<H4s{ z-+!_y>9d~~Z%I-WFLbL0i|5kZawucfq-;-eB0um$N@!b5y%<0eFDRN1IHr||_wUfZ zKHU}}oiK$vvf}8WS5z984V8_5(9we{^p)k5=Tn}0P-|(0(A+O%wXGmqST3NFmmYHF z=I|V?QdWL9PgFD=s%{M;`vRj^;OK7_bx1Pmi}9sQc97V7Vup&W$e|f$)*QWEUB5L4 zX63w|%>iFf1(NIpgV$o>KzruFpQ<?HLA)WSS#OVX%&P6<EDe0CRF`73QnxPE9r`>A z7V$*PHP{SzpZA(9m7n?|J;bx{wlXbK77=@@wKdXIMaPHY=4DRjl0rRBmX}3sC8GZM z7~+_o1*~{hq6Wn>&#k5R&k$#hKFqRL36-T2v$tWcNKbJv{IM41CS*9RBjEn1GHOri za|@Hu!0TF3wLfGZaRN-y$(hXRr*`O>X3vBvp%2Vqbh}D7iT5W<*HnN6ur7tb?CfGn zv~JKao*!!^Zn_+$W}jPg++L`RH=~=DkAHR<GMU~~3*ram(akUn329=W2%6%7J=y4~ zMM1Byr}B_Hn`em5PX*WIt4-2bv>vRZ?O8!^=NG1t+Dy6mviLY>R=e#5=dh`_A7<JT zV9q}Cb&;JoPcXr|X(=I8y~`Ok77Dhg*qXhz;~$ft1wv%>_KkIivvGGxszTP6?CrhM zwOV0${$tC{O|ZNVa_%X$6eU7w7tH9J3u-)D{#;x)ET_r9XaFTMstBAx0E5D5q{SL> zim#*65s@9XTb(aV4iX^qG}alK-d8&LH{A5-D9|#=LEtnMAj|z3!gs5_Fi`=S8+7gM z@$U$XASbQm8#1fMu@f@8+-q|hv)HIXfk;Vzgd1LQF7|ks<-cPR5x|vq1R+4SG`RLa z0a@Q4S;|4RxNg~a=Cr%t<B$HDWl0x>v5a;|DYJ`y2f8}IWjb6Elu@#2TWl{?SLLr+ z+Zq&VimQj*kb-4Q+^v4x#6L2fGc8V;U~|>2|6G$}nQ$_>Eg>*4AGa`}+0J$cmZnrq zq3%I0VJt=Z;w})}{fR}rJa13>$**bAtivWS<noug8$&1Qm~_;>rtYY}VJY%fRlCjX z)3pPjey89pe~?LwbsIR^Crm(Cb9ZkPtWpLv{o?(w!b&uH?mi7UsVCI4J4x-DkvFSw zA6IqzAj2Qnyzy9t?<f4?2X3O#wP#@4cI6;Uo?v)7^$PbtcCO*<*-$}P7G4WxgD#`s zfgBy?YL`Lj%cX~796~9uUxAWE#Tq`>nyYPkRFu$DKXemd7DcBuk?PqAD${>e2=6Cw zr?+0!s=Ye6s8h<<|Jl<yV`qGi?a$>mAI4zE6=ueW*byzEz2$R18%L48`H7qGUqNBZ z<6>54o8Gc*s{Dymow-~ey()89@9OXIV`Gg?|L#ndP~(JLrvUr<#OO2;Q1s2$ut}mi z+s~&P*E|9#bh(>E99VZSOXYig^N+qUJNejf_z20n)(y<T6K15HV6JWx12)$w4?Cv( zm#c?<l`tUP@Q{*M!PJzRCHo)kVCXu9l2W=FzarQeM{2KgbQt*bd_B3VXj;7C^V+A2 ziw&>?fGr3fJ6%2W2uJr-NQ~@W%wVJTeHZlG&XfXt6Z}8}#yC<1#bd@eQU;SL4E@7W zx-<Q!BF>wXw?%$qn|=PC9c=y|jJ18u^JhtcJR|(X1Q^8y@cb4gG{dV*JV}7b;2Jk= z!VNY&aS5ly)D}u;Usb4`lI}h<OWW{0z0VhqP-;WQQ@4Z@1_YWhi*=>hFZioIXThQ} z1}j_Ais#YDQK?7or%D>8|125_{Z}Onthx6S`s|5IupB6@G!7Qe`JuPR7aqWaeR<$; zLh7VcT}?-mcGx2rhBWb#`uNPCpPwDFdKPwIA1{uh2q!PvJQBCCzVYI-bW5*C{~)Z^ z?`AZE`H@yF%vIE6nMS?A^_e8@KiM!gLwOQTB8mAQFS!4(voI#kz9NH}x%$l!X~Yo5 z#X^i+kF$zZyV}RHD%_6V$H|X2xv+gfSNi=9qW8CSZHNfJB1x^8&;Mz76@kyO%ADTZ zOy?`6{NwB})W1(yXvp?F?;?F2f0_Dom^wlytW64yDn4IMo>KvDrddXyC!YIi-h+Nl z!u-O+j-ujs!`Zq*Vs~+|k}^Jb#WPx@ZkecMp;J!Y<E;3J`-}xQg5Va-+FN;>ME~C& zdFH(fxvP<9VlQHro(kyr3eF&;9h2NkatScxe|F%CqlY$FOP9+zJdp=Jc~((I_xP=) zOd?wbHbaj)t|v&8{_ObGwVE$b%rru+-Jz?`Pd-~uc07j)4BSe=NOzS53zX!c>6K2= z=vf<TdY8W3&~fW$2Qc}X1L$cBCK=~RMS=3t^Er_ddPq~P>ik~^GGH&#K0lV={D)Mq zK{GaW^mUynBJYu%Wm~;n3hzdfo7%PCatWPk^NTqT!gHWcV-{omW*XE+f6u60dhVx_ zO%EJWn-eZ3heB$fIIGwad0Tn+gVC<{KDS%|b^x|YH$6`Nu#2^~yly$|#P0wJ%n<Gg zoG8!Mi7&eC>81iw%#gBB_nv>U*`pP8*ActPUFl8xZKlqwQw=c@TjeF%Dz&z8S`T*f zH@{@lO&a9=s0E8I)g$q5ha!Qx)46Y0i&iGPyD-yI0z^iTs~_|^3H{v!R!7xMH3$s_ zciwx&TG<SCbhNHq*Y4`Q2MOZ7vy{{*yj!aK;R!3Ezc}t6d)3KE^6Z?R`<%28X^6hw zj|sy@rHhxSu21y@6jq+7bc4G)c{f-+af5f{s>-vG45@F5+ZuJ;xMRyJbuw3T%JGGD z3?*KqyDh;go9?%X7J1mZA*GGh&O;gO0=jaam<h8VMF3hJoEd`hM}J^i>)upyN^kM{ zDA-ZoRpQJkp}NK7{MniW`{^?~f|#&KtKSC+0`%2QNi~PfEe}e!8#OYW7LCEtj40V? zT<%J_?nnPsXUd=(eG2~l#%9B)vD#(ab4}Y4H=9?C+`Tv9t|L)j4n0>@Meh-78hAWs z==f8*#T0tlcTru>*7rf(Vzyklv;N<kjpO0Gx;p+V5o%vDpV3^r;+ABP;XvaI)?=<O z3%nfwTdkx{`JAJ)2b+e&j_*1uvPCMfn)nJMYOR6k=Y`O^_qG)42ckkp>uL2@@Q3n= zTlcG~oj*?h{84I8lrv{&`@Xw6efv@`l~Rn16@DdLHny~_@{>OF?tUG`Pf|yfJZr=b zD{iu*NKVWVv|khb-Q@1-`r{Q8Jnr_nMo-`Ewm4$Mq_ybTwdL(RVp?WU`*wu&^13IH zdw8pVI9Tn$w*KhP)`W466A^kLk&|R|w=<o7k~gex_+5`Cmhr&;dhUI6;B-*#>D7U6 ztd3`NS&(Z6Y%35*7FPJelbDT?o8l~+XYiDTIuTOl$6bcqkP>yo81jaOx27t5=@+n5 z(m1Pafosd81$zD#9G6HaCEQ(qXg5l38!`<uy!<k6Anql8Cz37}GEdRLu8wTp+?kY@ z(~zARe~@{KzycdcIHBnHrt`Qx$8-gPyoVDb0jake=en9f$?2iK*u+OE2k5qn{9;h* zy3IP$LoNK`fst)2*X_8%u%xFU2||@0j&&|ipmC?F=uh1u;+fdI8Ai&ILK#%yC~K}@ zn3)t7XSkryo2lAVIY(EtPw@Nc6Dr-Xusi`#B8d?n>!H5-+!8%WY0BGL;Ut=wwCJ}r zE_WQkpgze}aL4n)aTnYwy=g#mn^DEY`AX0aNAW;4<9ET!@8RG;FW8&<ll!(JNFyKL zG?}DrUk$@Vj8|_Q-Jha)L*`q_kl^*iQY&dQ6oJcVWkyZNdeuVu1`y5j%073#ySe9b z5kE+n9Dk+X(8!<ADxgI?S88(-u9c<I=syH5ik^rjLHr7o`Y)K+EF{SqIq$L?>?Kk4 zobV+Ud_eeFEWC6C_(oWvF0UIN?e<^Dg2rLy-=d!;H0SO(EKgFB2JF{T!e{Hg<$)HC zZU3bfo)^lO5Svsh*~)mIa#|C8`wyM?Ord8eO4GF#_W71TjOyiKIF%7LQaG_ahJKT` zmV;Vq^xY|aYfZDo%+jt?eh<UJ;!B&B3G8+OH(}%T@E+334t?;!Syj19Bjv{Q&cKsD zuCk+dO@NS)o{e-eZ$bF#gvJ#BCy{czTyo!h(dX~^92x>qqbZb}IZw{y{#&(y?c~1L ziskA3(WoK?pv8tcuypm76sG!kOh|K4sRNHm**3k>`fz_U?g6nie@=JhYo>6?{d6Ir zjtDvihE$FE)6bt8Pu~nBb<4inj!TV<#@V-7wMKHDLcvMRKjK0-&+Cg%92;Q?)z{L* z(`U|H&QjU7QH|dtmRGk)T*?($^y|u}PZRaSKo{2yX(M)fzO{E%e<`Mcc=p{V7I)lj z^Kfp$#I=U|ty64*4M%`rC7hdO@l3K4ym=-Cc6;k61Z4I~w2X21Q#`PA)?vP_O*Nfw zF)GTXjITlUT{!SmKbRR!^6i_-)5z*y^)3CDD0L#Nz~-5Z_YQTKHiwaHD9rn<0@6MA z2%-q>25VgX2ha&`B^z+5S$5;_a#X7P{=?%pqa-^>XCFWMe~aP!U(wZxMhXe*vLHh$ zQ};({Sd=}7{miA-+}Fq8yiuJ2JoWo$W&3?#RLhb2>Sqrb?X05>RP%)_cBMS$Wvl$& z-F#ZJj~@t&02vlI?#)1u8Xu~aHHNQblgYZ0#iAu0$<D>aes;e!im+1bxyPWcz!7|S zm-T45dgCL!vGUf`O5YLypY#~OgfbjEUr2RUZT7|H*-xzgJ^aAqzRP*1B96j|qu@mb zkdg@7`wI%W+b;Vu7i7Mhs_L75z5G64(DI5WHh(xMK%=WsKs|s71e^IX+D%W;1LZM1 zkiXyMVuxyvUCq4Nbk_X$iNDo6RylAlGkAOd3<j9K#bKqox$0xB7c*&WMjZA{DiH;D z;H)br9H{pN9|dn`c2{E?rkdym3a)!QVT!n~XhmmZ`OoPma<LP*_JiZr${6s3@97GD zT7~Uej@<|H7CP!nPnTGA>3>q-m{KOgP)Rj1`7xIvjjR6c1l^4??<V@NwQ!nMC*Jr8 zoLBYefJ6gMJ=Nh>0gZ#H=mh?!{Gd}*#wn~ojk04NM!701WP@MM4?iznsAmlGSOge+ zM1XYn=BkAn?mR=>%(Y+7O1<$XX`REAW~TP@SF`vmX^Z0=BZlyZ=I!i+Yxh)V&9ju* zJWN5f$=5G%X%*#LzG!*X=BDa8G5mb`?pIFW<!hkc2!qLE!W}~*o07TeO%A@yVt;AA zpjRJ>-zxrKE-{tGvYr^OOwfiicfjTXefY!!yO0#C2qvqZE<?V3;7K#6c(|<?mP--l zt0ada*q;dbjhv$mX+|eQl7dZsIF^QxtV@+GC=?1*f%v07CK8{LKkNzV;^RSj3M>FY z-FP%KH0`gUMyq{-y83oP9aP?~<zwjDjUU;|Kb{OX3)FYQ@$Qn63S4-TAH;NF&t!Cj z%A{r4$u}x;;_|0^xgbwgkNqcT_qtwk<y36Llr9k^W4bHl1a#}5Qpu`#>9;>=(5wa+ zh^uh;%O-LAGe!ym?KpLJwV0BO`zahffv&S4Q})Yi?v6NyEffO8Ue^trq;6Sd3BNqc z9R=+eKuQI|3~7-xVLte1hFGl+0fOM{{(%sgkeWl)$jRqPxX%HhcumG;I)b70H;6{l z)xM;wKRmfk=*x^x+g~>Q`rXNYB0(-_#yCX`<ax5~YwCoSB!*e5$}vE9pUaQWdi<vO zQP92Aw^TG7Kvjol0QCz;W3f0{p*ynAPZxBAlFrsd_0CFH-56~kzJYj^00z;BJC9Sh z2JQ}k>o&XWb|$;GD)p&O70Vq76CAhq!JF;RKqk;68v|d0bk$TN{ct!_?^h$aoxekE zL)?y1Y>e|a=P!-z2D#7$7Qt~qiKSu6NWi{jefV|O<I`;A4UuD<Hni~lyD46s@KjpR z_3xn4-3oA>u3Al0)?>qT*kFymilm)H+&_@?0Zy;}t_$2Fo{+%IPUs6Ey{cg+Ot~p| z((y<m7DLmippBM`3e3;et)w|9!nsu;7fj+5ND9a)6<J_K{qo!%TGND{4(f3}@)M`R zan<StRHQpJyokg${S8n*i=g}Mm?v5S##O^Oa;!grdjD}?Jo778@KR<E&^4N4s)osG z4zX|eB_LBBa>4mm&>iiF>!G5<rx~<)jIY_ZL<JnYD}@32!YBd*whbt~Kl}0#!eGVZ zBTt22W=ims`pU4#6Jd3n7`X6PL|f~>WIh0tz8pA6;F@jAzX7KlgO@=f8v;3Jkr2{B zTtMO47Hju+et;H55o8bagQ%IY@Kp#h7WHXGAVJ@}4YmH=10Nn>k((^~I5jmTV4s7M zL71cr8u?8{X&Vb47feO&sWyAza0u`&a%$M~4FjHID8l|vkc=-aH%w`b>~)wv_>uum zWZGDnfxK-YbmBc#NjwfWt<B?UCd1P82R7a!pbh&sB}}K!&e9(K*5=VpdTf{omH9$x zlQBOK&$y}b2MND?YA&Pu329mfPOm}EX8+5@4J56xy$<X2XR-h3l7zbYT_6lEFE5|) z_qEX+;s?e9H5ruQNJJ>K`;KG@s$gveAHWZKCvxl#WGr)oUYMGFf5|CpvM9C_fsztS zIy@uf{d{;vmw(T=YB9aKx~d0abyi}nG@^7(bQ$enS>T)f+BoIt*<f&KI-6vICUxuq zh+rgyRLFXsut3RVKwdg)PD&k4#K6M6tj)uU$X0{0t?JHzkc+Dp+uA(bu3udgQ3afJ z@<0nl?q9lu^~OXIytAQ&e#Zn98bHvjX+ZPWM#fje4gX;<Ak!XZ@dN15Fa;0|eilJe z^zmqD<AjbdM(6=HLUL;Oe^SjMWFnObID}l!w<9jv+Q`R$UXc@%^@%6aMs3AU_)qZx zFQlj1l*VSSczV!y4`e`a<Dhrm2SX4aC%VKIkzdz9nyI71?=s-6?FMKwf!+cB@0$hG zi8xW@IdvxywNyFa4peRodCg6FmOl9t$pYjNvQoD_2ayGR7VQY>UENl1io<T-esDKl z7!JLVcid`0=#uk)1;WYG-|t={i5nEy*kTVV{|bc7{cebkJ5I<0ZnG6ke<ZAbKV5NW zBp?OP0>1WIOv0zz<0*tBi+3p_c!LpM=<)x{7w!L-HNHegjpun^^}N{o1o4K>B|Xi& Ii*}Fy2lu~q2mk;8 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" -} From bef9aa8d90adcc0b8d4411bbd5a429b7e8f9144e Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Mon, 15 May 2023 16:01:56 -0700 Subject: [PATCH 008/277] chore(config): remove unused theme attributes previously referenced in site.webmanifest --- _config.yml | 2 -- src/_includes/styles.html | 2 -- 2 files changed, 4 deletions(-) diff --git a/_config.yml b/_config.yml index 66bc3757..384647cd 100644 --- a/_config.yml +++ b/_config.yml @@ -3,7 +3,5 @@ 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" source: ./src -theme_background_color: "#b82d28" -theme_color: "#b82d28" title: "Cal-ITP: California Integrated Travel Project" url: "https://www.calitp.org" diff --git a/src/_includes/styles.html b/src/_includes/styles.html index 18f127cc..861d9003 100644 --- a/src/_includes/styles.html +++ b/src/_includes/styles.html @@ -12,5 +12,3 @@ crossorigin="anonymous" /> <link rel="stylesheet" href="stylesheets/main.css" /> - -<meta name="theme-color" content="{{site.theme_color}}" /> From e7fb1958096fd80be7f7ad9d9f63c89da6442729 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Mon, 15 May 2023 15:54:43 -0700 Subject: [PATCH 009/277] chore: remove browserconfig.xml and icons --- src/browserconfig.xml | 12 ------------ src/images/tile-wide.png | Bin 25443 -> 0 bytes src/images/tile.png | Bin 27866 -> 0 bytes 3 files changed, 12 deletions(-) delete mode 100644 src/browserconfig.xml delete mode 100644 src/images/tile-wide.png delete mode 100644 src/images/tile.png 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 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Please read: https://msdn.microsoft.com/en-us/library/ie/dn455106.aspx --> -<browserconfig> - <msapplication> - <tile> - <square70x70logo src="images/tile.png"/> - <square150x150logo src="images/tile.png"/> - <wide310x150logo src="images/tile-wide.png"/> - <square310x310logo src="images/tile.png"/> - </tile> - </msapplication> -</browserconfig> diff --git a/src/images/tile-wide.png b/src/images/tile-wide.png deleted file mode 100644 index 4fbf43e0520b038c4406cb26e0760f3ee39c9354..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25443 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 diff --git a/src/images/tile.png b/src/images/tile.png deleted file mode 100644 index e450d66e09027b0570fdfb59ccf9f1af1cdcbdb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27866 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 From cbf1a1312eb044e1affd61a8120a6b9470479e49 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Mon, 15 May 2023 16:08:40 -0700 Subject: [PATCH 010/277] feat: describe repo CODEOWNERS --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .github/CODEOWNERS 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 From 981368bff3f2647af0927a1843d3447ed3940acd Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Mon, 15 May 2023 17:07:59 -0700 Subject: [PATCH 011/277] chore: remove default CoC file --- CONDUCT.md | 133 ----------------------------------------------------- 1 file changed, 133 deletions(-) delete mode 100644 CONDUCT.md 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 From 48a5bbd4ae1c1f7337099eddd0b2d6c1cc099b5e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 16 May 2023 21:44:13 +0000 Subject: [PATCH 012/277] fix(footer): make footer responsive again --- src/.DS_Store | Bin 0 -> 6148 bytes src/stylesheets/main.css | 9 +++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 src/.DS_Store diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**<q8>++&mCkOWA81W14cNZ<zv;LbK1Poaz?KmsK2CSc!( z0ynLxE!0092;Krf2c+FF_Fe*7ECH>lEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0<F0fCPF1$Cyrb|F7^5{eNG?83~ZUUlGt@xh*qZDeu<Z%US-OSsOPv j)R!Z4KLME7ReXlK;d!wEw5GODWMKRea10D2@KpjYNUI8I literal 0 HcmV?d00001 diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 7120cf52..5c424275 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -394,6 +394,11 @@ p.important { } footer nav { grid-template-columns: 1fr; + justify-items: left; + } + footer nav .links { + grid-template-columns: repeat(2, max-content); + grid-gap: 1em; } #details .box .callout { grid-template-rows: min-content 1fr; @@ -416,10 +421,10 @@ p.important { } footer nav { grid-template-columns: 1fr; + justify-items: left; } footer nav .links { - grid-template-rows: repeat(4, min-content); - grid-template-columns: 1fr; + grid-template-columns: repeat(2, max-content); grid-column: initial; grid-gap: initial; grid-gap: 1em; From 24f3353864e1b7c64c49b0514dc01425af10fe2c Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Tue, 16 May 2023 21:45:57 +0000 Subject: [PATCH 013/277] chore: upgrade to full Bootstrap 5.2.3 use the same version as MobiMart --- src/_includes/styles.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_includes/styles.html b/src/_includes/styles.html index 861d9003..5f36fe42 100644 --- a/src/_includes/styles.html +++ b/src/_includes/styles.html @@ -6,9 +6,9 @@ <link rel="preconnect" href="https://fonts.gstatic.com" /> <link rel="stylesheet" href="{{site.google_fonts}}" /> <link + href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" - href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.0-beta1/css/bootstrap-reboot.min.css" - integrity="sha512-9izl9EqZBFXWjB6tx1F+4u2Sk2NZ5b9Sod4n1Gmc/7UYaX3lTWJFLcTq1/sDtcT8F1czVHe+4a99zpRVVZie3Q==" + integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous" /> <link rel="stylesheet" href="stylesheets/main.css" /> From 5dd32ef09f00b5ffa8bb0863f48419c84d922497 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 16 May 2023 21:52:47 +0000 Subject: [PATCH 014/277] chore: undo .DS_Store --- src/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/.DS_Store diff --git a/src/.DS_Store b/src/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**<q8>++&mCkOWA81W14cNZ<zv;LbK1Poaz?KmsK2CSc!( z0ynLxE!0092;Krf2c+FF_Fe*7ECH>lEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0<F0fCPF1$Cyrb|F7^5{eNG?83~ZUUlGt@xh*qZDeu<Z%US-OSsOPv j)R!Z4KLME7ReXlK;d!wEw5GODWMKRea10D2@KpjYNUI8I From 0a51bbc90f6091532f7be39bdb8f30c9703deeb8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 16 May 2023 21:54:47 +0000 Subject: [PATCH 015/277] fix(footer): fix back to top link --- src/_includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/footer.html b/src/_includes/footer.html index 8fbe9c2a..2f2aaa7c 100644 --- a/src/_includes/footer.html +++ b/src/_includes/footer.html @@ -1,7 +1,7 @@ <footer> <nav> <ul class="links"> - <li><a rel="noreferrer" href="/">Back to top</a></li> + <li><a rel="noreferrer" href="#">Back to top</a></li> <li><a rel="noreferrer" target="_blank" href="https://dot.ca.gov/privacy-policy">Privacy policy</a></li> <li><a rel="noreferrer" target="_blank" href="https://www.ca.gov/use/">Conditions of use</a></li> <li><a rel="noreferrer" target="_blank" href="https://registertovote.ca.gov/">Register to vote</a></li> From e51518e71ef64bc59a18939a21ecaea0d976a2e0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 16 May 2023 21:59:10 +0000 Subject: [PATCH 016/277] fix(footer): footer bg is 212121 --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 5c424275..cd461976 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -42,7 +42,7 @@ header { } footer { - background-color: #323a45; + background-color: #212121; } footer nav { From 6a55e6681fea32cb3ec4bce782356ac06c1184c1 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 16 May 2023 22:33:03 +0000 Subject: [PATCH 017/277] fix(footer): footer should be in body --- src/_layouts/default.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/_layouts/default.html b/src/_layouts/default.html index 246c81bd..fc96bdc2 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -5,8 +5,6 @@ </head> <body> - {% include header.html %} {{content}} + {% include header.html %} {{content}} {% include footer.html %} </body> - - {% include footer.html %} </html> From 742f49fced44cfda0f8a1f5a61eec2bacbb703e7 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Tue, 16 May 2023 22:04:37 +0000 Subject: [PATCH 018/277] feat(hero): add border image --- src/images/tracks-divider-0.png | Bin 0 -> 10133 bytes src/index.html | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 src/images/tracks-divider-0.png diff --git a/src/images/tracks-divider-0.png b/src/images/tracks-divider-0.png new file mode 100644 index 0000000000000000000000000000000000000000..644e9f43fbfcdab674108e94b74542e500f096b0 GIT binary patch literal 10133 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 O0HD0OT#bxH*#7}@_xBS3 literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index afd74ece..8a539fa3 100644 --- a/src/index.html +++ b/src/index.html @@ -22,6 +22,14 @@ <h1>A modern and consistent transportation experience throughout California</h1> </picture> </section> + <picture class="railway"> + <img + id="tracks-0" + src="images/tracks-divider-0.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" + /> + </picture> + <section id="details"> <section id="enabling-contactless-payment" class="box"> <section class="callout"> From d8b6696b6f2d1bbc3bfc95e651800f8b39116962 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Tue, 16 May 2023 22:05:42 +0000 Subject: [PATCH 019/277] chore: update copy --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 8a539fa3..087b5fb4 100644 --- a/src/index.html +++ b/src/index.html @@ -8,8 +8,8 @@ <section> <h1>A modern and consistent transportation experience throughout California</h1> <p class="big"> - 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. + 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. </p> </section> From d3997ec7c251eec7c724192587cba7fd0369f482 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Tue, 16 May 2023 22:06:23 +0000 Subject: [PATCH 020/277] refactor(hero): remove "big" style class from hero paragraph also removed unneeded media query style --- src/index.html | 2 +- src/stylesheets/main.css | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index 087b5fb4..cabbbf51 100644 --- a/src/index.html +++ b/src/index.html @@ -7,7 +7,7 @@ <section id="deck"> <section> <h1>A modern and consistent transportation experience throughout California</h1> - <p class="big"> + <p> 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. </p> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index cd461976..35e6c302 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -116,11 +116,6 @@ p.important { .big { font-size: 24px; } -@media (max-width: 540px) { - #deck .big { - font-size: 18px; - } -} #details { margin-top: 50px; From 74bd0a4d4e37bbd795cb82af5f7ae7830ec54608 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Tue, 16 May 2023 22:08:20 +0000 Subject: [PATCH 021/277] style(hero): fix h1 styles to match new design change color for all headers that were using the old black color --- _config.yml | 2 +- src/stylesheets/main.css | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/_config.yml b/_config.yml index 384647cd..99154e52 100644 --- a/_config.yml +++ b/_config.yml @@ -1,7 +1,7 @@ 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" +google_fonts: "https://fonts.googleapis.com/css2?family=Poppins:wght@500;700&family=Raleway:wght@700&display=swap" source: ./src title: "Cal-ITP: California Integrated Travel Project" url: "https://www.calitp.org" diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 35e6c302..36b38ee5 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -8,11 +8,13 @@ h2, h3, h4 { font-family: "Raleway", sans-serif; - color: #323a45; + color: #212121; } h1 { - font-size: 48.83px; + font-weight: 700; + font-size: 40px; + line-height: 120%; } h2 { @@ -27,7 +29,7 @@ p, a, li { font-family: "Poppins", sans-serif; - color: #323a45; + color: #212121; } picture.railway img { @@ -107,12 +109,6 @@ p.important { padding-bottom: 50px; } -@media (max-width: 540px) { - #deck h1 { - font-size: 24px; - } -} - .big { font-size: 24px; } From 3db6987bcde7e866e3984fa8d552964b9d6c2299 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Tue, 16 May 2023 22:17:40 +0000 Subject: [PATCH 022/277] style(hero): fix p styles to match new design styles are also applicable to a and li elements --- _config.yml | 2 +- src/stylesheets/main.css | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 99154e52..4df71cc8 100644 --- a/_config.yml +++ b/_config.yml @@ -1,7 +1,7 @@ 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@700&display=swap" +google_fonts: "https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Raleway:wght@700&display=swap" source: ./src title: "Cal-ITP: California Integrated Travel Project" url: "https://www.calitp.org" diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 36b38ee5..4fae6cf1 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -30,6 +30,8 @@ a, li { font-family: "Poppins", sans-serif; color: #212121; + font-size: 16px; + line-height: 140%; } picture.railway img { From 757bb66712b2136e898f74548b465ed56e96f328 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Tue, 16 May 2023 22:19:06 +0000 Subject: [PATCH 023/277] style(hero): add space between header and paragraph --- src/stylesheets/main.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4fae6cf1..e3a818a0 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -15,6 +15,7 @@ h1 { font-weight: 700; font-size: 40px; line-height: 120%; + margin-bottom: 19px; } h2 { From 1a6170d3e211faf695985ea295b8c0d5358cdb88 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Tue, 16 May 2023 22:20:19 +0000 Subject: [PATCH 024/277] style(hero): small tweaks for layout --- src/stylesheets/main.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index e3a818a0..13152269 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,7 +1,7 @@ article { margin-left: auto; margin-right: auto; - width: 80vw; + width: 76vw; } h1, h2, @@ -105,10 +105,11 @@ p.important { #deck { display: grid; grid-template-rows: 1fr; - grid-template-columns: 1.75fr 1fr; + grid-template-columns: .85fr 1fr; grid-gap: 3em; line-height: 1.1; align-items: center; + justify-items: center; padding-bottom: 50px; } From ac2f5189004512ca4cf072f535ad3269dc0dce1a Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 17 May 2023 17:07:39 +0000 Subject: [PATCH 025/277] fix(hero): use different border image based on breakpoints --- src/images/tracks-divider-0-sm.png | Bin 0 -> 3107 bytes src/index.html | 9 ++++++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 src/images/tracks-divider-0-sm.png diff --git a/src/images/tracks-divider-0-sm.png b/src/images/tracks-divider-0-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ed71441e8688e8e1696da3365173f2ed2e1d8e GIT binary patch literal 3107 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 literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index cabbbf51..3f743366 100644 --- a/src/index.html +++ b/src/index.html @@ -22,13 +22,20 @@ <h1>A modern and consistent transportation experience throughout California</h1> </picture> </section> - <picture class="railway"> + <picture class="railway d-none d-md-block"> <img id="tracks-0" src="images/tracks-divider-0.png" alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> + <picture class="railway d-md-none"> + <img + id="tracks-0-sm" + src="images/tracks-divider-0-sm.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" + /> + </picture> <section id="details"> <section id="enabling-contactless-payment" class="box"> From e24ae67a24aac456162012f0359dee7f1939fbf1 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 17 May 2023 17:14:29 +0000 Subject: [PATCH 026/277] fix(hero): use cropped image for hero header --- src/images/hero-header.png | Bin 39769 -> 193802 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/images/hero-header.png b/src/images/hero-header.png index 70b2c76a21c3761e949c11773add6168a80d385f..aca4b3cab8324f06d92676ed57e7ca29633a1a79 100644 GIT binary patch literal 193802 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 N002ovPDHLkV1mJ{EdKxi literal 39769 zcmZ^KcTkg0&_96yp@-ffq4$m`H3<Pi73sahmk!bdDFz4-iWquVs?xh4T{;L#k=~># zO`0G@(3f|9Gw*-Dn|XHbxw+5X?(K7XdprBY>+5Mykg|~C;o(teqL2o7cm$CDeLw{F zEr+$gE%5O0FZFed)b3v?DJe-wNr{PxiHL}RKp-I@;XTF2$0r~lxTp68008_Sy{||< zQjL3{aNjtnYeC?iRRGtOdW7uOF(r^jQL*t!K0=C%YxZiJ4e6PS%Bq+fW=qK<39Mrz zk-m{KN>cJ_1G?rCvbq+AIeMBg?OI0nSaZXiN>v>T<2)udE&`V{<Hsok#v%9P+@lB_ zU+SS^N{~7x`Y8m;7Ja&A1P(7nrImrM83g7pP{`nRO`}dN6MZc#luuMe#aKX0`JN?l zSvY}P*828$cTX=pJ^>T`w1JVaT;0bDE2{)%F9_VTvpnryI-757fA7^X^^tpMYLLMy zsaDt6a(Q*tpl*=#Dy3c1cy(jj#rxUxO99`IXi|IZ_gs-Q2g}W^t&bl+28GA5>A9_} ztPG5PrZEdes`;>J*!B+&r{@;tY8VaaS=@^W^vJO^&fnQPG_rEd@v{H<M(n0Z_us#N zH-G-%J+pT9d<H`q+Pe5me4S5B&Dq}h!D`@x(zlRD=*cPRYa3WS(TgK@z#3RMkAIo` z(A`IE6D6aFdVxtSF0WODS*mOJ+8e46yQYc2^tDlH0by|?8QKUfV;v(~ZS7Dv(uLGH zIWP>PqOK3saWZ+5QmknVS3#ZqI=6K2&M7EXLh6$_CO%NsTv}asgX@OaDbkyUXsT-) zt7tt^R3~x9J%ni|;W8haI=aJkdt#*<TiP7l0^U~Cs_B}Esi^a5SZ!uYys)!Sf~lsu z+ac9GKwjnnmZn+xB{;7~&W47~I%b-hK~ICx@+v0xOO*7VjS9lfTvxxRZ?LxML-D&B z_ovUrm9!3zPaEI2qmlZRp>n@3uRKkSG5;y%`ODktKVdP|Pja!*(GE*iH{f{e{#X|? zmnupApDB;Fwt<#jm#%rNqm>^*&sZ0xtrhwyNs7kKC|ko&KuycbT#4S=zz(Ku>+&?o z#rj}%@az+=<XzRb5}lv(?~kf<e|LLu>ix%X_4s~I;5`j6&@;pX5|dJbX&IQ=S)l@) zJbXfE36YI$L3oVXqXX^I)Aa4aOmXJbY0kCa|Ln&eovQa&JR8K8rt8ET4%GY3IqC<e zxEMbYKdnF8QRmOe@~lIi?x)Vamu=+@*)TWC8Gcu?yRqDhQ9s)F?_g)J1hcb22Mo@~ z!^<kvM8b`NmkxU)?>WIk7v5DcR^b0{_5WL3CdmC*F_8kfkv339S1}x6b+Iqe(exkf z_n*^-k-$nJB8GqVgVK(n^)Wr<HDCk?iupe>ux2KZ8S&#Sp;nf=`^RD3i|ut<$y&kn z0?)Pec;=yX#YDOxT?(1Bru+vj;=G%Jl4E5|+(DKq(Szn2fJUDM@%1A@TCz_P3<aY@ zEkwhu(m@S!4Hav=C+=>DbcDXPzaP6@>;d_~n<$#kr{k|rNt;a^i~&sDnsP(6r4~Kc zi*qkVZ>CB7$zA@&LiKdg<767em)l)gJn$EQeho8N`<bFXvJV@J<@l0Os=6YV`3maZ zKF}xyZ3mMtPy`M^`|SKlsblcng*5-%nFdcf`}%EA@X>Wc;*HrUK{l$<d?t>^ASWwp zZDO}5oYPA#u4Qqlly^tv`+KGLLGu?r(ZK<@!-NbGw-S2d>Fsv91lgVVKHIi)YlFCI z3d{KcQ-RZj9brP>618{$TlVv^2Se{ZN$*6SLpbBPl^>?)G!iK)U6;H5t~a&X=H0y; zvs@=a>4)4+nU#gWk1dQP|Er}40;;hQoyCi24qnv~-_?~?DuUHhhrHP0iVkkNU#uKo z3g2QAtfVJGx2G=ep3MjLOC)Xm96B|v_r>kX9yl&I|J{gu=&d@hQiiep{h8^VJrij^ z&w|DXp*ytBWLu|fEnBlT$_GX~19gb(Vm0K?q-0(+6M7o;I*Pue`$Nr4S#8|Vbq_c4 z=Dg>h(hniQ^vVD?cg?2U*6sQf2(s8$N^##nmcdHpvuCBQZX|+Gd8}bFA-0FK{dj2^ zD(mNHCgbkF6G&@8z^%HuMtIqjQ7*#7RY_+<O-xji{fmCDH#^@<!p!CSBz2N`!x{Hw zM7k>n!8@8(PuqnQt|xP*5$y&H<gY)yL&bvQH{yIaiB409^r*iRi#nko=2UyVlgiVP zbWoKOMu*^ts~f1KO&QYOtPYhtc0))q-Rd9tRl|WUimq38TS~?6Dn%d{_;mfwVRtNO zTcb}OyY9+V2^u6$JK@$XkGIRAx0(ERw{A#Aqb6Mk0zP`ySA4s^6y@}!BSu_`=fj&{ ze=Y;|*v58(x-H)S-29xJg76h-!so00`?r_#=(Tz@t;>NCbC#f5cmQ=<?^v2YB_v-( znSZ?1vFZBmCd|6dR=HC^#ahmXF^ES-b~ycFcx^EnMS*;pZ+OYwar7MW&W^j>&fXu( zz_nB!6SW%|ldvG@YA-nk8t&!oP{+tJ!Rc5_3Yn}X5td^zseI;Cip`DhFFT&{<$QJ$ zAB_lpRG_<7r&N1;y7sRtYq5bq{-BQ3l;NyTYAE5m*>lqe(NSkooU_}$MW)C?Oj6b) zS;rUg?HFga$*Fvo*3Y7DP6g{HPVVehm&xUE-|Va{Mktiv4|A)=s(0E`yfnY-5r4ID zZHNWea>j^GF!=RLvnBpyi4Yxa<{1Z9f=Y3bCm6k3f!7uzRN4<yl1p0ew9d|+aOa(S zGukgHB>4i`^4|da<g4MSR~g%Xe|R#a=B##=Qra@}NzdBC&ZPS`37x<R%d!>Rj~jPK zJR_O#S^KGJLG-0&82o#M7%h1^Po}VULw)a*J9{0XtZeS*2@W`PQAkUk3>+Z>?MH)- zL5U#=yJNwMblP8DbNefF(couwag!Q+dK@R4%&CZT`jWE9B?;s+FL_z-H*3Gqqxy7t z@zY^wG!uSWwb>0RDxzgq`>O7V$gDpP_q&(xLSsK_^OHPF2ph7LZ^BV!p6=HNPNcA! zFF?OAKx4_-&l<5dpGI>=-S5_$zWrfdXlmjk12VHr{i1<8EDNhmvCX^h$J&oHu9$E) zJL6wht$AA1mbkTS1}E#>ihf!#{{|k}(<J2Ct@mqCKkm>!6i6;(ZFDd0iMm@}=9lyC z%wM4jenz+V0GL~iR9#4wU}RRBEZH(sw^RdE3O#cR^tCoE*?~sYP><Nw@Ciy=8#v)t z@%?QYDA>?sC_P`m-y})BmMyA_+uXHI%fNf@A!Dt(x874+;>sd9<QFgP*YR$2AlygI zzugBErby53aLR1*Xj!#-hqrxbx6S@j`;NdvWBJ^YF}~bRwb4C?BD^T_@!c4Q7D99H z#ac09?+>Il(yqamY&rQS%9bJw>wF#`bA6+2;Zo0Cr>9@D3Td-g7o@*@Kisk;)A?A3 z*`C))3Dg)h$-t8s)!cl1b1^(l(eEdJ_067@Z#7MZFY3;Q1OVs4NIkDG8pT1v-2(#W zkJeu#Z&o5xM$5VW3y073Ynp7f8kG6*0nH8a<&M3fbUaUMqW^IkrNobL{VBwdb2#XB zLqwNDR1=BnSdcIOJx&uiGry(Zw5r$@SB2pg4A)3%AxLs<Dt98OW%aM`)%2r_m`W#T zUW5j-XrU0V2II^!63J-$X-+p4DwrafQ1qXZ@YK|H)m436v_)b*D)_}4t|hGJotI@I zsv$d@H#NfoBC$vE30N1P%%Ggpk;p;AIz-q27DdiADLQ9Rr4~>x8^>h7ch39UQXr|~ zQ>=GeOB6r;Jn}J%gZ~Ghl1Vkx3hXu^N)6M@cDH<h;@oj}m`{A@xj~U5+CYc@>LT`b z_l<*>YM)&t(ENzyZ%j>zAgzILDg|}t7?+X>_4DeC^SJXRFEu>h2MyFTp*0ccbZ|MO zArwd9IWBBH@G*CTi|5=VocNwEVrm+TY6G?Q*vR)K@oR~lMk+?XfstuzA0#v99Wu(u zn9Nk2&Rd`o|7rLB2VEy-<e{4`+czdOqbK;`!EU_E<hQ^Gd|qAZvDRp`oQ$5Go|DZ- z$KpO}@GEH5lQN$RG0<;g<%#Mz@TgyNMLlO6E-Cp#VgJbNEiVvA(&RvGP?an_eDjD3 zd3|xRMSvmaEgGc>W|dL}3L;)*Tvd`#K;QdAP^4kO2{Tv92el(<)lFfOWSqK^CZq;R z$r|4e6mcJ4iGyUHk`vJcrv|n^^TKzm9?5TIL{$EO;f$^@`j)-aIy@)szI9pC^Zimv z&ud4ByJoi_D52Y6w2^}RP`kh3N`80U;md{xANhEGpStsn5Q2GlRga)wUy6LS6<?zc zVs7j?yfizBvI2>L4jT3u;kfiGIub6a_BPkz%czKwh<b9Rxk6hzN69-R8PHr<b!o)P zDh#?`ehH=qc9SrlhXv-;BKGI)#`B7yVw6S2!-<=jxSRw=#5$Ys5ZDG$d2yo#=224B z35|hlW`g-ZvcOx^^P9N0INB23#_rDqs@GVfGFxz@HkKa+7&42m6TXR^IbgJape$BY z{a&CLKVXd37kK)NUXYv;n_r~N#q|7$O!*CEuq~y91I3^Q%r@RwQK+Z+hoX@n=!Gu- zsqgp5C&5@9LTQmk;-XHlKO<LfzFeQtztSugg!ahLMr`x<NNPtc+fu2xfsW+-UPfWm z$2JFq&ZV;MB}JqxO6&G{g3RGpxa*Yac%q1F!)Eq=-uZ7nb5^<6n55TB)uxm_q=I#7 ziu(m=LJ^6Cmz__ed{s+XWSws4oX!KTE+7I>`SwL&=w>*h6t}TmhVrgciVs;16bzr< zP}N5q6*G22>In1CIZ}n3uSAsG=xMsmog}w+nHNgl5$Hk{F<AM%f*MKqx(1ji3+yt& z=Ku;Yt0)6=Adm&;96a<ui)yB~T)GU_jL&1);+Rd^qeTk55dw09iF<!ar9e{kqYe}2 zzsVPypKir(N%U*|$5`B?3nGCQ51n^K5DKCp)bLwp)XAwR*?!;z7`rQYLXg9*g2{G$ zGLs#F)@xW_j5T|k>M(L1zoic|XftoV>T(c&D>ty2ZA1j8$v)di6KSD1bqCSmjQF~4 z*|f*KZmeqXLvb4#iD7e=r_nd(F${D#8He_lf)6&8=6=MYaDw7&!j$4rqZE9yeS--w zlYJTZYhKs8297^biVU9gjXiu*Nt99KuP<s9KNZL3N3)|yO^=2C@eTZlF;kkee~jBC zx<89oov5$WyY`v!DdzTnm<jbfIBgT06aVI&Q7UyC`^ELmw^$EU;Mcc%d;YjdL(RRz zB@EQ)m8{`T7T>`Jo$%<Z-TGD&{#Z}t3PQyfpd{U00E9k=>$e$kl@kTNij=HkEGAlh z3_1h8I<1(6OF#GZ;&ONu_+dy~cYS9nQj#ag{$ZCj(cj$K+6@j$5-9$chUD4x=)O~q zM@8@gRz$l9c`1Mbx_M#NG}|pGzAG8VN+Y>VM>Gvne;eG<*JVuddXQz9y4!$1)~FX} zv<^i!hgRpf({~dw|JwqqRQRj@t$+5jU5@~6)HxuGK?$f8ZV|&kq;&9jFee<Y7AI5H zJV5QncAZKWw1@kWQbzYyZ%>Tka!q{waeYC<@E32IVV@Kw8VBCP9R}rR-w$(g?i3%= zF0j_17Cwkl{ByHVGWl0z8Xri-i|ypt#`N3d1DiiLb~5x!qaU;u+9mzqnT}4qd^_8D z85V_l8BtuO7hA-s%JGI+wHb<MmS+FlOybcE@MCZq+Z5|Zca*KY%BOlK-nokR$D_q* zkH4vh_=bdBYkW<Ivk0*MoQ_ryBKm8S+rrEiNoMylomQ<i=rHA_0uj@okAo_n%w}Qh z59;kTrA6{o%{Yjveq3iT5uu&b8^Ji9k2_)HyuB>##AZ_X*~Jb536SPr0%C|<nU11w zYjZgx2maIb{r{pPK#Zyu9ID-aN0J8}8f@w)P9(o+P&-!v$Q`>*PA)YhPcBLS9gKSZ zGYyL$ivl4gtFh46Ah-0KH4hciKT|$qc&Sm`RvTPP&~D0*>4U}<eNzv-F?Os(6W*Ng z`|26hE;A-Pe@m1u-ZOn7xP&jdMHmqwyHPk#1rdOklBLQIZ!$;uv&nb8s>aJEL#JG2 zT`f87I0RDAT3%H=CXS)SNW8pU<-#*Ek#6t$J*S>!NdLGHRjOLA0Bov8Lw&eocau)F z3o<{@)S2SdqIl}`mP~JVQ(AQhV(|qj9Lsc~78qP9=%97WRD%7fx2Sj?c&ZvdwQ6SN zsM&`ACdA8WZfj$6kcRc9&~qQc%*MQJvlGXO?si|>w3e4$ykRp%J7;}hoImL=xFE1- z_aQI!bUMIq)nr*=t1Oalnoma;{B*-%xoO6>0gtl5L9;lrTUAM&)Z(k@zpOt>%2ddz zoCsT`FT4e|`+co!v)ueyPP#DREC@@ICI;fp2=(EN10Y?@n3?++#e#59^Ni-?7uL~T zRjIlr6my;U_)O^<;3T%+wV-Qr|M!|b?9OJ5>`HmIC~nPYvZWRZqdIeHvtu6lrhS@Z zGO_1^5@LA})$E@MxNjE;IPc?z<Ki(BoDSA}zk|Z)@#`l1`lu>6o2hZQC{tG@A2yL| zz&i;Pa<M=K*)1lfv34<gcN)zUHF*5+X#+Sm+m2$B$uxMkjYyOb?#T;K;DztTxFq7b z-%UQXh?aq$2?es;+E|fm{$*(em^quFLvfInP}vsru+y#(F{oIVe@@S9EQt~NH5*hh zMY8w11;CR%2YFTBcmTHF*i4fXkt1K=NdiS1$I|OiQ4hTTIQ%~4qpYqSm<Gv=KyQ;d z#=O3xwTYet@^2fD{fHCk7plCv3o7<)xG0^FLi~q)f7uIe7W#EcKOO^ws=jdEPl|gU zDT{|6CEzF#VU<1l!<0zUi7o-`ig;ww^PU#A&Fu4qV`W)Evb0VbqbC-p%8A{RpdPui z{HWuLEz1+R=su?&{<g`n^Q|2XeGInXba%D@xFVv0Z^6D={NHTIOlj+j{Y0W?qrJrq zb{ols8C9-`gq%jcijx<q$Fe_K+qL$GOyqHoaNRyznx{U@Th=tq`U675?f`DlMOX+6 z6M|KvCwX<#?Q6`W>^Iqq%AF95S<DVK@{Iej+wtduoKhR`=~(0IZb!?9=Xq<TJE@sZ z^%E|*Q>v4EKgD&=F!vm%+VXKK-DJ|f7{f?v;F^cs<k6y#5hKMi3`ouUt~!GHOc7O| z%7IPa4T%HrvXqC#2ABu=0xRm({y^Y|j{nsWc>;mVNB)EH`i8#!Y)7G8{V&>UO!5>F z6|e+>pItG={LdWUb%iXcvS{PD-w|fB_yKbc6BUf4B%-S%)bA?aOWvs-pKirP;I$q6 zFXQ|J(wcWnsfo~ktni^fGe8m!LJ^}!vX(J*v?Oz)6_dZns71!OVppg>HTp@EHUM*a zx$Y)(fs4of`}2i`##pjeo2vS6B(x$jQ_dNhaQ~XN#%ean?J!W^-&k=g`@_YVC7Idq zeO|N1@vbY8M327k-DRkcO1;iQ?kMD=OkvmDN}ICFRFcdj&X_@Px2}>Ms^!6jG#AQ9 zvAP$-%4z!E7>m#2iOd2DT2%ZJjXnN6lAEYNB_vAX^y-)!OS^nH(k(B`DPOGNmUAdD zQ^gA^a9p&TB0tDAy2;ZUJH|h~g3^j0M@3_6`0FrTTN(uclJLxP!K&-f>A}CDvq1By z>!Vn)X?TWBP1agCi*|h}Oq}vw;BP~?%x{>)$pY8C-6Z10Z=r@FhRr#_wm(Kn+QlNO z+@rDsy0uO0MTPF7`C;WRB?Ju8fr9=x)!)By($f&9?hXn5s(Q+dzm?I}25{D*e5WXZ zh{6^2#}%Q#-caQxiS24oBc5EvblpDl+20jf$WM(|G=S|`kv^eV$iwC=z8=TSj0Td+ zY7k8VnANpelY;*ESUv^slmM$!pFk+Zvk1F@c+ei1Qv=mN6#*0xCNIbk^Uq+nwAIAH zQM?}YT8^M^9DeSJ8|KuQm{~sm?3kj`n+-FcR(y6stm4Lw{uPDM!+jn@+M^I^;Bw-q zHfOZ)h2-3?kAQd}HULCj2F5TU29FD}1mjG(F~Cuk&Rq8JW}>KDHHX_sDE+xfXwt=7 z+Gj8txgf2C^krC#)~bi3j%?>rZ$>uct?&8~b;-%Xt*76#ha~Bi&}y+ISV(aQ5r+e| z8}0sEPzYUpTO>ig^$-$)59dM>3X;=hFc2ca<pAIvwSz+q(+415o&-TuSq3S&1cPMX zM}3zgblE252P&e6bIZRt{(M+aQhsAO8h$N}1DkG-KI{JXGw?~A;tM1gH&advHUOcX z@)e-zl8b_XP9;IGlc@6GxGb9kj)JBidS3yLrj?n#f`Mpm{rTGxEqp(ofpgXNQAnI| z&Bbigfl7>qh~@2{&A6j?+;h?c&m`H%Y@UbPi^!J3nQ>d~1Er&0yPC};Do<{?Z4Uy4 zyd`f_0NWGpUKVxC;O*(DEIo1S?*9@f+pVK!KmMYZ{8*+2>aKbd#@NIEV0-23MdM9A zV0-vr>Ab@Qw(#zc@?WHQSBu2lYEtytB%S=)H6a(WTPrk$>QP(OgTQ6t>rR`z?pbnB z2kDC;kMrp={=7-JO3jsibY-5x(15ZLz4WI2nZjf96V*>g*PbREz<xdEq2esDZXkeC zo(<Qpo>2b?U^5m_Ue}WW>M8$LHHMBFJ=OmJQUPMpJtRGuAP1)`{bncA2kt_hZ`kUS zH_(L2xiN8?aq7|NY}1y<n-f$UuO}R2$-#FC9;Xb#YaVVwox$ySCr^#C1ca2`73_Pr z28sPvZK!I9_wZ=$gcG%+6{MBQaukHM4Ih6OcQdjgDQb1(C#N3kV^G!0{9>~;PeWlC zbWHb8)aK~6`t$97vmg-t@L`U_U?_!dOshQmLr8424H-w6?Iul+22n9znGK^$@e5}O z+8s9+=To6%OF?6u3U2!mb}u=pc!W*XV>*V`6>oXUy0rx|nDTy(+3`Y_m~Cyj)NX;{ zTY}=B#Hph+Q57QzxEW_1spPonvg<ONbCnAsQ#(zRzy4|ZpwgR%&Z{~UkJkeTlTAm6 zOK*8%3pm?z|4dSBnTHa9mZqKrM0E#jJgoDZRCqTd6~Ilv<q12P6Q@Pd|A)!mw31c% z0M3~FM6U}f`n?gyreNMOSZ}WkqJa(xcg@&WA4l2VcnK3s)96w!X?`#{(;bc{jjEst zm<-lQN#?p>_~T|fu%Ui>@$ME(?kB)k>W03ZD|zA2)ubOWG4q+6v&b`60+p8Xl9n)& zjNF4eK>8e*ej~wAMx8UQ4xH>z;F5r{ZR@XKmSte)O=|<<ZLV4mzf@_hG<?dW#O?%> z#w3E&v7By;%Jt;6So0cWhsi5qQMosws8>H%Gbr3xAR}~KUlJW?H(Jg^7k?SEQjS2W z6%Td#RXF+;-9l-yQ>9$?ec#hPa+@UPN><N8mp;(XaO?A8fgJdLnF`DkdO*F1rXVg* z!sJKs;-L!D|Bmyq{^WVINSXEq;=;ybl``HXvgy0yip1}?z66hHf%X`vrxjr~o-c~( z%sjbrKq2KqI!U?(29)ytv*(I3%vtZUhD(O~&C51UPD@Vv2m-mm;~;--4xhMSt1epj zkvgUpYk3+vNopt>>)E%esY?J9AAN39vanr+<ib$4@1dIqt|1&>{Yw@#lVeME_Pn(0 zG&&tvOYN<bDl6g~GxMrAw(}b$uDhx(!y>L6w&C4$+wh>KWdE;!O|SLicwbMWeOYA^ zbb+)`S3qR+7d3;vci|!jWQ^+beE+5nU7>>@L%)b9(<JNFcp(qTfZxcg4SNc|b-tB= zG11zXSkqtTe_VqDiywa1ZdgEyQ2X8K5Uc87eiExR#t-jE?p~>IF9-1yr2X=hmVx~0 z8i~#nT6nbfWGL2m;@uOHL4yi*QPdOTSr;48xwvrK#4<ogGTEUvqb8=X55wCTM<`5Z z7(%uAM7`g+KLKbF;Y~a&ES|e(`D}Lu=1iMf_4XPfFofU&)}33s*2l9HXXi)>eRUdR zL3$}I`45zsHNggMvA?%o2<WPH&m6>kfy&YJiN?AXE<K(2FAZR>YRq6lpWs9~OZQAT zdM$M$I#@vYZ5(Z-2$$Cw{i(fjAAI{U<M*22DF436d&^lM9fFae0sEc`uQ@PjyPQp^ z^+$}H_D-nhzB)yY5>kWljd=#-I0I%0G?0`#UWRcL4Xow4pb;uXx*P<ifk!H)vad8+ z3A4y?4*L?;Y_H5#x)O-UFE3UADtEe*k}EK`9ZEpFC5<pn4>lgq;Y3|XnTKdb=qgFm zjs)31%Coh^Tuts&N^p+N^Ch=Gc=z9;n|fsq)yYN<_*pEy0r|Oep6{`W^o%}C|2SC( z+Hba|;aEh7VGf{-|7AUqvLrtjArrZhgrz?X<b41L5~7*>sD-^+z$~lLiWxl*em@LN z3{^3wM%O!&+KWUQ$y>sbm?@%;9$kG<%r}}ol<|I#=mRiNgn?XlQWc=^BM9+>4FoG; zf7SKnb$`{b|9*LIi@jR2FFqbx1N2RqfgD2~mzDHwBP;um;{<Md|Bm(+HH|-;V?NB; z#ysYNezqcAJ<!uhBtulQd+p4_(nvX#_Clps3;K2+b~E&ubsO&8uUFaz_xT&VUKNxw zL#=M5M?T-S{<`aQUw4MeH%^k2mEyFYh76#JW=>4j4rjY<vRN>T%dlk9j$B3rJ3wSl zu#;K&JD<(@NSB+9lEt@Fa!#Is7U+?)`LKVGn%uPJkFOGY?DiscXaV9?v8R{bDvfb5 zrvqu~nqP(h?rW*}1PH{6$8eM)D*{1@2d^RNH?#53<#>G{5uHqsiN~3ft$cN&hFbPK z^b7fM!3}Tt+qH9Vua(}o7p~O&M?tjBO5{*9htZAU$n*AL5`|2M0iVZDyW)p5L&N_4 z?B=LvBuRLH8LlR6c-pj!{CVvu19?-;?=|QXj_)_M8O=F}Kg+w_|8D5UZUM3X_O?Us z7OjR@>7O!3Ou}LwToAzYJ)*K+-p%Iv#*#?wCQwbF7v7*zFM?-QHUd^hl@;u~XldH# z2f;2L1hdzn#ArP5_|REPEQN=BL+qr`)2w>V_5RjLj}g0L@2e4UNowf8&-4t%rDW%) z6F+Q!e<^EyDU`5Ppy=wr0>Xe?BaL8in1H?kJj58XhTj0kA8_m?A~ETXZ$i;MdaBEo z%Oq#q$mPv4s+GViuES82Du*&pS2tEAGYAs6;~8gvbF*?<V0yIT@h$#3F$NyQnst5A zIU)E5&tNF5+V+Uy+x|bn?=`xFz`O=Kxy*bQ5tQ9(Jbi#O0Mu+d`h&n@-|B_4Z`E%D ztM@oCiR?vkkY@xjqC2CdQ(pW-=S`|I`lEOC$!D{b)F;MaW(E!_`q96yMs3F*?<hyr zPR3%zcy}yA_plqSuhAk8TXL;7bJed}&%`%sR^H`;Kmo#=t$%e5q~~ydKq$;6)uiEr zj|7`gJJ|M4Bl(6r&77+HGvz;)ibQbOcvg>=+fWo`+G{34Ab!Agm|es?-ANI0_;TAx zQpF_hIYA#SO=W9V*Gs#gf)(SgUyDm<&on3eW%@F_voLX`ulGX9lGw~i;wjU)fxA_4 zb#|cAdb(iqRHE|A2ivQeL{5|dK^m?S%Z7jObpreV!v9LIl$zeW6qs=vmog(gFTb9J z(a}0!De4NdVm=?gTk}zZ**y~f>#|VG#DIHNLn+dtIyDpry-3a3v4w~07Z643k+QZl zM!~49ZN!AfgHikoIJ3*2+8;zgsA&M$)s%d`2FuQ8UEhyviH?a-9^m{KCtuLg%0=8} zz`brinxKlI<f&(1-U7Rh$)Bn~GW}@qLg>^>+a)7;m3lpV?>Z7>T|46F>%~Ot`SmPH zDQSA%+NfZb+wWDP=4nbk`^BRtHQJQ2GF90&@xJp#+v+GO-64@;YKdk`7H6S@I(g`y z*v?GTe(kX0UssJu;st9Kzpv<SiC6&m?-W(>@U_)Lvngp^<X++vlU?c8WJLxB(BB>7 zk>&$ZG(bSNz8AHws_S2VpeN7v{fvb76d}Q%4B5a|QcHv1;HIhH2$j<hc6${TT!pZ4 z7oMHHeJJbmPb91rTUcmP1=Ur7%7{V^;rH~Y)rFHc?E{@wlOs`+@q!p$tDZj<Yn6BF z>acCX-HX4omfRFmj^M{dzczoAhB5mjABA@6y4o|`2MwSS95m4_)obDwGDHB_`h^7( zEH)qi`~h25X8QWhwSL{ZL+J~flPIr0@@qUwrypEbek?2{Uf^E+BgT9W83cqF-O&q{ zi1qyWeVQ`l3hqw1k9OFToac<J67dA+ukPT}gU>X_2=GH}8saPF|5S<|Nmhe}a&Ucr zgH~RYSq+~GUlSlUy!4WiG1zB4TUqN2kHV%C&>!FVb`(P(cT~B*qs@!U@xV9QMX$)i zWKi#@{Bmq2z}u(6{um4s#GW+@Gm{Aj|GJ6(Xx5GgnY1rXp!!RKxr?XxYDny5%+44# zh3=&DdCTF=c=YqVS8w^NnQwoa-vc5Q>qbx;B(YT0h0(>bc$?*nlf!<Y-%mzqP!1JP z<nIe`8ZMKFr$HSEDB^}Z%L@zeC$XUi$jh8OFwp2YRL*>iT@#%ABwPS4Vi66pS~4y8 zNLWdwVh0dZ_(EjkmrpUUZ@2iO82oMNTpqNN-KSUwf=oo;=?C$~*|ywHp&T#TD8eqK zpm=A2oukibK_snYSld7Z$!SIDAMrY|dE@E#3Ir7BbqiWHZAJj*NMeIcMD>Us>>cS4 z9jKBue0B>MRA}I_S#V=io{oJ0%==~!%A&!aD66dDbN*g-QSVML!gp<K=MkOraWg1e z;H<75-Z1sNimWfdjB9u-DD`_r@K-ewYR%sWy1rrPs*L_S%({Pt&2xYOk5kC8C99rb z9hfDMq`Fm|rS_G;txbqXhpnG&=k;^6f-jd<3Lz^#rnE)V*{sXA{V^+S{KcQZI`lfT z<zG^46a@u)Gg^5%xNCBU9#cpHz--BbNT|Df`(9P#5g3KrhEsiJaF6-5af2t-rXI1v z4dM4<H)F3KH|b3v5&?5?x^)uuh6AsZUZ`8+Rjl>Vi!im@N-EAgyTNL~uKu&)gpCVe zZa?tDcA1wg;xzeN*I<5l_=J6YyTKQK-aGORkZp!;J;yGAlV<vFE4C1ia({La&wmv% zjq&sVq8t*kNl8IOyOKI~f>nj8k>D%WX655E!M9EJKeeCgo(Jqo`+a$)d^}1ir<LfW z%?}fR_A)wlCI0t1g-Y%8(X9^)n_Kc)O9m+w5(tJ2xYDY?2gUsgZRYd?W!!t+v=Tyc zhNs?1b<f%uZre6;w}v!kPLkpVtmGd;R6q0s9nA=7G1+?50^m>Mzc!DECZtBPo_d`J zU{M8k1}M<l^#G!1_ssnt+*(?Fo*Xw2^AY`#d6}a&N-P|ooec7M+R*xS8KOhwEWnDh zYk*Qe#yw(K;f=5GbAa%t@iD&~@#~H0SiCo%q~8dMr?!pYpM`ycS`}l%M#y2!8;;vM z3vf$?%z3zu|BqM7&$rDVcyTrQO|@MY&=lKr@KHP=Ed3{uj20k;!TM-h41{CA7?|kl z!ST}DOCdkZNHg?3pfauhQ(!D^v>e|rG){ATj}!}??dc;~{=P>z;@A=BSQJ;r3W0&V z<*5Uorhv@^F8Av#L=S1sOt~u2of`}G({D@vZdl=&=Unf6x-KibzTVs0dqcAOV{fnO z*Dr1DA9X9a=FBPY;0MQmL)w$^D@C?>tq%+GGfOr{_{MJx5DZ$0>95N1@fBDc4nf!# zQcuE$iN=P<#eZbg>ZRe`g#2B)wv?X6D~iz{|JDAW<A4aO28xZ_@EZB~aQmd;Q;xxd zytsOc1ctNguok0s*J*gFW&FJ?jh{5A&LVkbG##|t3R?L=KGtm}+}zT+V>RBM<6qty zRP-^G<Fx4i`%g}+uJ+%f6lh@;A0PDd=v21S%N>L98CsnFF!lJ0t5fiE+hHz@z*mdu zu)-43k%O)|$~5mdX$&#>^=X?d{Gq=y$->C?oLoXh1D@7r8{0eobhF&<AZI?Sx>2~; z#29f?dq9V_LNeMm+3RNvt5<kjPX|ut?N<+)Hq^VXqhxKL+Z?#4&0*EjEoSgzJ5E+r zwYW_Mg86Cz#}J2bf>BWQ=EX(4^VkkeTxlM`z-*K&2vq%3)}1E1Z>P4RA1^~ljS=@O zg-Z56c?wJCo1#cZ<Bq4y3t+>i+;Z;bsk~72wbM#E6GmlsPdFO9L7-5NBlkj?UeI{^ zNFXf8anO9YX>%#d)~h(8Wc@LKFUHuNJF6(xX>V>Vuc6)m`<mzSm%9gC2Z0bv-!c`O zQzs9fwLpK&U;|B>|I_-N@aB)GywpLHBaLi_vKI4V75gLhrdHuIW;t@FH`s&n{UsYb zWD?kOY$-2m)&Q+&tMrSU-OLP@MT@qJx=fz8DGjK`XP3%o*I~|4?%^WBMuylZqvWn9 z9X98}z3TK^T7`mi*u6$fD=@DtNN|7qyV75I|H;wYBMcY|7Ag6O`!XVb@qRK1NK{Io z@z%=4q?r&1g8Pd<_&xsIe2!lA1;PS^i(mrulFB=_mYqITk>#MBCvy~%%`0)){#N+2 zlL5kn`4HG~K#sb#r+3_UX}PSzwBBQAyXpxN8#tx70|-vcY{ZiVP51p`xf&aZVfE=> z2#UK18$i8+R=pXC!M4O*)#5a--PvJ<{iPa<$(;ScyV>!>?)KG^OCxp?n`9u2RVShS z{I)9v>T@i5pbu<#NUz$yKahvZ1Z-~??I#m4K@Zb+Y>Ub-My%8oXFP(UxHeV54!rNJ za~lq00(3KTA0B+h9W+YlA2(YY{(HDlWCAGdnQ(tP%-adVA{GBKlf6AXEhs<~owQZ} z_m45x$KPM9Ei!X{Bjfr<gb#ECGZJ@|bQ$`<vIEWi#5R6^#1`>GYXJ9VlL<Xyb^28j zJl@74*M=u>>(tmNeV<;i@A~;FiO#PqfD$KQ2IfItbyLzyW60!|IzevKun)W?D-MnN z&wpZ7I207vnC&Hd&79l@JxV77gcloMS@L#Shr)IdZN3i%%31p^cuQsRnB{@mbQ!?i z<LtFr<fmotdQXtuCdH@_^sA|&I%&t92<Y!1%e>Xf(pvp9<<o?sCJTJ<p~Rj;=E)}( zKwBJcyqcJ8BvuM#@Q5}g1A;!`qYd}JvlfByAT3Q;AyHdU8w_1*i=02BH_yb|iqz5V zn2OIoYr=^^LD}^RIy||rE}~f3?H)N*NF43_SMZD&*g;=mMHX{oiK|bnxu#ZSWHrcN z?o8qPA|KkHf4!iB&IYu<?*|^n-ErhlE8mQaw@;<$7xpE0P`9;j5@BaOrYXDlp6LGC zL_BK1oA%`>bT|%+`u;X`VA{bsOYi&N^mm_Jn#!a*GSnOd+uGi%;8iF%E(`t|ffMIa zsmRYPr@Tzk9=epinUy4ZDpIUA9Hoy~LT-V<|EZ$Eh5flw)rXlYM;UkNt2JQ5y_Icc zylu>%jQq)?S;@w*@Nu}q)3}G+uE@W>OG|iS4CHZb7PxY}C~eJ{qcD7kBDDFsD>!*6 zIj>`pu!n+T@&3#8e?q+dM1k`pedK8!B!t&akq+v&C~3mkYzgiUDHM=r0A{7euJFg% zFo4hYW^&breI=a5*LZls#YoX~KmIO>ouSt=@|hS5<Gwqhae>5&lfmV4$<fr3tJRjZ z=nsPsGy4cB4wBwaYDJQPYq55Zw%fQ%4e*z#0|*$@kfE?IPwJj}B@o{qN3YEZlzASR zJ?=(j{&S<`5K#VQd6hQdLh&1>P{#?mS(zX~Vkf&r2)?WCtCIs#enc>>Rf!;5E{L2G zaPccZNn^hSd%t&HaU`+NHm)A3OR0&Sqd=&ZckdG-K|dU>of_o12|(be(Y1OT6LQay z=wm7}sGq%oBaDy4yr!M8bbH=DiW_6!|7*%fx`sGGyV%;6@7M3oPges8ph-!t7C0Q) z&VrH2OWZ!9%@Bq1Ehth)+QQzVYWHn)W&lzH{J}d5ul~HkS;5H^%Y)ePQ|K9R;jVBy zW}KkrWnkgcCpcVK3{KDs@JPGRD2tmni=EG}4z1W9_ag==Eqeq9S%6=8uYvHR4jN&_ zV`-7N+WpG3wQkz}eh2mK!_wDiIud48*uH{}6VdL-u>03&stJ7_SyGHI`b2Cl5^Dk0 z!sb5&f+AsEuW`4J%chwt4d$92o_*!geC$p#!oaKs`#_C5VxoY_pK2x3DF>X^uH07R zYmZFrzg8S~_!-B9G1n3bVvB5oe%N=~{Vna|?cSqlwpxAY^2^(sffuO(`#y3E0)4gj z!&1Qtqvd2cSwc+9+XKXD{F;e9%S#9)Da|-cfTAErRUo+6(}!4&15w8`EmYXVAnsC- z$VK1SLeC7-W0U%+LG{hvL6C=YDTnG^m<c6l18+kF6#yvG)_gjvnawS>?mR2DafHua zoAhugC6Nz$1CY{`QiOmDpFPw5zQvwKRZ~o5@?x2b+Fcb7{NQtkIBCr9vQk&oJ})aI z;)V$OM#x+PF`c$_@8XWJLHI*MJ^u5Iq!I*-q-h+6?K&z$Xf`&%%@FoKlTjers9A7y zylT6{UrZr`_7}`95sFLK;Qqdy4I?b5LbFLA<|h2BLo+7z2o<2FT_PYG6|4j#9lYTO zYPl)Nnl-d0nz`gSHRYWcgeGoR2ccIWtU<6F&h0DL=o6WAz@EgxkM?#`*_X@v&|kIa z69v{{5>T}j5ZT8@;CLKH#Dh5$J87%V_eOiB=Ck7ryPkCfW@Dy9dD5oELkB<CHen{a ztG6!DOq8^(Q-l~Au9o>+ie3RoAO_g(@FBaVE^dYAg&WZbk9i9~3Zt$5)6@^)^WR8m zz_?Aw2lGMarDg3rSy5F|<~QL60!Rd1wLD40k6$|B$6V%lGi2ajjM+7SD0aSP1n4xb znkcRK%SIeG^dDGC6<{y4_xAT=hN?=r!J(P!)d58)ehMmvN0z`T;WioFxuziu`LGp7 zG5HclQtf(T-)`=C`Da2{>7j%%6_$F@MJ<m5RB*WCHS*%HV9bZrm~KegyRSqSQiPz^ zEd}G~anulU8te&9Uy$rCUJ#bvb0O^EqW-X6J&9~QMY%D(>eh)w=1U=cmUx;*XaX8X z=tX)c^rQmRfQPxET36`)-L|D5oiomz!~BC5Mfkpw<~r**>@wfq$4A_<u(4R$0-<Ny z8{30dVJy)P*Z>stq^c4*d{Yr9v;~oJ2D-7t-pRaVD7IH)M|gHJ4n;Ke3daUgHE4_| z3d!064E_a15}e&yuc%<Ddc)XVflY6&|6F}qmpEuLPl|0xtA!3wLS+1lUB9_@7_<L; zuQifk=%qGS+=Hh{AWZ?=rA+&cu6;-jDa(PJLIY<1(_)fP7<3>#ldMBxzrL2g54nti zDl(<i-o~UlBfePo=GWon2&@<1yOEouMZeiC-?6rQ113<V;Cv(kk^-mq@~9ES4dE9Z zx7LMIHs7KBb+5hLI;_SmDjU}jpKQ@HLcv)8sgL~iEW~C?wKd?OCm<$H2g){d`RUKu zBG6vt>-T|~YV3jgaVU%@U+aV)Z=x|RLg3xRH7PFs<#VJRdd4=zfxB}>W#xH{FI$sz z<W}?!I00HS7NQ!GpvL%V(NfaspMk+U#_}27m4!t=`jPixPEFMw+#X&Go8mA&gAXHk zDfn3KKZUewwgmnWWv0$uWaI~z@bucrbh9MzvMRp|nUTgZvEiABn*mkI|AS4_huIJ# zNq4=$e)utvvtCdUSJi|_De?0eB;UZ7aKEJ#d_54SJTsmV8Ptmr>S5yn{fqD9Kq+8< z3tDdQvIXq<wL2;((4v$v$s0WC0e~lnX<|364`NkgL*^!>KM5<lx!qNe>=EK}!qqE? zhS#W1#@7M|&2xxb!jS=Iye-eZfgJ^%q2d~R4=&#uHGxJX3?*~QzVd{&gly+<8?5Ha z)FS4$%LxxkBS<Bj`L~ccR?YjFzjIw0#su98KeFvpNYH&#tMSuC>;Qk094uHG_m-+y zd*ldt9QMh04wd$b)h^e`#6U{8@k^1xFJ{QaKiMyQ^#gCS{b56BX4{EYOD;@-)5}&4 zt@+Y(FuAZhiJNucblHMyg-4v81?IeG93U8tKUy6ySLOE3=L!sNi#{@XY6V&Y)P1o( z?qF&kbmdo?Br{aMSJA3u(ymqD^z!mD4-X078iP43?~8|Wl`;@%li~+0B9<;}rA-|G zy>QSX>7On6j#;oYoDUanfAk?Zoi>%AGVSw6n^eDcrmtWB5|sYTVEe&f@OT$au`7C- zBVuPpSSp$uTTX?*U<q3`eMPh{z>&DmKXv7gYFI2sWOe?4aq^r%EP>((EQ$>#Bf0HA zuyd>x?9#x4I7~Me(mz`Uy?lMsAfWJVR>&<M@jc~?6C(En_G}D>&kh?{Mk@>3FW4~% z%M5qoLtBn`oUyw-ut8IDUZhD9RbwsWr^@}7qBZ_P!Lts)41*iNykQD^>X?NdaqWn~ z`a1XsSmh&^mkWhPV`lw^0&Hc!Ff9_;Lcn!Fw)n&+DK5ZZSFd5WT_o=S8p|<lX)Bq8 zzxeZQh*6dB?TRUQ@cb9*ni#iKw)c}%-HK&{mw*HwsV2GYfm~*dSqqx}ce{Q0E#i-Z z?fG3f1qJy4QHNkTEtG=Fp3G<}EDcA$1~!*S*n9V+;u;@UgAj|3EgrURb4(}aAtz*@ zHxDG6`lhL}4KF!~`__#F({nx&3nK4ehP*7Tt*y|g%Et-qS86>9*FB{Fat*+_Nf>7} zm1%LPHh`?9_E%ttCw3KFWQ%$H3(8OS%xpf>`S(5vZwMj{RCAQ+TYRm`VPQ<Nfp)qU zM<Il_SxE1_K_$o=QQZn5<H)J35fwI8)I(Acp+*<UYPm$U;ZCv56x)K%Z1TcSRb%AT zAy)-Gb-z~JImlinLvdR@U>WfUt8hFN(X5~W1D3K~bwt9Y-@xvDLbVV0_-qaS_m*sg zkw8;Jwaxj0*bDieZUMDa#xM^7ci!g;V)Mz}Trfg^`58<MP$md3Q<PX&k1QKF^_aB8 z6h~}y;oz&5x+~;+Dq*BRW~yXVK(_bA5jAM<CuezKdq`%p9UbC}o%c7u;yMw+f@o7o z53fja4a|({vK|SAYW*qK9Iz(7-WC?gN`ue8B(#IYV;#+#F$(&#&8nZ4z+8HHo`(vM zuV$~^4H>Wszp0$*VkUXcV?V^O&4V{>_zSMgC_aSC7;R%Fmq9X_vM>g&iM)JTd1zt; z5JN4s$%GSdFVfsa==Gqf1xq`wZ+oe1i?Ye%5@6N#b*pi~2LHu%g$??iiB!1brXNF_ z=Fy&c1PJ4~LRDplZ1O8`U9}u*D0J1DXCANUHbpa5O>I3GIrZX)zY`p<6!_#vS^AL@ z#L3(RjXT52zuJXLgI|A5W4b(<julVQjn!aA`WQ4{T71oI*LS3c?u$y6`Rw8Q#TR$- zXo=H6=<|a}aHJB411fY3Q~fRw3bJbpkZZ#7)=`h+wYn7YlLLk;R}0jI`6C5LjV|YH z$ol(Q4C1c<XvACw;Ek@Y=%ML!08nG<XFwEr%p@~v6>+6mH+8tr{)MdC%3x-YwZiDp zL#;Az*9k_0kA+ASC$&MXL*y!e2Y}EvY)6;6Jw?*!R-n+^zV7^6IV~U*!*0;WIGW*! z4QbralVd{i;J}Mr9|02I^n16}$Q)gY{c!#qL|q*9#GTklS1bes7CY1zvF^>Jgd{%f zp*77K2S68-_ej5L3&c#q_T2{p+*Vc#)HmL|*;FTcg`S=QhckzePfO@2K%Yu@u@XqV z%2$R6{(5zzcxOV5d&w@;<PTdCf`kmPF^xPVwU@!g#*8~m=DqCu_Jov>gNsWoDZBfZ z8|BC&r*lACbr+>ggm<_F70zNXzlztzi~&&L@R5(bvyZeavYg@UQD8isY2Dp*V-5`e z6*0YqGx^0NoYT5(!J<#iM63aYCdXFNbwNbk{*p_{GJ|IkCz<wMLGBb8&8FzdUBbHh zJ~zlXqI}425gvgjR{2|!nNn7#6a%-QdNlL(JCsT-G4D)}VUK+J23;!sG2?w%E01VR z0YGXmJ_zR8>ge?|_jb5ev;ZJvN!x+P<MIvWus~iBsdI~vW%!xZ-Xw8BrDeZa;>~5` z_!KcyQq2JM^nH3lzxO@Xg9X;ojK+!mXIJ<szzczoIWQnqucQMBlc5ilOTYfu0Y*^F z(q)#*%|4}l8Tp}^>Wt9@F{lxZliHlNoZ5U2;&y_&(`gNB0YPpaM`z8YV_Cb7dT3DP z)Ek=Sr#Yx*rs-G97q3uGAZaMeR))y7HL@$X<U~8Ye=yF%*?K@f>-Iidb!2M8bV*(J zds!?ez(Ey=<u$+mN6*q;jVn5ve1Ze}IwoD>doOFun_@O8Wxho{r`LfqbbBu!Jl74s zq8~v|>SU+@Dj?njR5rdzCE#i7m$>I-OqYdEK$xvttr90cX2+#1WiAX=kBS`d$vX<X zilW9iwC7f82>%_%SZw?4A_>N(gkvR<kjF<S*Ogb=c=Sd;qhdTklU&fgo&>u=BZiVe za=o9HMjf+59*yTrIJ{ggjDA5J3x2MqGy*|uMrK%k?i;rFvYnJ5LIg_NP<Z1>!dNP+ z3S($!_zzv$W=##zla@EmS(VV|3cdl|Bv3<Yf0hymsw$iOI%%t9CLr5D3*2H2=T(zQ zG5J|?*&n{+7Nzgeu0$vjRqG&5{39Ni6~!L9DEw+kDfiPpqXoSmxPgOSBh;s^XDars z-l#&ok)zikHN*|#MTBA~>F8GtOQ=r6D<X)X0+?5Dfh+fEQU@WkOq;K0GiRtcl~<ns zNQ>vfazL`4XdY8Q1YIC+S!4P;YU_5jkJ(^WtD3}7pNXl9$w1*+=b65i9F05#h$VHt zE=IHnSK0%D(&n+3mNg+kU`T*m-80HmGICCs?0-bqfF<oL05$ZN3wp+HWITitC9h^^ zeuFl8W@taE5zJ168n7hJL7<Hm0k|8LAu^*9BYRCW7;3h1Mu%GpAk3*Dk%nn~%<j6; zVxJGACc2Rbe$LrmOf&Wi*Bu3`C?~@@L201-3UBz)ypAwe4!I_!E;8r(hhF9}bZDdJ z2;e|PWPsb<)+w;Bjw$?<Bg-uE;YTj#&v-?pwM^80U+};N&m{>SXK?jT5trg8Es{Z! zUj3oH&!StnJHy9u;lC|5hBaf(8+r%V9P9S10tGz09hZc?#;3|V0g$rJ3v0paqWS-5 z3V_(@9d~}ET@p-%6D3H^<f+I3Lk76T;VPYc<gXS{X+rs3R>N`l2_D!KKr%^fq8j24 z8$p&k3W({mcYHlYi#WQr5;BC>T&`v93c#$y8t^%%a!hmpDN3as8ciI2^96s2c*w|) zX{eUovUP}0nWH}_Rx?F`@SU7sL9Y4K(AL$pZ;vsP^_vlz_Z<%a$fG}sxLtjiqQdvj z5MPT`X0X~<=1Fp~O3W3*eI%NxUb1(r;A{{%444kYLv=7zKg6Eq${U+EOS~6P1(<&! zn6l5KIOmwd+hc<f$*7Q0;X!loxk9mu0S5fr@r<`bD8UXZLJ65kuYy;<`>}s$3qaWH z2UK`~Y5+pThTfu(W^U$9aCe}as@VIUPk15aED2Oc5r~xEwy!k<AP{R}W@IWM%vD7D z2Yo+xb=lv5gC$N|SApmM!_jpIviW`e3?nFFQzMD3wl8W+f{Lxw-mA4&sZB%>6fuex ztzD~jYt~k)_9#_VN^8`tRV`k>_wU^2jOU(v?#;QM^LZSd>y|!nn$r~mr_->~6!N}M zF%RsJJRagEVyN6(3(h|?svUHk@S|3hu68$^Ka@oGMS|D&)HOlV96_o#qm!^hsjeO? zi4XC?HSvGLe7bfqb}Oq^-mQPiUcTJhQ;TP<NnAT%ySc#5kU=WY6CZMpL2k70TVV~2 zUf=zk^7VJzVB2rj@82;iZ=TYE)E)c*gz%0ES)>93vCT5*H<uhFg9(YDl$UtVwA_3b z|0Tq18OaKZH&NM+Qaz&`3?5?G6X#c8BE}HKhRNW^a-a?91VzXTCUa_)@@}KNzwz%H zzOlpeDGBr)w~qGbuCF>fJ0p+QFD@=lu4}FiMXj>}k>wU}QNs{}A>}(TO?8#vE8o&i zZWVKIi4(9w=RS9|A5pc&R#nLD(&sLs9zbx@vH45Cm*Ep!I(R$$SW?A2I*{<YXVWn6 zbNrLq^XKY6LA_C?B)zDs_id5Wm`}C6d=}*Dd+~-ehk3-;7dP+dJ1O%SZ8NBCdae^V zJ&YCPfUdl9yhMF1tU9UMTOgPqF#)e%1ZU0ZZqv5wl93)S2^Lg^`zlx;(x#=hGjQI5 zT-%;^-p2&zZ2H`V){_yo5)m6jTT96RlZh3+^Fh74fmJ~DgqA^a8OY$Cet;BQJDVPR z>js5TACuHw{|ms)Y++<{h9hcj0dzdEEg6$0e*g2f5$KS3t{4*@c2eT<Mp2fI9V@ZL zccOB_XKhLA_Zv`^eds4ly9t8Pl=@Pz!`sPtuV*x25#NF$&ZhpVMmvKD`)U_mjAL&w zQgo@nv|5G2ltN9s(wCKq^8x^xyn}{Hr1TPe80^@L?YP$G7Q8qgY<A%FDxRDu=68lM z2j=TKi*uIfoF%{Oyk1nyWfH&%QU;BkUxU%mzz3Nq5}RQ;FilYrmEUTgD}(hdzwc;L zRL>i#sn}Y0`m>sV)oGU}!&0|?lb!C?tOr=-mt6cHJj*1fV~Rrl4%w>++hK+{=;tto zb2NlY2<U#pyJB0k1-8Ay(vEu&C099jzY#k>MH5_@VMI5drfBFqFpB|c9&E1$z74O* z!lynZeiB*-;MU|HkZ;i_-rg;9Ml#L~uW+wlJ#p!Ewo6FGPXqmY{wH%YBy8$fET3eE zTf}QKa%WQ-vxPnH0$Op7Dp*@fDm{KhGIVc@WS$lJ1K(cV{i4K0lBiqzNRFTdA|nZx zpjZX3(KlGOa&eDh-^t^vQw4N4Inm+Fb)YKK8#GxSR%L#oNk2()O!3#|+rI_?zm-4g z&)!~Q2jZ>M6mS&PY0*&H;3+_bnPpXMIBdP@bqq-`tY5y1TOd#cu61cO^+ZIN2k+Z$ zb*`z0yxYNUbaWpH?w>LO9x0ztZdD2Q$V1Kz>Cq(WcYl(jj{+@zGx&S#nm>dO_6%+l zQt{FSu5}=f7g_wpI@)IxTl^jLRZGu}!>&o7XD84go2)CW+4*@Dd53wljD{r8@!B0E zQV*Scd;0)zfA-D+6zcEzmp7i4!=4R&<$E@_;$|>&qgm?B6zGefdbEZ}!!b68|CMx5 zTFe6r|E$>3k~Xr!4X~o_5E+haNP2)A6a3nInFbXmjeIKk!hl_AT|y!5_n}|Yx9@;P zAa_^aFEYq6j2J~bRM$5tMhlfBAG-%#Cl<eR3f6f(Aqtb~Ny3gxK~u>fj0|wC95e4A zMaGloG>)@Drd9GKZ%bRFJL7~mzi^r_+)rjQ|BsOg?vT=c_N>BbA;@2W0-9Df)XUU& z=(xj>oBXp@)@lfLK)e3<2X#gKu0<jh5vr-zHe$H<^zLZ_miIG<k&WjY2=^!6Nb_sB z9U_3LmwoqnA_U6tkc{olpWy2sTQKmE4HrDIz}DhYj9=<=_MD}UGi>qDdk^M{JuuCY zyNi4%%#BRv?Pn=#(^mQV>({UF%ByWIHfU6<mW}Rui)f?eBk$0)`cBhKGb1~BhK>?4 z$a%}BQ$t-W$sZCcgVFd+Etzg#fZJ8q+dngTyR!-J%l8t7z&*uvsYlcS`T##+0@xL+ zYpjdqMRZEceL6y1+`rraGsCx8jUqUD#1zwdGUlHrXUsGXK8%Y$aJU5jY@bFw(i2=; zvAYddNu+=}>H5xe*vP<&SmqGVl*!;fO{HY+G(K$~LP6LxPS(2bj&d(qHJ43Jx#ttN z((nHh+@LLsE&%%1@0R8Ow9*gm>4pA2IQ&7|**OK29Jxc~GQXfMh3?mUSEF1mJ67wp z%&c&<O?lXNLCz&Vq;4hImPj_FJ3vC9dxJM|r2e_u*IKsZ0>BwoL%3-Wd<=9Hlpf7K zKAttTwLYGnd33V=3e{oGuiN8kdsK(W&C8C-2(OF4{naEV*zvm{m|-els90yC;lpMk ztNKY=0wHPrSyu5a_8zq_YQMm{sYVe4OOx2U$bbKf7DsfL!28i};LkjOqr;=p>8K?= zQFRiu=W{-S`8|8y;@Z@W073-j0vmy)-Ag2^sI6&w&%^-dmn>B7k+nYnQnO)|I<1e0 z{U28mr&$Q-Fk3zSch<i9E%ACV!CFD;fV0?tVO~)KH=qYx81l8|Dp)ldM1U4iY}dJx zq)~Ebr9Gt|nnn!Ft@7~v?PkYshwq8uq{peDu$xD)gB{A0Feo{3@Mn_mmtc*i3TgF9 z0*6p9p|t<bb&WLHn=tdgNTt`+=YD4Pe}wNK>3Jx(7(Fnn;B9{Z9l8!xQXgAD<P@MA z<|gG?1SI;V3;!*P<++=h7Ex{bJ$_Xd`Qng{3BF1#e99Jn0IcT%sY~;N)J1sW)iv?) z-(yRv8v<JPqS-g&HgAGA_zpi3Wc}F?jPaS|yd@J(AY(+T2g%?8beR^+bUQpa%qi(e zg*-&bH&kN;W&%cm`;G4d>21lj3|i#dtG>lR2%Aj`q&e0|brN+F`ps_;n%uEfSV4^J zYA5V2vV%zo-jiki{&=A3(JMPFlvd>&+k)qPai<DRIHBv|1(Pb+Z`IA2<VS2u_Qa8W z0l1ar0P3$j`3ufa9LVWo3$mX7pldzk>`-XY-fWMWC!-LY?jFZ(vu{iIdi7XDXHw;D zYG~8|DaN-w<gY%@_XI-#TItUXNDh50PeQ<^)ssBsNT%m}yVVCZeeehkE=h9)@pj*m z3IK$3f&Vx1mE&9(p;sMCa8W0b61nZ7bn92lJ2YKt!CkWlSl%9+oX?L{SM87l0ocEL z4$q)Y5AJiunm$i6i3VCbt4d63BYsYB*K`{RiXm~r^`SCLZz7|isyALD%}zMIz%HHk zLecnJEHrgPO5F|A(Bw4`Z;Nqt^b%PGbefo|!U=_PPd`CmF<0m6T1U!MgOubc#w<0j z^b#yz3Q$Hh2C0bZgYN_GUi~FmyHCe-jkQ$@W>TFl&eWJy>)|!WxG^)&qA4;H8w7*{ zt1?S*lT3*Mbf(Nb^GPk`E8QL0O+KGXcAY;vKia**yS&i7J@scd_wG#<-(Z?{!2iro zjf_50A}X7E=;)T@2YD6FnkMs2xezXTUtS0r=L?W*3Z*{2l#j#WVINaBD0;ux`mTw6 zpi`3otJZN+mHjXi>pS&se4j<xrQ%tQg}+eFP|0y3JcWJSm%iZ?;n^e=GSD@Atp%!V zDu=25_1KzP$>YW}|C*s5u_aY~a9~by*R%Y+|1G9#-A70E26EH&k0DWNF2O<TR=!SF z)suP(_sf@l!*fa}q)XEJQ_t$0Q43Jpf8K(f{`O)zL!;u|_rgR?o;Z<)kf~2{j3STi zK{abArF?7BhsKBgKz?Y=!mk*1#h2$Fe(ooR{eC%Fnlzw==|J50{C5k|E6J<wXN0@z zZ$}TZ{GdceiQ0T-_rtXq-eI=-wt!lSh=BpP7)iCWuD|~$$2GUm!xJf!#+(_^YWba9 zHQKktIeIHrRQaF6bjDsLd8H-jKi|4U7HpNo$0`#V5ST)Z_a8h`#0>i5<Kn8J@xlj_ zoNe-#7L-379*cT)_EQ<1U1#6!kz_EVViF2tELTga%&dR6@k#K(C5&5xzC<pv4zQMn zR_XBK%MokrzK7b>r^Qyzi<A@L%*(TS3j@<)IA55sJH|-$Yu_}fgId-J{uSMoL`#db zH|j>i=Ots3!(p|MIQSe$#_kjNT=!YVO{3IzYD7y5%`*y=q0%NLj^pAi=6^y6nXr$M z3b;B%HQ^<oiJ|HEs$43oWHCn!(}Nqw!+o?7Az0A{z(?QjehY;RZ^O=PjT{D9O31Aq z+{^BbF}yXJ46@lL(pyD~e^V!EJ)`J;h@$!PPE{p_Ev^nG)uE#UmF<@ZkR`F#dr`Xt zXfK{F>)_roCN2DN?PX1*zvcI_E`uqc4$fPx8{X&nO3*PG(~99*kfS+RWGRe$)y9A$ zGMBv;Bs@uC3XxJChyG)EqxDx3`+&qjt%(*vLGlMMv?o|$Zf6cHB2BrAz)WboRQ~OW z&7Re|&|Osf`S(AVK>0tqQCV3Bk(_A8@!(dF6>m;bv3)0pqDF_EJU4_{HHAceomLld zWAM6;$+21@tb(F9Zj)1u9)f;O5;z<QI`p8x5us%aEU3EuxoD+(Y}@uz8+mn^kGVIH zl#e?;dUYn**>uC+-cct(P=sycHf1tY9{+B+3<|cKPCX;0!##&e8A64*#W665?l$7v z=o+pG_l}|nPAv@RzQ=ysJhn~ui4=<C(*^{6e}npg<WsDo7-luYF47{l5Pscb<t>j_ zXZtlV=X4O{<FmgH0At#4c=i#ti_-=`dWy!0rdH5nKU6g{H8%xLB2!^u0Z+$~q|FaG zOz7Nfr)Fj<z`SpyK)D{bkh=GEDDZEwqBGfk`8|AD2KR)hB1>QKBs?bSeVhU=np@%E z2lV7=WmM@qSf+<}TGes0+mI2H<5bh~c&4ufl&39l`#Hf$JdWdNWAEQWCS_PxG{%lt zj#wwyCb9yC=b!#_qqVWv7uSGRVc!@rmY6~yB$D-9`Ar#+UPg)2Nf{qNd8$eLO=Q)n zJ(enj$6w1#0&?O69(6}l{vs))-hfj7hJtwrO1lrk9-x)85D?G%O$5##C-;E(A77r` zbVOeDJj&e3<~pBzs~?1hmKSSV-Jw(OI*So}((qNY%~Xi$X7Us`9a$gqV6M%Kadz7{ zITW)k1F4^Gk<J){0KjfqI#eJHKHx|vURC@^*&&%U;r??*yqHk=I(#r-=~UAz`|J{P zFmw+ptKQcm;-t?~)!I(&@987UMEWPi*o=f~?K7~C#<Z`u^)W!vA)Tw{!B%Jq+YE@6 zr9YrvEZrP>q&5fv)pg}{C`F)Ljg6=qq2CuiLZ-jQ@>ZWcBROm{jF3kRL0{i8^({h; zeb(hCP$&kx{ccof!tLHEO^5PVu5)+CxysX~3sV1Kr{)^}z5SczIi%MrpUAB+00lo6 z!$g78>n}C5pt}FL7r{@+5g~vARtZa~X)WpdoALpRG)OrHgW1DeZrr-A(vj*0JU#AK zq<YL?@#~QFtt63~wIj_wB9&4P*N#+oyF-!w7h)v>i6QUhJGAjHHzZY@(!JP}O8Stl z7sZxHWg?<Udg$d|0VB9tH`ZG?XgfB#1mxUnb>-bQl6Rr1}K^!@?(-Cu27Fu(K~ z>F|s}m;Q4_iz8e?XmCd8!sEYj0z#Ful{cQP)K|j^PuK^w*rf<NmJSE@FCTG3*o&s7 zHTrUdhFA<8j5VO{_*dUa*i>k6T`PV1S-BXf;?R51i(6dF*$+I_NrxSZuA&0#Cy6K= zYFX1qGMJ$Bq=61kEqT1@l6+49m<2`VylaBnK%lB}(0C!!AW0GEvpftbA=P}(uNAE8 z%1Dq~tB``O(DQAz=`*G*WQ>i%{15E8%ETd$HHT(XIZF^7IM)|&J;U!Y)o_RZp0qhA z6*BJz+Jh9dWpKtW*D+oxH2-mN26)zgOt$Ul4%}og@r$V}8;jzz%Tl{mFGPNsUhetw ztw(7L3H{L~rW4jj;@k#rFZdAJ0lz-%G;gaJpbu_Vy;69W)A27b@^<b2%%5`TH4Gl^ zVMJYFZ!cBx6XI&4U(&0~iKo(RkAKs;caxsUyY7raA2tIXO1rK7ys*YvIG~!6;X_~l zo}-q{l*-vBzUz`W1h-d%t^bMrB9k*9CYOC|e4uJ(3LT3Nc^;%%a&#n^D#eIzwpQwv z59GoB%Mr%d9XV8*F!f8MxGCKi<j&6440-YVCM8V7aS&l&gmPv|qDEBiG_>J3(jn>6 z!4mpUaO!vYlmV#V1r0PYaPc*@nF&-cNalGT&yJt%3jqrX`ej2gE6t*PqC&{_aT;8h z1r=QXj3af1QN2%;Wiax)jUv7C6r||PD1*SMR4zPLtb4P2J*~d$Pe{@JI>t%SplwsF z$*M%}<RS=RPruwg+sqjq$koL46aOWk-(<fagtXG9=2w%h+L~tJ)a`JQGC{mUmFsZ1 z@~V+OUD8!Ot;Sz28h_2s>5q9(SM@=%ZxZtFbJRvW@6>zLCfsC0(&kp!6kx1<SG4r< zmQBE-!DI|Za1&i*##pn7MDkdR5m3Y0E=6dF7@0KGnmT%zo4Ba=ND@}~^6wMrvwIT} z;d@^OC9b{mp7T!U{_`Kd&ikFGX_WZPP;sEhK^QUT1R(k3^8SYlau(i1Wgf+!;R9Hd z!wI&9X8z|nU?xU}BoaSS4ISZLoJDH?|BtNDxxwZ7^7i_Bk^mh3pi$%x#r)mj)~^6= z1g?NF|HlABlhlJ*K2YzciD2yZ+x!B{&f4=cUiT%S5QpxEWNp4wg{lX)zYoj2j0iRU z!DlC?`JD9zrR$$I2)({4t9^0<!7~N>E2~VX6&yWtUp)a9ZHGWbwnvPW$&dtMc?6+r z!GC{gT^4M_y5z}P;qMb{eaGc~zR_0jLT*|2^rAUydb{tsY_plJmWd+s%_9UlEfE&0 zz01rmwn&;g3Jqy{V-442mH+LOI*48VyJLwY(7ye!Je56aDjJGhv(DZ)Kr!$yQDS<E zc#_W|t4%B73)OuXi&Ei&u@CFdHI^e)@p`G`P+s0`)-_eR%enC^kkQ*sR@rM8p|HFU zXC0xOCL$&ZTQ-pg<y(MV<w#*({u?U<ogi$-^6;}xeQ!QEA%2QmLGEdjG&a2NDLpjs zo*w$o(JgElur9iCkQ74SyRZ)TBB7!lk_F*{ON1I7M=5!zfA5KVLCj|7kc~C{ak6(O zrky~%7X$NmH5oIkAds6TLnV?~A@F+D)c!!IKpceIdUmXPvh!7n9!69aIaI*_Kl*b3 z8fso5A0jE%M2=O;v!9L#jRADxWOGjAN*^N2VhPq7<^zd~G3(o`N@y_7y$toUelC>? zI$O)Aw*J~8z!|6r@8WBwhBne?T0e_327^lV;yG6|Ju)8+lk#4TC9<Uz?Y#`DH+!yw z5tBu_Za7L~MaBicE-lI;`4w0VeAH8%*l8}SCFKQk%KkQ5x75g1D@d?zeE&f$UKFj; z8pEZ|;+k`Iww)vSRtarxF)zrBEV9#nQKt@cZU^)nOnHd?Gy(5;B-4IeB5S&BS{$M9 zd&A=Ak9@GR_`d}V`(*AX0GVDc^d+s(c0CY{SGS*4RuMryc}GPQ=4_g#=MsI&`7EI| zt}2F--|GFZWO#a4rxTWy+sWj^18{^ixyGpFgfyvqmQMl$)G~VmBL-tczM~{cb~m-U z@{uufb}T%``jvDLFtXH!@2#+SgSxgHOPMgh+fE&fY0Pc%H*!D(x+J;tZ|!8eCZ7mD z{IxF9Rs)0~wQs>|4y~r4zw>j8Vt=nIc+HS1tfoEzw3s=-PTOzF3tVokEdT_1-46A3 zmgnCcHhO4_^Wh;qH=zGx%)AArW&{u_QyqH<E%Z12+Mzhp;YEl1H8?d@peVrWa#=`j zlk&fa<mSc2`i}zFn<uf|8QDA8?W*$003w>ph)Q))H0A)3M0nCce27380S@mz|GEr9 z8pX59<Ow(&FHQD+(xbk|k;?^xH*Mp?2?5Bj*BP_~YzfF{l4Vy@z{RdBi&2AD2VVlW zBT`_hmzI-OZ(X>~ia+U*d-n<te5-&Q)^9lG2G_^|55+Sx^6bZef4n^aLYql<ztU`R zq38;2d_;e^hpyI$c(KO1MVWK;ZazA2YngW<v1G7&EpJzOqxve);{0Gkfp`|B<xK@A zjaU^>Pz10FXgQ*swNWG#X>v)ii91RdvDpe_u^E}`r}zA;(9Z)kmu>yppN`FMUj1fX z8wdJFI2^v>Nd?yl&y=Qw<&w~OB|weuzz=08|2mKbH$JHdYx+r_{(*P24o&D0a-MS} z$2W*r(Q^)c!Ff`^A995zZJF@3wtoB%y9z>t7#C@!9_ogQ9)~-Q@;g5yeT0o1k1HKW zxHoVPOw)&09G`XRd6U8)M)pKC)in!feAnPf$NgJ2|63fta3$*t6SAb`@%R)(yJK%Y z|8(R0@gbNyP)I29cgL-r7+&oN<Pp*G+=TX;kFP=-Z*SA+PksS+2;I`C6<Ywke-%@a zq(P${o?8Qe%OafB=o{S4_Zs8|fNU97a79rKa`W58kwfMW1(azr#+$do<Xzb<mm(UB zhfV_7lcZ+zCZ+IdG%l1kSsJ6@*y4;TCzMLT86*g_S;{QJTtR>uUJYWilQON*dZ@?p z!3PHF@=x~P9@Hkj)0=3Re*2UX`|o#SNsq=0<1e?7y4csZghll+sb9Lhy(5Z=E;BoT zKK_?VvUSOOaz{lB=pWVV_7A(Z|MM5&1N6lD?_&rE5{M;n<4$c6R)n$6GF%0JTf{{! z!|+G)WePg~&}t>LY><pqp0x$h|7VHosrzY_v}<011|OjCSyJw?+5y91STh^^_3JvL z*G2#Y7#&`4O?=~lMX;T0f57&`Pz9Y_&=;a^eUp(bamMczJ}8)upfpDM*985M1Ss0M zSoQ`lD~Z&9l{YEvh)v<z-+O8OYZO!h_;#Df)*UDX()+c=^JuoH;35P{J@59uxu*3; z2T9!{_7wh24bBEkvJ3iG-hVtB_J#cH#356$&~OO&Xsw@ZVVRbOE0qtHGZIE&IFEIg zqBp6~o{ve~4q`lY$e&MTV_veqm4CfzJx+sgD_4vjz!uTy31_hy(J-I#kl`VVO|S-O z0v~AT>akCWvP7Kq<PDcx3FYllRVVM%e-{M`-XBfg9C?#hbYs7|6rG=tOJ6nh^cUTI zwIJPHVS7^W!<?4-hNK|tV=&)$g+T@lT8L=oW8Rkic)%Y)U8ba)Q#I-cHWVQQhGx)L zbJeZ~N~pxR<mcNx|A$6W1ZW9m{e$$@R{by^@7W@ox88C1g<4GDds0=`&k^y<U#fHS zW*Om~AQsT$O%OJ3az%;EXwt8bg&yD*Y?J5&$OzLR$ci?{4L*JwI@1JvY*I5H&c8^M zemZvw&uhEm^U?R4Z}e(!5h^Ac3YUo^O`{=r!qDM{Boxb9D=U2YSi969EzMl85rAjs zZEIDY-u{Q#X07_Z#Vr-GH(MPHNYvIHW{-bDeYgMfwA`KYW>Ju(4n!dnJJeF9z-YWD z7Ya(G?P4G$VRA)bYGrROdPTRP{<810z1z<KL2bED9RYs=Rw3MrF@#uXzRW|pMh{br z8XW$gT&6EmukA6GM4V4U6TyX&7`Qm_C^fFenc0kha&o;wHPtKg>|@`(g}+YZgFz!9 zQ>=q75m+L5ePazGXw)=+E53*v&pZ-BX#hEL03U&2P#93NO7G(Lm|o~WuB1i2{qsjn zBNwJJVO11tecd~nrkOR44$n;E^!D4Vn+l!I$SV>_?Nt*#e=tKd{jFt!a;vXby53Uo z5zjd`$Pu8Vh@bgMf+ULhNFAU#pp@`IVbwb1D6^S+%L^!{wk<@GNre`-y+hB>49t62 zpcxZ^tE8AD?|XSTC;PtMaQ}4?iTYPZj~CKfP&n*pqQnj)gD$@xEQ}EF4iDj@!GJ?; z0j-wJyZGW1V1|ikcJxp52g+CEg@J9kdLjzT{?yWdM+YO`jN?lGr8~Y_5p6gp(n36h zD!w%-f{rAEswn2FPsMG=b2&Wj>4_<ai{XKiKyx6;u8gq(kn$<i2xK!NUHgwQY1YR_ zslHsTYVj8;?8?zqIk!mpO?i(k%;=r6mfy4Q8)pBTMu^2p>799USY+=~5}(R=dzbJn z4AV#+z_F<PM<qFvK18d}**N1R0RlDBTd89zYK7eeb*s)!deDXj4?MUZf8^<kU%<Z~ z?1)eZy;<xptQhkK&<wp~>wJVwGzU>BlNCtvCcJW(w8Tw94Wn_$NHsUnq~WFTW?<wb z?X4_Ur5E=2FE`2E*wN*O&WT}hlH0X8=DbR40DM+DzjZ8v1n6gT0b7v-qFCr{HQS4@ z1sZ3Ouk0jc6%J+{W1;I9w+#IxI@-s(xziD{`B7@2cI<PzEX8WYkxT6l1G>hBTdbRY zZr`5IPN0BZS7tP$0S(q4E^_LZ^W$oJw+9j=;LcNxJE8cp@gT(5vr|yPR+*!T1Csm2 zkBusQS!EEDhfVcQJ6jImEbIPl1~`U*H8z04Q*^FlfdoOs1d;YW@~B2bT+Qk7{F|{D zV#`E+zE#JP;)ouQ&>wS<OTU~MKKFP&4PKQQ0yI2Z3b0{9W>L_IIz`|DMVR5`KQ+5Q z@o;>kCo2I6O%$=PYQ9wP%vD(}3Cwh&;A+)V|A9K!OK3a(Rwy1}_X@@T&EDZgKzP+k zpSah#J<U)m2NIH|V=LovoqhlX;-#wT_pSH*g{uC8ZHUUmw8uK#YlJ=)ad{oGsF(2c zfkG1p|Cm8mT=H?zO4-j$AfDN3iPGf5kuKzOfEc`-3K%2?7-Gx(ax3X^&u4j8F51N` zVAcqbz@g^E=Sq|HU%96^-1ePuCW`FO(afV%pGfvIPz_q}4*2H2?q$JPVhu&eL2)8B z$NoS{1muon*+E`)OqByl(4ZSWG6v*a*tFWhaazeY$q|drfBkj~A4wMj0s$0VnbP%2 z2PypPJt;UWM|Y-FwZzVwTrl=t&t(;x_yG47@#JGiTVLXi`eF*n9JN63d7wX~MwDN{ z8z@{1@o!k867~5_uROd<2!a8}d4DgWd)Q_2`0!mhMdow<<?BvmR^c%F#IAdVovq?N zP6sV5rCfh*xuXVvu{X!O9J+qH&CBy1+HK&P1yMR|ZUWeCZ23Nz9bRF=#vVcW0;;i3 zPLbi{Qo<Mr-h}6J8FENG0QEO#O84yI4O31A^<9zru;nrqBLMJV`wimV8LRSoOkR7J zayp++{pY{VC>B!nqf5Bo;&CLkvGAR3vTY4};gWKCc#<%SX#CJE!~%sMdZ=%rlZtAH z?)%CBuuu#`K8{{K1Dc_9R<#C$g%w8etoGhNP>!1=|K-w$+okk4mA)kTe4J*4g(DEA zT^X^*p|P}Fk;Sa=PZFgt*Uk@26ZScCN+iJnUN#?0qn~Fld2N+b^p!nMYV!yLp=6a` zGs8#mz5t7toB0g>*P3qu73d_TK*8rfLo#Uq75YeO;jR=(|E-MO6S(tC5<6p{d?=&m z%pB+@=}sL&@1<;1n>C?_E@7FVb&iJ*yr@gb7N$o^vAg`Yt>3)8aH%9uIzc_a)Z+!1 zcj6T;j<VZzmE*j-EoYxP-dMa}7rLG4biWa5Gt~EYrG|Wc%~kBt^~C*xtn16?5^yF# zza{+Dk=c`)Zw%ZOCo)bmfvW$>t*kMQE<GtvqP98=yzM!|1SX+a^;Xa-$eLh^JUZ<A z`zq=^Gm!`KI^sUkHIoIKOcqgQ_iraiSE5`AuHsH_#iSGNSdY<ImI$Snt1qu0yZK)y zhu`sV4pF)6xts`^1(IOLaYLXIc^7N=K(L2*vBVFEQOQ6{xZPDEj@)b_Mu7PlnAd*8 z(NXViet4UgTIZMh<j_7&Y55FNjMi@(pCO1Xh)$h4V|?fdYiHi08O@vc+5kAzMBX$j z<DrPeU?_vM0*4rw_|OgD`|zj}IY_F0_}^AKKXXO7a9Pr~1dS8GYVD{t6v2r8A-g^! z9yD9-NUG@Khip(z4keTXo&b%fmOFI)8aS0uI(?>S1&ViDl%NLPp-_gk^8oDzB9spx z)Qyds*(fnDW$Zpb0UTw4iurYO^*gO~1L`KPYbZfd0?t$A0&=?nui4P}FZYqv!Zs7S zKxDse8;A~1!#pCqoj%Vc@_>#Qb+xwq`#DndPk?9n5<c9|4A>*PY9WVw*OJjWUp7PW zIr&6Ta1d9Nh!qjbY%Gc>D4%Vx9`1GAf4ve_AC@Zy8++@Md!QL@d39#y4#eRfpn(l< z1SmOom%V3_Zkp`nf7=%(Vi)kd2VEx!eBz1oENq<OkK(CRErn1kc2c7?W0Qw)JO6lY zQJ>~id;mxO*WSTQ3z_9O^a6r@yze}lMx3}xfkE{;5=};myxrok-u^(z?l1E^&3AL@ zBkUq$tu8jUOb+^s(y`x+rkn43KrF^dhRTa+|NPr82ZqpDz}7i9++rL6d^2wmTfb_K zQKl}6Y%Pqj(NT30#r*I+DR^_v+eD~#19O82cmImux`#{g0SPy|j3j%A4))HYRsl+_ zw#LXNq0d@DB_Q~9Mvz!-@-qk4SD_ZcY@)NV!KiFoq+hX>#$C#_d(fWPYqXssH@Y1% z7JDmi8iGzo6R1Vs80j#)X4y<G{LJiOb|(eQBl<CzP5mF$#~^+ER~avtmX809hui(F z<|WXL`F!0EsV&q<;22n<rQl2o1#v@q2o9Q4Dx4?1-)pMl$>UY79+XA`;eK64!gH?^ z<1_wX(|YMV@x}{DffHC7F5d7uUowxgQrFyv|ALrYO^lIsVx!DEX&d}uFh&)1d4wIb zIk#EA;%ZLLHj8w1iut<jzbCr})q1txj<OlwkY=L;Nc;JD|2-r9^Hd?PO&eXq07$qU zzA+Kg|HdQ!1yW3^Pvi*v!Q1rd@)Pr-<O7bZj+B9SHCPCmwL)b7TBoCdtHo3C1oa31 zE!=?vp3$_P;`?tIcH8$0^ik?0&D$@r)*CAAAu@^ZLRn?<Y%vY97#+lCkkr4NM;mK= z_q3MT)gE*<%!k&p|M(tNW@XLFFSr63T0Cu+_hxZ@*+2tA?zNFq+~^({@O~z1V~4CW z9KSCJ`x-dE8PVLXANLaBvgR$b%7Px5y)WPWOD!!8h;it%wxd(eNL$J&!Ve5Ny}3O7 zW7l=As=P+aY<hCTt;Y>r&7RF4x0M#-M`2XPZ)V-CntSSt-2JPE#g8<Gr5=a9U3m*F zefm=H>EaXf!X3ZbvK@BygFENa2d9_$_PI5Za2kXJceS%mv*URI0f8g_ERNE7m3Q;u zl4xqk)uyI$Zed)+t&0MrdYIK)$NKvs^Y26|AN|3e-<@ackP~|+IF<5l%VWt~G)VN@ zjAFFxd#JQ|xg@;Lz-dmaoHqLPF$1@)g~9tw2{^{7emtgIp(KC(mt2UnRM2NC1s8V* zCz~h(kugAzJz}NIZs1wTZh=AS+NpV8+0HG39;EpXr=Ebf-g4x_Xrel>hcA~Yi=raL zap2k3VOknG)H!_M(WIYZBDk!TJU}icw#q^F@`eake3H5=&fqT6lonovvWjmaBk>6P zKK=fR^$5F=<uXWoltD_e0qLZ0Gyf<2vOR#+31x_t3|p7&FYDv~LUFt?$PpfKaz0~s z;I^=qAzps_{Ea18>K|Du^c5}Y77#%J1TplkylEM1%N!R}p6{@}?JJ=C;Hg)9aTDkI zXl&hD|FxT|pNDMl4)H72eol*o8!P}p4M6d{G(#k!^}-03V`~k;BS$70{%+hcJF2NN z2ETNC#|uxEx?{$pa-zf7T>WIId7ByniKa~mb6F1Jj=O~;_5*JG7q0iICYxd+yZy9k zhq{;aUG7gloc)r+1D*Z3C_4T~i=-<?5W4k=xj*tTQePyKs+RS1&(9uOL<y}1xOCR5 z$7NTE+>bfzbx-UX`^Mn;F=b%la@UW&r!)MoV5OyFvT0uixDAYB#Rd3S+hr|10l|)} zr?CYk@9Afv+W8U_jX)T8T5*x^pIe`<T$xe5iS&Go^79yous(5i;Pq;c(_6;p9FsQ} z|7$tarcghMkOG|{h6z4u%wmL-OtD9-%%RBIHYK;(5S?pB-FPy2!lwC`4-Y~n5*Y$M zt{M;hy=u6#+p>;5#bTlN-m&x*Er$}m&yv47hqEE!m3RGoO{c+C$c-WQ?{Zv@j{xiG zVm!@~?_*4EX}~T=PdC1vnbnMF(YVrLCPoHyBoQUq(An8|TP;>1h2`o(02Nl^e8FJA zGN7rLHR7ruHAN%R=u>2r#WQ+g`MOHgo0S0m)hPnS<tN3!dD)OOZqNVYZ;zS!%{u1b zXB~XQh*e^jQM1Az{H4sP2liiZclN}C#T9n|ymMgw7ml#ddTy9aG|K>z)UQ$s;5mL& z)b)RJiv8B{9fVN{tl`Eeu*jQ3?8Y(Mz1hE;Y1jZm2OhexwcB+4MDqLqaflWrQ3{PI zp>orOicSnH{&o?mrJ;q_ZC-+l2J(+p$f%;04oX7hwQR1MUjPW^g5=0GV+&h!-LLgI zJfLUHKj#Nz?nr%9M>2Rl$q&qD!MHTRirSkhXAyQ^asZYRd9rDE1Ho3`9y^u(=fi0^ z3x&o*$7>jr=<;~tXb{=EUu~g9x1r9Vv6g=An30fc2dkztW<s@pqJ=kpV{0V_qT&p| zX{HsWXe=Bn9&AK!UmU%A`bMo$0kmeLJt7+49S@J=g+S1lMy{Z%GDHz%%75n@WtnI0 zW1X4yKoD2jrS;}K{i=2b+Ch<8NG?_)v8Q(@f;X^Lb{T^F<$@eK{cu5qqF)+7p)EwF zd!NGmJW@HBI9lx*OqBHc!avi%+njGeum7*V82c^y;n{$;*5`S|Gy_x?5edV+ErF}c zz%kAg$p`O_nMePIF}F4x{k4+8gH8MXP5S|+9PKNKS;goDd&CnF?Sl=aT-#|TXf6~$ z-<8RT4<=W)4HuF`j%5C@6T{w4F@knEbbeF$aqMc!kwJn<kTf5{Y-?-LJa|i5l1=n| z&DCT?GrB_lDpX4nZfKi1<8`TSDp`urkp5_(c&-0=7IkkXUHZ2B%qMirU>Af-Dg#U! z0qhY@@>3xh9w|6Ia|Q@GE_B3pS-q^I=MyZf?ny@Lt`CdF+Sf^pWV2`=Wq_HIfqrIP zjjw$r<2;(XoD6M*;FDMN20mpDYU_6lcvy#)wcVId5<`{MPJTQ}6;?*+963{L(E7|{ z#t4hff%kh28IMfBpjVwZ+rBrMpxr)fziQoim1Ze`-WZZ*oY}ISTcFYSEb)z6k|h}T zEUCjq04#>kf4mPi-yq(C#|Jx)%~j;33v{6-(q~G`?=w?%J&KKqJqnk9R9B}S3g(6Y zVRhSd`AJtmI=}n>vyQnmckrH#3c{sw!taB|`FnHvSLO$|+{vlfv}{6T-xnyt1t1B{ z+h>l3oM7&?qBcvUJ)Pw%A)XT50PHi1^E3G>t?U_hoNDN^CnB~%5v}6E<qHbZmCEp6 zvHs<hK>=OtYHjUr;%y_P*pP{Jh*x?#{3W{P@^_QzS1q^+vkC-t2Ao%Xr0+W~J1#kt z@JgBZHZ4I7((qoAP;gSiuJ#Kz^lfs~r;3E6GUW848pG#2-8V?-@N@0CURx7;tU766 zEoXS=p?vY8_V|3EEE|9TFZuNP@#mFg)}sQ&@~iQsL}0YRP^hiNUm>l}G1o{kq$x?- zaeq;$C9bHMGewkss#?54_^!Nt;1>ITAgBmmEUkmr-arGxRNMLd-#fr){tDv2dUY_R zmZ79Uto#QRauxVhf)EAPoX@3}v;2YAYZJFjYxIHm;bq-v=$Gc9=#X2V*!tezLeBz0 zyA<dHt9RaI<JFu=(_f>?q73?$yZjYnn-eOF@S!HdI+)yBz<z`?`~?x{?1F`SULi&7 z4}<Uqn8$hJwo+dN++}*=qh7_(RB668L>n4s8jAChmysZrgQYxitU6kkweHpazWYt@ zvmx;04me5NZHA^xmD=szm%smf`-Bo3u8Ikd>5aXeTVs1Z&#pS{si-V`<?pZnskgO2 z_QTZj6utH<$w~0v1oSc@<mjqHScfl8fy0ULBfuZ#SSlF}iW9WI{hb*^fAmJK!+#`b zsJfi+29iKP#Ozm+kbHiuBy)%RkN>Ly+N5paa{<oTG?t9C8@{QH(?>>LGjmic7i#fP zDM~1c@Dsx>j6aXR1>*`elZ4k%zg!8NS8-or;cCh~*&97#zisnyI!a&|;rz?{^ReB3 zVu&c3+@hgpNyJOg?*PNR4){@xHnKqK<QJQ=ARuk#o8;PJ<g{nuk)RL`^U*Ov{4ec4 zqa#_);pjiQ4<En8M{>#D6NlsLoG|-0P!y;d<IP+UF=J>Q5M3vWkhgp=a#7kM>a{aS z3f`C=nd=-6^;Fc=uG^wwLlM{l(VL_TM9jTjvN`eZ&q{AW%Y*$VHm4zUdS5(!H($WX zX<bYAM&pJ(O_hY<-nWyg-!<F-UT}JL%@mS+qdVI&D9CqnX()yJ9_NK2AKcJs#m1Cc z+=%7rFUI2Le2BvKo0rt3V>U;b<bl;Ox2_ZRpc*l;+p#{EV&9<+_UQb{M#B_IRZ?_a z%h}aet5>i)WF!+JD-GMFHrqol1X+@R7*20Jb6kpFP$@@m{KirycNL3{{tL5~08Nu; zH<C<z^$2Q1nQnMMnjre0X1N5K4>DYNQ&Oe79*FtT6C91Net-GqNPlczKg3_vC(W>s zRH3dWs3=W)ixcH-Y}UwE>=k-ub$3iaJ?A3<PA^fOq7w&Gu3&_glc_6>a5dfAUN?4V z4g|;%J1D(2)0^hh<Fr`#)!(^wzw0Z(uXn$F`W%05n(xc<P<~YZ3teT;-B%ANA+tHW zcXYvY<slpPE^RX2RWk1bB*<k8egrIMe|fg(j<f#o9QcQ=fZb~*-{(^D`)0gQ3`J}I zX5<-lrQ+_snz(8%0FETNkLUZg8f7!=Ba_B}>g45iZph3>8`kD!Y|7+8<BZ7>tWtR6 zs5SWkEK(yayLTWaxF>9q<YUL}jB&ZB?pelGOOfYa>RYtYQNa|g%AUmj5seSr<j!vB zy&K^EGb}vO&_O8d#kc$L2L9-H9E6(*+EKqg#+<dMKUg%kD+@%duwo#^qE*e#5EwTk zgz=N_GZ0AqNWJN!6R+ZXj<7rGjiuC_%lzez{)21f8Jo)Dcy&p7Mm33Y8Z;va#F;38 z-a3r&<mJ$L140CsgPoB^?TW|A+0YqsDi&F4e)VeWr^g6lS1U`a2(*Y9S}yA*|L4nA zjQn-gop$N>R&X-Th6ZyZnoXo#x~3BuE%Ug-GXDpLo6Ud@TTmVeb0ok?&WdhMG;esB z7c0fZgO1wYeHaXy32boL-Iv&!bU!I4LJ*UcH(U7CJUd$-#SN$C@aYG|z|6i-vyo^b z2_QN#|7E)JQG%a~HmY5bGWOB@{<_J)ub$pNPZ#lDsL<ck9HFhXJgc)Ydl~|ykXb=y z4@DQNx1Sx-65`4jVpGaODJ191mR8!_WDy3xWxM*G7IEQFCz=s>JlOFitAU6R*myE~ zw)lB^zgN6gWuiBOIKqxPmlq0B*AIC;c0JOD!3q-KDOAx9mmWS5DHCm9T34c@e?Gju zh}cX;w6Nsg3<!Rdu>n}4LO3T^$i)`eGPN)D2cYXR83_luVaqN8IAXSujSVj{@0#D} z2dY4I3%~8fpvb)Rr07#Hnsuk4TXW%!0cz-`w#q^QO}I;0xMUoFZgeW6VUEm}uTW)v z%8RE%AN<@%VD)dE30y<0a|5}5-$NYp{gHm01vjeSvm9It|Iq<m8*{0zU3E0Pr2Cm( zIH>_rcPxbV^5~2xR^3VbOz9Qs<{7}BJ(^r&sskL39(#Nb^U-MfD@EH^v#hZDmp3x~ z#F_D$StRP(OhpwZAugpv_mqNx3v)&4<X(IpyuZZ8;wkGIEjQuD>)j8;Bocx(EhwT3 z8BKU#u$%eFt?)Z|-eG3ryX5uG+mjQIuCF<Eb(co(4Uc%qy<Nt^h*~EhH*#7sgzt7F zT8s-m{cyT4O3=K~Y1jBj@<gqyn3T__nlkWU>G<D4)ccJuzMEH8KPIPkc$`N{BK*y@ zZ`(bfZDpZ``KJNWyrv6Z3F)@Z$>!1~dCRL#?lUeNKS|mAaJUa6eq5>*^|J|OGB)n? zti3O+wfro}bu`gOF`BlXqKCK|3nH<gYQ<uS@Uii3I?X}a=FIm(jZSn^Zp!DMqITzT zmkYNWLBGvu8u-25k|89vt<nFST38^^72P)V2%Ra*kIAMVD(}BI{HIX5bS#<lBWeim zeyMqP3VM3i#;V}@mb(q(PQ$@STR#s8n47imcIaA65*YI2w{|KVUJ@nxZ7@Xd$lif; zhRbl$$z$Yi+VI%>o6?GRtzV`C>tNYU77s<t&%{1L(V=>T2dKn5PPPB>oVw(a6wbx9 zv^$TMv7;o&`V<^pGlw1D3ivM9J<)S)<LcH9(9({TnKLRmruFUgd3f=0?<4O%$GbnB zdoiDvA2yrk!1m9=_Y>s(>G1H1&O!clclN!nJs@YZC~k~Dx+COQXr*j~qkaxmoV&+M zKvBqIf*RyuzIxloURMtf`}waZV2OAFdQ*fi<80OQbps_Zd+;q?O$`h!F%<pGXs|e1 z*7~p5PU|2U36xHEM#T|DL2-ETebxxkqLfm(14nRc=9@b{bBRsyZ&8yw87u-A$r&?O zws_&jt$q$X4Uc~HD%(f4VNoM|^s@Y42K>*iP)B{2VAKBs_D$YmIWH-G%0E{<yOPmP zg2FcU<%frN8&%R%+(Va79oHR8)aLgPUtEUu;+PTQ>HuC%qm8f4|Lr9;TwW%sM|(1r zVTLR$tjZ*wm1{Cl(f<3P%NJY0Pk>kKkjKzlKwYUTi0h|HGH<rtMr-#I3uFVY?gi4R zIU8NxG#aUE=rlg4`*~q#+rc-IwdGuY&affkoWhdy*Nd4_+Ve8t`Bi>l@#!FbT|l2c z!LH*%OJC%~HHQ+^aVaqP;lqzq1Ny0=X{_^AC$b(N+4;chq93^M`@!t2N1uN8g6&ne zNM=_IlnZ`Z`Lp47^=RoeJ+VlJR39YuaI9lw^ieBPp!$_QB{F3R#*qF>@J0jt(5sb_ z@v}j!#tYHV=AYhz;r;Xqk4jci_A>(M3#qmC6UIh5wXN@Q&|6@~alR9J9P5!U2@-$Q z<Umdg0s%uFy>#UvMas6RN^9wCGYLQ0i5C}qxy>W=Ibh+pa0STd?#W__7@ieZq7Wt` zbX(mUjIc(g7}Egz$qCl}ws$<qhmJ~!5V@m)2Jq07mS%`$p%!X<ia{V{oN8N}$)z@g zvnQcn5<yIxEi*{^71DTz5^p?PS!gyj{5@6bH)6Ao`b!)YIv6_y<pyKmaI~gSvkbiE zPu5D~vkdI|VN^YOpsLHy(KDxvK8$z;rvII1Vgrj#Hxqfu?JlERv_IXj1@ZbRb$gf_ z-)u*YFOZ-rzPTb|fsUrKr~@cS*Bc$~_)uV459&+vF5jmI+vNBIECN1^CZuYIj~M$~ zhKnUv@L!Via&ePE4j+h&4|H|9GeiV?9<K!rp~?znDz^ik@lnvNv7Q{Tf?&O1_1k!+ z!}EBc<NN2O|5<^!ZNG=1#o#Gfd8(ck<3cut(|???2R|M8K9$C9;-zs$2nNY29d+Ou zY$YWn<tlo{>W=%4%j|#Rw12XB4w_fLu8T%R<xmk8-dhCdYYxDXiSz7-3Fg>e6H7(u z|0+t0zGPZiK5!k~J-t}P(Q&2)zS2`=s%`7fTvgj-H6j08{x>e&-@xK4r=tF?)?A9A zLoGIRf0RHBa5yz#^qU+OslHfIg>t`IufwSFyXQCtFqTyrh^wdYJbb;(=pHE1foM}^ zQBdCAgjFV&c+9>XDc3<Sm|3jBXb}Vi4I(TAJEZyLl)MK!Sr=TH%>d$7Y5$eCKoXc~ z{Pv6T1J%60j?wgP3iH7$QDP}=3Zm&EF`lz1NS;C$iX?fvsO9YKdnIJnK-54Vj10ob zbWa&ZPL$MK`yR_NmI&XtxT?T&Ie(%yFL=Cryj9wm&BA;uu@sypPz;R-3T3=t*2>Ck zDl@yMyj{)^m4V1>gX6)3bu<o22FYifxM-jrDhkhjP3d_nfANMIe!7A_;q7$q$x!=h z4)&XPY9v(Vgqri~qaB-tW5LD8I<S8-+jHbuda%u>H-Z)&3E|jJ@d0-Uz5u_Do-0G7 zwzQ&nbqw`T`mUKX;M_d&?6Ku7a$bSAMnj24)zAF(CAewr8Xru3C>dk~{NY+!K0md_ zr>bhU2kO48C;MFf*b%bc{;^juUXc{Rfh;H3#Q=oF)1|j%;iMx=K>Ok~XM@w3KfcIu z7EhNq`x^-lotd4vBn77yULkA%&tD~Z&d|ccgZYdRF<!Hh@3J3flcGuBu24TG2pGyn zc4P%`yc|!c!aD0b$gIW3?Y32E1K?M>7eAdchFSzb>QW6l#gGOcDR-yUPc0qW)2dDK zj&23XZ5o7HWxU0gBz`pkm?K>SC;XB2@yvqO$g@6R#roz=-+P!{Sa?+A`R|GK{W0f0 zfW_B+K?5nu<oqTnp1$d6L#-|Uv-NGzy5Vf%fM1a~_*`yR--&hoX&a|nOQU`$#o~82 zXd3<|3w&gx@WO++VGAqP$OgV0nFqX;cpxZ3EKh}`Iz9Dr@eLUM`+K?h`pddV+Hc^U zIivCNoxo?$LP%BAq1|s3P)5sceN3;b2j78t+gs8{^<0`kyzRVC+rUHVXAakHrVD{I z@Oiqbod~}C9zRQfzbi)tR2I$>bMBgQtX5{4fyKYf!q<7Wg?;OOL*q#B?2GVMM3%fG z<Mm)Wnc#&Vt-fYBYB+6NqnNrq1me|{7On}-ujPC5V{RmdgI8+Gd}xgBG@rJ-=2IR6 zLJQJmz{#d|H|~r7sOXbh6nrJ>SqIpO7Ph4SybUfWwT4CF|NiLkoEW2<^0YNI5q05Q z4MXe97AI>z?{AKa-}pr0O2H8OIhYu;*0ZPXA(F?xtqPm0w0*3PM?#7)vt)FSGW(P# z9>oNxXl6;wsdF1Dh>NuH2?yS<vwQFbRy<U9<k!mkHS4`!0WKBH!fkK-JpBfMz3*P5 zim{-F4r}uGJFSx3KjYkQz9#*fYFYJGCHS$vRA*Y!7gk)ah%^C9d|*=1|Hr7%P|NFh zQ;bvh!l5Yc5mT?(FO!(p?NWFcSzzg>&qoF_?89tsu0e}C(6w(poL`bS6{TQnSz?_z zbK2D&wz_Q-<wER4Klgj?B6tdU+3oFG@nO}*3+)-+A|4ng@#ziSRI2pb_Fn_`9(yKP zUH5H_(cIPc#+<}H=YGpriTg$SkwHcAv6_LRgp}!Mx7Hd%G3WmjlGTY#fmK%hhDKS& z<UF0p+n?#^-CScnW1kxH*g6%KZ(JU&ZPw4gp!chU!#zI-eAEv!3mqvfG->3#Zkn4G z<HQw~;AkJ}a}K<}pl`VJw6y_*q*nT|Q+07`&Xtj;hQ9Gy2sp-_o}A~MC#JzUi)0Xa zvVrimb7-cRy9TDo{VV%_?%Du<!bjHsnD0;M+-v_4UF>GMn_+@seUT%^x5--Jp#!OD z$T8*I*l$3o--Y$2!qpNriG8z)N;ib#7!}#rjRnu@x4OBtsqfCOj)6sEycBBhDIDYj zujLA?tY2R}FlCU`yO<Q)NHteACeLn2W2YKSh4Kak{1A9|aPqpu!iQIj)%GX;xMpE- z_t(X2GW4ZZ7mAA3vH!(&4Dp~7yFQfG3Vz-Ba^WI_FX*zjn{I8a{IP+B8Uf*``hNlG z85ZV(oZM^ei+(n%gZNWT<PqzkjFOVKSaVeKtwP8Tr>%*P5NkRk14amjk|KsM3$x%u z+y)Un2#MBFxaZ!Cl9GT-QnODR3!&-v335W#AUSo55JpNJ^7#-DV#Sb0vg(VQ2hjkK zLsVUlw+ex4<v%J>w-R@$YnM|;4B^=jdB@{s46(`3jv+b_5(SXmY6G(G6Egd;u@Ju8 zr^H?BZS5)-A7rJ}p}<Xs8WFO6Pr5#U%#Twm^^Jw_<-Ib^6q*j3ni9g!hXn8Xl$#81 zyG;W^q9qFVyqr-|PPzM!b7Zb_QX$EMN42>*(x!GQI}9)DWkf&-W-hX~Q0;aJ(Itkk z5`}PCY6G(G$8n<8CMp)wu<6rt0l}kY*R6Nb*c7eZWfsO|#ktEu8?M|!^}v%^rFC6J zkbV2!`$X0ewwldW6{(OUm%62Z;8Az(X~{@uT$XOfED$0i2*axTPFYA9-mf+xEDwUe z+k+V;B>`~}8K*9ticiOMz|pGXX{M^88Y`()|3a%EVh<%10wVlPhTh^{<q3(>4|1ap zfLQwR&@TrM{_^u&vNP6nK=3fvx`;5-+L6#O$k3|GP!JL;AA)f}Ampy+v+9a}#FFg4 zol#N%#G`|->FN0Lb}tU?)HbTGnwkZXSNMai5kuhAdzuUtCWMs-K}X?z86_16$UG_* z)40@a_>WU?>B+TbP*o=<@-&P(n-L5*(1#G#5eqK;m5h?|0TN>s0(|*b!M@zD)if8i zt+q(3a~5Nu9A_J@J=<E{1`*aZFRtjG&M2v1Kz@#4)8We@Gt_AqsZM}z7&;+>Q72Im zK@7od?_H`A!a8ChGQO2jQh|VA6+)6rT@%5>ua+<&gNlel2u7W3O$k<t`w6*2-6q3m zOFVCUDWjx(fW%mZFp+2Y@*b_Bwk1VGs$b|)!6+N3Zh#MA#t=MBI*bEi0;2d1wqQW8 z3W4v-!!LFDCL}o`WN5*NAS6cRBJO-N@F6S@f<(v@86^ckf^B+!e0+K${-tiX3}iym zQ>{gkkxLoXb+2d-;V)_P-HKvQn;=BVHe5~~1a}XrwiJc|@;!MpHysi@W`l~Y>bx9y zf2Lg58yyl_xN!DUrL!ZCKMEVd4k2*rJ*TX@6eMKZBbF8oApj)MrdQ2Y$0VZJui3>` zOx4hWk~$-8lWbLug@uL77Ap!KyB=f~E<z#uqJ>jeu~D6O#KI8CH!~^<fb{4SJnySb zgO2nBk&t35zUnB)>VxXFwYF)HM++jRD7As-)gg~l=K$j07cI-*Rc%xc2PAm3qMF56 zVSpT-^M-@f4wa^T9kg6u&cEnQos%oITCLG+n{G%k7S3K$CYqouiw{UZaqsQ7s@WjI z^B~CXsF_L+0p!QtN$o8<GQsoZJAcLslr`0^<E+rCE?l^zgg+4}b)QY=Pwws67p>YT zhmSes?#LAGQ8QB*49I)qWcCCEljfM0y8JU15bU>rNz<XkxO{fULkSXwe5Z~WqWUO@ zZ2`d|=-orsUq#JCNH8FiWYql&(5AyWXyd6x&5<3^s!K_AVTU1+=@7mT0U}-H?=~TK zs7A;V%cLW<qvkztFd*XrNs1<w0y}79tClENm^_wr3<=3jMiMt266Ge#*C66Lb=5{W zEb^{-5e*;DD5yX{4h40@)~QzpTzo85f#J?*wb3%|%;LG7@+9)I7q`89M7o{2il?md z_JAN5DtnC;2*~$={@En2s;ye`!9C{4j?02XMv|R6ZQa*Zx40b~@;@QlaOL1$h1zgS z;efd6zQ$6r;60?HuoIN~PVCG5F{wVHf;QJor$l835+yHrmKchEA$DQbO_C59L)2+h zUm}J{2Oz4t^av58$-LC%t7F-8RaA2V$u&M~xl0TYLn5|N4dIk^vr0{dl~On$0hvN& zU3wrOKU1|H28h3dHjzzNBZMH3?7(5`<snH(v}_2@@4W-F)F7mgBL*N{_YHfLG$A29 z=|T3njpCEEWGWOw97ocr5|MG?S~BtqV}~JQU$jCoq%cE5Ob?>82?^^-ZwEZhxYWH) zLx`<L>st4fIQc@Dkm!x-aO!po)y$6ROc}w05kb6wypd5)!GQb{@ZheyBiXO(5aNJ) zZ5hEK3o(T6)C0!>Jxt0<0OG0}ked`7KN?btHST|K8;*0o{zJ&MXG9*d+^Z}uAYsE! zR3`+0^g1aO>lMRWZZ~@Zh~cg*7=#c4My`n;dC0q5hfhe)#4Jr>NLU0>^Na;ReAQU% zJx_AWc{Ly*q>GV$-~HY<gu-4vB8VY=LT*!*5CDR5MN5jFu|hivC&*}YF9p2nKn5m+ zco<nY+gC;qLO=-Ls`oUiyD7uFNlAGlh`R||-7^*d=_TY>BDb2PzE%z8qkiQ|!Vp61 zBZ^Bf($^ef@8%FbA$}i%9Xt1^Nr*p!z=XV^T&@s+_;hfN$mleiO_3TfR~;H^jYgx{ zZnaF)FskIrFxTQf=4}-!vKV*2RT7N!s}|*<-El&Qe*|>5Q-5YJsiy!y5JHrj@g59_ ze_@DefQK$s4TEg8;vrJs@uJ>H^HTaXQs||w-YGsH!ELybkpI~`m!3$fFbvyFH*^)( z5#uDF&X_nFyk<fI#*ippGK(=RAmYNfbLmE6;@XW%6a5Fmk_7k#X3Q8!)Xc&K$t06; zR-?0VG4Tg@t~^zo>ZZD?PIJ2Gm!_z$TUS9ne3$c`Q`0lE9|TB<1O%OG%?WONMF7dv z@4tTg?Vn(>wX?JTWOw)Y_~FCt?V}_9ogQuPik0^YK5K9%<TyRm&c3(hYxu@hWkPy2 zAd01|=d_tfJw!rQ9Ki9h!VA;80Yc7q|485f51BfWh&-reobE8<p?T!xW^WZ)C^J$& zDeiqMI6|(RB0OCW5Sj_e2}rJEJ=~FgRz2hNBqN7jQok>0LTC&r+G3~z5dlb`gj_$P z_g7%!$5jCcI^Gh=;kw4@3H{?C_4}D_3K<~?DU$8wdC{TTkju`=r^g%)EYn*FAn0hn zh!MHHBgV)YFjb!VU2QUuT<=a6HiW_~VME4)BjkFAQ#WV_m+7q%5bI~{+$+$YK1fbh zBK2DxBcC)SAvTfKqZ&l&?(?E&10rPpmCWHHlRaBjzY0m!0%C*py$5x7vW#Tvw<1QK zY4#k1poTLX5asU^6BBdSx5Ci;N1coxfP`g2Dg^{1a&V{qPL?_I${1;CLI^@ixLFV~ zsp6182wB8_aN17A<=R&PsbWAdB6lBL04FPv`Yq4Mvn5<Cs!kk2bf`XebL*Tnzj*aZ z=5<-FIqi@J$f_I=B9S{6!pW+RkvFg)5K<uB>pnqbT9%#oBINrYfBL$UZcN7QvC&qm z*|eq+q0{ALLA8Zc4+!b3!ycWi``-+*N;9%dlrB^TknF;&7q@)qH*j$Eaijog8bELz z5%~pj)FCye`v8PCkq13FS%XoN)r}Duj}#mhr4%6CYi=CE6GVJ;5c%%wZd$^Ebaovx zdPZ)B6Q@@W2s-M~&ALA@HCbJByZEpuuad?pz(@9IC)f~Ag#6VNkhe7;O<QNy{j9+{ zpj59PK#0{3d#cIW8+<|-7Nys58kb39fk^RCojAm!4f+1-u3Cry1P?2t>oA^SOE=;K zQ*hz~5OmyAlgJ-CH6cX!i}wX1Jr<)Zw+aJ-0EDcN$BybhoB@ckAY511bLNyoiqpLS zg0_X5)e|8*1Dou1F2)Y{o6p&jfDnU}a<aJHh(jQxpMbnS8IL6_NLNBe($$us^qleo z2s)zCFdrdXcWZ;lH@ABlIsWOUj?w|73?q0fX+kdd6OebYAOO-W(@TQ-Rv?Wbz5qdw za|R*|0DSk(H}%oahj|}C@`~ePl@HV@?v3mdL@xIekVsn)o5jlAEi#-;mQO$kL>}GF zZ$$3O+o?uoB=HE6$KAsA7g{YW2=`LiY_BGSfqN%rR_6N#$cGvbF6-<QCO;iU-Me={ z2t@MVPx5x!tCJZ~BgY?fhvc1BH5SATd$A#O!|e|s<HE!0lIBGzq%9#q4EF935Of3~ zc{^Jih;i!bCh2WSWj}@ba|s9yYUKgJ&9b>H>t#WRUqIfR%x6J3U;2f}FeHRruU|kY zJRwxi8{ZCSb#G2c+^0~#XI(6Ar7}JiaW7>jmJm9K_yy$JWF%trQ5w=4XA@1F9!41A z8xTVE0UDXXvwk-2)<MdYydeQ01SzXbw?4LU2!!|q<aG@Q79@A>&75xlts#8?giyUs zk#|Y`BOkD<DLGb@yfA72VQj2&Mx;we^=Sz43dpAh5Wvp~bU=Z+Z$Qw$b!r8yM7M>% zbzmrY{DlU@Z3iiv?rl()Wec;gA$|c_iU0&Y@@BFWA?IF{)dxTb)rW2t!j#-sl&n-_ zK~N)W^!HeV>evv^fGniDgK$wDOR`4N$>{)6S$zNmJ+4(dd8I8ShaZhrWI#~EDB~$q zbi?%t$h!uR9HEul`PNp+eDYOK8fZXNN5guxZ&al(geT&3O0Up{5UEqT2qB&T`7pwQ z5QF3)q=}Q&W6jB610wRhLnD%@wG$7kQ6P<#|G#pYkVUV6yg8n11{pb%k5m{E3L$+0 z1RWm?jfkuDQ8z~SU_+WtM|B^7kmZdPAT0|>{xZvOY)F1UhDOAr*6^@!MXFJD9Adjr z-Sh~^$07vD(U6WBoe1e64jFtvgb@*uNIl!hi)wvyv}IhZ$_Z&O{B6R9#MXvf^#{lT z%^>u&&pSXQfx3*;^Y;#^10b?5?yyZHsSP|VTr4j(1VZRS<qME^qbP5T&Y5NtlD|Eq z7J!I!R=s*gl{O#_AeGVKw!!fvL!O4~1CVRuD$6^nn+cV2$4uc6(sw{8JsJ90R%`nI ztn-YiN-c;>NQ4dX0mzN<$Y};Ca;}Du<(##>bpb^BS;Ksm(z;6ZwETEjRA#xul12=6 z;sKEN$D_8oG9K%Yi)IRB(l%r>A0f2?MEY670!FD#;fD~Sd*H*V1xya*Ff~m#+)4rY z$i(QlSo!@yXeO7{zLhIfuMr@_P(*1%@!>WTRvd;njp{ZInWCe56@cJj0Z9JT9L<HP zNL`+-(0e&Lh|~%Y<!2onUT8#wgXJqkcM+jcosR0`(#u+zuNshdbqGRiRlHLF#D>H< z+^l*5A`z+E7!5u0frI6t5yWW^A>EsP8ZO;%O9Da;%K$>|q1XVbsW_w^pP9|78z5p# zhkZFl!{MNhTwPFWjsfvRNF)0hJCSS<VJL^n09nApvfT+A#S+ulkUU1DhJZ*ba<C;K zd31R1j?m9S|J7s+(zCQ-`5;7>_lFlb8B{tMPSHW68bGd1O-{z?4(Y`z$VN^G!H9H? zMCu5L(Dvi~ty4PK+q-*s=jU3JBKXiLUU?h&Ga%e}E+I6kLr8f*uHa!|Kzc-(CUv1C zA)8%#QPmX?p})8PJ$}5qyZdBcXy+gS%A<QV#bjd)144xE4G`|U%+kdP2q_E5($pyr zORAVVh?_+q5_f4etS=xgFx$t+PxcKdf|A-rDI2mOP2WVSG0nFHfe`mehS-o2fZ$+F zjXRyCN;LmFZdN;9>x9U~0R&Kvt^c)m|4xnaU78PFi{aaVplm`SY)E-Pu3ecLw}4<8 zi=v!FWE4NE6CxK65UuTpyPA@nNB92urUqJHYda2>Qhxwx7|#V8qC)kzu2%ra`_tpH zP?2WzLVR$h5MmK&cSPjE0%B~*6FubG;6t*$Y3zqFApPQls+08d5n|n_J~4N_G$2dU zQ-Y6z9u{)q5Zo+lMB-()E7e5?#F~;FWl8Q1vb(i$OYnh%l_Q1aD^jO}h#pgJZm}dF zOB2GuvYiRBjU~?0L4;65WVF&|WC)1Vk%46I{$K{~>&tE9U-{2qA(Vd9r!CB~J=Jd( z0t7y!0g2+VvIfLWW|_0aifA*kmdg4L0XeZGPY#r~HE@PxeM9_vg^zwZSortulMLyp zezPbb@IeFuAf<{dEg?cKBDdB~T&*D>8O@7(gT%<X@U9FW5)W!j;KREbDI1a^L{;}* zEdmI9$Tkp@!m{iaN7*F=Hw#1}VMo;9CqqCSZ%Z?BZ!j29c$|bEEz3uvj~*88z1xS% z4*!0&7$9#hOiWCVTLaQ;RWJ}<14c9=_*ozli<dGatM5EB1jNzb4|fj+f|2!&<v339 zaY@}mcp-fhkvgHeG$P7|Osvco0OZ<p6BAPj2a5=#thGz0vp@t#OCur(zqP!!`usaD zzc2(OrGIx10{6AP*jN^DSntZVe~`fHGa^*K^NgKQ-OF%NB(rET%n!(oxd|J95TOG| zg@iN-MX)1^5$$e8Qk$PGudS`Fe*XOPpS&aVjL`)JB*92vWn1g(Uu<lwUAZM~hmggC z_=5y*|7{3fmL(+C$t>KgyntL=nALnt!bc?q{BqxP!dD4Iup?5jq(m#yvOjqfGtUgO zddfnCVm4qm_bs2r2eZaKCFT$tpg8-(<IKwo@%rPFmz0D9Jm8~%`S3}|>DtA`9spUI zn-O@(5)&1mTR`BW{E31H(Rzvzg9)TqPz){h2Y;W$-JmUx<;v`pyqS2Tx3E*YKby)o zEXlr?;1@v*hh%x`gqgLcD<^g#hX<T6u0Pg$oRWnD>ru?V@<~X#c2OcCx*1-c&k4wl z=VoVw{ZJ)X1R&)N2v)>JMEhCIBqJ^)2~^sA+bLo>YmmDY8zGh^);b4emUZo}XXYH0 zP0b6jEt3GRU;beX7Qlh^z`ZKuU-?S+GW@$SA`+3svjKTi;xVK1yV`zG=3e2Ir4hNL zg&8p#lb9Gzh6-O}M$nNq9}UaL`KXcku+K4J2rVHquic#Q3drkAa}p2uQ2v$M#lA`- zq8QPD7(^7?Xv|exe2J<360!`*cXEy`)i-~`wq3%(5}T=Smgqgl)MuD)y$gHt@#YJp z6L50`*6WE~ZLh?99#_P@XSWIL`VnZPtq1Ov0p#2e>ELF?%FR-Y%&v4`<hx(KTzYMG zR+$gYM;x010h$OQ#DkwDL{<w^f;AZ`OpWRnaI}ozW2BUS<)4r!GK5G(W<R)kb1_ND z_rLw}<&A~8S&4^<&c`E_-z7fB!>S4pH(Uo07y*<_jj3-t&s=&VR;!7gagW1de&}zG z;Osia8WyBJmQ7j3Vpf_HV+~iw;<3=K|Fl}8X*N=P6d9$#pO;1Pq6$P3h)B(Su(EPl z>9yws8;TBzhczGVw$CA2pcz6iBR~QsfYQ>F0xGm)@E>$Orv(pk3K-B~j0bd_YXAZv zZrus7x<o_;BeRYK93u8G<|97gqvg~mdt}7*wE$(P@YNJjQ}BQf{Ht?h#C<v-&tQ%t z5D`+8%qS_-AvI;ZD``K#!`~po@{n1GIFLB3sHvSljSq{M12VH)(=26SVq^8*>}A(9 z)lxo^)6f$Z$!*P2Hc0Q*WMfVyxrih3Ic8OW*WW~tk%Z&i!}Fvdgz<0{ArcYGh^7Qh zPis0RCnMGR;qU<>9*hX5j2%IV-+XhZuyyGKj}eWBOzwuo2R+pp&B6FtIu@~vh?kON z!_Xmu4;_6_U*<jgK)4PhE+$Qr2G+c!n1LX(j@A6t<laCg-|&OQ_8@9rt!Am+QO|K) zwV^#4pTc=?ispx%l`l2RloR3v6HCLr{!0ksVeXwk!VkxUII+62A|@D-kO)kq<eZQo zCyFCeLPL2ne0UL6@ZBKsFF?H5DtrCPJ+_vEwt<lFAP~`wa1f#@d<`Q?3JdWqrE7M; zqtCs+%&!qd8tMyOI*Cp4K_fRBQD1sD_Hp)R1H=k_7}m2yP58k)=bEXmpXPo_#;1pN z{rVkd1M3l@0U?`ZZZKms8LExyH$_GqK?mLy?dN^DJn%sLCqf8vTq%lpL-6meXO+I6 zvX5zYHGHNIW!9uW1hFD@C?@RTh)v8nUs7`+T>nT%g&CTkHC7u|gic9HrrZoVba0*z z5C4>CK5)Ab^i-xs#fNTGx5YqQzy50_$WU;EWjj(gTlNqMPB}R>G}O<WPw}Pwg*Gy! zPRITw6g2Xkh6r=R&(xgS71~&x-iPDsUG$5EQXGeQW*R3GR<IxY^6u3B_7ErQ*dxsA z7hif)1S5g@R%eWnKp~)p#4WyT;$8LIdn6bk`<p}dmQpinw!=ob55_FwxQI{WmzC$J zBkm#WizUwI;CKdh{Za!4hfx+HwhK5V2X19@(tN1H^ixDo<Ubli4VH{s6=d*{Ip9eG z5$$Usno_BrIse*y4arkw>0ozv1=9k@$g@`vT=(<(pBfa)(J>UEU{=f43b?gp!DQzC zZ`TfV6NI5CfZG56>50#m3t_}1V_DI2#-O96vzA8NM{c#;c<J8mj2GR%Ex-GOij+#Z zC3R2k>+e_h^Ko&@K2=sC(x&8Gqy6>gtdsHsqvV0vr*#Z=6(3r!(ap5}FlrmM+jY<_ zyG&vF$|{sTzuQ#U7uUJ;cxoSuD$x7NcwSIH^{-QMIV7vMhsvu%uBys9oto>+<n4dd za)qx|uLsFdXsJvZ*=gzb!~E7=-l`YtbZyZ$WJ~eX)JC$#=)94f%%VEo#{QVvbCW$~ zpw%{Y`>$<eh~$%GW$s63Ub@75@C@U_+y7^_v4!hKKi{4A{NId?M5q!JGC25b2dj1K zp>f4k2sk~wzIVIc0ydoQIQDkWdy54L_^ox6YWX$mfbW;gCw?3m000000000000000 j000000000004DVXSH8g>r!Cf+00000NkvXXu0mjfmV#z> From 47e02dc88b43d048afc10060443227073d2a3089 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 17:17:17 +0000 Subject: [PATCH 027/277] feat(index): delete unneeded grafs --- src/index.html | 113 ------------------------------------------------- 1 file changed, 113 deletions(-) diff --git a/src/index.html b/src/index.html index d72abeba..5107c5d4 100644 --- a/src/index.html +++ b/src/index.html @@ -154,119 +154,6 @@ <h2>Bringing industry standards to California’s transit providers</h2> (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and cost-effective for everyone. </p> - <p>Since forming in 2018, some Cal-ITP milestones include:</p> - - <h2>Identifying solutions</h2> - <p> - 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 - <a - rel="noreferrer" - target="_blank" - class="purple-link" - href="https://dot.ca.gov/-/media/dot-media/cal-itp/documents/final-cal-itp-market-sounding-market-response-summary-103119b-a11y.pdf" - >1st Market Sounding</a - > - 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. - </p> - - <h2>Understanding feasibility</h2> - <p> - 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 - <a - rel="noreferrer" - target="_blank" - class="red-link" - href="https://dot.ca.gov/-/media/dot-media/cal-itp/documents/calitp-feasibility-study-042420-a11y.pdf" - >Cal-ITP Feasibility Study</a - > - 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. - </p> - - <h2>Getting to work</h2> - <p> - 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 - <a - rel="noreferrer" - target="_blank" - class="gold-link" - href="https://dot.ca.gov/-/media/dot-media/cal-itp/documents/calitp-market-sounding-real-time-transit-vehicle-occupancy-report-a11y.pdf" - >2nd Market Sounding: Real-Time Transit Vehicle Occupancy Report</a - > - was published in October 2020. - </p> - - <p> - 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 - <a - rel="noreferrer" - target="_blank" - class="green-link" - href="https://dot.ca.gov/-/media/dot-media/cal-itp/documents/cal-itp-payment-issuance-market-sounding-response-summary-report-final-a11y.pdf" - >3rd Market Sounding Report: Payment Issuance for California Transit</a - > - 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 - <a - rel="noreferrer" - target="_blank" - class="blue-link" - href="{{ site.baseurl }}/assets/Mobility.Accounts.Market.Sounding.Summary.Report.pdf" - >Market Sounding Report: Mobility Accounts</a - >. - </p> - - <p> - Throughout 2021, Cal-ITP forged new partnerships and live-tested solutions, advancing our vision across our three primary - project areas. Check out our - <a - rel="noreferrer" - target="_blank" - class="purple-link" - href="{{ site.baseurl }}/assets/Cal-ITP.2021.Accomplishments.Report.pdf" - >2021 Accomplishments Report</a - > - 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. - </p> - - <p> - In March 2022, Cal-ITP announced its - <a - rel="noreferrer" - target="_blank" - class="red-link" - href="{{ site.baseurl }}/assets/Cal-ITP.Market.Consultation.Benefits.Administrator.pdf" - >Market Consultation: Benefits Administrator</a - >, 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. - </p> - - <p> - In June 2022, Cal-ITP announced a - <a - rel="noreferrer" - target="_blank" - class="gold-link" - href="{{ site.baseurl }}/assets/Cal-ITP.Open.Data.Standard.Improve.Transit.Agency.Operations.pdf" - >new open data standard</a - > - 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. - </p> </section> <picture class="railway"> From 5cc4bf0327bfacd7fe4c11cec04586115f97cba5 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 17:18:38 +0000 Subject: [PATCH 028/277] fix(index): 2 copy changes in remaining grafs --- src/index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/index.html b/src/index.html index 5107c5d4..a6a9f848 100644 --- a/src/index.html +++ b/src/index.html @@ -127,12 +127,12 @@ <h3>Standardizing information for easy trip planning</h3> <section id="about" class="constricted"> <h2>Bringing industry standards to California’s transit providers</h2> <p class="important"> - 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. + 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. </p> <p class="important"> - This lack of uniformity creates barriers for new riders, complicates travel across different systems, and increases expenses - for individual providers. + The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and + increases expenses for individual providers. </p> <p> Supported by the From 1933509e8b98c0be1e23bb5b5ee5b8cdcdbd0a47 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 17:19:45 +0000 Subject: [PATCH 029/277] fix(index): remove important class --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index a6a9f848..63211e4f 100644 --- a/src/index.html +++ b/src/index.html @@ -126,11 +126,11 @@ <h3>Standardizing information for easy trip planning</h3> <section id="about" class="constricted"> <h2>Bringing industry standards to California’s transit providers</h2> - <p class="important"> + <p> 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. </p> - <p class="important"> + <p> The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and increases expenses for individual providers. </p> From e735bed2923fa3f306bb6fec0d3bddd86e046d2c Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 17:26:40 +0000 Subject: [PATCH 030/277] fix(index): delete numbered ps, delete 5 --- src/index.html | 138 ------------------------------------------------- 1 file changed, 138 deletions(-) diff --git a/src/index.html b/src/index.html index afd74ece..c8a91b72 100644 --- a/src/index.html +++ b/src/index.html @@ -288,159 +288,21 @@ <h2>Helping California achieve critical goals through transportation</h2> <picture><img id="goal-1" src="images/number-1.png" alt="Number 1" /></picture> <section> <h3>Improve the customer experience</h3> - <p> - <strong>Real-time global data standards save time—and change perceptions of wait time.</strong> In Seattle, riders with - access to GTFS Realtime information perceived their transit wait times as - <a rel="noreferrer" target="_blank" href="https://www.sciencedirect.com/science/article/abs/pii/S0965856411001030" - >30% shorter than those without GTFS Realtime. Actual wait times were reduced by 2 minutes.</a - > - </p> - <p> - <strong>Contactless fare payments make transit easier for riders—especially tourists.</strong> Since beginning to accept - contactless payments in 2019, New York City has seen - <a - rel="noreferrer" - target="_blank" - href="https://www.masstransitmag.com/technology/fare-collection/fare-collection-equipment/press-release/21127945/mta-headquarters-mtas-omny-coming-to-all-manhattan-local-buses-and-more-subway-stations" - >taps from 130 countries</a - > - and eliminated the trip delay for currency conversion or to buy a fare card. - </p> - <p> - <strong>Contactless payments are popular with riders and boost satisfaction.</strong> In London, - <a - rel="noreferrer" - target="_blank" - href="https://www.mastercard.us/content/dam/mccom/en-us/documents/ContactlessTFLLondonCaseStudy.pdf" - >2/3 of riders converted to contactless payments after just their first use</a - >. And in a recent survey of UK commuters, - <a rel="noreferrer" target="_blank" href="https://www.ukfinance.org.uk/system/files/Contactless%20Transit_v4_FINAL.pdf" - >45% of respondents said they would feel more positive toward public transit if they could use contactless payments</a - >. - </p> </section> <picture><img id="goal-2" src="images/number-2.png" alt="Number 2" /></picture> <section> <h3>Increase transit ridership</h3> - <p> - <strong>Contactless payments are an incentive for riders to return to transit after the COVID-19 pandemic.</strong> - According to Visa, - <a - rel="noreferrer" - target="_blank" - href="https://usa.visa.com/visa-everywhere/blog/bdp/2020/07/14/transit-riders-are-1594762921880.html" - >contactless transactions for transit increased by 187% from April to June 2020</a - >. - </p> - <p> - <strong>Convenient, universal fare payments grow ridership.</strong> 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, - <a rel="noreferrer" target="_blank" href="http://content.tfl.gov.uk/board-160203-item05-commissioners-report-v2.pdf" - >London saw a 4%–5% growth in Underground ridership</a - >. - </p> - <p> - <strong>Real-time arrival information shows that transit is a reliable way to commute and travel.</strong> The - introduction of - <a - rel="noreferrer" - target="_blank" - href="https://rmi.org/wp-content/uploads/2017/03/consortium_approach_to_ITD_report2016.pdf" - >real-time arrival information increased bus ridership by about 2% in New York and Chicago</a - >. - </p> </section> <picture><img id="goal-3" src="images/number-3.png" alt="Number 3" /></picture> <section> <h3>Lower costs for transit providers and riders</h3> - <p> - <strong>Cash alternatives will cut costs for transit providers.</strong> Washington, D.C., spends 10¢ per dollar - collecting cash fares but - <a - rel="noreferrer" - target="_blank" - href="https://s3.us-east-1.amazonaws.com/rpa-org/pdfs/TLS-WP-Fare-Collection-and-Fare-Policy.pdf" - >just 4¢ per dollar on credit/debit card fares</a - >. - </p> - <p> - <strong>Digital payments are less expensive to accept.</strong> According to Visa, the average merchant spends about 7¢ - per dollar on processing cash and checks versus - <a - rel="noreferrer" - target="_blank" - href="https://usa.visa.com/dam/VCOM/global/visa-everywhere/documents/visa-cashless-cities-report.pdf" - >5¢ per dollar for contactless payments</a - >. - </p> - <p> - <strong>Machine maintenance and ticketing fees decrease.</strong> In New York City, the MTA expects to - <a - rel="noreferrer" - target="_blank" - href="https://gothamist.com/news/omny-is-alive-mta-opens-up-tap-payment-system-in-limited-subway-pilot" - >save millions of dollars by eliminating the costs required for upkeep of its MetroCard system</a - >. - </p> </section> <picture><img id="goal-4" src="images/number-4.png" alt="Number 4" /></picture> <section> <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> - <p> - <strong>Contactless payments decrease bus dwell times.</strong> - <a - rel="noreferrer" - target="_blank" - href="https://www.energy.ca.gov/data-reports/energy-almanac/transportation-energy/public-transit-california" - >Buses make up 62% of California’s urban public transit trips</a - >. The Transportation Research Board found that - <a rel="noreferrer" target="_blank" href="http://www.trb.org/Main/Blurbs/169437.aspx" - >bus boarding times are almost cut in half when tapping</a - > - (2.75 seconds per passenger) compared to swiping (5.0 seconds per passenger) or paying cash (4.5 seconds per passenger). - </p> - <p> - <strong>Making transit more attractive to riders will reduce driving demand.</strong> - <a - rel="noreferrer" - target="_blank" - href="https://data.census.gov/cedsci/table?t=Commuting&tid=ACSST1Y2019.S0801&hidePreview=false" - >California’s transit mode share</a - > - (5.2%) is comparable to the - <a - rel="noreferrer" - target="_blank" - href="https://data.census.gov/cedsci/table?t=Commuting&tid=ACSST1Y2019.S0801&hidePreview=false" - >national average</a - > - (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. - </p> - </section> - - <picture><img id="goal-5" src="images/number-5.png" alt="Number 5" /></picture> - <section> - <h3>Promote equitable access to transportation across the state’s transit providers</h3> - <p> - <strong - >A statewide program to verify eligibility for reduced fares will alleviate cumbersome processes for both transit - providers and riders.</strong - > - 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. - </p> - <p> - <strong>Fare capping reduces transit costs for low-income riders.</strong> 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. - </p> </section> </section> </section> From 47fd1f5ed575675afcae61f64289e45ad37f6a4f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 17:58:05 +0000 Subject: [PATCH 031/277] fix(index): delete extra grafs --- src/index.html | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/src/index.html b/src/index.html index 9efc70a7..64e81f8e 100644 --- a/src/index.html +++ b/src/index.html @@ -220,29 +220,6 @@ <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> <section id="reachout" class="constricted"> <h2>The time is now—reach out to help and to learn more</h2> <p>This initiative is critical now more than ever.</p> - <p> - 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. - </p> - <p> - Cal-ITP also supports the state’s longer-term equity, economic development, and climate goals as delineated in - <a - rel="noreferrer" - target="_blank" - class="red-link" - href="https://www.gov.ca.gov/wp-content/uploads/2020/09/9.23.20-EO-N-79-20-Climate.pdf" - >2020 California Executive Order N-79-20</a - >. 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. - </p> - <p> - 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. - </p> </section> <section id="lastminute"> From cdd1fc52e25c415b5640f142a6b4ad2636fec830 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 17:59:08 +0000 Subject: [PATCH 032/277] fix(index): update 2nd graf copy in time is now section --- src/index.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.html b/src/index.html index 64e81f8e..f0112d3c 100644 --- a/src/index.html +++ b/src/index.html @@ -220,6 +220,10 @@ <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> <section id="reachout" class="constricted"> <h2>The time is now—reach out to help and to learn more</h2> <p>This initiative is critical now more than ever.</p> + <p> + 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. + </p> </section> <section id="lastminute"> From aa5c1ba7b6b047ba055f9359da9f6664a8d98e19 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:03:40 +0000 Subject: [PATCH 033/277] refactor(default): use main/container instead of article --- src/_layouts/default.html | 4 +- src/index.html | 457 +++++++++++++++++++------------------- src/stylesheets/main.css | 15 +- 3 files changed, 229 insertions(+), 247 deletions(-) diff --git a/src/_layouts/default.html b/src/_layouts/default.html index fc96bdc2..d21085c6 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -5,6 +5,8 @@ </head> <body> - {% include header.html %} {{content}} {% include footer.html %} + {% include header.html %} + <main class="container">{{content}}</main> + {% include footer.html %} </body> </html> diff --git a/src/index.html b/src/index.html index f0112d3c..9b38aed4 100644 --- a/src/index.html +++ b/src/index.html @@ -3,266 +3,259 @@ layout: default --- -<article> - <section id="deck"> - <section> - <h1>A modern and consistent transportation experience throughout California</h1> - <p> - 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. - </p> - </section> - - <picture> - <img - id="triforce" - src="images/hero-header.png" - 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" - /> - </picture> +<section id="deck"> + <section> + <h1>A modern and consistent transportation experience throughout California</h1> + <p> + 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. + </p> </section> - <picture class="railway d-none d-md-block"> + <picture> <img - id="tracks-0" - src="images/tracks-divider-0.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" - /> - </picture> - <picture class="railway d-md-none"> - <img - id="tracks-0-sm" - src="images/tracks-divider-0-sm.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" + id="triforce" + src="images/hero-header.png" + 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" /> </picture> +</section> - <section id="details"> - <section id="enabling-contactless-payment" class="box"> - <section class="callout"> - <picture> - <img - 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="142" - /> - </picture> - <section class="right-callout"> - <h3>Enabling contactless payments</h3> - <p> - 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. - </p> - <p> - Starting with - <a - href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" - rel="noreferrer" - target="_blank" - >Monterey-Salinas Transit</a - >, 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. - </p> - <p> - 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 - <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and - <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. - </p> - </section> +<picture class="railway d-none d-md-block"> + <img + id="tracks-0" + src="images/tracks-divider-0.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" + /> +</picture> +<picture class="railway d-md-none"> + <img + id="tracks-0-sm" + src="images/tracks-divider-0-sm.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" + /> +</picture> + +<section id="details"> + <section id="enabling-contactless-payment" class="box"> + <section class="callout"> + <picture> + <img + 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="142" + /> + </picture> + <section class="right-callout"> + <h3>Enabling contactless payments</h3> + <p> + 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. + </p> + <p> + Starting with + <a + href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" + rel="noreferrer" + target="_blank" + >Monterey-Salinas Transit</a + >, 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. + </p> + <p> + 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 + <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and + <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. + </p> </section> </section> + </section> - <section id="automating-customer-discounts" class="box"> - <section class="callout"> - <picture> - <img src="images/automating-customer-discounts.png" alt="Checking a state-issued identification" width="131" /> - </picture> - <section class="right-callout"> - <h3>Automating customer discounts</h3> - <p> - Our <a rel="noreferrer" target="_blank" href="https://benefits.calitp.org">Cal-ITP Benefits</a> web application - streamlines the process for transit riders to instantly qualify for and receive discounts, starting with - <a - rel="noreferrer" - target="_blank" - href="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/" - >Monterey-Salinas Transit</a - > - (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to - <a - href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" - target="_blank" - >electronically verify their identity</a - > - are able to access MST's reduced fares without the hassle of paperwork. - </p> - <p> - 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. - </p> - </section> + <section id="automating-customer-discounts" class="box"> + <section class="callout"> + <picture> + <img src="images/automating-customer-discounts.png" alt="Checking a state-issued identification" width="131" /> + </picture> + <section class="right-callout"> + <h3>Automating customer discounts</h3> + <p> + Our <a rel="noreferrer" target="_blank" href="https://benefits.calitp.org">Cal-ITP Benefits</a> web application + streamlines the process for transit riders to instantly qualify for and receive discounts, starting with + <a + rel="noreferrer" + target="_blank" + href="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/" + >Monterey-Salinas Transit</a + > + (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to + <a + href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" + target="_blank" + >electronically verify their identity</a + > + are able to access MST's reduced fares without the hassle of paperwork. + </p> + <p> + 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. + </p> </section> </section> + </section> - <section id="standardizing-trip-quality" class="box"> - <section class="callout"> - <picture> - <img - src="images/standardizing-trip-quality.png" - alt="A bus that transits real-time arrival and departure information" - width="106" - /> - </picture> - <section class="right-callout"> - <h3>Standardizing information for easy trip planning</h3> - <p> - 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 - <a - rel="noreferrer" - target="_blank" - href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines" - >California Minimum GTFS Guidelines</a - > - 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. - </p> - </section> + <section id="standardizing-trip-quality" class="box"> + <section class="callout"> + <picture> + <img + src="images/standardizing-trip-quality.png" + alt="A bus that transits real-time arrival and departure information" + width="106" + /> + </picture> + <section class="right-callout"> + <h3>Standardizing information for easy trip planning</h3> + <p> + 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 + <a + rel="noreferrer" + target="_blank" + href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines" + >California Minimum GTFS Guidelines</a + > + 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. + </p> </section> </section> </section> +</section> - <section id="about" class="constricted"> - <h2>Bringing industry standards to California’s transit providers</h2> - <p> - 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. - </p> - <p> - The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and - increases expenses for individual providers. - </p> - <p> - Supported by the - <a rel="noreferrer" target="_blank" class="red-link" href="https://calsta.ca.gov/" - >California State Transportation Agency</a - > - (CalSTA) and the - <a rel="noreferrer" target="_blank" class="green-link" href="https://dot.ca.gov/ " - >California Department of Transportation</a - > - (Caltrans) through a grant from the - <a - rel="noreferrer" - target="_blank" - class="blue-link" - href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog" - >California Transit and Intercity Rail Capital Program</a - > - (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and - cost-effective for everyone. - </p> - </section> +<section id="about" class="constricted"> + <h2>Bringing industry standards to California’s transit providers</h2> + <p> + 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. + </p> + <p> + The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and + increases expenses for individual providers. + </p> + <p> + Supported by the + <a rel="noreferrer" target="_blank" class="red-link" href="https://calsta.ca.gov/">California State Transportation Agency</a> + (CalSTA) and the + <a rel="noreferrer" target="_blank" class="green-link" href="https://dot.ca.gov/ ">California Department of Transportation</a> + (Caltrans) through a grant from the + <a + rel="noreferrer" + target="_blank" + class="blue-link" + href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog" + >California Transit and Intercity Rail Capital Program</a + > + (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and + cost-effective for everyone. + </p> +</section> - <picture class="railway"> - <img - id="tracks-1" - src="images/tracks-divider-1.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" - /> - </picture> +<picture class="railway"> + <img + id="tracks-1" + src="images/tracks-divider-1.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" + /> +</picture> - <section id="funfacts" class="constricted"> - <h2>Helping California achieve critical goals through transportation</h2> - <p class="important"> - 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. - </p> +<section id="funfacts" class="constricted"> + <h2>Helping California achieve critical goals through transportation</h2> + <p class="important"> + 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. + </p> - <section id="facts"> - <picture><img id="goal-1" src="images/number-1.png" alt="Number 1" /></picture> - <section> - <h3>Improve the customer experience</h3> - </section> + <section id="facts"> + <picture><img id="goal-1" src="images/number-1.png" alt="Number 1" /></picture> + <section> + <h3>Improve the customer experience</h3> + </section> - <picture><img id="goal-2" src="images/number-2.png" alt="Number 2" /></picture> - <section> - <h3>Increase transit ridership</h3> - </section> + <picture><img id="goal-2" src="images/number-2.png" alt="Number 2" /></picture> + <section> + <h3>Increase transit ridership</h3> + </section> - <picture><img id="goal-3" src="images/number-3.png" alt="Number 3" /></picture> - <section> - <h3>Lower costs for transit providers and riders</h3> - </section> + <picture><img id="goal-3" src="images/number-3.png" alt="Number 3" /></picture> + <section> + <h3>Lower costs for transit providers and riders</h3> + </section> - <picture><img id="goal-4" src="images/number-4.png" alt="Number 4" /></picture> - <section> - <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> - </section> + <picture><img id="goal-4" src="images/number-4.png" alt="Number 4" /></picture> + <section> + <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> </section> </section> +</section> - <picture class="railway"> - <img - id="tracks-2" - src="images/tracks-divider-2.png" - alt="Another decorative element with dots and dashes, meant to resemble a transit map" - /> - </picture> +<picture class="railway"> + <img + id="tracks-2" + src="images/tracks-divider-2.png" + alt="Another decorative element with dots and dashes, meant to resemble a transit map" + /> +</picture> - <section id="reachout" class="constricted"> - <h2>The time is now—reach out to help and to learn more</h2> - <p>This initiative is critical now more than ever.</p> - <p> - 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. - </p> - </section> +<section id="reachout" class="constricted"> + <h2>The time is now—reach out to help and to learn more</h2> + <p>This initiative is critical now more than ever.</p> + <p> + 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. + </p> +</section> - <section id="lastminute"> - <section id="connect" class="box"> - <section class="blob"> - <picture - ><img - src="images/connect.png" - alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" - width="80" - /></picture> - <h3>Connect with Cal-ITP</h3> - <p>Drop us a line at <a rel="noreferrer" target="_blank" href="mailto:hello@calitp.org">hello@calitp.org</a> to</p> - <ul> - <li>request technical assistance</li> - <li>get more information</li> - <li>offer collaborative support</li> - <li>join our email list for updates</li> - </ul> - </section> +<section id="lastminute"> + <section id="connect" class="box"> + <section class="blob"> + <picture + ><img + src="images/connect.png" + alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" + width="80" + /></picture> + <h3>Connect with Cal-ITP</h3> + <p>Drop us a line at <a rel="noreferrer" target="_blank" href="mailto:hello@calitp.org">hello@calitp.org</a> to</p> + <ul> + <li>request technical assistance</li> + <li>get more information</li> + <li>offer collaborative support</li> + <li>join our email list for updates</li> + </ul> </section> + </section> - <section id="update" class="box"> - <section class="blob"> - <picture - ><img - src="images/stay-up-to-date.png" - alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" - width="80" - /></picture> - <h3>Stay up to date</h3> - <p> - See our <a href="https://dot.ca.gov/cal-itp" rel="noreferrer" target="_blank">latest milestones</a>, and subscribe to - the - <a href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" rel="noreferrer" target="_blank" - >Caltrans Mobility Newsletter</a - >, a free biweekly resource with frequent Cal-ITP project updates. - </p> - </section> + <section id="update" class="box"> + <section class="blob"> + <picture + ><img + src="images/stay-up-to-date.png" + alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" + width="80" + /></picture> + <h3>Stay up to date</h3> + <p> + See our <a href="https://dot.ca.gov/cal-itp" rel="noreferrer" target="_blank">latest milestones</a>, and subscribe to the + <a href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" rel="noreferrer" target="_blank" + >Caltrans Mobility Newsletter</a + >, a free biweekly resource with frequent Cal-ITP project updates. + </p> </section> </section> -</article> +</section> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 13152269..77b7e8fc 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,8 +1,3 @@ -article { - margin-left: auto; - margin-right: auto; - width: 76vw; -} h1, h2, h3, @@ -105,7 +100,7 @@ p.important { #deck { display: grid; grid-template-rows: 1fr; - grid-template-columns: .85fr 1fr; + grid-template-columns: 0.85fr 1fr; grid-gap: 3em; line-height: 1.1; align-items: center; @@ -401,11 +396,6 @@ p.important { } } @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; @@ -474,7 +464,4 @@ p.important { position: fixed; top: 0; } - article { - margin-top: 140px; - } } From 8b369967fd39fa4904322e76e4e6826915dfa24e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:06:16 +0000 Subject: [PATCH 034/277] refactor(constricted): remove constricted, use row/col/justify-content-center instead --- src/index.html | 122 +++++++++++++++++++++------------------ src/stylesheets/main.css | 14 ----- 2 files changed, 66 insertions(+), 70 deletions(-) diff --git a/src/index.html b/src/index.html index 9b38aed4..1f758ba3 100644 --- a/src/index.html +++ b/src/index.html @@ -138,32 +138,38 @@ <h3>Standardizing information for easy trip planning</h3> </section> </section> -<section id="about" class="constricted"> - <h2>Bringing industry standards to California’s transit providers</h2> - <p> - 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. - </p> - <p> - The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and - increases expenses for individual providers. - </p> - <p> - Supported by the - <a rel="noreferrer" target="_blank" class="red-link" href="https://calsta.ca.gov/">California State Transportation Agency</a> - (CalSTA) and the - <a rel="noreferrer" target="_blank" class="green-link" href="https://dot.ca.gov/ ">California Department of Transportation</a> - (Caltrans) through a grant from the - <a - rel="noreferrer" - target="_blank" - class="blue-link" - href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog" - >California Transit and Intercity Rail Capital Program</a - > - (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and - cost-effective for everyone. - </p> +<section id="about" class="row justify-content-center"> + <div class="col-12 col-md-8 col-lg-6"> + <h2>Bringing industry standards to California’s transit providers</h2> + <p> + 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. + </p> + <p> + The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and + increases expenses for individual providers. + </p> + <p> + Supported by the + <a rel="noreferrer" target="_blank" class="red-link" href="https://calsta.ca.gov/" + >California State Transportation Agency</a + > + (CalSTA) and the + <a rel="noreferrer" target="_blank" class="green-link" href="https://dot.ca.gov/ " + >California Department of Transportation</a + > + (Caltrans) through a grant from the + <a + rel="noreferrer" + target="_blank" + class="blue-link" + href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog" + >California Transit and Intercity Rail Capital Program</a + > + (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and + cost-effective for everyone. + </p> + </div> </section> <picture class="railway"> @@ -174,34 +180,36 @@ <h2>Bringing industry standards to California’s transit providers</h2> /> </picture> -<section id="funfacts" class="constricted"> - <h2>Helping California achieve critical goals through transportation</h2> - <p class="important"> - 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. - </p> +<section id="funfacts" class="row justify-content-center"> + <div class="col-12 col-md-8 col-lg-6"> + <h2>Helping California achieve critical goals through transportation</h2> + <p class="important"> + 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. + </p> - <section id="facts"> - <picture><img id="goal-1" src="images/number-1.png" alt="Number 1" /></picture> - <section> - <h3>Improve the customer experience</h3> - </section> + <section id="facts"> + <picture><img id="goal-1" src="images/number-1.png" alt="Number 1" /></picture> + <section> + <h3>Improve the customer experience</h3> + </section> - <picture><img id="goal-2" src="images/number-2.png" alt="Number 2" /></picture> - <section> - <h3>Increase transit ridership</h3> - </section> + <picture><img id="goal-2" src="images/number-2.png" alt="Number 2" /></picture> + <section> + <h3>Increase transit ridership</h3> + </section> - <picture><img id="goal-3" src="images/number-3.png" alt="Number 3" /></picture> - <section> - <h3>Lower costs for transit providers and riders</h3> - </section> + <picture><img id="goal-3" src="images/number-3.png" alt="Number 3" /></picture> + <section> + <h3>Lower costs for transit providers and riders</h3> + </section> - <picture><img id="goal-4" src="images/number-4.png" alt="Number 4" /></picture> - <section> - <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> + <picture><img id="goal-4" src="images/number-4.png" alt="Number 4" /></picture> + <section> + <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> + </section> </section> - </section> + </div> </section> <picture class="railway"> @@ -212,13 +220,15 @@ <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> /> </picture> -<section id="reachout" class="constricted"> - <h2>The time is now—reach out to help and to learn more</h2> - <p>This initiative is critical now more than ever.</p> - <p> - 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. - </p> +<section id="reachout" class="row justify-content-center"> + <div class="col-12 col-md-8 col-lg-6"> + <h2>The time is now—reach out to help and to learn more</h2> + <p>This initiative is critical now more than ever.</p> + <p> + 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. + </p> + </div> </section> <section id="lastminute"> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 77b7e8fc..26912c36 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -201,12 +201,6 @@ p.important { text-decoration-style: dotted; } -.constricted { - width: 50vw; - margin-left: auto; - margin-right: auto; -} - #funfacts #facts { display: grid; grid-template-columns: 1fr 8fr; @@ -308,9 +302,6 @@ p.important { } @media (max-width: 1024px) { - .constricted { - width: 80vw; - } #deck { grid-template-rows: min-content 1fr; grid-template-columns: 1fr; @@ -429,11 +420,6 @@ p.important { width: 100%; border-radius: 15px; } - .constricted { - width: 90vw; - margin-left: auto; - margin-right: auto; - } #funfacts #facts { grid-template-columns: 1fr; From e8e5b779759ffb661723a3fbb8a27ea6b76d38a4 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:18:20 +0000 Subject: [PATCH 035/277] chore(devcontainer): fix config syntax --- .devcontainer/devcontainer.json | 34 ++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) 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" - ] + } } From 2dc797033930d3c0b407617a129862f4be2914a1 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:17:24 +0000 Subject: [PATCH 036/277] chore(settings): associate HTML files with Liquid --- .vscode/settings.json | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) 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" } } From 05ec5b3f62e34a26ac614110beb68f493c10c0f8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:36:47 +0000 Subject: [PATCH 037/277] refactor(index): use ol, li for numbered section --- src/index.html | 27 ++++++---------------- src/stylesheets/main.css | 48 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 22 deletions(-) diff --git a/src/index.html b/src/index.html index 1f758ba3..77e264b8 100644 --- a/src/index.html +++ b/src/index.html @@ -183,31 +183,18 @@ <h2>Bringing industry standards to California’s transit providers</h2> <section id="funfacts" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> <h2>Helping California achieve critical goals through transportation</h2> - <p class="important"> + <p> 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. </p> <section id="facts"> - <picture><img id="goal-1" src="images/number-1.png" alt="Number 1" /></picture> - <section> - <h3>Improve the customer experience</h3> - </section> - - <picture><img id="goal-2" src="images/number-2.png" alt="Number 2" /></picture> - <section> - <h3>Increase transit ridership</h3> - </section> - - <picture><img id="goal-3" src="images/number-3.png" alt="Number 3" /></picture> - <section> - <h3>Lower costs for transit providers and riders</h3> - </section> - - <picture><img id="goal-4" src="images/number-4.png" alt="Number 4" /></picture> - <section> - <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> - </section> + <ol> + <li>Improve the customer experience</li> + <li>Increase transit ridership</li> + <li>Lower costs for transit providers and riders</li> + <li>Reduce greenhouse gas emissions to reach environmental targets</li> + </ol> </section> </div> </section> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 26912c36..c06bd628 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -201,6 +201,15 @@ p.important { text-decoration-style: dotted; } +<<<<<<< HEAD +======= +.constricted { + width: 50vw; + margin-left: auto; + margin-right: auto; +} +/* +>>>>>>> b4b65cf (refactor(index): use ol, li for numbered section) #funfacts #facts { display: grid; grid-template-columns: 1fr 8fr; @@ -215,6 +224,41 @@ p.important { #funfacts picture img { width: 100%; +} */ + +#facts ol { + list-style: none; + overflow: hidden; + counter-reset: numList; +} + +#facts ol li { + position: relative; + font-weight: 700; + line-height: 40px; + padding-left: 40px; + padding-top: 14px; +} + +#facts ol li:before { + counter-increment: numList; + content: counter(numList); + + float: left; + position: absolute; + left: -20px; + + font-weight: 700; + font-size: 16px; + text-align: center; + color: #fff; + + line-height: 40px; + width: 40px; + height: 40px; + + background: #f0f; + border-radius: 50%; } #about { @@ -421,7 +465,7 @@ p.important { border-radius: 15px; } - #funfacts #facts { + /* #funfacts #facts { grid-template-columns: 1fr; grid-template-rows: min-content 1fr; grid-gap: 1em; @@ -431,7 +475,7 @@ p.important { } #funfacts #facts img { width: 52px; - } + } */ .blob { padding: 1em; } From f0623901d4a5b1146ef7670fb16dd8295eb2db49 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:37:53 +0000 Subject: [PATCH 038/277] chore: delete unused images --- src/images/number-1.png | Bin 2755 -> 0 bytes src/images/number-2.png | Bin 3256 -> 0 bytes src/images/number-3.png | Bin 3433 -> 0 bytes src/images/number-4.png | Bin 3154 -> 0 bytes src/images/number-5.png | Bin 3414 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/images/number-1.png delete mode 100644 src/images/number-2.png delete mode 100644 src/images/number-3.png delete mode 100644 src/images/number-4.png delete mode 100644 src/images/number-5.png diff --git a/src/images/number-1.png b/src/images/number-1.png deleted file mode 100644 index 6191cd84915ace7fdc590377a78f6a79a1a25ebe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2755 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 JPDHLkV1mTgQ{4an diff --git a/src/images/number-2.png b/src/images/number-2.png deleted file mode 100644 index 369b6f6074ffdf72998af249e16e693f4e7f0ff7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3256 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 diff --git a/src/images/number-3.png b/src/images/number-3.png deleted file mode 100644 index af70fa8fe6b4a5ca2a47ea9dd0ba07e12037d76b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3433 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 LNkvXXu0mjfkiu+R diff --git a/src/images/number-4.png b/src/images/number-4.png deleted file mode 100644 index d76c025930afbd6d8d6645be813e0cec35bd9d71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3154 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 diff --git a/src/images/number-5.png b/src/images/number-5.png deleted file mode 100644 index a3e6c977a2b84f6f203ed36878e0f03d2e244a39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3414 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 From 7d50c10512a83c6bac7ddbe83c0823338bb15047 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:38:27 +0000 Subject: [PATCH 039/277] chore: remove unused css --- src/stylesheets/main.css | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c06bd628..1f49a0ac 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -201,30 +201,11 @@ p.important { text-decoration-style: dotted; } -<<<<<<< HEAD -======= .constricted { width: 50vw; margin-left: auto; margin-right: auto; } -/* ->>>>>>> b4b65cf (refactor(index): use ol, li for numbered section) -#funfacts #facts { - display: grid; - grid-template-columns: 1fr 8fr; - grid-template-rows: 1fr; - grid-gap: 2em; -} - -#funfacts #facts picture { - text-align: center; - margin-top: 1.5em; -} - -#funfacts picture img { - width: 100%; -} */ #facts ol { list-style: none; @@ -465,17 +446,6 @@ p.important { border-radius: 15px; } - /* #funfacts #facts { - grid-template-columns: 1fr; - grid-template-rows: min-content 1fr; - grid-gap: 1em; - } - #funfacts #facts picture { - text-align: initial; - } - #funfacts #facts img { - width: 52px; - } */ .blob { padding: 1em; } From 97561c85501484d10119a8a3ce216cff74e5e79a Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:42:15 +0000 Subject: [PATCH 040/277] fix(index): numbered section color --- src/stylesheets/main.css | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 1f49a0ac..4364c596 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -224,24 +224,36 @@ p.important { #facts ol li:before { counter-increment: numList; content: counter(numList); - float: left; position: absolute; left: -20px; - font-weight: 700; font-size: 16px; text-align: center; color: #fff; - line-height: 40px; width: 40px; height: 40px; - background: #f0f; border-radius: 50%; } +#facts ol li:nth-child(1):before { + background: #046b99; +} + +#facts ol li:nth-child(2):before { + background: #c8700a; +} + +#facts ol li:nth-child(3):before { + background: #db5461; +} + +#facts ol li:nth-child(4):before { + background: #4c387a; +} + #about { padding-top: 80px; } From 22f877b1f15dd713e98413ae8e0c1b32e96e4ce9 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:45:05 +0000 Subject: [PATCH 041/277] fix(index): don't use lineheight for mobile --- src/stylesheets/main.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4364c596..7a8cb8d1 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -209,16 +209,15 @@ p.important { #facts ol { list-style: none; - overflow: hidden; counter-reset: numList; } #facts ol li { position: relative; font-weight: 700; - line-height: 40px; padding-left: 40px; - padding-top: 14px; + padding-top: 20px; + margin-top: 20px; } #facts ol li:before { From 8007ec364a852f27513347a169d964663ca8800a Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 18:47:06 +0000 Subject: [PATCH 042/277] fix(index): update copy for numbered section --- src/index.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/index.html b/src/index.html index 77e264b8..3ad8eeab 100644 --- a/src/index.html +++ b/src/index.html @@ -183,17 +183,17 @@ <h2>Bringing industry standards to California’s transit providers</h2> <section id="funfacts" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> <h2>Helping California achieve critical goals through transportation</h2> - <p> - 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. - </p> + <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> <section id="facts"> <ol> - <li>Improve the customer experience</li> - <li>Increase transit ridership</li> - <li>Lower costs for transit providers and riders</li> - <li>Reduce greenhouse gas emissions to reach environmental targets</li> + <li>It invites travelers toward more efficient and sustainable modes of travel,</li> + <li>reduces operating costs for transit agencies,</li> + <li>simplifies every traveler’s life, and</li> + <li> + 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. + </li> </ol> </section> </div> From 3a75a0d4ded5c7ea4931c2cc1e9653e0fed1b1e2 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 20:47:32 +0000 Subject: [PATCH 043/277] fix(section): remove extra section, use div instead --- src/index.html | 119 ++++++++++++++++++++++++------------------------- 1 file changed, 59 insertions(+), 60 deletions(-) diff --git a/src/index.html b/src/index.html index 3ad8eeab..0334cfab 100644 --- a/src/index.html +++ b/src/index.html @@ -16,8 +16,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> <img id="triforce" src="images/hero-header.png" - 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" - /> + 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" /> </picture> </section> @@ -25,15 +24,13 @@ <h1>A modern and consistent transportation experience throughout California</h1> <img id="tracks-0" src="images/tracks-divider-0.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" - /> + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> <picture class="railway d-md-none"> <img id="tracks-0-sm" src="images/tracks-divider-0-sm.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" - /> + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> <section id="details"> @@ -43,8 +40,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> <img 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="142" - /> + width="142" /> </picture> <section class="right-callout"> <h3>Enabling contactless payments</h3> @@ -57,17 +53,15 @@ <h3>Enabling contactless payments</h3> <a href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" rel="noreferrer" - target="_blank" - >Monterey-Salinas Transit</a - >, Cal-ITP and partners like Visa are demonstrating how a transit provider that has traditionally used cash and + target="_blank">Monterey-Salinas Transit</a>, 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. </p> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -78,31 +72,33 @@ <h3>Enabling contactless payments</h3> <section id="automating-customer-discounts" class="box"> <section class="callout"> <picture> - <img src="images/automating-customer-discounts.png" alt="Checking a state-issued identification" width="131" /> + <img + src="images/automating-customer-discounts.png" + alt="Checking a state-issued identification" + width="131" /> </picture> <section class="right-callout"> <h3>Automating customer discounts</h3> <p> - Our <a rel="noreferrer" target="_blank" href="https://benefits.calitp.org">Cal-ITP Benefits</a> web application - streamlines the process for transit riders to instantly qualify for and receive discounts, starting with + Our <a rel="noreferrer" target="_blank" - href="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/" - >Monterey-Salinas Transit</a - > - (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to + href="https://benefits.calitp.org">Cal-ITP Benefits</a> + web application + streamlines the process for transit riders to instantly qualify for and receive discounts, starting with <a - href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" + rel="noreferrer" target="_blank" - >electronically verify their identity</a - > + href="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/">Monterey-Salinas Transit</a> + (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to + <a href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" target="_blank">electronically verify their identity</a> are able to access MST's reduced fares without the hassle of paperwork. </p> <p> 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. + transit providers, without having to prove eligibility to each agency. </p> </section> </section> @@ -114,24 +110,21 @@ <h3>Automating customer discounts</h3> <img src="images/standardizing-trip-quality.png" alt="A bus that transits real-time arrival and departure information" - width="106" - /> + width="106" /> </picture> <section class="right-callout"> <h3>Standardizing information for easy trip planning</h3> <p> 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 + publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" - href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines" - >California Minimum GTFS Guidelines</a - > + href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. </p> </section> </section> @@ -151,21 +144,23 @@ <h2>Bringing industry standards to California’s transit providers</h2> </p> <p> Supported by the - <a rel="noreferrer" target="_blank" class="red-link" href="https://calsta.ca.gov/" - >California State Transportation Agency</a - > + <a + rel="noreferrer" + target="_blank" + class="red-link" + href="https://calsta.ca.gov/">California State Transportation Agency</a> (CalSTA) and the - <a rel="noreferrer" target="_blank" class="green-link" href="https://dot.ca.gov/ " - >California Department of Transportation</a - > + <a + rel="noreferrer" + target="_blank" + class="green-link" + href="https://dot.ca.gov/ ">California Department of Transportation</a> (Caltrans) through a grant from the <a rel="noreferrer" target="_blank" class="blue-link" - href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog" - >California Transit and Intercity Rail Capital Program</a - > + href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog">California Transit and Intercity Rail Capital Program</a> (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and cost-effective for everyone. </p> @@ -176,8 +171,7 @@ <h2>Bringing industry standards to California’s transit providers</h2> <img id="tracks-1" src="images/tracks-divider-1.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" - /> + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> <section id="funfacts" class="row justify-content-center"> @@ -185,7 +179,7 @@ <h2>Bringing industry standards to California’s transit providers</h2> <h2>Helping California achieve critical goals through transportation</h2> <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> - <section id="facts"> + <div id="facts"> <ol> <li>It invites travelers toward more efficient and sustainable modes of travel,</li> <li>reduces operating costs for transit agencies,</li> @@ -195,7 +189,7 @@ <h2>Helping California achieve critical goals through transportation</h2> transit ride just as easy as buying coffee. </li> </ol> - </section> + </div> </div> </section> @@ -203,8 +197,7 @@ <h2>Helping California achieve critical goals through transportation</h2> <img id="tracks-2" src="images/tracks-divider-2.png" - alt="Another decorative element with dots and dashes, meant to resemble a transit map" - /> + alt="Another decorative element with dots and dashes, meant to resemble a transit map" /> </picture> <section id="reachout" class="row justify-content-center"> @@ -221,14 +214,17 @@ <h2>The time is now—reach out to help and to learn more</h2> <section id="lastminute"> <section id="connect" class="box"> <section class="blob"> - <picture - ><img + <picture><img src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" - width="80" - /></picture> + width="80" /></picture> <h3>Connect with Cal-ITP</h3> - <p>Drop us a line at <a rel="noreferrer" target="_blank" href="mailto:hello@calitp.org">hello@calitp.org</a> to</p> + <p>Drop us a line at + <a + rel="noreferrer" + target="_blank" + href="mailto:hello@calitp.org">hello@calitp.org</a> + to</p> <ul> <li>request technical assistance</li> <li>get more information</li> @@ -240,18 +236,21 @@ <h3>Connect with Cal-ITP</h3> <section id="update" class="box"> <section class="blob"> - <picture - ><img + <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" - width="80" - /></picture> + width="80" /></picture> <h3>Stay up to date</h3> <p> - See our <a href="https://dot.ca.gov/cal-itp" rel="noreferrer" target="_blank">latest milestones</a>, and subscribe to the - <a href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" rel="noreferrer" target="_blank" - >Caltrans Mobility Newsletter</a - >, a free biweekly resource with frequent Cal-ITP project updates. + See our + <a + href="https://dot.ca.gov/cal-itp" + rel="noreferrer" + target="_blank">latest milestones</a>, and subscribe to the + <a + href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" + rel="noreferrer" + target="_blank">Caltrans Mobility Newsletter</a>, a free biweekly resource with frequent Cal-ITP project updates. </p> </section> </section> From 62c59c244f70259ad0cee6b18158e4e50163d62f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 20:48:04 +0000 Subject: [PATCH 044/277] chore: delete unused css --- src/stylesheets/main.css | 1 - 1 file changed, 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 7a8cb8d1..7f0b2916 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -233,7 +233,6 @@ p.important { line-height: 40px; width: 40px; height: 40px; - background: #f0f; border-radius: 50%; } From 0ed1ccf3d53ab41e3254c790638cccac8d586791 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:07:53 +0000 Subject: [PATCH 045/277] refactor(index): use flexbox instead of hard-coded margin/padding --- src/index.html | 12 +++++++----- src/stylesheets/main.css | 10 +++------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/index.html b/src/index.html index 0334cfab..94ee2534 100644 --- a/src/index.html +++ b/src/index.html @@ -180,11 +180,13 @@ <h2>Helping California achieve critical goals through transportation</h2> <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> <div id="facts"> - <ol> - <li>It invites travelers toward more efficient and sustainable modes of travel,</li> - <li>reduces operating costs for transit agencies,</li> - <li>simplifies every traveler’s life, and</li> - <li> + <ol class="d-flex flex-column"> + <li class="d-flex align-items-md-center align-items-top"> + It invites travelers toward more efficient and sustainable modes of travel, + </li> + <li class="d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> + <li class="d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> + <li class="d-flex align-items-md-center align-items-top"> 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. </li> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 7f0b2916..4a55efc6 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -210,22 +210,17 @@ p.important { #facts ol { list-style: none; counter-reset: numList; + gap: 20px; } #facts ol li { - position: relative; font-weight: 700; - padding-left: 40px; - padding-top: 20px; - margin-top: 20px; + gap: 12px; } #facts ol li:before { counter-increment: numList; content: counter(numList); - float: left; - position: absolute; - left: -20px; font-weight: 700; font-size: 16px; text-align: center; @@ -234,6 +229,7 @@ p.important { width: 40px; height: 40px; border-radius: 50%; + flex-shrink: 0; } #facts ol li:nth-child(1):before { From 4ae00230013d81d2382881286b5e24912a99b810 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:14:07 +0000 Subject: [PATCH 046/277] feat(index): add mobile-first track divider image 1 --- src/images/tracks-divider-1-sm.png | Bin 0 -> 16542 bytes src/index.html | 25 +++++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 src/images/tracks-divider-1-sm.png diff --git a/src/images/tracks-divider-1-sm.png b/src/images/tracks-divider-1-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..1a875b1ff897c2d91e2ea5c7a6df0fa491ed8784 GIT binary patch literal 16542 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%0DbnztUPQ%2$w?mu8f<14E9~C0y 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 Gi2noV9E4i{ literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index 94ee2534..87feb172 100644 --- a/src/index.html +++ b/src/index.html @@ -59,9 +59,9 @@ <h3>Enabling contactless payments</h3> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -98,7 +98,7 @@ <h3>Automating customer discounts</h3> <p> 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. + transit providers, without having to prove eligibility to each agency. </p> </section> </section> @@ -117,14 +117,14 @@ <h3>Standardizing information for easy trip planning</h3> <p> 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 + publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. </p> </section> </section> @@ -195,6 +195,19 @@ <h2>Helping California achieve critical goals through transportation</h2> </div> </section> +<picture class="railway d-none d-md-block"> + <img + id="tracks-1" + src="images/tracks-divider-1.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> +</picture> +<picture class="railway d-md-none"> + <img + id="tracks-0-sm" + src="images/tracks-divider-1-sm.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> +</picture> + <picture class="railway"> <img id="tracks-2" From 118721842b6b2e19767d4062d180968b35274382 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:16:41 +0000 Subject: [PATCH 047/277] fix(index): center the h2 on mobile --- src/index.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/index.html b/src/index.html index 87feb172..4174b56b 100644 --- a/src/index.html +++ b/src/index.html @@ -59,9 +59,9 @@ <h3>Enabling contactless payments</h3> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -98,7 +98,7 @@ <h3>Automating customer discounts</h3> <p> 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. + transit providers, without having to prove eligibility to each agency. </p> </section> </section> @@ -117,14 +117,14 @@ <h3>Standardizing information for easy trip planning</h3> <p> 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 + publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. </p> </section> </section> @@ -176,7 +176,7 @@ <h2>Bringing industry standards to California’s transit providers</h2> <section id="funfacts" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> - <h2>Helping California achieve critical goals through transportation</h2> + <h2 class="text-center text-md-start">Helping California achieve critical goals through transportation</h2> <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> <div id="facts"> From 0fc53bda0002aff57c38ff9b69fef09487ac3fdc Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:37:07 +0000 Subject: [PATCH 048/277] chore: lint --- src/index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index 4174b56b..5312061d 100644 --- a/src/index.html +++ b/src/index.html @@ -59,9 +59,9 @@ <h3>Enabling contactless payments</h3> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -98,7 +98,7 @@ <h3>Automating customer discounts</h3> <p> 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. + transit providers, without having to prove eligibility to each agency. </p> </section> </section> @@ -117,14 +117,14 @@ <h3>Standardizing information for easy trip planning</h3> <p> 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 + publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. </p> </section> </section> From 755c7635da02a7ed451783ecf55bda617e5fd3ed Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:43:23 +0000 Subject: [PATCH 049/277] fix(index): the big re-order --- src/index.html | 159 +++++++++++++++++++++++-------------------------- 1 file changed, 76 insertions(+), 83 deletions(-) diff --git a/src/index.html b/src/index.html index 5312061d..18fe0cb6 100644 --- a/src/index.html +++ b/src/index.html @@ -33,6 +33,76 @@ <h1>A modern and consistent transportation experience throughout California</h1> alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> +<section id="about" class="row justify-content-center"> + <div class="col-12 col-md-8 col-lg-6"> + <h2>Bringing industry standards to California’s transit providers</h2> + <p> + 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. + </p> + <p> + The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and + increases expenses for individual providers. + </p> + <p> + Supported by the + <a + rel="noreferrer" + target="_blank" + class="red-link" + href="https://calsta.ca.gov/">California State Transportation Agency</a> + (CalSTA) and the + <a + rel="noreferrer" + target="_blank" + class="green-link" + href="https://dot.ca.gov/ ">California Department of Transportation</a> + (Caltrans) through a grant from the + <a + rel="noreferrer" + target="_blank" + class="blue-link" + href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog">California Transit and Intercity Rail Capital Program</a> + (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and + cost-effective for everyone. + </p> + </div> +</section> + +<section id="funfacts" class="row justify-content-center"> + <div class="col-12 col-md-8 col-lg-6"> + <h2 class="text-center text-md-start">Helping California achieve critical goals through transportation</h2> + <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> + + <div id="facts"> + <ol class="d-flex flex-column"> + <li class="d-flex align-items-md-center align-items-top"> + It invites travelers toward more efficient and sustainable modes of travel, + </li> + <li class="d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> + <li class="d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> + <li class="d-flex align-items-md-center align-items-top"> + 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. + </li> + </ol> + </div> + </div> +</section> + +<picture class="railway d-none d-md-block"> + <img + id="tracks-1" + src="images/tracks-divider-1.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> +</picture> +<picture class="railway d-md-none"> + <img + id="tracks-0-sm" + src="images/tracks-divider-1-sm.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> +</picture> + <section id="details"> <section id="enabling-contactless-payment" class="box"> <section class="callout"> @@ -59,9 +129,9 @@ <h3>Enabling contactless payments</h3> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -98,7 +168,7 @@ <h3>Automating customer discounts</h3> <p> 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. + transit providers, without having to prove eligibility to each agency. </p> </section> </section> @@ -117,97 +187,20 @@ <h3>Standardizing information for easy trip planning</h3> <p> 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 + publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. </p> </section> </section> </section> </section> -<section id="about" class="row justify-content-center"> - <div class="col-12 col-md-8 col-lg-6"> - <h2>Bringing industry standards to California’s transit providers</h2> - <p> - 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. - </p> - <p> - The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and - increases expenses for individual providers. - </p> - <p> - Supported by the - <a - rel="noreferrer" - target="_blank" - class="red-link" - href="https://calsta.ca.gov/">California State Transportation Agency</a> - (CalSTA) and the - <a - rel="noreferrer" - target="_blank" - class="green-link" - href="https://dot.ca.gov/ ">California Department of Transportation</a> - (Caltrans) through a grant from the - <a - rel="noreferrer" - target="_blank" - class="blue-link" - href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog">California Transit and Intercity Rail Capital Program</a> - (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and - cost-effective for everyone. - </p> - </div> -</section> - -<picture class="railway"> - <img - id="tracks-1" - src="images/tracks-divider-1.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" /> -</picture> - -<section id="funfacts" class="row justify-content-center"> - <div class="col-12 col-md-8 col-lg-6"> - <h2 class="text-center text-md-start">Helping California achieve critical goals through transportation</h2> - <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> - - <div id="facts"> - <ol class="d-flex flex-column"> - <li class="d-flex align-items-md-center align-items-top"> - It invites travelers toward more efficient and sustainable modes of travel, - </li> - <li class="d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> - <li class="d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> - <li class="d-flex align-items-md-center align-items-top"> - 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. - </li> - </ol> - </div> - </div> -</section> - -<picture class="railway d-none d-md-block"> - <img - id="tracks-1" - src="images/tracks-divider-1.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" /> -</picture> -<picture class="railway d-md-none"> - <img - id="tracks-0-sm" - src="images/tracks-divider-1-sm.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" /> -</picture> - <picture class="railway"> <img id="tracks-2" From f00f1ef248a10e61019d282c2a78fc60e3fe3b65 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:47:38 +0000 Subject: [PATCH 050/277] fix(index): correct the padding below/above the purple dots --- src/stylesheets/main.css | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4a55efc6..a768de49 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -32,8 +32,7 @@ li { picture.railway img { width: 100%; - margin-top: 4em; - margin-bottom: 4em; + margin: 7.25rem 0; } header { @@ -105,7 +104,6 @@ p.important { line-height: 1.1; align-items: center; justify-items: center; - padding-bottom: 50px; } .big { @@ -248,12 +246,10 @@ p.important { background: #4c387a; } -#about { - padding-top: 80px; -} #funfacts { padding-top: 80px; } + #reachout { padding-top: 80px; } @@ -324,10 +320,6 @@ p.important { text-align: right; } -#about h2 { - margin-top: 50px; -} - #hamburger { display: none; } From d37adc8d5776ddd82672ca7d9655a79c7cf3ce87 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:48:44 +0000 Subject: [PATCH 051/277] fix(index): h2 is centered on mobile --- src/index.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/index.html b/src/index.html index 18fe0cb6..35d0e98d 100644 --- a/src/index.html +++ b/src/index.html @@ -35,7 +35,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> <section id="about" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> - <h2>Bringing industry standards to California’s transit providers</h2> + <h2 class="text-center text-md-start">Bringing industry standards to California’s transit providers</h2> <p> 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. @@ -129,9 +129,9 @@ <h3>Enabling contactless payments</h3> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -168,7 +168,7 @@ <h3>Automating customer discounts</h3> <p> 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. + transit providers, without having to prove eligibility to each agency. </p> </section> </section> @@ -187,14 +187,14 @@ <h3>Standardizing information for easy trip planning</h3> <p> 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 + publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. </p> </section> </section> From 52af5643b213f57e4225e5f79be3312bb17ee482 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 21:59:44 +0000 Subject: [PATCH 052/277] fix(index): padding on mobile/desktop for images and between sections --- src/index.html | 14 +++++++------- src/stylesheets/main.css | 13 ++++++++----- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/index.html b/src/index.html index 35d0e98d..80474423 100644 --- a/src/index.html +++ b/src/index.html @@ -33,7 +33,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> -<section id="about" class="row justify-content-center"> +<section id="about" class="row justify-content-center pb-md-3 mb-md-2 pb-4 mb-3"> <div class="col-12 col-md-8 col-lg-6"> <h2 class="text-center text-md-start">Bringing industry standards to California’s transit providers</h2> <p> @@ -129,9 +129,9 @@ <h3>Enabling contactless payments</h3> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -168,7 +168,7 @@ <h3>Automating customer discounts</h3> <p> 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. + transit providers, without having to prove eligibility to each agency. </p> </section> </section> @@ -187,14 +187,14 @@ <h3>Standardizing information for easy trip planning</h3> <p> 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 + publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + so riders can easily access complete, accurate, consistent, and timely mobility data for their journey. </p> </section> </section> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index a768de49..282225cb 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -246,10 +246,6 @@ p.important { background: #4c387a; } -#funfacts { - padding-top: 80px; -} - #reachout { padding-top: 80px; } @@ -378,6 +374,11 @@ p.important { } @media (max-width: 768px) { + picture.railway img { + width: 100%; + margin: 4.5rem 0; + } + header nav, footer nav { display: grid; @@ -409,6 +410,7 @@ p.important { grid-template-columns: 1fr; } } + @media (max-width: 540px) { header nav .links.visible { grid-template-rows: repeat(3, min-content); @@ -448,13 +450,14 @@ p.important { padding: 1em; } } + @media (min-width: 1441px) { #details { justify-items: center; } } + @media (min-width: 1024px) { - #funfacts, #reachout { padding-top: 100px; } From 805ec37d212ac1e36088f3bf75a5e39a334fe3f3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 22:18:39 +0000 Subject: [PATCH 053/277] chore: fix bad rebase --- src/stylesheets/main.css | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 282225cb..fcc757a5 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -199,12 +199,6 @@ p.important { text-decoration-style: dotted; } -.constricted { - width: 50vw; - margin-left: auto; - margin-right: auto; -} - #facts ol { list-style: none; counter-reset: numList; From 39cbe506ffad35cf41a431f4989dd1877f4ab522 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 22:20:31 +0000 Subject: [PATCH 054/277] chore: spacing --- src/index.html | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/index.html b/src/index.html index 80474423..66ad7293 100644 --- a/src/index.html +++ b/src/index.html @@ -128,10 +128,7 @@ <h3>Enabling contactless payments</h3> </p> <p> 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 + 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 <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. </p> @@ -167,8 +164,7 @@ <h3>Automating customer discounts</h3> </p> <p> 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. + 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. </p> </section> </section> @@ -186,15 +182,13 @@ <h3>Automating customer discounts</h3> <h3>Standardizing information for easy trip planning</h3> <p> 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 + if they’ll make their connection by using the General Transit Feed Specification (GTFS)—the global standard for publishing transit information. Cal-ITP developed <a rel="noreferrer" target="_blank" href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> 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. + 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. </p> </section> </section> From 2fd72822695c2b6dd50837a27b8d49b0d0dbadd2 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 16:26:36 +0000 Subject: [PATCH 055/277] fix(copy): remove It --- src/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 66ad7293..bb7011e9 100644 --- a/src/index.html +++ b/src/index.html @@ -77,7 +77,7 @@ <h2 class="text-center text-md-start">Helping California achieve critical goals <div id="facts"> <ol class="d-flex flex-column"> <li class="d-flex align-items-md-center align-items-top"> - It invites travelers toward more efficient and sustainable modes of travel, + invites travelers toward more efficient and sustainable modes of travel, </li> <li class="d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> <li class="d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> From 3264c12f2f040cd7d7d3bba17d6902fdff38425f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 22:04:57 +0000 Subject: [PATCH 056/277] fix(header): use container, not container-fluid --- src/_includes/new.html | 37 +++++++++++++++++++++++++++++++++++++ src/_layouts/default.html | 11 ++++++++--- 2 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 src/_includes/new.html diff --git a/src/_includes/new.html b/src/_includes/new.html new file mode 100644 index 00000000..d996401c --- /dev/null +++ b/src/_includes/new.html @@ -0,0 +1,37 @@ +<header class=""> + <nav class="navbar navbar-expand-lg"> + <div class="container-fluid"> + <a class="navbar-brand" href="/"> + <img src="/images/calitp_logo_MAIN.png" alt="Cal-ITP: California Integrated Travel Project" width="160" /> + </a> + <button + class="navbar-toggler collapsed" + type="button" + data-bs-toggle="collapse" + data-bs-target="#mainNav" + aria-controls="mainNav" + aria-expanded="false" + aria-label="Toggle navigation" + > + <span class="navbar-toggler-icon"></span> + </button> + + <div class="navbar-collapse collapse justify-content-end" id="mainNav"> + <ul class="navbar-nav mb-2 mb-lg-0"> + <li class="nav-item"> + <a class="nav-link active" aria-current="page" href="#">Home</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Press</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Reach out</a> + </li> + </ul> + </div> + </div> + </nav> +</header> diff --git a/src/_layouts/default.html b/src/_layouts/default.html index d21085c6..cb12aeaa 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -1,12 +1,17 @@ <!DOCTYPE html> <html lang="en"> <head> - {% include meta.html %} {% include styles.html %} {%include analytics.html %} + {% include meta.html %} {% include styles.html %} {% include analytics.html %} </head> <body> - {% include header.html %} - <main class="container">{{content}}</main> + {% include new.html %} + <main class="container">{{ content }}</main> {% include footer.html %} + + <script + src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" + integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" + crossorigin="anonymous"></script> </body> </html> From 4f69f2f58bd784b491b9e42231d71df71eb6e4ef Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 16:34:12 +0000 Subject: [PATCH 057/277] chore: delete extraneous css --- src/_includes/new.html | 4 ++-- src/stylesheets/main.css | 35 ----------------------------------- 2 files changed, 2 insertions(+), 37 deletions(-) diff --git a/src/_includes/new.html b/src/_includes/new.html index d996401c..cd0a8d10 100644 --- a/src/_includes/new.html +++ b/src/_includes/new.html @@ -1,5 +1,5 @@ -<header class=""> - <nav class="navbar navbar-expand-lg"> +<header> + <nav class="navbar navbar-expand-lg fixed-top bg-white"> <div class="container-fluid"> <a class="navbar-brand" href="/"> <img src="/images/calitp_logo_MAIN.png" alt="Cal-ITP: California Integrated Travel Project" width="160" /> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index fcc757a5..9c135a2c 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -35,11 +35,6 @@ picture.railway img { margin: 7.25rem 0; } -header { - background-color: white; - width: 100vw; -} - footer { background-color: #212121; } @@ -58,7 +53,6 @@ nav ul { padding-left: initial; } -header nav, footer nav { margin-left: auto; margin-right: auto; @@ -69,11 +63,6 @@ footer nav { align-items: center; } -header nav { - grid-template-columns: 7fr 1fr; -} - -header nav .links, footer nav .links { list-style: none; display: grid; @@ -373,24 +362,12 @@ p.important { margin: 4.5rem 0; } - header nav, footer nav { display: grid; grid-template-rows: 1fr min-content; grid-template-columns: 1fr 1fr; justify-items: center; } - header nav #hamburger { - display: initial; - } - header nav .links { - display: none; - } - header nav .links.visible { - display: grid; - grid-column: 1/-1; - text-align: center; - } footer nav { grid-template-columns: 1fr; justify-items: left; @@ -406,14 +383,6 @@ p.important { } @media (max-width: 540px) { - 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; justify-items: left; @@ -455,8 +424,4 @@ p.important { #reachout { padding-top: 100px; } - header { - position: fixed; - top: 0; - } } From e880d781b6bcd326949e73b6d376b6ed2f87ef57 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 16:21:56 +0000 Subject: [PATCH 058/277] fix(header): use container, not container-fluid --- src/_includes/new.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/new.html b/src/_includes/new.html index cd0a8d10..40b8b168 100644 --- a/src/_includes/new.html +++ b/src/_includes/new.html @@ -1,6 +1,6 @@ <header> <nav class="navbar navbar-expand-lg fixed-top bg-white"> - <div class="container-fluid"> + <div class="container"> <a class="navbar-brand" href="/"> <img src="/images/calitp_logo_MAIN.png" alt="Cal-ITP: California Integrated Travel Project" width="160" /> </a> From 35604c4befd5dde6e366b9f90860a0e3c7d8711a Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 22:06:38 +0000 Subject: [PATCH 059/277] refactor(header): replace old with new --- src/_includes/header.html | 71 ++++++++++++++++++--------------------- src/_includes/new.html | 37 -------------------- src/_layouts/default.html | 2 +- 3 files changed, 34 insertions(+), 76 deletions(-) delete mode 100644 src/_includes/new.html diff --git a/src/_includes/header.html b/src/_includes/header.html index 08cc2bf8..40b8b168 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -1,42 +1,37 @@ <header> - <nav> - <picture> - <a href="/"> - <img src="images/calitp_logo_MAIN.png" alt="Cal-ITP: California Integrated Travel Project" width="215" /> + <nav class="navbar navbar-expand-lg fixed-top bg-white"> + <div class="container"> + <a class="navbar-brand" href="/"> + <img src="/images/calitp_logo_MAIN.png" alt="Cal-ITP: California Integrated Travel Project" width="160" /> </a> - </picture> - <button - id="hamburger" - onclick="event.preventDefault(); document.querySelector('#hamburger + .links').classList.toggle('visible')" - > - <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg"> - <rect x="12" y="14" width="27" height="4" rx="2" fill="#323A45" /> - <rect x="12" y="23" width="27" height="4" rx="2" fill="#323A45" /> - <rect x="12" y="32" width="27" height="4" rx="2" fill="#323A45" /> - </svg> - </button> - <ul class="links"> - <li> - <a - href="#about" - onclick="event.preventDefault(); document.querySelector(this.hash).scrollIntoView({behavior: 'smooth'}); window.location.hash = this.hash;" - ><strong>About the project</strong></a - > - </li> - <li> - <a - href="#funfacts" - onclick="event.preventDefault(); document.querySelector(this.hash).scrollIntoView({behavior: 'smooth'}); window.location.hash = this.hash;" - >Fast facts</a - > - </li> - <li> - <a - href="#reachout" - onclick="event.preventDefault(); document.querySelector(this.hash).scrollIntoView({behavior: 'smooth'}); window.location.hash = this.hash;" - >Reach out</a - > - </li> - </ul> + <button + class="navbar-toggler collapsed" + type="button" + data-bs-toggle="collapse" + data-bs-target="#mainNav" + aria-controls="mainNav" + aria-expanded="false" + aria-label="Toggle navigation" + > + <span class="navbar-toggler-icon"></span> + </button> + + <div class="navbar-collapse collapse justify-content-end" id="mainNav"> + <ul class="navbar-nav mb-2 mb-lg-0"> + <li class="nav-item"> + <a class="nav-link active" aria-current="page" href="#">Home</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Press</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="#">Reach out</a> + </li> + </ul> + </div> + </div> </nav> </header> diff --git a/src/_includes/new.html b/src/_includes/new.html deleted file mode 100644 index 40b8b168..00000000 --- a/src/_includes/new.html +++ /dev/null @@ -1,37 +0,0 @@ -<header> - <nav class="navbar navbar-expand-lg fixed-top bg-white"> - <div class="container"> - <a class="navbar-brand" href="/"> - <img src="/images/calitp_logo_MAIN.png" alt="Cal-ITP: California Integrated Travel Project" width="160" /> - </a> - <button - class="navbar-toggler collapsed" - type="button" - data-bs-toggle="collapse" - data-bs-target="#mainNav" - aria-controls="mainNav" - aria-expanded="false" - aria-label="Toggle navigation" - > - <span class="navbar-toggler-icon"></span> - </button> - - <div class="navbar-collapse collapse justify-content-end" id="mainNav"> - <ul class="navbar-nav mb-2 mb-lg-0"> - <li class="nav-item"> - <a class="nav-link active" aria-current="page" href="#">Home</a> - </li> - <li class="nav-item"> - <a class="nav-link" href="#">Resources</a> - </li> - <li class="nav-item"> - <a class="nav-link" href="#">Press</a> - </li> - <li class="nav-item"> - <a class="nav-link" href="#">Reach out</a> - </li> - </ul> - </div> - </div> - </nav> -</header> diff --git a/src/_layouts/default.html b/src/_layouts/default.html index cb12aeaa..48951b0c 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -5,7 +5,7 @@ </head> <body> - {% include new.html %} + {% include header.html %} <main class="container">{{ content }}</main> {% include footer.html %} From 65cc3122e0cf03b0c80e419e3f579919ca8f7e1f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 16:35:16 +0000 Subject: [PATCH 060/277] chore: delete extraneous css --- src/_includes/header.html | 8 ++++---- src/stylesheets/main.css | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index 40b8b168..bfdd9fd6 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -19,16 +19,16 @@ <div class="navbar-collapse collapse justify-content-end" id="mainNav"> <ul class="navbar-nav mb-2 mb-lg-0"> <li class="nav-item"> - <a class="nav-link active" aria-current="page" href="#">Home</a> + <a class="h4 nav-link active" aria-current="page" href="#">About the project</a> </li> <li class="nav-item"> - <a class="nav-link" href="#">Resources</a> + <a class="h4 nav-link" href="#">Resources</a> </li> <li class="nav-item"> - <a class="nav-link" href="#">Press</a> + <a class="h4 nav-link" href="#">Press</a> </li> <li class="nav-item"> - <a class="nav-link" href="#">Reach out</a> + <a class="h4 nav-link" href="#">Reach out</a> </li> </ul> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 9c135a2c..a9c21271 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -21,6 +21,13 @@ h3 { font-size: 30px; } +h4, +.h4 { + font-size: 1rem; + font-weight: 700; + line-height: 22.4px; +} + p, a, li { @@ -30,6 +37,11 @@ li { line-height: 140%; } +.navbar { + --bs-navbar-nav-link-padding-x: 40px; + --bs-navbar-nav-link-padding-y: 40px; +} + picture.railway img { width: 100%; margin: 7.25rem 0; @@ -299,8 +311,8 @@ p.important { text-align: right; } -#hamburger { - display: none; +#about h2 { + margin-top: 50px; } @media (max-width: 1024px) { From 1e74e61c154b36672cfa70ca6c854ccf97f75cc8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 17:10:49 +0000 Subject: [PATCH 061/277] fix(header): use 212121 for link --- src/stylesheets/main.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index a9c21271..822bdea3 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -42,6 +42,10 @@ li { --bs-navbar-nav-link-padding-y: 40px; } +.navbar-nav { + --bs-nav-link-color: #212121; +} + picture.railway img { width: 100%; margin: 7.25rem 0; From f8e44bce4a483ee677f84fce13fcae5f7fc57bc0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 22:09:15 +0000 Subject: [PATCH 062/277] fix(logo): use better logo --- src/_includes/header.html | 13 +++++++++---- src/images/cal-itp-logo.svg | 10 ++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 src/images/cal-itp-logo.svg diff --git a/src/_includes/header.html b/src/_includes/header.html index bfdd9fd6..ee2b2488 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -2,7 +2,10 @@ <nav class="navbar navbar-expand-lg fixed-top bg-white"> <div class="container"> <a class="navbar-brand" href="/"> - <img src="/images/calitp_logo_MAIN.png" alt="Cal-ITP: California Integrated Travel Project" width="160" /> + <img + src="images/cal-itp-logo.svg" + alt="Cal-ITP: California Integrated Travel Project" + width="160" /> </a> <button class="navbar-toggler collapsed" @@ -11,15 +14,17 @@ data-bs-target="#mainNav" aria-controls="mainNav" aria-expanded="false" - aria-label="Toggle navigation" - > + aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="navbar-collapse collapse justify-content-end" id="mainNav"> <ul class="navbar-nav mb-2 mb-lg-0"> <li class="nav-item"> - <a class="h4 nav-link active" aria-current="page" href="#">About the project</a> + <a + class="h4 nav-link active" + aria-current="page" + href="#">About the project</a> </li> <li class="nav-item"> <a class="h4 nav-link" href="#">Resources</a> 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 @@ +<svg width="119" height="46" viewBox="0 0 119 46" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M61.331 26.2646H0L5.38313 0H66.7141L61.331 26.2646Z" fill="#82B9C6"/> +<path d="M15.6252 23.1864C14.4651 23.1864 13.4271 22.9508 12.5215 22.4796C11.6158 22.0083 10.8526 21.3732 10.2217 20.5845C9.59077 19.7957 9.1125 18.8943 8.79704 17.8802C8.47141 16.8661 8.30859 15.8212 8.30859 14.7456C8.30859 13.8339 8.44088 12.912 8.71564 11.9798C8.98021 11.0477 9.3669 10.1565 9.85535 9.28578C10.3438 8.42531 10.9442 7.61607 11.6463 6.86828C12.3485 6.1205 13.132 5.47515 14.0072 4.91175C14.8721 4.3586 15.8185 3.90788 16.8361 3.59033C17.8537 3.26253 18.9222 3.09863 20.0517 3.09863C21.8224 3.09863 23.2775 3.49813 24.4071 4.29714C25.5366 5.09614 26.2795 6.14099 26.656 7.42144L22.6365 9.87991C22.5449 9.35748 22.3821 8.92725 22.148 8.57897C21.914 8.23068 21.6392 7.95411 21.3034 7.73899C20.9676 7.52388 20.6114 7.38046 20.2247 7.28827C19.838 7.20632 19.4615 7.16535 19.085 7.16535C18.1285 7.16535 17.2635 7.39071 16.5105 7.85167C15.7575 8.31263 15.1062 8.89652 14.5872 9.61357C14.0581 10.3306 13.6612 11.1194 13.3763 11.9696C13.1015 12.8301 12.959 13.6496 12.959 14.4486C12.959 15.0837 13.0405 15.6778 13.1931 16.2309C13.3457 16.7841 13.5798 17.286 13.8851 17.706C14.1903 18.1363 14.577 18.4743 15.035 18.7201C15.4929 18.9762 16.022 19.0992 16.6122 19.0992C16.9989 19.0992 17.406 19.0479 17.8232 18.9455C18.2404 18.8431 18.6576 18.6894 19.0748 18.4743C19.4921 18.2592 19.8889 17.9826 20.2654 17.6343C20.642 17.286 20.9676 16.8661 21.2525 16.3641L24.519 18.5665C24.0713 19.2938 23.5116 19.9391 22.8298 20.523C22.148 21.0967 21.4052 21.5884 20.6012 21.9776C19.7973 22.3669 18.9629 22.6639 18.1081 22.8688C17.2228 23.0839 16.4087 23.1864 15.6252 23.1864Z" fill="white"/> +<path d="M34.7548 3.20117H38.8863L41.4405 23.0123H36.7799L36.3626 18.5768H30.7658L28.5169 23.0123H23.8359L34.7548 3.20117ZM36.2812 15.4218L35.7317 8.41517L32.1294 15.4218H36.2812Z" fill="white"/> +<path d="M47.4835 3.20117H52.0322L48.6741 18.9968H57.568L56.7336 23.0123H43.291L47.4835 3.20117Z" fill="white"/> +<path d="M113.505 45.2558H52.1738L57.557 18.9912H118.888L113.505 45.2558Z" fill="#FDB714"/> +<path d="M69.2839 22.2285H73.8326L69.6503 42.0397H65.1016L69.2839 22.2285Z" fill="#136C97"/> +<path d="M81.0043 26.244H75.377L76.2114 22.2285H91.9842L91.1498 26.244H85.553L82.1949 42.0397H77.6462L81.0043 26.244Z" fill="#136C97"/> +<path d="M94.3972 22.2285H102.406C103.159 22.2285 103.851 22.3822 104.461 22.6997C105.072 23.0173 105.581 23.4373 105.998 23.9597C106.415 24.4821 106.731 25.0762 106.954 25.7421C107.178 26.4079 107.29 27.1045 107.29 27.8113C107.29 28.7639 107.087 29.7064 106.68 30.6488C106.273 31.5912 105.723 32.4209 105.031 33.1585C104.339 33.896 103.535 34.4901 102.619 34.9613C101.704 35.4223 100.727 35.6579 99.6989 35.6579H96.0966L94.7635 42.0499H90.2148L94.3972 22.2285ZM100.248 31.6629C100.523 31.6629 100.808 31.5809 101.093 31.4273C101.378 31.2736 101.643 31.038 101.866 30.7307C102.1 30.4234 102.284 30.0649 102.416 29.6449C102.558 29.2249 102.619 28.7435 102.619 28.2108C102.619 27.545 102.477 27.0533 102.202 26.7357C101.927 26.4182 101.602 26.2645 101.235 26.2645H98.0707L96.931 31.6834H100.248V31.6629Z" fill="#136C97"/> +</svg> From c312990fe1db9591e9ed01e17578d730e964de94 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 22:14:26 +0000 Subject: [PATCH 063/277] fix(nav): nav is 110px --- src/stylesheets/main.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 822bdea3..5ab99662 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -46,6 +46,10 @@ li { --bs-nav-link-color: #212121; } +main.container { + padding-top: 110px; +} + picture.railway img { width: 100%; margin: 7.25rem 0; From baeef482cc889fd0d93eabe57dce290dd3dd1a38 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 22:14:55 +0000 Subject: [PATCH 064/277] fix(header): logo is width 118 --- src/_includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index ee2b2488..4abdec64 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -5,7 +5,7 @@ <img src="images/cal-itp-logo.svg" alt="Cal-ITP: California Integrated Travel Project" - width="160" /> + width="118" /> </a> <button class="navbar-toggler collapsed" From 6846d3e2efd90ca226ed6e9d0460687305302982 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 16:35:50 +0000 Subject: [PATCH 065/277] feat(nav): desktop nav styles --- src/_includes/header.html | 2 +- src/stylesheets/main.css | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index 4abdec64..ba9e8e9d 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -5,7 +5,7 @@ <img src="images/cal-itp-logo.svg" alt="Cal-ITP: California Integrated Travel Project" - width="118" /> + width="119" /> </a> <button class="navbar-toggler collapsed" diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 5ab99662..5c9377f2 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -39,11 +39,24 @@ li { .navbar { --bs-navbar-nav-link-padding-x: 40px; - --bs-navbar-nav-link-padding-y: 40px; + --bs-navbar-nav-link-padding-y: 0; + --bs-navbar-padding-y: 0; + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04); +} + +.navbar-brand { + --bs-navbar-brand-padding-x: 32px; + --bs-navbar-brand-padding-y: 32px; } .navbar-nav { --bs-nav-link-color: #212121; + --bs-navbar-nav-link-padding-y: 0; + --bs-nav-link-padding-y: 0; +} + +.navbar-expand-lg .navbar-nav .nav-link { + margin-bottom: 0; } main.container { @@ -113,6 +126,11 @@ p.important { line-height: 1.1; align-items: center; justify-items: center; +<<<<<<< HEAD +======= + padding-top: 88px; + padding-bottom: 50px; +>>>>>>> 1d752d1 (feat(nav): desktop nav styles) } .big { From 74b537bd9e0667a1c2a75dd44fc744280daa8457 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 17 May 2023 23:33:04 +0000 Subject: [PATCH 066/277] feat(nav): mobile styles --- src/_includes/header.html | 12 +++--- src/stylesheets/main.css | 77 ++++++++++++++++++++++++++++++--------- 2 files changed, 65 insertions(+), 24 deletions(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index ba9e8e9d..9588d3b6 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -1,5 +1,5 @@ <header> - <nav class="navbar navbar-expand-lg fixed-top bg-white"> + <nav class="navbar navbar-expand-lg fixed-top bg-white" aria-label="Navigation"> <div class="container"> <a class="navbar-brand" href="/"> <img @@ -19,21 +19,21 @@ </button> <div class="navbar-collapse collapse justify-content-end" id="mainNav"> - <ul class="navbar-nav mb-2 mb-lg-0"> + <ul class="navbar-nav mb-0"> <li class="nav-item"> <a - class="h4 nav-link active" + class="h4 mb-0 nav-link active" aria-current="page" href="#">About the project</a> </li> <li class="nav-item"> - <a class="h4 nav-link" href="#">Resources</a> + <a class="h4 mb-0 nav-link" href="#">Resources</a> </li> <li class="nav-item"> - <a class="h4 nav-link" href="#">Press</a> + <a class="h4 mb-0 nav-link" href="#">Press</a> </li> <li class="nav-item"> - <a class="h4 nav-link" href="#">Reach out</a> + <a class="h4 mb-0 nav-link" href="#">Reach out</a> </li> </ul> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 5c9377f2..9747a4a9 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -37,30 +37,17 @@ li { line-height: 140%; } +main.container { + padding-top: 110px; +} + .navbar { - --bs-navbar-nav-link-padding-x: 40px; - --bs-navbar-nav-link-padding-y: 0; --bs-navbar-padding-y: 0; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04); } -.navbar-brand { - --bs-navbar-brand-padding-x: 32px; - --bs-navbar-brand-padding-y: 32px; -} - .navbar-nav { --bs-nav-link-color: #212121; - --bs-navbar-nav-link-padding-y: 0; - --bs-nav-link-padding-y: 0; -} - -.navbar-expand-lg .navbar-nav .nav-link { - margin-bottom: 0; -} - -main.container { - padding-top: 110px; } picture.railway img { @@ -81,7 +68,7 @@ footer nav .links a { text-decoration: none; } -nav ul { +footer nav ul { margin-bottom: initial; padding-left: initial; } @@ -463,3 +450,57 @@ p.important { padding-top: 100px; } } + +@media (min-width: 992px) { + .navbar { + --bs-navbar-nav-link-padding-x: 40px; + --bs-navbar-nav-link-padding-y: 0; + } + + .navbar-brand { + --bs-navbar-brand-padding-x: 32px; + --bs-navbar-brand-padding-y: 32px; + } + + .navbar-nav { + --bs-nav-link-color: #212121; + --bs-navbar-nav-link-padding-y: 0; + --bs-nav-link-padding-y: 0; + } +} + +@media (max-width: 992px) { + .navbar-brand { + --bs-navbar-brand-padding-x: 29px; + --bs-navbar-brand-padding-y: 29px; + } + + #mainNav { + position: absolute; + width: 100%; + left: 0; + top: 110px; + background: white; + } + + .navbar-nav .nav-link { + padding: 23.8px 0 28.8px 12px; + border-bottom: 1px solid #d5eef5; + } + + .navbar-nav { + margin: 0 auto; + } +} + +@media (min-width: 768px) { + .navbar-nav { + max-width: 720px; + } +} + +@media (min-width: 576px) and (max-width: 765px) { + .navbar-nav { + max-width: 540px; + } +} From 1ca5bb9df3158796d0c79bb187ac8da04a74bd15 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 16:37:09 +0000 Subject: [PATCH 067/277] fix: rebase error --- src/stylesheets/main.css | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 9747a4a9..f3e476c9 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -113,11 +113,8 @@ p.important { line-height: 1.1; align-items: center; justify-items: center; -<<<<<<< HEAD -======= padding-top: 88px; padding-bottom: 50px; ->>>>>>> 1d752d1 (feat(nav): desktop nav styles) } .big { From b868aa9708f2e88fbd4485df799da323ad394227 Mon Sep 17 00:00:00 2001 From: machiko <machiko@compiler.la> Date: Thu, 18 May 2023 09:44:46 -0700 Subject: [PATCH 068/277] Update src/_includes/header.html Co-authored-by: Kegan Maher <kegan@compiler.la> --- src/_includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index 9588d3b6..6b12be61 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -3,7 +3,7 @@ <div class="container"> <a class="navbar-brand" href="/"> <img - src="images/cal-itp-logo.svg" + src="/images/cal-itp-logo.svg" alt="Cal-ITP: California Integrated Travel Project" width="119" /> </a> From 610426d79c1a01ef3417383eadbf19c5ae95f650 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 17:43:12 +0000 Subject: [PATCH 069/277] fix(default): use Bootstrap@5.2.3 --- src/_layouts/default.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_layouts/default.html b/src/_layouts/default.html index 48951b0c..047ac4c7 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -10,8 +10,8 @@ {% include footer.html %} <script - src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" - integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" + src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" + integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script> </body> </html> From db50b16effa648d97efc658d9babd50deaca41b2 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Tue, 16 May 2023 19:34:51 +0000 Subject: [PATCH 070/277] feat(config): define press collection output: false since we will link to external press --- _config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_config.yml b/_config.yml index 4df71cc8..c6c69c9f 100644 --- a/_config.yml +++ b/_config.yml @@ -1,4 +1,7 @@ analytics: "G-VCVX2DGPPN" +collections: + press: + output: false 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@400;700&family=Raleway:wght@700&display=swap" From e7f78e290c443a53135961cb15b04f9b06c56a29 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Tue, 16 May 2023 19:46:00 +0000 Subject: [PATCH 071/277] feat(press): define initial collection items --- src/_press/cal-itp-announces-ods.md | 7 +++++++ src/_press/cal-itp-benefits-launch.md | 7 +++++++ src/_press/cal-itp-coast-rta-msa.md | 7 +++++++ src/_press/cal-itp-payments-data-dashboard.md | 7 +++++++ 4 files changed, 28 insertions(+) create mode 100644 src/_press/cal-itp-announces-ods.md create mode 100644 src/_press/cal-itp-benefits-launch.md create mode 100644 src/_press/cal-itp-coast-rta-msa.md create mode 100644 src/_press/cal-itp-payments-data-dashboard.md diff --git a/src/_press/cal-itp-announces-ods.md b/src/_press/cal-itp-announces-ods.md new file mode 100644 index 00000000..cc2c35b5 --- /dev/null +++ b/src/_press/cal-itp-announces-ods.md @@ -0,0 +1,7 @@ +--- +date: 2022-06-02 +title: Cal-ITP Unveils New Open Data Standard to Improve Transit Agency Operations +link: Cal-ITP.Open.Data.Standard.Improve.Transit.Agency.Operations.pdf +tags: + - GTFS +--- diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md new file mode 100644 index 00000000..58d9d6aa --- /dev/null +++ b/src/_press/cal-itp-benefits-launch.md @@ -0,0 +1,7 @@ +--- +date: 2022-09-21 +title: Cal-ITP Benefits Launch +link: Cal-ITP.Benefits.PressRelease.220921.pdf +tags: + - 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..675b76ed --- /dev/null +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -0,0 +1,7 @@ +--- +date: 2022-10-14 +title: South Carolina Public Transit Agency Taps State of California’s Purchasing Agreements to Buy Competitively Priced Open-Loop +link: Cal-ITP.CoastRTA.PressRelease.221014.pdf +tags: + - Contactless Payments +--- 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..58cda655 --- /dev/null +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -0,0 +1,7 @@ +--- +date: 2023-01-04 +title: Payments Data Dashboard + Cal-ITP +link: https://gcn.com/data-analytics/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ +tags: + - Contactless Payments +--- From 71e9f447bfd9374682e44dd5fa4f2b975dc9e7d2 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Tue, 16 May 2023 20:31:21 +0000 Subject: [PATCH 072/277] feat(press): landing page renders collection --- src/press.html | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/press.html diff --git a/src/press.html b/src/press.html new file mode 100644 index 00000000..6a58d93d --- /dev/null +++ b/src/press.html @@ -0,0 +1,25 @@ +--- +layout: default +--- + +<h1>Press</h1> + +<section id="press"> + {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} + {% assign all_press = site.press | reverse %} + {% for press in all_press %} + {% assign url = press.link %} + {% unless url contains "https://" %} + {% assign url = url | prepend: "/assets/" | prepend: site.baseurl %} + {% endunless %} + + <div class="press-item"> + <a href="{{ url }}" target="_blank">{{ press.title }}</a> + <br/> + <span class="tags">{{ press.tags | join: ", " }}</span> + | + <span class="date">{{ press.date | date: "%b %Y" }}</span> + </div> + + {% endfor %} +</section> From 61b94e723cadd3c7e63d2693920c5d76813c55aa Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:30:26 +0000 Subject: [PATCH 073/277] feat(press): template for a press release output: true on collection to create pages for each item redirect to external press releases if configured --- _config.yml | 13 ++++++++++--- src/_layouts/press.html | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/_layouts/press.html diff --git a/_config.yml b/_config.yml index c6c69c9f..98f2d732 100644 --- a/_config.yml +++ b/_config.yml @@ -1,9 +1,16 @@ analytics: "G-VCVX2DGPPN" collections: press: - output: false -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." + output: true + permalink: /:collection/:name +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 title: "Cal-ITP: California Integrated Travel Project" diff --git a/src/_layouts/press.html b/src/_layouts/press.html new file mode 100644 index 00000000..e1d0f80a --- /dev/null +++ b/src/_layouts/press.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + +{% if page.external %} +<h1>Redirecting...</h1> +<a href="{{ page.external }}">Click here if you are not redirected.<a> +<script>location = '{{ page.external }}'</script> +{% endif %} + +{% capture date %} + {% include date.html date=page.date format = "%B %e, %Y, " %} +{% endcapture %} + +{% unless page.external %} +<article class="press-release"> + <a href="/press">Press</a> + <h1 class="h2">{{ page.heading }}</h1> + <p>{{ page.lead }}</p> + <p class="immediate-release">For immediate release</p> + <p>{{ page.intro | prepend: "—" | prepend: page.location | prepend: date }}</p> + {{ page.content }} +</article> +{% endunless %} From d6c49f907dd291e0f5ec4f0a1959ecd86ddbb695 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:35:45 +0000 Subject: [PATCH 074/277] feat(press): link to press release page or external --- src/_press/cal-itp-payments-data-dashboard.md | 2 +- src/press.html | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/_press/cal-itp-payments-data-dashboard.md b/src/_press/cal-itp-payments-data-dashboard.md index 58cda655..b84b9cc1 100644 --- a/src/_press/cal-itp-payments-data-dashboard.md +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -1,7 +1,7 @@ --- date: 2023-01-04 title: Payments Data Dashboard + Cal-ITP -link: https://gcn.com/data-analytics/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ +external: https://gcn.com/data-analytics/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ tags: - Contactless Payments --- diff --git a/src/press.html b/src/press.html index 6a58d93d..ef6e9953 100644 --- a/src/press.html +++ b/src/press.html @@ -8,18 +8,16 @@ <h1>Press</h1> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} {% assign all_press = site.press | reverse %} {% for press in all_press %} - {% assign url = press.link %} - {% unless url contains "https://" %} - {% assign url = url | prepend: "/assets/" | prepend: site.baseurl %} - {% endunless %} - + {% assign url = press.url %} + {% if press.external %} + {% assign url = press.external %} + {% endif %} <div class="press-item"> - <a href="{{ url }}" target="_blank">{{ press.title }}</a> + <a href="{{ url }}" {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> <br/> <span class="tags">{{ press.tags | join: ", " }}</span> | <span class="date">{{ press.date | date: "%b %Y" }}</span> </div> - {% endfor %} </section> From d7cf7ea11f968503e4ee4cb90f4d07bc67fed7a9 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:36:25 +0000 Subject: [PATCH 075/277] refactor(press): each item is an article extract date include to render semantic <time> element with datetime attribute see: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article#usage_notes --- src/_includes/date.html | 1 + src/press.html | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 src/_includes/date.html diff --git a/src/_includes/date.html b/src/_includes/date.html new file mode 100644 index 00000000..4a5f2ada --- /dev/null +++ b/src/_includes/date.html @@ -0,0 +1 @@ +<time datetime="{{ include.date }}">{{ include.date | date: include.format }}</time> diff --git a/src/press.html b/src/press.html index ef6e9953..733f4fa9 100644 --- a/src/press.html +++ b/src/press.html @@ -12,12 +12,12 @@ <h1>Press</h1> {% if press.external %} {% assign url = press.external %} {% endif %} - <div class="press-item"> + <article class="press-item"> <a href="{{ url }}" {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> <br/> <span class="tags">{{ press.tags | join: ", " }}</span> | - <span class="date">{{ press.date | date: "%b %Y" }}</span> - </div> + {% include date.html date=press.date format = "%b %Y" %} + </article> {% endfor %} </section> From 4cc881be7e759f3a87d2301663c37477c7e8cb98 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:40:42 +0000 Subject: [PATCH 076/277] chore(press): add benefits press release content --- src/_press/cal-itp-benefits-launch.md | 132 +++++++++++++++++++++++++- 1 file changed, 131 insertions(+), 1 deletion(-) diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md index 58d9d6aa..83659a61 100644 --- a/src/_press/cal-itp-benefits-launch.md +++ b/src/_press/cal-itp-benefits-launch.md @@ -1,7 +1,137 @@ --- date: 2022-09-21 title: Cal-ITP Benefits Launch -link: Cal-ITP.Benefits.PressRelease.220921.pdf +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 <a href="https://benefits.calitp.org/" target="_blank">Cal-ITP Benefits</a> 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. +location: Sacramento, CA tags: - Benefits --- + +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). + +<img alt="Animated walkthrough of the Cal-ITP Benefits application enrollment process" src="https://docs.calitp.org/benefits/use-cases/img/senior-success.gif" height="500" class="mx-auto d-block" /> + +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). From caa91ca6a08265431dcbe0a6446014b816b01cc2 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:41:48 +0000 Subject: [PATCH 077/277] fix(style): use absolute URL for site assets --- src/_includes/styles.html | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/_includes/styles.html b/src/_includes/styles.html index 5f36fe42..0e77128b 100644 --- a/src/_includes/styles.html +++ b/src/_includes/styles.html @@ -1,6 +1,13 @@ -<link rel="apple-touch-icon" href="images/icon.png" /> -<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> -<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> +<link rel="apple-touch-icon" href="/images/icon.png" /> +<link + rel="icon" + type="image/png" + sizes="32x32" + href="/favicon-32x32.png" /> +<link rel="icon" + type="image/png" + sizes="16x16" + href="/favicon-16x16.png" /> <!-- Place favicon.ico in the root directory --> <link rel="preconnect" href="https://fonts.gstatic.com" /> @@ -9,6 +16,5 @@ href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" - crossorigin="anonymous" -/> -<link rel="stylesheet" href="stylesheets/main.css" /> + crossorigin="anonymous" /> +<link rel="stylesheet" href="/stylesheets/main.css" /> From 97fbe4081c835ac457118a405c6c10c50d6ff012 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 19:55:26 +0000 Subject: [PATCH 078/277] fix(config): set timezone to America/Los_Angeles use correct offset in press date --- _config.yml | 1 + src/_includes/date.html | 2 +- src/_press/cal-itp-benefits-launch.md | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 98f2d732..aeaec77a 100644 --- a/_config.yml +++ b/_config.yml @@ -13,5 +13,6 @@ description: A state government initiative, Cal-ITP is making riding by rail and domain: www.calitp.org google_fonts: "https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Raleway:wght@700&display=swap" source: ./src +timezone: America/Los_Angeles title: "Cal-ITP: California Integrated Travel Project" url: "https://www.calitp.org" diff --git a/src/_includes/date.html b/src/_includes/date.html index 4a5f2ada..f9e9eaee 100644 --- a/src/_includes/date.html +++ b/src/_includes/date.html @@ -1 +1 @@ -<time datetime="{{ include.date }}">{{ include.date | date: include.format }}</time> +<time datetime="{{ include.date | date_to_xmlschema }}">{{ include.date | date: include.format }}</time> diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md index 83659a61..75acb462 100644 --- a/src/_press/cal-itp-benefits-launch.md +++ b/src/_press/cal-itp-benefits-launch.md @@ -1,5 +1,5 @@ --- -date: 2022-09-21 +date: "2022-09-21T17:00:00-07:00" title: Cal-ITP Benefits Launch heading: |- State of California launches Cal-ITP Benefits, the first online tool for transit riders to verify their identity and benefit From 96ba6acf58d7baa97fd4cba56435aef45009b856 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 20:02:18 +0000 Subject: [PATCH 079/277] refactor(press): default location is Sacramento, CA --- src/_layouts/press.html | 4 +++- src/_press/cal-itp-benefits-launch.md | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index e1d0f80a..5e76e476 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -12,13 +12,15 @@ <h1>Redirecting...</h1> {% include date.html date=page.date format = "%B %e, %Y, " %} {% endcapture %} +{% assign location = page.location | default: "Sacramento, CA" %} + {% unless page.external %} <article class="press-release"> <a href="/press">Press</a> <h1 class="h2">{{ page.heading }}</h1> <p>{{ page.lead }}</p> <p class="immediate-release">For immediate release</p> - <p>{{ page.intro | prepend: "—" | prepend: page.location | prepend: date }}</p> + <p>{{ page.intro | prepend: "—" | prepend: location | prepend: date }}</p> {{ page.content }} </article> {% endunless %} diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md index 75acb462..24dbb9fb 100644 --- a/src/_press/cal-itp-benefits-launch.md +++ b/src/_press/cal-itp-benefits-launch.md @@ -11,7 +11,6 @@ intro: |- The debut of a new web application called <a href="https://benefits.calitp.org/" target="_blank">Cal-ITP Benefits</a> 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. -location: Sacramento, CA tags: - Benefits --- From 616d79122b2370c123eaa0e83ec50e3eac801d96 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 20:09:35 +0000 Subject: [PATCH 080/277] refactor(press): make lead paragraph optional --- src/_layouts/press.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index 5e76e476..f72f1828 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -18,7 +18,9 @@ <h1>Redirecting...</h1> <article class="press-release"> <a href="/press">Press</a> <h1 class="h2">{{ page.heading }}</h1> + {% if page.lead %} <p>{{ page.lead }}</p> + {% endif %} <p class="immediate-release">For immediate release</p> <p>{{ page.intro | prepend: "—" | prepend: location | prepend: date }}</p> {{ page.content }} From 080a67f01e1d45815bbcdb4265ef87082a607e5e Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 20:32:07 +0000 Subject: [PATCH 081/277] chore(press): add ODS press release content --- src/_press/cal-itp-announces-ods.md | 75 ++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 2 deletions(-) diff --git a/src/_press/cal-itp-announces-ods.md b/src/_press/cal-itp-announces-ods.md index cc2c35b5..b12969ee 100644 --- a/src/_press/cal-itp-announces-ods.md +++ b/src/_press/cal-itp-announces-ods.md @@ -1,7 +1,78 @@ --- -date: 2022-06-02 +date: "2022-06-02T17:00:00-07:00" title: Cal-ITP Unveils New Open Data Standard to Improve Transit Agency Operations -link: Cal-ITP.Open.Data.Standard.Improve.Transit.Agency.Operations.pdf +heading: Cal-ITP Unveils New Open Data Standard to 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 --- + +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 <https://docs.calitp.org/operational-data-standard/>. + +## 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 <https://docs.calitp.org/operational-data-standard/about/working-group> +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. From efe9b1491558dd23fe92d0c5a10413e19772fb87 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 21:02:53 +0000 Subject: [PATCH 082/277] chore(press): add CoastRTA press release content --- src/_press/cal-itp-coast-rta-msa.md | 143 +++++++++++++++++++++++++++- 1 file changed, 141 insertions(+), 2 deletions(-) diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md index 675b76ed..0e8947ef 100644 --- a/src/_press/cal-itp-coast-rta-msa.md +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -1,7 +1,146 @@ --- -date: 2022-10-14 +date: "2022-10-14T17:00:00-07:00" title: South Carolina Public Transit Agency Taps State of California’s Purchasing Agreements to Buy Competitively Priced Open-Loop -link: Cal-ITP.CoastRTA.PressRelease.221014.pdf +heading: |- + South Carolina Public Transit Agency Taps State of California’s Purchasing Agreements to Buy Competitively Priced Open-Loop + 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 --- + +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](cal-itp-benefits-launch)). 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). From 00b4dd2c2bac1790c0957db8ea5496c42fcd79f6 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 17 May 2023 21:12:38 +0000 Subject: [PATCH 083/277] fix(press): add horizontal rule under lead --- src/_layouts/press.html | 1 + 1 file changed, 1 insertion(+) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index f72f1828..586972c6 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -21,6 +21,7 @@ <h1 class="h2">{{ page.heading }}</h1> {% if page.lead %} <p>{{ page.lead }}</p> {% endif %} + <hr /> <p class="immediate-release">For immediate release</p> <p>{{ page.intro | prepend: "—" | prepend: location | prepend: date }}</p> {{ page.content }} From 92133f98c9323f3ae43befacbccd48b904c895be Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 06:44:58 +0000 Subject: [PATCH 084/277] refactor: extract the common redirect --- src/_includes/script_redirect.html | 3 +++ src/_layouts/press.html | 26 ++++++++++++-------------- src/_layouts/redirect.html | 18 +++++++----------- 3 files changed, 22 insertions(+), 25 deletions(-) create mode 100644 src/_includes/script_redirect.html 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 @@ +<h1>Redirecting...</h1> +<a href="{{ include.location }}">Click here if you are not redirected.<a> +<script>location = '{{ include.location }}'</script> diff --git a/src/_layouts/press.html b/src/_layouts/press.html index 586972c6..65df2a6b 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -3,9 +3,7 @@ --- {% if page.external %} -<h1>Redirecting...</h1> -<a href="{{ page.external }}">Click here if you are not redirected.<a> -<script>location = '{{ page.external }}'</script> + {% include script_redirect.html location=page.external %} {% endif %} {% capture date %} @@ -15,15 +13,15 @@ <h1>Redirecting...</h1> {% assign location = page.location | default: "Sacramento, CA" %} {% unless page.external %} -<article class="press-release"> - <a href="/press">Press</a> - <h1 class="h2">{{ page.heading }}</h1> - {% if page.lead %} - <p>{{ page.lead }}</p> - {% endif %} - <hr /> - <p class="immediate-release">For immediate release</p> - <p>{{ page.intro | prepend: "—" | prepend: location | prepend: date }}</p> - {{ page.content }} -</article> + <article class="press-release"> + <a href="/press">Press</a> + <h1 class="h2">{{ page.heading }}</h1> + {% if page.lead %} + <p>{{ page.lead }}</p> + {% endif %} + <hr/> + <p class="immediate-release">For immediate release</p> + <p>{{ page.intro | prepend: "—" | prepend: location | prepend: date }}</p> + {{ page.content }} + </article> {% 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 @@ <!DOCTYPE html> <html> -<head> + <head> {% include meta.html %} {% include styles.html %} {% include analytics.html %} <link rel="canonical" href="{{ page.redirect_to }}" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="refresh" content="0;url={{ page.redirect_to }}" /> -</head> + </head> -<body> + <body> {% include header.html %} <article> - <section id="deck"> - <section> - <h1>Redirecting...</h1> - <a href="{{ page.redirect_to }}">Click here if you are not redirected.<a> - <script>location = '{{ page.redirect_to }}'</script> - </section> - </section> + <section id="deck"> + {% include script_redirect.html location=page.redirect_to %} + </section> </article> -</body> + </body> </html> From 65a2cc6fe92538f0f725165139e2b5c92a82542e Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 06:50:19 +0000 Subject: [PATCH 085/277] refactor(press): reverse string concatenation why go backwards? --- src/_layouts/press.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index 65df2a6b..38315f13 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -21,7 +21,7 @@ <h1 class="h2">{{ page.heading }}</h1> {% endif %} <hr/> <p class="immediate-release">For immediate release</p> - <p>{{ page.intro | prepend: "—" | prepend: location | prepend: date }}</p> + <p>{{ date | append: location | append: "—" | append: page.intro }}</p> {{ page.content }} </article> {% endunless %} From 4794eaf8f740b35ef0dd545088668b3f0125a238 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 16:57:16 +0000 Subject: [PATCH 086/277] chore(nav): update link to Press page --- src/_includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index 6b12be61..c325918b 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -30,7 +30,7 @@ <a class="h4 mb-0 nav-link" href="#">Resources</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="#">Press</a> + <a class="h4 mb-0 nav-link" href="/press">Press</a> </li> <li class="nav-item"> <a class="h4 mb-0 nav-link" href="#">Reach out</a> From 4e67a369eed191ab1fbbab9f0868d4242e1d83c8 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 16:33:46 +0000 Subject: [PATCH 087/277] feat(resources): define Jekyll collection --- _config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_config.yml b/_config.yml index aeaec77a..709dc9ff 100644 --- a/_config.yml +++ b/_config.yml @@ -3,6 +3,8 @@ collections: press: output: true permalink: /:collection/:name + resources: + output: false defaults: - scope: path: "" From ea53fa90f5a3982c3e40b7b68d8c046a13617189 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 19:16:15 +0000 Subject: [PATCH 088/277] feat(resources): define initial collection items --- src/_resources/case-study-cash-app.md | 10 ++++++++++ src/_resources/case-study-contactless-fare-payments.md | 8 ++++++++ ...eet-advancing-equity-transit-financial-inclusion.md | 8 ++++++++ .../fact-sheet-automated-transit-discounts.md | 8 ++++++++ src/_resources/fact-sheet-gtfs-feed.md | 8 ++++++++ src/_resources/fact-sheet-why-go-contactless.md | 8 ++++++++ ...-pager-mobility-data-interoperability-principles.md | 8 ++++++++ src/_resources/slide-deck-benefits-overview.md | 8 ++++++++ ...slide-deck-ca-transit-data-guidelines-draft-v3.0.md | 8 ++++++++ .../slide-deck-gtfs-wheelchair-accessibility-data.md | 8 ++++++++ ...lide-deck-understanding-merchant-service-charges.md | 8 ++++++++ 11 files changed, 90 insertions(+) create mode 100644 src/_resources/case-study-cash-app.md create mode 100644 src/_resources/case-study-contactless-fare-payments.md create mode 100644 src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md create mode 100644 src/_resources/fact-sheet-automated-transit-discounts.md create mode 100644 src/_resources/fact-sheet-gtfs-feed.md create mode 100644 src/_resources/fact-sheet-why-go-contactless.md create mode 100644 src/_resources/one-pager-mobility-data-interoperability-principles.md create mode 100644 src/_resources/slide-deck-benefits-overview.md create mode 100644 src/_resources/slide-deck-ca-transit-data-guidelines-draft-v3.0.md create mode 100644 src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md create mode 100644 src/_resources/slide-deck-understanding-merchant-service-charges.md diff --git a/src/_resources/case-study-cash-app.md b/src/_resources/case-study-cash-app.md new file mode 100644 index 00000000..6336d920 --- /dev/null +++ b/src/_resources/case-study-cash-app.md @@ -0,0 +1,10 @@ +--- +date: 2022-11-01 +title: |- + Cash App Case Study: Instead of using cash, Monterey & Sacramento riders are choosing to tap the Cash App Card, + a free 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..2b172eea --- /dev/null +++ b/src/_resources/case-study-contactless-fare-payments.md @@ -0,0 +1,8 @@ +--- +date: 2022-11-01 +title: Contactless Fare Payments Case Study +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..0c35dae2 --- /dev/null +++ b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md @@ -0,0 +1,8 @@ +--- +date: 2022-09-01 +title: "Fact Sheet: Advancing 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..27106cef --- /dev/null +++ b/src/_resources/fact-sheet-automated-transit-discounts.md @@ -0,0 +1,8 @@ +--- +date: 2021-05-01 +title: "Fact sheet: Automated Transit Discounts" +asset: https://drive.google.com/file/d/1BLHkI47xtRIPJlBJx5wNlifwqrFPU83I/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..7e7f4347 --- /dev/null +++ b/src/_resources/fact-sheet-gtfs-feed.md @@ -0,0 +1,8 @@ +--- +date: 2021-05-01 +title: "Fact sheet: Why do I need a standard feed?" +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..6a803ac4 --- /dev/null +++ b/src/_resources/fact-sheet-why-go-contactless.md @@ -0,0 +1,8 @@ +--- +date: 2022-09-01 +title: "Fact Sheet: Why go contactless?" +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-mobility-data-interoperability-principles.md b/src/_resources/one-pager-mobility-data-interoperability-principles.md new file mode 100644 index 00000000..039dbe6b --- /dev/null +++ b/src/_resources/one-pager-mobility-data-interoperability-principles.md @@ -0,0 +1,8 @@ +--- +date: 2022-09-01 +title: Mobilty Data Interoperability Principles +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-benefits-overview.md b/src/_resources/slide-deck-benefits-overview.md new file mode 100644 index 00000000..10d5c547 --- /dev/null +++ b/src/_resources/slide-deck-benefits-overview.md @@ -0,0 +1,8 @@ +--- +date: 2023-02-01 +title: Cal-ITP Transit Benefits Overview Presentation +asset: https://docs.google.com/presentation/d/1Vawi8d70jtKfL-u5lwM05CcDyQ5zB764/edit?usp=share_link&ouid=107888682452903153368&rtpof=true&sd=true +category: Fact Sheets & Overviews +tags: + - Benefits +--- 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..99561953 --- /dev/null +++ b/src/_resources/slide-deck-ca-transit-data-guidelines-draft-v3.0.md @@ -0,0 +1,8 @@ +--- +date: 2022-10-01 +title: CA Transit Data Guidelines Draft v3.0 Feedback +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..19f03324 --- /dev/null +++ b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md @@ -0,0 +1,8 @@ +--- +date: 2022-09-01 +title: GTFS Wheelchair Accesibility Data +asset: https://drive.google.com/file/d/1G1eBMR3qOiB6oH-dYfDhGpuyEWUUfGSj/view?usp=share_link +category: Fact Sheets & Overviews +tags: + - GTFS +--- diff --git a/src/_resources/slide-deck-understanding-merchant-service-charges.md b/src/_resources/slide-deck-understanding-merchant-service-charges.md new file mode 100644 index 00000000..3c0306b6 --- /dev/null +++ b/src/_resources/slide-deck-understanding-merchant-service-charges.md @@ -0,0 +1,8 @@ +--- +date: 2023-03-01 +title: Understanding "Merchant Service Charges" +asset: https://docs.google.com/presentation/d/102eidohWJMVb8T--Sjra15j133lacgJSaZB9hmBUMHY/edit?usp=share_link +category: Fact Sheets & Overviews +tags: + - Contactless Payments +--- From e05e64a336b94741f07aa763589b5c58e860c5fc Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 20:59:47 +0000 Subject: [PATCH 089/277] feat(resources): landing page renders collection items group_by category to render resource sections --- src/resources.html | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/resources.html diff --git a/src/resources.html b/src/resources.html new file mode 100644 index 00000000..ed1412a3 --- /dev/null +++ b/src/resources.html @@ -0,0 +1,32 @@ +--- +layout: default +--- + +<h1>Resources</h1> + +<section id="resources"> + {% 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 %} + <h2>{{ group.name }}</h2> + {% for item in group.items %} + {% assign url = item.asset %} + {% unless url contains "https://" %} + {% assign url = "/assets/" | append: url %} + {% endunless %} + <article class="resource"> + <a href="{{ url }}" target="_blank">{{ item.title }}</a> + <br/> + <span class="tags">{{ item.tags | join: ", " }}</span> + | + {% include date.html date=item.date format = "%b %Y" %} + </article> + {% endfor %} + {% unless forloop.last %} + <hr/> + {% endunless %} + {% endfor %} +</section> From 554a0925e7b82a620b0942f5e8c1e3aebc0d8e61 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 21:09:15 +0000 Subject: [PATCH 090/277] chore(nav): link to resources landing page --- src/_includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index c325918b..0ade5f9e 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -27,7 +27,7 @@ href="#">About the project</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="#">Resources</a> + <a class="h4 mb-0 nav-link" href="/resources">Resources</a> </li> <li class="nav-item"> <a class="h4 mb-0 nav-link" href="/press">Press</a> From f448173117ffc62fa65b72e83dc075902a10fca9 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 21:10:07 +0000 Subject: [PATCH 091/277] chore: use Jekyll's link helper generates correct permalink for every doc update permalinks in press/resources to remove file extension --- src/_includes/header.html | 4 ++-- src/_press/cal-itp-coast-rta-msa.md | 7 ++++--- src/press.html | 1 + src/resources.html | 1 + 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index 0ade5f9e..a97afd9f 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -27,10 +27,10 @@ href="#">About the project</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="/resources">Resources</a> + <a class="h4 mb-0 nav-link" href="{% link resources.html %}">Resources</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="/press">Press</a> + <a class="h4 mb-0 nav-link" href="{% link press.html %}">Press</a> </li> <li class="nav-item"> <a class="h4 mb-0 nav-link" href="#">Reach out</a> diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md index 0e8947ef..d9cfea1f 100644 --- a/src/_press/cal-itp-coast-rta-msa.md +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -98,9 +98,10 @@ For more information about this project, Cal-ITP’s technical support, or Calif 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](cal-itp-benefits-launch)). 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. +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 diff --git a/src/press.html b/src/press.html index 733f4fa9..2994ea02 100644 --- a/src/press.html +++ b/src/press.html @@ -1,5 +1,6 @@ --- layout: default +permalink: /press --- <h1>Press</h1> diff --git a/src/resources.html b/src/resources.html index ed1412a3..8fbbb3a8 100644 --- a/src/resources.html +++ b/src/resources.html @@ -1,5 +1,6 @@ --- layout: default +permalink: /resources --- <h1>Resources</h1> From 56fada8c50590856920e5656086d6d805c2aacb6 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 15:34:34 -0700 Subject: [PATCH 092/277] fix(resources): normalize casing Co-authored-by: machiko <machiko@compiler.la> --- src/_resources/fact-sheet-gtfs-feed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_resources/fact-sheet-gtfs-feed.md b/src/_resources/fact-sheet-gtfs-feed.md index 7e7f4347..29b64d96 100644 --- a/src/_resources/fact-sheet-gtfs-feed.md +++ b/src/_resources/fact-sheet-gtfs-feed.md @@ -1,6 +1,6 @@ --- date: 2021-05-01 -title: "Fact sheet: Why do I need a standard feed?" +title: "Fact Sheet: Why do I need a standard feed?" asset: https://drive.google.com/file/d/1ljgMM-sQ2nP9241uFF7KgoWXgLDtZkDK/view?usp=share_link category: Fact Sheets & Overviews tags: From 3bdfa84cb8dfc08dd721e2f19bd9d7a8199d64ed Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 15:34:56 -0700 Subject: [PATCH 093/277] chore(resources): use smart quotes Co-authored-by: machiko <machiko@compiler.la> --- .../slide-deck-understanding-merchant-service-charges.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_resources/slide-deck-understanding-merchant-service-charges.md b/src/_resources/slide-deck-understanding-merchant-service-charges.md index 3c0306b6..21888bc3 100644 --- a/src/_resources/slide-deck-understanding-merchant-service-charges.md +++ b/src/_resources/slide-deck-understanding-merchant-service-charges.md @@ -1,6 +1,6 @@ --- date: 2023-03-01 -title: Understanding "Merchant Service Charges" +title: Understanding ‘Merchant Service Charges’ asset: https://docs.google.com/presentation/d/102eidohWJMVb8T--Sjra15j133lacgJSaZB9hmBUMHY/edit?usp=share_link category: Fact Sheets & Overviews tags: From e119b3724f4f2515dbf5cf548a222f791852b9e4 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Thu, 18 May 2023 15:35:15 -0700 Subject: [PATCH 094/277] fix(resources): normalize casing Co-authored-by: machiko <machiko@compiler.la> --- src/_resources/fact-sheet-automated-transit-discounts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_resources/fact-sheet-automated-transit-discounts.md b/src/_resources/fact-sheet-automated-transit-discounts.md index 27106cef..848906e4 100644 --- a/src/_resources/fact-sheet-automated-transit-discounts.md +++ b/src/_resources/fact-sheet-automated-transit-discounts.md @@ -1,6 +1,6 @@ --- date: 2021-05-01 -title: "Fact sheet: Automated Transit Discounts" +title: "Fact Sheet: Automated Transit Discounts" asset: https://drive.google.com/file/d/1BLHkI47xtRIPJlBJx5wNlifwqrFPU83I/view category: Fact Sheets & Overviews tags: From 9eda20175ad9bef038368ea2bc0e77b5f9b94042 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Fri, 19 May 2023 12:13:58 -0700 Subject: [PATCH 095/277] fix(resource): update benefits overview file, date --- src/_resources/slide-deck-benefits-overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_resources/slide-deck-benefits-overview.md b/src/_resources/slide-deck-benefits-overview.md index 10d5c547..3c6b96ae 100644 --- a/src/_resources/slide-deck-benefits-overview.md +++ b/src/_resources/slide-deck-benefits-overview.md @@ -1,7 +1,7 @@ --- -date: 2023-02-01 +date: 2023-05-01 title: Cal-ITP Transit Benefits Overview Presentation -asset: https://docs.google.com/presentation/d/1Vawi8d70jtKfL-u5lwM05CcDyQ5zB764/edit?usp=share_link&ouid=107888682452903153368&rtpof=true&sd=true +asset: https://drive.google.com/file/d/1UhNTnJAEABnCOFFZ-1xBHDoTYe322t-G/view?usp=share_link category: Fact Sheets & Overviews tags: - Benefits From 36ac29198f709f8921ba58d8804b7ea7531ab5be Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 31 May 2023 22:39:58 +0000 Subject: [PATCH 096/277] refactor(css): remove no longer used class --- src/stylesheets/main.css | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index f3e476c9..9bdaeb23 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -187,10 +187,6 @@ p.important { background-color: #00775d; color: white; } -.purple-link { - background-color: #4c387a; - color: white; -} .gold-link { background-color: #c8700a; color: white; @@ -202,8 +198,6 @@ p.important { .blue-link:hover, .green-link:focus, .green-link:hover, -.purple-link:focus, -.purple-link:hover, .gold-link:focus, .gold-link:hover { color: white; From d404ffb6f8eee6dc9c981f31e3119973e66c97b3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 31 May 2023 22:44:35 +0000 Subject: [PATCH 097/277] refactor(css): use --bs-body-color for #212121 --- src/stylesheets/main.css | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 9bdaeb23..54b31665 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,9 +1,12 @@ +body { + --bs-body-color: #212121; +} + h1, h2, h3, h4 { font-family: "Raleway", sans-serif; - color: #212121; } h1 { @@ -32,7 +35,6 @@ p, a, li { font-family: "Poppins", sans-serif; - color: #212121; font-size: 16px; line-height: 140%; } @@ -56,7 +58,7 @@ picture.railway img { } footer { - background-color: #212121; + background-color: var(--bs-body-color); } footer nav { @@ -64,7 +66,7 @@ footer nav { } footer nav .links a { - color: white; + color: var(--bs-white); text-decoration: none; } @@ -161,7 +163,7 @@ p.important { .box h3, .box a, .box li { - color: white; + color: var(--bs-white); } #details #enabling-contactless-payment { @@ -177,19 +179,19 @@ p.important { .red-link { background-color: #db5461; - color: white; + color: var(--bs-white); } .blue-link { background-color: #046b99; - color: white; + color: var(--bs-white); } .green-link { background-color: #00775d; - color: white; + color: var(--bs-white); } .gold-link { background-color: #c8700a; - color: white; + color: var(--bs-white); } .red-link:focus, @@ -200,7 +202,7 @@ p.important { .green-link:hover, .gold-link:focus, .gold-link:hover { - color: white; + color: var(--bs-white); text-decoration-style: dotted; } @@ -221,7 +223,7 @@ p.important { font-weight: 700; font-size: 16px; text-align: center; - color: #fff; + color: var(--bs-white); line-height: 40px; width: 40px; height: 40px; @@ -471,7 +473,7 @@ p.important { width: 100%; left: 0; top: 110px; - background: white; + background: var(--bs-white); } .navbar-nav .nav-link { From d00e01eb4208cac204394f0d378dde46280ce694 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 31 May 2023 23:00:22 +0000 Subject: [PATCH 098/277] refactor(colors): add calitp-green-4, orange, red, purple --- src/stylesheets/main.css | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 54b31665..878fdd01 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,5 +1,12 @@ body { --bs-body-color: #212121; + --calitp-primary-blue: #046b99; + --calitp-green-4: #00755b; + --calitp-orange-5: #b25600; + --calitp-red-4: #c03f4d; + --calitp-red-5: #b00719; + --calitp-purple-4: #5b559c; + --calitp-purple-5: #292278; } h1, @@ -178,19 +185,15 @@ p.important { } .red-link { - background-color: #db5461; + background-color: var(--calitp-red-5); color: var(--bs-white); } .blue-link { - background-color: #046b99; + background-color: var(--calitp-primary-blue); color: var(--bs-white); } .green-link { - background-color: #00775d; - color: var(--bs-white); -} -.gold-link { - background-color: #c8700a; + background-color: var(--calitp-green-4); color: var(--bs-white); } @@ -199,9 +202,7 @@ p.important { .blue-link:focus, .blue-link:hover, .green-link:focus, -.green-link:hover, -.gold-link:focus, -.gold-link:hover { +.green-link:hover { color: var(--bs-white); text-decoration-style: dotted; } @@ -232,19 +233,19 @@ p.important { } #facts ol li:nth-child(1):before { - background: #046b99; + background: var(--calitp-primary-blue); } #facts ol li:nth-child(2):before { - background: #c8700a; + background: var(--calitp-orange-5); } #facts ol li:nth-child(3):before { - background: #db5461; + background: var(--calitp-red-5); } #facts ol li:nth-child(4):before { - background: #4c387a; + background: var(--calitp-purple-5); } #reachout { @@ -352,24 +353,24 @@ p.important { margin-bottom: 5em; } #details #enabling-contactless-payment { - background-color: #c64e5a; + background-color: var(--calitp-red-4); background-image: initial; } #details #automating-customer-discounts { - background-color: #046b99; + background-color: var(--calitp-primary-blue); background-image: initial; margin-bottom: 0; } #details #standardizing-trip-quality { - background-color: #5b559c; + background-color: var(--calitp-purple-4); background-image: initial; } #lastminute #connect { - background-color: #c64e5a; + background-color: var(--calitp-red-4); background-image: initial; } #lastminute #update { - background-color: #c8700b; + background-color: var(--calitp-orange-5); background-image: initial; } } From 0bdfb9a953af2e27e63de0ee3da18826c8b7cb68 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 31 May 2023 23:04:54 +0000 Subject: [PATCH 099/277] refactor(css): add cyan-1 --- src/stylesheets/main.css | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 878fdd01..83838c1c 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -7,6 +7,7 @@ body { --calitp-red-5: #b00719; --calitp-purple-4: #5b559c; --calitp-purple-5: #292278; + --calitp-cyan-1: #d5eef5; } h1, @@ -56,7 +57,7 @@ main.container { } .navbar-nav { - --bs-nav-link-color: #212121; + --bs-nav-link-color: var(--bs-body-color); } picture.railway img { @@ -105,11 +106,6 @@ p.important { margin-bottom: 50px; } -.links a { - color: #323a45; - font-size: 16px; -} - #triforce { width: 100%; } @@ -457,7 +453,7 @@ p.important { } .navbar-nav { - --bs-nav-link-color: #212121; + --bs-nav-link-color: var(--bs-body-color); --bs-navbar-nav-link-padding-y: 0; --bs-nav-link-padding-y: 0; } @@ -479,7 +475,7 @@ p.important { .navbar-nav .nav-link { padding: 23.8px 0 28.8px 12px; - border-bottom: 1px solid #d5eef5; + border-bottom: 1px solid var(--calitp-cyan-1); } .navbar-nav { From 9005fefd221413d92d48b4251c30c59b1028a514 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 02:11:23 +0000 Subject: [PATCH 100/277] fix: update colors from Segacy --- src/stylesheets/main.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 83838c1c..e1a3cc90 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -2,10 +2,11 @@ body { --bs-body-color: #212121; --calitp-primary-blue: #046b99; --calitp-green-4: #00755b; + --calitp-green-5: #004939; --calitp-orange-5: #b25600; --calitp-red-4: #c03f4d; - --calitp-red-5: #b00719; - --calitp-purple-4: #5b559c; + --calitp-red-5: #a02e3b; + --calitp-purple-4: #524c8f; --calitp-purple-5: #292278; --calitp-cyan-1: #d5eef5; } From c5565089beeda7ba0e592362392a03758afd42d0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 02:20:56 +0000 Subject: [PATCH 101/277] fix: green link is now green-5 --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index e1a3cc90..32c50d75 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -190,7 +190,7 @@ p.important { color: var(--bs-white); } .green-link { - background-color: var(--calitp-green-4); + background-color: var(--calitp-green-5); color: var(--bs-white); } From 0d812eb4dfd764ca5e22d84f6b467ebf4484e988 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 02:21:39 +0000 Subject: [PATCH 102/277] fix: number 4 is purple 4 --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 32c50d75..7d462849 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -242,7 +242,7 @@ p.important { } #facts ol li:nth-child(4):before { - background: var(--calitp-purple-5); + background: var(--calitp-purple-4); } #reachout { From 10eeb7f84fc98b16bd2a6bb9062720a41ba3a8c5 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 02:24:30 +0000 Subject: [PATCH 103/277] fix: bottom 2 boxes are slate-5 --- src/stylesheets/main.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 7d462849..265b1e5a 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -8,6 +8,7 @@ body { --calitp-red-5: #a02e3b; --calitp-purple-4: #524c8f; --calitp-purple-5: #292278; + --calitp-slate-5: #243d51; --calitp-cyan-1: #d5eef5; } @@ -363,11 +364,11 @@ p.important { background-image: initial; } #lastminute #connect { - background-color: var(--calitp-red-4); + background-color: var(--calitp-slate-5); background-image: initial; } #lastminute #update { - background-color: var(--calitp-orange-5); + background-color: var(--calitp-slate-5); background-image: initial; } } From abda7f227d3d953a4506e7d66efef4117f3a2e11 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 03:43:45 +0000 Subject: [PATCH 104/277] refactor(css): convert hex to rgb --- src/stylesheets/main.css | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 265b1e5a..35eee319 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,15 +1,15 @@ body { - --bs-body-color: #212121; - --calitp-primary-blue: #046b99; - --calitp-green-4: #00755b; - --calitp-green-5: #004939; - --calitp-orange-5: #b25600; - --calitp-red-4: #c03f4d; - --calitp-red-5: #a02e3b; - --calitp-purple-4: #524c8f; - --calitp-purple-5: #292278; - --calitp-slate-5: #243d51; - --calitp-cyan-1: #d5eef5; + --bs-body-color: rgb(33, 33, 33); /* #212121 */ + --calitp-primary-blue: rgb(4, 107, 153); /* #046b99 */ + --calitp-cyan-1: rgb(213, 238, 245); /* #d5eef5 */ + --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 */ } h1, From 8362cb2ae5dc5a4ef773df3140b1e8c64ea6a2fe Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 03:45:05 +0000 Subject: [PATCH 105/277] refactor: use cyan-1 var --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 35eee319..a8df7c1f 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -55,7 +55,7 @@ main.container { .navbar { --bs-navbar-padding-y: 0; - box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04); + box-shadow: 0px 4px 4px var(--calitp-cyan-1); } .navbar-nav { From 81b09623ba398629355a45f93b8e0bfaf1394957 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 03:50:24 +0000 Subject: [PATCH 106/277] fix(nav): no color needed here --- src/stylesheets/main.css | 1 - 1 file changed, 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index a8df7c1f..d3e560e7 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -55,7 +55,6 @@ main.container { .navbar { --bs-navbar-padding-y: 0; - box-shadow: 0px 4px 4px var(--calitp-cyan-1); } .navbar-nav { From e942af0e6e165ebfa9b5f0f945640a28d57dce69 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 03:59:18 +0000 Subject: [PATCH 107/277] fix(navbar): nav bar in mobile had a gap --- src/stylesheets/main.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index d3e560e7..08e2f62f 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -462,8 +462,8 @@ p.important { @media (max-width: 992px) { .navbar-brand { - --bs-navbar-brand-padding-x: 29px; - --bs-navbar-brand-padding-y: 29px; + --bs-navbar-brand-padding-x: 32px; + --bs-navbar-brand-padding-y: 32px; } #mainNav { From 84f1525616f8ff8a3ee68d9eac5b7944fee2e0a3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 04:05:33 +0000 Subject: [PATCH 108/277] refactor(css): use vars for type --- src/stylesheets/main.css | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 08e2f62f..258c5341 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,3 +1,10 @@ +: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"; +} + body { --bs-body-color: rgb(33, 33, 33); /* #212121 */ --calitp-primary-blue: rgb(4, 107, 153); /* #046b99 */ @@ -16,7 +23,7 @@ h1, h2, h3, h4 { - font-family: "Raleway", sans-serif; + font-family: var(--calitp-headline-sans-serif); } h1 { @@ -44,7 +51,6 @@ h4, p, a, li { - font-family: "Poppins", sans-serif; font-size: 16px; line-height: 140%; } From 7c6dc56ec5caf611311371d4683e34fb6976cc6a Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 04:23:50 +0000 Subject: [PATCH 109/277] refactor(type): use bootstrap h styles, override if different --- src/stylesheets/main.css | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 258c5341..751091e3 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -28,17 +28,15 @@ h4 { h1 { font-weight: 700; - font-size: 40px; - line-height: 120%; margin-bottom: 19px; } -h2 { +/* h2 { font-size: 36px; -} +} */ h3 { - font-size: 30px; + font-size: 24px; } h4, From 5428fd7a4113825c47180b1cc1af37baa6f6a8f5 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 04:32:55 +0000 Subject: [PATCH 110/277] fix: font size fixes --- src/stylesheets/main.css | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 751091e3..30b47b8e 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -31,19 +31,14 @@ h1 { margin-bottom: 19px; } -/* h2 { - font-size: 36px; -} */ - h3 { font-size: 24px; } h4, .h4 { - font-size: 1rem; font-weight: 700; - line-height: 22.4px; + line-height: 140%; } p, @@ -278,10 +273,6 @@ p.important { align-items: center; } -#lastminute h3 { - font-size: 25px; -} - #lastminute ul { padding-left: 1rem; } From b56f22ef538cd50716bf13713ff3471cbd7f2afe Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 19:14:54 +0000 Subject: [PATCH 111/277] fix(navbar): bring back box shadow bottom --- src/stylesheets/main.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 30b47b8e..c11890d5 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -58,6 +58,7 @@ main.container { .navbar-nav { --bs-nav-link-color: var(--bs-body-color); + box-shadow: 0px 4px 4px var(--calitp-cyan-1); } picture.railway img { From a606c4a1faaafd2052a5b7a7688b2270503d1180 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 19:37:39 +0000 Subject: [PATCH 112/277] fix(navbar): wrong color, wrong place navbar --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c11890d5..d1143913 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -54,11 +54,11 @@ main.container { .navbar { --bs-navbar-padding-y: 0; + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04); } .navbar-nav { --bs-nav-link-color: var(--bs-body-color); - box-shadow: 0px 4px 4px var(--calitp-cyan-1); } picture.railway img { From 114211d146ae4ee5e94cc4dce9b8dcea5cd26893 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 19:50:53 +0000 Subject: [PATCH 113/277] chore: rebase --- src/images/connect-bg.svg | 16 ---------------- src/images/update-bg.svg | 16 ---------------- src/index.html | 20 +++++++++++--------- src/stylesheets/main.css | 31 ++++++++++++++++++------------- 4 files changed, 29 insertions(+), 54 deletions(-) delete mode 100644 src/images/connect-bg.svg delete mode 100644 src/images/update-bg.svg 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 @@ -<svg width="421" height="398" viewBox="0 0 421 398" fill="none" xmlns="http://www.w3.org/2000/svg"> -<g filter="url(#filter0_d)"> -<path d="M20.525 49.1583C21.1707 36.6008 31.0428 26.4769 43.58 25.5153L364.246 0.918102C378.044 -0.140254 390.076 10.2109 391.091 24.0117L416.027 363.167C417.092 377.657 405.624 390 391.094 390H29.3185C15.0071 390 3.61655 378.009 4.35143 363.716L20.525 49.1583Z" fill="#C64E5A"/> -</g> -<defs> -<filter id="filter0_d" x="0.31778" y="0.84375" width="419.778" height="397.156" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> -<feFlood flood-opacity="0" result="BackgroundImageFix"/> -<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> -<feOffset dy="4"/> -<feGaussianBlur stdDeviation="2"/> -<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/> -<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/> -<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/> -</filter> -</defs> -</svg> 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 @@ -<svg width="378" height="403" viewBox="0 0 378 403" fill="none" xmlns="http://www.w3.org/2000/svg"> -<g filter="url(#filter0_d)"> -<path d="M4.63055 27.9266C3.24583 12.6996 15.7324 -0.19221 30.9959 0.705637L350.468 19.4981C363.682 20.2754 374 31.218 374 44.455V369.871C374 383.678 362.807 394.871 349 394.871H60.8297C47.8999 394.871 37.1034 385.012 35.9324 372.135L4.63055 27.9266Z" fill="#C8700A"/> -</g> -<defs> -<filter id="filter0_d" x="0.525452" y="0.661377" width="377.475" height="402.21" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> -<feFlood flood-opacity="0" result="BackgroundImageFix"/> -<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> -<feOffset dy="4"/> -<feGaussianBlur stdDeviation="2"/> -<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/> -<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/> -<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/> -</filter> -</defs> -</svg> diff --git a/src/index.html b/src/index.html index bb7011e9..892c192b 100644 --- a/src/index.html +++ b/src/index.html @@ -220,36 +220,38 @@ <h2>The time is now—reach out to help and to learn more</h2> src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" width="80" /></picture> - <h3>Connect with Cal-ITP</h3> - <p>Drop us a line at + <h3 class="text-white">Connect with Cal-ITP</h3> + <p class="text-white">Drop us a line at <a rel="noreferrer" target="_blank" href="mailto:hello@calitp.org">hello@calitp.org</a> to</p> <ul> - <li>request technical assistance</li> - <li>get more information</li> - <li>offer collaborative support</li> - <li>join our email list for updates</li> + <li class="text-white">request technical assistance</li> + <li class="text-white">get more information</li> + <li class="text-white">offer collaborative support</li> + <li class="text-white">join our email list for updates</li> </ul> </section> </section> - <section id="update" class="box"> + <section id="update"> <section class="blob"> <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" width="80" /></picture> - <h3>Stay up to date</h3> - <p> + <h3 class="text-white">Stay up to date</h3> + <p class="text-white"> See our <a + class="text-white" href="https://dot.ca.gov/cal-itp" rel="noreferrer" target="_blank">latest milestones</a>, and subscribe to the <a + class="text-white" href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" rel="noreferrer" target="_blank">Caltrans Mobility Newsletter</a>, a free biweekly resource with frequent Cal-ITP project updates. diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index d1143913..c33303be 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -249,7 +249,16 @@ p.important { padding-top: 80px; } -#lastminute { +#lastminute #connect { + background-color: #c64e5a; + background-image: initial; +} +#lastminute #update { + background-color: #c8700b; + background-image: initial; +} + +/* #lastminute { display: grid; grid-template-rows: 1fr; grid-template-columns: min-content min-content; @@ -259,13 +268,6 @@ p.important { margin-bottom: 5em; } -#lastminute #connect { - background-image: url("../images/connect-bg.svg"); -} -#lastminute #update { - background-image: url("../images/update-bg.svg"); -} - #lastminute .box { width: 400px; height: 400px; @@ -297,7 +299,7 @@ p.important { #lastminute #update.box .blob { padding-left: 15px; -} +} */ .right-callout { max-width: 700px; @@ -337,14 +339,14 @@ p.important { .callout picture img { width: 100px; } - #lastminute { + /* #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: var(--calitp-red-4); background-image: initial; @@ -358,6 +360,7 @@ p.important { background-color: var(--calitp-purple-4); background-image: initial; } +<<<<<<< HEAD #lastminute #connect { background-color: var(--calitp-slate-5); background-image: initial; @@ -366,6 +369,8 @@ p.important { background-color: var(--calitp-slate-5); background-image: initial; } +======= +>>>>>>> 9563986 (feat(home): first pass at removing image, css) } @media (max-width: 768px) { @@ -412,14 +417,14 @@ p.important { #details .box { width: 100%; } - #lastminute { + /* #lastminute { margin-left: 5vw; margin-right: 5vw; } #lastminute .box { width: 100%; border-radius: 15px; - } + } */ .blob { padding: 1em; From 41d2b42cd85bdf8539c5128cae6590f89de86be0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 19:51:52 +0000 Subject: [PATCH 114/277] chore: rebase --- src/_includes/footer.html | 25 +++++++++-- src/index.html | 89 +++++++++++++++++++-------------------- src/stylesheets/main.css | 39 +++-------------- 3 files changed, 71 insertions(+), 82 deletions(-) diff --git a/src/_includes/footer.html b/src/_includes/footer.html index 2f2aaa7c..394f6295 100644 --- a/src/_includes/footer.html +++ b/src/_includes/footer.html @@ -1,10 +1,27 @@ <footer> <nav> <ul class="links"> - <li><a rel="noreferrer" href="#">Back to top</a></li> - <li><a rel="noreferrer" target="_blank" href="https://dot.ca.gov/privacy-policy">Privacy policy</a></li> - <li><a rel="noreferrer" target="_blank" href="https://www.ca.gov/use/">Conditions of use</a></li> - <li><a rel="noreferrer" target="_blank" href="https://registertovote.ca.gov/">Register to vote</a></li> + <li> + <a rel="noreferrer" href="#">Back to top</a> + </li> + <li> + <a + rel="noreferrer" + target="_blank" + href="https://dot.ca.gov/privacy-policy">Privacy policy</a> + </li> + <li> + <a + rel="noreferrer" + target="_blank" + href="https://www.ca.gov/use/">Conditions of use</a> + </li> + <li> + <a + rel="noreferrer" + target="_blank" + href="https://registertovote.ca.gov/">Register to vote</a> + </li> </ul> </nav> </footer> diff --git a/src/index.html b/src/index.html index 892c192b..a45804d2 100644 --- a/src/index.html +++ b/src/index.html @@ -213,49 +213,48 @@ <h2>The time is now—reach out to help and to learn more</h2> </div> </section> -<section id="lastminute"> - <section id="connect" class="box"> - <section class="blob"> - <picture><img - src="images/connect.png" - alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" - width="80" /></picture> - <h3 class="text-white">Connect with Cal-ITP</h3> - <p class="text-white">Drop us a line at - <a - rel="noreferrer" - target="_blank" - href="mailto:hello@calitp.org">hello@calitp.org</a> - to</p> - <ul> - <li class="text-white">request technical assistance</li> - <li class="text-white">get more information</li> - <li class="text-white">offer collaborative support</li> - <li class="text-white">join our email list for updates</li> - </ul> - </section> - </section> - - <section id="update"> - <section class="blob"> - <picture><img - src="images/stay-up-to-date.png" - alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" - width="80" /></picture> - <h3 class="text-white">Stay up to date</h3> - <p class="text-white"> - See our - <a - class="text-white" - href="https://dot.ca.gov/cal-itp" - rel="noreferrer" - target="_blank">latest milestones</a>, and subscribe to the - <a - class="text-white" - href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" - rel="noreferrer" - target="_blank">Caltrans Mobility Newsletter</a>, a free biweekly resource with frequent Cal-ITP project updates. - </p> - </section> - </section> +<section class="row justify-content-md-center mt-5 mb-5 pb-5"> + <div class="background-slate-5 shadow p-3 p-md-4 col-md-4 col-12 rounded rounded-4 text-center"> + <picture><img + src="images/connect.png" + alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" + width="80" /></picture> + <h3 class="text-white">Connect with Cal-ITP</h3> + <span class="text-white">Drop us a line at + <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a> + to:</span> + <ul class="text-center ms-2 ms-md-4 ms-lg-5"> + <li class="text-white text-start">request technical assistance</li> + <li class="text-white text-start">get more information</li> + <li class="text-white text-start">offer collaborative support</li> + <li class="text-white text-start">join our email list for updates</li> + </ul> + </div> + <div class="col-md-auto"> + + </div> + <div class="background-slate-5 shadow p-4 col-md-4 col-12 rounded rounded-4 text-center"> + <picture><img + src="images/stay-up-to-date.png" + alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" + width="80" /></picture> + <h3 class="text-white">Stay up to date</h3> + <p class="text-white text-start"> + See our + <a + class="text-white" + href="https://dot.ca.gov/cal-itp" + rel="noreferrer" + target="_blank">latest milestones</a>, and subscribe to the + <a + class="text-white" + href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" + rel="noreferrer" + target="_blank">Caltrans Mobility Newsletter</a>, a free biweekly resource with frequent Cal-ITP project updates. + </p> + </div> </section> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c33303be..b1971790 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -19,6 +19,10 @@ body { --calitp-slate-5: rgb(36, 61, 81); /* #243d51 */ } +.background-slate-5 { + background-color: var(--calitp-slate-5); +} + h1, h2, h3, @@ -249,7 +253,7 @@ p.important { padding-top: 80px; } -#lastminute #connect { +<<<<<<< HEAD #lastminute #connect { background-color: #c64e5a; background-image: initial; } @@ -301,7 +305,7 @@ p.important { padding-left: 15px; } */ -.right-callout { +=======>>>>>>>38a8be3 (refactor(home): create bg-slate class, use for sections) .right-callout { max-width: 700px; } @@ -339,14 +343,6 @@ p.important { .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: var(--calitp-red-4); background-image: initial; @@ -360,17 +356,6 @@ p.important { background-color: var(--calitp-purple-4); background-image: initial; } -<<<<<<< HEAD - #lastminute #connect { - background-color: var(--calitp-slate-5); - background-image: initial; - } - #lastminute #update { - background-color: var(--calitp-slate-5); - background-image: initial; - } -======= ->>>>>>> 9563986 (feat(home): first pass at removing image, css) } @media (max-width: 768px) { @@ -417,18 +402,6 @@ p.important { #details .box { width: 100%; } - /* #lastminute { - margin-left: 5vw; - margin-right: 5vw; - } - #lastminute .box { - width: 100%; - border-radius: 15px; - } */ - - .blob { - padding: 1em; - } } @media (min-width: 1441px) { From 2375bc4dad9cc8dd2a34a8e8d042fc74bca38f55 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 05:56:00 +0000 Subject: [PATCH 115/277] fix(home): add padding y around h3 --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index a45804d2..ab59d93b 100644 --- a/src/index.html +++ b/src/index.html @@ -219,7 +219,7 @@ <h2>The time is now—reach out to help and to learn more</h2> src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" width="80" /></picture> - <h3 class="text-white">Connect with Cal-ITP</h3> + <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <span class="text-white">Drop us a line at <a rel="noreferrer" @@ -242,7 +242,7 @@ <h3 class="text-white">Connect with Cal-ITP</h3> src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" width="80" /></picture> - <h3 class="text-white">Stay up to date</h3> + <h3 class="text-white d-block my-4">Stay up to date</h3> <p class="text-white text-start"> See our <a From e6e6da6c16cf0a21081b9ee5c16412bea5566582 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 19:53:27 +0000 Subject: [PATCH 116/277] chore: fix terrible rebase job --- src/stylesheets/main.css | 54 +--------------------------------------- 1 file changed, 1 insertion(+), 53 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index b1971790..ef81a0cd 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -253,59 +253,7 @@ p.important { padding-top: 80px; } -<<<<<<< HEAD #lastminute #connect { - background-color: #c64e5a; - background-image: initial; -} -#lastminute #update { - background-color: #c8700b; - background-image: initial; -} - -/* #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; -} - -#lastminute .box { - width: 400px; - height: 400px; - display: grid; - justify-content: center; - align-items: center; -} - -#lastminute ul { - padding-left: 1rem; -} -#lastminute .box picture { - justify-self: center; - align-self: center; -} -#lastminute .box p { - margin-bottom: 0; -} -#lastminute .box picture img { - width: 80px; -} - -#lastminute .box .blob { - width: 260px; - display: grid; - grid-template-rows: 130px min-content auto; - height: 350px; -} - -#lastminute #update.box .blob { - padding-left: 15px; -} */ - -=======>>>>>>>38a8be3 (refactor(home): create bg-slate class, use for sections) .right-callout { +.right-callout { max-width: 700px; } From 67b6280725e3b7d3f19c88c3b1dba79d71b40763 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 20:58:29 +0000 Subject: [PATCH 117/277] feat(press): design the press layout --- src/_layouts/press.html | 25 ++++++++++++++----------- src/_press/cal-itp-benefits-launch.md | 2 +- src/stylesheets/main.css | 17 +++++++++++++++++ 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index 38315f13..00661833 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -13,15 +13,18 @@ {% assign location = page.location | default: "Sacramento, CA" %} {% unless page.external %} - <article class="press-release"> - <a href="/press">Press</a> - <h1 class="h2">{{ page.heading }}</h1> - {% if page.lead %} - <p>{{ page.lead }}</p> - {% endif %} - <hr/> - <p class="immediate-release">For immediate release</p> - <p>{{ date | append: location | append: "—" | append: page.intro }}</p> - {{ page.content }} - </article> + <div class="row justify-content-center"> + <div class="col-lg-8 col-md-8"> + <article class="press-release pb-5 mb-5"> + <a class="d-block text-decoration-none mb-2 pt-3 mt-5 text-primary-blue" href="/press">Press</a> + <h1 class="h2">{{ page.heading }}</h1> + {% if page.lead %} + <p>{{ page.lead }}</p> + {% endif %} + <p class="d-block border-top border-secondary pt-5 mt-5 pb-2 text-uppercase fw-semibold">For immediate release</p> + <p>{{ date | append: location | append: "—" | append: page.intro }}</p> + {{ page.content }} + </article> + </div> + </div> {% endunless %} diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md index 24dbb9fb..863e112a 100644 --- a/src/_press/cal-itp-benefits-launch.md +++ b/src/_press/cal-itp-benefits-launch.md @@ -87,7 +87,7 @@ 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 +## <u>About this demonstration project’s stakeholders</u> ### Cal-ITP diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index d1143913..c48789d2 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,4 +1,5 @@ :root { +<<<<<<< HEAD --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", @@ -17,6 +18,9 @@ body { --calitp-red-4: rgb(192, 63, 77); /* #c03f4d */ --calitp-red-5: rgb(160, 46, 59); /* #a02e3b */ --calitp-slate-5: rgb(36, 61, 81); /* #243d51 */ +======= + --bs-secondary-rgb: 238, 238, 238; +>>>>>>> 1b3d632 (feat(press): design the press layout) } h1, @@ -61,6 +65,19 @@ main.container { --bs-nav-link-color: var(--bs-body-color); } +.press-release a { + color: #046b99; + font-weight: 600; +} + +.press-release h2, +.press-release h3 { + font-size: 1rem; + padding-top: 20px; + font-weight: 700; + font-family: "Poppins", sans serif; +} + picture.railway img { width: 100%; margin: 7.25rem 0; From c1537bb6322bc1017ac46effc69e0ec9a8d8afdd Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 1 Jun 2023 04:07:03 +0000 Subject: [PATCH 118/277] fix: format underline --- src/_press/cal-itp-coast-rta-msa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md index d9cfea1f..6b5fd272 100644 --- a/src/_press/cal-itp-coast-rta-msa.md +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -91,7 +91,7 @@ Cybersource, a Visa solution, serves as both the gateway and payment management 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 +## <u>About this project's stakeholders</u> ### Cal-ITP From e433ae3ac895ef8e17b976ed5956422aca48e4c4 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 21:20:03 +0000 Subject: [PATCH 119/277] chore: rebase --- src/stylesheets/main.css | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c48789d2..acd222a3 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -1,5 +1,4 @@ :root { -<<<<<<< HEAD --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", @@ -18,9 +17,7 @@ body { --calitp-red-4: rgb(192, 63, 77); /* #c03f4d */ --calitp-red-5: rgb(160, 46, 59); /* #a02e3b */ --calitp-slate-5: rgb(36, 61, 81); /* #243d51 */ -======= --bs-secondary-rgb: 238, 238, 238; ->>>>>>> 1b3d632 (feat(press): design the press layout) } h1, From f02004f28bc11f5569e297a155497f27df59283d Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 21:28:41 +0000 Subject: [PATCH 120/277] feat(index): first pass at tabbed interface for Initiatives --- src/_layouts/default.html | 1 - src/index.html | 257 +++++++++++++++++++++++++++++++++++++- src/stylesheets/main.css | 158 ++++++++++++++++------- 3 files changed, 366 insertions(+), 50 deletions(-) diff --git a/src/_layouts/default.html b/src/_layouts/default.html index 047ac4c7..be8c5edc 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -8,7 +8,6 @@ {% include header.html %} <main class="container">{{ content }}</main> {% include footer.html %} - <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" diff --git a/src/index.html b/src/index.html index ab59d93b..c9eeb96d 100644 --- a/src/index.html +++ b/src/index.html @@ -31,6 +31,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> id="tracks-0-sm" src="images/tracks-divider-0-sm.png" alt="Decorative element with dots and dashes, meant to resemble a transit map" /> +<<<<<<< HEAD </picture> <section id="about" class="row justify-content-center pb-md-3 mb-md-2 pb-4 mb-3"> @@ -193,6 +194,260 @@ <h3>Standardizing information for easy trip planning</h3> </section> </section> </section> +======= +</picture> + +<section id="about" class="row justify-content-center"> + <div class="col-12 col-md-8 col-lg-6"> + <h2>Bringing industry standards to California’s transit providers</h2> + <p> + 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. + </p> + <p> + The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and + increases expenses for individual providers. + </p> + <p> + Supported by the + <a + rel="noreferrer" + target="_blank" + class="red-link" + href="https://calsta.ca.gov/">California State Transportation Agency</a> + (CalSTA) and the + <a + rel="noreferrer" + target="_blank" + class="green-link" + href="https://dot.ca.gov/ ">California Department of Transportation</a> + (Caltrans) through a grant from the + <a + rel="noreferrer" + target="_blank" + class="blue-link" + href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog">California Transit and Intercity Rail Capital Program</a> + (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and + cost-effective for everyone. + </p> + </div> +</section> + +<section id="funfacts" class="row justify-content-center"> + <div class="col-12 col-md-8 col-lg-6"> + <h2>Helping California achieve critical goals through transportation</h2> + <p class="important"> + 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. + </p> + + <section id="facts"> + <picture><img + id="goal-1" + src="images/number-1.png" + alt="Number 1" /></picture> + <section> + <h3>Improve the customer experience</h3> + </section> + + <picture><img + id="goal-2" + src="images/number-2.png" + alt="Number 2" /></picture> + <section> + <h3>Increase transit ridership</h3> + </section> + + <picture><img + id="goal-3" + src="images/number-3.png" + alt="Number 3" /></picture> + <section> + <h3>Lower costs for transit providers and riders</h3> + </section> + + <picture><img + id="goal-4" + src="images/number-4.png" + alt="Number 4" /></picture> + <section> + <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> + </section> + </section> + </div> +>>>>>>> 6273678 (feat(index): first pass at tabbed interface for Initiatives) +</section> + +<picture class="railway"> + <img + id="tracks-1" + src="images/tracks-divider-1.png" + alt="Decorative element with dots and dashes, meant to resemble a transit map" /> +</picture> + +<section id="details"> + <div class="row d-flex justify-content-between"> + <div class="col-12 col-lg-6"> + <h2 class="text-center text-lg-start">Explore our initiatives</h2> + </div> + <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center"> + <ul + class="nav nav-pills nav-fill mb-3 gap-2" + id="pills-tab" + role="tablist"> + <li class="nav-item" role="presentation"> + <button + class="nav-link active" + id="pills-home-tab" + data-bs-toggle="pill" + data-bs-target="#pills-home" + type="button" + role="tab" + aria-controls="pills-home" + aria-selected="true">Contactless Payments</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-profile-tab" + data-bs-toggle="pill" + data-bs-target="#pills-profile" + type="button" + role="tab" + aria-controls="pills-profile" + aria-selected="false">Benefits</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-contact-tab" + data-bs-toggle="pill" + data-bs-target="#pills-contact" + type="button" + role="tab" + aria-controls="pills-contact" + aria-selected="false">GTFS</button> + </li> + </ul> + </div> + </div> + + <div class="tab-content" id="pills-tabContent"> + <div + class="tab-pane fade show active" + id="pills-home" + role="tabpanel" + aria-labelledby="pills-home-tab" + tabindex="0"> + <div id="enabling-contactless-payment" class="rounded px-3 py-5"> + <div class="row"> + <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <img + 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" /> + </picture> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Enabling contactless payments</h3> + <p class="text-white"> + 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. + </p> + <p class="text-white"> + Starting with + <a + class="text-white" + href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" + rel="noreferrer" + target="_blank">Monterey-Salinas Transit</a>, 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. + </p> + <div class="d-grid d-md-block"> + <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> + </div> + </div> + </div> + </div> + </div> + <div + class="tab-pane fade" + id="pills-profile" + role="tabpanel" + aria-labelledby="pills-profile-tab" + tabindex="0"> + <div id="automating-customer-discounts" class="rounded px-3 py-5"> + <div class="row"> + <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <img + src="images/automating-customer-discounts.png" + alt="Checking a state-issued identification" + width="78" /> + </picture> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Automating customer discounts</h3> + <p class="text-white"> + Our + <a + class="text-white" + rel="noreferrer" + target="_blank" + href="https://benefits.calitp.org">Cal-ITP Benefits</a> + web application + streamlines the process for transit riders to instantly qualify for and receive discounts, starting with + <a + class="text-white" + rel="noreferrer" + target="_blank" + href="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/">Monterey-Salinas Transit</a> + (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to + <a + class="text-white" + href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" + target="_blank">electronically verify their identity</a> + are able to access MST's reduced fares without the hassle of paperwork. + </p> + <p class="text-white"> + 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. + </p> + <div class="d-grid d-md-block"> + <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> + </div> + </div> + </div> + </div> + </div> + <div + class="tab-pane fade" + id="pills-contact" + role="tabpanel" + aria-labelledby="pills-contact-tab" + tabindex="0"> + <div id="standardizing-trip-quality" class="rounded px-3 py-5"> + <div class="row"> + <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <img + src="images/standardizing-trip-quality.png" + alt="A bus that transits real-time arrival and departure information" + width="78" /> + </picture> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Standardizing information for easy trip planning</h3> + <p class="text-white"> + 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 + <a + class="text-white" + rel="noreferrer" + target="_blank" + href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> + 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. + </p> + <div class="d-grid d-md-block"> + <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> + </div> + </div> + </div> + </div> + </div> + </div> </section> <picture class="railway"> @@ -204,7 +459,7 @@ <h3>Standardizing information for easy trip planning</h3> <section id="reachout" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> - <h2>The time is now—reach out to help and to learn more</h2> + <h2 class="">The time is now—reach out to help and to learn more</h2> <p>This initiative is critical now more than ever.</p> <p> Cal-ITP is working with transportation agencies across the country to launch a program that can immediately improve the diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index ef81a0cd..c0256b1d 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -3,6 +3,7 @@ "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; } body { @@ -131,42 +132,10 @@ p.important { font-size: 24px; } -#details { - margin-top: 50px; - display: grid; - grid-template-rows: repeat(3, 1fr); - grid-template-columns: 1fr; -} - .box { - background-repeat: no-repeat; - background-size: contain; - background-position: center; border-radius: 15px; } -#details .box { - display: grid; - justify-content: center; - align-content: center; - grid-template-columns: 1fr; - grid-template-rows: min-content; - width: 100%; - max-width: 1200px; -} - -#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; -} - .box p, .box h3, .box a, @@ -175,14 +144,15 @@ p.important { } #details #enabling-contactless-payment { - background-image: url("../images/section-1-bg.svg"); + background-color: #c64e5a; } + #details #automating-customer-discounts { - background-image: url("../images/section-2-bg.svg"); - margin-bottom: 1.25rem; + background-color: #046b99; } + #details #standardizing-trip-quality { - background-image: url("../images/section-3-bg.svg"); + background-color: #5b559c; } .red-link { @@ -249,20 +219,91 @@ p.important { background: var(--calitp-purple-4); } +.nav-pills { + --bs-nav-pills-border-radius: 19px; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #212121; +} + +.nav-pills .nav-link { + padding: 0.23rem; + border: 2px solid #212121; + color: #212121; +} + +.nav-pills { + --bs-nav-pills-border-radius: 19px; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #212121; +} + +.nav-pills .nav-link { + padding: 0.23rem; + border: 2px solid #212121; + color: #212121; +} + #reachout { padding-top: 80px; } +<<<<<<< HEAD .right-callout { max-width: 700px; +======= +#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; } -#triforce { - max-width: 450px; +#lastminute #connect { + background-image: url("../images/connect-bg.svg"); +} +#lastminute #update { + background-image: url("../images/update-bg.svg"); } -.callout picture { - text-align: right; +#lastminute .box { + width: 400px; + height: 400px; + display: grid; + justify-content: center; + align-items: center; +} + +#lastminute ul { + padding-left: 1rem; +} +#lastminute .box picture { + justify-self: center; + align-self: center; +} +#lastminute .box p { + margin-bottom: 0; +} +#lastminute .box picture img { + width: 80px; +} + +#lastminute .box .blob { + width: 260px; + display: grid; + grid-template-rows: 130px min-content auto; + height: 350px; +} + +#lastminute #update.box .blob { + padding-left: 15px; +>>>>>>> 27a745e (feat(index): first pass at tabbed interface for Initiatives) +} + +#triforce { + max-width: 450px; } #about h2 { @@ -277,6 +318,7 @@ p.important { justify-items: center; text-align: center; } +<<<<<<< HEAD #details { justify-items: center; grid-template-rows: repeat(3, min-content); @@ -302,6 +344,22 @@ p.important { } #details #standardizing-trip-quality { background-color: var(--calitp-purple-4); +======= + #lastminute { + grid-template-rows: repeat(2, min-content); + grid-template-columns: 1fr; + grid-gap: 2em; + justify-items: center; + margin-top: 5em; + margin-bottom: 5em; + } + #lastminute #connect { + background-color: var(--calitp-slate-5); + background-image: initial; + } + #lastminute #update { + background-color: var(--calitp-slate-5); +>>>>>>> 27a745e (feat(index): first pass at tabbed interface for Initiatives) background-image: initial; } } @@ -326,10 +384,6 @@ p.important { grid-template-columns: repeat(2, max-content); grid-gap: 1em; } - #details .box .callout { - grid-template-rows: min-content 1fr; - grid-template-columns: 1fr; - } } @media (max-width: 540px) { @@ -343,18 +397,26 @@ p.important { grid-gap: initial; grid-gap: 1em; } +<<<<<<< HEAD #details { margin-left: 5vw; margin-right: 5vw; } #details .box { width: 100%; +======= + #lastminute { + margin-left: 5vw; + margin-right: 5vw; + } + #lastminute .box { + width: 100%; + border-radius: 15px; } -} -@media (min-width: 1441px) { - #details { - justify-items: center; + .blob { + padding: 1em; +>>>>>>> 27a745e (feat(index): first pass at tabbed interface for Initiatives) } } From 8f108764ba44822cb1072012e3b44da1d52f0b5f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 17:18:24 +0000 Subject: [PATCH 121/277] chore: rebase fix --- src/index.html | 182 ------------------------------------------------- 1 file changed, 182 deletions(-) diff --git a/src/index.html b/src/index.html index c9eeb96d..aecda27e 100644 --- a/src/index.html +++ b/src/index.html @@ -31,7 +31,6 @@ <h1>A modern and consistent transportation experience throughout California</h1> id="tracks-0-sm" src="images/tracks-divider-0-sm.png" alt="Decorative element with dots and dashes, meant to resemble a transit map" /> -<<<<<<< HEAD </picture> <section id="about" class="row justify-content-center pb-md-3 mb-md-2 pb-4 mb-3"> @@ -104,187 +103,6 @@ <h2 class="text-center text-md-start">Helping California achieve critical goals alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> -<section id="details"> - <section id="enabling-contactless-payment" class="box"> - <section class="callout"> - <picture> - <img - 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="142" /> - </picture> - <section class="right-callout"> - <h3>Enabling contactless payments</h3> - <p> - 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. - </p> - <p> - Starting with - <a - href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" - rel="noreferrer" - target="_blank">Monterey-Salinas Transit</a>, 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. - </p> - <p> - 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 - <a href="{{ site.baseurl }}/assets/Contactless.Payments.MSA.pdf" target="_blank">press release</a>, and - <a href="https://www.camobilitymarketplace.org/contracts" target="_blank">view the MSAs</a>. - </p> - </section> - </section> - </section> - - <section id="automating-customer-discounts" class="box"> - <section class="callout"> - <picture> - <img - src="images/automating-customer-discounts.png" - alt="Checking a state-issued identification" - width="131" /> - </picture> - <section class="right-callout"> - <h3>Automating customer discounts</h3> - <p> - Our - <a - rel="noreferrer" - target="_blank" - href="https://benefits.calitp.org">Cal-ITP Benefits</a> - web application - streamlines the process for transit riders to instantly qualify for and receive discounts, starting with - <a - rel="noreferrer" - target="_blank" - href="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/">Monterey-Salinas Transit</a> - (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to - <a href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" target="_blank">electronically verify their identity</a> - are able to access MST's reduced fares without the hassle of paperwork. - </p> - <p> - 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. - </p> - </section> - </section> - </section> - - <section id="standardizing-trip-quality" class="box"> - <section class="callout"> - <picture> - <img - src="images/standardizing-trip-quality.png" - alt="A bus that transits real-time arrival and departure information" - width="106" /> - </picture> - <section class="right-callout"> - <h3>Standardizing information for easy trip planning</h3> - <p> - 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 - <a - rel="noreferrer" - target="_blank" - href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> - 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. - </p> - </section> - </section> - </section> -======= -</picture> - -<section id="about" class="row justify-content-center"> - <div class="col-12 col-md-8 col-lg-6"> - <h2>Bringing industry standards to California’s transit providers</h2> - <p> - 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. - </p> - <p> - The lack of a consistent experience creates barriers for new customers, complicates travel across different systems, and - increases expenses for individual providers. - </p> - <p> - Supported by the - <a - rel="noreferrer" - target="_blank" - class="red-link" - href="https://calsta.ca.gov/">California State Transportation Agency</a> - (CalSTA) and the - <a - rel="noreferrer" - target="_blank" - class="green-link" - href="https://dot.ca.gov/ ">California Department of Transportation</a> - (Caltrans) through a grant from the - <a - rel="noreferrer" - target="_blank" - class="blue-link" - href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog">California Transit and Intercity Rail Capital Program</a> - (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and - cost-effective for everyone. - </p> - </div> -</section> - -<section id="funfacts" class="row justify-content-center"> - <div class="col-12 col-md-8 col-lg-6"> - <h2>Helping California achieve critical goals through transportation</h2> - <p class="important"> - 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. - </p> - - <section id="facts"> - <picture><img - id="goal-1" - src="images/number-1.png" - alt="Number 1" /></picture> - <section> - <h3>Improve the customer experience</h3> - </section> - - <picture><img - id="goal-2" - src="images/number-2.png" - alt="Number 2" /></picture> - <section> - <h3>Increase transit ridership</h3> - </section> - - <picture><img - id="goal-3" - src="images/number-3.png" - alt="Number 3" /></picture> - <section> - <h3>Lower costs for transit providers and riders</h3> - </section> - - <picture><img - id="goal-4" - src="images/number-4.png" - alt="Number 4" /></picture> - <section> - <h3>Reduce greenhouse gas emissions to reach environmental targets</h3> - </section> - </section> - </div> ->>>>>>> 6273678 (feat(index): first pass at tabbed interface for Initiatives) -</section> - -<picture class="railway"> - <img - id="tracks-1" - src="images/tracks-divider-1.png" - alt="Decorative element with dots and dashes, meant to resemble a transit map" /> -</picture> - <section id="details"> <div class="row d-flex justify-content-between"> <div class="col-12 col-lg-6"> From 8f530f0c69aef1a4b08baf82fa60c10858f1812f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 21:31:12 +0000 Subject: [PATCH 122/277] chore: delete extraneous css --- src/stylesheets/main.css | 98 ---------------------------------------- 1 file changed, 98 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c0256b1d..56d923c6 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -243,63 +243,8 @@ p.important { color: #212121; } -#reachout { - padding-top: 80px; -} - -<<<<<<< HEAD .right-callout { max-width: 700px; -======= -#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; -} - -#lastminute #connect { - background-image: url("../images/connect-bg.svg"); -} -#lastminute #update { - background-image: url("../images/update-bg.svg"); -} - -#lastminute .box { - width: 400px; - height: 400px; - display: grid; - justify-content: center; - align-items: center; -} - -#lastminute ul { - padding-left: 1rem; -} -#lastminute .box picture { - justify-self: center; - align-self: center; -} -#lastminute .box p { - margin-bottom: 0; -} -#lastminute .box picture img { - width: 80px; -} - -#lastminute .box .blob { - width: 260px; - display: grid; - grid-template-rows: 130px min-content auto; - height: 350px; -} - -#lastminute #update.box .blob { - padding-left: 15px; ->>>>>>> 27a745e (feat(index): first pass at tabbed interface for Initiatives) } #triforce { @@ -318,33 +263,6 @@ p.important { justify-items: center; text-align: center; } -<<<<<<< HEAD - #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; - } - #details #enabling-contactless-payment { - background-color: var(--calitp-red-4); - background-image: initial; - } - #details #automating-customer-discounts { - background-color: var(--calitp-primary-blue); - background-image: initial; - margin-bottom: 0; - } - #details #standardizing-trip-quality { - background-color: var(--calitp-purple-4); -======= #lastminute { grid-template-rows: repeat(2, min-content); grid-template-columns: 1fr; @@ -359,7 +277,6 @@ p.important { } #lastminute #update { background-color: var(--calitp-slate-5); ->>>>>>> 27a745e (feat(index): first pass at tabbed interface for Initiatives) background-image: initial; } } @@ -397,14 +314,6 @@ p.important { grid-gap: initial; grid-gap: 1em; } -<<<<<<< HEAD - #details { - margin-left: 5vw; - margin-right: 5vw; - } - #details .box { - width: 100%; -======= #lastminute { margin-left: 5vw; margin-right: 5vw; @@ -416,13 +325,6 @@ p.important { .blob { padding: 1em; ->>>>>>> 27a745e (feat(index): first pass at tabbed interface for Initiatives) - } -} - -@media (min-width: 1024px) { - #reachout { - padding-top: 100px; } } From 42ef510f9ce2a627d1dc377564d077f230f05999 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 17:51:40 +0000 Subject: [PATCH 123/277] chore: formatting --- src/_layouts/default.html | 1 + 1 file changed, 1 insertion(+) diff --git a/src/_layouts/default.html b/src/_layouts/default.html index be8c5edc..047ac4c7 100644 --- a/src/_layouts/default.html +++ b/src/_layouts/default.html @@ -8,6 +8,7 @@ {% include header.html %} <main class="container">{{ content }}</main> {% include footer.html %} + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" From e2116c0483a61cc3810f2c6d87bbe6ff3ff420fe Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 18:34:51 +0000 Subject: [PATCH 124/277] refactor: put into includes --- src/_includes/initiatives.html | 162 ++++++++++++++++++++++++++++++++ src/index.html | 163 +-------------------------------- 2 files changed, 163 insertions(+), 162 deletions(-) create mode 100644 src/_includes/initiatives.html diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html new file mode 100644 index 00000000..0c802b86 --- /dev/null +++ b/src/_includes/initiatives.html @@ -0,0 +1,162 @@ +<div class="row d-flex justify-content-between"> + <div class="col-12 col-lg-6"> + <h2 class="text-center text-lg-start">Explore our initiatives</h2> + </div> + <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center"> + <ul + class="nav nav-pills nav-fill mb-3 gap-2" + id="pills-tab" + role="tablist"> + <li class="nav-item" role="presentation"> + <button + class="nav-link active" + id="pills-home-tab" + data-bs-toggle="pill" + data-bs-target="#pills-home" + type="button" + role="tab" + aria-controls="pills-home" + aria-selected="true">Contactless Payments</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-profile-tab" + data-bs-toggle="pill" + data-bs-target="#pills-profile" + type="button" + role="tab" + aria-controls="pills-profile" + aria-selected="false">Benefits</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-contact-tab" + data-bs-toggle="pill" + data-bs-target="#pills-contact" + type="button" + role="tab" + aria-controls="pills-contact" + aria-selected="false">GTFS</button> + </li> + </ul> + </div> +</div> + +<div class="tab-content" id="pills-tabContent"> + <div + class="tab-pane fade show active" + id="pills-home" + role="tabpanel" + aria-labelledby="pills-home-tab" + tabindex="0"> + <div id="enabling-contactless-payment" class="rounded px-3 py-5"> + <div class="row"> + <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <img + 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" /> + </picture> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Enabling contactless payments</h3> + <p class="text-white"> + 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. + </p> + <p class="text-white"> + Starting with + <a + class="text-white" + href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" + rel="noreferrer" + target="_blank">Monterey-Salinas Transit</a>, 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. + </p> + <div class="d-grid d-md-block"> + <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> + </div> + </div> + </div> + </div> + </div> + <div + class="tab-pane fade" + id="pills-profile" + role="tabpanel" + aria-labelledby="pills-profile-tab" + tabindex="0"> + <div id="automating-customer-discounts" class="rounded px-3 py-5"> + <div class="row"> + <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <img + src="images/automating-customer-discounts.png" + alt="Checking a state-issued identification" + width="78" /> + </picture> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Automating customer discounts</h3> + <p class="text-white"> + Our + <a + class="text-white" + rel="noreferrer" + target="_blank" + href="https://benefits.calitp.org">Cal-ITP Benefits</a> + web application + streamlines the process for transit riders to instantly qualify for and receive discounts, starting with + <a + class="text-white" + rel="noreferrer" + target="_blank" + href="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/">Monterey-Salinas Transit</a> + (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to + <a + class="text-white" + href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" + target="_blank">electronically verify their identity</a> + are able to access MST's reduced fares without the hassle of paperwork. + </p> + <p class="text-white"> + 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. + </p> + <div class="d-grid d-md-block"> + <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> + </div> + </div> + </div> + </div> + </div> + <div + class="tab-pane fade" + id="pills-contact" + role="tabpanel" + aria-labelledby="pills-contact-tab" + tabindex="0"> + <div id="standardizing-trip-quality" class="rounded px-3 py-5"> + <div class="row"> + <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <img + src="images/standardizing-trip-quality.png" + alt="A bus that transits real-time arrival and departure information" + width="78" /> + </picture> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Standardizing information for easy trip planning</h3> + <p class="text-white"> + 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 + <a + class="text-white" + rel="noreferrer" + target="_blank" + href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> + 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. + </p> + <div class="d-grid d-md-block"> + <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> + </div> + </div> + </div> + </div> + </div> +</div> diff --git a/src/index.html b/src/index.html index aecda27e..a75c2bca 100644 --- a/src/index.html +++ b/src/index.html @@ -104,168 +104,7 @@ <h2 class="text-center text-md-start">Helping California achieve critical goals </picture> <section id="details"> - <div class="row d-flex justify-content-between"> - <div class="col-12 col-lg-6"> - <h2 class="text-center text-lg-start">Explore our initiatives</h2> - </div> - <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center"> - <ul - class="nav nav-pills nav-fill mb-3 gap-2" - id="pills-tab" - role="tablist"> - <li class="nav-item" role="presentation"> - <button - class="nav-link active" - id="pills-home-tab" - data-bs-toggle="pill" - data-bs-target="#pills-home" - type="button" - role="tab" - aria-controls="pills-home" - aria-selected="true">Contactless Payments</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-profile-tab" - data-bs-toggle="pill" - data-bs-target="#pills-profile" - type="button" - role="tab" - aria-controls="pills-profile" - aria-selected="false">Benefits</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-contact-tab" - data-bs-toggle="pill" - data-bs-target="#pills-contact" - type="button" - role="tab" - aria-controls="pills-contact" - aria-selected="false">GTFS</button> - </li> - </ul> - </div> - </div> - - <div class="tab-content" id="pills-tabContent"> - <div - class="tab-pane fade show active" - id="pills-home" - role="tabpanel" - aria-labelledby="pills-home-tab" - tabindex="0"> - <div id="enabling-contactless-payment" class="rounded px-3 py-5"> - <div class="row"> - <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> - <img - 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" /> - </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Enabling contactless payments</h3> - <p class="text-white"> - 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. - </p> - <p class="text-white"> - Starting with - <a - class="text-white" - href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" - rel="noreferrer" - target="_blank">Monterey-Salinas Transit</a>, 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. - </p> - <div class="d-grid d-md-block"> - <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> - </div> - </div> - </div> - </div> - </div> - <div - class="tab-pane fade" - id="pills-profile" - role="tabpanel" - aria-labelledby="pills-profile-tab" - tabindex="0"> - <div id="automating-customer-discounts" class="rounded px-3 py-5"> - <div class="row"> - <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> - <img - src="images/automating-customer-discounts.png" - alt="Checking a state-issued identification" - width="78" /> - </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Automating customer discounts</h3> - <p class="text-white"> - Our - <a - class="text-white" - rel="noreferrer" - target="_blank" - href="https://benefits.calitp.org">Cal-ITP Benefits</a> - web application - streamlines the process for transit riders to instantly qualify for and receive discounts, starting with - <a - class="text-white" - rel="noreferrer" - target="_blank" - href="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/">Monterey-Salinas Transit</a> - (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to - <a - class="text-white" - href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" - target="_blank">electronically verify their identity</a> - are able to access MST's reduced fares without the hassle of paperwork. - </p> - <p class="text-white"> - 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. - </p> - <div class="d-grid d-md-block"> - <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> - </div> - </div> - </div> - </div> - </div> - <div - class="tab-pane fade" - id="pills-contact" - role="tabpanel" - aria-labelledby="pills-contact-tab" - tabindex="0"> - <div id="standardizing-trip-quality" class="rounded px-3 py-5"> - <div class="row"> - <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> - <img - src="images/standardizing-trip-quality.png" - alt="A bus that transits real-time arrival and departure information" - width="78" /> - </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Standardizing information for easy trip planning</h3> - <p class="text-white"> - 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 - <a - class="text-white" - rel="noreferrer" - target="_blank" - href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> - 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. - </p> - <div class="d-grid d-md-block"> - <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> - </div> - </div> - </div> - </div> - </div> - </div> + {% include initiatives.html %} </section> <picture class="railway"> From bf3399315b082b4b488fcbd26bdcf92a3dafd9a4 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 18 May 2023 18:36:41 +0000 Subject: [PATCH 125/277] chore: delete rhombus imgs --- src/images/section-1-bg-mobile.svg | 3 --- src/images/section-1-bg-tablet.svg | 3 --- src/images/section-1-bg.svg | 1 - src/images/section-2-bg-mobile.svg | 3 --- src/images/section-2-bg-tablet.svg | 3 --- src/images/section-2-bg.svg | 1 - src/images/section-3-bg-mobile.svg | 3 --- src/images/section-3-bg-tablet.svg | 3 --- src/images/section-3-bg.svg | 1 - 9 files changed, 21 deletions(-) delete mode 100644 src/images/section-1-bg-mobile.svg delete mode 100644 src/images/section-1-bg-tablet.svg delete mode 100644 src/images/section-1-bg.svg delete mode 100644 src/images/section-2-bg-mobile.svg delete mode 100644 src/images/section-2-bg-tablet.svg delete mode 100644 src/images/section-2-bg.svg delete mode 100644 src/images/section-3-bg-mobile.svg delete mode 100644 src/images/section-3-bg-tablet.svg delete mode 100644 src/images/section-3-bg.svg 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 @@ -<svg width="346" height="820" viewBox="0 0 346 820" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M0.654603 36.6113C0.568106 25.919 8.90716 17.0498 19.5846 16.4781L324.599 0.145903C336.172 -0.47375 345.847 8.84097 345.666 20.4286L333.785 783.693C333.622 794.173 325.396 802.749 314.932 803.349L27.974 819.798C16.561 820.452 6.92253 811.424 6.83006 799.992L0.654603 36.6113Z" fill="#C64E5A"/> -</svg> 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 @@ -<svg width="737" height="471" viewBox="0 0 737 471" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M0.800321 41.9759C0.359541 30.8653 9.0658 21.5283 20.1801 21.1922L715.626 0.16149C727.375 -0.193817 736.896 9.61152 736.195 21.3453L712.079 424.939C711.466 435.193 703.186 443.316 692.922 443.73L37.8187 470.192C26.7764 470.638 17.4653 462.044 17.0272 451.001L0.800321 41.9759Z" fill="#C64E5A"/> -</svg> 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 @@ -<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1192 460" style="enable-background:new 0 0 1192 460" xml:space="preserve"><path d="M.4 45.9c-.7-11.4 8.1-21.1 19.5-21.3L1171.4.5c11.7-.2 21.1 9.5 20.4 21.1l-22.7 395.9c-.6 10.4-9.1 18.6-19.6 18.9L46.6 459.6c-10.7.2-19.7-8-20.4-18.7L.4 45.9z" style="fill:#c64e5a"/></svg> 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 @@ -<svg width="342" height="531" viewBox="0 0 342 531" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M12.5424 39.0045C12.8125 28.6854 20.8916 20.2672 31.1908 19.5732L315.367 0.423502C326.835 -0.34922 336.592 8.67878 336.711 20.1712L341.783 510.014C341.901 521.437 332.443 530.638 321.027 530.206L19.7542 518.805C8.80721 518.391 0.230673 509.247 0.517389 498.296L12.5424 39.0045Z" fill="#046B99"/> -</svg> 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 @@ -<svg width="761" height="365" viewBox="0 0 761 365" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M17.9223 47.6826C18.5341 37.4241 26.8208 29.2988 37.0894 28.889L739.225 0.86898C750.937 0.401588 760.539 10.0605 760.001 21.7696L746.32 319.996C745.843 330.4 737.461 338.696 727.053 339.067L20.9861 364.217C9.197 364.637 -0.392623 354.815 0.309583 343.039L17.9223 47.6826Z" fill="#046B99"/> -</svg> 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 @@ -<svg fill="none" preserveAspectRatio="none" viewBox="0 0 1191 350" xmlns="http://www.w3.org/2000/svg"><path d="M28.726 46.05c1.014-10.028 9.332-17.735 19.408-17.983L1169.91.542c11.83-.29 21.32 9.692 20.44 21.489l-21.32 284.368c-.77 10.269-9.21 18.276-19.51 18.5L20.609 349.507C8.596 349.769-.934 339.455.274 327.5z" fill="#046b99"/></svg> 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 @@ -<svg width="336" height="762" viewBox="0 0 336 762" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M0.40851 20.2928C0.40851 8.39128 10.7389 -0.876601 22.5707 0.41007L310.9 31.7649C320.969 32.86 328.63 41.3102 328.736 51.4386L335.798 726.762C335.911 737.519 327.495 746.438 316.75 746.949L21.3591 761.003C9.95307 761.546 0.408507 752.445 0.408507 741.026L0.40851 20.2928Z" fill="#5B559C"/> -</svg> 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 @@ -<svg width="743" height="456" viewBox="0 0 743 456" fill="none" xmlns="http://www.w3.org/2000/svg"> -<path d="M17.3736 19.78C17.81 8.82314 26.9877 0.2608 37.9485 0.584671L708.234 20.3904C718.748 20.701 727.224 29.1021 727.629 39.6125L742.219 418.701C742.648 429.86 733.856 439.209 722.691 439.465L21.2891 455.513C9.75357 455.777 0.388256 446.252 0.847444 434.722L17.3736 19.78Z" fill="#5B559C"/> -</svg> 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 @@ -<svg fill="none" preserveAspectRatio="none" viewBox="0 0 1194 421" xmlns="http://www.w3.org/2000/svg"><path d="M41.834 18.15C42.952 7.87 51.724.138 62.064.318L1139.27 19.024c10.19.177 18.61 7.98 19.57 18.121l34.1 361.979c1.1 11.735-8.13 21.876-19.91 21.876H20.294C8.392 421-.876 410.669.412 398.837z" fill="#5b559c"/></svg> From b40721bad405dd71f6dfd28a35a5f03c28fd9ba8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 23 May 2023 00:02:37 +0000 Subject: [PATCH 126/277] refactor: use datafile and template instead --- src/_data/initiatives.yml | 67 ++++++++++++ src/_includes/initiatives.html | 183 +++++++-------------------------- 2 files changed, 107 insertions(+), 143 deletions(-) create mode 100644 src/_data/initiatives.yml diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml new file mode 100644 index 00000000..2c7bc2bd --- /dev/null +++ b/src/_data/initiatives.yml @@ -0,0 +1,67 @@ +- tag: Contactless Payment + 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 <a href='https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration'rel='noreferrer' + target='_blank'>Monterey-Salinas Transit</a>, 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. " + button: + text: Explore Mobility Marketplace + url: https://camobilitymarketplace.org +- 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 <a rel='noreferrer' target='_blank' href='https://benefits.calitp.org'>Cal-ITP + Benefits</a> web application streamlines the process for transit riders to instantly + qualify for and receive discounts, starting with <a rel='noreferrer' target='_blank' + href='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'>Monterey-Salinas + Transit</a> (MST), which offers a half-price Senior Fare. Now older adults (65+) + who are able to <a href='https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification' + target='_blank'>electronically verify their identity</a> 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 +- 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 transits 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 <a rel='noreferrer' target='_blank' href='https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines'>California + Minimum GTFS Guidelines</a> 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 diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 0c802b86..68b45468 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -7,156 +7,53 @@ <h2 class="text-center text-lg-start">Explore our initiatives</h2> class="nav nav-pills nav-fill mb-3 gap-2" id="pills-tab" role="tablist"> - <li class="nav-item" role="presentation"> - <button - class="nav-link active" - id="pills-home-tab" - data-bs-toggle="pill" - data-bs-target="#pills-home" - type="button" - role="tab" - aria-controls="pills-home" - aria-selected="true">Contactless Payments</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-profile-tab" - data-bs-toggle="pill" - data-bs-target="#pills-profile" - type="button" - role="tab" - aria-controls="pills-profile" - aria-selected="false">Benefits</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-contact-tab" - data-bs-toggle="pill" - data-bs-target="#pills-contact" - type="button" - role="tab" - aria-controls="pills-contact" - aria-selected="false">GTFS</button> - </li> + {% for initiative in site.data.initiatives %} + <li class="nav-item" role="presentation"> + <button + class="nav-link {{ initiative.active }}" + id="pills-{{ initiative.slug }}-tab" + data-bs-toggle="pill" + data-bs-target="#pills-{{ initiative.slug }}" + type="button" + role="tab" + aria-controls="pills-{{ initiative.slug }}" + aria-selected="true">{{ initiative.tag }}</button> + </li> + {% endfor %} </ul> </div> </div> <div class="tab-content" id="pills-tabContent"> - <div - class="tab-pane fade show active" - id="pills-home" - role="tabpanel" - aria-labelledby="pills-home-tab" - tabindex="0"> - <div id="enabling-contactless-payment" class="rounded px-3 py-5"> - <div class="row"> - <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> - <img - 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" /> - </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Enabling contactless payments</h3> - <p class="text-white"> - 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. - </p> - <p class="text-white"> - Starting with - <a - class="text-white" - href="https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration/" - rel="noreferrer" - target="_blank">Monterey-Salinas Transit</a>, 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. - </p> - <div class="d-grid d-md-block"> - <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> - </div> - </div> - </div> - </div> - </div> - <div - class="tab-pane fade" - id="pills-profile" - role="tabpanel" - aria-labelledby="pills-profile-tab" - tabindex="0"> - <div id="automating-customer-discounts" class="rounded px-3 py-5"> - <div class="row"> - <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> - <img - src="images/automating-customer-discounts.png" - alt="Checking a state-issued identification" - width="78" /> - </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Automating customer discounts</h3> - <p class="text-white"> - Our - <a - class="text-white" - rel="noreferrer" - target="_blank" - href="https://benefits.calitp.org">Cal-ITP Benefits</a> - web application - streamlines the process for transit riders to instantly qualify for and receive discounts, starting with - <a - class="text-white" - rel="noreferrer" - target="_blank" - href="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/">Monterey-Salinas Transit</a> - (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to - <a - class="text-white" - href="https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification" - target="_blank">electronically verify their identity</a> - are able to access MST's reduced fares without the hassle of paperwork. - </p> - <p class="text-white"> - 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. - </p> - <div class="d-grid d-md-block"> - <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> - </div> - </div> - </div> - </div> - </div> - <div - class="tab-pane fade" - id="pills-contact" - role="tabpanel" - aria-labelledby="pills-contact-tab" - tabindex="0"> - <div id="standardizing-trip-quality" class="rounded px-3 py-5"> - <div class="row"> - <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> - <img - src="images/standardizing-trip-quality.png" - alt="A bus that transits real-time arrival and departure information" - width="78" /> - </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h3 class="text-white text-center text-md-start pb-2 pb-md-0">Standardizing information for easy trip planning</h3> - <p class="text-white"> - 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 - <a - class="text-white" - rel="noreferrer" - target="_blank" - href="https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines">California Minimum GTFS Guidelines</a> - 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. - </p> - <div class="d-grid d-md-block"> - <a href="https://camobilitymarketplace.org" class="btn btn-secondary bg-white border-white text-primary">Explore Mobility Marketplace</a> + {% for initiative in site.data.initiatives %} + <div + class="tab-pane fade {{ initiative.active }}" + id="pills-{{ initiative.slug }}" + role="tabpanel" + aria-labelledby="pills-{{ initiative.slug }}-tab" + tabindex="0"> + <div id="{{ initiative.id }}" class="rounded px-3 py-5"> + <div class="row"> + <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <img + src="{{ initiative.image.src }}" + alt="{{ initiative.image.alt }}" + width="{{ initiative.image.width }}" /> + </picture> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.headline }}</h3> + {% for paragraph in initiative.paragraphs %} + <p class="text-white"> + {{ paragraph }} + </p> + {% endfor %} + <div class="d-grid d-md-block"> + <a href="{{ initiative.button.url }}" class="btn btn-secondary bg-white border-white text-primary">{{ initiative.button.text }}</a> + </div> </div> </div> + </div> </div> - </div> + {% endfor %} </div> From f7fe7315c2cc83355e88b13a65083e56a21d30d6 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 23 May 2023 00:09:56 +0000 Subject: [PATCH 127/277] fix(init): white links --- src/_data/initiatives.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 2c7bc2bd..7768e97f 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -12,7 +12,7 @@ - "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 <a href='https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration'rel='noreferrer' + - "Starting with <a class='text-white' href='https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration'rel='noreferrer' target='_blank'>Monterey-Salinas Transit</a>, 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. " @@ -31,10 +31,10 @@ paragraphs: - "Our <a rel='noreferrer' target='_blank' href='https://benefits.calitp.org'>Cal-ITP Benefits</a> web application streamlines the process for transit riders to instantly - qualify for and receive discounts, starting with <a rel='noreferrer' target='_blank' + qualify for and receive discounts, starting with <a class='text-white' rel='noreferrer' target='_blank' href='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'>Monterey-Salinas Transit</a> (MST), which offers a half-price Senior Fare. Now older adults (65+) - who are able to <a href='https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification' + who are able to <a class='text-white' href='https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification' target='_blank'>electronically verify their identity</a> 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 @@ -57,7 +57,7 @@ - "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 <a rel='noreferrer' target='_blank' href='https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines'>California + transit information. Cal-ITP developed <a class='text-white' rel='noreferrer' target='_blank' href='https://dot.ca.gov/cal-itp/california-minimum-general-transit-feed-specification-gtfs-guidelines'>California Minimum GTFS Guidelines</a> 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 From e39b46a9ec3795db40d047026c840692993ebac6 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 23 May 2023 00:15:22 +0000 Subject: [PATCH 128/277] fix(init): missing rel --- src/_data/initiatives.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 7768e97f..d00b446c 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -12,7 +12,7 @@ - "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 <a class='text-white' href='https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration'rel='noreferrer' + - "Starting with <a class='text-white' href='https://mst.org/news_items/monterey-salinas-transit-announces-launch-of-contactless-fare-payment-demonstration' rel='noreferrer' target='_blank'>Monterey-Salinas Transit</a>, 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. " @@ -29,12 +29,12 @@ alt: Checking a state-issued identification width: "78" paragraphs: - - "Our <a rel='noreferrer' target='_blank' href='https://benefits.calitp.org'>Cal-ITP + - "Our <a class='text-white' rel='noreferrer' target='_blank' href='https://benefits.calitp.org'>Cal-ITP Benefits</a> web application streamlines the process for transit riders to instantly qualify for and receive discounts, starting with <a class='text-white' rel='noreferrer' target='_blank' href='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'>Monterey-Salinas Transit</a> (MST), which offers a half-price Senior Fare. Now older adults (65+) - who are able to <a class='text-white' href='https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification' + who are able to <a class='text-white' rel='noreferrer' href='https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification' target='_blank'>electronically verify their identity</a> 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 From 1ec380aad46039b6394ca7c6281986c03494e960 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 23 May 2023 00:40:49 +0000 Subject: [PATCH 129/277] feat(init): show press/resources for each tag --- src/_data/initiatives.yml | 2 +- src/_includes/initiatives.html | 45 +++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index d00b446c..31d3b0c1 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -1,4 +1,4 @@ -- tag: Contactless Payment +- tag: Contactless Payments slug: contactless-payments id: enabling-contactless-payment active: "show active" diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 68b45468..dc1b276b 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -52,7 +52,50 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head </div> </div> </div> - + <div class="row"> + <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h4 class="text-white">Recent News</h4> + {% 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 %} + <article class="press-item"> + <a + class="text-white" + rel="noreferrer" + href="{{ url }}" + {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> + </article> + {% endif %} + {% endfor %} + <a class="text-white" href="/press">See all</a> + </div> + </div> + <div class="row"> + <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h4 class="text-white">Resources</h4> + {% 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 %} + <article class="resource"> + <a + class="text-white" + rel="noreferrer" + href="{{ url }}" + target="_blank">{{ resource.title }}</a> + </article> + {% endif %} + {% endfor %} + <a class="text-white" href="/resources">See all</a> + </div> + </div> </div> </div> {% endfor %} From dfe1fa129b65441dfeff3fdc4b57d622d5fb0790 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 23 May 2023 00:52:14 +0000 Subject: [PATCH 130/277] feat: only show the top 2 --- src/_includes/initiatives.html | 74 ++++++++++++++++++---------------- src/stylesheets/main.css | 4 ++ 2 files changed, 43 insertions(+), 35 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index dc1b276b..a496b23c 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,51 +48,55 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head </p> {% endfor %} <div class="d-grid d-md-block"> - <a href="{{ initiative.button.url }}" class="btn btn-secondary bg-white border-white text-primary">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-secondary bg-white border-white text-primary mt-4 mb-4">{{ initiative.button.text }}</a> </div> </div> </div> <div class="row"> <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="text-white">Recent News</h4> - {% 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 %} - <article class="press-item"> - <a - class="text-white" - rel="noreferrer" - href="{{ url }}" - {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> - </article> - {% endif %} - {% endfor %} + <h4 class="text-white mt-4">Recent News</h4> + <div class="tab-list"> + {% 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 %} + <article class="press-item"> + <a + class="text-white" + rel="noreferrer" + href="{{ url }}" + {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> + </article> + {% endif %} + {% endfor %} + </div> <a class="text-white" href="/press">See all</a> </div> </div> <div class="row"> <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="text-white">Resources</h4> - {% 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 %} - <article class="resource"> - <a - class="text-white" - rel="noreferrer" - href="{{ url }}" - target="_blank">{{ resource.title }}</a> - </article> - {% endif %} - {% endfor %} + <h4 class="text-white mt-4">Resources</h4> + <div class="tab-list"> + {% 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 %} + <article class="resource"> + <a + class="text-white" + rel="noreferrer" + href="{{ url }}" + target="_blank">{{ resource.title }}</a> + </article> + {% endif %} + {% endfor %} + </div> <a class="text-white" href="/resources">See all</a> </div> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 56d923c6..06c02c57 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -155,6 +155,10 @@ p.important { background-color: #5b559c; } +#details .tab-content .tab-list article:nth-child(n + 3) { + display: none; +} + .red-link { background-color: var(--calitp-red-5); color: var(--bs-white); From e50354fb630fb098ee78a6c35c2c8a5deec51731 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 20:32:54 +0000 Subject: [PATCH 131/277] refactor(colors): use css color vars --- src/_data/initiatives.yml | 5 ++++- src/_includes/initiatives.html | 2 +- src/stylesheets/main.css | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 31d3b0c1..82731273 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -19,8 +19,9 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org + class: text-red-4 - tag: Benefits - slug: benefits + slug: benefitsd id: automating-customer-discounts active: "" headline: Automating customer discounts @@ -44,6 +45,7 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org + class: text-primary-blue - tag: GTFS slug: gtfs id: standardizing-trip-quality @@ -65,3 +67,4 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org + class: text-purple-4 diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index a496b23c..d59a495d 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,7 +48,7 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head </p> {% endfor %} <div class="d-grid d-md-block"> - <a href="{{ initiative.button.url }}" class="btn btn-secondary bg-white border-white text-primary mt-4 mb-4">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-secondary bg-white border-white mt-4 mb-4 {{ initiative.button.class }}">{{ initiative.button.text }}</a> </div> </div> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 06c02c57..6f2fe7d5 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -53,6 +53,18 @@ li { line-height: 140%; } +.text-red-4 { + color: var(--calitp-red-4); +} + +.text-primary-blue { + color: var(--calitp-primary-blue); +} + +.text-purple-4 { + color: var(--calitp-purple-4); +} + main.container { padding-top: 110px; } From 663ac4992469cf7e04f30793fcdc5af9b03fbe1a Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 1 Jun 2023 00:12:33 +0000 Subject: [PATCH 132/277] feat(buttons): add buttons --- src/_data/initiatives.yml | 8 ++++---- src/_includes/initiatives.html | 14 +++++++------- src/stylesheets/main.css | 26 ++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 82731273..6732c16e 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -19,9 +19,9 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: text-red-4 + class: red-4 - tag: Benefits - slug: benefitsd + slug: benefits id: automating-customer-discounts active: "" headline: Automating customer discounts @@ -45,7 +45,7 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: text-primary-blue + class: primary-blue - tag: GTFS slug: gtfs id: standardizing-trip-quality @@ -67,4 +67,4 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: text-purple-4 + class: purple-4 diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index d59a495d..ad978132 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,13 +48,13 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head </p> {% endfor %} <div class="d-grid d-md-block"> - <a href="{{ initiative.button.url }}" class="btn btn-secondary bg-white border-white mt-4 mb-4 {{ initiative.button.class }}">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn bg-white border-white fw-bolder mt-4 mb-4 text-{{ initiative.class }}">{{ initiative.button.text }}</a> </div> </div> </div> <div class="row"> <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="text-white mt-4">Recent News</h4> + <h4 class="small-caps text-{{ initiative.class }} border-{{ initiative.class }} mt-4">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} {% for press in all_press %} @@ -65,7 +65,7 @@ <h4 class="text-white mt-4">Recent News</h4> {% if press.tags contains initiative.tag %} <article class="press-item"> <a - class="text-white" + class="text-white fw-bold" rel="noreferrer" href="{{ url }}" {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> @@ -73,12 +73,12 @@ <h4 class="text-white mt-4">Recent News</h4> {% endif %} {% endfor %} </div> - <a class="text-white" href="/press">See all</a> + <a class="text-white fw-bold" href="/press">See all</a> </div> </div> <div class="row"> <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="text-white mt-4">Resources</h4> + <h4 class="small-caps text-{{ initiative.class }} border-{{ initiative.class }} mt-4">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} {% for resource in all_resources %} @@ -89,7 +89,7 @@ <h4 class="text-white mt-4">Resources</h4> {% if resource.tags contains initiative.tag %} <article class="resource"> <a - class="text-white" + class="text-white fw-bold" rel="noreferrer" href="{{ url }}" target="_blank">{{ resource.title }}</a> @@ -97,7 +97,7 @@ <h4 class="text-white mt-4">Resources</h4> {% endif %} {% endfor %} </div> - <a class="text-white" href="/resources">See all</a> + <a class="text-white fw-bold" href="/resources">See all</a> </div> </div> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 6f2fe7d5..33490453 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -4,6 +4,8 @@ --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-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"; } body { @@ -65,6 +67,30 @@ li { color: var(--calitp-purple-4); } +.border-red-4 { + border-color: var(--calitp-red-4); +} + +.border-primary-blue { + border-color: var(--calitp-primary-blue); +} + +.border-purple-4 { + border-color: var(--calitp-purple-4); +} + +.small-caps { + text-transform: uppercase; + line-height: 140%; + letter-spacing: 0.025em; + display: inline-block; + padding: 8px 16px; + font-size: 12px; + font-family: "Poppins"; + border-width: 1.5px; + background-color: rgba(255, 255, 255, 0.7); +} + main.container { padding-top: 110px; } From 316b9844f0905c07b06287fe5fbaae3901b8de1e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 1 Jun 2023 00:25:11 +0000 Subject: [PATCH 133/277] feat: add dashed line --- src/_includes/initiatives.html | 2 +- src/stylesheets/main.css | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index ad978132..30cd9fcf 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -47,7 +47,7 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head {{ paragraph }} </p> {% endfor %} - <div class="d-grid d-md-block"> + <div class="d-grid d-md-block border-bottom border-white border-2"> <a href="{{ initiative.button.url }}" class="btn bg-white border-white fw-bolder mt-4 mb-4 text-{{ initiative.class }}">{{ initiative.button.text }}</a> </div> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 33490453..a60e6ebb 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -6,6 +6,7 @@ --bs-border-radius: 20px; --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"; + --bs-border-style: dashed; } body { From 8eb6215b2a0f1a604c6f18478b6d9c3513640a56 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 20:33:46 +0000 Subject: [PATCH 134/277] fix: update colors --- src/_data/initiatives.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 6732c16e..e517d2ae 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -19,7 +19,7 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: red-4 + class: primary-blue - tag: Benefits slug: benefits id: automating-customer-discounts @@ -45,7 +45,7 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: primary-blue + class: red-5 - tag: GTFS slug: gtfs id: standardizing-trip-quality From 15ab0156011facf7391774a7905d3b664bdac7e4 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 21:33:34 +0000 Subject: [PATCH 135/277] fix: rebase --- src/_includes/initiatives.html | 10 +++--- src/stylesheets/main.css | 62 +++++----------------------------- 2 files changed, 13 insertions(+), 59 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 30cd9fcf..33aa71c6 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,13 +48,13 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head </p> {% endfor %} <div class="d-grid d-md-block border-bottom border-white border-2"> - <a href="{{ initiative.button.url }}" class="btn bg-white border-white fw-bolder mt-4 mb-4 text-{{ initiative.class }}">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-4 text-{{ initiative.class }}">{{ initiative.button.text }}</a> </div> </div> </div> <div class="row"> - <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="small-caps text-{{ initiative.class }} border-{{ initiative.class }} mt-4">Recent News</h4> + <div class="col-12 offset-md-3 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h4 class="small-caps text-white mt-4">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} {% for press in all_press %} @@ -77,8 +77,8 @@ <h4 class="small-caps text-{{ initiative.class }} border-{{ initiative.class }} </div> </div> <div class="row"> - <div class="col-12 offset-md-4 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="small-caps text-{{ initiative.class }} border-{{ initiative.class }} mt-4">Resources</h4> + <div class="col-12 offset-md-3 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> + <h4 class="small-caps text-white mt-4">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} {% for resource in all_resources %} diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index a60e6ebb..9a574f75 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -27,6 +27,10 @@ body { background-color: var(--calitp-slate-5); } +.btn { + --bs-btn-border-width: 2px; +} + h1, h2, h3, @@ -56,40 +60,16 @@ li { line-height: 140%; } -.text-red-4 { - color: var(--calitp-red-4); -} - -.text-primary-blue { - color: var(--calitp-primary-blue); -} - -.text-purple-4 { - color: var(--calitp-purple-4); -} - -.border-red-4 { - border-color: var(--calitp-red-4); -} - -.border-primary-blue { - border-color: var(--calitp-primary-blue); -} - -.border-purple-4 { - border-color: var(--calitp-purple-4); -} - .small-caps { text-transform: uppercase; line-height: 140%; letter-spacing: 0.025em; display: inline-block; - padding: 8px 16px; - font-size: 12px; + padding: 0.5rem 1rem; + font-size: 0.75rem; font-family: "Poppins"; - border-width: 1.5px; - background-color: rgba(255, 255, 255, 0.7); + border: 1.5px solid var(--bs-white); + background-color: rgba(33, 33, 33, 0.2); } main.container { @@ -305,23 +285,6 @@ p.important { grid-gap: initial; justify-items: center; text-align: center; - } - #lastminute { - grid-template-rows: repeat(2, min-content); - grid-template-columns: 1fr; - grid-gap: 2em; - justify-items: center; - margin-top: 5em; - margin-bottom: 5em; - } - #lastminute #connect { - background-color: var(--calitp-slate-5); - background-image: initial; - } - #lastminute #update { - background-color: var(--calitp-slate-5); - background-image: initial; - } } @media (max-width: 768px) { @@ -357,15 +320,6 @@ p.important { grid-gap: initial; grid-gap: 1em; } - #lastminute { - margin-left: 5vw; - margin-right: 5vw; - } - #lastminute .box { - width: 100%; - border-radius: 15px; - } - .blob { padding: 1em; } From 803a3a31e963ffd947cc76e2727255874d374417 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 06:02:44 +0000 Subject: [PATCH 136/277] refactor(css): rename details to initiatives --- src/stylesheets/main.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 9a574f75..959eb60f 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -162,19 +162,19 @@ p.important { color: var(--bs-white); } -#details #enabling-contactless-payment { +#initiatives #enabling-contactless-payment { background-color: #c64e5a; } -#details #automating-customer-discounts { +#initiatives #automating-customer-discounts { background-color: #046b99; } -#details #standardizing-trip-quality { +#initiatives #standardizing-trip-quality { background-color: #5b559c; } -#details .tab-content .tab-list article:nth-child(n + 3) { +#initiatives .tab-content .tab-list article:nth-child(n + 3) { display: none; } From c66dd0c495d4b0bcc5d62b132fa18fcf29f963e5 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 2 Jun 2023 06:17:27 +0000 Subject: [PATCH 137/277] refactor(initiatives): use variable to set background, use css vars --- src/_data/initiatives.yml | 6 +++--- src/_includes/initiatives.html | 5 +++-- src/index.html | 2 +- src/stylesheets/main.css | 28 ++++++++-------------------- 4 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index e517d2ae..23471e3e 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -19,7 +19,7 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: primary-blue + class: --calitp-primary-blue - tag: Benefits slug: benefits id: automating-customer-discounts @@ -45,7 +45,7 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: red-5 + class: --calitp-red-5 - tag: GTFS slug: gtfs id: standardizing-trip-quality @@ -67,4 +67,4 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org - class: purple-4 + class: --calitp-purple-4 diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 33aa71c6..57b701d1 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -27,10 +27,11 @@ <h2 class="text-center text-lg-start">Explore our initiatives</h2> <div class="tab-content" id="pills-tabContent"> {% for initiative in site.data.initiatives %} <div - class="tab-pane fade {{ initiative.active }}" + class="tab-pane fade {{ initiative.active }} rounded rounded-4" id="pills-{{ initiative.slug }}" role="tabpanel" aria-labelledby="pills-{{ initiative.slug }}-tab" + style="background-color: var({{ initiative.class }})" tabindex="0"> <div id="{{ initiative.id }}" class="rounded px-3 py-5"> <div class="row"> @@ -48,7 +49,7 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head </p> {% endfor %} <div class="d-grid d-md-block border-bottom border-white border-2"> - <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-4 text-{{ initiative.class }}">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-4">{{ initiative.button.text }}</a> </div> </div> </div> diff --git a/src/index.html b/src/index.html index a75c2bca..8bb2c2d9 100644 --- a/src/index.html +++ b/src/index.html @@ -103,7 +103,7 @@ <h2 class="text-center text-md-start">Helping California achieve critical goals alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> -<section id="details"> +<section id="initiatives"> {% include initiatives.html %} </section> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 959eb60f..c95b455e 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -162,22 +162,6 @@ p.important { color: var(--bs-white); } -#initiatives #enabling-contactless-payment { - background-color: #c64e5a; -} - -#initiatives #automating-customer-discounts { - background-color: #046b99; -} - -#initiatives #standardizing-trip-quality { - background-color: #5b559c; -} - -#initiatives .tab-content .tab-list article:nth-child(n + 3) { - display: none; -} - .red-link { background-color: var(--calitp-red-5); color: var(--bs-white); @@ -254,16 +238,20 @@ p.important { color: #212121; } +#initiatives .tab-content .tab-list article:nth-child(n + 3) { + display: none; +} + .nav-pills { --bs-nav-pills-border-radius: 19px; - --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #212121; + --bs-nav-pills-link-active-color: var(--bs-white); + --bs-nav-pills-link-active-bg: var(--bs-body-color); } .nav-pills .nav-link { padding: 0.23rem; - border: 2px solid #212121; - color: #212121; + border: 2px solid var(--bs-body-color); + color: var(--bs-body-color); } .right-callout { From 29e6d78b1fa27c81fcc0cc20ab40c78379daf431 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 20:39:08 +0000 Subject: [PATCH 138/277] refactor(css): use more variables --- src/stylesheets/main.css | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c95b455e..02556f42 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -67,7 +67,7 @@ li { display: inline-block; padding: 0.5rem 1rem; font-size: 0.75rem; - font-family: "Poppins"; + font-family: var(--bs-font-sans-serif); border: 1.5px solid var(--bs-white); background-color: rgba(33, 33, 33, 0.2); } @@ -228,14 +228,14 @@ p.important { .nav-pills { --bs-nav-pills-border-radius: 19px; - --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #212121; + --bs-nav-pills-link-active-color: var(--bs-white); + --bs-nav-pills-link-active-bg: var(--bs-body-color); } .nav-pills .nav-link { padding: 0.23rem; - border: 2px solid #212121; - color: #212121; + border: 2px solid var(--bs-body-color); + color: var(--bs-body-color); } #initiatives .tab-content .tab-list article:nth-child(n + 3) { From 4ca27762d960143dd56c8b85e6afccb75628a353 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 20:39:40 +0000 Subject: [PATCH 139/277] fix: delete redundant line --- src/stylesheets/main.css | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 02556f42..857a760d 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -4,8 +4,6 @@ --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-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"; --bs-border-style: dashed; } From 903138d539b52de1af57dc3fd553f4f766325a70 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 20:49:46 +0000 Subject: [PATCH 140/277] refactor(css): use rems for font, border --- src/stylesheets/main.css | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 857a760d..54c2c54d 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -3,7 +3,7 @@ "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-radius: calc(20rem / 16); --bs-border-style: dashed; } @@ -26,7 +26,7 @@ body { } .btn { - --bs-btn-border-width: 2px; + --bs-btn-border-width: calc(2rem / 16); } h1, @@ -42,7 +42,7 @@ h1 { } h3 { - font-size: 24px; + font-size: calc(24rem / 16); } h4, @@ -54,7 +54,7 @@ h4, p, a, li { - font-size: 16px; + font-size: var(--bs-body-font-size); line-height: 140%; } @@ -64,7 +64,7 @@ li { letter-spacing: 0.025em; display: inline-block; padding: 0.5rem 1rem; - font-size: 0.75rem; + font-size: calc(12rem / 16); font-family: var(--bs-font-sans-serif); border: 1.5px solid var(--bs-white); background-color: rgba(33, 33, 33, 0.2); @@ -198,7 +198,7 @@ p.important { counter-increment: numList; content: counter(numList); font-weight: 700; - font-size: 16px; + font-size: 1rem; text-align: center; color: var(--bs-white); line-height: 40px; @@ -313,13 +313,13 @@ p.important { @media (min-width: 992px) { .navbar { - --bs-navbar-nav-link-padding-x: 40px; + --bs-navbar-nav-link-padding-x: calc(40rem / 16); --bs-navbar-nav-link-padding-y: 0; } .navbar-brand { - --bs-navbar-brand-padding-x: 32px; - --bs-navbar-brand-padding-y: 32px; + --bs-navbar-brand-padding-x: calc(32rem / 16); + --bs-navbar-brand-padding-y: calc(32rem / 16); } .navbar-nav { @@ -331,8 +331,8 @@ p.important { @media (max-width: 992px) { .navbar-brand { - --bs-navbar-brand-padding-x: 32px; - --bs-navbar-brand-padding-y: 32px; + --bs-navbar-brand-padding-x: calc(32rem / 16); + --bs-navbar-brand-padding-y: calc(32rem / 16); } #mainNav { From a47cb4ae579fe1ee449557356fb44f8bcf102169 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 20:50:50 +0000 Subject: [PATCH 141/277] fix(home): bold links --- src/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.html b/src/index.html index 8bb2c2d9..e4ff714c 100644 --- a/src/index.html +++ b/src/index.html @@ -49,19 +49,19 @@ <h2 class="text-center text-md-start">Bringing industry standards to California <a rel="noreferrer" target="_blank" - class="red-link" + class="red-link fw-bold" href="https://calsta.ca.gov/">California State Transportation Agency</a> (CalSTA) and the <a rel="noreferrer" target="_blank" - class="green-link" + class="green-link fw-bold" href="https://dot.ca.gov/ ">California Department of Transportation</a> (Caltrans) through a grant from the <a rel="noreferrer" target="_blank" - class="blue-link" + class="blue-link fw-bold" href="https://calsta.ca.gov/subject-areas/transit-intercity-rail-capital-prog">California Transit and Intercity Rail Capital Program</a> (<abbr>TIRCP</abbr>), the California Integrated Travel Project (Cal-ITP) is a statewide solution to make travel simpler and cost-effective for everyone. From 8642b8cd1920eab7b635e692a240bf3fc165a51b Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 21:34:23 +0000 Subject: [PATCH 142/277] fix: rebase --- src/stylesheets/main.css | 51 +++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 54c2c54d..a11023f1 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -3,7 +3,9 @@ "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: calc(20rem / 16); + --bs-border-radius: 20px; + --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"; --bs-border-style: dashed; } @@ -26,7 +28,7 @@ body { } .btn { - --bs-btn-border-width: calc(2rem / 16); + --bs-btn-border-width: 2px; } h1, @@ -42,7 +44,7 @@ h1 { } h3 { - font-size: calc(24rem / 16); + font-size: 24px; } h4, @@ -54,7 +56,7 @@ h4, p, a, li { - font-size: var(--bs-body-font-size); + font-size: 16px; line-height: 140%; } @@ -64,8 +66,8 @@ li { letter-spacing: 0.025em; display: inline-block; padding: 0.5rem 1rem; - font-size: calc(12rem / 16); - font-family: var(--bs-font-sans-serif); + font-size: 0.75rem; + font-family: "Poppins"; border: 1.5px solid var(--bs-white); background-color: rgba(33, 33, 33, 0.2); } @@ -160,6 +162,10 @@ p.important { color: var(--bs-white); } +#details .tab-content .tab-list article:nth-child(n + 3) { + display: none; +} + .red-link { background-color: var(--calitp-red-5); color: var(--bs-white); @@ -198,7 +204,7 @@ p.important { counter-increment: numList; content: counter(numList); font-weight: 700; - font-size: 1rem; + font-size: 16px; text-align: center; color: var(--bs-white); line-height: 40px; @@ -226,30 +232,26 @@ p.important { .nav-pills { --bs-nav-pills-border-radius: 19px; - --bs-nav-pills-link-active-color: var(--bs-white); - --bs-nav-pills-link-active-bg: var(--bs-body-color); + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #212121; } .nav-pills .nav-link { padding: 0.23rem; - border: 2px solid var(--bs-body-color); - color: var(--bs-body-color); -} - -#initiatives .tab-content .tab-list article:nth-child(n + 3) { - display: none; + border: 2px solid #212121; + color: #212121; } .nav-pills { --bs-nav-pills-border-radius: 19px; - --bs-nav-pills-link-active-color: var(--bs-white); - --bs-nav-pills-link-active-bg: var(--bs-body-color); + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #212121; } .nav-pills .nav-link { padding: 0.23rem; - border: 2px solid var(--bs-body-color); - color: var(--bs-body-color); + border: 2px solid #212121; + color: #212121; } .right-callout { @@ -271,6 +273,7 @@ p.important { grid-gap: initial; justify-items: center; text-align: center; + } } @media (max-width: 768px) { @@ -313,13 +316,13 @@ p.important { @media (min-width: 992px) { .navbar { - --bs-navbar-nav-link-padding-x: calc(40rem / 16); + --bs-navbar-nav-link-padding-x: 40px; --bs-navbar-nav-link-padding-y: 0; } .navbar-brand { - --bs-navbar-brand-padding-x: calc(32rem / 16); - --bs-navbar-brand-padding-y: calc(32rem / 16); + --bs-navbar-brand-padding-x: 32px; + --bs-navbar-brand-padding-y: 32px; } .navbar-nav { @@ -331,8 +334,8 @@ p.important { @media (max-width: 992px) { .navbar-brand { - --bs-navbar-brand-padding-x: calc(32rem / 16); - --bs-navbar-brand-padding-y: calc(32rem / 16); + --bs-navbar-brand-padding-x: 32px; + --bs-navbar-brand-padding-y: 32px; } #mainNav { From 41aa5909b0f41f6e53c8b03427529c7ef73e7c9d Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 21:37:56 +0000 Subject: [PATCH 143/277] refactor(css): use variables --- src/stylesheets/main.css | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index a11023f1..c252589d 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -4,8 +4,6 @@ --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-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"; --bs-border-style: dashed; } @@ -67,7 +65,7 @@ li { display: inline-block; padding: 0.5rem 1rem; font-size: 0.75rem; - font-family: "Poppins"; + font-family: var(--bs-font-sans-serif); border: 1.5px solid var(--bs-white); background-color: rgba(33, 33, 33, 0.2); } @@ -232,26 +230,26 @@ p.important { .nav-pills { --bs-nav-pills-border-radius: 19px; - --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #212121; + --bs-nav-pills-link-active-color: var(--bs-white); + --bs-nav-pills-link-active-bg: var(--bs-body-color); } .nav-pills .nav-link { padding: 0.23rem; - border: 2px solid #212121; - color: #212121; + border: 2px solid var(--bs-body-color); + color: var(--bs-body-color); } .nav-pills { --bs-nav-pills-border-radius: 19px; - --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #212121; + --bs-nav-pills-link-active-color: var(--bs-white); + --bs-nav-pills-link-active-bg: var(--bs-body-color); } .nav-pills .nav-link { padding: 0.23rem; - border: 2px solid #212121; - color: #212121; + border: 2px solid var(--bs-body-color); + color: var(--bs-body-color); } .right-callout { From 59d995a48bd56f8764d4c5bbb285c92d7043157e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 21:38:50 +0000 Subject: [PATCH 144/277] chore: fix typo --- src/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index e4ff714c..143b911c 100644 --- a/src/index.html +++ b/src/index.html @@ -116,7 +116,7 @@ <h2 class="text-center text-md-start">Helping California achieve critical goals <section id="reachout" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> - <h2 class="">The time is now—reach out to help and to learn more</h2> + <h2>The time is now—reach out to help and to learn more</h2> <p>This initiative is critical now more than ever.</p> <p> Cal-ITP is working with transportation agencies across the country to launch a program that can immediately improve the From d16a925bf3dac1bf621f10eb11f9f4e453030e0e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 22:12:31 +0000 Subject: [PATCH 145/277] refactor(css): variablize --- src/stylesheets/main.css | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index acd222a3..4b6b6a7c 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -18,6 +18,7 @@ body { --calitp-red-5: rgb(160, 46, 59); /* #a02e3b */ --calitp-slate-5: rgb(36, 61, 81); /* #243d51 */ --bs-secondary-rgb: 238, 238, 238; + --calitp-font-weight-bold: 700; } h1, @@ -28,7 +29,7 @@ h4 { } h1 { - font-weight: 700; + font-weight: var(--calitp-font-weight-bold); margin-bottom: 19px; } @@ -38,7 +39,7 @@ h3 { h4, .h4 { - font-weight: 700; + font-weight: var(--calitp-font-weight-bold); line-height: 140%; } @@ -63,16 +64,16 @@ main.container { } .press-release a { - color: #046b99; - font-weight: 600; + color: var(--calitp-primary-blue); + font-weight: var(--calitp-font-weight-bold); } .press-release h2, .press-release h3 { - font-size: 1rem; + font-size: var(--bs-body-font-size); padding-top: 20px; - font-weight: 700; - font-family: "Poppins", sans serif; + font-weight: var(--calitp-font-weight-bold); + font-family: var(--bs-font-sans-serif); } picture.railway img { From 9b1eb75556715c70c1dfa2f1f86c9c065eae196b Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 06:51:01 +0000 Subject: [PATCH 146/277] feat(initiatives): add rhombus --- src/_includes/initiatives.html | 6 +++--- src/index.html | 24 ++++++++++++++++++++++++ src/stylesheets/main.css | 6 ++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 57b701d1..355ea2b2 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -24,16 +24,16 @@ <h2 class="text-center text-lg-start">Explore our initiatives</h2> </div> </div> -<div class="tab-content" id="pills-tabContent"> +<div class="tab-content rhombus-parent" id="pills-tabContent"> {% for initiative in site.data.initiatives %} <div class="tab-pane fade {{ initiative.active }} rounded rounded-4" id="pills-{{ initiative.slug }}" role="tabpanel" aria-labelledby="pills-{{ initiative.slug }}-tab" - style="background-color: var({{ initiative.class }})" + style="clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); background-color: var({{ initiative.class }})" tabindex="0"> - <div id="{{ initiative.id }}" class="rounded px-3 py-5"> + <div id="{{ initiative.id }}" class="rounded px-5 px-md-3 py-5 my-4"> <div class="row"> <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> <img diff --git a/src/index.html b/src/index.html index 143b911c..d3ed8f76 100644 --- a/src/index.html +++ b/src/index.html @@ -170,3 +170,27 @@ <h3 class="text-white d-block my-4">Stay up to date</h3> </p> </div> </section> + +<svg + style="visibility: hidden; position: absolute;" + width="0" + height="0" + xmlns="http://www.w3.org/2000/svg" + version="1.1"> + <defs> + <filter id="rounded"><feGaussianBlur + in="SourceGraphic" + stdDeviation="8" + result="blur" /> + <feColorMatrix + in="blur" + mode="matrix" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9" + result="rounded" /> + <feComposite + in="SourceGraphic" + in2="rounded" + operator="atop" /> + </filter> + </defs> +</svg> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c252589d..aaec9c42 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -124,6 +124,12 @@ footer nav .links { grid-gap: 5em; } +.rhombus-parent { + filter: url("#rounded"); + overflow: hidden; + z-index: 1; +} + p.important { font-size: 24px; margin-bottom: 50px; From f97c3f8991a1db70504d55b0200934935f0a338f Mon Sep 17 00:00:00 2001 From: machiko <machiko@compiler.la> Date: Tue, 6 Jun 2023 09:48:02 -0700 Subject: [PATCH 147/277] Update src/_data/initiatives.yml Co-authored-by: Kegan Maher <kegan@compiler.la> --- src/_data/initiatives.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 23471e3e..b83f4b51 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -53,7 +53,7 @@ headline: Standardizing information for easy trip planning image: src: images/standardizing-trip-quality.png - alt: A bus that transits real-time arrival and departure information + 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 From 49b6ab4e013c7b92292d357bbf5dc58b97237309 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 16:55:33 +0000 Subject: [PATCH 148/277] refactor(css): use class rather than underline --- src/_press/cal-itp-benefits-launch.md | 2 +- src/_press/cal-itp-coast-rta-msa.md | 2 +- src/stylesheets/main.css | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md index 863e112a..24dbb9fb 100644 --- a/src/_press/cal-itp-benefits-launch.md +++ b/src/_press/cal-itp-benefits-launch.md @@ -87,7 +87,7 @@ pleasure.” For more information about [Cal-ITP Benefits](https://benefits.calitp.org/), contact [hello@calitp.org](mailto:hello@calitp.org). -## <u>About this demonstration project’s stakeholders</u> +## About this demonstration project’s stakeholders ### Cal-ITP diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md index 6b5fd272..d9cfea1f 100644 --- a/src/_press/cal-itp-coast-rta-msa.md +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -91,7 +91,7 @@ Cybersource, a Visa solution, serves as both the gateway and payment management 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). -## <u>About this project's stakeholders</u> +## About this project's stakeholders ### Cal-ITP diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4b6b6a7c..f7117d6e 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -76,6 +76,10 @@ main.container { font-family: var(--bs-font-sans-serif); } +.press-release h2:last-of-type { + text-decoration: underline; +} + picture.railway img { width: 100%; margin: 7.25rem 0; From c069abcb61dbdc391364bebb9c27ff958b606ce2 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 17:23:36 +0000 Subject: [PATCH 149/277] feat: css for resources, press page, minus filters --- src/press.html | 43 ++++++++++++++++++------------- src/resources.html | 55 +++++++++++++++++++++++----------------- src/stylesheets/main.css | 16 ++++++++++++ 3 files changed, 74 insertions(+), 40 deletions(-) diff --git a/src/press.html b/src/press.html index 2994ea02..4593f1a0 100644 --- a/src/press.html +++ b/src/press.html @@ -3,22 +3,31 @@ permalink: /press --- -<h1>Press</h1> +<div class="row justify-content-center mt-5 mb-5" style="background-color: #046B99"> + <div class="col-lg-8 col-md-8 py-5"> + <h1 class="text-white">Press</h1> + <p class="text-white">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</p> + </div> +</div> -<section id="press"> - {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} - {% assign all_press = site.press | reverse %} - {% for press in all_press %} - {% assign url = press.url %} - {% if press.external %} - {% assign url = press.external %} - {% endif %} - <article class="press-item"> - <a href="{{ url }}" {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> - <br/> - <span class="tags">{{ press.tags | join: ", " }}</span> - | - {% include date.html date=press.date format = "%b %Y" %} - </article> - {% endfor %} +<section class="row justify-content-center" id="press"> + <div class="col-lg-8 col-md-8 mb-5 pb-5"> + {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} + {% assign all_press = site.press | reverse %} + {% for press in all_press %} + {% assign url = press.url %} + {% if press.external %} + {% assign url = press.external %} + {% endif %} + <article class="d-block mb-4"> + <a + class="fw-bold text-decoration-none" + href="{{ url }}" + {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> + <br/> + <span class="text-muted font-poppins fs-7">{{ press.tags | join: ", " }} | + {% include date.html date=press.date format = "%b %Y" %}</span> + </article> + {% endfor %} + </div> </section> diff --git a/src/resources.html b/src/resources.html index 8fbbb3a8..9661ff18 100644 --- a/src/resources.html +++ b/src/resources.html @@ -3,31 +3,40 @@ permalink: /resources --- -<h1>Resources</h1> +<div class="row justify-content-center mt-5 mb-1" style="background-color: #5B559C"> + <div class="col-lg-8 col-md-8 py-5"> + <h1 class="text-white">Resources</h1> + <p class="text-white">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</p> + </div> +</div> -<section id="resources"> - {% 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 %} +<section class="row justify-content-center" id="resources"> + <div class="col-lg-8 col-md-8 mb-5 pb-5"> + {% 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 %} - <h2>{{ group.name }}</h2> - {% for item in group.items %} - {% assign url = item.asset %} - {% unless url contains "https://" %} - {% assign url = "/assets/" | append: url %} + {% for group in groups %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% for item in group.items %} + {% assign url = item.asset %} + {% unless url contains "https://" %} + {% assign url = "/assets/" | append: url %} + {% endunless %} + <article class="d-block mb-4"> + <a + class="fw-bold text-decoration-none" + href="{{ url }}" + target="_blank">{{ item.title }}</a> + <br/> + <span class="text-muted font-poppins fs-7">{{ item.tags | join: ", " }} | + {% include date.html date=item.date format = "%b %Y" %}</span> + </article> + {% endfor %} + {% unless forloop.last %} + <hr class="mt-5" /> {% endunless %} - <article class="resource"> - <a href="{{ url }}" target="_blank">{{ item.title }}</a> - <br/> - <span class="tags">{{ item.tags | join: ", " }}</span> - | - {% include date.html date=item.date format = "%b %Y" %} - </article> {% endfor %} - {% unless forloop.last %} - <hr/> - {% endunless %} - {% endfor %} + </div> </section> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 060ff5e2..d5104017 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -43,6 +43,13 @@ h1 { margin-bottom: 19px; } +<<<<<<< HEAD +======= +h2 { + font-size: 32px; +} + +>>>>>>> 6ab9e62 (feat: css for resources, press page, minus filters) h3 { font-size: 24px; } @@ -60,6 +67,7 @@ li { line-height: 140%; } +<<<<<<< HEAD .small-caps { text-transform: uppercase; line-height: 140%; @@ -70,6 +78,14 @@ li { font-family: var(--bs-font-sans-serif); border: 1.5px solid var(--bs-white); background-color: rgba(33, 33, 33, 0.2); +======= +.fs-7 { + font-size: 14px; +} + +.font-poppins { + font-family: "Poppins", sans-serif; +>>>>>>> 8ddf8a1 (feat: css for resources, press page, minus filters) } main.container { From 52ca67910e1354e77f8132c245ce028d4709a104 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 17:24:31 +0000 Subject: [PATCH 150/277] feat(css): text styling for press --- src/press.html | 4 ++-- src/stylesheets/main.css | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/press.html b/src/press.html index 4593f1a0..bb132f1f 100644 --- a/src/press.html +++ b/src/press.html @@ -19,13 +19,13 @@ <h1 class="text-white">Press</h1> {% if press.external %} {% assign url = press.external %} {% endif %} - <article class="d-block mb-4"> + <article class="d-block mb-3 pb-4"> <a class="fw-bold text-decoration-none" href="{{ url }}" {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> <br/> - <span class="text-muted font-poppins fs-7">{{ press.tags | join: ", " }} | + <span class="text-secondary font-poppins fs-7">{{ press.tags | join: ", " }} | {% include date.html date=press.date format = "%b %Y" %}</span> </article> {% endfor %} diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index d5104017..32042467 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -9,6 +9,8 @@ body { --bs-body-color: rgb(33, 33, 33); /* #212121 */ + --bs-link-color: rgb(4, 107, 153); /* #046b99 */ + --bs-secondary-rgb: 143, 147, 153; /* calitp-gray-3 */ --calitp-primary-blue: rgb(4, 107, 153); /* #046b99 */ --calitp-cyan-1: rgb(213, 238, 245); /* #d5eef5 */ --calitp-green-4: rgb(0, 117, 91); /* #00755b */ @@ -43,13 +45,10 @@ h1 { margin-bottom: 19px; } -<<<<<<< HEAD -======= h2 { font-size: 32px; } ->>>>>>> 6ab9e62 (feat: css for resources, press page, minus filters) h3 { font-size: 24px; } @@ -84,8 +83,12 @@ li { } .font-poppins { +<<<<<<< HEAD font-family: "Poppins", sans-serif; >>>>>>> 8ddf8a1 (feat: css for resources, press page, minus filters) +======= + font-family: var(--bs-font-sans-serif); +>>>>>>> 5235dc1 (feat(css): text styling for press) } main.container { From c351cfb0184c5a767d02bd82238a120a185d2db6 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 23:24:08 +0000 Subject: [PATCH 151/277] feat(css): text updates for resources --- src/resources.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources.html b/src/resources.html index 9661ff18..1428d4b6 100644 --- a/src/resources.html +++ b/src/resources.html @@ -24,13 +24,13 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% unless url contains "https://" %} {% assign url = "/assets/" | append: url %} {% endunless %} - <article class="d-block mb-4"> + <article class="d-block mb-3 pb-4"> <a class="fw-bold text-decoration-none" href="{{ url }}" target="_blank">{{ item.title }}</a> <br/> - <span class="text-muted font-poppins fs-7">{{ item.tags | join: ", " }} | + <span class="text-secondary font-poppins fs-7">{{ item.tags | join: ", " }} | {% include date.html date=item.date format = "%b %Y" %}</span> </article> {% endfor %} From 968e77e78c5d1beb1db01a2c6797cf62a52c7ae1 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 5 Jun 2023 23:29:37 +0000 Subject: [PATCH 152/277] feat(css): variablize bg colors --- src/press.html | 10 +++++++--- src/resources.html | 11 ++++++++--- src/stylesheets/main.css | 8 ++++++++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/press.html b/src/press.html index bb132f1f..4f248a7e 100644 --- a/src/press.html +++ b/src/press.html @@ -3,10 +3,14 @@ permalink: /press --- -<div class="row justify-content-center mt-5 mb-5" style="background-color: #046B99"> - <div class="col-lg-8 col-md-8 py-5"> +<div class="row justify-content-center mt-5 mb-5 rounded rounded-4 background-calitp-blue"> + <div class="col-lg-8 col-md-8 py-5 px-4 px-md-0"> <h1 class="text-white">Press</h1> - <p class="text-white">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</p> + <p class="text-white">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 <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> </div> </div> diff --git a/src/resources.html b/src/resources.html index 1428d4b6..b4e50b89 100644 --- a/src/resources.html +++ b/src/resources.html @@ -3,10 +3,15 @@ permalink: /resources --- -<div class="row justify-content-center mt-5 mb-1" style="background-color: #5B559C"> - <div class="col-lg-8 col-md-8 py-5"> +<div class="row justify-content-center mt-5 mb-1 rounded rounded-4 background-purple-4"> + <div class="col-lg-8 col-md-8 py-5 px-4 px-md-0"> <h1 class="text-white">Resources</h1> - <p class="text-white">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</p> + <p class="text-white">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 + <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> </div> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 32042467..0f0ddd60 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -25,6 +25,14 @@ body { --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); } From 6de586ec742ab3b15da9bc71b98b4baadc6bb4aa Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 05:31:18 +0000 Subject: [PATCH 153/277] refactor(templates): refactor press/resources article list into 2 templates --- src/_includes/article.html | 21 +++++++++++++++++++++ src/_includes/articles.html | 11 +++++++++++ src/press.html | 18 ++---------------- src/resources.html | 17 ++--------------- 4 files changed, 36 insertions(+), 31 deletions(-) create mode 100644 src/_includes/article.html create mode 100644 src/_includes/articles.html diff --git a/src/_includes/article.html b/src/_includes/article.html new file mode 100644 index 00000000..ac40381b --- /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 %} + +<article class="d-block mb-3 pb-4"> + <a + class="fw-bold text-decoration-none" + href="{{ url }}" + {% if item.external %}target="_blank"{% endif %}>{{ item.title }}</a> + <br/> + <span class="text-secondary font-poppins fs-7">{{ item.tags | join: ", " }} | + {% include date.html date=item.date format = "%b %Y" %}</span> +</article> diff --git a/src/_includes/articles.html b/src/_includes/articles.html new file mode 100644 index 00000000..9e865d76 --- /dev/null +++ b/src/_includes/articles.html @@ -0,0 +1,11 @@ +{% for item in items limit: 6 %} + {% include article.html %} +{% endfor %} +{% if group.size > 6 %} + <details> + <summary>Show more</summary> + {% for item in items offset: 6 %} + {% include article.html %} + {% endfor %} + </details> +{% endif %} diff --git a/src/press.html b/src/press.html index 4f248a7e..52d188a8 100644 --- a/src/press.html +++ b/src/press.html @@ -17,21 +17,7 @@ <h1 class="text-white">Press</h1> <section class="row justify-content-center" id="press"> <div class="col-lg-8 col-md-8 mb-5 pb-5"> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} - {% assign all_press = site.press | reverse %} - {% for press in all_press %} - {% assign url = press.url %} - {% if press.external %} - {% assign url = press.external %} - {% endif %} - <article class="d-block mb-3 pb-4"> - <a - class="fw-bold text-decoration-none" - href="{{ url }}" - {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> - <br/> - <span class="text-secondary font-poppins fs-7">{{ press.tags | join: ", " }} | - {% include date.html date=press.date format = "%b %Y" %}</span> - </article> - {% endfor %} + {% assign items = site.press | reverse %} + {% include articles.html %} </div> </section> diff --git a/src/resources.html b/src/resources.html index b4e50b89..05b930b3 100644 --- a/src/resources.html +++ b/src/resources.html @@ -24,21 +24,8 @@ <h1 class="text-white">Resources</h1> {% for group in groups %} <h2 class="mb-4 mt-5">{{ group.name }}</h2> - {% for item in group.items %} - {% assign url = item.asset %} - {% unless url contains "https://" %} - {% assign url = "/assets/" | append: url %} - {% endunless %} - <article class="d-block mb-3 pb-4"> - <a - class="fw-bold text-decoration-none" - href="{{ url }}" - target="_blank">{{ item.title }}</a> - <br/> - <span class="text-secondary font-poppins fs-7">{{ item.tags | join: ", " }} | - {% include date.html date=item.date format = "%b %Y" %}</span> - </article> - {% endfor %} + {% assign items = group.items %} + {% include articles.html %} {% unless forloop.last %} <hr class="mt-5" /> {% endunless %} From 93d0fc16ea122d5ab92ef2a21e55d4937c871dcc Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 05:39:21 +0000 Subject: [PATCH 154/277] fix(details): hide arrow --- src/_includes/articles.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/articles.html b/src/_includes/articles.html index 9e865d76..948e68db 100644 --- a/src/_includes/articles.html +++ b/src/_includes/articles.html @@ -3,7 +3,7 @@ {% endfor %} {% if group.size > 6 %} <details> - <summary>Show more</summary> + <summary class="d-block mb-3 pb-4">Show more</summary> {% for item in items offset: 6 %} {% include article.html %} {% endfor %} From 46f198ac66a452e60b3ea6b53eed7ecd6aad17b1 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 07:17:45 +0000 Subject: [PATCH 155/277] feat(rhombus): add rhombus to Press and Resources --- src/_includes/rounded.html | 23 +++++++++++++++++ src/press.html | 32 ++++++++++++++--------- src/resources.html | 52 ++++++++++++++++++++++---------------- 3 files changed, 73 insertions(+), 34 deletions(-) create mode 100644 src/_includes/rounded.html diff --git a/src/_includes/rounded.html b/src/_includes/rounded.html new file mode 100644 index 00000000..dda1e8c9 --- /dev/null +++ b/src/_includes/rounded.html @@ -0,0 +1,23 @@ +<svg + style="visibility: hidden; position: absolute;" + width="0" + height="0" + xmlns="http://www.w3.org/2000/svg" + version="1.1"> + <defs> + <filter id="rounded"><feGaussianBlur + in="SourceGraphic" + stdDeviation="8" + result="blur" /> + <feColorMatrix + in="blur" + mode="matrix" + values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9" + result="rounded" /> + <feComposite + in="SourceGraphic" + in2="rounded" + operator="atop" /> + </filter> + </defs> +</svg> diff --git a/src/press.html b/src/press.html index 52d188a8..3a27efa8 100644 --- a/src/press.html +++ b/src/press.html @@ -3,21 +3,29 @@ permalink: /press --- -<div class="row justify-content-center mt-5 mb-5 rounded rounded-4 background-calitp-blue"> - <div class="col-lg-8 col-md-8 py-5 px-4 px-md-0"> - <h1 class="text-white">Press</h1> - <p class="text-white">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 <a - rel="noreferrer" - target="_blank" - class="fw-bolder text-white" - href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> +<div class="rhombus-parent"> + <div class="row justify-content-center"> + <div class="background-calitp-blue mt-5 mb-4 col-10 py-5 px-4 px-md-0" style="clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%);"> + <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> + <h1 class="text-white">Press</h1> + <p class="text-white">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 <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> + </div> + </div> </div> </div> <section class="row justify-content-center" id="press"> - <div class="col-lg-8 col-md-8 mb-5 pb-5"> - {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} - {% assign items = site.press | reverse %} - {% include articles.html %} + <div class="col-10"> + <div class="offset-md-2 col-md-8 mb-5 pb-5 col-10"> + {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} + {% assign items = site.press | reverse %} + {% include articles.html %} + </div> </div> </section> + +{% include rounded.html %} diff --git a/src/resources.html b/src/resources.html index 05b930b3..37324d86 100644 --- a/src/resources.html +++ b/src/resources.html @@ -3,32 +3,40 @@ permalink: /resources --- -<div class="row justify-content-center mt-5 mb-1 rounded rounded-4 background-purple-4"> - <div class="col-lg-8 col-md-8 py-5 px-4 px-md-0"> - <h1 class="text-white">Resources</h1> - <p class="text-white">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 - <a - rel="noreferrer" - target="_blank" - class="fw-bolder text-white" - href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> +<div class="rhombus-parent"> + <div class="row justify-content-center"> + <div class="background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0" style="clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%);"> + <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> + <h1 class="text-white">Resources</h1> + <p class="text-white">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 + <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> + </div> + </div> </div> </div> <section class="row justify-content-center" id="resources"> - <div class="col-lg-8 col-md-8 mb-5 pb-5"> - {% 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 %} + <div class="col-10"> + <div class="offset-md-2 col-md-8 mb-5 pb-5"> + {% 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 %} - <h2 class="mb-4 mt-5">{{ group.name }}</h2> - {% assign items = group.items %} - {% include articles.html %} - {% unless forloop.last %} - <hr class="mt-5" /> - {% endunless %} - {% endfor %} + {% for group in groups %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% assign items = group.items %} + {% include articles.html %} + {% unless forloop.last %} + <hr class="mt-5" /> + {% endunless %} + {% endfor %} + </div> </div> </section> + +{% include rounded.html %} From 5b6607c5fbe7f0115805e367a9c309b7cb89fdb5 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 17:21:38 +0000 Subject: [PATCH 156/277] refactor: explicitly include iitems --- src/press.html | 2 +- src/resources.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/press.html b/src/press.html index 3a27efa8..cc94c4de 100644 --- a/src/press.html +++ b/src/press.html @@ -23,7 +23,7 @@ <h1 class="text-white">Press</h1> <div class="offset-md-2 col-md-8 mb-5 pb-5 col-10"> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} {% assign items = site.press | reverse %} - {% include articles.html %} + {% include articles.html items=items %} </div> </div> </section> diff --git a/src/resources.html b/src/resources.html index 37324d86..f4465bfa 100644 --- a/src/resources.html +++ b/src/resources.html @@ -30,7 +30,7 @@ <h1 class="text-white">Resources</h1> {% for group in groups %} <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% assign items = group.items %} - {% include articles.html %} + {% include articles.html items=items %} {% unless forloop.last %} <hr class="mt-5" /> {% endunless %} From f993669defb593eb7b8c496512972f9e6865585b Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 17:25:16 +0000 Subject: [PATCH 157/277] refactor: use svg include --- src/index.html | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/src/index.html b/src/index.html index d3ed8f76..4291a7ff 100644 --- a/src/index.html +++ b/src/index.html @@ -171,26 +171,4 @@ <h3 class="text-white d-block my-4">Stay up to date</h3> </div> </section> -<svg - style="visibility: hidden; position: absolute;" - width="0" - height="0" - xmlns="http://www.w3.org/2000/svg" - version="1.1"> - <defs> - <filter id="rounded"><feGaussianBlur - in="SourceGraphic" - stdDeviation="8" - result="blur" /> - <feColorMatrix - in="blur" - mode="matrix" - values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9" - result="rounded" /> - <feComposite - in="SourceGraphic" - in2="rounded" - operator="atop" /> - </filter> - </defs> -</svg> +{% include rounded.html %} From 1ae56e24366dd55aa4f136e961e7af8575b638ff Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 17:08:19 +0000 Subject: [PATCH 158/277] fix(rhombus): make rhombus desktop only --- src/_includes/initiatives.html | 12 +++++++----- src/stylesheets/main.css | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 355ea2b2..1b753e45 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -24,16 +24,18 @@ <h2 class="text-center text-lg-start">Explore our initiatives</h2> </div> </div> -<div class="tab-content rhombus-parent" id="pills-tabContent"> +<div class="tab-content " id="pills-tabContent"> {% for initiative in site.data.initiatives %} <div - class="tab-pane fade {{ initiative.active }} rounded rounded-4" + class="tab-pane fade rhombus-parent {{ initiative.active }}" id="pills-{{ initiative.slug }}" role="tabpanel" aria-labelledby="pills-{{ initiative.slug }}-tab" - style="clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); background-color: var({{ initiative.class }})" tabindex="0"> - <div id="{{ initiative.id }}" class="rounded px-5 px-md-3 py-5 my-4"> + <div + id="{{ initiative.id }}" + class="px-5 px-md-3 py-5 my-4 rhombus-1" + style=" background-color: var({{ initiative.class }})"> <div class="row"> <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> <img @@ -48,7 +50,7 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head {{ paragraph }} </p> {% endfor %} - <div class="d-grid d-md-block border-bottom border-white border-2"> + <div class="d-grid d-md-block rounded-0 bottom border-white border-2"> <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-4">{{ initiative.button.text }}</a> </div> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 0f0ddd60..0cb583ab 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -170,10 +170,8 @@ footer nav .links { grid-gap: 5em; } -.rhombus-parent { - filter: url("#rounded"); - overflow: hidden; - z-index: 1; +.rhombus-1 { + clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); } p.important { @@ -380,6 +378,11 @@ p.important { --bs-navbar-nav-link-padding-y: 0; --bs-nav-link-padding-y: 0; } + .rhombus-parent { + filter: url("#rounded"); + overflow: hidden; + z-index: 1; + } } @media (max-width: 992px) { @@ -404,6 +407,11 @@ p.important { .navbar-nav { margin: 0 auto; } + + .rhombus-1 { + clip-path: none; + border-radius: 20px; + } } @media (min-width: 768px) { From 800282a1bf8fe47ed7d1ac1c0415d11d74c0b941 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 17:33:39 +0000 Subject: [PATCH 159/277] fix(rhombus): rhombus is larger screen only --- src/press.html | 2 +- src/resources.html | 2 +- src/stylesheets/main.css | 30 ++++++++++++------------------ 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/press.html b/src/press.html index cc94c4de..205c0fb0 100644 --- a/src/press.html +++ b/src/press.html @@ -5,7 +5,7 @@ <div class="rhombus-parent"> <div class="row justify-content-center"> - <div class="background-calitp-blue mt-5 mb-4 col-10 py-5 px-4 px-md-0" style="clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%);"> + <div class="background-calitp-blue rhombus-1 mt-5 mb-4 col-10 py-5 px-4 px-md-0"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> <h1 class="text-white">Press</h1> <p class="text-white">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 <a diff --git a/src/resources.html b/src/resources.html index f4465bfa..1682e5a8 100644 --- a/src/resources.html +++ b/src/resources.html @@ -5,7 +5,7 @@ <div class="rhombus-parent"> <div class="row justify-content-center"> - <div class="background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0" style="clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%);"> + <div class="background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0 rhombus-1"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> <h1 class="text-white">Resources</h1> <p class="text-white">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 diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 0cb583ab..f4b75f38 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -21,7 +21,6 @@ body { --calitp-red-4: rgb(192, 63, 77); /* #c03f4d */ --calitp-red-5: rgb(160, 46, 59); /* #a02e3b */ --calitp-slate-5: rgb(36, 61, 81); /* #243d51 */ - --bs-secondary-rgb: 238, 238, 238; --calitp-font-weight-bold: 700; } @@ -74,7 +73,6 @@ li { line-height: 140%; } -<<<<<<< HEAD .small-caps { text-transform: uppercase; line-height: 140%; @@ -85,18 +83,14 @@ li { font-family: var(--bs-font-sans-serif); border: 1.5px solid var(--bs-white); background-color: rgba(33, 33, 33, 0.2); -======= +} + .fs-7 { font-size: 14px; } .font-poppins { -<<<<<<< HEAD - font-family: "Poppins", sans-serif; ->>>>>>> 8ddf8a1 (feat: css for resources, press page, minus filters) -======= font-family: var(--bs-font-sans-serif); ->>>>>>> 5235dc1 (feat(css): text styling for press) } main.container { @@ -170,8 +164,14 @@ footer nav .links { grid-gap: 5em; } +.rhombus-parent { + filter: url("#rounded"); + overflow: hidden; + z-index: 1; +} + .rhombus-1 { - clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); + clip-path: none; } p.important { @@ -378,10 +378,9 @@ p.important { --bs-navbar-nav-link-padding-y: 0; --bs-nav-link-padding-y: 0; } - .rhombus-parent { - filter: url("#rounded"); - overflow: hidden; - z-index: 1; + + .rhombus-1 { + clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); } } @@ -407,11 +406,6 @@ p.important { .navbar-nav { margin: 0 auto; } - - .rhombus-1 { - clip-path: none; - border-radius: 20px; - } } @media (min-width: 768px) { From ac0db1b6c57e4b279ab807105fb0035186fb6446 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 19:50:08 +0000 Subject: [PATCH 160/277] fix(article): explicitly pass item into article --- src/_includes/articles.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_includes/articles.html b/src/_includes/articles.html index 948e68db..c395397f 100644 --- a/src/_includes/articles.html +++ b/src/_includes/articles.html @@ -1,11 +1,11 @@ {% for item in items limit: 6 %} - {% include article.html %} + {% include article.html item=item %} {% endfor %} {% if group.size > 6 %} <details> <summary class="d-block mb-3 pb-4">Show more</summary> {% for item in items offset: 6 %} - {% include article.html %} + {% include article.html item=item %} {% endfor %} </details> {% endif %} From 352d2700edd181a2acb2401447500ff561ad0ea0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 20:23:23 +0000 Subject: [PATCH 161/277] fix(articles): remove Show More for now --- src/_includes/articles.html | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/_includes/articles.html b/src/_includes/articles.html index c395397f..4eabca1f 100644 --- a/src/_includes/articles.html +++ b/src/_includes/articles.html @@ -1,11 +1,3 @@ -{% for item in items limit: 6 %} +{% for item in items %} {% include article.html item=item %} {% endfor %} -{% if group.size > 6 %} - <details> - <summary class="d-block mb-3 pb-4">Show more</summary> - {% for item in items offset: 6 %} - {% include article.html item=item %} - {% endfor %} - </details> -{% endif %} From 37de40e3f20ae06cecbcf453955a7e6c5086e7e8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 21:05:11 +0000 Subject: [PATCH 162/277] feat(home): convert bottom 2 components to rhombus on desktop --- src/index.html | 14 +++++++------- src/stylesheets/main.css | 8 ++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/index.html b/src/index.html index 4291a7ff..5af1a69e 100644 --- a/src/index.html +++ b/src/index.html @@ -125,12 +125,12 @@ <h2>The time is now—reach out to help and to learn more</h2> </div> </section> -<section class="row justify-content-md-center mt-5 mb-5 pb-5"> - <div class="background-slate-5 shadow p-3 p-md-4 col-md-4 col-12 rounded rounded-4 text-center"> +<section class="row justify-content-md-center mt-5 mb-5 pb-5 rhombus-parent"> + <div class="background-slate-5 shadow pt-3 pt-md-5 px-3 col-md-4 col-12 rounded rounded-4 text-center rhombus-2"> <picture><img src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" - width="80" /></picture> + width="105" /></picture> <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <span class="text-white">Drop us a line at <a @@ -149,13 +149,13 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <div class="col-md-auto"> </div> - <div class="background-slate-5 shadow p-4 col-md-4 col-12 rounded rounded-4 text-center"> + <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 mt-2 col-md-4 col-12 rounded rounded-4 text-center rhombus-3"> <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" - width="80" /></picture> - <h3 class="text-white d-block my-4">Stay up to date</h3> - <p class="text-white text-start"> + width="86" /></picture> + <h3 class="text-white d-block mt-3 mb-4">Stay up to date</h3> + <p class="text-white text-start ps-lg-3"> See our <a class="text-white" diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index f4b75f38..bbe94774 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -382,6 +382,14 @@ p.important { .rhombus-1 { clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); } + + .rhombus-2 { + clip-path: polygon(8% 10%, 91% 0, 100% 100%, 0 100%); + } + + .rhombus-3 { + clip-path: polygon(0 0, 100% 9%, 100% 100%, 7% 100%); + } } @media (max-width: 992px) { From 514783cc922510c37fe84f8637b102a70e902182 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 21:12:54 +0000 Subject: [PATCH 163/277] fix: bold links for consistency --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 5af1a69e..f29d1ae5 100644 --- a/src/index.html +++ b/src/index.html @@ -158,12 +158,12 @@ <h3 class="text-white d-block mt-3 mb-4">Stay up to date</h3> <p class="text-white text-start ps-lg-3"> See our <a - class="text-white" + class="text-white fw-bolder" href="https://dot.ca.gov/cal-itp" rel="noreferrer" target="_blank">latest milestones</a>, and subscribe to the <a - class="text-white" + class="text-white fw-bolder" href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" rel="noreferrer" target="_blank">Caltrans Mobility Newsletter</a>, a free biweekly resource with frequent Cal-ITP project updates. From 92422e3c388f19aec24113f6e4d06e65b1df490a Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 21:33:43 +0000 Subject: [PATCH 164/277] fix(home): aligning corners --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index bbe94774..e3525d33 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -384,7 +384,7 @@ p.important { } .rhombus-2 { - clip-path: polygon(8% 10%, 91% 0, 100% 100%, 0 100%); + clip-path: polygon(8% 10%, 91% 2.5%, 100% 100%, 0 100%); } .rhombus-3 { From 3c45468b438f7ec89799b3772bf55007e45698df Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 19:51:52 +0000 Subject: [PATCH 165/277] fix(header): fix home and reach links --- src/_includes/header.html | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index a97afd9f..ef504db3 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -21,10 +21,7 @@ <div class="navbar-collapse collapse justify-content-end" id="mainNav"> <ul class="navbar-nav mb-0"> <li class="nav-item"> - <a - class="h4 mb-0 nav-link active" - aria-current="page" - href="#">About the project</a> + <a class="h4 mb-0 nav-link" href="/">About the project</a> </li> <li class="nav-item"> <a class="h4 mb-0 nav-link" href="{% link resources.html %}">Resources</a> @@ -33,7 +30,7 @@ <a class="h4 mb-0 nav-link" href="{% link press.html %}">Press</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="#">Reach out</a> + <a class="h4 mb-0 nav-link" href="/#reachout">Reach out</a> </li> </ul> </div> From 68a6c4cfc651f389e3cca31e33057cd1ad0fc0b0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 19:55:08 +0000 Subject: [PATCH 166/277] fix(resources): remove merchant service charge --- .../slide-deck-understanding-merchant-service-charges.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 src/_resources/slide-deck-understanding-merchant-service-charges.md diff --git a/src/_resources/slide-deck-understanding-merchant-service-charges.md b/src/_resources/slide-deck-understanding-merchant-service-charges.md deleted file mode 100644 index 21888bc3..00000000 --- a/src/_resources/slide-deck-understanding-merchant-service-charges.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2023-03-01 -title: Understanding ‘Merchant Service Charges’ -asset: https://docs.google.com/presentation/d/102eidohWJMVb8T--Sjra15j133lacgJSaZB9hmBUMHY/edit?usp=share_link -category: Fact Sheets & Overviews -tags: - - Contactless Payments ---- From d9cf0c54d6c8d93b2d5f8f91d45781556009ce30 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 20:10:52 +0000 Subject: [PATCH 167/277] fix(index): the rounded no longer necessary, taken care of by rhombus-parent --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index f29d1ae5..fc2794e2 100644 --- a/src/index.html +++ b/src/index.html @@ -126,7 +126,7 @@ <h2>The time is now—reach out to help and to learn more</h2> </section> <section class="row justify-content-md-center mt-5 mb-5 pb-5 rhombus-parent"> - <div class="background-slate-5 shadow pt-3 pt-md-5 px-3 col-md-4 col-12 rounded rounded-4 text-center rhombus-2"> + <div class="background-slate-5 shadow pt-3 pt-md-5 px-3 col-md-4 col-12 text-center rhombus-2"> <picture><img src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" @@ -149,7 +149,7 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <div class="col-md-auto"> </div> - <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 mt-2 col-md-4 col-12 rounded rounded-4 text-center rhombus-3"> + <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 mt-2 col-md-4 col-12 text-center rhombus-3"> <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" From 7f070e36a4f34c9b889f44e9705c17bcd0a6b416 Mon Sep 17 00:00:00 2001 From: machiko <machiko@compiler.la> Date: Wed, 7 Jun 2023 13:33:30 -0700 Subject: [PATCH 168/277] Update src/index.html --- src/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index fc2794e2..214bb8ea 100644 --- a/src/index.html +++ b/src/index.html @@ -149,7 +149,7 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <div class="col-md-auto"> </div> - <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 mt-2 col-md-4 col-12 text-center rhombus-3"> + <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 col-md-4 col-12 text-center rhombus-3"> <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" From cc9470f601a7efba52af9803898d1d8ee8f95257 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 22:16:54 +0000 Subject: [PATCH 169/277] refactor(css): .big is the same as .fs-5 --- src/404.html | 3 ++- src/stylesheets/main.css | 4 ---- 2 files changed, 2 insertions(+), 5 deletions(-) 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 @@ <section> <h1>Page Not Found</h1> <p>Sorry, but the page you were trying to view does not exist.</p> - <p><a href="https://calitp.org" class="blue-link big">Go back Home</a>.</p> + <p> + <a href="https://calitp.org" class="blue-link fs-5">Go back Home</a>.</p> </section> </section> </article> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index e3525d33..d5bc41c1 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -195,10 +195,6 @@ p.important { padding-bottom: 50px; } -.big { - font-size: 24px; -} - .box { border-radius: 15px; } From 762b1af9c246ad2b594d5abbcffcfd026f1abca8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 22:18:19 +0000 Subject: [PATCH 170/277] refactor(css): delete unused class --- src/stylesheets/main.css | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index d5bc41c1..165001ef 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -195,17 +195,6 @@ p.important { padding-bottom: 50px; } -.box { - border-radius: 15px; -} - -.box p, -.box h3, -.box a, -.box li { - color: var(--bs-white); -} - #details .tab-content .tab-list article:nth-child(n + 3) { display: none; } From 01e5eb4733ffd4367743cecb1fe1aa77b5ac8e6f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 22:20:25 +0000 Subject: [PATCH 171/277] refactor(css): replace width:100 with w-100 --- src/index.html | 1 + src/stylesheets/main.css | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/index.html b/src/index.html index 214bb8ea..06e40347 100644 --- a/src/index.html +++ b/src/index.html @@ -15,6 +15,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> <picture> <img id="triforce" + class="w-100" src="images/hero-header.png" 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" /> </picture> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 165001ef..5379f156 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -179,10 +179,6 @@ p.important { margin-bottom: 50px; } -#triforce { - width: 100%; -} - #deck { display: grid; grid-template-rows: 1fr; From 1fe8113ef26bf1242f85253f775e5f254441cf51 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 22:21:09 +0000 Subject: [PATCH 172/277] chore(css): 1 line between classes --- src/stylesheets/main.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 5379f156..bfb91538 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -199,10 +199,12 @@ p.important { background-color: var(--calitp-red-5); color: var(--bs-white); } + .blue-link { background-color: var(--calitp-primary-blue); color: var(--bs-white); } + .green-link { background-color: var(--calitp-green-5); color: var(--bs-white); @@ -317,10 +319,12 @@ p.important { grid-template-columns: 1fr 1fr; justify-items: center; } + footer nav { grid-template-columns: 1fr; justify-items: left; } + footer nav .links { grid-template-columns: repeat(2, max-content); grid-gap: 1em; @@ -332,12 +336,14 @@ p.important { grid-template-columns: 1fr; justify-items: left; } + footer nav .links { grid-template-columns: repeat(2, max-content); grid-column: initial; grid-gap: initial; grid-gap: 1em; } + .blob { padding: 1em; } From b0a81dadd660ff0ed0322f568e45ade669281f80 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Tue, 6 Jun 2023 23:14:39 +0000 Subject: [PATCH 173/277] fix: border bottom --- src/_includes/initiatives.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 1b753e45..611083c8 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -50,7 +50,7 @@ <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.head {{ paragraph }} </p> {% endfor %} - <div class="d-grid d-md-block rounded-0 bottom border-white border-2"> + <div class="d-grid d-md-block rounded-0 border-bottom border-white border-2"> <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-4">{{ initiative.button.text }}</a> </div> </div> From b8f5517d0bf7f5cbc04e19b4583c57037421c3e6 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 00:19:40 +0000 Subject: [PATCH 174/277] fix(initiatives): initative spacing fixes --- src/_includes/initiatives.html | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 611083c8..6fe03bb0 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -1,6 +1,6 @@ <div class="row d-flex justify-content-between"> <div class="col-12 col-lg-6"> - <h2 class="text-center text-lg-start">Explore our initiatives</h2> + <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> </div> <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center"> <ul @@ -36,28 +36,29 @@ <h2 class="text-center text-lg-start">Explore our initiatives</h2> id="{{ initiative.id }}" class="px-5 px-md-3 py-5 my-4 rhombus-1" style=" background-color: var({{ initiative.class }})"> - <div class="row"> + <div class="row pt-5"> <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> <img + class="pt-2" src="{{ initiative.image.src }}" alt="{{ initiative.image.alt }}" width="{{ initiative.image.width }}" /> </picture> <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h3 class="text-white text-center text-md-start pb-2 pb-md-0">{{ initiative.headline }}</h3> + <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline }}</h3> {% for paragraph in initiative.paragraphs %} <p class="text-white"> {{ paragraph }} </p> {% endfor %} <div class="d-grid d-md-block rounded-0 border-bottom border-white border-2"> - <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-4">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-5">{{ initiative.button.text }}</a> </div> </div> </div> <div class="row"> <div class="col-12 offset-md-3 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="small-caps text-white mt-4">Recent News</h4> + <h4 class="small-caps text-white mt-5 mb-3">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} {% for press in all_press %} @@ -68,7 +69,7 @@ <h4 class="small-caps text-white mt-4">Recent News</h4> {% if press.tags contains initiative.tag %} <article class="press-item"> <a - class="text-white fw-bold" + class="text-white fw-bold mb-2" rel="noreferrer" href="{{ url }}" {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> @@ -81,7 +82,7 @@ <h4 class="small-caps text-white mt-4">Recent News</h4> </div> <div class="row"> <div class="col-12 offset-md-3 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="small-caps text-white mt-4">Resources</h4> + <h4 class="small-caps text-white mt-4 mb-3">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} {% for resource in all_resources %} @@ -92,7 +93,7 @@ <h4 class="small-caps text-white mt-4">Resources</h4> {% if resource.tags contains initiative.tag %} <article class="resource"> <a - class="text-white fw-bold" + class="text-white fw-bold mb-2 d-block" rel="noreferrer" href="{{ url }}" target="_blank">{{ resource.title }}</a> From f65c7f9def8b351d81fdba4fbba178cdb06dd913 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 00:19:51 +0000 Subject: [PATCH 175/277] fix(home): homepage spacing fixes --- src/index.html | 21 +++++++++++++-------- src/stylesheets/main.css | 19 ++++++------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/index.html b/src/index.html index 06e40347..972fe8d0 100644 --- a/src/index.html +++ b/src/index.html @@ -21,22 +21,24 @@ <h1>A modern and consistent transportation experience throughout California</h1> </picture> </section> -<picture class="railway d-none d-md-block"> +<picture class="d-none d-md-block"> <img id="tracks-0" + class="w-100 mb-md-5 pb-md-3" src="images/tracks-divider-0.png" alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> -<picture class="railway d-md-none"> +<picture class="d-md-none"> <img id="tracks-0-sm" + class="w-100" src="images/tracks-divider-0-sm.png" alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> -<section id="about" class="row justify-content-center pb-md-3 mb-md-2 pb-4 mb-3"> +<section id="about" class="row justify-content-center pb-md-3 mb-md-3 pb-4 mb-3"> <div class="col-12 col-md-8 col-lg-6"> - <h2 class="text-center text-md-start">Bringing industry standards to California’s transit providers</h2> + <h2 class="text-center text-md-start mb-4">Bringing industry standards to California’s transit providers</h2> <p> 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. @@ -72,7 +74,7 @@ <h2 class="text-center text-md-start">Bringing industry standards to California <section id="funfacts" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> - <h2 class="text-center text-md-start">Helping California achieve critical goals through transportation</h2> + <h2 class="text-center text-md-start mb-4">Helping California achieve critical goals through transportation</h2> <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> <div id="facts"> @@ -91,14 +93,16 @@ <h2 class="text-center text-md-start">Helping California achieve critical goals </div> </section> -<picture class="railway d-none d-md-block"> +<picture class="d-none d-md-block"> <img + class="w-100 my-md-5 py-md-5" id="tracks-1" src="images/tracks-divider-1.png" alt="Decorative element with dots and dashes, meant to resemble a transit map" /> </picture> -<picture class="railway d-md-none"> +<picture class="d-md-none"> <img + class="w-100 my-5" id="tracks-0-sm" src="images/tracks-divider-1-sm.png" alt="Decorative element with dots and dashes, meant to resemble a transit map" /> @@ -111,13 +115,14 @@ <h2 class="text-center text-md-start">Helping California achieve critical goals <picture class="railway"> <img id="tracks-2" + class="w-100 my-5" src="images/tracks-divider-2.png" alt="Another decorative element with dots and dashes, meant to resemble a transit map" /> </picture> <section id="reachout" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> - <h2>The time is now—reach out to help and to learn more</h2> + <h2 class="d-block mb-3 text-center text-start-md">The time is now—reach out to help and to learn more</h2> <p>This initiative is critical now more than ever.</p> <p> Cal-ITP is working with transportation agencies across the country to launch a program that can immediately improve the diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index bfb91538..393642fa 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -47,12 +47,15 @@ h4 { font-family: var(--calitp-headline-sans-serif); } -h1 { +h1, +.h1 { + font-size: 40px; font-weight: var(--calitp-font-weight-bold); margin-bottom: 19px; } -h2 { +h2, +.h2 { font-size: 32px; } @@ -78,7 +81,7 @@ li { line-height: 140%; letter-spacing: 0.025em; display: inline-block; - padding: 0.5rem 1rem; + padding: 0.35rem 1rem; font-size: 0.75rem; font-family: var(--bs-font-sans-serif); border: 1.5px solid var(--bs-white); @@ -123,11 +126,6 @@ main.container { text-decoration: underline; } -picture.railway img { - width: 100%; - margin: 7.25rem 0; -} - footer { background-color: var(--bs-body-color); } @@ -308,11 +306,6 @@ p.important { } @media (max-width: 768px) { - picture.railway img { - width: 100%; - margin: 4.5rem 0; - } - footer nav { display: grid; grid-template-rows: 1fr min-content; From 8205a62a9a8fdead644cc3613f01bcf5fe0c4789 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 00:21:08 +0000 Subject: [PATCH 176/277] chore: clean up unused class --- src/stylesheets/main.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 393642fa..ef5df58c 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -336,10 +336,6 @@ p.important { grid-gap: initial; grid-gap: 1em; } - - .blob { - padding: 1em; - } } @media (min-width: 992px) { From 696f8d6015af3a0d9e7380b9ed2aa73bc58d1a42 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 00:26:34 +0000 Subject: [PATCH 177/277] refactor(css): remove unused class, use utility --- src/index.html | 12 ++++++------ src/stylesheets/main.css | 21 --------------------- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/src/index.html b/src/index.html index 972fe8d0..d0ce71ea 100644 --- a/src/index.html +++ b/src/index.html @@ -38,7 +38,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> <section id="about" class="row justify-content-center pb-md-3 mb-md-3 pb-4 mb-3"> <div class="col-12 col-md-8 col-lg-6"> - <h2 class="text-center text-md-start mb-4">Bringing industry standards to California’s transit providers</h2> + <h2 class="text-center text-md-start mt-5 mb-4">Bringing industry standards to California’s transit providers</h2> <p> 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. @@ -78,13 +78,13 @@ <h2 class="text-center text-md-start mb-4">Helping California achieve critical g <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> <div id="facts"> - <ol class="d-flex flex-column"> - <li class="d-flex align-items-md-center align-items-top"> + <ol class="d-flex flex-column gap-3"> + <li class="fw-bolder d-flex align-items-md-center align-items-top"> invites travelers toward more efficient and sustainable modes of travel, </li> - <li class="d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> - <li class="d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> - <li class="d-flex align-items-md-center align-items-top"> + <li class="fw-bolder d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> + <li class="fw-bolder d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> + <li class="fw-bolder d-flex align-items-md-center align-items-top"> 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. </li> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index ef5df58c..2d7189dc 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -172,11 +172,6 @@ footer nav .links { clip-path: none; } -p.important { - font-size: 24px; - margin-bottom: 50px; -} - #deck { display: grid; grid-template-rows: 1fr; @@ -221,19 +216,11 @@ p.important { #facts ol { list-style: none; counter-reset: numList; - gap: 20px; -} - -#facts ol li { - font-weight: 700; - gap: 12px; } #facts ol li:before { counter-increment: numList; content: counter(numList); - font-weight: 700; - font-size: 16px; text-align: center; color: var(--bs-white); line-height: 40px; @@ -283,18 +270,10 @@ p.important { color: var(--bs-body-color); } -.right-callout { - max-width: 700px; -} - #triforce { max-width: 450px; } -#about h2 { - margin-top: 50px; -} - @media (max-width: 1024px) { #deck { grid-template-rows: min-content 1fr; From 8e58fdfc785ef2417b4c3e8c4df4931061e767da Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 00:33:02 +0000 Subject: [PATCH 178/277] refactor(css): make rainbow list generic --- src/index.html | 11 ++++++----- src/stylesheets/main.css | 36 ++++++++++++++++-------------------- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/src/index.html b/src/index.html index d0ce71ea..40187c59 100644 --- a/src/index.html +++ b/src/index.html @@ -15,6 +15,7 @@ <h1>A modern and consistent transportation experience throughout California</h1> <picture> <img id="triforce" + style="max-width: 450px;" class="w-100" src="images/hero-header.png" 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" /> @@ -77,14 +78,14 @@ <h2 class="text-center text-md-start mt-5 mb-4">Bringing industry standards to C <h2 class="text-center text-md-start mb-4">Helping California achieve critical goals through transportation</h2> <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> - <div id="facts"> + <div id="facts" class="rainbow-list"> <ol class="d-flex flex-column gap-3"> - <li class="fw-bolder d-flex align-items-md-center align-items-top"> + <li class="fw-bolder gap-3 d-flex align-items-md-center align-items-top"> invites travelers toward more efficient and sustainable modes of travel, </li> - <li class="fw-bolder d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> - <li class="fw-bolder d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> - <li class="fw-bolder d-flex align-items-md-center align-items-top"> + <li class="fw-bolder gap-3 d-flex align-items-md-center align-items-top">reduces operating costs for transit agencies,</li> + <li class="fw-bolder gap-3 d-flex align-items-md-center align-items-top">simplifies every traveler’s life, and</li> + <li class="fw-bolder gap-3 d-flex align-items-md-center align-items-top"> 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. </li> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 2d7189dc..4cbb0549 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -172,18 +172,6 @@ footer nav .links { clip-path: none; } -#deck { - display: grid; - grid-template-rows: 1fr; - grid-template-columns: 0.85fr 1fr; - grid-gap: 3em; - line-height: 1.1; - align-items: center; - justify-items: center; - padding-top: 88px; - padding-bottom: 50px; -} - #details .tab-content .tab-list article:nth-child(n + 3) { display: none; } @@ -213,12 +201,12 @@ footer nav .links { text-decoration-style: dotted; } -#facts ol { +.rainbow-list ol { list-style: none; counter-reset: numList; } -#facts ol li:before { +.rainbow-list ol li:before { counter-increment: numList; content: counter(numList); text-align: center; @@ -230,19 +218,19 @@ footer nav .links { flex-shrink: 0; } -#facts ol li:nth-child(1):before { +.rainbow-list ol li:nth-child(1):before { background: var(--calitp-primary-blue); } -#facts ol li:nth-child(2):before { +.rainbow-list ol li:nth-child(2):before { background: var(--calitp-orange-5); } -#facts ol li:nth-child(3):before { +.rainbow-list ol li:nth-child(3):before { background: var(--calitp-red-5); } -#facts ol li:nth-child(4):before { +.rainbow-list ol li:nth-child(4):before { background: var(--calitp-purple-4); } @@ -270,8 +258,16 @@ footer nav .links { color: var(--bs-body-color); } -#triforce { - max-width: 450px; +#deck { + display: grid; + grid-template-rows: 1fr; + grid-template-columns: 0.85fr 1fr; + grid-gap: 3em; + line-height: 1.1; + align-items: center; + justify-items: center; + padding-top: 88px; + padding-bottom: 50px; } @media (max-width: 1024px) { From a2cbb882a1ba666e2c80992c125ae8fb09809dac Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 04:46:16 +0000 Subject: [PATCH 179/277] fix(home): h2 spacing --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 40187c59..39aa97fb 100644 --- a/src/index.html +++ b/src/index.html @@ -76,7 +76,7 @@ <h2 class="text-center text-md-start mt-5 mb-4">Bringing industry standards to C <section id="funfacts" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> <h2 class="text-center text-md-start mb-4">Helping California achieve critical goals through transportation</h2> - <p>By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> + <p class="mb-4">By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> <div id="facts" class="rainbow-list"> <ol class="d-flex flex-column gap-3"> @@ -123,7 +123,7 @@ <h2 class="text-center text-md-start mb-4">Helping California achieve critical g <section id="reachout" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> - <h2 class="d-block mb-3 text-center text-start-md">The time is now—reach out to help and to learn more</h2> + <h2 class="text-center text-md-start d-block mb-3">The time is now—reach out to help and to learn more</h2> <p>This initiative is critical now more than ever.</p> <p> Cal-ITP is working with transportation agencies across the country to launch a program that can immediately improve the From 3d45cc1eef6cf9f7e18b6c2667820f33bc046105 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 04:54:06 +0000 Subject: [PATCH 180/277] fix(home): last railway sm img --- src/images/tracks-divider-2-sm.png | Bin 0 -> 12183 bytes src/index.html | 9 ++++++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 src/images/tracks-divider-2-sm.png diff --git a/src/images/tracks-divider-2-sm.png b/src/images/tracks-divider-2-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..7d82e57d430ce4a8e0a48313e9837ce038e69fb4 GIT binary patch literal 12183 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 E0kDQj^Z)<= literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index 39aa97fb..c5fb44af 100644 --- a/src/index.html +++ b/src/index.html @@ -113,13 +113,20 @@ <h2 class="text-center text-md-start mb-4">Helping California achieve critical g {% include initiatives.html %} </section> -<picture class="railway"> +<picture class="d-none d-md-block"> <img id="tracks-2" class="w-100 my-5" src="images/tracks-divider-2.png" alt="Another decorative element with dots and dashes, meant to resemble a transit map" /> </picture> +<picture class="d-md-none"> + <img + class="w-100 my-5" + id="tracks-2-sm" + src="images/tracks-divider-2-sm.png" + alt="Another decorative element with dots and dashes, meant to resemble a transit map" /> +</picture> <section id="reachout" class="row justify-content-center"> <div class="col-12 col-md-8 col-lg-6"> From a10951328759cb9c8749347501ad5304d6e3407c Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 05:21:23 +0000 Subject: [PATCH 181/277] refactor(home): delete all #deck css, use classes instead --- src/index.html | 35 +++++++++++++++++++---------------- src/stylesheets/main.css | 17 ++++------------- 2 files changed, 23 insertions(+), 29 deletions(-) diff --git a/src/index.html b/src/index.html index c5fb44af..7b944a90 100644 --- a/src/index.html +++ b/src/index.html @@ -3,23 +3,26 @@ layout: default --- -<section id="deck"> - <section> - <h1>A modern and consistent transportation experience throughout California</h1> - <p> - 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. - </p> - </section> +<section class="row"> + <div class="col-12 col-lg-5 d-flex align-items-center"> + <div class="ms-lg-4"> + <h1 class="text-center text-lg-start pt-5 pt-lg-0">A modern and consistent transportation experience throughout California</h1> + <p class="text-center text-lg-start"> + 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. + </p> + </div> + </div> - <picture> - <img - id="triforce" - style="max-width: 450px;" - class="w-100" - src="images/hero-header.png" - 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" /> - </picture> + <div class="col-12 offset-lg-1 col-lg-5 d-flex align-items-center justify-content-center"> + <picture> + <img + style="max-width: 441px;" + class="w-100 mx-auto my-lg-5 py-lg-5 py-3 mb-5" + src="images/hero-header.png" + 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" /> + </picture> + </div> </section> <picture class="d-none d-md-block"> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4cbb0549..9824f682 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -259,24 +259,15 @@ footer nav .links { } #deck { - display: grid; - grid-template-rows: 1fr; - grid-template-columns: 0.85fr 1fr; - grid-gap: 3em; - line-height: 1.1; - align-items: center; - justify-items: center; + /* line-height: 1.1; padding-top: 88px; - padding-bottom: 50px; + padding-bottom: 50px; */ } @media (max-width: 1024px) { #deck { - grid-template-rows: min-content 1fr; - grid-template-columns: 1fr; - grid-gap: initial; - justify-items: center; - text-align: center; + /* justify-items: center; + text-align: center; */ } } From c2d3ffe77e6d0cf6b0ef74c79251af9d234deda3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 05:29:05 +0000 Subject: [PATCH 182/277] refactor(css): font size to rem --- src/stylesheets/main.css | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 9824f682..17bfd9d5 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -5,6 +5,7 @@ "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; } body { @@ -49,36 +50,35 @@ h4 { h1, .h1 { - font-size: 40px; + font-size: calc(40rem / 16); font-weight: var(--calitp-font-weight-bold); margin-bottom: 19px; } h2, .h2 { - font-size: 32px; + font-size: 2rem; } h3 { - font-size: 24px; + font-size: calc(24rem / 16); } h4, .h4 { font-weight: var(--calitp-font-weight-bold); - line-height: 140%; + line-height: var(--bs-body-line-height); } p, a, li { - font-size: 16px; - line-height: 140%; + font-size: 1rem; } .small-caps { text-transform: uppercase; - line-height: 140%; + line-height: var(--bs-body-line-height); letter-spacing: 0.025em; display: inline-block; padding: 0.35rem 1rem; @@ -89,7 +89,7 @@ li { } .fs-7 { - font-size: 14px; + font-size: calc(14rem / 16); } .font-poppins { @@ -258,19 +258,6 @@ footer nav .links { color: var(--bs-body-color); } -#deck { - /* line-height: 1.1; - padding-top: 88px; - padding-bottom: 50px; */ -} - -@media (max-width: 1024px) { - #deck { - /* justify-items: center; - text-align: center; */ - } -} - @media (max-width: 768px) { footer nav { display: grid; From d9f017f4ac8a680da8537789a14ece41bbdacbd3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 05:54:51 +0000 Subject: [PATCH 183/277] fix: not dashed --- src/_layouts/press.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index 00661833..1e02f365 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -21,7 +21,8 @@ <h1 class="h2">{{ page.heading }}</h1> {% if page.lead %} <p>{{ page.lead }}</p> {% endif %} - <p class="d-block border-top border-secondary pt-5 mt-5 pb-2 text-uppercase fw-semibold">For immediate release</p> + <hr class="mt-5 pb-5"> + <p class="d-block pb-2 text-uppercase fw-semibold">For immediate release</p> <p>{{ date | append: location | append: "—" | append: page.intro }}</p> {{ page.content }} </article> From b458f9b9d3a5508b4e663fce59c553f482b873d1 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 05:55:11 +0000 Subject: [PATCH 184/277] feat(css): link styles --- src/_includes/article.html | 5 +- src/stylesheets/main.css | 96 ++++++++++++++++++++++---------------- 2 files changed, 58 insertions(+), 43 deletions(-) diff --git a/src/_includes/article.html b/src/_includes/article.html index ac40381b..5e194813 100644 --- a/src/_includes/article.html +++ b/src/_includes/article.html @@ -11,10 +11,7 @@ {% endif %} <article class="d-block mb-3 pb-4"> - <a - class="fw-bold text-decoration-none" - href="{{ url }}" - {% if item.external %}target="_blank"{% endif %}>{{ item.title }}</a> + <a href="{{ url }}" {% if item.external %}target="_blank"{% endif %}>{{ item.title }}</a> <br/> <span class="text-secondary font-poppins fs-7">{{ item.tags | join: ", " }} | {% include date.html date=item.date format = "%b %Y" %}</span> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 17bfd9d5..7401e32d 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -6,13 +6,16 @@ --bs-border-radius: 20px; --bs-border-style: dashed; --bs-body-line-height: 1.4; + --header-nav-height: 110px; } body { --bs-body-color: rgb(33, 33, 33); /* #212121 */ - --bs-link-color: rgb(4, 107, 153); /* #046b99 */ + --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-cyan-1: rgb(213, 238, 245); /* #d5eef5 */ --calitp-green-4: rgb(0, 117, 91); /* #00755b */ --calitp-green-5: rgb(0, 73, 57); /* #004939 */ @@ -96,8 +99,38 @@ li { font-family: var(--bs-font-sans-serif); } -main.container { - padding-top: 110px; +a { + font-weight: 700; + text-decoration: underline; + text-decoration-thickness: 2px; +} + +a:hover { + text-decoration-style: dotted; +} + +.red-link { + background-color: var(--calitp-red-5); + color: var(--bs-white); +} + +.blue-link { + background-color: var(--calitp-primary-blue); + color: var(--bs-white); +} + +.green-link { + background-color: var(--calitp-green-5); + color: var(--bs-white); +} + +.red-link:focus, +.red-link:hover, +.blue-link:focus, +.blue-link:hover, +.green-link:focus, +.green-link:hover { + color: var(--bs-white); } .navbar { @@ -109,21 +142,8 @@ main.container { --bs-nav-link-color: var(--bs-body-color); } -.press-release a { - color: var(--calitp-primary-blue); - font-weight: var(--calitp-font-weight-bold); -} - -.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); -} - -.press-release h2:last-of-type { - text-decoration: underline; +main.container { + padding-top: var(--header-nav-height); } footer { @@ -162,6 +182,8 @@ footer nav .links { grid-gap: 5em; } +/* Shared */ + .rhombus-parent { filter: url("#rounded"); overflow: hidden; @@ -172,33 +194,29 @@ footer nav .links { clip-path: none; } -#details .tab-content .tab-list article:nth-child(n + 3) { - display: none; -} +/* Press Release */ -.red-link { - background-color: var(--calitp-red-5); - color: var(--bs-white); +.press-release a { + color: var(--calitp-primary-blue); + font-weight: var(--calitp-font-weight-bold); } -.blue-link { - background-color: var(--calitp-primary-blue); - color: var(--bs-white); +.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); } -.green-link { - background-color: var(--calitp-green-5); - color: var(--bs-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 { - color: var(--bs-white); - text-decoration-style: dotted; +/* Home Page */ + +#details .tab-content .tab-list article:nth-child(n + 3) { + display: none; } .rainbow-list ol { @@ -331,7 +349,7 @@ footer nav .links { position: absolute; width: 100%; left: 0; - top: 110px; + top: var(--header-nav-height); background: var(--bs-white); } From 93dc996ea049685295f0ba2b3e6579f674560b9a Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 06:01:34 +0000 Subject: [PATCH 185/277] fix(footer): link styles --- src/_includes/footer.html | 8 +++++++- src/stylesheets/main.css | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/_includes/footer.html b/src/_includes/footer.html index 394f6295..cb432264 100644 --- a/src/_includes/footer.html +++ b/src/_includes/footer.html @@ -2,22 +2,28 @@ <nav> <ul class="links"> <li> - <a rel="noreferrer" href="#">Back to top</a> + <a + class="fw-normal text-decoration-none text-white" + rel="noreferrer" + href="#">Back to top</a> </li> <li> <a + class="fw-normal text-decoration-none text-white" rel="noreferrer" target="_blank" href="https://dot.ca.gov/privacy-policy">Privacy policy</a> </li> <li> <a + class="fw-normal text-decoration-none text-white" rel="noreferrer" target="_blank" href="https://www.ca.gov/use/">Conditions of use</a> </li> <li> <a + class="fw-normal text-decoration-none text-white" rel="noreferrer" target="_blank" href="https://registertovote.ca.gov/">Register to vote</a> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 7401e32d..9d3e2d75 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -17,6 +17,7 @@ body { --calitp-primary-blue: rgb(4, 107, 153); /* #046b99 */ --calitp-primary-dark-blue: rgb(34, 81, 115); /* #225173 */ --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 */ @@ -154,9 +155,8 @@ footer nav { padding: 7.5px 0; } -footer nav .links a { - color: var(--bs-white); - text-decoration: none; +footer nav .links a:hover { + color: var(--calitp-gray-2) !important; } footer nav ul { From c1ae5553577345dbafd5e43f4f1a2963635416c8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 21:52:53 +0000 Subject: [PATCH 186/277] fix(header): header link classes --- src/_includes/header.html | 8 ++++---- src/stylesheets/main.css | 11 +++++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index ef504db3..a59845da 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -21,16 +21,16 @@ <div class="navbar-collapse collapse justify-content-end" id="mainNav"> <ul class="navbar-nav mb-0"> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="/">About the project</a> + <a class="h4 mb-0 nav-link d-block" href="/">About the project</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="{% link resources.html %}">Resources</a> + <a class="h4 mb-0 nav-link d-block" href="{% link resources.html %}">Resources</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="{% link press.html %}">Press</a> + <a class="h4 mb-0 nav-link d-block" href="{% link press.html %}">Press</a> </li> <li class="nav-item"> - <a class="h4 mb-0 nav-link" href="/#reachout">Reach out</a> + <a class="h4 mb-0 nav-link d-block" href="/#reachout">Reach out</a> </li> </ul> </div> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 9d3e2d75..4689fc3e 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -16,6 +16,7 @@ body { --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 */ @@ -141,6 +142,16 @@ a:hover { .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); +} + +.nav-link { + padding: 31.4px 0 31.4px 0; +} + +.nav-link:hover { + background-color: var(--calitp-background-blue); } main.container { From 7116e00aef0d2f644a289e344360c3dfc540ab16 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 21:54:02 +0000 Subject: [PATCH 187/277] fix(home): create .hero-header class --- src/index.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 7b944a90..62c4bb5c 100644 --- a/src/index.html +++ b/src/index.html @@ -17,8 +17,7 @@ <h1 class="text-center text-lg-start pt-5 pt-lg-0">A modern and consistent trans <div class="col-12 offset-lg-1 col-lg-5 d-flex align-items-center justify-content-center"> <picture> <img - style="max-width: 441px;" - class="w-100 mx-auto my-lg-5 py-lg-5 py-3 mb-5" + class="hero-header w-100 mx-auto my-lg-5 py-lg-5 py-3 mb-5" src="images/hero-header.png" 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" /> </picture> From b05d0c86dffc5d9638c0e962c6fd5040f96fc73f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 21:54:56 +0000 Subject: [PATCH 188/277] fix(home): set max width on heroheader --- src/stylesheets/main.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4689fc3e..777b1984 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -226,6 +226,10 @@ footer nav .links { /* Home Page */ +.hero-header { + max-width: 441px; +} + #details .tab-content .tab-list article:nth-child(n + 3) { display: none; } From e1fd579a14734542216e9d62092c5473c208b0d1 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 7 Jun 2023 20:27:57 +0000 Subject: [PATCH 189/277] feat: introduce tab that shows articles based on tag --- src/_includes/articles.html | 4 +++- src/press.html | 14 +++++++++++--- src/resources.html | 24 ++++++++++++++++-------- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/_includes/articles.html b/src/_includes/articles.html index 4eabca1f..f89c5e32 100644 --- a/src/_includes/articles.html +++ b/src/_includes/articles.html @@ -1,3 +1,5 @@ {% for item in items %} - {% include article.html item=item %} + {% if include.tag == empty or include.tag and press.tags contains include.tag %} + {% include article.html item=item %} + {% endif %} {% endfor %} diff --git a/src/press.html b/src/press.html index 205c0fb0..7d6ef7bc 100644 --- a/src/press.html +++ b/src/press.html @@ -21,9 +21,17 @@ <h1 class="text-white">Press</h1> <section class="row justify-content-center" id="press"> <div class="col-10"> <div class="offset-md-2 col-md-8 mb-5 pb-5 col-10"> - {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} - {% assign items = site.press | reverse %} - {% include articles.html items=items %} + <div class="tab-content" id="pills-tabContent"> + {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} + {% assign items = site.press | reverse %} + <div + class="tab-pane fade active show" + id="pills-all" + role="tabpanel" + tabindex="0"> + {% include articles.html items=items tag = "" %} + </div> + </div> </div> </div> </section> diff --git a/src/resources.html b/src/resources.html index 1682e5a8..6dab7296 100644 --- a/src/resources.html +++ b/src/resources.html @@ -27,14 +27,22 @@ <h1 class="text-white">Resources</h1> {% 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 %} - <h2 class="mb-4 mt-5">{{ group.name }}</h2> - {% assign items = group.items %} - {% include articles.html items=items %} - {% unless forloop.last %} - <hr class="mt-5" /> - {% endunless %} - {% endfor %} + <div class="tab-content" id="pills-tabContent"> + <div + class="tab-pane fade active show" + id="pills-all" + role="tabpanel" + tabindex="0"> + {% for group in groups %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% assign items = group.items %} + {% include articles.html items=items tag = "" %} + {% unless forloop.last %} + <hr class="mt-5" /> + {% endunless %} + {% endfor %} + </div> + </div> </div> </div> </section> From 2b54c3b06ee2d1bf5c885a572eeb9551970759e1 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 7 Jun 2023 20:35:31 +0000 Subject: [PATCH 190/277] feat: add other tabs that pass in a tag --- src/_includes/articles.html | 2 +- src/press.html | 59 ++++++++++++++++++++++++++ src/resources.html | 83 +++++++++++++++++++++++++++++++++++++ 3 files changed, 143 insertions(+), 1 deletion(-) diff --git a/src/_includes/articles.html b/src/_includes/articles.html index f89c5e32..5df902b8 100644 --- a/src/_includes/articles.html +++ b/src/_includes/articles.html @@ -1,5 +1,5 @@ {% for item in items %} - {% if include.tag == empty or include.tag and press.tags contains include.tag %} + {% if include.tag == empty or include.tag and item.tags contains include.tag %} {% include article.html item=item %} {% endif %} {% endfor %} diff --git a/src/press.html b/src/press.html index 7d6ef7bc..dbf30fc2 100644 --- a/src/press.html +++ b/src/press.html @@ -13,6 +13,41 @@ <h1 class="text-white">Press</h1> target="_blank" class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> + <ul class="nav nav-pills mb-3 gap-2" id="pills-tab" role="tablist"> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-contactless-tab" + data-bs-toggle="pill" + data-bs-target="#pills-contactless" + type="button" + role="tab" + aria-controls="pills-contactless" + aria-selected="false">Contactless Payments</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-benefits-tab" + data-bs-toggle="pill" + data-bs-target="#pills-benefits" + type="button" + role="tab" + aria-controls="pills-benefits" + aria-selected="false">Benefits</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-gtfs-tab" + data-bs-toggle="pill" + data-bs-target="#pills-gtfs" + type="button" + role="tab" + aria-controls="pills-gtfs" + aria-selected="false">GTFS</button> + </li> + </ul> </div> </div> </div> @@ -31,6 +66,30 @@ <h1 class="text-white">Press</h1> tabindex="0"> {% include articles.html items=items tag = "" %} </div> + <div + class="tab-pane fade" + id="pills-contactless" + role="tabpanel" + aria-labelledby="pills-contactless-tab" + tabindex="0"> + {% include articles.html items=items tag = "Contactless Payments" %} + </div> + <div + class="tab-pane fade" + id="pills-benefits" + role="tabpanel" + aria-labelledby="pills-benefits-tab" + tabindex="0"> + {% include articles.html items=items tag = "Benefits" %} + </div> + <div + class="tab-pane fade" + id="pills-gtfs" + role="tabpanel" + aria-labelledby="pills-gtfs-tab" + tabindex="0"> + {% include articles.html items=items tag = "GTFS" %} + </div> </div> </div> </div> diff --git a/src/resources.html b/src/resources.html index 6dab7296..51c7b39e 100644 --- a/src/resources.html +++ b/src/resources.html @@ -14,6 +14,44 @@ <h1 class="text-white">Resources</h1> target="_blank" class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> + <ul + class="nav nav-pills mb-3 gap-2" + id="pills-tab" + role="tablist"> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-contactless-tab" + data-bs-toggle="pill" + data-bs-target="#pills-contactless" + type="button" + role="tab" + aria-controls="pills-contactless" + aria-selected="false">Contactless Payments</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-benefits-tab" + data-bs-toggle="pill" + data-bs-target="#pills-benefits" + type="button" + role="tab" + aria-controls="pills-benefits" + aria-selected="false">Benefits</button> + </li> + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-gtfs-tab" + data-bs-toggle="pill" + data-bs-target="#pills-gtfs" + type="button" + role="tab" + aria-controls="pills-gtfs" + aria-selected="false">GTFS</button> + </li> + </ul> </div> </div> </div> @@ -42,6 +80,51 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% endunless %} {% endfor %} </div> + <div + class="tab-pane fade" + id="pills-contactless" + role="tabpanel" + aria-labelledby="pills-contactless-tab" + tabindex="0"> + {% for group in groups %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% assign items = group.items %} + {% include articles.html items=items tag = "Contactless Payments" %} + {% unless forloop.last %} + <hr class="mt-5" /> + {% endunless %} + {% endfor %} + </div> + <div + class="tab-pane fade" + id="pills-benefits" + role="tabpanel" + aria-labelledby="pills-benefits-tab" + tabindex="0"> + {% for group in groups %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% assign items = group.items %} + {% include articles.html items=items tag = "Benefits" %} + {% unless forloop.last %} + <hr class="mt-5" /> + {% endunless %} + {% endfor %} + </div> + <div + class="tab-pane fade" + id="pills-gtfs" + role="tabpanel" + aria-labelledby="pills-gtfs-tab" + tabindex="0"> + {% for group in groups %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% assign items = group.items %} + {% include articles.html items=items tag = "GTFS" %} + {% unless forloop.last %} + <hr class="mt-5" /> + {% endunless %} + {% endfor %} + </div> </div> </div> </div> From d58c92a4c358711e8cdecc67f46b98196085e673 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Thu, 8 Jun 2023 16:13:37 +0000 Subject: [PATCH 191/277] refactor: hide the "all" tab for now --- src/press.html | 2 +- src/resources.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/press.html b/src/press.html index dbf30fc2..833e2a1d 100644 --- a/src/press.html +++ b/src/press.html @@ -60,7 +60,7 @@ <h1 class="text-white">Press</h1> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} {% assign items = site.press | reverse %} <div - class="tab-pane fade active show" + class="tab-pane fade" id="pills-all" role="tabpanel" tabindex="0"> diff --git a/src/resources.html b/src/resources.html index 51c7b39e..8736a699 100644 --- a/src/resources.html +++ b/src/resources.html @@ -67,7 +67,7 @@ <h1 class="text-white">Resources</h1> <div class="tab-content" id="pills-tabContent"> <div - class="tab-pane fade active show" + class="tab-pane fade" id="pills-all" role="tabpanel" tabindex="0"> From b7d06635a7df189859c2b4fd76ccc7403157131a Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Thu, 8 Jun 2023 17:42:54 +0000 Subject: [PATCH 192/277] feat: add Javascript for toggling a pill off to hide its tab --- src/_includes/pill-behavior.html | 34 ++++++++++++++++++++++++++++++++ src/press.html | 2 ++ src/resources.html | 2 ++ 3 files changed, 38 insertions(+) create mode 100644 src/_includes/pill-behavior.html diff --git a/src/_includes/pill-behavior.html b/src/_includes/pill-behavior.html new file mode 100644 index 00000000..4f121b0c --- /dev/null +++ b/src/_includes/pill-behavior.html @@ -0,0 +1,34 @@ +<script> + 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)); + }); + + 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); + } + } + + 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"); + } +</script> diff --git a/src/press.html b/src/press.html index 833e2a1d..7ee0a3f4 100644 --- a/src/press.html +++ b/src/press.html @@ -95,4 +95,6 @@ <h1 class="text-white">Press</h1> </div> </section> +{% include pill-behavior.html %} + {% include rounded.html %} diff --git a/src/resources.html b/src/resources.html index 8736a699..d222f7bc 100644 --- a/src/resources.html +++ b/src/resources.html @@ -130,4 +130,6 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> </div> </section> +{% include pill-behavior.html %} + {% include rounded.html %} From 6553eab1b131b4aef36e1ba3523742651857a70b Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Thu, 8 Jun 2023 19:39:07 +0000 Subject: [PATCH 193/277] feat: make sure selected state is set correctly on arrow key selection --- src/_includes/pill-behavior.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/_includes/pill-behavior.html b/src/_includes/pill-behavior.html index 4f121b0c..0297b1a1 100644 --- a/src/_includes/pill-behavior.html +++ b/src/_includes/pill-behavior.html @@ -4,6 +4,9 @@ // 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)); }); function toggleSelection(id) { @@ -31,4 +34,10 @@ 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); + } + } </script> From 64427bf833459abb7267178faf63fee0404b30f5 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Thu, 8 Jun 2023 19:40:52 +0000 Subject: [PATCH 194/277] feat: logic to hide and show the "all" tab --- src/_includes/pill-behavior.html | 17 +++++++++++++++++ src/press.html | 2 +- src/resources.html | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/_includes/pill-behavior.html b/src/_includes/pill-behavior.html index 0297b1a1..35b55c54 100644 --- a/src/_includes/pill-behavior.html +++ b/src/_includes/pill-behavior.html @@ -7,6 +7,9 @@ // 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) { @@ -17,6 +20,8 @@ pillToToggle.classList.remove("cal-itp-selected"); pillToToggle.classList.remove("active"); hideTab(pillToToggle.id); + + showAllTab(); } } @@ -40,4 +45,16 @@ 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"); + } </script> diff --git a/src/press.html b/src/press.html index 7ee0a3f4..2de70bd1 100644 --- a/src/press.html +++ b/src/press.html @@ -60,7 +60,7 @@ <h1 class="text-white">Press</h1> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} {% assign items = site.press | reverse %} <div - class="tab-pane fade" + class="tab-pane fade active show" id="pills-all" role="tabpanel" tabindex="0"> diff --git a/src/resources.html b/src/resources.html index d222f7bc..1556dc48 100644 --- a/src/resources.html +++ b/src/resources.html @@ -67,7 +67,7 @@ <h1 class="text-white">Resources</h1> <div class="tab-content" id="pills-tabContent"> <div - class="tab-pane fade" + class="tab-pane fade active show" id="pills-all" role="tabpanel" tabindex="0"> From 83e0e5ac245b3d9e6659ffe099f4366412f88059 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Thu, 8 Jun 2023 20:33:59 +0000 Subject: [PATCH 195/277] refactor: manage pill logic as actual Javascript file rather than HTML --- src/_includes/pill-behavior.html | 60 -------------------------------- src/press.html | 2 +- src/resources.html | 2 +- src/scripts/pill-behavior.js | 57 ++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 62 deletions(-) delete mode 100644 src/_includes/pill-behavior.html create mode 100644 src/scripts/pill-behavior.js diff --git a/src/_includes/pill-behavior.html b/src/_includes/pill-behavior.html deleted file mode 100644 index 35b55c54..00000000 --- a/src/_includes/pill-behavior.html +++ /dev/null @@ -1,60 +0,0 @@ -<script> - 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"); - } -</script> diff --git a/src/press.html b/src/press.html index 2de70bd1..2da0838d 100644 --- a/src/press.html +++ b/src/press.html @@ -95,6 +95,6 @@ <h1 class="text-white">Press</h1> </div> </section> -{% include pill-behavior.html %} +<script src="/scripts/pill-behavior.js"></script> {% include rounded.html %} diff --git a/src/resources.html b/src/resources.html index 1556dc48..5bd2c0c3 100644 --- a/src/resources.html +++ b/src/resources.html @@ -130,6 +130,6 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> </div> </section> -{% include pill-behavior.html %} +<script src="/scripts/pill-behavior.js"></script> {% include rounded.html %} 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"); +} From 96fd6141557c3a489841b18472c5a71e5539e04f Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Thu, 8 Jun 2023 20:13:21 +0000 Subject: [PATCH 196/277] refactor: generate pills and tabs based on data file for press tags --- src/_data/press_tags.yml | 6 ++++ src/press.html | 67 ++++++++++------------------------------ 2 files changed, 23 insertions(+), 50 deletions(-) create mode 100644 src/_data/press_tags.yml diff --git a/src/_data/press_tags.yml b/src/_data/press_tags.yml new file mode 100644 index 00000000..35d6bbe9 --- /dev/null +++ b/src/_data/press_tags.yml @@ -0,0 +1,6 @@ +- name: "Contactless Payments" + id: "contactless" +- name: "Benefits" + id: "benefits" +- name: "GTFS" + id: "gtfs" diff --git a/src/press.html b/src/press.html index 2da0838d..fed03e79 100644 --- a/src/press.html +++ b/src/press.html @@ -14,39 +14,19 @@ <h1 class="text-white">Press</h1> class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> <ul class="nav nav-pills mb-3 gap-2" id="pills-tab" role="tablist"> - <li class="nav-item" role="presentation"> + {% for tag in site.data.press_tags %} + <li class="nav-item" role="presentation"> <button class="nav-link" - id="pills-contactless-tab" + id="pills-{{ tag.id }}-tab" data-bs-toggle="pill" - data-bs-target="#pills-contactless" + data-bs-target="#pills-{{ tag.id }}" type="button" role="tab" - aria-controls="pills-contactless" - aria-selected="false">Contactless Payments</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-benefits-tab" - data-bs-toggle="pill" - data-bs-target="#pills-benefits" - type="button" - role="tab" - aria-controls="pills-benefits" - aria-selected="false">Benefits</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-gtfs-tab" - data-bs-toggle="pill" - data-bs-target="#pills-gtfs" - type="button" - role="tab" - aria-controls="pills-gtfs" - aria-selected="false">GTFS</button> + aria-controls="pills-{{ tag.id }}" + aria-selected="false">{{ tag.name }}</button> </li> + {% endfor %} </ul> </div> </div> @@ -66,29 +46,16 @@ <h1 class="text-white">Press</h1> tabindex="0"> {% include articles.html items=items tag = "" %} </div> - <div - class="tab-pane fade" - id="pills-contactless" - role="tabpanel" - aria-labelledby="pills-contactless-tab" - tabindex="0"> - {% include articles.html items=items tag = "Contactless Payments" %} - </div> - <div - class="tab-pane fade" - id="pills-benefits" - role="tabpanel" - aria-labelledby="pills-benefits-tab" - tabindex="0"> - {% include articles.html items=items tag = "Benefits" %} - </div> - <div - class="tab-pane fade" - id="pills-gtfs" - role="tabpanel" - aria-labelledby="pills-gtfs-tab" - tabindex="0"> - {% include articles.html items=items tag = "GTFS" %} + {% for tag in site.data.press_tags %} + <div + class="tab-pane fade" + id="pills-{{ tag.id }}" + role="tabpanel" + aria-labelledby="pills-{{ tag.id }}-tab" + tabindex="0"> + {% include articles.html items=items tag = tag.name %} + </div> + {% endfor %} </div> </div> </div> From 18c5295b1fa07e92ddead230e2825ae7b2bdaa23 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Thu, 8 Jun 2023 20:18:13 +0000 Subject: [PATCH 197/277] refactor: generate pills and tabs based on data file for resource tags --- src/_data/resource_tags.yml | 6 +++ src/resources.html | 86 ++++++++----------------------------- 2 files changed, 25 insertions(+), 67 deletions(-) create mode 100644 src/_data/resource_tags.yml 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/resources.html b/src/resources.html index 5bd2c0c3..4a8224f2 100644 --- a/src/resources.html +++ b/src/resources.html @@ -18,39 +18,19 @@ <h1 class="text-white">Resources</h1> class="nav nav-pills mb-3 gap-2" id="pills-tab" role="tablist"> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-contactless-tab" - data-bs-toggle="pill" - data-bs-target="#pills-contactless" - type="button" - role="tab" - aria-controls="pills-contactless" - aria-selected="false">Contactless Payments</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-benefits-tab" - data-bs-toggle="pill" - data-bs-target="#pills-benefits" - type="button" - role="tab" - aria-controls="pills-benefits" - aria-selected="false">Benefits</button> - </li> - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-gtfs-tab" - data-bs-toggle="pill" - data-bs-target="#pills-gtfs" - type="button" - role="tab" - aria-controls="pills-gtfs" - aria-selected="false">GTFS</button> - </li> + {% for tag in site.data.resource_tags %} + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-{{ tag.id }}-tab" + data-bs-toggle="pill" + data-bs-target="#pills-{{ tag.id }}" + type="button" + role="tab" + aria-controls="pills-{{ tag.id }}" + aria-selected="false">{{ tag.name }}</button> + </li> + {% endfor %} </ul> </div> </div> @@ -80,51 +60,23 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% endunless %} {% endfor %} </div> - <div - class="tab-pane fade" - id="pills-contactless" - role="tabpanel" - aria-labelledby="pills-contactless-tab" - tabindex="0"> - {% for group in groups %} - <h2 class="mb-4 mt-5">{{ group.name }}</h2> - {% assign items = group.items %} - {% include articles.html items=items tag = "Contactless Payments" %} - {% unless forloop.last %} - <hr class="mt-5" /> - {% endunless %} - {% endfor %} - </div> - <div - class="tab-pane fade" - id="pills-benefits" - role="tabpanel" - aria-labelledby="pills-benefits-tab" - tabindex="0"> - {% for group in groups %} - <h2 class="mb-4 mt-5">{{ group.name }}</h2> - {% assign items = group.items %} - {% include articles.html items=items tag = "Benefits" %} - {% unless forloop.last %} - <hr class="mt-5" /> - {% endunless %} - {% endfor %} - </div> - <div + {% for tag in site.data.resource_tags %} + <div class="tab-pane fade" - id="pills-gtfs" + id="pills-{{ tag.id }}" role="tabpanel" - aria-labelledby="pills-gtfs-tab" + aria-labelledby="pills-{{ tag.id }}-tab" tabindex="0"> {% for group in groups %} <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% assign items = group.items %} - {% include articles.html items=items tag = "GTFS" %} + {% include articles.html items=items tag = tag.name %} {% unless forloop.last %} <hr class="mt-5" /> {% endunless %} {% endfor %} </div> + {% endfor %} </div> </div> </div> From 7bdd74c356cae8073258b42bc9a32c3997e7d61d Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 8 Jun 2023 21:38:05 +0000 Subject: [PATCH 198/277] refactor(home): extract out Initiatives pills classes --- src/_includes/initiatives.html | 2 +- src/stylesheets/main.css | 42 +++++++++++++++++++++++++--------- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 6fe03bb0..2e7c2e73 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -2,7 +2,7 @@ <div class="col-12 col-lg-6"> <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> </div> - <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center"> + <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center black-on-white"> <ul class="nav nav-pills nav-fill mb-3 gap-2" id="pills-tab" diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 777b1984..aec6f28c 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -146,11 +146,11 @@ a:hover { --bs-nav-link-hover-color: var(--calitp-primary-blue); } -.nav-link { +header .nav-link { padding: 31.4px 0 31.4px 0; } -.nav-link:hover { +header .nav-link:hover { background-color: var(--calitp-background-blue); } @@ -269,28 +269,48 @@ footer nav .links { .nav-pills { --bs-nav-pills-border-radius: 19px; - --bs-nav-pills-link-active-color: var(--bs-white); - --bs-nav-pills-link-active-bg: var(--bs-body-color); } .nav-pills .nav-link { padding: 0.23rem; - border: 2px solid var(--bs-body-color); - color: var(--bs-body-color); + border-width: 2px; + border-style: solid; } -.nav-pills { - --bs-nav-pills-border-radius: 19px; +.black-on-white .nav-pills { --bs-nav-pills-link-active-color: var(--bs-white); --bs-nav-pills-link-active-bg: var(--bs-body-color); } -.nav-pills .nav-link { - padding: 0.23rem; - border: 2px solid var(--bs-body-color); +.black-on-white .nav-pills .nav-link { + border-color: var(--bs-body-color); +} + +.black-on-white .nav-pills .nav-link:not(.active) { color: var(--bs-body-color); } +.black-on-white .nav-pills .nav-link:hover { + border-color: rgba(33, 33, 33, 0.8); +} + +.white-on-color .nav-pills { + --bs-nav-pills-link-active-color: var(--bs-body-color); + --bs-nav-pills-link-active-bg: var(--bs-white); +} + +.white-on-color .nav-pills .nav-link { + border-color: var(--bs-white); +} + +.white-on-color .nav-pills .nav-link:not(.active) { + color: var(--bs-white); +} + +.white-on-color .nav-pills .nav-link:hover { + border-color: rgba(var(--bs-white-rgb), 0.8); +} + @media (max-width: 768px) { footer nav { display: grid; From a603745c36ae22d643b8c25fe5983419b3c0f517 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 8 Jun 2023 21:38:26 +0000 Subject: [PATCH 199/277] feat(pills): add styled pills to Resources and Pills --- src/_includes/pills.html | 21 ++++++++++++++++++ src/press.html | 18 ++------------- src/resources.html | 47 +++++++++++++--------------------------- 3 files changed, 38 insertions(+), 48 deletions(-) create mode 100644 src/_includes/pills.html diff --git a/src/_includes/pills.html b/src/_includes/pills.html new file mode 100644 index 00000000..0603d1af --- /dev/null +++ b/src/_includes/pills.html @@ -0,0 +1,21 @@ +<div class="d-flex flex-column flex-md-row align-items-md-center white-on-color mt-md-4"> + <span class="me-2 mb-3 mt-4 my-md-0 text-white">Filter by:</span> + <ul + class="nav nav-pills gap-2" + id="pills-tab" + role="tablist"> + {% for tag in site.data.resource_tags %} + <li class="nav-item" role="presentation"> + <button + class="nav-link" + id="pills-{{ tag.id }}-tab" + data-bs-toggle="pill" + data-bs-target="#pills-{{ tag.id }}" + type="button" + role="tab" + aria-controls="pills-{{ tag.id }}" + aria-selected="false">{{ tag.name }}</button> + </li> + {% endfor %} + </ul> +</div> diff --git a/src/press.html b/src/press.html index fed03e79..ea5d1b90 100644 --- a/src/press.html +++ b/src/press.html @@ -13,21 +13,7 @@ <h1 class="text-white">Press</h1> target="_blank" class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> - <ul class="nav nav-pills mb-3 gap-2" id="pills-tab" role="tablist"> - {% for tag in site.data.press_tags %} - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-{{ tag.id }}-tab" - data-bs-toggle="pill" - data-bs-target="#pills-{{ tag.id }}" - type="button" - role="tab" - aria-controls="pills-{{ tag.id }}" - aria-selected="false">{{ tag.name }}</button> - </li> - {% endfor %} - </ul> + {% include pills.html %} </div> </div> </div> @@ -46,7 +32,7 @@ <h1 class="text-white">Press</h1> tabindex="0"> {% include articles.html items=items tag = "" %} </div> - {% for tag in site.data.press_tags %} + {% for tag in press_tags %} <div class="tab-pane fade" id="pills-{{ tag.id }}" diff --git a/src/resources.html b/src/resources.html index 4a8224f2..1c7090ae 100644 --- a/src/resources.html +++ b/src/resources.html @@ -14,24 +14,7 @@ <h1 class="text-white">Resources</h1> target="_blank" class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> - <ul - class="nav nav-pills mb-3 gap-2" - id="pills-tab" - role="tablist"> - {% for tag in site.data.resource_tags %} - <li class="nav-item" role="presentation"> - <button - class="nav-link" - id="pills-{{ tag.id }}-tab" - data-bs-toggle="pill" - data-bs-target="#pills-{{ tag.id }}" - type="button" - role="tab" - aria-controls="pills-{{ tag.id }}" - aria-selected="false">{{ tag.name }}</button> - </li> - {% endfor %} - </ul> + {% include pills.html %} </div> </div> </div> @@ -62,20 +45,20 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> </div> {% for tag in site.data.resource_tags %} <div - class="tab-pane fade" - id="pills-{{ tag.id }}" - role="tabpanel" - aria-labelledby="pills-{{ tag.id }}-tab" - tabindex="0"> - {% for group in groups %} - <h2 class="mb-4 mt-5">{{ group.name }}</h2> - {% assign items = group.items %} - {% include articles.html items=items tag = tag.name %} - {% unless forloop.last %} - <hr class="mt-5" /> - {% endunless %} - {% endfor %} - </div> + class="tab-pane fade" + id="pills-{{ tag.id }}" + role="tabpanel" + aria-labelledby="pills-{{ tag.id }}-tab" + tabindex="0"> + {% for group in groups %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% assign items = group.items %} + {% include articles.html items=items tag = tag.name %} + {% unless forloop.last %} + <hr class="mt-5" /> + {% endunless %} + {% endfor %} + </div> {% endfor %} </div> </div> From f4387507f3c7cd9131f4e09daabe79eb36d4d976 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 8 Jun 2023 21:45:08 +0000 Subject: [PATCH 200/277] fix: undo --- src/press.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/press.html b/src/press.html index ea5d1b90..4172e02a 100644 --- a/src/press.html +++ b/src/press.html @@ -32,7 +32,7 @@ <h1 class="text-white">Press</h1> tabindex="0"> {% include articles.html items=items tag = "" %} </div> - {% for tag in press_tags %} + {% for tag in site.data.press_tags %} <div class="tab-pane fade" id="pills-{{ tag.id }}" From 2cd23a55e07ca703928c9a8c13080cdf463043b4 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 8 Jun 2023 21:51:03 +0000 Subject: [PATCH 201/277] refactor(pills): declare variable --- src/_includes/pills.html | 2 +- src/press.html | 2 +- src/resources.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_includes/pills.html b/src/_includes/pills.html index 0603d1af..43fa978d 100644 --- a/src/_includes/pills.html +++ b/src/_includes/pills.html @@ -4,7 +4,7 @@ class="nav nav-pills gap-2" id="pills-tab" role="tablist"> - {% for tag in site.data.resource_tags %} + {% for tag in include.tags %} <li class="nav-item" role="presentation"> <button class="nav-link" diff --git a/src/press.html b/src/press.html index 4172e02a..c7e19778 100644 --- a/src/press.html +++ b/src/press.html @@ -13,7 +13,7 @@ <h1 class="text-white">Press</h1> target="_blank" class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> - {% include pills.html %} + {% include pills.html tags=site.data.press_tags %} </div> </div> </div> diff --git a/src/resources.html b/src/resources.html index 1c7090ae..d0ebb141 100644 --- a/src/resources.html +++ b/src/resources.html @@ -14,7 +14,7 @@ <h1 class="text-white">Resources</h1> target="_blank" class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> - {% include pills.html %} + {% include pills.html tags=site.data.resource_tags %} </div> </div> </div> From dc4da76b3dd9d587aee297b840e915ef6204b903 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 8 Jun 2023 21:57:20 +0000 Subject: [PATCH 202/277] fix(mobile): add flex-shrink, flex-row for responsive pills --- src/_includes/pills.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_includes/pills.html b/src/_includes/pills.html index 43fa978d..0f02d241 100644 --- a/src/_includes/pills.html +++ b/src/_includes/pills.html @@ -1,7 +1,7 @@ <div class="d-flex flex-column flex-md-row align-items-md-center white-on-color mt-md-4"> - <span class="me-2 mb-3 mt-4 my-md-0 text-white">Filter by:</span> + <span class="me-2 mb-3 mt-4 my-md-0 text-white flex-shrink-0">Filter by:</span> <ul - class="nav nav-pills gap-2" + class="nav nav-pills gap-2 d-flex flex-column flex-md-row flex-shrink-0" id="pills-tab" role="tablist"> {% for tag in include.tags %} From 5ed20efa4504d92d70fe197bddcf9f062c949446 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 7 Jun 2023 23:55:51 +0000 Subject: [PATCH 203/277] refactor(footer): use flexbox for footer, not css grid --- src/_includes/footer.html | 68 ++++++++++++++++++++------------------- src/stylesheets/main.css | 64 ------------------------------------ 2 files changed, 35 insertions(+), 97 deletions(-) diff --git a/src/_includes/footer.html b/src/_includes/footer.html index cb432264..c0dff3b2 100644 --- a/src/_includes/footer.html +++ b/src/_includes/footer.html @@ -1,33 +1,35 @@ -<footer> - <nav> - <ul class="links"> - <li> - <a - class="fw-normal text-decoration-none text-white" - rel="noreferrer" - href="#">Back to top</a> - </li> - <li> - <a - class="fw-normal text-decoration-none text-white" - rel="noreferrer" - target="_blank" - href="https://dot.ca.gov/privacy-policy">Privacy policy</a> - </li> - <li> - <a - class="fw-normal text-decoration-none text-white" - rel="noreferrer" - target="_blank" - href="https://www.ca.gov/use/">Conditions of use</a> - </li> - <li> - <a - class="fw-normal text-decoration-none text-white" - rel="noreferrer" - target="_blank" - href="https://registertovote.ca.gov/">Register to vote</a> - </li> - </ul> - </nav> -</footer> +<section class="bg-dark navbar"> + <footer class="container d-flex flex-wrap align-content-center"> + <nav class="row"> + <ul class="col-12 links list-unstyled d-flex flex-md-row flex-wrap justify-content-between gap-md-4 my-0 py-2 flex-column gap-1"> + <li> + <a + class="fw-normal text-decoration-none text-white" + rel="noreferrer" + href="#">Back to top</a> + </li> + <li> + <a + class="fw-normal text-decoration-none text-white" + rel="noreferrer" + target="_blank" + href="https://dot.ca.gov/privacy-policy">Privacy policy</a> + </li> + <li> + <a + class="fw-normal text-decoration-none text-white" + rel="noreferrer" + target="_blank" + href="https://www.ca.gov/use/">Conditions of use</a> + </li> + <li> + <a + class="fw-normal text-decoration-none text-white" + rel="noreferrer" + target="_blank" + href="https://registertovote.ca.gov/">Register to vote</a> + </li> + </ul> + </nav> + </footer> +</section> diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index aec6f28c..03ea994a 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -158,41 +158,10 @@ main.container { padding-top: var(--header-nav-height); } -footer { - background-color: var(--bs-body-color); -} - -footer nav { - padding: 7.5px 0; -} - footer nav .links a:hover { color: var(--calitp-gray-2) !important; } -footer nav ul { - margin-bottom: initial; - padding-left: initial; -} - -footer nav { - margin-left: auto; - margin-right: auto; - width: 80vw; - display: grid; - grid-template-rows: 1fr; - grid-template-columns: 1fr; - align-items: center; -} - -footer nav .links { - list-style: none; - display: grid; - grid-template-rows: 1fr; - grid-template-columns: repeat(4, max-content); - grid-gap: 5em; -} - /* Shared */ .rhombus-parent { @@ -311,39 +280,6 @@ footer nav .links { border-color: rgba(var(--bs-white-rgb), 0.8); } -@media (max-width: 768px) { - footer nav { - display: grid; - grid-template-rows: 1fr min-content; - grid-template-columns: 1fr 1fr; - justify-items: center; - } - - footer nav { - grid-template-columns: 1fr; - justify-items: left; - } - - footer nav .links { - grid-template-columns: repeat(2, max-content); - grid-gap: 1em; - } -} - -@media (max-width: 540px) { - footer nav { - grid-template-columns: 1fr; - justify-items: left; - } - - footer nav .links { - grid-template-columns: repeat(2, max-content); - grid-column: initial; - grid-gap: initial; - grid-gap: 1em; - } -} - @media (min-width: 992px) { .navbar { --bs-navbar-nav-link-padding-x: 40px; From b8616118cea2887643fbb139f590429b3f4eda63 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 8 Jun 2023 22:50:17 +0000 Subject: [PATCH 204/277] refactor(footer): use col-md-auto and row row-column for mobile : --- src/_includes/footer.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/_includes/footer.html b/src/_includes/footer.html index c0dff3b2..b0ee3fc0 100644 --- a/src/_includes/footer.html +++ b/src/_includes/footer.html @@ -1,28 +1,28 @@ <section class="bg-dark navbar"> - <footer class="container d-flex flex-wrap align-content-center"> - <nav class="row"> - <ul class="col-12 links list-unstyled d-flex flex-md-row flex-wrap justify-content-between gap-md-4 my-0 py-2 flex-column gap-1"> - <li> + <footer class="container"> + <nav class="col-12"> + <ul class="list-unstyled my-0 py-2 row row-column gap-md-4"> + <li class="col-md-auto col-6 pb-md-0"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" href="#">Back to top</a> </li> - <li> + <li class="col-md-auto col-6 pb-md-0"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" target="_blank" href="https://dot.ca.gov/privacy-policy">Privacy policy</a> </li> - <li> + <li class="col-md-auto col-12"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" target="_blank" href="https://www.ca.gov/use/">Conditions of use</a> </li> - <li> + <li class="col-md-auto col-12"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" From d9d88dc000e4d8d5b26cb5a123bef742de945967 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Mon, 12 Jun 2023 16:11:02 +0000 Subject: [PATCH 205/277] style: match padding for pills as shown in Figma --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 03ea994a..5d1b4fb5 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -241,7 +241,7 @@ footer nav .links a:hover { } .nav-pills .nav-link { - padding: 0.23rem; + padding: 4px 8px; border-width: 2px; border-style: solid; } From 9d59176d552fb1503552d8f0b1512ff605074538 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 12 Jun 2023 19:58:27 +0000 Subject: [PATCH 206/277] fix(home): rainbow list padding left is 0 --- src/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 62c4bb5c..6c029211 100644 --- a/src/index.html +++ b/src/index.html @@ -81,7 +81,7 @@ <h2 class="text-center text-md-start mb-4">Helping California achieve critical g <p class="mb-4">By aligning transportation payment infrastructure with a 21st-century retail experience, Cal-ITP achieves four goals:</p> <div id="facts" class="rainbow-list"> - <ol class="d-flex flex-column gap-3"> + <ol class="d-flex flex-column gap-3 ps-0"> <li class="fw-bolder gap-3 d-flex align-items-md-center align-items-top"> invites travelers toward more efficient and sustainable modes of travel, </li> From 7f898d3b21879bbbdb021703dd9caf0a0a353cee Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 21:09:07 +0000 Subject: [PATCH 207/277] chore(pre-commit): autoupdate hooks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/compilerla/conventional-pre-commit: v2.2.0 → v2.3.0](https://github.com/compilerla/conventional-pre-commit/compare/v2.2.0...v2.3.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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] From dfb3d37b063378b006a731b9ae8e6b50509bccd9 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 12 Jun 2023 21:18:08 +0000 Subject: [PATCH 208/277] fix(rhombus): fix rhombus Safari but on mobile widths --- src/stylesheets/main.css | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 5d1b4fb5..b5f3a313 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -165,13 +165,14 @@ footer nav .links a:hover { /* Shared */ .rhombus-parent { - filter: url("#rounded"); - overflow: hidden; - z-index: 1; + filter: none; + clip-path: none; } -.rhombus-1 { - clip-path: none; +.rhombus-1, +.rhombus-2, +.rhombus-3 { + border-radius: 1.25rem; } /* Press Release */ @@ -297,6 +298,12 @@ footer nav .links a:hover { --bs-nav-link-padding-y: 0; } + .rhombus-parent { + filter: url("#rounded"); + overflow: hidden; + z-index: 1; + } + .rhombus-1 { clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); } From 3076ee167a45c1fcb7ee203e87ea8ca50badd0a1 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Mon, 12 Jun 2023 21:00:42 +0000 Subject: [PATCH 209/277] refactor: move filtering logic to initial assignment of items this allows the specific page template to check the number of items --- src/_includes/articles.html | 4 +--- src/press.html | 13 +++++++------ src/resources.html | 14 ++++++++------ 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/_includes/articles.html b/src/_includes/articles.html index 5df902b8..4eabca1f 100644 --- a/src/_includes/articles.html +++ b/src/_includes/articles.html @@ -1,5 +1,3 @@ {% for item in items %} - {% if include.tag == empty or include.tag and item.tags contains include.tag %} - {% include article.html item=item %} - {% endif %} + {% include article.html item=item %} {% endfor %} diff --git a/src/press.html b/src/press.html index c7e19778..f6a987fb 100644 --- a/src/press.html +++ b/src/press.html @@ -26,20 +26,21 @@ <h1 class="text-white">Press</h1> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} {% assign items = site.press | reverse %} <div - class="tab-pane fade active show" - id="pills-all" - role="tabpanel" - tabindex="0"> - {% include articles.html items=items tag = "" %} + class="tab-pane fade active show" + id="pills-all" + role="tabpanel" + tabindex="0"> + {% include articles.html items=items %} </div> {% for tag in site.data.press_tags %} + {% assign items = site.press | reverse | where_exp: "item", "item.tags contains tag.name" %} <div class="tab-pane fade" id="pills-{{ tag.id }}" role="tabpanel" aria-labelledby="pills-{{ tag.id }}-tab" tabindex="0"> - {% include articles.html items=items tag = tag.name %} + {% include articles.html items=items %} </div> {% endfor %} </div> diff --git a/src/resources.html b/src/resources.html index d0ebb141..c70f52ac 100644 --- a/src/resources.html +++ b/src/resources.html @@ -37,7 +37,7 @@ <h1 class="text-white">Resources</h1> {% for group in groups %} <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% assign items = group.items %} - {% include articles.html items=items tag = "" %} + {% include articles.html items=items %} {% unless forloop.last %} <hr class="mt-5" /> {% endunless %} @@ -51,11 +51,13 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> aria-labelledby="pills-{{ tag.id }}-tab" tabindex="0"> {% for group in groups %} - <h2 class="mb-4 mt-5">{{ group.name }}</h2> - {% assign items = group.items %} - {% include articles.html items=items tag = tag.name %} - {% unless forloop.last %} - <hr class="mt-5" /> + {% assign items = group.items | where_exp: "item", "item.tags contains tag.name" %} + {% unless items.size == 0 %} + <h2 class="mb-4 mt-5">{{ group.name }}</h2> + {% include articles.html items=items %} + {% unless forloop.last %} + <hr class="mt-5" /> + {% endunless %} {% endunless %} {% endfor %} </div> From 0280542ca1a30eea1185c0ae1c92c12be549c879 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 12 Jun 2023 22:28:02 +0000 Subject: [PATCH 210/277] fix(safari): this partially fixes rhombus bug, not for links/clicking --- src/stylesheets/main.css | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index b5f3a313..4da6d094 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -7,6 +7,13 @@ --bs-border-style: dashed; --bs-body-line-height: 1.4; --header-nav-height: 110px; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; } body { @@ -109,6 +116,8 @@ a { a:hover { text-decoration-style: dotted; + filter: none; + -webkit-filter: none; } .red-link { @@ -166,6 +175,7 @@ footer nav .links a:hover { .rhombus-parent { filter: none; + -webkit-filter: none; clip-path: none; } @@ -300,8 +310,13 @@ footer nav .links a:hover { .rhombus-parent { filter: url("#rounded"); + -webkit-filter: url("#rounded"); overflow: hidden; z-index: 1; + transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) + skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + -webkit-transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) + skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } .rhombus-1 { From 269fb288ec47f0089e603289935c1528afca7b58 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 03:49:52 +0000 Subject: [PATCH 211/277] fix(rhombus): use clip-path svg with rounded corners for all pages --- src/_includes/clipped.html | 3 ++ src/_includes/initiatives.html | 8 +++-- src/index.html | 16 ++++++--- src/press.html | 24 ++++++------- src/resources.html | 28 +++++++-------- src/stylesheets/main.css | 65 +++++++++++++++------------------- 6 files changed, 74 insertions(+), 70 deletions(-) create mode 100644 src/_includes/clipped.html 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 @@ +<svg class="position-absolute"> + <clipPath id="my-clip-path" clipPathUnits="objectBoundingBox"><path d="M0,0.081 C-0.001,0.051,0.007,0.026,0.018,0.026 L0.981,0 C0.992,0,1,0.025,1,0.055 L0.981,0.902 C0.981,0.928,0.973,0.949,0.963,0.95 L0.042,1 C0.033,1,0.025,0.98,0.024,0.953 L0,0.081"></path></clipPath> +</svg> diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 2e7c2e73..9f8e644d 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -1,3 +1,7 @@ +<svg class="position-absolute"> + <clipPath id="my-clip-path" clipPathUnits="objectBoundingBox"><path d="M0,0.048 C0,0.036,0.008,0.025,0.018,0.025 L0.982,0 C0.992,0,1,0.011,1,0.023 L0.979,0.931 C0.979,0.942,0.972,0.952,0.962,0.953 L0.048,1 C0.038,1,0.029,0.991,0.029,0.979 L0,0.048"></path></clipPath> +</svg> + <div class="row d-flex justify-content-between"> <div class="col-12 col-lg-6"> <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> @@ -27,14 +31,14 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> <div class="tab-content " id="pills-tabContent"> {% for initiative in site.data.initiatives %} <div - class="tab-pane fade rhombus-parent {{ initiative.active }}" + class="tab-pane fade {{ initiative.active }}" id="pills-{{ initiative.slug }}" role="tabpanel" aria-labelledby="pills-{{ initiative.slug }}-tab" tabindex="0"> <div id="{{ initiative.id }}" - class="px-5 px-md-3 py-5 my-4 rhombus-1" + class="px-5 px-md-3 py-5 my-4 clipped" style=" background-color: var({{ initiative.class }})"> <div class="row pt-5"> <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> diff --git a/src/index.html b/src/index.html index 62c4bb5c..64d6df24 100644 --- a/src/index.html +++ b/src/index.html @@ -141,8 +141,16 @@ <h2 class="text-center text-md-start d-block mb-3">The time is now—reach out t </div> </section> -<section class="row justify-content-md-center mt-5 mb-5 pb-5 rhombus-parent"> - <div class="background-slate-5 shadow pt-3 pt-md-5 px-3 col-md-4 col-12 text-center rhombus-2"> +<svg class="position-absolute"> + <clipPath id="my-clip-path-start" clipPathUnits="objectBoundingBox"><path d="M0.004,0.075 C0,0.034,0.029,0,0.066,0.002 L0.947,0.051 C0.979,0.052,1,0.081,1,0.116 V0.936 C1,0.973,0.977,1,0.944,1 H0.147 C0.117,1,0.091,0.977,0.088,0.943 L0.004,0.075"></path></clipPath> +</svg> + +<svg class="position-absolute"> + <clipPath id="my-clip-path-end" clipPathUnits="objectBoundingBox"><path d="M0.041,0.125 C0.043,0.092,0.066,0.066,0.096,0.063 L0.878,0 C0.91,-0.003,0.939,0.024,0.941,0.06 L1,0.929 C1,0.967,0.977,1,0.942,1 H0.061 C0.027,1,0,0.968,0.002,0.931 L0.041,0.125"></path></clipPath> +</svg> + +<section class="row justify-content-md-center mt-5 mb-5 pb-5 "> + <div class="background-slate-5 shadow pt-3 pt-md-5 px-3 col-md-4 col-12 text-center clipped-start"> <picture><img src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" @@ -165,7 +173,7 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <div class="col-md-auto"> </div> - <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 col-md-4 col-12 text-center rhombus-3"> + <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 col-md-4 col-12 text-center clipped-end"> <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" @@ -186,5 +194,3 @@ <h3 class="text-white d-block mt-3 mb-4">Stay up to date</h3> </p> </div> </section> - -{% include rounded.html %} diff --git a/src/press.html b/src/press.html index c7e19778..b02f0e7d 100644 --- a/src/press.html +++ b/src/press.html @@ -3,18 +3,18 @@ permalink: /press --- -<div class="rhombus-parent"> - <div class="row justify-content-center"> - <div class="background-calitp-blue rhombus-1 mt-5 mb-4 col-10 py-5 px-4 px-md-0"> - <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> - <h1 class="text-white">Press</h1> - <p class="text-white">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 <a - rel="noreferrer" - target="_blank" - class="fw-bolder text-white" - href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> - {% include pills.html tags=site.data.press_tags %} - </div> +{% include clipped.html %} + +<div class="row justify-content-center"> + <div class="clipped background-calitp-blue rhombus-1 mt-5 mb-4 col-10 py-5 px-4 px-md-0"> + <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> + <h1 class="text-white">Press</h1> + <p class="text-white">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 <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a>.</span></p> + {% include pills.html tags=site.data.press_tags %} </div> </div> </div> diff --git a/src/resources.html b/src/resources.html index d0ebb141..83e841cb 100644 --- a/src/resources.html +++ b/src/resources.html @@ -3,19 +3,19 @@ permalink: /resources --- -<div class="rhombus-parent"> - <div class="row justify-content-center"> - <div class="background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0 rhombus-1"> - <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> - <h1 class="text-white">Resources</h1> - <p class="text-white">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 - <a - rel="noreferrer" - target="_blank" - class="fw-bolder text-white" - href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> - {% include pills.html tags=site.data.resource_tags %} - </div> +{% include clipped.html %} + +<div class="row justify-content-center"> + <div class="clipped background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0 rhombus-1"> + <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> + <h1 class="text-white">Resources</h1> + <p class="text-white">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 + <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a>.</p> + {% include pills.html tags=site.data.resource_tags %} </div> </div> </div> @@ -66,5 +66,3 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> </section> <script src="/scripts/pill-behavior.js"></script> - -{% include rounded.html %} diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 4da6d094..901a33d8 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -7,13 +7,6 @@ --bs-border-style: dashed; --bs-body-line-height: 1.4; --header-nav-height: 110px; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; } body { @@ -88,6 +81,10 @@ li { font-size: 1rem; } +a { + -webkit-tap-highlight-color: transparent; +} + .small-caps { text-transform: uppercase; line-height: var(--bs-body-line-height); @@ -171,20 +168,6 @@ footer nav .links a:hover { color: var(--calitp-gray-2) !important; } -/* Shared */ - -.rhombus-parent { - filter: none; - -webkit-filter: none; - clip-path: none; -} - -.rhombus-1, -.rhombus-2, -.rhombus-3 { - border-radius: 1.25rem; -} - /* Press Release */ .press-release a { @@ -272,6 +255,7 @@ footer nav .links a:hover { .black-on-white .nav-pills .nav-link:hover { border-color: rgba(33, 33, 33, 0.8); + filter: none; } .white-on-color .nav-pills { @@ -281,14 +265,25 @@ footer nav .links a:hover { .white-on-color .nav-pills .nav-link { border-color: var(--bs-white); + filter: none; } .white-on-color .nav-pills .nav-link:not(.active) { color: var(--bs-white); + filter: none; } .white-on-color .nav-pills .nav-link:hover { border-color: rgba(var(--bs-white-rgb), 0.8); + filter: none; +} + +.clipped, +.clipped-start, +.clipped-end { + -webkit-clip-path: none; + clip-path: none; + border-radius: 1.25rem; } @media (min-width: 992px) { @@ -308,27 +303,25 @@ footer nav .links a:hover { --bs-nav-link-padding-y: 0; } - .rhombus-parent { - filter: url("#rounded"); - -webkit-filter: url("#rounded"); - overflow: hidden; - z-index: 1; - transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) - skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - -webkit-transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) - skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + .clipped, + .clipped-start, + .clipped-end { + border-radius: 0; } - .rhombus-1 { - clip-path: polygon(0 3%, 100% 0, 96% 98%, 3% 100%); + .clipped { + -webkit-clip-path: url(#my-clip-path); + clip-path: url(#my-clip-path); } - .rhombus-2 { - clip-path: polygon(8% 10%, 91% 2.5%, 100% 100%, 0 100%); + .clipped-start { + -webkit-clip-path: url(#my-clip-path-start); + clip-path: url(#my-clip-path-start); } - .rhombus-3 { - clip-path: polygon(0 0, 100% 9%, 100% 100%, 7% 100%); + .clipped-end { + -webkit-clip-path: url(#my-clip-path-end); + clip-path: url(#my-clip-path-end); } } From bcde93a80eff8c4052fbe47e824815ada8031834 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 03:53:46 +0000 Subject: [PATCH 212/277] fix: no longer necessary --- src/stylesheets/main.css | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 901a33d8..7dc2e173 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -81,10 +81,6 @@ li { font-size: 1rem; } -a { - -webkit-tap-highlight-color: transparent; -} - .small-caps { text-transform: uppercase; line-height: var(--bs-body-line-height); @@ -113,8 +109,6 @@ a { a:hover { text-decoration-style: dotted; - filter: none; - -webkit-filter: none; } .red-link { @@ -255,7 +249,6 @@ footer nav .links a:hover { .black-on-white .nav-pills .nav-link:hover { border-color: rgba(33, 33, 33, 0.8); - filter: none; } .white-on-color .nav-pills { @@ -265,17 +258,14 @@ footer nav .links a:hover { .white-on-color .nav-pills .nav-link { border-color: var(--bs-white); - filter: none; } .white-on-color .nav-pills .nav-link:not(.active) { color: var(--bs-white); - filter: none; } .white-on-color .nav-pills .nav-link:hover { border-color: rgba(var(--bs-white-rgb), 0.8); - filter: none; } .clipped, From 43a915e83357348477432f780b64549489bcae76 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 06:24:51 +0000 Subject: [PATCH 213/277] fix: remove box-shadow class --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 64d6df24..2256d15a 100644 --- a/src/index.html +++ b/src/index.html @@ -150,7 +150,7 @@ <h2 class="text-center text-md-start d-block mb-3">The time is now—reach out t </svg> <section class="row justify-content-md-center mt-5 mb-5 pb-5 "> - <div class="background-slate-5 shadow pt-3 pt-md-5 px-3 col-md-4 col-12 text-center clipped-start"> + <div class="background-slate-5 pt-3 pt-md-5 px-3 col-md-4 col-12 text-center clipped-start"> <picture><img src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" @@ -173,7 +173,7 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <div class="col-md-auto"> </div> - <div class="background-slate-5 shadow pt-3 pt-md-5 px-md-5 px-3 col-md-4 col-12 text-center clipped-end"> + <div class="background-slate-5 pt-3 pt-md-5 px-md-5 px-3 col-md-4 col-12 text-center clipped-end"> <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" From bbcc7e0a33af9f37acda3e0f6fbdd248d0d2c2b0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 06:41:32 +0000 Subject: [PATCH 214/277] fix(home): bottom 2 rhombus alignment fix --- src/index.html | 80 ++++++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 38 deletions(-) diff --git a/src/index.html b/src/index.html index 2256d15a..c18f1a8f 100644 --- a/src/index.html +++ b/src/index.html @@ -150,47 +150,51 @@ <h2 class="text-center text-md-start d-block mb-3">The time is now—reach out t </svg> <section class="row justify-content-md-center mt-5 mb-5 pb-5 "> - <div class="background-slate-5 pt-3 pt-md-5 px-3 col-md-4 col-12 text-center clipped-start"> - <picture><img - src="images/connect.png" - alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" - width="105" /></picture> - <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> - <span class="text-white">Drop us a line at - <a - rel="noreferrer" - target="_blank" - class="fw-bolder text-white" - href="mailto:hello@calitp.org">hello@calitp.org</a> - to:</span> - <ul class="text-center ms-2 ms-md-4 ms-lg-5"> - <li class="text-white text-start">request technical assistance</li> - <li class="text-white text-start">get more information</li> - <li class="text-white text-start">offer collaborative support</li> - <li class="text-white text-start">join our email list for updates</li> - </ul> + <div class="col-12 col-md-4" style="filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));"> + <div class="background-slate-5 pt-3 pt-md-5 px-3 pb-1 text-center clipped-start"> + <picture><img + src="images/connect.png" + alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" + width="105" /></picture> + <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> + <span class="text-white">Drop us a line at + <a + rel="noreferrer" + target="_blank" + class="fw-bolder text-white" + href="mailto:hello@calitp.org">hello@calitp.org</a> + to:</span> + <ul class="text-center ms-2 ms-md-4 ms-lg-5"> + <li class="text-white text-start">request technical assistance</li> + <li class="text-white text-start">get more information</li> + <li class="text-white text-start">offer collaborative support</li> + <li class="text-white text-start">join our email list for updates</li> + </ul> + </div> </div> <div class="col-md-auto"> </div> - <div class="background-slate-5 pt-3 pt-md-5 px-md-5 px-3 col-md-4 col-12 text-center clipped-end"> - <picture><img - src="images/stay-up-to-date.png" - alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" - width="86" /></picture> - <h3 class="text-white d-block mt-3 mb-4">Stay up to date</h3> - <p class="text-white text-start ps-lg-3"> - See our - <a - class="text-white fw-bolder" - href="https://dot.ca.gov/cal-itp" - rel="noreferrer" - target="_blank">latest milestones</a>, and subscribe to the - <a - class="text-white fw-bolder" - href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" - rel="noreferrer" - target="_blank">Caltrans Mobility Newsletter</a>, a free biweekly resource with frequent Cal-ITP project updates. - </p> + <div class="col-12 col-md-4" style="filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));"> + <div class="background-slate-5 pt-3 pt-md-5 px-md-5 px-3 pt-2 pb-3 text-center clipped-end"> + <picture><img + src="images/stay-up-to-date.png" + alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" + width="86" /></picture> + <h3 class="text-white d-block mt-3 mb-4">Stay up to date</h3> + <p class="text-white text-start ps-lg-4"> + See our + <a + class="text-white fw-bolder" + href="https://dot.ca.gov/cal-itp" + rel="noreferrer" + target="_blank">latest milestones</a>, and subscribe to the + <a + class="text-white fw-bolder" + href="https://lp.constantcontactpages.com/su/eLbtFoE/calitp?website" + rel="noreferrer" + target="_blank">Caltrans Mobility Newsletter</a>, a free biweekly resource with frequent Cal-ITP project updates. + </p> + </div> </div> </section> From faddfa99f04d041775d6c3ad35aa33db782b5ab0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 06:43:40 +0000 Subject: [PATCH 215/277] refactor: turn clipped-shadow into class --- src/stylesheets/main.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 7dc2e173..875c460e 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -276,6 +276,10 @@ footer nav .links a:hover { border-radius: 1.25rem; } +.clipped-shadow { + filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15)); +} + @media (min-width: 992px) { .navbar { --bs-navbar-nav-link-padding-x: 40px; From c61ce1be8b217fd3a2eddeb7088210c44adb9200 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 16:15:43 +0000 Subject: [PATCH 216/277] fix: add mt-5 to Press outer div to match the one on Resource h2 --- src/press.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/press.html b/src/press.html index f6a987fb..7068c716 100644 --- a/src/press.html +++ b/src/press.html @@ -21,7 +21,7 @@ <h1 class="text-white">Press</h1> <section class="row justify-content-center" id="press"> <div class="col-10"> - <div class="offset-md-2 col-md-8 mb-5 pb-5 col-10"> + <div class="offset-md-2 col-md-8 mt-5 mb-5 pb-5 col-10"> <div class="tab-content" id="pills-tabContent"> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} {% assign items = site.press | reverse %} From 24b96b7c71216d866e9e40a4db511a4c84754ad5 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 16:18:25 +0000 Subject: [PATCH 217/277] fix: make Press links take up full column --- src/press.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/press.html b/src/press.html index 7068c716..a59d24c7 100644 --- a/src/press.html +++ b/src/press.html @@ -21,7 +21,7 @@ <h1 class="text-white">Press</h1> <section class="row justify-content-center" id="press"> <div class="col-10"> - <div class="offset-md-2 col-md-8 mt-5 mb-5 pb-5 col-10"> + <div class="offset-md-2 col-md-8 mt-5 mb-5 pb-5"> <div class="tab-content" id="pills-tabContent"> {% comment %} Jekyll sorts by the date field in ascending order by default {% endcomment %} {% assign items = site.press | reverse %} From 1b2b265faf83728c7b57668bb851c5364ef3551c Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 16:52:52 +0000 Subject: [PATCH 218/277] fix: remove custom link styling on Press Release layout link styling is already handled by Bootstrap variable overrides --- src/stylesheets/main.css | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 5d1b4fb5..5275040c 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -176,11 +176,6 @@ footer nav .links a:hover { /* Press Release */ -.press-release a { - color: var(--calitp-primary-blue); - font-weight: var(--calitp-font-weight-bold); -} - .press-release h2, .press-release h3 { font-size: var(--bs-body-font-size); From ce830ef8b7ac786a9a0fb58ecf5d99330e920f6e Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 16:57:11 +0000 Subject: [PATCH 219/277] fix: make space above and below line break the same --- src/_layouts/press.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index 1e02f365..0708038d 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -21,7 +21,7 @@ <h1 class="h2">{{ page.heading }}</h1> {% if page.lead %} <p>{{ page.lead }}</p> {% endif %} - <hr class="mt-5 pb-5"> + <hr class="mt-5 mb-5"> <p class="d-block pb-2 text-uppercase fw-semibold">For immediate release</p> <p>{{ date | append: location | append: "—" | append: page.intro }}</p> {{ page.content }} From aa72572fe6c290a615e8707b7956278540b313e4 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 17:27:20 +0000 Subject: [PATCH 220/277] fix: make space above and below line break 40px (same as Figma) --- src/_layouts/press.html | 2 +- src/resources.html | 4 ++-- src/stylesheets/main.css | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/_layouts/press.html b/src/_layouts/press.html index 0708038d..fb58fde4 100644 --- a/src/_layouts/press.html +++ b/src/_layouts/press.html @@ -21,7 +21,7 @@ <h1 class="h2">{{ page.heading }}</h1> {% if page.lead %} <p>{{ page.lead }}</p> {% endif %} - <hr class="mt-5 mb-5"> + <hr/> <p class="d-block pb-2 text-uppercase fw-semibold">For immediate release</p> <p>{{ date | append: location | append: "—" | append: page.intro }}</p> {{ page.content }} diff --git a/src/resources.html b/src/resources.html index c70f52ac..6622047a 100644 --- a/src/resources.html +++ b/src/resources.html @@ -39,7 +39,7 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% assign items = group.items %} {% include articles.html items=items %} {% unless forloop.last %} - <hr class="mt-5" /> + <hr/> {% endunless %} {% endfor %} </div> @@ -56,7 +56,7 @@ <h2 class="mb-4 mt-5">{{ group.name }}</h2> <h2 class="mb-4 mt-5">{{ group.name }}</h2> {% include articles.html items=items %} {% unless forloop.last %} - <hr class="mt-5" /> + <hr/> {% endunless %} {% endunless %} {% endfor %} diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 5275040c..614442c7 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -81,6 +81,11 @@ li { font-size: 1rem; } +hr { + margin-top: 40px; + margin-bottom: 40px; +} + .small-caps { text-transform: uppercase; line-height: var(--bs-body-line-height); From d98fdd707fe2c008f338dcef3d1d9eaa47df485e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 17:43:41 +0000 Subject: [PATCH 221/277] fix(home): manage height with align-content-stretch; flip shapes --- src/index.html | 12 ++++++------ src/stylesheets/main.css | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index c18f1a8f..abd8666e 100644 --- a/src/index.html +++ b/src/index.html @@ -149,9 +149,9 @@ <h2 class="text-center text-md-start d-block mb-3">The time is now—reach out t <clipPath id="my-clip-path-end" clipPathUnits="objectBoundingBox"><path d="M0.041,0.125 C0.043,0.092,0.066,0.066,0.096,0.063 L0.878,0 C0.91,-0.003,0.939,0.024,0.941,0.06 L1,0.929 C1,0.967,0.977,1,0.942,1 H0.061 C0.027,1,0,0.968,0.002,0.931 L0.041,0.125"></path></clipPath> </svg> -<section class="row justify-content-md-center mt-5 mb-5 pb-5 "> - <div class="col-12 col-md-4" style="filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));"> - <div class="background-slate-5 pt-3 pt-md-5 px-3 pb-1 text-center clipped-start"> +<section class="row justify-content-md-center mt-5 mb-5 pb-5 align-content-stretch"> + <div class="col-12 col-md-4 clipped-shadow"> + <div class="background-slate-5 pt-3 pt-md-5 px-3 text-center clipped-end"> <picture><img src="images/connect.png" alt="Two thought bubbles with dashes of various lengths, meant to represent words in a conversation" @@ -175,14 +175,14 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> <div class="col-md-auto"> </div> - <div class="col-12 col-md-4" style="filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));"> - <div class="background-slate-5 pt-3 pt-md-5 px-md-5 px-3 pt-2 pb-3 text-center clipped-end"> + <div class="col-12 col-md-4 clipped-shadow"> + <div class="background-slate-5 pt-3 pt-md-5 px-md-5 px-3 pt-2 text-center clipped-start"> <picture><img src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" width="86" /></picture> <h3 class="text-white d-block mt-3 mb-4">Stay up to date</h3> - <p class="text-white text-start ps-lg-4"> + <p class="text-white text-start ps-lg-3"> See our <a class="text-white fw-bolder" diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 875c460e..b8cad20b 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -276,6 +276,11 @@ footer nav .links a:hover { border-radius: 1.25rem; } +.clipped-start, +.clipped-end { + min-height: 100%; +} + .clipped-shadow { filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15)); } From 84cacc24076cdcb181d2fc24946205ba79012ce8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 19:43:55 +0000 Subject: [PATCH 222/277] fix(mobile): mobile nav link sizing is off, text now vertically centered --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 962231d8..f4ff1bf1 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -332,7 +332,7 @@ footer nav .links a:hover { } .navbar-nav .nav-link { - padding: 23.8px 0 28.8px 12px; + padding: 23.8px 0 23.8px 12px; border-bottom: 1px solid var(--calitp-cyan-1); } From 78bedba80c20d7d88a4f133452bd849d727bab18 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 19:56:15 +0000 Subject: [PATCH 223/277] fix: adjust offsets on initiatives to make text more centered --- src/_includes/initiatives.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 2e7c2e73..01ff0c66 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -37,7 +37,7 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> class="px-5 px-md-3 py-5 my-4 rhombus-1" style=" background-color: var({{ initiative.class }})"> <div class="row pt-5"> - <picture class="col-12 col-md-2 col-lg-2 offset-md-1 d-flex justify-content-md-end align-self-md-start justify-content-center"> + <picture class="col-12 col-md-2 col-lg-2 d-flex justify-content-md-end align-self-md-start justify-content-center"> <img class="pt-2" src="{{ initiative.image.src }}" @@ -57,7 +57,7 @@ <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline </div> </div> <div class="row"> - <div class="col-12 offset-md-3 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0"> <h4 class="small-caps text-white mt-5 mb-3">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} @@ -81,7 +81,7 @@ <h4 class="small-caps text-white mt-5 mb-3">Recent News</h4> </div> </div> <div class="row"> - <div class="col-12 offset-md-3 offset-lg-3 col-md-8 col-lg-8 pt-4 pt-md-0"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0"> <h4 class="small-caps text-white mt-4 mb-3">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} From 7a14bea2a361367e3ced4c5b1cac86de5a028097 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 19:57:45 +0000 Subject: [PATCH 224/277] fix(home): align the h3s of the 2 rhombuses; add 24px margin bottom for the 1st --- src/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index abd8666e..9d63ee91 100644 --- a/src/index.html +++ b/src/index.html @@ -164,7 +164,7 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> class="fw-bolder text-white" href="mailto:hello@calitp.org">hello@calitp.org</a> to:</span> - <ul class="text-center ms-2 ms-md-4 ms-lg-5"> + <ul class="text-center mb-4 ms-2 ms-md-4 ms-lg-5"> <li class="text-white text-start">request technical assistance</li> <li class="text-white text-start">get more information</li> <li class="text-white text-start">offer collaborative support</li> @@ -181,7 +181,7 @@ <h3 class="text-white d-block my-4">Connect with Cal-ITP</h3> src="images/stay-up-to-date.png" alt="A bus nearly surrounded by a semicircular arrow, meant to indicate that transit content is being refreshed" width="86" /></picture> - <h3 class="text-white d-block mt-3 mb-4">Stay up to date</h3> + <h3 class="text-white d-block my-4">Stay up to date</h3> <p class="text-white text-start ps-lg-3"> See our <a From 220e120a32c4722365515ac41c3e5e5290340e13 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 20:38:40 +0000 Subject: [PATCH 225/277] fix: press, resources - add margin-bottom 8px to h1s --- src/press.html | 2 +- src/resources.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/press.html b/src/press.html index b02f0e7d..40b6363c 100644 --- a/src/press.html +++ b/src/press.html @@ -8,7 +8,7 @@ <div class="row justify-content-center"> <div class="clipped background-calitp-blue rhombus-1 mt-5 mb-4 col-10 py-5 px-4 px-md-0"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> - <h1 class="text-white">Press</h1> + <h1 class="text-white mb-2">Press</h1> <p class="text-white">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 <a rel="noreferrer" target="_blank" diff --git a/src/resources.html b/src/resources.html index 83e841cb..17759ff3 100644 --- a/src/resources.html +++ b/src/resources.html @@ -8,7 +8,7 @@ <div class="row justify-content-center"> <div class="clipped background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0 rhombus-1"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> - <h1 class="text-white">Resources</h1> + <h1 class="text-white mb-2">Resources</h1> <p class="text-white">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 <a rel="noreferrer" From 0bbb8b1cfaf6d8b662f7290f30694fe24be50dd0 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 20:43:23 +0000 Subject: [PATCH 226/277] fix: press, resources - space between body text and filters is 32px --- src/_includes/pills.html | 2 +- src/press.html | 2 +- src/resources.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_includes/pills.html b/src/_includes/pills.html index 0f02d241..68c733e6 100644 --- a/src/_includes/pills.html +++ b/src/_includes/pills.html @@ -1,4 +1,4 @@ -<div class="d-flex flex-column flex-md-row align-items-md-center white-on-color mt-md-4"> +<div class="d-flex flex-column flex-md-row align-items-md-center white-on-color"> <span class="me-2 mb-3 mt-4 my-md-0 text-white flex-shrink-0">Filter by:</span> <ul class="nav nav-pills gap-2 d-flex flex-column flex-md-row flex-shrink-0" diff --git a/src/press.html b/src/press.html index 40b6363c..317c2475 100644 --- a/src/press.html +++ b/src/press.html @@ -9,7 +9,7 @@ <div class="clipped background-calitp-blue rhombus-1 mt-5 mb-4 col-10 py-5 px-4 px-md-0"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> <h1 class="text-white mb-2">Press</h1> - <p class="text-white">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 <a + <p class="text-white mb-3 pb-3">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 <a rel="noreferrer" target="_blank" class="fw-bolder text-white" diff --git a/src/resources.html b/src/resources.html index 17759ff3..598ccc8e 100644 --- a/src/resources.html +++ b/src/resources.html @@ -9,7 +9,7 @@ <div class="clipped background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0 rhombus-1"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> <h1 class="text-white mb-2">Resources</h1> - <p class="text-white">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 + <p class="text-white mb-3 pb-3">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 <a rel="noreferrer" target="_blank" From 1df6a0a160582e06242af060bdb4a8dbf180ee63 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 21:24:32 +0000 Subject: [PATCH 227/277] fix: press, resources - on desktop: left-align rhombus text to links --- src/press.html | 2 +- src/resources.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/press.html b/src/press.html index 317c2475..87feae6d 100644 --- a/src/press.html +++ b/src/press.html @@ -7,7 +7,7 @@ <div class="row justify-content-center"> <div class="clipped background-calitp-blue rhombus-1 mt-5 mb-4 col-10 py-5 px-4 px-md-0"> - <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> + <div class="offset-md-2 col-md-8 py-5 px-4 px-md-2"> <h1 class="text-white mb-2">Press</h1> <p class="text-white mb-3 pb-3">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 <a rel="noreferrer" diff --git a/src/resources.html b/src/resources.html index 598ccc8e..faaef145 100644 --- a/src/resources.html +++ b/src/resources.html @@ -7,7 +7,7 @@ <div class="row justify-content-center"> <div class="clipped background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0 rhombus-1"> - <div class="offset-md-2 col-md-8 py-5 px-4 px-md-0"> + <div class="offset-md-2 col-md-8 py-5 px-4 px-md-2"> <h1 class="text-white mb-2">Resources</h1> <p class="text-white mb-3 pb-3">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 <a From 28538cf827f3567899823ac5f9215c20cbed2971 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 21:50:38 +0000 Subject: [PATCH 228/277] chore: reorder classes, col before margin/padding --- src/press.html | 2 +- src/resources.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/press.html b/src/press.html index 87feae6d..185e6636 100644 --- a/src/press.html +++ b/src/press.html @@ -6,7 +6,7 @@ {% include clipped.html %} <div class="row justify-content-center"> - <div class="clipped background-calitp-blue rhombus-1 mt-5 mb-4 col-10 py-5 px-4 px-md-0"> + <div class="clipped background-calitp-blue rhombus-1 col-10 mt-5 mb-4 py-5 px-4 px-md-0"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-2"> <h1 class="text-white mb-2">Press</h1> <p class="text-white mb-3 pb-3">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 <a diff --git a/src/resources.html b/src/resources.html index faaef145..9a2f098b 100644 --- a/src/resources.html +++ b/src/resources.html @@ -6,7 +6,7 @@ {% include clipped.html %} <div class="row justify-content-center"> - <div class="clipped background-purple-4 mt-5 mb-4 col-10 py-5 px-4 px-md-0 rhombus-1"> + <div class="clipped background-purple-4 rhombus-1 col-10 mt-5 mb-4 py-5 px-4 px-md-0"> <div class="offset-md-2 col-md-8 py-5 px-4 px-md-2"> <h1 class="text-white mb-2">Resources</h1> <p class="text-white mb-3 pb-3">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 From c7b4201f174323481c2122d508810594e1524a8e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 21:51:59 +0000 Subject: [PATCH 229/277] chore(press): remove rounded.html file and call --- src/_includes/rounded.html | 23 ----------------------- src/press.html | 2 -- 2 files changed, 25 deletions(-) delete mode 100644 src/_includes/rounded.html diff --git a/src/_includes/rounded.html b/src/_includes/rounded.html deleted file mode 100644 index dda1e8c9..00000000 --- a/src/_includes/rounded.html +++ /dev/null @@ -1,23 +0,0 @@ -<svg - style="visibility: hidden; position: absolute;" - width="0" - height="0" - xmlns="http://www.w3.org/2000/svg" - version="1.1"> - <defs> - <filter id="rounded"><feGaussianBlur - in="SourceGraphic" - stdDeviation="8" - result="blur" /> - <feColorMatrix - in="blur" - mode="matrix" - values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9" - result="rounded" /> - <feComposite - in="SourceGraphic" - in2="rounded" - operator="atop" /> - </filter> - </defs> -</svg> diff --git a/src/press.html b/src/press.html index 185e6636..11e7a876 100644 --- a/src/press.html +++ b/src/press.html @@ -49,5 +49,3 @@ <h1 class="text-white mb-2">Press</h1> </section> <script src="/scripts/pill-behavior.js"></script> - -{% include rounded.html %} From dfce22b67e8fa68e3a8adaf6a34d3c46819f51d5 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 14 Jun 2023 22:08:26 +0000 Subject: [PATCH 230/277] fix(navbar): link to about section --- src/_includes/header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/header.html b/src/_includes/header.html index a59845da..2ad0a6c5 100644 --- a/src/_includes/header.html +++ b/src/_includes/header.html @@ -21,7 +21,7 @@ <div class="navbar-collapse collapse justify-content-end" id="mainNav"> <ul class="navbar-nav mb-0"> <li class="nav-item"> - <a class="h4 mb-0 nav-link d-block" href="/">About the project</a> + <a class="h4 mb-0 nav-link d-block" href="/#about">About the project</a> </li> <li class="nav-item"> <a class="h4 mb-0 nav-link d-block" href="{% link resources.html %}">Resources</a> From c54163e09eb3d1991f593696586f6f848178c39c Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 14 Jun 2023 22:09:01 +0000 Subject: [PATCH 231/277] fix: ensure about section is not obscured by navbar --- src/stylesheets/main.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index b11098ed..c79c9a38 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -163,6 +163,11 @@ main.container { padding-top: var(--header-nav-height); } +section#about { + padding-top: var(--header-nav-height); + margin-top: calc(-1 * var(--header-nav-height)); +} + footer nav .links a:hover { color: var(--calitp-gray-2) !important; } From 80c1be92b3184a37d9f1e71dc2e2af9fe5177603 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 20:06:46 +0000 Subject: [PATCH 232/277] refactor: use margin-bottom to space out sections within initiatives --- src/_includes/initiatives.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index f7dce813..12c00dea 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,7 +48,7 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> alt="{{ initiative.image.alt }}" width="{{ initiative.image.width }}" /> </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0"> + <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0 mb-5"> <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline }}</h3> {% for paragraph in initiative.paragraphs %} <p class="text-white"> @@ -61,8 +61,8 @@ <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="small-caps text-white mt-5 mb-3">Recent News</h4> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0 mb-5"> + <h4 class="small-caps text-white mb-3">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} {% for press in all_press %} @@ -85,8 +85,8 @@ <h4 class="small-caps text-white mt-5 mb-3">Recent News</h4> </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0"> - <h4 class="small-caps text-white mt-4 mb-3">Resources</h4> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0 mb-5"> + <h4 class="small-caps text-white mb-3">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} {% for resource in all_resources %} From 17f0821666f6a6bd5d6e8dfd86623c7997382bd3 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 20:22:23 +0000 Subject: [PATCH 233/277] fix: remove padding that was adding extra space on small screens --- src/_includes/initiatives.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 12c00dea..c155822a 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,7 +48,7 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> alt="{{ initiative.image.alt }}" width="{{ initiative.image.width }}" /> </picture> - <div class="col-12 col-md-8 col-lg-8 pt-4 pt-md-0 mb-5"> + <div class="col-12 col-md-8 col-lg-8 mb-5"> <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline }}</h3> {% for paragraph in initiative.paragraphs %} <p class="text-white"> @@ -61,7 +61,7 @@ <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0 mb-5"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-5"> <h4 class="small-caps text-white mb-3">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} @@ -85,7 +85,7 @@ <h4 class="small-caps text-white mb-3">Recent News</h4> </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 pt-4 pt-md-0 mb-5"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-5"> <h4 class="small-caps text-white mb-3">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} From 1f134a5506f155d5c7e0ca2c3d55dfd5abc68699 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 20:12:23 +0000 Subject: [PATCH 234/277] style: make space between sections 28px on mobile, 40px on desktop --- src/_includes/initiatives.html | 8 ++++---- src/stylesheets/main.css | 9 +++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index c155822a..66cd8760 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,7 +48,7 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> alt="{{ initiative.image.alt }}" width="{{ initiative.image.width }}" /> </picture> - <div class="col-12 col-md-8 col-lg-8 mb-5"> + <div class="col-12 col-md-8 col-lg-8 initiatives-section-mb"> <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline }}</h3> {% for paragraph in initiative.paragraphs %} <p class="text-white"> @@ -56,12 +56,12 @@ <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline </p> {% endfor %} <div class="d-grid d-md-block rounded-0 border-bottom border-white border-2"> - <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-5">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 initiatives-section-mb">{{ initiative.button.text }}</a> </div> </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-5"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 initiatives-section-mb"> <h4 class="small-caps text-white mb-3">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} @@ -85,7 +85,7 @@ <h4 class="small-caps text-white mb-3">Recent News</h4> </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-5"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 initiatives-section-mb"> <h4 class="small-caps text-white mb-3">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index c79c9a38..ac69196e 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -7,6 +7,7 @@ --bs-border-style: dashed; --bs-body-line-height: 1.4; --header-nav-height: 110px; + --initiatives-section-mb: 28px; } body { @@ -290,7 +291,15 @@ footer nav .links a:hover { filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15)); } +.initiatives-section-mb { + margin-bottom: var(--initiatives-section-mb); +} + @media (min-width: 992px) { + :root { + --initiatives-section-mb: 40px; + } + .navbar { --bs-navbar-nav-link-padding-x: 40px; --bs-navbar-nav-link-padding-y: 0; From d3ba9930667139f66ce4edb6ae47e44d7242e4f3 Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 22:29:04 +0000 Subject: [PATCH 235/277] refactor: replace initiatives-specific class with general margin classes --- src/_includes/initiatives.html | 8 ++++---- src/stylesheets/main.css | 13 ++++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 66cd8760..205ab9f6 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -48,7 +48,7 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> alt="{{ initiative.image.alt }}" width="{{ initiative.image.width }}" /> </picture> - <div class="col-12 col-md-8 col-lg-8 initiatives-section-mb"> + <div class="col-12 col-md-8 col-lg-8 mb-28 mb-md-40"> <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline }}</h3> {% for paragraph in initiative.paragraphs %} <p class="text-white"> @@ -56,12 +56,12 @@ <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline </p> {% endfor %} <div class="d-grid d-md-block rounded-0 border-bottom border-white border-2"> - <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 initiatives-section-mb">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-28 mb-md-40">{{ initiative.button.text }}</a> </div> </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 initiatives-section-mb"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-28 mb-md-40"> <h4 class="small-caps text-white mb-3">Recent News</h4> <div class="tab-list"> {% assign all_press = site.press | reverse %} @@ -85,7 +85,7 @@ <h4 class="small-caps text-white mb-3">Recent News</h4> </div> </div> <div class="row"> - <div class="col-12 offset-md-2 col-md-8 col-lg-8 initiatives-section-mb"> + <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-28 mb-md-40"> <h4 class="small-caps text-white mb-3">Resources</h4> <div class="tab-list"> {% assign all_resources = site.resources | reverse %} diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index ac69196e..3edd9c4d 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -7,7 +7,6 @@ --bs-border-style: dashed; --bs-body-line-height: 1.4; --header-nav-height: 110px; - --initiatives-section-mb: 28px; } body { @@ -291,15 +290,11 @@ footer nav .links a:hover { filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15)); } -.initiatives-section-mb { - margin-bottom: var(--initiatives-section-mb); +.mb-28 { + margin-bottom: 28px; } @media (min-width: 992px) { - :root { - --initiatives-section-mb: 40px; - } - .navbar { --bs-navbar-nav-link-padding-x: 40px; --bs-navbar-nav-link-padding-y: 0; @@ -363,6 +358,10 @@ footer nav .links a:hover { } @media (min-width: 768px) { + .mb-md-40 { + margin-bottom: 40px; + } + .navbar-nav { max-width: 720px; } From 7bfdf45cb4d463a919bbb34bb83b371486d22c6c Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 22:43:06 +0000 Subject: [PATCH 236/277] fix: press, resources - correct desktop/mobile padding-Y, padding-X and margin-top --- src/press.html | 4 ++-- src/resources.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/press.html b/src/press.html index 11e7a876..9bcf0519 100644 --- a/src/press.html +++ b/src/press.html @@ -6,8 +6,8 @@ {% include clipped.html %} <div class="row justify-content-center"> - <div class="clipped background-calitp-blue rhombus-1 col-10 mt-5 mb-4 py-5 px-4 px-md-0"> - <div class="offset-md-2 col-md-8 py-5 px-4 px-md-2"> + <div class="clipped background-calitp-blue rhombus-1 col-10 mt-4 mt-md-5 mb-4 py-4 py-md-5 px-4 px-md-0"> + <div class="offset-md-2 col-md-8 py-3 py-md-5 px-4 px-md-2"> <h1 class="text-white mb-2">Press</h1> <p class="text-white mb-3 pb-3">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 <a rel="noreferrer" diff --git a/src/resources.html b/src/resources.html index 9a2f098b..123e1bd3 100644 --- a/src/resources.html +++ b/src/resources.html @@ -6,8 +6,8 @@ {% include clipped.html %} <div class="row justify-content-center"> - <div class="clipped background-purple-4 rhombus-1 col-10 mt-5 mb-4 py-5 px-4 px-md-0"> - <div class="offset-md-2 col-md-8 py-5 px-4 px-md-2"> + <div class="clipped background-purple-4 rhombus-1 col-10 mt-4 mt-md-5 mb-4 py-4 py-md-5 px-4 px-md-0"> + <div class="offset-md-2 col-md-8 py-3 py-md-5 px-4 px-md-2"> <h1 class="text-white mb-2">Resources</h1> <p class="text-white mb-3 pb-3">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 <a From e685bb877462f8ac99b228747728069031d9e0fa Mon Sep 17 00:00:00 2001 From: Angela Tran <angela@compiler.la> Date: Wed, 14 Jun 2023 20:43:28 +0000 Subject: [PATCH 237/277] fix: initiative press links were missing d-block class d-block is needed to make margin have effect. b8f5517d added d-block to resource links, but not press links --- src/_includes/initiatives.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 205ab9f6..c6095c4b 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -73,7 +73,7 @@ <h4 class="small-caps text-white mb-3">Recent News</h4> {% if press.tags contains initiative.tag %} <article class="press-item"> <a - class="text-white fw-bold mb-2" + class="text-white fw-bold mb-2 d-block" rel="noreferrer" href="{{ url }}" {% if press.external %}target="_blank"{% endif %}>{{ press.title }}</a> From 54939cc41024ad0829ed9a66a40320d1fa6c6642 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Wed, 14 Jun 2023 23:27:21 +0000 Subject: [PATCH 238/277] fix(mobile): press, resources - widen col, reduce padding top/bottom of Filter by --- src/_includes/pills.html | 2 +- src/press.html | 4 ++-- src/resources.html | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_includes/pills.html b/src/_includes/pills.html index 68c733e6..1d74f58b 100644 --- a/src/_includes/pills.html +++ b/src/_includes/pills.html @@ -1,5 +1,5 @@ <div class="d-flex flex-column flex-md-row align-items-md-center white-on-color"> - <span class="me-2 mb-3 mt-4 my-md-0 text-white flex-shrink-0">Filter by:</span> + <span class="me-2 mb-2 my-md-0 text-white flex-shrink-0">Filter by:</span> <ul class="nav nav-pills gap-2 d-flex flex-column flex-md-row flex-shrink-0" id="pills-tab" diff --git a/src/press.html b/src/press.html index 9bcf0519..1d024c23 100644 --- a/src/press.html +++ b/src/press.html @@ -6,8 +6,8 @@ {% include clipped.html %} <div class="row justify-content-center"> - <div class="clipped background-calitp-blue rhombus-1 col-10 mt-4 mt-md-5 mb-4 py-4 py-md-5 px-4 px-md-0"> - <div class="offset-md-2 col-md-8 py-3 py-md-5 px-4 px-md-2"> + <div class="clipped background-calitp-blue rhombus-1 col-11 col-md-10 mt-4 mt-md-5 mb-4 py-4 py-md-5 px-4 px-md-0"> + <div class="offset-md-2 col-md-8 py-3 py-md-5 px-2 px-md-2"> <h1 class="text-white mb-2">Press</h1> <p class="text-white mb-3 pb-3">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 <a rel="noreferrer" diff --git a/src/resources.html b/src/resources.html index 123e1bd3..65720ed5 100644 --- a/src/resources.html +++ b/src/resources.html @@ -6,8 +6,8 @@ {% include clipped.html %} <div class="row justify-content-center"> - <div class="clipped background-purple-4 rhombus-1 col-10 mt-4 mt-md-5 mb-4 py-4 py-md-5 px-4 px-md-0"> - <div class="offset-md-2 col-md-8 py-3 py-md-5 px-4 px-md-2"> + <div class="clipped background-purple-4 rhombus-1 col-11 col-md-10 mt-4 mt-md-5 mb-4 py-4 py-md-5 px-4 px-md-0"> + <div class="offset-md-2 col-md-8 py-3 py-md-5 px-2 px-md-2"> <h1 class="text-white mb-2">Resources</h1> <p class="text-white mb-3 pb-3">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 <a From 80e801dde08d4a6490e0179278548e35fb88ee72 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 00:39:15 +0000 Subject: [PATCH 239/277] fix(footer): footer link hover color is gray-2 --- src/stylesheets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index 3edd9c4d..a5580abf 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -168,7 +168,7 @@ section#about { margin-top: calc(-1 * var(--header-nav-height)); } -footer nav .links a:hover { +footer a:hover { color: var(--calitp-gray-2) !important; } From 886dba61bb2d96941b904690e41c0f21814109b1 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 00:58:57 +0000 Subject: [PATCH 240/277] fix(press): desktop - when the page is too short, make sure footer is at the bottom --- src/stylesheets/main.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index a5580abf..49f533c7 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -7,6 +7,7 @@ --bs-border-style: dashed; --bs-body-line-height: 1.4; --header-nav-height: 110px; + --footer-nav-height: 39px; } body { @@ -311,6 +312,14 @@ footer a:hover { --bs-nav-link-padding-y: 0; } + main.container { + min-height: calc(100vh - var(--footer-nav-height)); + } + + footer a { + line-height: var(--footer-nav-height); + } + .clipped, .clipped-start, .clipped-end { From 86910d1cc41976ecc739d7cda7f84511e16db52f Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 00:59:23 +0000 Subject: [PATCH 241/277] fix(footer): desktop/mobile - desktop height is 39px. mobile height is determined by padding. --- src/_includes/footer.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_includes/footer.html b/src/_includes/footer.html index b0ee3fc0..6e06fe3b 100644 --- a/src/_includes/footer.html +++ b/src/_includes/footer.html @@ -1,28 +1,28 @@ <section class="bg-dark navbar"> <footer class="container"> <nav class="col-12"> - <ul class="list-unstyled my-0 py-2 row row-column gap-md-4"> - <li class="col-md-auto col-6 pb-md-0"> + <ul class="list-unstyled row row-column gap-md-4 my-3 my-md-0"> + <li class="col-md-auto col-6 mb-1 mb-md-0"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" href="#">Back to top</a> </li> - <li class="col-md-auto col-6 pb-md-0"> + <li class="col-md-auto col-6 mb-1 mb-md-0"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" target="_blank" href="https://dot.ca.gov/privacy-policy">Privacy policy</a> </li> - <li class="col-md-auto col-12"> + <li class="col-md-auto col-12 my-1 my-md-0"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" target="_blank" href="https://www.ca.gov/use/">Conditions of use</a> </li> - <li class="col-md-auto col-12"> + <li class="col-md-auto col-12 my-1 my-md-0"> <a class="fw-normal text-decoration-none text-white" rel="noreferrer" From 47e620c15482e885d2e4e0f424e2863235a4c1c5 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 04:59:25 +0000 Subject: [PATCH 242/277] fix(initiatives): don't expand pills on mobile narrow widths/2-lines --- src/_includes/initiatives.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 205ab9f6..4fdc2aa3 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -8,7 +8,7 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> </div> <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center black-on-white"> <ul - class="nav nav-pills nav-fill mb-3 gap-2" + class="nav nav-pills nav-fill mb-3 gap-2 flex-shrink-0" id="pills-tab" role="tablist"> {% for initiative in site.data.initiatives %} From 6e105ae75b8668ca73d6286fbda9a223ccb81f88 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 05:06:12 +0000 Subject: [PATCH 243/277] fix(initiatives): mobile - padding x is 32px --- src/_includes/initiatives.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 4fdc2aa3..ff7b991e 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -38,9 +38,9 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> tabindex="0"> <div id="{{ initiative.id }}" - class="px-5 px-md-3 py-5 my-4 clipped" + class="px-4 px-md-3 py-5 my-4 clipped" style=" background-color: var({{ initiative.class }})"> - <div class="row pt-5"> + <div class="row px-2 px-md-0 pt-5"> <picture class="col-12 col-md-2 col-lg-2 d-flex justify-content-md-end align-self-md-start justify-content-center"> <img class="pt-2" @@ -60,7 +60,7 @@ <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline </div> </div> </div> - <div class="row"> + <div class="row px-2 px-md-0"> <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-28 mb-md-40"> <h4 class="small-caps text-white mb-3">Recent News</h4> <div class="tab-list"> @@ -84,7 +84,7 @@ <h4 class="small-caps text-white mb-3">Recent News</h4> <a class="text-white fw-bold" href="/press">See all</a> </div> </div> - <div class="row"> + <div class="row px-2 px-md-0"> <div class="col-12 offset-md-2 col-md-8 col-lg-8 mb-28 mb-md-40"> <h4 class="small-caps text-white mb-3">Resources</h4> <div class="tab-list"> From 4349c2e86b0f000720da2c51f797dfdfad4ea9c8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 05:39:16 +0000 Subject: [PATCH 244/277] fix(initiatives): mobile - tighten padding above/below image --- src/_includes/initiatives.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index ff7b991e..01162072 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -8,7 +8,7 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> </div> <div class="col-12 col-lg-6 d-flex justify-content-center justify-content-lg-end align-items-center black-on-white"> <ul - class="nav nav-pills nav-fill mb-3 gap-2 flex-shrink-0" + class="nav nav-pills nav-fill mb-md-3 gap-2 flex-shrink-0" id="pills-tab" role="tablist"> {% for initiative in site.data.initiatives %} @@ -38,18 +38,18 @@ <h2 class="h1 text-center text-lg-start">Explore our initiatives</h2> tabindex="0"> <div id="{{ initiative.id }}" - class="px-4 px-md-3 py-5 my-4 clipped" + class="px-4 px-md-3 py-3 py-md-5 my-4 clipped" style=" background-color: var({{ initiative.class }})"> - <div class="row px-2 px-md-0 pt-5"> + <div class="row px-2 px-md-0 pt-3 pt-md-5"> <picture class="col-12 col-md-2 col-lg-2 d-flex justify-content-md-end align-self-md-start justify-content-center"> <img - class="pt-2" + class="pt-2 pb-4 pb-md-0" src="{{ initiative.image.src }}" alt="{{ initiative.image.alt }}" width="{{ initiative.image.width }}" /> </picture> <div class="col-12 col-md-8 col-lg-8 mb-28 mb-md-40"> - <h3 class="h2 text-white text-center text-md-start pb-4">{{ initiative.headline }}</h3> + <h3 class="h2 text-white text-center text-md-start pb-2 pb-md-4 pt-2 pt-md-0">{{ initiative.headline }}</h3> {% for paragraph in initiative.paragraphs %} <p class="text-white"> {{ paragraph }} From f474e24b7cbbebcd58f5d978e925849a86c3a0b3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 05:49:16 +0000 Subject: [PATCH 245/277] fix(resources): Sentence case for Case studies, Fact sheets & overviews --- src/_resources/case-study-cash-app.md | 2 +- src/_resources/case-study-contactless-fare-payments.md | 2 +- .../fact-sheet-advancing-equity-transit-financial-inclusion.md | 2 +- src/_resources/fact-sheet-automated-transit-discounts.md | 2 +- src/_resources/fact-sheet-gtfs-feed.md | 2 +- src/_resources/fact-sheet-why-go-contactless.md | 2 +- .../one-pager-mobility-data-interoperability-principles.md | 2 +- src/_resources/slide-deck-benefits-overview.md | 2 +- .../slide-deck-ca-transit-data-guidelines-draft-v3.0.md | 2 +- src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/_resources/case-study-cash-app.md b/src/_resources/case-study-cash-app.md index 6336d920..b20b7e5c 100644 --- a/src/_resources/case-study-cash-app.md +++ b/src/_resources/case-study-cash-app.md @@ -4,7 +4,7 @@ title: |- Cash App Case Study: Instead of using cash, Monterey & Sacramento riders are choosing to tap the Cash App Card, a free Visa debit card asset: Cal-ITP.CashApp.CaseStudy.pdf -category: Case Studies +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 index 2b172eea..cb92ef06 100644 --- a/src/_resources/case-study-contactless-fare-payments.md +++ b/src/_resources/case-study-contactless-fare-payments.md @@ -2,7 +2,7 @@ date: 2022-11-01 title: Contactless Fare Payments Case Study asset: Cal-ITP.Contactless.Payments.Data.CaseStudy.2022.pdf -category: Case Studies +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 index 0c35dae2..a0854082 100644 --- a/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md +++ b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md @@ -2,7 +2,7 @@ date: 2022-09-01 title: "Fact Sheet: Advancing Equity through Transit and Financial Inclusion" asset: https://drive.google.com/file/d/1gDjTkOC_AoS8Zu3pMSvIWKjeJz-u7611/view?usp=share_link -category: Fact Sheets & Overviews +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 index 848906e4..740daa39 100644 --- a/src/_resources/fact-sheet-automated-transit-discounts.md +++ b/src/_resources/fact-sheet-automated-transit-discounts.md @@ -2,7 +2,7 @@ date: 2021-05-01 title: "Fact Sheet: Automated Transit Discounts" asset: https://drive.google.com/file/d/1BLHkI47xtRIPJlBJx5wNlifwqrFPU83I/view -category: Fact Sheets & Overviews +category: Fact sheets & overviews tags: - Benefits --- diff --git a/src/_resources/fact-sheet-gtfs-feed.md b/src/_resources/fact-sheet-gtfs-feed.md index 29b64d96..a3b09e6f 100644 --- a/src/_resources/fact-sheet-gtfs-feed.md +++ b/src/_resources/fact-sheet-gtfs-feed.md @@ -2,7 +2,7 @@ date: 2021-05-01 title: "Fact Sheet: Why do I need a standard feed?" asset: https://drive.google.com/file/d/1ljgMM-sQ2nP9241uFF7KgoWXgLDtZkDK/view?usp=share_link -category: Fact Sheets & Overviews +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 index 6a803ac4..766e4271 100644 --- a/src/_resources/fact-sheet-why-go-contactless.md +++ b/src/_resources/fact-sheet-why-go-contactless.md @@ -2,7 +2,7 @@ date: 2022-09-01 title: "Fact Sheet: Why go contactless?" asset: https://drive.google.com/file/d/1Wgsgcs18CfYLWfZTCIBmXk3GFf1SOq9G/view?usp=share_link -category: Fact Sheets & Overviews +category: Fact sheets & overviews tags: - Contactless Payments --- diff --git a/src/_resources/one-pager-mobility-data-interoperability-principles.md b/src/_resources/one-pager-mobility-data-interoperability-principles.md index 039dbe6b..1198713f 100644 --- a/src/_resources/one-pager-mobility-data-interoperability-principles.md +++ b/src/_resources/one-pager-mobility-data-interoperability-principles.md @@ -2,7 +2,7 @@ date: 2022-09-01 title: Mobilty Data Interoperability Principles asset: https://docs.google.com/presentation/d/1Vawi8d70jtKfL-u5lwM05CcDyQ5zB764/edit?usp=share_link&ouid=107888682452903153368&rtpof=true&sd=true -category: Fact Sheets & Overviews +category: Fact sheets & overviews tags: - GTFS --- diff --git a/src/_resources/slide-deck-benefits-overview.md b/src/_resources/slide-deck-benefits-overview.md index 3c6b96ae..ac68a881 100644 --- a/src/_resources/slide-deck-benefits-overview.md +++ b/src/_resources/slide-deck-benefits-overview.md @@ -2,7 +2,7 @@ date: 2023-05-01 title: Cal-ITP Transit Benefits Overview Presentation asset: https://drive.google.com/file/d/1UhNTnJAEABnCOFFZ-1xBHDoTYe322t-G/view?usp=share_link -category: Fact Sheets & Overviews +category: Fact sheets & overviews tags: - Benefits --- 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 index 99561953..0967d89c 100644 --- 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 @@ -2,7 +2,7 @@ date: 2022-10-01 title: CA Transit Data Guidelines Draft v3.0 Feedback asset: https://drive.google.com/file/d/1H8GBhTPYEUewGhAcjoIaY5Ih2txOFkTz/view?usp=share_link -category: Fact Sheets & Overviews +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 index 19f03324..27110831 100644 --- a/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md +++ b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md @@ -2,7 +2,7 @@ date: 2022-09-01 title: GTFS Wheelchair Accesibility Data asset: https://drive.google.com/file/d/1G1eBMR3qOiB6oH-dYfDhGpuyEWUUfGSj/view?usp=share_link -category: Fact Sheets & Overviews +category: Fact sheets & overviews tags: - GTFS --- From 6e318be89789e9070156ff7aac3b5a26589206f4 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 06:09:37 +0000 Subject: [PATCH 246/277] fix: press, resources - use edited headlines --- src/_press/cal-itp-announces-ods.md | 6 +++--- src/_press/cal-itp-benefits-launch.md | 2 +- src/_press/cal-itp-coast-rta-msa.md | 5 ++--- src/_press/cal-itp-payments-data-dashboard.md | 2 +- src/_resources/case-study-cash-app.md | 3 +-- src/_resources/case-study-contactless-fare-payments.md | 3 ++- ...-sheet-advancing-equity-transit-financial-inclusion.md | 2 +- src/_resources/fact-sheet-automated-transit-discounts.md | 8 -------- src/_resources/fact-sheet-gtfs-feed.md | 2 +- src/_resources/fact-sheet-why-go-contactless.md | 2 +- ...one-pager-mobility-data-interoperability-principles.md | 2 +- src/_resources/slide-deck-benefits-overview.md | 3 ++- .../slide-deck-ca-transit-data-guidelines-draft-v3.0.md | 2 +- .../slide-deck-gtfs-wheelchair-accessibility-data.md | 3 ++- 14 files changed, 19 insertions(+), 26 deletions(-) delete mode 100644 src/_resources/fact-sheet-automated-transit-discounts.md diff --git a/src/_press/cal-itp-announces-ods.md b/src/_press/cal-itp-announces-ods.md index b12969ee..c7d25fe4 100644 --- a/src/_press/cal-itp-announces-ods.md +++ b/src/_press/cal-itp-announces-ods.md @@ -1,7 +1,7 @@ --- date: "2022-06-02T17:00:00-07:00" -title: Cal-ITP Unveils New Open Data Standard to Improve Transit Agency Operations -heading: Cal-ITP Unveils New Open Data Standard to Improve Transit Agency Operations +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 @@ -62,7 +62,7 @@ The California Integrated Travel Project (Cal-ITP) was established by the Califo 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 +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. diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md index 24dbb9fb..20e336b2 100644 --- a/src/_press/cal-itp-benefits-launch.md +++ b/src/_press/cal-itp-benefits-launch.md @@ -1,6 +1,6 @@ --- date: "2022-09-21T17:00:00-07:00" -title: Cal-ITP Benefits Launch +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 diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md index d9cfea1f..b7562468 100644 --- a/src/_press/cal-itp-coast-rta-msa.md +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -1,9 +1,8 @@ --- date: "2022-10-14T17:00:00-07:00" -title: South Carolina Public Transit Agency Taps State of California’s Purchasing Agreements to Buy Competitively Priced Open-Loop +title: South Carolina transit agency taps California’s contracts for competively priced contactless fare payment system heading: |- - South Carolina Public Transit Agency Taps State of California’s Purchasing Agreements to Buy Competitively Priced Open-Loop - Fare Payment System + South Carolina transit agency taps California’s contracts for competively 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 diff --git a/src/_press/cal-itp-payments-data-dashboard.md b/src/_press/cal-itp-payments-data-dashboard.md index b84b9cc1..2c622fd4 100644 --- a/src/_press/cal-itp-payments-data-dashboard.md +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -1,6 +1,6 @@ --- date: 2023-01-04 -title: Payments Data Dashboard + Cal-ITP +title: Cal-ITP’s free dashboard serves up ridership metrics for transit agencies external: https://gcn.com/data-analytics/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ tags: - Contactless Payments diff --git a/src/_resources/case-study-cash-app.md b/src/_resources/case-study-cash-app.md index b20b7e5c..442b320e 100644 --- a/src/_resources/case-study-cash-app.md +++ b/src/_resources/case-study-cash-app.md @@ -1,8 +1,7 @@ --- date: 2022-11-01 title: |- - Cash App Case Study: Instead of using cash, Monterey & Sacramento riders are choosing to tap the Cash App Card, - a free Visa debit card + 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: diff --git a/src/_resources/case-study-contactless-fare-payments.md b/src/_resources/case-study-contactless-fare-payments.md index cb92ef06..249bb8a5 100644 --- a/src/_resources/case-study-contactless-fare-payments.md +++ b/src/_resources/case-study-contactless-fare-payments.md @@ -1,6 +1,7 @@ --- date: 2022-11-01 -title: Contactless Fare Payments Case Study +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: diff --git a/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md index a0854082..6d560cd1 100644 --- a/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md +++ b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md @@ -1,6 +1,6 @@ --- date: 2022-09-01 -title: "Fact Sheet: Advancing Equity through Transit and Financial Inclusion" +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: diff --git a/src/_resources/fact-sheet-automated-transit-discounts.md b/src/_resources/fact-sheet-automated-transit-discounts.md deleted file mode 100644 index 740daa39..00000000 --- a/src/_resources/fact-sheet-automated-transit-discounts.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: 2021-05-01 -title: "Fact Sheet: Automated Transit Discounts" -asset: https://drive.google.com/file/d/1BLHkI47xtRIPJlBJx5wNlifwqrFPU83I/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 index a3b09e6f..5bf7bd37 100644 --- a/src/_resources/fact-sheet-gtfs-feed.md +++ b/src/_resources/fact-sheet-gtfs-feed.md @@ -1,6 +1,6 @@ --- date: 2021-05-01 -title: "Fact Sheet: Why do I need a standard feed?" +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: diff --git a/src/_resources/fact-sheet-why-go-contactless.md b/src/_resources/fact-sheet-why-go-contactless.md index 766e4271..393664c7 100644 --- a/src/_resources/fact-sheet-why-go-contactless.md +++ b/src/_resources/fact-sheet-why-go-contactless.md @@ -1,6 +1,6 @@ --- date: 2022-09-01 -title: "Fact Sheet: Why go contactless?" +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: diff --git a/src/_resources/one-pager-mobility-data-interoperability-principles.md b/src/_resources/one-pager-mobility-data-interoperability-principles.md index 1198713f..1aa2c83e 100644 --- a/src/_resources/one-pager-mobility-data-interoperability-principles.md +++ b/src/_resources/one-pager-mobility-data-interoperability-principles.md @@ -1,6 +1,6 @@ --- date: 2022-09-01 -title: Mobilty Data Interoperability Principles +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: diff --git a/src/_resources/slide-deck-benefits-overview.md b/src/_resources/slide-deck-benefits-overview.md index ac68a881..9e87cd05 100644 --- a/src/_resources/slide-deck-benefits-overview.md +++ b/src/_resources/slide-deck-benefits-overview.md @@ -1,6 +1,7 @@ --- date: 2023-05-01 -title: Cal-ITP Transit Benefits Overview Presentation +title: "Overview: Cal-ITP Benefits makes travel easy and welcoming +through transit discount automation" asset: https://drive.google.com/file/d/1UhNTnJAEABnCOFFZ-1xBHDoTYe322t-G/view?usp=share_link category: Fact sheets & overviews tags: 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 index 0967d89c..c26b552c 100644 --- 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 @@ -1,6 +1,6 @@ --- date: 2022-10-01 -title: CA Transit Data Guidelines Draft v3.0 Feedback +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: diff --git a/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md index 27110831..4ded9ca0 100644 --- a/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md +++ b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md @@ -1,6 +1,7 @@ --- date: 2022-09-01 -title: GTFS Wheelchair Accesibility Data +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: From e91b5dd6585eab2866fdc2fc12c2e862ea1c2121 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 06:09:49 +0000 Subject: [PATCH 247/277] chore: smart quotation marks, please. --- src/_data/initiatives.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index b83f4b51..21cf57a8 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -36,7 +36,7 @@ href='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'>Monterey-Salinas Transit</a> (MST), which offers a half-price Senior Fare. Now older adults (65+) who are able to <a class='text-white' rel='noreferrer' href='https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification' - target='_blank'>electronically verify their identity</a> are able to access MST's + target='_blank'>electronically verify their identity</a> 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 From 5f5ea794856d4cbfc870c443bbb1be7f2964d936 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 15 Jun 2023 06:17:46 +0000 Subject: [PATCH 248/277] feat(press): new gtfs press release --- src/_press/cal-itp-gtfs-schedule-validator.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/_press/cal-itp-gtfs-schedule-validator.md 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..5410f043 --- /dev/null +++ b/src/_press/cal-itp-gtfs-schedule-validator.md @@ -0,0 +1,7 @@ +--- +date: 2023-06-01 +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 +--- From 49820e1013fe20cee399b38f703783728d2b11e6 Mon Sep 17 00:00:00 2001 From: machiko <machiko@compiler.la> Date: Thu, 15 Jun 2023 13:57:44 -0700 Subject: [PATCH 249/277] fix(initiatives): smart quote --- src/_data/initiatives.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 21cf57a8..3c08bb41 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -38,7 +38,7 @@ who are able to <a class='text-white' rel='noreferrer' href='https://login.gov/help/verify-your-identity/how-to-verify-your-identity/#requirements-for-identity-verification' target='_blank'>electronically verify their identity</a> 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 + - "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." From 9c1cb4b403f30ec97fc6b8429c4e36ef51a2970b Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 31 Jul 2023 18:48:34 +0000 Subject: [PATCH 250/277] fix(home): hide button on Benefits, GTFS; add text for Contactless Payment --- src/_data/initiatives.yml | 3 +++ src/_includes/initiatives.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/_data/initiatives.yml b/src/_data/initiatives.yml index 3c08bb41..d32251cd 100644 --- a/src/_data/initiatives.yml +++ b/src/_data/initiatives.yml @@ -16,6 +16,7 @@ target='_blank'>Monterey-Salinas Transit</a>, 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 @@ -45,6 +46,7 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org + class: d-none class: --calitp-red-5 - tag: GTFS slug: gtfs @@ -67,4 +69,5 @@ button: text: Explore Mobility Marketplace url: https://camobilitymarketplace.org + class: d-none class: --calitp-purple-4 diff --git a/src/_includes/initiatives.html b/src/_includes/initiatives.html index 732936e8..2c3a2be2 100644 --- a/src/_includes/initiatives.html +++ b/src/_includes/initiatives.html @@ -56,7 +56,7 @@ <h3 class="h2 text-white text-center text-md-start pb-2 pb-md-4 pt-2 pt-md-0">{{ </p> {% endfor %} <div class="d-grid d-md-block rounded-0 border-bottom border-white border-2"> - <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-28 mb-md-40">{{ initiative.button.text }}</a> + <a href="{{ initiative.button.url }}" class="btn btn-outline-light fw-bolder mt-2 mb-28 mb-md-40 {{ initiative.button.class }}">{{ initiative.button.text }}</a> </div> </div> </div> From 6cb69960d6200a7b37e7892f506e1238a5a0c36c Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 31 Jul 2023 19:00:56 +0000 Subject: [PATCH 251/277] fix(press): typo --- src/_press/cal-itp-coast-rta-msa.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md index b7562468..afa14e9d 100644 --- a/src/_press/cal-itp-coast-rta-msa.md +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -1,8 +1,8 @@ --- date: "2022-10-14T17:00:00-07:00" -title: South Carolina transit agency taps California’s contracts for competively priced contactless fare payment system +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 competively priced contactless fare payment system + 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 From ba2848ccfdf22270c37f364b9e26d6c2dc0f00aa Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Mon, 31 Jul 2023 19:11:27 +0000 Subject: [PATCH 252/277] feat(press): add Outlet data to press item, show it on press page --- src/_includes/article.html | 2 +- src/_press/cal-itp-announces-ods.md | 1 + src/_press/cal-itp-benefits-launch.md | 1 + src/_press/cal-itp-coast-rta-msa.md | 1 + src/_press/cal-itp-gtfs-schedule-validator.md | 1 + src/_press/cal-itp-payments-data-dashboard.md | 1 + 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/_includes/article.html b/src/_includes/article.html index 5e194813..e9d2ba17 100644 --- a/src/_includes/article.html +++ b/src/_includes/article.html @@ -13,6 +13,6 @@ <article class="d-block mb-3 pb-4"> <a href="{{ url }}" {% if item.external %}target="_blank"{% endif %}>{{ item.title }}</a> <br/> - <span class="text-secondary font-poppins fs-7">{{ item.tags | join: ", " }} | + <span class="text-secondary font-poppins fs-7">{{ item.outlet }} | {{ item.tags | join: ", " }} | {% include date.html date=item.date format = "%b %Y" %}</span> </article> diff --git a/src/_press/cal-itp-announces-ods.md b/src/_press/cal-itp-announces-ods.md index c7d25fe4..6c77cded 100644 --- a/src/_press/cal-itp-announces-ods.md +++ b/src/_press/cal-itp-announces-ods.md @@ -9,6 +9,7 @@ intro: |- 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 diff --git a/src/_press/cal-itp-benefits-launch.md b/src/_press/cal-itp-benefits-launch.md index 20e336b2..9e06ca70 100644 --- a/src/_press/cal-itp-benefits-launch.md +++ b/src/_press/cal-itp-benefits-launch.md @@ -13,6 +13,7 @@ intro: |- 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 diff --git a/src/_press/cal-itp-coast-rta-msa.md b/src/_press/cal-itp-coast-rta-msa.md index b7562468..0d4297a3 100644 --- a/src/_press/cal-itp-coast-rta-msa.md +++ b/src/_press/cal-itp-coast-rta-msa.md @@ -13,6 +13,7 @@ intro: |- 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 diff --git a/src/_press/cal-itp-gtfs-schedule-validator.md b/src/_press/cal-itp-gtfs-schedule-validator.md index 5410f043..ed06e982 100644 --- a/src/_press/cal-itp-gtfs-schedule-validator.md +++ b/src/_press/cal-itp-gtfs-schedule-validator.md @@ -4,4 +4,5 @@ title: New web tool makes GTFS validation easier for transit agency producers an external: https://mobilitydata.org/new-web-based-version-of-gtfs-schedule-validator-released/ tags: - GTFS +outlet: "Cal-ITP" --- diff --git a/src/_press/cal-itp-payments-data-dashboard.md b/src/_press/cal-itp-payments-data-dashboard.md index 2c622fd4..75e4b7aa 100644 --- a/src/_press/cal-itp-payments-data-dashboard.md +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -4,4 +4,5 @@ title: Cal-ITP’s free dashboard serves up ridership metrics for transit agenci external: https://gcn.com/data-analytics/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ tags: - Contactless Payments +outlet: "GCN.com" --- From 1fe3c9bb57e9936662e3d46ce3a670f8c56f8e76 Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Wed, 26 Jul 2023 14:46:41 -0700 Subject: [PATCH 253/277] feat: dependabot version updates --- .github/dependabot.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/dependabot.yml 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" From 27ea8375accc0ec5a5a9f8bb5bedaa710fd8723b Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Mon, 31 Jul 2023 21:49:43 +0000 Subject: [PATCH 254/277] fix(ci): update default branch we'll have to update again once https://github.com/cal-itp/calitp.org/issues/80 is closed and the redesign is launched --- .github/workflows/dependabot-differ.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-differ.yaml b/.github/workflows/dependabot-differ.yaml index 102ecedd..2be409b9 100644 --- a/.github/workflows/dependabot-differ.yaml +++ b/.github/workflows/dependabot-differ.yaml @@ -33,7 +33,7 @@ jobs: - name: Checkout Default Branch uses: actions/checkout@v2 with: - ref: core + ref: staging clean: false submodules: true From 4de73e48f58771edb5b02aef7be160d5bbe73b4f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 22:13:34 +0000 Subject: [PATCH 255/277] chore(deps): bump actions/checkout from 2 to 3 Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> --- .github/workflows/dependabot-differ.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dependabot-differ.yaml b/.github/workflows/dependabot-differ.yaml index 2be409b9..279caee8 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 @@ -31,7 +31,7 @@ jobs: mv _site _site-pr - name: Checkout Default Branch - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: ref: staging clean: false From 1495217b1454e333c1c8dc36a88973ee8913ed1e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 22:14:44 +0000 Subject: [PATCH 256/277] chore(deps): bump peter-evans/create-or-update-comment from 1 to 3 Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 1 to 3. - [Release notes](https://github.com/peter-evans/create-or-update-comment/releases) - [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v1...v3) --- updated-dependencies: - dependency-name: peter-evans/create-or-update-comment dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> --- .github/workflows/dependabot-differ.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-differ.yaml b/.github/workflows/dependabot-differ.yaml index 2be409b9..5b722883 100644 --- a/.github/workflows/dependabot-differ.yaml +++ b/.github/workflows/dependabot-differ.yaml @@ -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 }} From 00a38f9e690359bf28bf7e5723faca87046e59e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 22:19:26 +0000 Subject: [PATCH 257/277] chore(deps): bump rubyzip from 2.3.0 to 2.3.2 Bumps [rubyzip](https://github.com/rubyzip/rubyzip) from 2.3.0 to 2.3.2. - [Release notes](https://github.com/rubyzip/rubyzip/releases) - [Changelog](https://github.com/rubyzip/rubyzip/blob/master/Changelog.md) - [Commits](https://github.com/rubyzip/rubyzip/compare/v2.3.0...v2.3.2) --- updated-dependencies: - dependency-name: rubyzip dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3fed0cc5..ae04d6c7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -50,7 +50,7 @@ GEM ffi (~> 1.0) rexml (3.2.5) rouge (3.26.0) - rubyzip (2.3.0) + rubyzip (2.3.2) safe_yaml (1.0.5) sassc (2.4.0) ffi (~> 1.9) From d9f428f8300f4a365c49fd32293b9cc5b5becbd8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 22:19:59 +0000 Subject: [PATCH 258/277] chore(deps): bump webrick from 1.7.0 to 1.8.1 Bumps [webrick](https://github.com/ruby/webrick) from 1.7.0 to 1.8.1. - [Release notes](https://github.com/ruby/webrick/releases) - [Commits](https://github.com/ruby/webrick/compare/v1.7.0...v1.8.1) --- updated-dependencies: - dependency-name: webrick dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 3149ca1b..78c073d8 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,4 @@ source "https://rubygems.org" gem "jekyll", "~> 4.2.0" gem "rubyzip", "~> 2.3" -gem "webrick", "~> 1.7" +gem "webrick", "~> 1.8" diff --git a/Gemfile.lock b/Gemfile.lock index 3fed0cc5..6f9ec51d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -57,7 +57,7 @@ GEM terminal-table (2.0.0) unicode-display_width (~> 1.1, >= 1.1.1) unicode-display_width (1.7.0) - webrick (1.7.0) + webrick (1.8.1) PLATFORMS ruby @@ -67,7 +67,7 @@ PLATFORMS DEPENDENCIES jekyll (~> 4.2.0) rubyzip (~> 2.3) - webrick (~> 1.7) + webrick (~> 1.8) BUNDLED WITH 2.2.4 From bd8145635a82707d31c716e7731d8de4f03e4c34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 22:15:02 +0000 Subject: [PATCH 259/277] chore(deps): bump jekyll from 4.2.0 to 4.3.2 Bumps [jekyll](https://github.com/jekyll/jekyll) from 4.2.0 to 4.3.2. - [Release notes](https://github.com/jekyll/jekyll/releases) - [Changelog](https://github.com/jekyll/jekyll/blob/master/History.markdown) - [Commits](https://github.com/jekyll/jekyll/compare/v4.2.0...v4.3.2) --- updated-dependencies: - dependency-name: jekyll dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> --- Gemfile | 9 ++- Gemfile.lock | 151 ++++++++++++++++++++++++++------------------------- 2 files changed, 82 insertions(+), 78 deletions(-) diff --git a/Gemfile b/Gemfile index 78c073d8..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.8" +source "https://rubygems.org" + +gem "jekyll", "~> 4.3.2" +gem "rubyzip", "~> 2.3" diff --git a/Gemfile.lock b/Gemfile.lock index f482a056..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.2) - 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.8.1) - -PLATFORMS - ruby - x86_64-darwin-19 - x86_64-linux - -DEPENDENCIES - jekyll (~> 4.2.0) - rubyzip (~> 2.3) - webrick (~> 1.8) - -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 From d81af946c459735dffd5b4b2fdba43f795b863ea Mon Sep 17 00:00:00 2001 From: Kegan Maher <kegan@compiler.la> Date: Mon, 31 Jul 2023 22:53:53 +0000 Subject: [PATCH 260/277] fix(ci): update ruby version 2 -> 3 --- .github/workflows/dependabot-differ.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-differ.yaml b/.github/workflows/dependabot-differ.yaml index 864d0fdf..11bd821b 100644 --- a/.github/workflows/dependabot-differ.yaml +++ b/.github/workflows/dependabot-differ.yaml @@ -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 From ee817263b33f5ceb423ed573b81d5839ebc4f1d5 Mon Sep 17 00:00:00 2001 From: machiko <machiko@compiler.la> Date: Tue, 1 Aug 2023 08:31:43 -0700 Subject: [PATCH 261/277] Update src/_press/cal-itp-payments-data-dashboard.md --- src/_press/cal-itp-payments-data-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_press/cal-itp-payments-data-dashboard.md b/src/_press/cal-itp-payments-data-dashboard.md index 75e4b7aa..97412bad 100644 --- a/src/_press/cal-itp-payments-data-dashboard.md +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -4,5 +4,5 @@ title: Cal-ITP’s free dashboard serves up ridership metrics for transit agenci external: https://gcn.com/data-analytics/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ tags: - Contactless Payments -outlet: "GCN.com" +outlet: "Route Fifty" --- From a16d2de314fbcbcfe124e4eb51b7e11535f8d236 Mon Sep 17 00:00:00 2001 From: machiko <machiko@compiler.la> Date: Tue, 1 Aug 2023 08:33:04 -0700 Subject: [PATCH 262/277] Update src/_press/cal-itp-gtfs-schedule-validator.md --- src/_press/cal-itp-gtfs-schedule-validator.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_press/cal-itp-gtfs-schedule-validator.md b/src/_press/cal-itp-gtfs-schedule-validator.md index ed06e982..f115acdf 100644 --- a/src/_press/cal-itp-gtfs-schedule-validator.md +++ b/src/_press/cal-itp-gtfs-schedule-validator.md @@ -4,5 +4,5 @@ title: New web tool makes GTFS validation easier for transit agency producers an external: https://mobilitydata.org/new-web-based-version-of-gtfs-schedule-validator-released/ tags: - GTFS -outlet: "Cal-ITP" +outlet: "MobilityData.org" --- From 02c8f225e70a37efe4dbd42df4a4e69c99151022 Mon Sep 17 00:00:00 2001 From: machiko <machiko@compiler.la> Date: Wed, 2 Aug 2023 10:27:29 -0700 Subject: [PATCH 263/277] Update src/_press/cal-itp-payments-data-dashboard.md --- src/_press/cal-itp-payments-data-dashboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_press/cal-itp-payments-data-dashboard.md b/src/_press/cal-itp-payments-data-dashboard.md index 97412bad..f3d80960 100644 --- a/src/_press/cal-itp-payments-data-dashboard.md +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -1,7 +1,7 @@ --- date: 2023-01-04 title: Cal-ITP’s free dashboard serves up ridership metrics for transit agencies -external: https://gcn.com/data-analytics/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ +external: https://www.route-fifty.com/digital-government/2023/01/caltrans-serves-dashboard-metrics-local-transit-agencies/381473/ tags: - Contactless Payments outlet: "Route Fifty" From 2f474e8106363563b47b84e733e7f7abcab25019 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 16:11:57 +0000 Subject: [PATCH 264/277] fix(press): Mobility Data, not MobilityData.org --- src/_press/cal-itp-gtfs-schedule-validator.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_press/cal-itp-gtfs-schedule-validator.md b/src/_press/cal-itp-gtfs-schedule-validator.md index f115acdf..9089601e 100644 --- a/src/_press/cal-itp-gtfs-schedule-validator.md +++ b/src/_press/cal-itp-gtfs-schedule-validator.md @@ -4,5 +4,5 @@ title: New web tool makes GTFS validation easier for transit agency producers an external: https://mobilitydata.org/new-web-based-version-of-gtfs-schedule-validator-released/ tags: - GTFS -outlet: "MobilityData.org" +outlet: "Mobility Data" --- From 80c822635f022e5824df54055023548d79c1861c Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 17:24:26 +0000 Subject: [PATCH 265/277] chore(resources): add 2 benefits resources --- Gemfile.lock | 4 ++-- src/_resources/fact-sheet-automated-transit-discounts.md | 8 ++++++++ ...-and-welcoming-through-transit-discount-automation.md | 9 +++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 src/_resources/fact-sheet-automated-transit-discounts.md create mode 100644 src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md diff --git a/Gemfile.lock b/Gemfile.lock index cd4a1df7..4d59b61f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -57,7 +57,7 @@ GEM rouge (4.1.3) rubyzip (2.3.2) safe_yaml (1.0.5) - sass-embedded (1.64.1) + sass-embedded (1.63.6) google-protobuf (~> 3.23) rake (>= 13.0.0) terminal-table (3.0.2) @@ -75,4 +75,4 @@ DEPENDENCIES rubyzip (~> 2.3) BUNDLED WITH - 2.2.4 + 2.4.13 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..0c3b591b --- /dev/null +++ b/src/_resources/fact-sheet-automated-transit-discounts.md @@ -0,0 +1,8 @@ +--- +date: 2023-06-01 +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/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md b/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md new file mode 100644 index 00000000..3cab1e4f --- /dev/null +++ b/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md @@ -0,0 +1,9 @@ +--- +date: 2023-07-01 +title: "Overview: Cal-ITP Benefits makes travel easy and welcoming +through transit discount automation" +asset: https://drive.google.com/file/d/18YnMQGNIJOmoUN-PGdYcrna2gX-7Od0t/view +category: Fact sheets & overviews +tags: + - Benefits +--- From 054528c8214fc3db0ad685a0439119017addf330 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 17:30:28 +0000 Subject: [PATCH 266/277] chore(resources): add 2 resources for gtfs --- ...-data-playbook-making-your-gtfs-publicly-available.yml | 8 ++++++++ src/_resources/one-pager-introductory-gfts-resource.md | 8 ++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/_resources/one-pager-data-playbook-making-your-gtfs-publicly-available.yml create mode 100644 src/_resources/one-pager-introductory-gfts-resource.md 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..784cf724 --- /dev/null +++ b/src/_resources/one-pager-data-playbook-making-your-gtfs-publicly-available.yml @@ -0,0 +1,8 @@ +--- +date: 2023-07-02 +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..cc58ba0c --- /dev/null +++ b/src/_resources/one-pager-introductory-gfts-resource.md @@ -0,0 +1,8 @@ +--- +date: 2023-04-01 +title: "Understanding GTFS: An intro and overview" +asset: https://drive.google.com/file/d/15OavdEm6-HlAK1eW3Fr5JrYdlpvKEh4n/view +category: Fact sheets & overviews +tags: + - GTFS +--- From 2a891cde1587d619b86d175c12713afbada6a8e3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 17:32:04 +0000 Subject: [PATCH 267/277] fix(resources): don't show outlet | for resources --- src/_includes/article.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/_includes/article.html b/src/_includes/article.html index e9d2ba17..cb3129c6 100644 --- a/src/_includes/article.html +++ b/src/_includes/article.html @@ -13,6 +13,9 @@ <article class="d-block mb-3 pb-4"> <a href="{{ url }}" {% if item.external %}target="_blank"{% endif %}>{{ item.title }}</a> <br/> - <span class="text-secondary font-poppins fs-7">{{ item.outlet }} | {{ item.tags | join: ", " }} | + <span class="text-secondary font-poppins fs-7"> + {% if item.outlet %} + {{ item.outlet }} |{% endif %} + {{ item.tags | join: ", " }} | {% include date.html date=item.date format = "%b %Y" %}</span> </article> From 849b8484b9519680dc3c7da116b72cdfdeb340f9 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 17:34:49 +0000 Subject: [PATCH 268/277] chore: remove gemfile.lock changes --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4d59b61f..cd4a1df7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -57,7 +57,7 @@ GEM rouge (4.1.3) rubyzip (2.3.2) safe_yaml (1.0.5) - sass-embedded (1.63.6) + sass-embedded (1.64.1) google-protobuf (~> 3.23) rake (>= 13.0.0) terminal-table (3.0.2) @@ -75,4 +75,4 @@ DEPENDENCIES rubyzip (~> 2.3) BUNDLED WITH - 2.4.13 + 2.2.4 From 4e2ab72328cab962cddc445c292e982e63639dd8 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 17:37:50 +0000 Subject: [PATCH 269/277] fix(resources): remove old Benefits deck --- src/_resources/slide-deck-benefits-overview.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 src/_resources/slide-deck-benefits-overview.md diff --git a/src/_resources/slide-deck-benefits-overview.md b/src/_resources/slide-deck-benefits-overview.md deleted file mode 100644 index 9e87cd05..00000000 --- a/src/_resources/slide-deck-benefits-overview.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -date: 2023-05-01 -title: "Overview: Cal-ITP Benefits makes travel easy and welcoming -through transit discount automation" -asset: https://drive.google.com/file/d/1UhNTnJAEABnCOFFZ-1xBHDoTYe322t-G/view?usp=share_link -category: Fact sheets & overviews -tags: - - Benefits ---- From ac34818f465e15d20408e3723d76a05cb766956e Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 17:43:09 +0000 Subject: [PATCH 270/277] fix(press-resources): correct formatting for all the dates --- src/_press/cal-itp-gtfs-schedule-validator.md | 2 +- src/_press/cal-itp-payments-data-dashboard.md | 2 +- src/_resources/case-study-cash-app.md | 2 +- src/_resources/case-study-contactless-fare-payments.md | 2 +- .../fact-sheet-advancing-equity-transit-financial-inclusion.md | 2 +- src/_resources/fact-sheet-automated-transit-discounts.md | 2 +- src/_resources/fact-sheet-gtfs-feed.md | 2 +- src/_resources/fact-sheet-why-go-contactless.md | 2 +- ...-pager-data-playbook-making-your-gtfs-publicly-available.yml | 2 +- src/_resources/one-pager-introductory-gfts-resource.md | 2 +- .../one-pager-mobility-data-interoperability-principles.md | 2 +- ...el-easy-and-welcoming-through-transit-discount-automation.md | 2 +- .../slide-deck-ca-transit-data-guidelines-draft-v3.0.md | 2 +- src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/_press/cal-itp-gtfs-schedule-validator.md b/src/_press/cal-itp-gtfs-schedule-validator.md index 9089601e..8eae3fd2 100644 --- a/src/_press/cal-itp-gtfs-schedule-validator.md +++ b/src/_press/cal-itp-gtfs-schedule-validator.md @@ -1,5 +1,5 @@ --- -date: 2023-06-01 +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: diff --git a/src/_press/cal-itp-payments-data-dashboard.md b/src/_press/cal-itp-payments-data-dashboard.md index f3d80960..8c82ac53 100644 --- a/src/_press/cal-itp-payments-data-dashboard.md +++ b/src/_press/cal-itp-payments-data-dashboard.md @@ -1,5 +1,5 @@ --- -date: 2023-01-04 +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: diff --git a/src/_resources/case-study-cash-app.md b/src/_resources/case-study-cash-app.md index 442b320e..58d47c88 100644 --- a/src/_resources/case-study-cash-app.md +++ b/src/_resources/case-study-cash-app.md @@ -1,5 +1,5 @@ --- -date: 2022-11-01 +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 diff --git a/src/_resources/case-study-contactless-fare-payments.md b/src/_resources/case-study-contactless-fare-payments.md index 249bb8a5..8843db2d 100644 --- a/src/_resources/case-study-contactless-fare-payments.md +++ b/src/_resources/case-study-contactless-fare-payments.md @@ -1,5 +1,5 @@ --- -date: 2022-11-01 +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 diff --git a/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md index 6d560cd1..9bca22cb 100644 --- a/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md +++ b/src/_resources/fact-sheet-advancing-equity-transit-financial-inclusion.md @@ -1,5 +1,5 @@ --- -date: 2022-09-01 +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 diff --git a/src/_resources/fact-sheet-automated-transit-discounts.md b/src/_resources/fact-sheet-automated-transit-discounts.md index 0c3b591b..10682ab2 100644 --- a/src/_resources/fact-sheet-automated-transit-discounts.md +++ b/src/_resources/fact-sheet-automated-transit-discounts.md @@ -1,5 +1,5 @@ --- -date: 2023-06-01 +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 diff --git a/src/_resources/fact-sheet-gtfs-feed.md b/src/_resources/fact-sheet-gtfs-feed.md index 5bf7bd37..ec688998 100644 --- a/src/_resources/fact-sheet-gtfs-feed.md +++ b/src/_resources/fact-sheet-gtfs-feed.md @@ -1,5 +1,5 @@ --- -date: 2021-05-01 +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 diff --git a/src/_resources/fact-sheet-why-go-contactless.md b/src/_resources/fact-sheet-why-go-contactless.md index 393664c7..e67fa783 100644 --- a/src/_resources/fact-sheet-why-go-contactless.md +++ b/src/_resources/fact-sheet-why-go-contactless.md @@ -1,5 +1,5 @@ --- -date: 2022-09-01 +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 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 index 784cf724..73ae8f1a 100644 --- 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 @@ -1,5 +1,5 @@ --- -date: 2023-07-02 +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 diff --git a/src/_resources/one-pager-introductory-gfts-resource.md b/src/_resources/one-pager-introductory-gfts-resource.md index cc58ba0c..38a95536 100644 --- a/src/_resources/one-pager-introductory-gfts-resource.md +++ b/src/_resources/one-pager-introductory-gfts-resource.md @@ -1,5 +1,5 @@ --- -date: 2023-04-01 +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 diff --git a/src/_resources/one-pager-mobility-data-interoperability-principles.md b/src/_resources/one-pager-mobility-data-interoperability-principles.md index 1aa2c83e..6a525210 100644 --- a/src/_resources/one-pager-mobility-data-interoperability-principles.md +++ b/src/_resources/one-pager-mobility-data-interoperability-principles.md @@ -1,5 +1,5 @@ --- -date: 2022-09-01 +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 diff --git a/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md b/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md index 3cab1e4f..0ff1f4f1 100644 --- a/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md +++ b/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md @@ -1,5 +1,5 @@ --- -date: 2023-07-01 +date: "2023-07-01T17:00:00-07:00" title: "Overview: Cal-ITP Benefits makes travel easy and welcoming through transit discount automation" asset: https://drive.google.com/file/d/18YnMQGNIJOmoUN-PGdYcrna2gX-7Od0t/view 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 index c26b552c..f517c8cc 100644 --- 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 @@ -1,5 +1,5 @@ --- -date: 2022-10-01 +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 diff --git a/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md index 4ded9ca0..b2c67946 100644 --- a/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md +++ b/src/_resources/slide-deck-gtfs-wheelchair-accessibility-data.md @@ -1,5 +1,5 @@ --- -date: 2022-09-01 +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 From 2551b52933c2b6873d483b6006ea14909c045573 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 22:42:37 +0000 Subject: [PATCH 271/277] fix(resources): remove Benefits deck actually --- ...-and-welcoming-through-transit-discount-automation.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md diff --git a/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md b/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md deleted file mode 100644 index 0ff1f4f1..00000000 --- a/src/_resources/overview-cal-itp-benefits-makes-travel-easy-and-welcoming-through-transit-discount-automation.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -date: "2023-07-01T17:00:00-07:00" -title: "Overview: Cal-ITP Benefits makes travel easy and welcoming -through transit discount automation" -asset: https://drive.google.com/file/d/18YnMQGNIJOmoUN-PGdYcrna2gX-7Od0t/view -category: Fact sheets & overviews -tags: - - Benefits ---- From 76764dfd03b95674039cb769fe8a4adc711de275 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 23:18:58 +0000 Subject: [PATCH 272/277] feat(press): add 6 press releases --- ...lic-transit-agencies-across-us-to-quickly-modernize.md | 8 ++++++++ ...eloaded-reloadable-contactless-low-income-ev-owners.md | 8 ++++++++ ...ew-open-data-standard-to-improve-transit-operations.md | 8 ++++++++ ...idor-amtrak-first-innercity-passenger-rail-tap2ride.md | 8 ++++++++ ...-cellular-plans-now-available-mobility-marketplace.yml | 8 ++++++++ ...cal-itp-mobility-wallet-prepaid-debit-card-south-la.md | 8 ++++++++ 6 files changed, 48 insertions(+) create mode 100644 src/_press/california-purchasing-agreements-allow-public-transit-agencies-across-us-to-quickly-modernize.md create mode 100644 src/_press/california-valley-can-preloaded-reloadable-contactless-low-income-ev-owners.md create mode 100644 src/_press/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md create mode 100644 src/_press/capital-corridor-amtrak-first-innercity-passenger-rail-tap2ride.md create mode 100644 src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml create mode 100644 src/_press/la-metro-cal-itp-mobility-wallet-prepaid-debit-card-south-la.md 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/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md b/src/_press/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md new file mode 100644 index 00000000..02e0c707 --- /dev/null +++ b/src/_press/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md @@ -0,0 +1,8 @@ +--- +date: "2023-01-04T17:00:00-07:00" +title: Cal-ITP unveils new Open Data Standard (ODS) to improve transit agency operations +external: https://www.calitp.org/assets/Cal-ITP.Open.Data.Standard.Improve.Transit.Agency.Operations.pdf +tags: + - GTFS +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.yml b/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml new file mode 100644 index 00000000..61acc695 --- /dev/null +++ b/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml @@ -0,0 +1,8 @@ +--- +date: "2022-11-31T17: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" +--- From fdade40926ebf2004440a4843c38563dafdd21eb Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 23:23:11 +0000 Subject: [PATCH 273/277] feat(tags): add Data Plans tag --- src/_data/press_tags.yml | 2 ++ src/_data/resource_tags.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/_data/press_tags.yml b/src/_data/press_tags.yml index 35d6bbe9..b9630c9b 100644 --- a/src/_data/press_tags.yml +++ b/src/_data/press_tags.yml @@ -4,3 +4,5 @@ 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 index 35d6bbe9..b9630c9b 100644 --- a/src/_data/resource_tags.yml +++ b/src/_data/resource_tags.yml @@ -4,3 +4,5 @@ id: "benefits" - name: "GTFS" id: "gtfs" +- name: "Data Plans" + id: "data-plans" From 38ee6fae2945487d54ce7d4c2fc62c0d56f33ed6 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Thu, 3 Aug 2023 23:35:08 +0000 Subject: [PATCH 274/277] fix(typo): correct date --- ...ounted-cellular-plans-now-available-mobility-marketplace.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml b/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml index 61acc695..a2ac4e37 100644 --- a/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml +++ b/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml @@ -1,5 +1,5 @@ --- -date: "2022-11-31T17:00:00-07:00" +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: From c9b8dcc263f73352273fb3587fd22f29cb4618fb Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 4 Aug 2023 00:21:45 +0000 Subject: [PATCH 275/277] fix: remove data plans from resources for now --- src/_data/resource_tags.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/_data/resource_tags.yml b/src/_data/resource_tags.yml index b9630c9b..35d6bbe9 100644 --- a/src/_data/resource_tags.yml +++ b/src/_data/resource_tags.yml @@ -4,5 +4,3 @@ id: "benefits" - name: "GTFS" id: "gtfs" -- name: "Data Plans" - id: "data-plans" From b7160fef6bf03b1eaac81c3e2b6cffd000cbc1bf Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 4 Aug 2023 00:31:45 +0000 Subject: [PATCH 276/277] fix: delete another duplicate --- ...ew-open-data-standard-to-improve-transit-operations.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 src/_press/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md diff --git a/src/_press/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md b/src/_press/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md deleted file mode 100644 index 02e0c707..00000000 --- a/src/_press/calitp-unveils-new-open-data-standard-to-improve-transit-operations.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -date: "2023-01-04T17:00:00-07:00" -title: Cal-ITP unveils new Open Data Standard (ODS) to improve transit agency operations -external: https://www.calitp.org/assets/Cal-ITP.Open.Data.Standard.Improve.Transit.Agency.Operations.pdf -tags: - - GTFS -outlet: "Cal-ITP" ---- From 297f29828a45561d5efe7f26e844a53ba5d404e3 Mon Sep 17 00:00:00 2001 From: Machiko Yasuda <machiko@compiler.la> Date: Fri, 4 Aug 2023 00:35:01 +0000 Subject: [PATCH 277/277] fix: replace .yml with .md --- ...scounted-cellular-plans-now-available-mobility-marketplace.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/_press/{discounted-cellular-plans-now-available-mobility-marketplace.yml => discounted-cellular-plans-now-available-mobility-marketplace.md} (100%) diff --git a/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml b/src/_press/discounted-cellular-plans-now-available-mobility-marketplace.md similarity index 100% rename from src/_press/discounted-cellular-plans-now-available-mobility-marketplace.yml rename to src/_press/discounted-cellular-plans-now-available-mobility-marketplace.md