From 7b88e76f997eb53a368d67aa2c17fb3657755f6a Mon Sep 17 00:00:00 2001 From: konrad Date: Sat, 17 Nov 2018 03:06:09 +0100 Subject: [PATCH] Added features --- content/features/index.en.md | 117 +++++++++++++++++++- content/features/lists.png | Bin 0 -> 26422 bytes content/features/sharing-user.png | Bin 0 -> 5461 bytes content/features/task.png | Bin 0 -> 13658 bytes themes/vikunja/layouts/features/single.html | 8 ++ themes/vikunja/src/main.scss | 85 ++++++++++++++ 6 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 content/features/lists.png create mode 100644 content/features/sharing-user.png create mode 100644 content/features/task.png create mode 100644 themes/vikunja/layouts/features/single.html diff --git a/content/features/index.en.md b/content/features/index.en.md index 97ba127..01c7b2d 100644 --- a/content/features/index.en.md +++ b/content/features/index.en.md @@ -2,11 +2,124 @@ title: "Features" date: 2018-10-13T21:59:47+02:00 draft: false -type: "page" +type: "features" menu: page: title: "Features" weight: 20 --- -# Features \ No newline at end of file +
+
+

Features

+

Vikunja is a TODO-List app. Think of it like the notebook you have with all your things to keep track of, but better.

+ +
+
+ Lists +
+
+

Lists

+ +

First things first: Vikunja can create lists. And yes, you can add tasks to a list. But it can do so much more + (or at least, it will be able to do a lot more at some point).

+ +

Namespaces

+ +

A... what? A namespace is something like a group of lists. Every list is part of a particular namespace which you can then share + or simply use as a method to keep track of multiple lists more easily.

+ +

Tasks

+ +

Tasks are not only simple tasks. You can let Vikunja remind you of tasks when they're due. Never miss an important deadline again!

+
+
+ +
+
+

Sharing

+ +

+ Ever wished you could just share that grocery list with your roomate instead of having to send dozens of texts on your way to the supermarket? + With Vikunja, you can. Simply share a list or a namespace with all its lists to another user. + Don't want your roommate to add new things to the grocery list and only do the shopping? + You can also share a list with _read-only_ access!

+ +

+ Planning a bigger thing? You can use teams to share a list or namespace with multiple people at a time! +

+
+
+ Sharing with a user +
+
+ +### CalDAV + +Ever discovered that web app with all its great features, but somewhat... not good to use? Not to say [our app](https://vikunja.io/download) is not easy to +use - but you don't have to use it! Vikunja comes with a calDAV-integration which lets you use the tools you already use and love. + +
+
+ +
+
+
+

+ Can't wait to see it in action? +

+ Try it +
+
+
+ +
+
+
+
+ +

Self-Hosted

+ +

Use Vikunja on your own server or hosted*. Your data will always be yours we won't sell your grocery list to Amazon. Don't trust us? +Check for yourself.

+ +

Also, did I mention "the cloud"? Vikunja syncs across all your devices, no matter if you created a task on the mobile app or on your laptop, enabling +you to continue where you left off. +
+\* We don't have any stable hosted instances of Vikunja available, yet. + +

+ +
+
+

Open-Source

+ +

Vikunja is completly open source and released under the LGPLv3.

+ +

You can contribute in multiple ways, even if you're not a developer! It already helps a lot when you use Vikunja and report +features you'd like or bugs you find.

+ +

And if you are a developer and know your way around Go or +Vue.js any help is appreceated.

+ +
+
+ +## Roadmap + +But of course, there's more to come! Take a look at this list of things we've planned to add: + +* Labels for todo lists and tasks +* Prioritize tasks +* Assign users to tasks +* Subtasks +* Repeating tasks +* Attachments on tasks +* Get all tasks for you per interval (day/month/period) +* More sharing features + * Share via a world-readable link with or without password, like Nextcloud + + +
+
\ No newline at end of file diff --git a/content/features/lists.png b/content/features/lists.png new file mode 100644 index 0000000000000000000000000000000000000000..374dd9eb78017ea3e02bad69c0939ee5ed246104 GIT binary patch literal 26422 zcmbTdWl&t-y6)R}&e*k1-U9&W zg`VHlos|sSi0vKiOf9TUh@Cy`O^8k0EldFb_m#>FGuO42l#q8LOg`veL5%o);0+|t zhgTcbMUACjKMYz2--QKO=KCM6Z@2?(T9n=<2WUVg(Hi*1&8IL9sI4-VN zynbTp4fZ~}Ep9Hxyclp@ygPNqEuZWSZaRIzS;b)x!0Wm(wUGCM(*b?tMqBlv>V;!t@u2m3UHuQKQKq$AM=Bzp zXugjK3Qx3suZOOhx(w4G2E1FeL;nrFRdDCvE%}!do;7u4`PGD|G%O8i{8+sM^ql9r z178}}^EN26fiC?3nzySnex3)rj!qQkYAFurOuj!yq_C@%EccV9Jik zre_6?HxWY&+y=_A7#I`*JrNniO-mX+54kKeex7&B7=?Q;fN)=X%&@{b*8_TD2)cJn zZKxnV-Xrc9ZxKEvF3{8g&TUv$DrC2z#LGz*d9r!>&k5s{Fez>FcS%|KAmcsjIr;IJ z&!1Chd01#vD>a%Fm4^GJsKLMjaalIC^1_7`%j$x{luYo9rB!9qw2{1E+U-pFN##91 zEC&G+-)~R*0UVYI*6Rih(`=hNF08%!zjZ3AIySd#u4@*vZ>^`tuB$$A7$}9#e`}TH z_|9%v=)tbDUyjV4dsEqPP(rtY$%IQCgH@KOncGM z{rE%fDzH?CC0UPHjp5IA6<u^vYOO zRMtqVy?)n6`Ys53n~*pDt%W*aer8>3J0lz1+BNQ0Y0|$A@ysK1OgMVRwxEO}T^>LV zR<0)c@w8?f&n5Rzwl{<@|D`6}&Mc>O2u3+Owbts0QB;1k8t))$?r^>Mcm;}V4`TG2 zGu8a2ZuW+tGGdps%{n(Z=iM^qR&D8i%bYPi%vxJ=Yd1%eGK{#x1V%|eW2#GvIL3JP z32Cu|Cw*(Vn{>T{d9mV&j!cD#azU&vDPzruBA;@Ea~GHQmQu#-tUbiasD$T1G}^#M zP!9>Ut2?$tE0g@~`&MX4dfG1sN2*s)BThAx!IOrGvS{s?xWtnflqF*$)%Z>&)}bJqy@iES1lyvSvzTi~Qn_uN@I)Ty7G9tCqv%nlkYX0LXVx$dKnhhtrAkmbf|A}$E{PL{soS9)Ls|0fIEtXCSIub^&M`xbpm7P+Ce=^}Ry7>Xh0c|9ySOtZ ztZ;LSq|B5`QmgpB%$Iw0!uuT0C%vy8!|WKg6a-Ne-uvNO@^8G}N(pD+FG*fZ8Dp*n z(i&cLkjhaZOmbs)rb-{i@HRN{&5Le>U9ecE?$%2Y@k7aYsDgPRnmQ_jtbay9(6Q1K zD=&MnmN$<9O_D&S0kUZX-oj?NPAAJg;l$lHkS&WE%_rB5>IDmj#y@ebj{=+ezceK| zu$WZ4T5wf@A}q1$C>E*S!O)^y_`u*FQdFy{EhSE!s(G0gT&&K-f&~yln69fl6>!!N zb?%NLH3hs@I>8=nMPpw-{~r4+{O4EFpTHKujZk;mxx>Pd!wdtnrJ~x>cqHD|M)4Fc z^|F41j6I$Zba<8Far8*|+1;^<#O}cekG^z)o!%}2 z_*5o-r47zgIcMy|eshSsNsA=$7rous6|k7AEZ=0uFoV>IJ3T89W3P_&Pn3^`84?x+Ei~!m|V}^P0nCVcS7Htobq$8 zmX+5$A@O~C6qLs|&!1`c8p+NQ&e*)o`ts(MOr2GMEpPNyaVJ@$ z6udfWkG4&@zj@f7+S^_lGpe zTTw1-j!f}ae!L?I-4JU9|MC90>QQPP#p@ZFCY*0%EDmL8pk{bi8|k@XcW$`4%_Tog zUe2g)6#ds*%=k|WV5uFOiqf!}J)yO9&Av{+Pom4gS3W@AS8j3g+b<_w7sLY=jAwrX z+Pe+2PQ=#%_JNkyGo>P6NU4kHH5h<~1*ME(vpjW9|= zGy*FTvUIIK_*Zb=-U)h|X*gGB-cS(A{CfgKXcHeHaJBZ+k4*KBFL3UtkqXJ^(srmT zK?=lcg-PL_LK0A>m+R}_fV2Yc;nu;_02|xzZ2E5e3hA>t92p1#=9+2uVcQyrBqh zH_TZ{ffvy>wb2DcS1b}krCF9N>RW8NnJoVdVeGS3M!>}GoTVi|-RJlN9FIoPPOGvV zVPxKObil+TDk1KeZ3UmWp(jasWIdG@w425JAfgwH9&!Y!e+H zm-f=ufGno<6HP(gioqFY=!e^&pL|o9rn{o|RE>48HDSx>$%5Icbr+2U?3?*o&DD(g zLFxt{!LG$6P;`4AlIxOzrtJKe(WR@Ci_KffK@hCSISE_5wLzF1gTZVBcM2Ni6lx9y zgtcFG&7|JC0L!D#!i+%Fg$QZ4f)$mZ072lVO}SRVeyDY3cnp*urg&fP=qE<4^1DqD zS>-ZWMr9L!2b~RUTTAvIS@tKPL1HpvWi3<_V0=re(k`DdU+H6)B*K3Uz6A2#29P26 zAK~h&$js|NhB5LnGfJPw6L$9V{(()$ON8!Q4wwf#EWn^5%CvPo>{X#2CkJ3Zl8HYD zsofX*o>FFhzAzAXOJE~bFxldOa)p|cX+%8c={aF9)pFK1$EQS4AfW%u=Vc^uxhWQlK#+cJRcDFbPe(yC9wnsY4(yw0(6!$vR*4v{ASIx^`UouARn%ZYUcixlq%1ndWbbdN>oW=h7jSZ&7 zHb#=fk!Wd0WuStd2n=M!7^A9L}qitrZG|!A!AE_nv5Wa z;Gf!)%lULh4^#al3#^Es*QLq&%6vzw{oOv*9xXk+8VR8oT(*I;n`$c}(%~AYP;w`O zXe$}6n8yC6$Y0tAQUq7Msa)M!<~gMJ_Pw&nWo439S@npxern6BfSfY1U*TS)^;Hyd zewMPhCpg^p`!^9eL~YDZSyZ1BT|!dIru#6N4Ecr$7}E5-m1XS0!PlxJ@_?bW3NSP~KuElxF%BYDMpXp?B zeX5kA$jxhK0=bi^H`s)#8%ZMbK+_RFq;s|P#F#VT&j`b>@wd48fQYLa5e1oiGmP>D z`t7L}Ev3ufnI*n+2BHrCDCrA{m%{s&CgGJjCEYo{eR2{11f$hF8Pp+t1eOBlUS%4m$o;uigZKEfEpV59tK~*4`u-oSuKnvjL)QZ5X!(9 z`CEFWW$#jcW_6)|5m04jm>aB!5J3i$+L(b@8v6@%f8mZMN|J9(vQcJSkSeA(cC`na zdBx#IMi&e(7NqSUSoj6PG1}ujTgCBRmJd((4}1ErPdXY=q)3o(tiIm%Ell}zZ6=mW z7S8YsBrwq2!jRp>Btko%rcnKVm+&6X%f6rfHqV4RKJjlQwhN+NInOhqq`-umxld{^ z11|fCf_6T2nUJGf`s_SwpwZ*qDhaLP)DaH3ABB+R$wi8b=oaD=4muj>Xe&!0WudDT zGkw!`V8Qh?9!mY=CL4F*T{LT)O+6T(R-NXd{dQam@e7&zx7ADF=hj74Mr1x&tUz?T`37d% zS@1Y=kon+cZN*UywEAGeXifdyCN-tC29-Yo!k-~!A&6i++;2O70wce|ED*R0@W}{S zomLPODAsD=R4>qET+6^xNczM(v%b`PRb1#lgE!-2$dK%mgBJY;>J3Xji@6$#!0*1-zkx>RELkbW&emX5^`vor{l zF#BW#gT%1Hy&i5X;^uaSu46N-^t?y>{b{~FoYY!gM~mki;zJT9rAi$y);dXZkyE>p zkI}s8|I*(|Z8x!EU}?d&sPHLyB_}_FF=;f3UUR|H?I~jcD;0eB{QPCcVZ1g!Yf7+@ z%C%*KN`R0kd#^z{)#L0J@Jhrg>Gf>qj7*ChxaV+Tuu`FyGEn+)_tfKRqnm6kvJ;<-u zzkM0@unzi0t(sCj49&4;dnlP;hzvC6wC@UjS_+!snj)Y}Y>Gf~JV^S`YEnGLE_f(V zOa)SiqBmYe5PFN6je?vWDx~J5HE$ksI866dB>^lpHiM)-1+CJ<;^EXBD>}=C2#`b@w#)a$KU~oGrMSQ4v;m zVUT{e5GQlIkleamf|*>9fc#+&A(Gmt8rC2vy-z6FTNZ(MBTgp#ymB(lGU-{~Xa-h8 zX_3*V!%<#z`hCE_A_yHo4r@wqpC9da58N?wY4N)S_6me&u%e5G3LN3#NSFavVxNN5FJ ztVtU`t3b#fQWuKa&hpQEH$TLUcKG!4xb^+5L=n?)nOPDqI{}Xk!*f~}!WXby9B^Gm>? zq*&EzvG=Ng-W}!Dh_o7GV80pDxDdHW>4SOK?C+T#0Y3MN`9OR48^ch?2$QvmN z(r`CTAXQ0qLW7s^fTOOr{K2i@?Z0U_0RSj{{~Qp>G$?oPSm7@5Vd>_<~dSGlnWCpX_7U7NAo^ra{#2X@!a zi(pqbah_aNG6}>$Sb&iKWf4S!ke43+q!<+Wx4_Si;=A9B`MdR<)m+R>)ee-?A6@fw z)u}MM@Pa|Yz*<`A*#>*gXeL-pggq~z8;}CkoDxEaFkPWSNg*aeh^AEDKZ6l@tWZM8 z5iObLQ~>}$*v?asS(YVr)PxxqXg~}C!Up*{;FT06HDQg`DV5I6%_Wgb4#p9=wXWNp z&H+fiW13i69t*tf2!MpK8FXKsJKw#8KmY(p*pfQruQ97M#gF&D4DaYDVP0Ndo6&{i zruFKyBXw={^-lL6l!?d@q8Z3@yodiy#$ z{(XCWK6_;EWvo>nV~qCZ7Z4DL`&br__Kk@Nx#HQ!JIxli8q~3~Rjm~~APL+Z!P>Pq zu6(1wYt@C zp>X89uY4;S zk%dBx{U%}7cVSGzIIn8y;92=gC>&&JqV|&v?S9C*RZ7{a5X;onzq+_-kb$5fCe4zp z6^{&GD(KYwSg`Zf8x z3LPdwuFqXM?I-{ceYH25I+@LLUl!Gy+I?~Fci9cMy1I%=#D98z-r;;S)71qa={vZl zqouXBvqMEf(r$JvTu*FTP^!$(OK;Yxbm!({rqMT?Z{pa$*w`e1M|ErQKsoM@;hNv$ z`s$%rPzSD2Kp_m0_Y*ZtpRat>qER^Dt9k=S%Yc73x1Ax~588MoW{hiEzHO}A#G&1I z5wtCx??T6``kr*Ri!lHP3*RbfH=^0r^;1d7yD&-Keg7x{4pjuaf*W-#CTj7Gk;_)#^vQX)lUqdm0i|J z%h5F8wm$clcjR>)XST$HgKw`B%r2Zgoe3TRu z2tXYzPxge`t8z{5S_`IOX73P%la%njSb4_eB3{}y8UP@;ffp;mPFQ991X-st@=LR- zTS1{`@>V(Y6Bk)iM+$taQR9JWV(7wHp+Cpxosnfry3Dr9@scOu^1G-q}W$L;@p3!61tc%o7A|=_80031dj?}Udz5{Q<2r~cx zX_QX|OBlHAHZkD?ErdfvL_|OU12E4pZCbrpYu<6@-t>Ea6(ybaMILxy)7e!h{l34y zzv5S)J-YXHtM~3=YC6C=E)hql@-_KxAU!?(`e3qiJ_Qn(w}xw$c$6&;N0n0UT0B~U zNp!K-UMs49dp_5Ol=gN{%I@uM_X+=ef>8k6*nwBW(-jbcS9@dXSst)cK=3Bzay0F# z6Tt=TAixR5H9&Zu#F8#EN_MU~7QWe`Q}P1}aX^!vOCahCEZN5VGFoE zzq|8+C3E~Y@;|lVlO*|24qu``I;97Rttq?qt0csI-(8!eT6}2FyW@4%%I3UY*x?}k z(=5y9_195S_)c3{PIykF>rE2^)E!}YjCAh^u0IKfGug^h!;_rBfrL{`R-GmmrHDZv z3#F%_0Rd>xth8otZEaoEC6P`f2SN%T-W<(dbX^pJxJa|_`sbcfDi-3KW(&@Fo7bUx z9DnhIVxMd1T=b(7eS-k_6HgGJ1kbuHCN2wo>v}tmQ8%?QE06e+8U)s2SKM5ypn?b+ zI?we$8*L$-9`kfH>QxOp4@NdMI4d10H#yEI%D^!S@^3f5g0GtB#*p)qU{BWeb@yW7 zx!H(Fi2q^bm8|XQpTQ$&GpAYOX3R)T0;n+MR$2I+miYr|c{nMt-*fE(#02>DdI1w4 zEG(n5_LkM(XI~$+o8? zv$cXc#_G!M7Nx=HbcUx}U5M~_Y9@Q%a3pT@fE= z)+#U9>AtjTvG%=0hzcg*3;`337iYzEq9AhC83?-WB0>|4)}f3<6tN(~8LubgyjM3r z2@}Q@H#IF@+;^7Y_+3eo;2^cE+oqUcM2LblZS)3tI62+V*SK2OZE;{n>#98$9wc?= z{c$%iuJ8~ud#2DRs|ASkdvMUA-_{^ZP7|sob{EFP(|`BW@U2%Cx@ua#FV_e85~88I zZDdN?B{ifCUCCpm=bv6hf@Q~d93!j|c{}?=OWIFsfn6Yg;ap@$3krc8WgOZdBKjcj zV@CWIyf{Wgu>aIfjH(fbisDZ3M4b2;5;VB$<#lgdxO|YB2`CAn*H_#2I|Jo9I&M(Z zZVr={+xqWD4*^N=YB{|jTHsbI&DUPW*Votg8~OKOkS9TBYun-6REO@OZ4(ifqo|4s zaC>PfZQRt0_mkfqDx_~lhSXcm4@zUNq0vAj_dPv4eXrf_ih}ZLFAp{qFfAm2MAd|{ z+&?F-T=}zdYmQn;q+M3L3F*E%-;v zk1;kLZS=4Nz6_ktRD5a8I+J2q6)Im-9+n;=d?R20Y2&ANPv~V#AjmN;pY3o7-!MKH z{6Po&`=&BaV`F1``x=63&q8U)+_Q_$*E74#7dUf?;WO7~ny?k1{+Hzw7wN=tyh|QY zSYZI}^xiF32qhF|PvGi-)9UYD9;%+i(H(~oAPMaX0ekBp(d9EfZG-05+D9X%>g;Zy za4>X$8H}Q<=P5oU2+*~v!yl*9(EQ>X*Jl6#>>F24k~J0gfogb-jzfzqGO93WpVyds z?eoWv8l(EATo8vl+}{P=rl=dhVQFBG7u&FhT|q(Vd87$~bKq|-SRo+Vq*L1vJW91l z7f^VNi;ur4h68yWI+|x@eG#_-5eE{IDHQm*rOG0s2t(KL_Zg&jadErf4mC$FBU0~6 zGKtBr-y_3uX|6UvD3gU>n3p61G^ z7I2(5o?@3hqoB?16R6FF(r0-_%X{?9H<=4>&wFK`$7VPF_1SI2{BVYy{_SVo%TSS( zE9N~#hRqSCbVA7gE)NjENy2#w($tv$8l)&uVSf1Ye`<*TSWNu)?0+WZ{ioT!=!|xo z65KD1O@8OHo&|}r#WdWGa65A9vL*+P7Q0uEm>SDMC2jTuZXM-4Sb z7J3YEL&TpTk&23x4x_O@(L>3s$ zN>5i0$x{Lzzbl!ra&VnuM6?bkPlmnJ$KFc?&Q3p>E$11b$!4OZL5%)KvjH*ls&{IJbNlTzZeetU>-auo4*5qs9Px-qgZRWr}W@W4E z#S1>oDr3l+;2PcpRMS%7Allt`yyqO2EvDt@F66hilaRbe}y&;hniFZ;BZM>~f z&vIFWhtXoK&**3Zh!9g>k18d=mrD=!cC-szyuM?4>MJYbCk^+C8$#0X5bDkYPvY`= zPrI|I@_5&7sw^-B{!pbepuoc;H(n!Jb2APvp?o%BO&2Jpz&>FhiLnj3(J>oLLllXi zjb=D_*?p<#RkfG#v#i`c4y;JHdgza4)!8|um1nAptiryMU6#@@Tb+3zR+epbD%3wk zg9esHXdWI#E#oM0fr>J#tjz-6ZN?)riv>^v_PE6$4cZgZb!Nm&Dzd7)@~>;-m*yV& z->FPE+}`Zcbfz?AMOKmd<}EOQEwSMXJ5z*tOXbC6sV})IyuQ-|vl|i~2l)~yN)ux~ zPEND))1RFG^z0kbvpSC*Y%|t{K@I%b9~&D$z(UGAP2=-8ekHt{-a^}3k0K;l*uV6&sZgq( z*W$i7;rBJHVA1czG0Gf-z0m|uaJEm!hKm3yLrEWa;GUieeD(V54sgP4=u;UE>)>(p zCF|gXAzB;Wt>Am>Tv0d6R5CN@@J|j;Zy2R&)u%lsFH7sm6gisSg@ZNBrWiCUEh|H^ z34+?M^vUtzIYq-pFPt)Nl}d|NdBWrg@lckzJY~`Mz668_ZzDfT{twvkCD^+dSI*VW zZfa_7SNDE-xC+KP)lvK1bQX{JjDiIqTCD4Q;%$I`_R7Irv0cuy%U9Tlz`f`|XZU9P zZhW1`!1ep+aviSGx7wUx78+r1J(^JQzh(Vjga2Yg|1InP+a~ajzW*np^k1{}U<%WG zoZlzBTguM%}eYVR$iE z?T8%Un_@vHx08YQrvtyvj+O5p;#>PcG8f-(-yij6mlsA4`0A0^T03fz?bQ9-5+%fa zZ{K$3Y^7hj#lTX-aBk;C$8;w(p3++7o8GTA8^2OIz-=~el)ZJ8b#3vsx2s=Zzt&!aOLIPRv2bpj_m*r#hUDF1F)I-aTuo`c3yyL>@v3gvqSYvNw2)r+bu{kPSz zFr<|~VbtRf8XA_A$>HQcg;t$}!T>~(2AzhOkC$WMe#AWmDZ+^-b_vZ+v5q$Y`qK6| z0f2y%D(Z1q5A?r?UmD_wC6^PtgS`dLK6zIUKI?_0HkDcE4@+?{@oG7jk2^Dl&-87`?@E zNM1_|$FCO@sb4_`T81xwA|T@WAOV)?yM2ATy%Na-M9u4D5^*sDG}msn0!!wfzP~DPc^;)TGyC|F%ugYa zN^G_|lOQ47Q`pK*7T0CP6Mg3KD4SHzPXFDhzL2*SODNzaMBZ0&K(zkUqCk`S$#!dP zkA=)3V&g~Vgu7pbAoRM?x{`+tI1lqWBGn3>nMsyhaazmVY9t+!o85fs!<`|350DsjnT>;&z6x_r%HDUbgp7I0=9q0g@F(P^6Du+5O7Ni zY-ot1hE-{UnX$(R#>6^v-+uh4NH%N!5F~0& z%ILh_-D%gE)XJqd(Vmt5j5ojmmu)4v2L!;`_9ElP3IT=2h;!JG3^o4s^>;I*rgi<; zn!mdD`mW~uia&tKZAzw@KcVZLI=-E;o!!Pbg*4UX^YM1F`Xlrej+7)dYW3s+uypDg z_rs)po$pmdLz#H-)kT;yZZxPCske?(?$YD)vSUFN zPN-&ivSZmO<c8= z&)^eQM=Mi=1gW>Dt>y{ANjNM{xJR>7*WGyM`q!+tLyV>$P?0nAum}lcP`#@hRUe(C zaKggPWfCpuwmz?SL3ILX*vDn?Vi8_hu?Ug2#ldDo6P3g3BzC9fhL8KVJjRS&){}Ap z-8;4M_YQ(^Bf4>m4kxW)Z=<;@r*dXf;J@=aZ!;!%4Cb_`T1SqqW^A22oo%yqa3p}X z+4J~gCnu|_juK3KB67bL*PzN9_i@d1R04;#Dk2MN0j!PuEGs}-Mj07BW)x>uj=P#! z*B9cSG+!NIxrI@5Yg)beGnKv-UbE59`91Br&-If58HL+`bOV0IB?70(KTS$AOi{&q zeZx+XVb6a4&K%yS!8$;YfOJh)8(rSLldD20kdTWRfI^R2Q4$%ZH&mE7XHUR6KRUY{ z9rxx|E{U4XW1$o$LwOU-|C|B_pyNj*B$SK}sN>Wr9SnU7o20%%;VCn%f5fW2M8walYMAWR77&Et;1YP&>qfdkLlfd0ffB}`9|xye5w2DDqhKLfuz6) z6F#||P>?4#OQwlNupp2`Sih4VxIHWDIfL%cXlZ6&PwNi~yp#-yTg(FTEhCT!13#?Q z$yKpA(VXk2v)*TK7fkM**Q+e2oQs^xpWi^F;i!I_-Lw7OXoRG}dfLS9Rm|R7@O_)B zN-qyg!SZE(RXrk7{0~p|5jM~H$g=1oOf&!uEO2ep&k=Z`3B$&XO-&Ghgm2`ZW8V7H@&7B%YHVz@-DtCD zTKxzf4sJa+m$u;l$+J8?pXw+1MSwbO?pKSQZ(yp(Go5PBj-M$?8=5k+Ya1JHuNQtq zNU#zT5+8xqttVgZK%?U|7@_@E+Auc?|iM9g@a?UD#2vAs)~M=l_h=b`1oru$jJNlc>es{Hg)utT}$dN z;8K6aQ;_yVU#iP2$9EF1yZa_=a*xS75r`%T%pExv4;Lde(^>PX>wJ#KkMUwywgbrO zKD3C}TeEA?r>@5R82)8|Gj8hS;n6&8{!g0Mtv|JM)rO)*5}Z#JnZIPtdg}U2nd|L% zJV)KjNI^l-@pN2nT2C#RNDQ=lY)MkrWXsfE{-%-vi=}gQe(pZiFRV`$vs=J5KRds8 zWCkGiq-lDx$Ag3OF>+uTbup?Z1sSJ0LXyBd>qYb%4h>XmPD4c z!!v{>4`>Lcn6;VLhYYy3wY@fBgiWPK^4wise(pm52-QG0M|8vv)ckX(UtYNNV&Wml2_{t-MIdQ1udR zxEVM%W!9SpShVV_>8AZ=Q?A)nV6}$pU*^H6$AcNSL^MuPUZvYTCOW@}_0T+eKpu2N$)AZbdw6HZ)B;qY2AEO(J^Z(x?b+@fN~H}=yVsB6 z1=DXH`*3hZv_QzoYXBg2hcniTx2w@FblXEW@mCPM<7P+gTv>ADa_H+^X?L0$sd$qR z@#yRF=FjkrvPwQ}^6dm=N?2`t=J{}=yW{o#y`P%|Zp}oc89+DK-U3re>I`)e)P}2ZL*VMJ}_x!CWhEF>v%*&gkkMBpoXSqi`RYC;z_c}qYW7IDxXTdJd=lq z7w?wK8q(J?P#$0rhO|-}G?-{EW!gG27{;>>8AaTcxV|_&T1lHM4NjX~ceVBt8nK6r z3$RFodw~K8hl31Za{5I%P~xzJ>A4EimH*ufz=^}wl!EQl{UgB46wv=Y;)M77egq#1 zAOvim01fcO5CeOAdq3;}03bW-p3~{D6WY7Y>9j9Hny_>tUVVlT=Gop+SEuwf831_n ze%pLI+bk+7l9|=k)GSjiw~4{V!lKvfc)`*_I15;MFu(0CI64^~SC=472#3?2`4A)4 zMz#G5i&msyQM*0%QB{s*#1$&Gm~FAlhWB~>SeK=Qe9Jh>>|pg2lZ*__@rq*E=`$BW zdtxc$j1=1j$4nlTQQy88G+tImf1e0lCj(axvJ-?r$_oxQl~Mz>tUYyQI7Y!L5g@os*LjfWK+I1}&D|X2<%*o;|0i zVlXI&$E~Ve*w?B+BHV4@DUKV8;L+L9;A%szwWS zM>xeRtAK2>B)un7GRW1!p|Bey? z;XhsDVev(D9QM6PWnB3~nOOmeYiR|6{_%S-;>$h_=?=j`^p-~_9F2Uao-Ff{iOwH# z7dN>sQv_3_~vd+-jfsgb#TxQp%k?aBRj2jSwXb5hlr& z69I;WhRWseTGTJg%=Y1Q&Uf~K+7mY`Er#}7uaE?RwMbED8+bPW(X?))UO_>b=;~j}ar(qz_!6mfObok|qF&63Yc9eL5Ys%yGAQq&! zv$z+xTh;nn*;C6sJA$qqtNyx{OsEID^-g?QX@=w>)e|i3*~!WCpx=uGaJw8u&u{#2 z9p!Arx^a4X`fgx*d)w9go&j&(Pboz+RC9D}{9He5l)lTeRA0&j3lc!64u7r_ zaQPte*KzQ0`p@p^TqS(9^xScCf&hTA zc89syTBoD@GSSz(-8hsuwIZ`(yS+wU=GCwJD%8fYQ)_b;&l0KvW$ZNl6^YDOHEEEdoS z-r*hB7n#A?ri|D6cRf6%(0{?B<+mRKva>zgmw3QdMJjd#L;U}D zKJDMGZUhx@edqJb)lwAl&es0D1p~xi8u^h7bVM^3sZLf@S6H91v-L=w_jL(MOx><9 z^MORlE9EA^S=qg>2CMRqS2)wXstOXrC(GXrBia+M|>jR+();Ytki z-+$bZBM?aINzEL8>@pGkT_JioMByW}4bJO;Xky|~*38=$7$&CgKN7OoA<)}3s%bLd zL1aVh>1HI*0CmrD4ZE+QFgSAYCh5JRAAFN;95NomL<1eflnHKuU}F3Z73HcJiAu!g zfsOdlMzd1Jk&yvIOe0lC#Rxi-s$7_pfyB|RlO&a9=~dXUkd|brZ%ygzeOIIXljsfv z=r`Zxs1|ZxUA(hIkn#(CYL(B%Lu#0*SF_ugw4!CEy|`RPq=fT9H=4UfbgSCXr8kKE z1jTnSk%iK8I(DWtDu$R&ad5%ybFS{scJaFHN3WR&s;qrsumeFEl&u_)78b4Q5mkF zGd}*TkFVncpP)W|>iT8M;VKA`Dc5?w@q@Ll19M(?&9jmgs(gITVtcQr(abE5&gUhb z9vjk0lCAGdYMVLi?(o)|<25*Q)8Aw;~};xD%B&9&0g$5dkxDwX!lIrR1q* zSf3^?F6tn1Qg6QJLSohH};E4Nq_xrE7tIgT8c)==PfvrB9@(@j( zEyW9;kgJ1@jMOs1IP6~6I{{4@T=$X%5bs#+M?Ud%3^CU?i0HmK{#0e`X z2vpR<>b2*E{n+5e2-BscS)4^?jRnG(KK{xI45&({h`hN&zI$?q4waCzuTvY~7DO7n zJgp~dwml@CTjyZ~VKU+n@=uJ|#_8DWzBT(9IlOJVAx1?+5oMp3C!Z|{$@?BJCQa!+{$mVKMQNu!?cDDNQlRpRBycewQOdf`kq;1X3R-W z*w_#ZstefO-Z`?f^YZ|+gHkMIXQl-}fx~!BO~33#mE2CI@KQZm7zq+Y`(D>;0ZHWB_e%3~y`B-v@)S14aTy*6 z334{?AT8cr5IgT5o$QKjmCSF#|0gK@{~_xCpCPP(;ZXN#DX)*yr;qIRsi`=9)x-W| zpg=~f9suYnGgT`pW*=qCu!<0-d#(M6IpgO0{{D8*be&uz2dMenTsWLLEcHWE>QVB# zaXlM}t8Jy{^{93O71kTa-<2H!;BRtlSzd^XC5XfjiBGCoE~YNDg==UL6FOj@Kg1$x z$EFgMOpYQ1@L#YjgB9vxl|dv{jfalyzAT+#WRT*O1&DlTKCk*IANC@9aZ&wr)b=YI zHPh|P!pk}js_Q3ch*^izHTPhRr}Iu}9qfrXmyE~f_rG>d>t_7T&ZPNOn~&9{E2VnA zbJSN|b?ml&*Jp+-TLTp4Dw^7xrT21oVK6_j*$LM&(k7_Vux+5s`1zO53_-U^!gM}d z#D?6lF*x_dMOe>#Xn_D||B~Cepa`$Zhvv9vC@IgURUWrCKeyO>|J&@p?rxYBHorzp zxKc}T0!Cargh_3~i2=}{%H<(!Ey^lyZp`h*;?BpvE3fL8iKxc5dhI$WSx<-NS@Y$g zeL{kt3KgXF2q85jyid*F;_i!^mKgm(>Yg<3hZ7@J@-lRX8X`1Fqy5f0$G7BNh95}v zd!44a`&b#K)1Fe5_79$X{CYoiVpr(a=K?}WLvAC2w^F>}eWoIAj$&9pSMN5OF(^<` z)7n3uqNt>gHs--I2#fv3DWIlEYfKi*dQx-<9L#5;gc7VM&vkmRRvN|zU@X_g+e%8r z4p=Fpj*P}3xR7la7^MZRfC++eghieE87oZ*;8BE(OS6+WFl{^#1u%l!#uvSuYf^O6 zWRE~3r^u}up*y^_v7-6)WS>zyOlUo`bgOHb1?mxlf_%M}%5BEvOeBAb{6YC9C8J|e zno&i4wC=cZ8T=*TKI~Dmv_?zSMMqhSPNi62MCnld>1!zDlw9pD;(hE*$oaclkf5p~ za_3^F=gys44cB3RW#S&6L&YLR3!m;Jn1N!Q=nZvv-x2yX^W7!0)w_QH5ssWqYWN86 zhqtnDg5|V*Y!+_R-!$ERF%O+K6|P0vUcr3)=uq;2 z{tDuicHdme#Bi@O6nVx|<0PfpnW^|uA{5Uvq!>}b9BE$Y zAilivygDjAD_fmJB^M>n>~RjIkpLhlAaMFi&IeogcCb zZ}*Bor)QTxDLqIlJV}16RXw(H`=D%Bcd|&)N1xCaQH#0#%RnEa~*35Fz zPwOtQ{iYD&)#%jdyuduc@hskSP1~;-eSwZAXbXUHT zPgvTM=GWq8ZyBH(L2L8VwuqJIc?al`En{~4v1C5gB}n1W%6H?6PFNt%IEvq|UV zKai_wnlEJ_AOgAgDrTz-kS$a83{a6QYZFkphrM!fw6*yn{ILwjOgvAy9O=<7$BceF#@n0h$C@_e(a{<4(uznbn=Jz4ICe)xPKh< z0wIPORMtA0zouDcZv_yxVJE>qV1e+Xk$kur?w3?C)%6)b#Ayi9f6#qPxE zLD_cYLac&2;11*>rb~hYbpt{~a|A$Kx;lq?uu#EhmUq|fuPP#_s1{#~*YVKMVu`7_ z^IVa{3(fb~qDBqoER3b~oz(Hcqc28Es_H8B*+zjag{zQ}^m2(;`*%cpZsVU-0rwiO zk5$8E9Ou6SilN<}*9R)=ktGyw-gJ}AOFU|CU96c>CM85KN|=s3ju#*O5bJz&Z>c_D zq#}P>f2yfQf-ffru2MkdYv~Gu*%c;E)1zCDLv4KhDnh3vjS-@86QTK?w55H@wqN5j z9j~U-2YjY~h0b3V={)q-U=JnpUE#`9%D`6#cRh`dwtx%E=Y>s`|0e) zsj!w=g1|30>3aZBK!vJx&_~>4xH>IOE;NV$P9Cui5?K8Yff;k z7Wk)u3J5)YF$#r+NHg=~T|*vjijtcVsHvzVLOhu{q}W^D`*>YgEWQ&AYiD!Jl}}v- zt5g`d#l>e(6-xZdv1Q7xg(_mGvhUVHEpSI_ogqh=S0@?zVBdgcC5hZW_W9Y(ZK6S; z#^M3@dlG%Y{2WU`4?!WG`>QaNG{M`S!#SzGXmU^AyyFTZ(Wv_h9awzYpwOQ7wygTh z0%&hbKHn$p-|T;rDErPfvM#O6Lju7<5d1P7^g}kquE&`P@va$$1d zdVC^|(1-o#DAT|mcisYB98yug`(JsK86RnZy;5Rbo)IA|_j>uy_H0n#+25Vidh%o* z9{mOmThciTOsDFomLLT+ic|FXm)`RX1yr<@!l&)iP+t%(;q8!hd8crRb~N2-=+nkM ze4mX}5UI6kZKqOOp769H5`Ved)MVtjH5W5=AtYq1KLv(R1wZYhDMT9kG3hB^d;0DS z`T5PRPb%kdk{`G99n$T0Te4(#qYkN)?<-zmGDMsVxkl%zhn^Nz_0?60{PlbgL87hS ztBcCbu0Z%e7$BAA%&+MwVy)6yy?*Dg%?QfscPn?< zrBso=_C?x`_vkD-P}r)_=+}OLj?sH7xyQQmt>A0(d8V;QEtSHO3|YwWWs| z{V_uqPD)w2-_019m6bdB`+qT8SpA}pWr`ycWe~H&H4tC+<9JL6BJb%+Mdv+}f+dFIAcm3rkXA)Y zoliV#+!vFETgtzS+UbEtXvqV~@esGqgGy3+@Y-rfes5)SN#mTXjjr*I1rq#3_+U;G zg+V81Lsuoh`x|TRy?vjBB+rkQbaH;Ul#8i_=;-5V zCW@?4=OV{gXlUWjn@rDG0&7OKUN>>no;V)|Ty53ZLk5bb3msqC+^7OE=`~tID+WT$yBz8_v{Wy{L(mwH$ zirZ?z{6I->DD5x4JY5GO$~oF*zYBA2UhipMc2DyNRTb4)p8@mQoxpZhb3ZgJBdk5FxBtd)GopTXzdDEWdJ}5FyOMz$|Q3zjh~v<^p2N zV!F8;!m)qPgB+lz5hFFoi#gp)eDN(<2pO>Gdf7=ll=1h#D`BA-6c@&Lx6(|%_ze~! zPKY#3k1^MNDSlC{*U*j;KB=S2^QJA+)4$`rPs;~pePfz*24o%3^m-=bkw?T*a5o~M z%)>W4z~en@oT){Lb%=4Zjbsjfuuq7<%cWZS263^#$aiVS79+EQKOmXcw?QiAua99jC=2SFhb@(YL&G|#UW5c0f=8+pDZ7L%`fb!@eZnG z!}jbAPlS2gFjTU%f0{2`0}FPfK);E1L^5DPB%HvjU@`u z^NrA|*KkqnPcvS}iGtR;7pI|h_+H9w?u&SNwhpjy6OT~F&Vq6r^IN>CIZ4k@%5kw% zR-+>ueOw*$ox%7`+ykuK&$3I7|4NLuS|80ydF5IK;gHFiJm)!YnGEF~Q z^yL#$j#r*@siWt(`;XI127Ruhh-4K;0$Kbs|9EcS`a?hP6R zf;anm6=AQTPnMknn716L(r6bg;gJ<$D`~KZH%)OU0BK;vO$IEkg|TYw`0~;8`lx2|BY`|E*#&GgZ=FApw+k3Gv+=Dvuc3Axzh8=x~O67_49% zc_?sV_)4LfV>U~^%}Cq(Eg;Td^~C)LqOunaoVEC?;QeBWQlQ^Bi6nJjAoJ>({Qn6- z{yUHQU(WOY4X|X+V+F82UYP-5(@Z<;IfKoh-)gL9wx=m>#PY&LtE;OqIP$dV_Ph^7 zYa#hYN&!wyASWlM!=Yp{-|lDF?doM9%+2{M3Wqh}Jv>LcXjeiL#qpu%?$GSj=$+gJ zJvSQM;g0Z?D+#XPOFV60_nW&rJ0Fc17&Xja-uHk;L_|a~GBOsO38e)E1O)i`2{BL! zC`Z34+_WHy!%iDbLez5{4Clg6PtAP?m{=Z**E;mKKLqyM zdD2ocKT6`?G~-4*U;OTW7a5!F+vuWhbS~JvSyJ}ZifMAb4b$U< zuzztse;H3ZH2;*G8|b^SdgM!Dj!H8+vYN759H(GQ4H&F-9v%B~R1KhuBG$Va4(hfN zPnQGWXhSLl=J=sJEYA-|cEpNJvN&PR!`~8JY!SQT!)bk*i zbC#?ElI*R_^JnX=rqd$CT5%Qx_dMj87WMkraqGJpBIC%gR|$BvRlb4qcT<@wV`G-8 z3=^2X$ty)=wAYxJH-6EYE?eV+SFYN0035{3Dc4#_;YZXM)F8x<&EBD&Liz&0##Z@@ z$(ij)OzoTDGO&qpNvBv_x>K%tmYNC-3QGs^j@?|<>8eyI)32_GaB*?{UdsUr8Dby+ zvNhE?mb-bn9e%zT@P-xSL7bax5Ti)^K6f{Sei|OuZ3&_Pz?>X z6WWo_oI}CzD5C@_fby`>qD>wy(a2_B8s|oxM<-n5<%h8uo#Q2^+kfoD?|;8e%j2pD zJwr8@YB};>hJ!7IjMSVC%F(fkvRLr@DcpB&{Ka7JaIui23mxUGiF~{K0f2WH|Mmh% zK(@Zr?|w1(GS=V)L~yBh{j6m2v>@51z8eUABp;0@Py7r3R66utj*Ao&6hM;vz~Gk* zb#VuVk`4Dx0%iR8!9LnFL`nVvSn&PD<|ZwGKI3Oz9*JQ##c-GRz7}IfY3BIYn5vo@ zDk6feu9=!LF2hSNCEu&L1s|cxkF_R=aGass3|Xw{O6867acYeQO;%mjVrDNO>G#dR zd|5PU3*B`<*qyZRa<53Y9)+U-!+t?()bDaURESNplS8i+FR_ME5Z&^4l@;<`9cJ%Q zI-;IW-m0;3eKfQjw}ka)F3SVMM|w;wEG!I+R@V9mYIqJF9_r`kpPQY%=GuHtME|Ek z%fZ8gyI>4aQn=`4y5zDV>lm!*pO9$)=ztG=E#8;HnvL2EYPz%a1KiPQ!!-oyj&G;*zkAa& zmvQjU9j3@^9HuI*OwGY+>gvDYf(&8tzS;!oOU^S&3vm~SuMkca`rktCjqkl4|5On0 zEKe>@uaI2UA@W?8MnTY`(uz_;!{Ybo(tp6q3o?Gv19VukocV)xer3f<_38=;gP-mw zsW|1%uJ~}a6yCC&1sa=8TvUAD4m|B>n{oP_ZOi!5I~J7eNFl6%)kY#JFUbO+9z1W3 zaw@phXT6CpAJ8=Y)`|#>RH*5Y@jB2POn2*)rW-x~NUuoV|538{%LpxU9F+2RDE%G& z<3_8-+Fyfec379^>G(`^@)H{qwhtK|nSM}A69lv$D^v&?v9hwtw#lpPYHz>kN23CP zK-5uq@q;3#J@9CxQiT>gN?z9owPW82_$C88f>Hty{@C*#Ql{g8ty#V`_l1}R+t^x2 zZA(7s?TKnWhoAITpwcz-o%gL!j=9Azp*;D=C!L47TQ&UO} zIM7YpQPI9h6iw|Vt&{=$Cglq>2$C~6AAUqdRSidq0x|*svT5(ApgHw=PC8kA%jmrp z8WUb(^wkK)*C-KC_v>#(-Fe};j2=e=_#!k>$dUb%lbR#VpWXh(iwYoyhdJbv56hKL zdJDta+hcG@iHQY0x8o`u>JRaxZ|?p{vi=*R)795bq2*69JIBwD9{iQ*9}#Vm!I9EI z@sNEtp1O;dRX3X&%b3mc+#wJ3zCfUrG_slCDupq$t?>`x`$%-R{H9LPrp{*P+9F}> z*(rx&n9;S^QqNH(OoYwp$upbzoO_2I^du2ygH_1tq z_gD0Lf)KFwLw+g2!CbrEJcZP49w~Mh_by5}HNWKphVtXX!^>H$gn3e*)7^vkWVa7U zby{9t-smmdmGMrlpZL{FGbG1QDal>kYMKRpbTN($ml*)+8o&3K1?)v6e-0|70h_>rXgN<}B@WC3w!P#Z&V5tBih zjp{tI=4}lvO`+u-QZ|ieE--=MnB?y%Ix!xqWNuuo1G6Y?1j+Hy;V~}*B@F;M7vD!_ z3+UjJC8*h^l0`>s@qq_o{`DPj!(RyJP|5pG%#*u43XKZ=fEx-ZnhprSojgN%ictY> z$cjx(F0I)(;gKZ-od045wmm%+$73l~O-nSEKs0yd%W;$CL&KWMBAX7K%#Rq%xpFHo zP$Lb0nR6+VV4${S_W$Q#%M#gdp8cM9R0}n-A7sPzpTobG{;%8cOBnyp+r>yh&f{%! zlPay&*SF)T89;fs6o`$i9@ygZT(pIvO zS*<6fzTz#WqZL!0n|FEV2$_rGudA}J`zF_xJJPCpgNfhC|)mZ~rM?0=c?~cIr1k;LBryi5}K^ljo;h&#{_{IimVCA_eu{>q~+0o+*O;Y3yRb=iR$BKR?F` z17|Ix#Z_qjZ;l-UP)u)oD$9>Da8A6U$NdZTiaBnJeI)-Tm3Kq`f@k{zi9P1gd znzS`CxuW9x;?S-~WTfy^jwGZVxxOo3$LH{cNKXzh4v?iZ=I7rB92g>7VYQLU!}JDZ8ChDq z^{cvjNSm!Fni|3Dag_y?_0r|&xo16tbbwD94MJhE@kmiPIGXEU*#*K9jW#+1x2C$V ziM%70uzKDT55XNJxYh_X$da&wspLc=H#da`)b4J@mlsDQQEYfQx;b(f&X6RRIRKd$ z!MEUplL4>|j6;iTG4sm|2=L8coqm;cYPOOF$V{XBGM=y}KFoNp?B|2Z8I2e6jC2l& z^*A(f6`!yNV$^44Uw+V*omka)TOFRj zM6Pdm&|?1FU74oKyf*r)ATXmmU@qPZSf2vc3Eu8(;$vD>!NajRIVr#)lYMX4TA!5+K#kkS=jH`o z{b{;VX#Ar~2KzR-SR6+>%>IzG)oP!IG@8;ib=?60SE@SCu(xmf@|RMbMZdXZj-c;J zuV|XzTF9*e%Xw#g-J$T%UDpXAeIF-zqCIWjW$!RjZAp$ z&k2KxWj0GveGvd)RV$BWx7DWhdYO2qEqZSisq%Uq-!24DoZykeD|c{34&4gG9_IHQ+mL`19w? zz~Xs(-m*z%n(eOBSCZR5Vz8@?u6?^0Z@8<@yjOEg-Qv^8-C?XZ)@xWQ3=cN4J)}g6p8;e~dppc&+ zl(S`9h>?pRC4hP~{v$m)xh1Am|YVq&VDcdI=c@!ABS;A*4S70%4ca1bpSfNZEpqxuHb4mc=JH zijIwq8YFhgZ@;BwZOLrvW@jf%qzZlF9`^XR9>Q2aO5#@C13qz+PT?yebC%NHM9E&j z3p~=n2Tw+ScKGuFFU#=P!U}J}SRm{J^E(ccPU?is2Jm%Vc1e(;j-Ht1k*iV3vORx6 zR2rO`@!A`&(5lg@(c#Duo3Lui?Dwb9c*j7D@$z!pC*l1UUZhg#kWgm8krPmyLmv+x z<4-@5l9P)BJ!p&6m@+%!Os{^IZ`7ng~#%J8K~YgrK0aOMcR14FlIEN%bKQQHEHs6+kE$|zTGJ)!Dp@wOydh9} z>Ip-ruT3D$ag#qZRuV{%C^vD57cXmUTu@uPwYBBe_slib9+I`M z*v`R1dGt>yR@OKbk*zv3kv`SWf5}GYKv9vE%j%p1IVA_S>3NBMEu?09-$yqUs8((S z;WteHa{g@oVKLz{Q#%_YgS#thNEjep(5BRO;xAIXHRCiJIB*TX)y$T|5~w90I!~ab z1su%$;>*b)NN-GgdFK2jo4o@M$jE6L z;N>Dx01m)!TUMc>_m$wmvRKpW?;dT-e} zIKUo3bu-oc8jt-MOsL1#BUH6m?bjMI%cIqH8`V# z4DYXL&t^_&9v1(8<2mEM5;%K~h_n@HdC-zNu09UuyS%=mb@b(qwNeSK*p=?=Pq;1T zV#cH_(jvN#7BA zdd#@$)J2Ta0nmOnrCU9QD1j|5mUqaIC|)%Dm~Ra|g?M<$&-93L*uI&^$xZELo}YYK zqm7c)e20tx_+4C}u(#8gSzQDhC`Y0|4yGv06Ilu{+G^LUbaOEWJM{K$?0VfpKIU^>Amo=uws zjK!7y`X*O$8e!OjjX-E&dT!M)P^_D^`ovUF84{ad*@A2DHb%w2Wvx2-LxyU|IL2~&z z0$n(%QHU3Zl|N0yS>(n#&|ug+cv5J~rQFAuFP?{VIC(ShX!rWCxW_ziH|?1B_U7oc z1tkjb*4F*X;4x^PBY0|*Nymuea#9AqXIx#Q@$nF*Ydg%J9ZI`c*&gU=V#H$RbGW}$ zvnC|4rbBkNL%?)JJszB=Z3qDK6?E@m(wr(~x7R7A1Qo3zztg7U3ZZ!;|N0S!e*0y; zH?FGL+nQXo?G!UOW%Y?klJta=3}YAyh$iK^V>#qy(Jo6<6?3EC3aO3TAu@a!Y%`+b zI4Loam0_isD{3|)^b0}e*37%wZ+I{FkG)Il+p(z@=E-J)!KRgM!8K~%j#pOVeMLyG z6>0lh8)0n+L&Mm&#^@7D3Q4ErRyXUS+>j*%KOH<@4u5BcimORkyNTSa;|+30VCiu2 z)2y{)Y9+iq&QHl=xU`_n#L?m66hG@^UY$yn*cp!zb;KW`SaUz9%=&dOp@9WMT)7PxApze%P97p|)J1Bpu}H zhe&0?aFR|@x_f#42h9BshWq#Me5ik)x79P(+CW0t%c598oezmK=^G zaO4a}@ZgTjJHJ=;Ue#BxUe&*=c6VlXw!5c$rn~1Cr?00@LB>c1004!ihKd0I;N{}l zo+S9VyWZM1EABz+sbTI70Jl2-UU;AQZ!rM?9kHg0qLKe+6cVh%guNs_c)}`IoA}PP zE=GO#7#6ueLJ~F(Db64yUL<88mk5$lsXcNlnv$AJM>6ugh+P9)WF#qqf{jBb z1`XFMLLB5+&*8EbNv6IZn_5v zn_W9ZnS_+4kV#1+{r{QSzlY|eKnh|kk3h{YMADZnnaX#nElMXvv*u8ts0!Jr4SD+j z-^$Bq5;;p%&Dtot6cgA4WA;)FX9els=8rmuuIXz-ZBa<%ni-dhFg`%In_=5SaB*&G zMmh_wS&DUE@MR=hJSm8HmayMRO)@qjDRfJey2geKh`Vt$z!^S`^q>?2+Dd2M{FOdY3Ii1Inr~#p~28c=)oo!EE?t@>*HMBg@`rl z156DA#KPK^)zljZj~Wmd6{jKqNMsUshCXa6Hsh4MJx1x7DU3NvM^%x6)5@+~Nq}c9 z*J0Iv|7qlZD!N#maRkbqcVW2YA#1KZGQU(-qbIv32z;e)(#z`of|K7ZajsIxxvw-I zcna&c_Tp0~)to_0Js)?g0X6ro9|_4yi}g+LnJ)c)kUB7%G5AMvV2UC#-pzDOaI3}= zK2P373jIJWJT$C(O2ZpYi>kIz_fRvdu(BCay)Ye|^x>{-WAh%iisToD8yGeXn)Z$x z+XK(uK*(6B@>c*LPk|DkhD6=~d}>^+ZAmJs+0nXED$=S?y|xdhmQUa|pBo0tnR~i7 zxKSNPG>-_WaeSWs!dS1Q$XU@)_qP0bV7Nt4dg&I-xIXhdkL^;t`IUcM=R*hcI8E>je0s0a$ zR$ROS0_CC^B=$6yhUApSNJIw_DTl24v2q?1THc%bqNDNy(UePCCLxJTjHKkSfiWy@ zCsc?!UcsH662HQ1pt9{$WYa#61mJ-g1Iaa|q}fOcUsP8Xpw)j;u1E-!gF<-VC=wfa(9=DWSw7hwgy|w$ z5C4fIE*`{-`q8)tUg}l=@0-6ANKJ5X14^b$JGv4ZvNwVEWJCSE+1$rx^ALDAz#5X@nCMKYq#|-SteQf-+w^oUFzGe^z-SNB_M--zNhg ze04e6+fY;5&->Sy{rJ@JFae+-K&5?yAX&$G)|dm(;Ghm?zUe*QZ;7Pm1cT=CSP1}q zCn+{OO5V5JJiy|c*ZL317VMnkM=0~`dHUvbby5jL%F|=G2^6RAMG6gs{gc)Rjf12)@ZJMV zbw^Hy2L)dFCN@e%>(LFs3jd=neL|Ogg*Zc&1w^#v5-o1q3i94cbb3xeMafS`R{tG8 z95Wya=o?$t)Hi0pzt}kXdhU3HVxBVt;u7jL zo6TRP;B>tI3iBMFl@2rK2!!jK_UAU>lm#i5sBL!Z4E!!1@nEeM>#E=5as$B*kLI2$ zKUhCYu8CTnsUqS96xyf2&6^vYA3w9(Q{4*J|Gvg*=qur0GPNQpEJ4H@uhW&T8nB)@ zPINIi)o&Geb8wiz2>R&@K=&}fJCp@jbv<5(zOgFhDm#~cKKAlJ>li~iE5Y}bhZi8I zJ!eYPlW0l5)J=WllapCFB&b$6;KTB;t>Vir6{YHj@yF-25V3~)7%_FN@ydOn#>bkev(u>YSz+6 zjH|)U2GW`EwCt}&#UDAs4N3qryG(y_(mTq+FQd-lIc``@YUKgfdr9_oJBOlBK)dAxT-z=n(D36P+ZgQb5uWQGRqVYeDo z8+d7Ngfa0bk)Wbw{PqrndUpQ996YmJMMi?EcM)fdQvno&(o9WE_I&(CUccUo#?)kF zFvN7URSE#HUCT*HNoQwg&3m+R zqn>F-UC6pYTvC!4DALP5TN4grASbFCO~v_2&+m6Hwd&+YJ~MwwsDK$uUHQFU9MSuL`Tea`BjE%_B5meZnyp!tz zfc%xB#18UUilKUzQWtomX9N1F)9>-Dc2=xbSMud)`q*;) zj0S$1jsRiz+1X5E?@pS}st5gR%+0*)jKUA39`N&nU0#dXaYA6n=Nwm!R?l_-;d67o z?+Yk^H*Je!f5|}P?tlOk4#)b-N@NW_uL_XOd70`y@0F;b@_~aF`thFI?tZb;rC4oF z=$RVjljfV%=kd87qg$BFlsg_AqVk-ro_?)im1+f0>C@2Kto8c0_yF|Af_u#po#ewhj=H4>iC2zF4{sJd`Nv>w;lgN_+CVo~6ke?E zBR6q3bm)~FGvq@cERQ)H-Po+Df%F>g208;_71SS&Ap1D>k1{h?iiWN0E6OcAT??%X zMqR{_89{GxOvD)z3qzu>Nq;k?30ZIN?lN1`B&u~RmCvG{n_~tt#GHpd+nGf?!%$d^CR;zOheer4Da_FjKw?1ZMmyX zbh${V1-k8M9W^pUCyg{XqRV<<*Dz0-{yNrxppzOiH!CNr}_4U%;yn^Qih%IIY2552d^oVD(k!Y}kr+|Xd z&IC}eu2fc0yXYamV{deCsMk$dkPP&5b=UVwaY#mg3Xw@Zwpi^aI7A;@^|sQ6`}b0X za&Ua62dOPK%KSwd;yX1S@HP0BsRr`Zad5U4m*IGJ>m1wddghiv1h?_d+SO!(Lwui> zYIYZoE%_O}NtUn#20PBn@%5{Ln;iU!f3w??$|guil1~FLm?$oo7HI~3F&So6VIMUK zlG@}*G;xqtaBT9H`uW-nEMY8E7gS^qsMLh)q2=d4zf30ZWFuanT38r(UNwsvLfc5> z4oiYSt`b=RlTpkRk8qSZLo*m5KJjqOR(+j`w7xs1pDx)lTkg2WQ8a3D-0s81W}iuf z?36-?j-6K6}>-dW``7VxZdlk z2dgR+%}h(xETVOSLfSmv>T&=^yRK-n#g~aeNZ+#_G0g5KN&}^z(SE9>I|@0tMU8Xd z76W;gJz(UJrS~zDR1^SQBW&;ivVxq;K&t&oO=fdA%`ZalR_7Nid<@7Nl%ziCW%yRhgnHmh3HD}<-dn2g=4qqVAEjh*VyAE2v_iBM5_9!f>>1^|+^ zbnyT}=VsDyqv;hVT#4hh_O6y3aT97ZzCl4B>>S|aw03oQeto$gmb>MLWRdn--IAbu zF2l_;mBhexy8Ov=U1>83IIgE%0RJ-Zi}&tSS@(kWH+D+dSdbE{@G zQn_9}qz)Iie(9Bqx(B=N{7yOHQ>`mrFI2~IC($dmj@XJVVAjZby_bgSC#QoZU|=Qm znlL0mPovMF+8OeZ=siAAB2h~b8)Q*!5F4_T*Gr!waeXr@@;e7Tftam||dtRw0F`sV3;Hhb8 zwn3;GE8CCfA0Jt%Vfq)9^8sc0cVePbh0F?t7H#l_ZzltMB3MlcWuT7zoLt z7;obpv_y&SvktEuo)81!4uye#b{Ba}kr7KKvRz@4@V=RE*qOi{idOeey%y?a$q@tu z&fN5QR?sRv-$#9u60j-lM&cmwU7@K7pXp0v87BH+h1FDGOV8asn`Q|%w|f~J_Xr#| zGKmxgj9r*YE#;dg?Wg=eFLha7)m*0Z``p-F0%)K^Pi#`8%XChZ9_r~pDcr3m8wPsQ zJ4YOD`!)uX^A{dXvV@c)CHnnJy|goUXO}u+u8-ki_dt-%2~*n;db}cio}8f;mWRy$Q*H&|3M}6$NtbJFt`rWh=MK0#sOFg3Bd4UI9sB_rW2 ztIJ)|nPe-?s0eDh8a&=wNUf+9;=F)=Y= zPu6gA+gV+86rktl<>lq)@4&@h>Iv(sCJ(p_o4yqNQ?{|KqrShSCB^Ik28W>sC0lXu zi=$}9hNzHIBRPVCjz=tHMM{X4>~hyxK4_=3_UiCm*t4H`mjr*m(YR+Y%%$0eo+j8{ zyvZ*Hx12^hnUhOZ-+$JS*Y1=rnDVOa*@0>6*@Pvyxl4qch<-)rjcSepIz=d*C^+iwc* zTJMjbZ{egT+7XrH%FSfYlPveF+EG;YyphnC+ zT`PyTtdQ1bQb zDmd)iQd6_Halhrfk00K2G^UNC`yof8MY*A8h}^3qoY~r}lp6)6?z;|Qu}GZ9k&S+c zts}7=I*>oE_veq-`e$)(CsbPm@uC04d~;Bo%CfrrS+WinP22%kB;VQ#SH;&Zgl1vc z!7UJia2$5GKi^Dzn`LpKR*~U1UP^WW&W^Dwb?4aqw2vSEsvz8SfUmbOBJ}HR?UZep s+*HOEJq|EbBBq@eQ~i(7HpDf7LVHy{?PHWZ4kraPRrOTLl%Bo$FDXEi1ONa4 literal 0 HcmV?d00001 diff --git a/content/features/task.png b/content/features/task.png new file mode 100644 index 0000000000000000000000000000000000000000..b26f800af86fb3d34eac4e05159d19faa79c40f8 GIT binary patch literal 13658 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 literal 0 HcmV?d00001 diff --git a/themes/vikunja/layouts/features/single.html b/themes/vikunja/layouts/features/single.html new file mode 100644 index 0000000..e7a9e35 --- /dev/null +++ b/themes/vikunja/layouts/features/single.html @@ -0,0 +1,8 @@ +{{ partial "header.html" . }} +{{ partial "navbar.html" . }} + +
+ {{ .Content }} +
+ +{{ partial "footer.html" . }} diff --git a/themes/vikunja/src/main.scss b/themes/vikunja/src/main.scss index 96f8085..076e8b2 100644 --- a/themes/vikunja/src/main.scss +++ b/themes/vikunja/src/main.scss @@ -171,4 +171,89 @@ h1, h2, h3, h4, h5, h6 { right: 0; z-index: 1; opacity: 1; +} + +/// Test if `$value` is a valid direction +/// @param {*} $value - Value to test +/// @return {Bool} +@function is-direction($value) { + $is-keyword: index((to top, to top right, to right top, to right, to bottom right, to right bottom, to bottom, to bottom left, to left bottom, to left, to left top, to top left), $value); + $is-angle: type-of($value) == 'number' and index('deg' 'grad' 'turn' 'rad', unit($value)); + + @return $is-keyword or $is-angle; +} + +/// Convert a direction to legacy syntax +/// @param {Keyword | Angle} $value - Value to convert +/// @require {function} is-direction +/// @require {function} convert-angle +/// @throw Cannot convert `#{$value}` to legacy syntax because it doesn't seem to be a direction.; +@function legacy-direction($value) { + @if is-direction($value) == false { + @error "Cannot convert `#{$value}` to legacy syntax because it doesn't seem to be a direction."; + } + + $conversion-map: ( + to top : bottom, + to top right : bottom left, + to right top : left bottom, + to right : left, + to bottom right : top left, + to right bottom : left top, + to bottom : top, + to bottom left : top right, + to left bottom : right top, + to left : right, + to left top : right bottom, + to top left : bottom right + ); + + @if map-has-key($conversion-map, $value) { + @return map-get($conversion-map, $value); + } + + @return 90deg - $value; +} + +/// Mixin printing a linear-gradient +/// as well as a plain color fallback +/// and the `-webkit-` prefixed declaration +/// @access public +/// @param {Keyword | Angle} $direction - Linear gradient direction +/// @param {Arglist} $color-stops - List of color-stops composing the gradient +@mixin linear-gradient($direction, $color-stops...) { + + @if is-direction($direction) == false { + $color-stops: $direction, $color-stops; + $direction: 180deg; + } + + background: nth(nth($color-stops, 1), 1); + background: -webkit-linear-gradient(legacy-direction($direction), $color-stops); + background: linear-gradient($direction, $color-stops); +} + +// Features page +.features{ + @include linear-gradient(180deg, $primary, lighten($green, 15%)); + + h1,h2,h3,&{ + color: #fff; + } + + a{ + color: lighten($dark, 10%); + } + + .column{ + + } + + .column.theimage { + text-align: center; + + img{ + box-shadow: .4em .4em 1em lighten($dark, 15%); + } + } } \ No newline at end of file