From 873e710431e64b27242a300df06be9090e62abef Mon Sep 17 00:00:00 2001 From: peter_rabbit <pierrejarriges@gmail.com> Date: Fri, 15 Jan 2021 16:43:39 +0100 Subject: [PATCH] feat:education page illustrations & responsive --- assets/images/popularization_banner.png | Bin 28116 -> 31522 bytes build.js | 1 + public/education/education.js | 187 ++++++++----- public/education/index.html | 1 + public/games/games.js | 104 ++++++-- public/games/index.html | 1 + public/main.js | 104 ++++++-- public/software-development/index.html | 1 + .../software-development.js | 104 ++++++-- .../education/components/game-studio-club.js | 52 ++-- .../education/components/popularization.js | 25 +- src/pages/education/education.js | 2 +- src/pages/education/education.scss | 182 +++++++++---- src/style.scss | 83 +++++- src/template/components/navbar.js | 103 +++++++ src/template/template.js | 55 +--- src/theme.scss | 11 + style/pages/education/education.css | 6 +- style/style.css | 251 ++++++++++++++---- style/style.css.map | 2 +- 20 files changed, 939 insertions(+), 336 deletions(-) create mode 100644 src/template/components/navbar.js diff --git a/assets/images/popularization_banner.png b/assets/images/popularization_banner.png index fcf5d7f57af41938d961100803ccb42b913a090d..5210d5a77acbcdbd31fbe11065baa56bcd0c3d11 100644 GIT binary patch literal 31522 zcmX_ncRZW#7iehF8r5YLRch28HEJu>60<?X2%1!fS-VE8R?XV6N40_oA$E+=)~KzD zAV$9>_Gqn?7&rah&%Mv*<B#`^^PK&h@til--1HF}^9^PI0KjHw@Bjn=oUaA|=wvQ1 z(%uyKt=rKa-oDh+GdI-JyY<T3^Vv%`X8_<%3L-_*;H&xdC^L&LA><|h%a6aA=S#)J z-E-lHGZ!3Vu2jov-DA&D6c(3BjCB3{xv;DJO?)l(5;pSI-*dl~mWo$|MCLND+jhSG z?~m3{%ku9zMEFRV+~C>`CdFChAH8q01}oz<t1jG%y!`G;dbaa`A&8l<?`Jk^8Q@hw zo~JzDM+e5!(WSi3;3+X_y|2;sk~fbM`>8@0)4ALU7lkJOO<9lY@yv^tVbQqj@@#as z^DzuJ`5DMmn~J_-cBRMCq%=fu9oH8aUkgU#CNvLOz6K(kv)Ak1C3gyC+`9iZ@<v}- z$HP4T{Oc?))y)3>WrDUpkcqN)mh+bSz|2;&&UE%>zP6q@?V1DV9-VLdy`i29Beg7w z>xsLFjeCRFZvADoUv&?wryB@Kb?|h>-M&@BW^do9<jmeQL&sRaI+YF;H!!+$J)Cm) zsDy7MjAaiS=;NBdut)c8qynVU@mWyLws^y@Fd$lO`M}f6HB|dA#@m1Q0UeO07DkxS zqX&R9z!FVE1|$E`-ducTVB-S-$lU(-NB0_~?N58j<ZEc6&qStUzbJnGQ*q!w74!J& zLwxl--QAr%d;xmi&QE-upWX_1>HFf=BSRB&>xfHS0KhGP;e-2@uctTLv}5=U3$}Sn zUGVQ-Cvk3~OJ?s6-0<Nsw|=iv@Niu5TZ$9J;y2@>qCI2ZYleV9rM-m6|GwOdY^xZU zedqB=u5N6{x2n1L-G7O=_b&>F7S0+k6k8whvY>Voe1z6By?%u~eD-kZFeK`))zhWk zgoK2cguhD^N_<zl=Gn7D(mY?;aJ!b(WM~D;(kXWNB7b2}+YHrsmYv4OzoqmB&jMJ0 z<LqTJlZ{uO8cXypuKfk(tN6BIDJez|Q5kpt@BdxC4KS|)$l=b}I5*aOUp_Xqy%?Bh z+5;gT4w&|7$YfO1%tmK>TAxBGh2D<v0BlhW!#_YLsr!eN6efdrffJdys{3s@*8IrT z`O~G2!wsLc+4MQbJJk{vuaQE2-W+D=t?;4+?^$uW|6$|~rsuiqz_=T>WTC2^^+>Zw z3m-u*nHC~Z^t&ei5%@voN6Ck=92hB|lOd$GHNlMxuf<Ydi8t9(nEnT^6MOLk3pQ5p z{DU)RZBFk3_dZ0^g~v-;KXj!LI(GzoD%5GHt(@=&rHn2Vt0gU17+Iq7=<k;<u1o*m z!&g&z6BYpbSqi!9yVc~bdK2*&pZ5%y%ZXeU=B#3U&V5<FX&v7J_fQ2m%>4tHBzQ%+ z!j^fBmJ$uQ`vKiUANqZa0!uW)RQzw{cC(zXqO>I5rBEGa2nz_%_!xC$*(YCHEGsWt zJD2odR{rIcOKMKEZR(9>I`#_V`6Q>ixtAaciZY44dVODjb#!Z<#09uLn@^!LT21a5 zbZvbaI=r5{TRafm{QB1W$BxnG<*OxPW05s#PAjj|p2i9GhY;)Yha1;EtOq^2{X4~{ zUQsB9i_xBjV`*1r<;Y<fsyO%u%zC)!O<K*FpI#eiNOU)<99XieY}<bR^JqmI%x~b% zBtp`4+;4hHy7_6dXEChoXxcjaL&puBmr9+1?#SDjZayiNf};b%7;lc3JFYeZMzFqq z(R2U9QnD*Ec@Xe@WFa40tS2>P9-01OXrOBQH<}7s-)b1<uy^Sdr&t$J#Ze#EK$$Qu z!`xBzbZ!VocXzqwGiw<%=Z_8;802(|Mlfx0iw(7F_;AHccPnheA4^ShY&Ix==*UTd zN$Pt!dt@5)Hf|puz0Osltna>+YwU(ZvI+d+L;STkM}u{uih>aZvJZUaJPh^N7Pdwu zG9ir}T0LJ;GZyeL-i0=WjQ)!4zgp8TfUQdeY7Ak>v3xeejY}kgo<#(*vlfZQ+{u_O z7@Y)Sf89IK@pLJM_AYnV;Ksygo44k|k_LHHetQ&q$d}xp*rZGKPabaY^-SX_4&L<> zf_>*1CLYi?XEtLsWFBxH(%0vni<;aGP@Nly&Sr8vb&GKy5hqy;U(<cbh`8`hgChA} zatQF|jaLC105E`1U|74ekp2hqB7y6M${x=;^O!Z|$iD7L;=bs0?V)<v0IRMn1lk7& zirDg@))UsFJWaWp1BgEBSJ&MW4w*2Q!5cTTbl-J35QR&1pQd<P>5&5Miy_RhoJY{i zOY##|GJC();rs8j4CNgU$$9KNTIasvM5D))0N?2rYk8>Wt{BKJ@MRWdaihhbBG><d z1Z3_b{A5cK-`azgwHi_=>#mY`GQVC<S2F|qrYMozEVBGs-luu8)l8}E6o$8#5iG36 z)6EVpgm5&(^FBfA{3$wS+ox*H^0}rf-mYZ?jGO^<f(?3qq)*G781s|6e9CsGO5URX zT#>{fqVVM>+%i$5>x|D{eCYUM@;!)fIreEy8KGm-J1l_;Gu3j>cicG0I*xAW2?>n3 z2q|2@w0dN+a*Xf~#|5tCJR-zR?EjMV;v4qW@*})!Rmd)?3~#OBl?eBa`|{DU00u>s z%nhf9&M&1~ZQPah+M019Ly-YK_8WJIcfT%6U-M?jkm-QVAl!j9lYt=ga{4D7{v8CD zy1>n~w%i@{>ySw){fv0GIKd+CgPvr4@t)FCnS*BN_H9&3z~fisxqxzdnfhZRMsJ3N zOF^%d)46_TX9hhA57c~~sRr9v)+}xg^Y9BMO}h-7WZX%c?(;L=2bmzcvWCT#2zIN@ zwqJd8BBJOeCA%}?Ltdru;pD4e!>$VT@;$k1+ShMOy-PU||2lAj-9;&kHtcxYICh+v z{|vPz=n>7H><sQ0J~_=EOE{}ZL@1ZtI(AmsTf1jb<>=ESdSY#_I-<Pv$K&_=h!9}x z^?f5Zd+EZXk_U+R$E0B#JGaCuzZITK;~DU+#s}GBU^8#n(NftDUHK#**snoyenE4G zl?!xJ?d*n7;w|P1APo4V^u*qxuxkD9NT6=}`jP$zPti8lih4n&pGu2xUQsoY10kIb zP<OlF8b!Bld->EAyg7g>SR7CS85EA5-?d*4H>y`w{H)x0Qq+<2bM38#_3PeumcN>@ z^M0C+1KZBa$*E?&u%2WKT%U?v=zyt|va+?Q6mD|2h0uKjZsXJA|NQnvmiNJUA-c`p zqQRo)NPK&=-SA{K`LKLnO=(ZW=~zwv-E>|5N%5UWx{`HlMY;we03e|S2*nsBV7a>- zE=D;D49h$h8M3AJ<RPalEH!X(pJv9dE+5}CwsJk}^WXUMrj`9V<W9#k4n5a0Z^OZ` zl~cWTAKVCf+30<&)fyh@u&=O$(d%9K{Q4SZ1gI=eeLY9+69BBS4u4G2FhOmxqDBhR zykQB=P$R_JZ2^n*=N8k5zNV_AafZf2{tTaORQDp9ILDJV*5Q#vKhR2$)Gi9?o{0|q zk76Sue%Qzs<n~h4{7+@gi<b7uoqh2hd!kA2^MT!0<oW#>7@@+~hC!jnS|DAZxJQea zmnGyQkl<Tci=EGe+%NScgEHsY|1gA*j;@K4NQY7bfAz4GHE#JL?=k%%3JBY8xwgye z!ts!FfTLn9$>Ui#k!X+T|4*Y)$dkDztCXA9=H)~goz^Dj7-^!Yc*gOgzia1`Uw#pG z-a4TYgkkizT73U!9Mvr=Px>oT)|r`&b&iXBs=j6wJ8xlKGGAq~&$G1DBI~@HUT6_Z z(KW6>;l&>SCs2Z5;YxhvuFMp6Su<0ObJy$R+sp*K`ybEYcAIVq!Rkpt!|Ka6^7S2C z_48&@t5$0S?``c2`*WoG&;GP7tN$*b)^6s813sMpEEjd8T#^e$yR!Qg$ZVT`TUOf+ zSR>1k)h=|uY**J~`rQrlnPn)|afq7PwqM0f=eJ@pAtoSFMk2x#J8yWPRUZN+zo6=x z_d%;MdpA|O?oCE6b_2UDG8_xP7!ihd{h(!^MFh><1F*Z@4W%;&o9os<tx}MT3`y>F zX_6Ev`dwcjE0G|$T|1`gj(D?CYHZyHBCbzY6%+I<X8U^9t^u3y!$q2u%^}+zo)V27 zcf^^=2|vGGPqS2cby3F`7;fQw4LfRiX(%VS9lM}A5K62<hwP)NuEwiAJt18(s#)bw z8!+%nHl{j3Gi-IiqR_(Q?0Y8tv&0k5c>glk{;1!jxqz>lxwvT`6OVDFx0e9U7ufoE zSids{fRI9ytEpllNxTwaaPspDpy$|48RdC#isX94(=9mtkJ8Zk>?1C$_^06rGnZF= zBYzY+JYtujLfkKjs8Iy7a3*NfuVB)D-L;1hl6!b@_R))?IP<e7>s6qF+{#v1VL+z; zW0%!G@?sC5{WRCNEDGYbVBE=4y<_J+W&|DD207vj^b=u<OP}JlJ?HTt4h~f~DqR^` zGn)~EI{(F)HIM;xVJ(mFs5AfuzPQV#CfK-SB9V~ajvuQ^r>>0Nj26~x*)o%EpX`10 z!kb^+eD#;<*mB=}CDx-xqz2}Dr4VWkZ}8DPY=JkqcyC@tp|?>Don-7y7JJapb>Jvp zY*TiYMW3SZkN`3OiY9sa4K&Px{h=}W;wI)6hApYZMM;pPLqsA=>-rIPH|Oxim-oKq z=X=t3Ou{afjD*6pvi=_R=F7;(#$-q3=hC}Z?BcKM!6j<FkKT-hlq5UJlYhdfdh&H4 zX=7Q2>v@bitYamP%7P-Wn5R1_P_3&HN=pS*i0JDUs&U5i2iK#(WvxE;Ge;F?O5Jaa zvRlm#-{=%NFH3wK>AdwY@JBSguid<)cxQkV9cRmq^*}Msa-&k_t$499zUDrI(%Exk zp4TuZJY!S^I7XVE<)Ym)WH$ls;Ww*o*%s4gX1APG8&)>SY+-v8k_+xcD{Z6Y^MLyT z_`?lM`>LzolzCug;viSBCaleE{zE~N)sIlH$kAB(Up;uw&l^-e(mgHoVZmx6_wD7p zuu?|KtquPc=?T7E*MX3n_xF@a5^PQz>H-O)aguhYM+Ls`L|475mwn6>9}6jiGpi(_ z@YigIe$SbWu*CE;ECzlwLpOMIQ%KVrwimT^`?`fB<+km-JeNE9iR7@kTZOqs-u29C z?)^dKu*&?Sww`W!+!an$Ty)2)VTFk<S@0F-0~UD%4pXp*y=NB`lH3wBmDepMvZF0x z#rem1*@me_<44x6Y(_tMR7Ly}3J2NHK)MnPJ^Bu&`#!B_zLmk0nyeaGusK5hdZQvY zrRxhWjXS_apDG=+;1B!Tw#R}VH_x(uzvODClq`Enf<DtYJIvI7e_}gGG0O#5d`&cb zh$_K#CVt6~9=>ci>O9_^zPu`gfgY~Af@~udRSf@{yYcPz>%<9RCuGCK9kK7Y2gVd3 zK<V5uI4oV2u-lm|f=IT;o_05CmLU9~-#)UFk(;Wh^k~d6ybwO%5{C_yY9vHo_l4K* zyRQY8M5-cf*klf%bN9uUWzotqco^J~GPlnYU{g^#hS<ZE%OieOli82Ll)uYY>#hol zeS&N#OV+}~3iTulj)ttIDY-!U!Oi}OtUp{0_ZgBg)qRycdR;L$%EP!@&f?t95M6i9 z{n(OhIbiyLeGX9r|HwKlx)hnSW&)g1k<*r<NwVfT{=8~b*9kUnr>N5lN(o@g(rU1S zJJS6$O0f^8^JhlOE2^qb=(5x^_$Enbj*|23JeQXuReC~^0Sq5x9uF;Yglla0vNgFW zr&|Vm%;{y^P(0T|H2%0$$1;ENjjEKy3mbiYs---S5?d&uZg^`yYhO|;+`M;)EbG^K z8Z)2HEr--G4IiD<VAWhTl`c%?bubKg>KK;#LpJNg+^wBMedu?7<F?n^!($-%>p>oZ zeARAQj|I&7{bBUhwRaordhRWYANln5EKsw=SD$$r5;Mw;G#Zb+O}$w7Kj!uDtpobJ zFDTxhfwFx#uWGK24%bKP6V?Z;Gkbjt$%|@XFM>Bh2}9$7p6D%a{BjlIzjtHD@A}Y~ zFA7RwsBb4@3ovQ~Zk8k3#Z{?A?|T(UR4Id(Y^a{KaAHw~#`K=gkYofK-&*EN?Vn-C zM|DkH$#veCwAVBF)neN110O9m=8P6?ii!VzhR94T0<W(X)OVlq#*N)5Z@*DK`+igA z-Z;0p@wbkK3B9$@P*rpPg>)9OmgYuhMQU1ePLi3a=jo7s<b4Mx8>IY9qWxxX!|Wrq z%vTl)j`Vm;xS#m;<f+J*8Pc~jop`tK4a-vPh8=juis6bHWwK^P%UZ|#M2j3q1?TRL zm&%-2ty0`xDoBkZs$5TXPl%9(tB&oz>@@2wTh_1IH+JsBs2y4}tgf%t%Mqa1exq6L zPd9bXced{?+xx?tDl@ghDo=P%w$vEGeIMikF0b5pJFa`x31{IQ?UynnPBN;a@R6VO z`GE{x5f|OR_4>Q9=3kX1W?i)I^Pa|EYsrexU&%^uCC@x!wV9-JNW63V7C5|gQ^isn zoa(l-50_ED&STxIVWCa`x3A0k47BFzW}K-ddJb;vlob=*pP)eR)OzanLg=;<=fapF zH%a1ylE&?$Sshj>yNJV^oipcN!DAVeDBiwES7WC9+VY8pZV48o9Z;1hVUgsOB84Ot z!7NZW3y)ftCzAZ#nGjv?%B4#n^BzcCPo~E;C@BzqPp2t*kC=H*=cMRZcaiPSjLyrA z&XCWFh9dK)*f$CW3{p>*<$xDRPrJuM-DQifGe8n@KWql($l}HK#EPhUUG%I7ychaB zsQovq{EKgoHM_878A000D#hsv>$(p3F&7z;jCBO*ktTZz4?-Lbn_XzeZdt=ZMjsve zi+mqAx@OBU3dS~g*{^B|*XQ?~YALl7{F&BXI|A0&vm6f(Ept#X#fb-F5p)+T%#EWg zT}`h8C;3z!Z1^WbeB$%R#a6HW2nF@7P8wo8Q*Y)RN5fvDI)C!kI!yOz`+JWQ6@KH0 zMt<rNn&vDfb@1&+gu>?ZmZ}il%^ts#8H&B*ehBk6DeF{0be^!A;59G49Wl}qnU!?4 zD2V@>k0hCb^@6#zZ2ii}{{^;b*4~;<N>nnuv2)1kB~TRN*H$${Wv{O-5}U<u-lk|R z>(ZycB5wI;5bN6wH@7XQhg#Y)2jh<W{7!@iRNiuJp7OcvCT4BrO=ji1j~mQWd9q({ zX$DdaqBZUtN2_c0Fyuqk#rH;rmvfFYWwfo^e>CcTeK<6AWD^*s@Y=(;Li+BcN6h7& z{j;K=U%@s<*UhnrqWh0xq;`;)s^bvK0_do?t`L`Atmo*-EFkZ~%jG+mv<Z*c#J6bO z><p=h5$y5iy8dV1LMF;)=$0l*fVG~Ibw6lh8+4roB`TsSARW^83zXKMn$|QKf=^sO zqD~%N2`WUs#>(%@mm)efhDTauOSKO48~g<Cf=IzH`2K6I8vA4K*8WS~v8+95^-Ql_ z(qy`GDfrt_>gaH{$F@&I_@o?2e!2Ie<1LaNh_zz+a&7Zu9^*P>!yb-A-Q-$hjV82@ zh4>COx+Z^LMogcYB4lt>i{ZlHxfzH)ZWyr=WZSHjI7_JZ>jtpYf5j4w+_%Nw%xl5k zl9w=+tXbHTR~`glPu~V6#CyHRoH9?`-IfH;Om6q!3WHa7FqJf+Bgh0tZz=_}TnG## zf&+k#a53vZj{aiG%a+a!C-cO7S2v6n{2A(0M*m`R?Gfx^mz4nKen!lHOA=w3FrocW zP(f+nX5R8uDp{_3a18a98LEQh`}R04y-WZ)+iOqe2K`!WVuMGoKZgwqls7_mH_M6g zK<xE^U70?y+V|bY9wFP9JlRDo_0EaDM)6p$)!R<fhai}9bDw%c$Pwt_+w^%svH_Qf zzPPi^mQRBCc9z@)aZK0Jom$W@gum4i`3?bCUo|rhH%dJR{c6y8#|2KEnta7BjtliM zK=KX0#cm?*h)hm;dDUL1FfZyUiLMh7Wn%q;J6~sZI}k2bE2!{+bLVwJ$lGrblK`T4 z+C;jc2dhn*`bE?1x=zzX_?F6pwPLO4F^Hbt*bj5{gOoy?@U6b39r-3*0kX@5>yB#e z^0*e=G~y(;q}HfrRPol;AGgU`AhBWbw2t)NXK^I|viYr}#~2oyEKq^`RwVxE)1h5c zkwWh^Gh^dcb81rHSyyTXTG+&RGTz=>(CUw4+~P$9pXB3ti{61Oxr?|Hx6C76=JqSV zp4V=u-+bc4B$0X8+7k~%E`NsWF=^K`<0@(tK4rTb)#VXCe&&;8G)t%?X9hd$hOO>4 zjnZ1J>xOHHfwr6D-eIIshh>o2yC4TBl`?tyY$GU-s;weW6xvXA+(}>uRarDUCLv_W zgy+Ed=WD@t_Yqmt<99a#iZdLy0^#eAJWfpcRZtV3K%3Hy0^(MMz<q7}e(QFqW<8Xg z;fM}7@GBJQdn7H!`b}KQe>!a#yIjcIYsGTW!bJ`ebamR#JGyIBn>}C--Ky<Ptt=9~ zk1#U@nmABHhwx8L#ZzmqXQvv~AVnL2W{Fgx`sUE%HMN_oz%{o06sNKShaAg+$|^(( z6lG9M*ipT{YME0fsUNvow`LSLZiOCK5ocJ9>XLcH6EfkSk26fdJG57QK7qvDm134I z=m{x+&z~4?aUB$KSk`M0L2*R{(Ojru7xt;;JaaL2dmYyUMGG%Mm`g{Q@uP8H$Ntzj z0;@m^{RD$-f<Y;P!x16zvAM1^Z&~Xl1K1!N2?XDFd4g+_H0d4m-im7--2y<QPVOoP zD2$J9K9e|cwI;j1+$r&7fQok+t_fomV~JLHaDPu7fkPcZE*;x%PK`lGdLK2n<Fq3) zg9<ZFUysylrh@?#D|QQHZCg*r4Wrm`<N&Qm+&$JMNRuB==O-P7cY%gotY4c(@$uSv z-9?6mZY+OCwsN;1Oy0AuU=Zw;#uAm>8$i>=12KFYW|X-G1Uwmyt1g23yeDfx*28Q< zYb~ApM9{bJ)y6lfCxejAW1dHnQp2uWWP`Jq*(C-Kpd=BP#;X@*DOqnmG)a;74Zg$Q zQmJS-$#ro$^Gmre^_vK_JT?Leym4RQ2@WEamW4A=l*%}W-waM2`oal0YCQe+uBbPS zz+nnU>RER=SqIb*dWS$1D;L3VY_T&o)u$}{kNjalJ-uY{x5)EfVK^UimrEz8P?t1O zQ7?#;Fn=6xpMd&V(qjZZcAx)eOZru@eS+)yqvj0j)k#`z_t2*ojRRkk+JD^S`;)Q; zbBYp;LWnoss;!2IibJG0jn3k_V7NPNKuN4Ohdd%p(<1i0GN;Wru{;Rc+ig#_o(KL% z7_L=fmV!C`<KT_C6lXjQViF6)qC?WTk3zY_kTz}AW98|n>z1hAd3zN6Q%AW~ATsw| z$QM|k>U~>_s%nVT=0B)tp*KgM)&a!lXxnqWnKHytVUPza4&>2*r`UZN^v1xPP!bJU zV=$a?A`L|N?*A~MdaH`)<B8?>)^caih)@OppNB;=ZbsU}Yj7t&le>SrVKlNbC|CW1 zIdeK_gyHuxeW3TAubl+1GB7r$2IH7ZL74LyLG7j3iAkYqb6YY~YL&A>$J6uiDCl<q zCmJ*j&sA!gH_wE-=bb1p+M64Q&RAb+Qj)KB$!{euJzt?ZjmAgO*eQh$yP_%e4cbQx z{}Y2?i;M4BKil6qic7d&r7h1Vo!g9HCe(x_(+?E3M;H(<Js<kQIvL|r&OY}1e-Mpu z4*hR9wb?DI|H3fzRX8`~HX`;WwLf4!%}G=MV(@nJHh*=pv;1}@XtUH;U25Oq=GqA` zEP^I-h?IYf&N_<23f`%q7lAD5%*mm@?N>cq%oop(g?=BZ)|*HwS|i%8Yj38FyZmFT zpZYOLXQ>`(26WozLs?;YOT1GQNd*PepZKa?6;77e@U9_JTkuMf6p90k5MW2Y{~ww- zaW`%9J9<}^%j;M<D-e79>_dHHnTsYZ1<y~;{Rq|mq4j@dX6jY{xu~iXX2_lnfiRLF z8%>)qj}sy-nK^nSwSVcKnLwl(^7JDZA|2o9IVR95&kz{bll6om#@A=MasSMTGky@d z?^zL&p=N4_REyD#RT`G9U^P92CGv;WkB;@aNL<t%Xbo)G#%@>P!sY`I>(tj$m|J&m z(liZ`Qr40S$=v<eK|kgA_GLP&F78L*7Ro?=<DN&6llmM+uPrRvV;N8Ur2Uc4rTn=D z6Ac~zeEH00@0Hi-5Wf%`SwF(4V<&B+&3A?t?I(dQVU9<LNlNgiZA!rEF=c$Nu}vTw zh`+R-R|51lZF9J5N;9@eW|))7FP7igwx|1!{yUU6L&ao!CRvi!>#hmSJ6PwP1nJ!w zfWhHCh|vlEdRqpGP%@VU53JJBqQSa1maqSm7~d?aQvhDG3_HopH>z1Pu0J)R$8eIZ z9Le$rYtB%n?8!hRd)%8)!ic~7wnm}XmQPuz|Jo{u!mEC|0vt`(nxC1Iv{+{^(Y-1s zbL-uP@(dTvgok7qIhiZg2z+<5avDgZ5XUjJfFFa~HZ`c;c+EA?1JIf5;e%k`J<Wck zIyP5DR5&d<h0}Br&RhX<w2jaAG%=4lkR2Yo<roLwZpp}kq8yeGh0pDnmJunItlr(y znYN*h<!$3T<bbWTq@sBNQpT2g_v9GT26v+GPWfJ6xbA8{nd$8>b@i#+4r+U+@1*JO zSg`*FMOmPd=FiL(kjd*{@7zBsaTTY8%j}guSEwR(F6L^!6$ykL&9OgFv1}h3HNx1U zOWBcadFY;B0VpkZ=9E2LaJ~nBA`Yy4c_;MfXm&*4$}&j1R97qM<PR&&$l~u*H($c` zIJ_UZvCtP2<=ovRapf9jTehkm)#G5|N}7o+@z<_TF@T4~Zn&n(ajxFG&ZA1~eJEoH zem|P+YqdRJWXSFY#aK6=7WDa)-VC*<JL~@Vw+Hsv$%HNT{>)>i@m+mx+NIXdwhMp{ zvn{=Ggeu4BbGLjoidi}PCCWZ^b^tepgN;ZqdmH-;pWx3@Oo6urdU^_nT8?ie2G!0w z&OLTO&CbtkbBVBJEY~9_M9S-2!$1D-#qKz6<Q**pc6E#jXGk+<xC_v*{9A6S-dsT! z`IDl?$b@Q<!cS{Q&Ufp=R=6PzP1f+vjyUNmT)$^U79V2y`5JLMSgC?gMWpmQuN?0~ z2^L|20hMO(p2S?+U?I&-%JSs)0)hIqXuhz%Qo^qJ*frQO=|n4k`VYKH>)zhqiUV#` zvS2zpxsicpJPV4&6}l^GH~&XPcx=RL7pDz1mA%NjKDn)WSI6%c{N^jEmCL??sg2)c zeY5)Q)>dc7uYN`H=iRlSlOm)SeBROhkTl_|v`tFcYFs~IMV#T&+R=MGdb7hbM{fw} z+CHxHuYCEl{@*Ns58})ep;0F-JUC{+T5#?#-&>WOK?;F6F+?_9JIC@rIskya+Zh#k zb{`J0)aBxY|C*ES^^$GN8-`>K`)heR5sTaqH06;o`>0+C+OZgYHZyO&yiGlEv<uA0 znRz_l6n59W<zNKZjVBi3sJyVO48e0HrdNxX!d8}5IBK4`JY8u>vqMwnc_Wmv%(Ucb zGb;aEPQGJT!x0jTrmG>S0#6CDB6t9UCF3i}6Qx%5ejdF&B$%zug$e@P2`Q6=>kliF zh2luDfwdKCVf9^r8_mbvT4!U^!;^>kw!so7r`)#UR?V8G&q6>efn#&p#%-E|n<tuk zCrPsfJz!gp_*9&yO8w+I#YA*WcW$rV)@74y-RwY~3v)coY5_?$&VZ<eQ=J{m3|@_? zcGqs_|350%%A9LvxNPonUX(}f256dXZ1?nSj~wO(-wMHpY2BY8hIuA~BW`WgBMzna z74Ga)@#4-U*oqrRf$UI6*Qzi$ad>pt(_^^B(^+?OGhpLL`+$lq+2Q--)-97Xovu{h za|d&Ba<4usnAZHnAdb!ZUEadY=HP~Pqh!Sl`by459HBRlu=Xdb7;~!Kd2#?PG!kfp z$YdH>iEEu5S)LrIFrB^`;#%97N}LXUg~M<DZUX`9Pd!F={z~gwX49LOnLeJUaU&=C zAAt_=V=ZZ5v&gsbWOmuHPy%JS7x-=iKG=$E_FvQVyyovRWWUVh?>==(omRm7Y8tg# z2q_vW*vOFmk?lWYp%EY*_<LM@jn|zCAXn&b+dSyGuKsa?ibb0h_EDWjeWGHHGl6E~ ziGBjms@$F6wDeRGeDtV&`&gACIE<kVj(FiHjyw2igSOFSlR-}+wW<xl<t511|NiHE zLD*M`xAIuzwE)+=+I~@h9)5nH(%sFDlzVhivKVGpu-QP+hHa@gxB&%J$jivIcI;-2 zWwu<#$CJ!^*56K80MmmS<_{v2CNhNsXKTe;q{qL{{TGZH;wlT0XbLstan3y6d+c#1 z;V-?ND^wzokheS%Kr%>4VTa1L*#Fokp(#q@hw~YsN))Y9EkX=_d$Q&aqDTf>dQ_f? z>eCPlgOZ%l3fb^nGlZG3$gCAwaJHgZLft;@1Bf~6M!Gc$DT_iHqIT6AM$42@P~h2> zPY-yTL#Q>Mx;iA5awXtS7ry{KTwzX7yJ`3{G*9>KS2MKB{P4gxf7R0OW?5@~d#|b2 zQUv|M8CYWRf~hl@UYuK+5iH9wmf+(oQLPbI;qD?gUS>PQ^{IRjFj;=^aLRoUAqObV zE45rMog0cSV_H&jsR|}MU+br4#T^y(HMq`M(1;pdwt!{H$2aF`F9j|6XYNQmN<ron z;)dtzHKG%Xo=($7V?ONXdGFZOoQ|Ki0_!pfBzW%v=CKn}_<r4J*^_uSE3i?lB_!KY z8l%m?Fp<-`CRrHbm3?+TcA0jBkfz$rHu>dx0ywvy(CkbP{@hgMZnsfglIzFGEDyxb zZ1#Y&GEuq@b3X_Tl#~43OWeCQ!+-Lv`ZeGGv2W?t-6$`<0er~;46yR1UAT+_(b#2K zXhD4?Smj_h$2NFHy?bheYzNF%;$_GHVLCQVS|ua2I3V?zMtz7&ry`Y~=;LL>0LGbF zA2uTiqUk<ZJ49VRXnCf=UlU11wWFkH!x*Mn@9AB)KSzOx8EjX)58QeL*d@JhwVJFP zfeL|nnW~zkqHP8geOXZzo!@~zoWid5j?w*jo{xuJOF<va{AwElLWqA&^)zZn1Emmc zXsrJ|-=G)H-$(k22-au0q}`n9lYvSNT}ozYM~=nMP1iq-+Gtr7xa8mv*MBves*Id~ zTL`Cw$jIY!fQ|;ro4qOkz+B9~p$$OuF6A>loj<kw=Zf%J)@y<*n52c!o|hP7>`EBj ze(6E;c);n=&drstR*g?pk%>j)ltZAS0Lq#lv+f=o2x@;fsLfoV<a;b7Ad0@E8!=wK zXS_$Vs?(Gm`f%k7G~Syhi!OXgmZ-em#aVXFf_LRNs-Wio{@zN|3FWP*&x>|wtH#tw z?1vhpiJCO~-eAax;AQ|zl$*P$UWdFv;HPW2At6^5Rp|<(0pX!9NL0Z-nxb_Ibt1;k zxq#i|%M5tm4&v>(TyTEFbydrqTz*H&0Kf-<=>i4rp#9I-!&UVXtJULVQInjy?1vHc z4+WSjuJ4s-2r+VA`1$j@OLAZk>mfbOlHRIfo|*&x&0_7+!ez?+kjm9d$)$-u7A(GD zc(fe>OEV4LLwYTQ2Lk8Kq{%FS^=+F^;wYB3Q)Byo$L5px;h4Qc8V{NwYX1B8uR~lD zDm#E(XMd;85_t29I)FjhgMl5vzgGYs|4r2WTOGv_^sX@OxEE6;vg1CYRh%wG4g&2S zGYsxj_M80oDE}sT0IY1+)13ROw#V6wmOWio$ByE6-YKpgD>7HaidTO`0`F9J++a$& zG`7A#1d5|FTw;Y-!Y|g@pkx+)e1G<j8Jesj7~JkTnloO@`|YBHjHNMDfA+$0Q+wLe z<Zb;<-+=%??&iQ>U-?B27upEhhcG@n9!t{xKUUg&zkTe`jc^Vl5Hn^K;^<vpy|uhy z8%qOk&%Q1@_7SO^WR|VNuBmg|TsA8>7z|WeGeo6Nht(xrWdY2|hCinb-Py5RhX5=S zqJX#K>#z1J@i>$_yOKcC`Iswx?)B&zZl_4RUZYWE!I(P-po7XVusxLtj`g#8=+`zk zB46TS;WF+}K&xxM?%oToSwF5C;;KDOqIZpCt|*gzaHskiogrVFR_JVJwZcVFqUWBM zvR{Tql3APnF+ZT&b=OvK)pb{OxiLS!;SwMw``i5;I)IMZOlR8cR><f7s5Y68ZwC9g zqlXGM2Y#Jh|J?B;SQKX)RWuv3citk+^ypr0OQEl3O;=m$vLa=CL+e6^C8^f!xlAh! zqf5)q_Eq^c`#7U%H9)xhid@<cp}yFN<Z^rQ%C~6fMWwwzsQ&1^CZLw903h<4g%g9? z5+0sWQDSM-B~dNp@ZtHe|JdAr)CR<>e^JiE%^Jv7+8Kv9bhNv4a6wVE-aI}7Q#e;D zR%4q|G|pq2J?=8OJ_*iQ8BMeB*>UaetU)&d0J9{&HBbAMQBk;6CQa3SLVlswHHqA> z@|XeKjgFHpSltgz=U;Ar*54H{#?bA5KK4kqj^55+L}n-5_%<TA`#~&i+Qhs{;?A2Y zqnelK3^p_>30iTMy@-5g>2n8VyJe^#poL@v+-ig70v}!TKBL*$=O$mY9F*xLEwGOW z6p!jAicl`iS1lPvZ?~llyf91AjjJevn~xV1PFt&Q*oGFbCw^x<zJu+!;ku(Oy!6eb zyH!}lpx2%u<EyA+JByIx!5hi1Qfa1|-^V^rWxC*TK_Ac~qi-`+11IF*>wiUOjD6|u z?0tbYKFL)Zoj7pc{2rB+^}5cPHX`>rq^*EuQ?sdQ@6`z0{7<7NU&0NR@IVSXsaxHb zHo6#D{4k?Daauj3itu+qc1&g7F<^QU@|3hCP{9Ftmi*k%`y~k2avfMtyN@#F$Z-E+ zM=E~<Fur1Y1$~y`?pwrpAN2|SF}(+fDvn=FmET<qt$qJvj*gotB&txm?w8A(R#5qV zfWdo?sF<W$gk%bETXwc&2^(@lQM;L7Xt#TIrGK7h_tN6~s>e>`wuGg3dEp20<W~o7 zj}W^je%taCZ7SAB=j3VB*xT!n65GCvjB9Y7Ym!!h<hb}Zap%HY4_q50@g@zAW)lZr z``4Uwl{GBx5BM7;sMDCgP}0{|)C%ND`_xJQX2P*{t9#n^yIu=-<oXCKnS17Jqh$qd zk(8u)aQb}ShKft2&_y6^QkLEkE=Zv)t7}e=mOcA5b0HtmF#3L4e7#R{r!GDnJ8lE@ z8QLCpEOLhLjBK?F3N=4aAM{f{4+wYfp=E7LRZT0mtJD(vjZz>>CsA7}^%|gI+JtS< zu0`{4vqSrf)8=HWM75h7H=aQ=$vA?0zTotOvJl^9Mw#2nV?#6zm|cx3<`W36*lzm& z6wv}|7tHBBbc-P?IQL8Mj3|;vrpt2RDY3Mnk1h=gXx8hlig*7c--Cw{rwpWO+l$=K z0dxd?%^kWD2Fd5O@5wxjWq_@@itk7$l;l>*^tkcDZ(6fNC^0z{Eg~+TW7(Tq0VZ2p zDRvtdI`dPzRnTLY3ob8IgowpfSc5XLCV5HLCEXT*-ZOyPT^K1ma0Vou+hn=pIhE1g zdf@JFmw`y=cfOqI1OTkWvW{FM>kMFKVqF(_<VK4d8pg+t5^a=}glYGx5v@6(!)mpk ziYc^6ti$kLR3ykZ{}bO5s$&Ox8SW*oXw9tHh!;hI5J<H^>Gu#6qr@dS>!!5^dk#f1 zpG+5OYT_TlA60)XEybVK$PV$-g6X9@Wv$HbwbQ!4mR0MN%_SPcXcJ=s+u`&q#y3Q) z1uL41Y{AH64_#ZfqF8aw2*o!F{jn%?&5ntho+OKZcB_#{v{6LYTkZjlhM&thF&T?U zPiJjAKmdARuikH0Lo3S4ICw~qKs!Co8vr!#D~s)Uhjj`MH_q12`-c#5`;&d?SR%%K zzhmr}&A(0B!U-v1CMUz$f46>oOoO>1w7+Ok;;oWowc=L({N$^%@1)R!pC=DDcpVcY z(R1FFqA#e3-bw2QjzQh~p9E_=+#Hf!z9-X!>mza>Wx0NDO4&porKRi~Wj?j#ZFpxa zjdrS>3t6=Kd{I+EYQ*lOGPzSXLdkuOj)5~v5oU<R>!evzhCCI|lunPHmQGcPl{ef2 zFFlx0HmpwpV-e6>Nb8`h8}V<t9&is_Y?kKNP<vq@mi9ZP#{h|%(sFm79`_(0{*y9h zw%2tPj@UHaW=D%Xeo6}r-HVQ93D9dtbYd~8X}?GN($GD{5|zF;Y^RX+1$N~f<tRdg z#)pm|#^_8In3MY#OS|4lW$&x5-K}2Y=z-YEbqJAQuasf3@0`0g^z3)`Il>E%c@~SZ zYDL8&=jQW$2hV*jN*St=z{>du5(6OoM)zd~v7M#9$c8#kw~eEdsak&53NXOM$_bfO z>p8&t*y+96^M?@(qHk0yb-5$a4WrjANQ;)HuS~dZ8`>YnNaWUEd8+ycXMfEpa~ghi z?fq`oQW$FNdzU&2ODjOST9(@9=8B0_J6WBc!;a$*>y5sGb)Vg8cecBZ=2!o`{IP^^ zw{KLLT5`5)==!R_0p6j2VwJL$X?e9$l6c5@o$j|&c|W5>Ly8vco`M;!dBskr%josY zFrS20bK7)w^ht!t$(TD8b@VYZOKBG~uUDD*kG1Xc>MvMi$EXIxuD8JcSfV#B%UYP| z<cI7<s2%<1xwiO;Jtq@uDsb|<aa_K|TK1wOolme2b{2DRpDs(u{!dwRgMKFcsHInT z9l3~fN4}nxLPSKs91puc;uc^hyq1s-+oVSO2(nN>PgcM|rF~96qGK-H0Vj>QoYNE# z`YAT>Uw+~xo$ggV5c|?VT!cb8RUWrqn%~K~DmTtQ-j+PfC9RJHx$gketV)pg4p-j1 zZ%4VuRPV>*{4_0XYNIRJ@@^K|!b#bi--(<k^^fZ+-YHCogn_RRcg3#!D*%9~<|^e1 zpx~m<K=JT?V_-<1CoO`5OBKu6EMyB8$1jK#chG`P;ody>%>C^19?ex5z@>@8B_WM3 zIdoCrKFLkpvj6O2tIghm)fL4G@M$KhFYCK5*0`^`o1?)lnB>vE8JQ~}CqsHE-w@Yi zz%#b_FO1OZw&Hz~ToH=rBa|TOOthRsP;4#sTHsw%E27sOny=txJY#vEJZB&p1U`sx z=JC{Zy6;35Y7h$j)8qJ>az;DvgSQQI0}b@u3Y2_9q^zqCECW8-?_gv{2b5HmXJdnW zWNVt3fs2>Ta5B+BE!)SJZAj6RI%~A_vf@E4E5I=la_Nc<-rXV<Y^z#g?Y0M{rFWw0 z{}H!$vaBw!n5_&38c9T;EN{l{9}-K~8rxM@Hvf*wRn04%70qW7=12BFVa3)<w~u2N z(}kZb-ypu0`gMU`(tG1#1VhC5^RHMD#*DzzWC<xIWsp(#=Qxo>?_V?N4~L4U^2+*p z-H3+XE99AElNReYKuO*|Plc2j!E6386`T5Hns~63-##0`KWDVtH+N%H8S#`u9tQx_ z>axF0H)MQ!>i<3o9`=SAvvXwS60#y#opVHa+UOD~{2*f=e~<e-xQ#*=d@e}85_9=q zSX4O;=%Pg`&r{dMWHYSQfJ=@W^+T+r-JDUH^|J&?)U<qM2oCEFbC_}iG7+xa#zcRX zD`W9?*1>y!kk-ogxGTRnPRo;q{9UjHFVu&G^I@bVU1{58Xqo=C<^CD#)<IhMVryz} zYo8~czke+ac$M+jcI|U@-kWsZpwfk}IV3V<s&Uk5U|#Q&?*OI<{z9ZDy?o<X@HnaP zWY~&-{7f?MQBIiW*S>>Wa-8}R`ueip(SQ3IA2NWMLF2Y(#Iu8T%-QZ4HOy|+Jv?Fm zHuPh9v*i;G3pga*0*AvkW0fJmZ0AdE@u7a_K7FZ={P4~fSIeKKXHSB;cX<rIOl!_> z*<$#`43IN|%#;n_N?coyx&*?CLQi%Z=T3l?u&?j1DQe1FYq}R0D;!ZAkfqmm4^*z@ z^wX|~3LV7*1;QSg(H*^Yh%y&PjZyks!Yb#$2zD92jQGjaMWm_g)&65UarMti8S74$ zjDG?7Nn$Nfv4Nt@^*ARG?;>&rn{@ZPP`%cX4tjTxgJp1YCxDhLr#I*O^FHF*9*d31 zug877lEr5%)YB08p=ztAiK*K`y-u?MI{j<%rPMe`dQ5i{a{?Z~3T^TM04~B@=~0m8 z1~>5CU6av&JgntzS7E5p^X|q35#x{j8cVci75ERn#;>&2%|bF{IsPZp=FFer5&1?C z9LAwp;PtE9-e-up0zYHXOZ_*Yj<JZoVnI-<(4D0C__LjN^HB7$0nar|XG{OC6J7vC z0$UuW)$RnjB<~Zfc?V`a957xcb<(|TL3#tsK}+&jHL2MbCf4^WArgk5o>V9Suthjw zseiGhp9VfUwLiR2?`qFV2S|Hk=)@CInTspG{kjERT_d=Zm60Q%7eVH2y!6<^(4RC0 zlZO)~z5dI%Q~i{`@Dn|Y8$Ipg3yD2T-T_)^VbnFwsXU>2)q3ef@!H-(|HVpHR_Sx2 zxz~ur3SQ^!J-b@3GFP+|hE-zck6+VvjWl{m`?91bLr3r1$?qZa0G>sT2jHq?$<^!! z8FSCD*yj^Z(k5~EZT_-zl7|)_rI+}`7QA~GYy-79AME`Rm0z}i;?p6QtpVXS$!x9$ zR_TWH21@Cc`_cA=c@iSSoo&rcI?!*JuN0HyKb1nY-Z7;k_r5<g9&|G{WUbhwGvnEd zqj|v^Enh`Do*h^I7)rV9d*6(ce1_KTUQZE53YR|(I{O|PEL8Xlwip*ku70F_Y@&Ix z>1j)P^8j>fvPHN8)+<SjALE=s=)>xv*HkiAGu~W|Y^Tsy%8mM2VUnJ<5%<B@z(;>k zwhiC-18-XMDsb51{_adS-Uof#fV<I=29H<$G215BtVLg<e$c)~oN9nFOOp0!tqkCT zEvd<>g{fI|;>Hd)Px`dR(2U3JPkVU#Wv~2z7eb=Btu@Iu35alZl49x1GaaXhIrY@? zc2+i4yl&=cVKejO$Sbs19p(ei>uG!a$EG3fX{+{Qb<<93@rrwq$UyDp*F@Gy+u{tv z7ZF2{iZki)8bPlNm#K1$Z4~OFB;Ks*TWOeVEOZt;5aj7|H{mla(hi;Kmzcl|Z4F=b zy4$)xYk0nTdWX~)ICxoAcK0o<2A8vm8E3L%mWr;?@2=djVZ+asbi`@SXDzrD#tl6C zw8ZMeL;1#@depwjz1zO2veSt5=_=q2@1u)gco^svwK#&p1^gut&zcvsgKJ2~6q7mo z&#A7rv2OD2bxKw@2)#|d(yS&}cUg#!zRr)n$;V;>h!1mwpaqcvH<$9uS0+>vW#-VI zxM(9URdaQx>xi|GE2RVUQzOh0s}EoQUit7C^fJ;Y?Q!#Iu1s`|jH{55L~}^-cCtH( z0nuI(2b!-UR6!WB4Iy~&Ls|(Ue)V!rt4nunBE_o$226yycP6?g@WL&u$F~$uxfYy= z(XP4gMQZo5f<eN_mn_|?n!ydVN7_*ebO3smG1fNb|Nd73;w7quv;7X9HhLY($9}LC z^9uSRBUbf{Px1$1BrhR1%}zD29<Q!{MU(SOuW$j)IUutq$LsF^qZh=hjD-d?8Z4oH z`8^Mp8e*gjTPqDKpYh7P>-xrTVlYL^t>!+RWV95an^K=*MT2~UQ`WldxxQ#^*<JH} zMnXQwMH3Wy)iYrh<)$Y4;sAg#j~3-~7EULQ-Uw|XBms^f+gb(3;B^cFMcgHC5o*$G z9FPBSWqL%xZ)X(mOkE{1IT-;W7>-1|Xrn8yfFm;6-t<K08k=8PmlvPfm7-WuhLHxQ zAxiewh*>q&S4;!6&zhadr|T-(V4`Q}j8LR78u_txG^}OK#jOHko=>UIY>_R*q|IX1 zHZdxhf%ZK^E;}!%AA34PnL*IvSUx;=L`D0wzPT*umZ9tvr|=W!=FzqJY0G$&p|s(R z^$;T@(p1t9t^4Cp?&8bZN+XzE1KC`FDUbn>r7^KRl|gm-nJ<$R|JZ3tgLA;uiuasR z`Wr*j!*A-@j$GL&Yq_e(&NvZt2q)mO_A|!<^ibt9lF(@_^AlUu6_E&N%!!a<ls5(W zN&4A)Hb)1l^3kN06XR>;ap8uGm4ONGTl;dpsex~5Otm!&c_xel%>1j$Y5b^kj+3lC z$M$mtRC?MG`w#z}5uN3cn24`SE^k<t4-tokv)J9|TP@TbeEq$Gx#n8j_G+cNJC_ku zxy73FMu^c+-|4oq+ZyJwThG*V7RECM+GQaic5c{}ob`4p5jASOY=r%?(ri{(bA6N+ zCST^sDqrBxJRrTgy_XQZ@1;z<SBZ7GqDV*ioDQiq(F%6>UR59Dr2FkM@y|0JoBmf7 zR?ID_)(l#T%@;c69{<&H$yra7-`>MtFw3{T6DXjcCHCC@R`tFU#}^JSlvqBEb$|H2 zoDYfS^AjB1?}V$|JRaC)|Hm@pQGVB$OB{V(UaT40+a%l640h<vvKAFAE<#${Mp=2+ zf1XK%UUiq3g^;w+10Z0<i<tN)Vp->tu%8+@9t=jYz&<419bTZe2{*V$OhVu0^1PiJ z2aCiy-;}I+X%RC8)=>OW!cwI5+*)6P){RuMX?$-(YxgwHUXT`ucRT-PP=82&@!JU$ zEWj7px|8x)kO6$><|NI{tZB`Sp*G-u2K%rHW~qGbTzx~vhaK~e&wnthW-dbDgVU<L z`FSxlccPYTdo~RlE<xI=4(t{)jIznhrkl*uTk+BGct5|ImTBy`WlmO5&^pKuH4dg3 zv@P1M9M$S#e`y%0lsIvDQ#ba{ry<YUZPapr?Cdfvk+(Y{Ogx=nmy7~`8dA6@&B)IS zvF+@Y_acEv7!T`IZiU$5GG*R--N=BuKU>|lfoM_BXH+dsEvx55|M9su@fohwv=5Px zOzs##dO(Nei1+QfkX!${NMn>x?>=F?J(axn2FD_TpW%xxVCn2^S2)Y?s@e)Wm}Nve zr$XLH;$R$LK|4uC%Tzjb-8thMG*QSLO^z+VlaTIpRn$AbbXUIE$6mC*u+T4fKvv6y z*r3TTnwc}a1*G&t@ZjrpXr)EZ;^xl0CQ&@6)s8});XKsQNbg*Amh$i4eby5p8mFt* z*0nNSi~LK+w%$taY`feY8SzN95UyDSM$`*7Y<4w~OX~a#>9etKWQ6*W0YCUBIobc! zXQ@=lyGgVQIdPiB##}$a64!1KA@|L`*>6SU6n_^+4z`&~wuN}a+;99!cj2Z58~MgH zl<7~u!{#yQC;YWU4TsI~s8>z_-)xs&DB&-6FG4BWI7+s6$OewE0Gwkw&v_nPb$+5j zuz?R{RP_FvLT`o4+p(`<C+zzz+Gm0ARO)d15i;nQ{j66NT_=9m&C6@?{0zsQYIOLI zbM!p%!1Cg{X@l;jQ4%j12^yR?3!~;PF<^d7ulX#MRoi=EoB70;o}^aST(OdY8QqlZ zmCEKad}b2WTGQoIuGubrp{u)3u))?H*nZ6KoSEwA=-_q|BRp;|%nJaFnL15<%alF+ z8xMxC66IyQfvMKYsr@RPNrJdydRJC@On>WV{Yww8$le}Hnz{lJ7oJF1YVPbPr)WW< zE{D^<w>(RV;-LUb_mwSTIe06k@-Ao{6VE39w)s;6|8aE0%R}w4cQ&ue6Mf>tuZR>8 zzh-IZU<g8UJVlro8xqxd9s$#=fm2Yn{R7&GJa^AOX6Tr9>{cH4)!lq`6WVGa));1) z6n6ALv(4|3=ILtMq7_^2&g(;a+H<KNKQxh+@Ko~4u7^C%uYgviHkz~e1%*r>OJC%+ z8z?7ysPeoWI?&(}&*0o3YnLle%IcRUT0eU>ouGoU7D|`Ay4IR?<{p?4=+)Jt(BDz_ z&kFueb?+V4#MZuzA_7tb5d^F>0|KE40tyHUibCj-B$QC3N>xfgq&KBY3y6pm2`vx^ z(mRS&5d=anN|n%*UIf0y-oL%yvcGfAcb)6}b4D*FGnuTJ)t_}g_j6DFlxfnk2xy<0 z0Fm6Vs@5pI#GCSY%7|EKaWY?zx<4AAMQ_XuG2LYv8KELpf@%{U_e@fr+{3&jol(>P zKA3dYw-@NHk(|%Idpne{EkdViTxs@kkiT8wLx<e*d)B|W0B^3guSxxK>?b-*Pv4xD z5V%s7YYWYW-Gvrj#52C`hHlwp!19W`=<`L}@z2+v{Ysau+&BMuBbibyul4g3aGBL^ z7fD?u(L<9dJ4UVY%3XKCczq#|c|qv8d2J?@4oTSwAzKz(Fy5S(=vsTKK=x6Y*Z{F= zX+}WGfw<@uCYDlGDVMw)L6Ereg^j|rN6&Xu+=%XuV-S&Ec*JMqhNQBGR3AC;yvgsW ziE=`+?BlB)5Pfe;maE4HBE{#Fqy&mSr~StD5O!WwP9SLnie_E7sGL%1A5#8)^6BKN z#*gZYTe@RIgH}E~J%P~|TiepnJD+u>1WKK$bzxHe0}gvWTXVO{7k<VWff|zuu~G3i zCpn)+=iy|vPmH(as=A7hdSpVSeXSpazEODUeJ*)^l+aMMw=)pA3yZsTG<8R#;QD-R zLYICUJszmQkK#G*)qWG5+>I<pjh7J2je>t>U&1*;p`jS(z5AF90)h5D1CH}>J>C5Y z^mtvW{D=-YO#U&x_$lG-ILkCv5yGTETVe{VY5d!c&C_?z55*e_-ZkhzAeSEJ4+{no zNBTmZRWpq)UnZ#I;#7It+^pnY7DQIH&)>du0|j>#6xE0|qH(@HQnnMpO`xENdu~}= z=e|9jcc#a`<G~p{oSDher8-nS^0AmI@fZoUbvQpk8j2h1zcF|Zw!P|@H|pi|-ivr2 zkH7xFr9N5pr0`WPU@;GItK6;$fe0E;$DBLdzjavN8F{!+|J3)g$>I^_CmQ5=N;IBD z+)TZ+1tfOw{QfqVW6q1iT`qE}?*^V-r*!yG?S#JTos?abfKqww6P=mW8|8s%J#n^) z=R5A(m(sGDmn!0hk+I10uc?X!3q{%Vpi1hj$iTvz+r=8l$|%o0XUylXof<57oVp>a z{*@Of(v)?oJ=62T3c7;lH3s;i64?dNWnp7gHJVV(em@o`jb}e(L8aOn>89!PtbO%~ zK5Ijsc6#OmO!wcK)e>Z{9o<lkYV8vjrW0;{Q9fhCq40pw($2bZbB1RNqGN450r~d% z=7@?-DkZ?(W+@8jdmy2?EE05B6MVU1vEW_fqn`QA16^N#OX=KDYdLdFb^$t6z3Rm9 zWJJ=OgTsR7Vyx1#ddzz6H-(VulaOZ^o;Q@*4>anpef1~Y$$XHHPh7Z>yJ>SqFoOw4 zxVW{Qt@S2Pq*l`V(d3mxhB8*Y<X=qaJmG=q2U!lw5qwBFU07*6N+Tb?q4xFUH%A55 zM9;Ubg1WXd((bOm2phuHyjjMz-W&X?$DTUxwXlE1t%(rRzZ7TU@aZ1jNoCYtzRwmk z!>`&swBSqNe~eaabqI>MDcx6Q7RpgDTO6YR=fRSVldHG=U#5lW$7qkgm@hti$0C?k zg0k#5g%x!;eaD7-RB0^gRu`o3V1D8SSE`(u_D*}VGGH{`3M+&OsGge`w6<Wummz4? zs+pt2=URe`#`pYck8!g|yB89+R}OdTOAki)y~n?7G%DNqbyu(wer4bK-6Q+zNers+ zrHP@c;JLKnIm)wf?n_KV&Vnq{q_M7g#~4JG6kXo)BK;G5iHhSJmB8??km>(zgxZ$1 zI43EeHRVPk0^{;=v<g4bLT$nH=SyFM-1oqG>}7r+?lfvYFm|?^?fE%vbidTKr&S95 z$m>#)mAo$_F)}A(9>EJ9RgJaPWHwcV$t!^AsuZOvG=IngZ)aB-XNyxCf9WNSqkRnA zI+H2!*VuD_Wy@&&wNjlEZBO;~aCUD&#QDSQ@|6zw#2w+&-*wF}xtG&lx(O78O}ucc zrEZ`>(;oYI8;Y@SEVJ|HCxXF-VI>S|t>s2aJ@~0sxC*PLhq2&i`X41xjqqm@2IZ^{ zG+%0op)QQp=Ji#=wI1hU@e{k+Q2&g0c(W7Pi@0m}_*xgHPIeItvr7}_0(nv2?vI2i zJxkV=E8QHkJ!P88IsU8g%(@w7x#gC(S?9-?-6xpZ(#ej9xEb{cpK@m@^xT8Fsrm0P z2fi@|2V!w1FJ4RXS8mkEe6WE4#;dZ`Pqq$%meOINKO-8Ll`R~?to8(hxSRkf@S6En zb;|H&!RXB-{L9VsK`I;8C;-docpJu9NeNO+hA^hzXye0!nRNJ)(~pKF=|`)dOUkxQ z%Sg1<EKigtO@l*{2-9qU>*d!#nRe#0-w2;k*Dg2lVEu(jo)!sb_&vM+P%T_?cYVt@ z^mRn?$h3_5OmpHuodcTFXs&K_E~M77g3h?P!Jt6&Q9`Beqe?VmXWGi^nx5$>$d%-^ z3FM~VV%gGy!|SWhJZB=Se7-7lfz<}mqFap=tt{(M+Fl>xH@>CIY<1+}ZF@)+iuvWZ zQLeCA2EX5>upX<g!#e#oM3@c~LB2IGtzAVV+l1n}zxs}leQX!`z27XLvlxs}N>?`A z#aq-q#m}=3O`Cj5`N*EAHhT>9!KW<`InuX3X%K0%Frpd%<d*RkgXfEI4Y*H}>Q#zT zt!3P>wf!pWt@WZCz9pNWXIv-I8<ZFcR#{mFEz?nkN=@pb`j*4FwdUM~4Jr-5uu<Xd z&^0HinArrts#uogD<08Ytvr6N7onrszoC%QA131Q8I%s<Xbs}hQ^hpwSj9NL|Jx2v z)_5GZ9Mtovd-j<C>Vm6c)h=#waY%E`(1U5si*IsCzGfA{`i}e^TX^1c)81McUc3EM zqM`a@t@c3y77a`tbc|m4a*2JeSBnxWT<w<@D`%|VR{)N~bGFKnJBHO8Nlg)|W$VgW zubLv~l?G;BOG~u7c5GaFT(xb}qeWwRT~*-yZ}X7+v+m~6GD*?>-1zg*z55y#g?qH` z>!bIviyV@_YTdVeHkfXhNU~Fya<NWFYk+XnvKx5wMqE?u)X7vzyFSlQgz3=kTy6}a zZZDj;Fm<%LnZ1~$W-7qwcS@j$qLrIy8>}j6quhVgmp0~CI#LYl<3H2AN1D$U>^`mh zkiqDTYk0?X(66UTHGcyM_rRQ6G}6bScJ;h{M%LmX`VsgXkBD47=hF|rwr7Pj66Ytg zkC)m>4NRpf=#rnXnHsk=4r`kw`A+y`Yxa>ynHxi7cP-Me!%v*G_P{%OHN3BVP>Ab; zxb`&uialaVh`8?rT5ah*D_s0%?s=nMRp>c7!7_WrVQ-Hxr#-1QfmFM6ekLQ)7levu z(j0e~AK5iS6qg?lubzT>Zd%+=38C{>6U^JAb6NFveww@9m#2YAUlbBSGaVa*#Pk{B z5fg>JKWlAIOKIA1aurW*l}2dPZ@1K!$GX6cEE%SkWu-Tgrq?U+6L~i<G0Vs2RF=D% zL|6js6#&uXHdTpIwiR{4MS(|r{YU+bwY4@V0*$YH1MPUaIVM;CaEuU|1&m+Ecof{9 zuZ>^Twlbh*B%p4DvO!G(E>vVj*RD%K3i8E4qauTl);4Bpc#(KGk}m;LqUlyxW@euR z*ah5e%mr_Hs9r$IO7O{}*$91UTy$k8d(kKa3Cn!}ahkd8YSa`9<+4J{CZC7CxVRbv zS19gCxRvP1*Ph>y*(l}Fok=?7Yu5^WZ`9$IzcsR3{sL8JJ6we{x9uTMZ@w&0xI4lK zgeCM%KTE@hs61AF)>a)3x#RV8?WnOOz+5I+x*XU!x8Uq;Ps_8#$GxoSu}GHr(mkTF zdW0?Ck2|fb67H}vP}Q_anRY@r!P*vYH_#ndEOU&%+S6OY{L(%buxnhS^wa1vv1GE? zmxiU3<+V0P=u26V0!XP>V89WI(Jqwx`q>^?V@h-mZfqn}ByDcmW-g_VGq>GgHgM<} zT?yCcOJCs&>fS-`IgA*Md~UOzl7OfP_qNN9+wKLQ5J;z3kXDYiBh_3S>{F7N*5WX0 z=0GcK)ex71a|dF(E^o**3AL0t!#RoQ>Y)k2Quu@U&3qp7$x2hXW;f9R;L3<GZ2C-j zrxZ)%??{5hUA+EL&%T07p(5wG`jh4l^f`EYQEW=<t5)j~_^alG?<y9F`Il=ycg<E* zP2Qc2dGO}(mN!??b&7}(FiG_6PUL@CwHT<*Fg+>hF+)E(j^z$l45^U?xTip2d{u<E zWtA;V87VM}%>~Q3>{Xu3e2J|Vw^m&1DyW@e0{l_OizU5+_E;g2+-_O0M!+^X8)yHd z_{7mMzrJ0<h8H{&t{N*`XFjuGL9uf&vHs$uTFZ+#JZ4xIVU)JgcrPsJ@J>_0Z^OKj z&#%nWts{2Z#ec;R1Qr|$4m8wHo-g*fG|&!t1K`W|aMJ?P11po9k-Bpyj?6tq9?JvG zI7IPd>@@b=H3kY(Uz5FjRkKe~*X`T0Y?t>MmE&2|W)1U(N|sV;!gz3A!~*r}D|#bD z&5iT-+c|m}sM*h+6)2M6$GYfp>M%`V&FPPoXop(`7vbK`!>AMPsZuALJJF$ROI=@g zL5T9)J21P!#Vzwn(DcH%;dW@K9-A(`S(iS{AD{&b?&;>86E^OOxnGI}iD8T<vGSa; zs@yi1ms<XOY_|zhu6snmV5LkL9gASX`tF>`K5T!v%Qq^_m(6qemFEv7p`rHCM3V>p zrKPsQBey4tJJIQ-$`;gTkRl&!z4K3g<8)3*n2y)_y0J-0&eE#%Su;PQZ~Ch2nm9GG z{gnhN37g*_@p7K1ZXT~Et&B|cxbMt$=3N7s<$|p!jPHydqU$nGQH}t!9<$y%Ry{$g zIDR6m`V`r&f;Ruh&F~5l=hZ1*6ANbVM0~mo-GzXLFbt2d$D5_I1GS$31iSi_BZ+h( zbjC}yfK7+c@I5yuOqaHjR-A)qNuw*Kh)&^5bu38*1_9$Shcc6)&ChN>Y*XvJlC~bQ zz`zuR1Y-<Q$B}5E|6}~ljLaUziZdKSvk&}6!xmU`vxO1<-m-c%!=cpF#j@iK*KJgU zud-6&@vyqV8{(G2oZnyHR2d?4ougmmbQX)Kbe9*^TK0taWADT(nt^|&8#G8BDpRv= z)?G_K&jkAX$>aRy+}{|+mjln$<8+MaloN~<e*zbG-&bHSK-q2aUr5a>&kaN*+%S!B zJag5Ptr-`nzGXF`GB#cP7MLLKJW7!t(N9^y!L?4U<h--SlNeJ1t2k+@WKFA$5kEn@ zo|)y?EpX-PYwCcDTrh(?k7#3@6>a0@(!We6sG%@Vx?_GtrwpNFPRq~Xw6VKgI*i&Q zTb~-o@88dR8X>MPs!(jZ*@U$hGb<{@;;vNN2A+l6vZd|cEyZdVu+en7zIXn%hfV$- zY>PbS^>hYLax%jzVw`q7ZBp~(paav^sgl$2<6^4#1f}Us*^1xaNr-(blG0VACsdy4 z{G(V-xakgmZJT(}ZUsln#)|J|%I@ULdKF$GB#G_X(2?m%KDf2-DU;DGe5Hl*LNqEG zmDW;um0mdhe*DLZnO90@+Cn|^8Pc`<XIzxklWuf4=)}#n8{4KA+TY2&1V7DMGFEDo zM^INz$o&vI{fddQuslgzR+`3x`XR#)<1jtC(>E2I^B@O1sCwIj17OoRi6)rFB4upV zaviUc;NtC)D3760P6yxWJ`?HdJ^ET%%Dw_v6pQmGZ90=Qj7Nmydw82rR{>jsbE#1; zY~XgSQOlQW<;i<e^ZaYaL#gwZcrg+e-?5O@(xq^8&mtJoZ+>C#&9z7^_i=o-Xm03K z6cou{$eU`ZrfSPWeC>1<!VW=FueDZE0>X;X<!gz<QipETkr!DASfo;%hK4j?q-c`| zz4Kqzkd+KRF&pp?eS4ihY?kw?9lB512ZNpyQ-c=SQ$;XnJsu;n1|O5?FEeojNc9e^ zF%zqqP!B9`8!qejLY<@{m%Uo&Bwr7s+~J-URm*;`QWd}`J4B;8C*(EQ(N4t{5yElb zdQ_Y|p&n?VBLu>e6cO8G@Ttv!G1GU8d*7f~9gt4@h_=)gE3m7(W^O}K#N1*l8O7^Y zLNW^82#~^NIKrGZ0OUx{4N>K56I?R(cHK*XbHI%1D|aJDefMWupk@o3Fhz{(S_-x% z)^XUmn!gsn4xw<dJ{mgyHW3Z0l+gnx+^numnBr9z^(V2naBZ{Wfvwi2p8VdkcJfi( zcY8Swx3?O_tHpj+LkgC+h7w15<`{5&n$OZ)TA>s@vrPg;+MF6oeCXKeywJYbC*I;P zgz3iVL!rCq`L+;Lx>=|%j^~Q0Y)CZ(Z|_8~Cl;fr5>#C)%cPogn^%m29!wC6;b-*9 zzAZ_!Aq5l?6s*iYWl~XgxLyj^xo*Q-wg7W0vwPk;ptx&sA1z$a9)^@V@BISO=zZ*) z!<OS^rt0_|<VS7~Og{9S>DYa=>Y%Qk0s^~e?GPrIY@kNC`2+rF=!|~ZM3Uk-5Ak-k zst?mI#P;#<bMZC&5W(or#X@YyJ0do&%yO2k0yxxc>y;7=`{sJHP%$^Lj8mX!63|1= ze9~>L1rBLJT>NgSfna(GZ+l5?yv_^%s>qVC6w_qr+2-aRdd6YrDU(uu!w;7CgbMm9 zZ9i4T(hFY#a%eZYw4Dm2jiph%Bh4K?YZ*qr&1kQ#>8&Za`ru?cbgg9C@Jx_ccw)O? zr9oOj)E;fT-j<R_)UerA8@`!r+kxR__+C`t{S)Ndm+oRs1eQ@k9(;6#1%@8o(jKhP zqV@w#7SxevFaA4Bpe;M=5G_Uk1KC=ZJm;8kOBTz%SxAlT8HCtKSf1W$dsb_)(aLvx zq4by32ic9Eqwx)^xoDP<P=dLM%gtQf8jjnkWe-fG{C3F)-`&4x(|<BU>66vmp18N5 zTWVfdTvq~>o^h=6L_^S%pFeJk^dG{n48G3kaRXSD7$Ha+&MP^D{bgLz1A8n7_(ag_ ziCq9?GO4xMOs>DcKn&90GC_a_s2UGV=f}gNVs=PdIc>s~8m#(R(1(fs;rxcvLjG3r z26?z$;Pxf2Z}$z;R5dk+<-X4iVZ15!YkuW0Lt%g4<h;Z}@5G_<{`{$W_47}vCskFq zU`EfK55ZDM#Cc-(W|`k6K#%5&3$6UbjA*+!c(wOPk(<uN)$~t&iakqr3VA|vvczhh z4)DgkH1-;FPU>%I7Ra%<#eB#32-%%=pIyP+vRw8BL+<k$+ub)XB<A?#^d`uygp!`6 zubcHB^%^doQlV_yNbj>!i`8rM#)_q^sn1*!Z@s+ZZa4BwF)mY~aZ6pKtK7r*beGZW zSN59|o2OS6+X%9rWmBc*1!*#ms;SdXd{YWxc=)w#qp#iSWUdu?fODd0;NI;@G_B<# zKDwAM_oRrB@ETAYVQ-fB1!7}azQbd>qx>xi>N#JfXcF>I)rr{=9EbzU9i(n$&9=3s ziqpG2qKQgNj+q^0Qqio-nM8~R4f}OEom7MDGxOi+g&hl8LYMS}xXnirAcT1MkYgjk zluVpXEUdAglY8pg4c1==X)CJ)H&ZeG=LJ5R_HmhUx&~5>U0C0A+W7-((Gq5Zn@X{W zSoCTmTf-Q~kFon84lkey#zTZfO%*S^eL*2u`9zIgGL+3*OTLnMS0(4{hXPk-w~4_o zrDwH1%Q(M%%<2f}f<M=-g<sPEZV|P=lq#hfi`MH3XALC{%8ru<qJhSV+NMLudoCLH zl7BxlGc9cuzI?+8<@{(_yl8s!EWAS*9=w@kkzg15=GqU&7=EkT(ios<CAFdWCbLXV z<|mg>mXW&g5#y1Ykjd~0Dr%f#k9N$6gAgg>>Yi65iUuwmd?}+(kL<SHRoj<)=x}V{ zK|azrNqTmx?x3~bI%y!VDWFD3{G6tn%}NG)+h;>AJZrLJcpH`WJc9O;C97wlAk`>` z@9*HFbw?xu1XcBmm%AF=;WQuNUmIi&^e<V`*F&i^MKa$u<vY%yL?QJ2q^|c-hatg_ zsQvsH@i-S5{Ufgy;FVNbs+#39@VKx1eqQD7^HEJ@kUs--=<dNIw>+DkSv7nCOLygG zF)^XHK`iZPEwn!{QZkb6dMiGzBc8;Vtas|Izk8nC+m23+Ly?g{2U7Jb>`$|{ECL~D zcm_3|>{w5n+wbM_k&*S7d3LYrlyeLUK(*i=b*8`KE_GjsyFSk@GDfK(F)?%Ap^EA4 zqA}vWn1Vg6>)31wZ!y$^Z;VN*aveaE8LiN`N4<)(nEK0rTe7w=_2kMM?w!7kdV4WZ zIo2P){5pq6zp5_;b~=bBH!Xan{_NJ}{Sxckwd84>vV3fn-cOjh>5^aA*NTgm%Gq>5 z*848*+1~nLz=svwv-Q2)fT82-KSDDAoNPb+DZ=wzJUshUJO-X^bi5F-VC37XBm8mk zwv~)XDdtGpFPs+^y=l$VK0t`}K?(eg=sdB3fhhtcD8iq_mxW;R=nwua(KWyu^0Ie0 z*_G>J>01UY4*IQ3*W68~`|}5fZi!=(SRDLeUZ}83a(L^}qD8i9Uo&?EX2jwBbtDlg zp&F-`3ln}|gEJPe^V@t;SZ5o9940$BmnznpZ1TJ`@yg*e-m#t9iv7%6<VlT@VKFa! zBc&W1pvJ>~$2Pc6O$4j;va7afKT$W;=2N`xgQRw$r2YX3ED~1Qb}K1+FV&j^E8X=l z(nI=0vGtc@<YQF*ZyHz<O@%=WLoM9wk{HQf_K^m8!(y+)&W%OwuujX%W6AJwO|q49 z6_cqjiY*?`2&`BX>-lT52#&!?Q=rI|<dlLQfw35w#~Jj@v?x24@@Fh~yPGJWUXrfd z)9wwHmDjv{-_mHzw`3x3s_I}%@pffj1g`arYI9pnrzLeAb7iR%tB<O2L2tpJPc;hF zLW{+ASZcG%#+t%y3u>zN38h{4khoYq>FbKgduhhXKf!cjkcow4K!$)xQ7e(YcxPR_ zvkYaTXh!m*+UOh)bh~vGLMKHMuM{I>i8ULY{2o`E;WjH2M3`Il%;E_kbnOm5vpzRa zO#Ld+cQ2nQrO5qN(JnW=Fa>uJ#Shk7o<EKEH`<B<`Oekbnk-%Swc|^8dvT$yNGAH~ z6lGiJdQRNjTCnU80+s^ZSWg&}4vHC1P*EQ;ZN?YphDn2{IvrT8<fKukgY$;i#J9Ei z?<qNr)?pV+CNdL5^lG$9Nxac-7ooUG^RsPd9b%he9lqb*0LX}B`ZRri9SFt|i4sF# zdHT}os)SQ7XqavW8%TPmLuoi!52O`IIrxZepV%5OtiS79l0F7;cvmB_304g{1CJla z!e#HJ=&FB;Me&RCm0yP>XzL8AKr6d+AF6(6zc;FA<}bsu{#9-H{eFttc96=a$eTkd zFDOnE-3M#Y&zYQ8=*P$Tw01ulMWqO3w8|cp#@SPQFE>f@2*=Q!?rD^PhVeXi_v>z1 zFpiKb_V+yJuJ<L@AC_rQ<zQbcvrvi0ZN?*dl^{wBvRM*}0z?bHsaWXmAr%6lJqK{P zpaIqzk5rxU%C46PYdKp(`7nk_<KslO<d@p$%jaHd3?P6XHc@}6Ij`_EZ^^n0pwSvk zm1Au?Vk530^msnxvvVi`-ABPzsEf08Eb18!fs>9$)tN2<^w72H^l&_C7`CN&WoVk4 zsB~-?cOe~;t?76;SV8$Z6I;l&R>|KX31NT5>J^4Z2V7~6EIPBpuHk1Hug30yh(0U6 z!gFR#Xw!@6n8w#mJfqZQw$k{?O`zj8seyyZkHX@~>Of1OVcc|`Da$>zQeEIUcuZw- z{mKU5!@jO*yJ<Vwu6%Wee>e9R(bd%Yf(}n0N^KREjah`s)4iTdleDI|foW~aw!i*b zH#VFph>T9uLp=+)fX|QxRH~6Cy|Uz)-PF2Uxvx$>R9}TPFVn~P3l!@1zLW~;z0Z}8 z&4MbmL-1(Fz~aKEd*sf0MQ+z9p1o^W708zqkB1o#ozatcyj$~Zqha*mPL;6QBNhff za<`MS<K+^2pj+rQAfRkKZ&!Jcc=0~t=~nsR)=&=xqT_P~;5HF2NUE<r!4av!Tlfr3 zMPYwk+w|DChAz&0V<BJfRR=p~5jH(AJg(<8$Htkun2FH|=4KXaNMaVbd-*ybiD*_^ z`4|nJ_eyatxizu$`2fr_c6cw$VM5u|aGu7hx`?F1A!yd$dsYft<G4s<Y#R~R^E`Pv zbEV~;(%x`KH@$G~uq5iL)EF(6e0>&?x9d`(ntwXSi0NBt4-8uPdg^B5Fpho!I3Dm* zcR{W<vCH96Z@qIinI`1Sjgw&c%pQEIxd2eg=wm2NFYB2jwQRF{K1xw5<p?hll(VGR zu3I=yA;o;6tR6Tby{pGJa+{prYOw|<u(9kJ7nDeb&b*h|25ZzGE3@?`NqeUb<WowN z{HgzL`(05c_<DsQ8$lR4Ze29)UaBDpkmWlz9svt9KDHe~iO%$USrJQ)5$zu6RUDnM z4Fu+=j{B!+^}_;3tZ!Bp9?YArr}a-2dd)=ov&l18DJ4rxq1&Db9WU>wTF6`AZ_DU| z(XHcJ__SH-y_@~w9Io_Zzdla~F-b|bs~XTBCGEYWt;*f_ixRf*X{?N?$p|25!BX&~ zu)GBX&4sObsdT=!C#tqKEFF-%FFwOMp4CuKfGlA4H(SU*hF(WJ+sWcdj)#kQ0uSBu zrXHK6<vH1L*Aw=apizm-e$vIZ?`|O+uUi;K)Mjx7H^K19chrS-^iL|;V<LkQ0Z-0f z?yf7WwfiuBv8B!FZMgQ<=_Q#x`;kruD-)r%-E8s~*F6>$VZcMXEkBKgClZZ~3qyr* z@z~GgjAq*yIherPDAcb)3yLieYlul>ie2XUICK$siO=>Qy(1vgil`yGA+=Eo=ijTN z+iQGx9J6~{ib&7|gx@hlo{sT6iKcKXv%$HM<9<iESi-AeY3c-3?j7<=LaMAvwZ3)d z+9SB-;n%wBIn`akr2K4Lo3JW63GdrnrFsC&^+h9pK8}DJ@(K<!)v9>6%Ar1tX!&;* zk6tGVJa4J`R><@CVMw035_#GyJ^q=yDsl`7GeUE^fUvAwjP~?94k!YPe3;9C8#nfN zM=<fKDOOU&6ni2rjd{&QV))W~;Rs6unYJFPSIen5x%BWLdJRgWIEA>y*uApnO=Q`J z>w|Eil=GvhXpbL!kE5{n%vImKYWPm52kZLhC+)he<;6Lwt{#q$coz~(?4zz2jXc;) za-!`N9~W*0-U&ce^qc?IVK<SND*v=_S$-G=V6Czlg`6qV{l&(;ev1-lsHLXQsXj&M z(`q#j%gfoB0m?K!<<w8gQy#ETR|dU_gUFdkvdR@S!O0R#37luw(;J*m>-OwMwee+X zn>xhaOZWcrti-tFc3!Z>K8V}@>dfG3)C;j!i_?=mG|;h%y_0U|v%6QnzI#zp5g0=; zx@EW5BqqcaS8&d1vD!qccyvRC&}4fcb}!AgK>E@0+IN7Fl7GyG<;dzlc^3eH4((}Y zeFr=7<kp@|HczR2%e>!@tm1YKIkmik&)cZjRtc0)q<+YU;P_8GR*LXXi&~{Zi_6$M z5hp8QXiV1!40?J6?f=1Hz8i$)yBWR>M;604989>9cb#+(W|#1YTX@IEn{8!S(>>0u zF%atZu$_yAL6;_=;yCj$8U5ZSEF6kS;Ln#NB3LAzRG+)kB1Jb44Sj1f*)f+T(7RiI zQo2^}Fg#Msf?-y)(0BFgiB2k&Lx*GmMt=aj-``&e7-AGUUX<&~#A2=yOj%n!`C)!x zgmA8x2KF$W{enew_|<D`Y382mxVoOqzQ%Wf{HeQ#a1ld`%B06*hdb>$teOnJy6!8r zO|*aeh0x0BFVoR4FgG6hMn5Q;enmABZl`gh&09KF^~4kRC3k9jcWSrm$IGhY8Ldnl z2*QJGb!+RF_N+pl^}<&&4GfcRj@ayLVdO__SLyAko#Xed4zovMhUS(p)lK}kV|{Ho zu!a%~7CaQ3zc<>Vs^*ezCmKg;<JmzpF_JvEY-{1j@QFp@r4$`8asj^|IjDaWFueNI z22&rVQ_vb(q+qQ1!}VgmAnzu_1^WEr=&-vk!FS{<Nh7Yqu5#qwVD0K}!)PCec8QUV zJvScL(~o#KEDa|f#u`<fvfG~>JiO@uL6x>c#cw=j&(L!b8V>HhXVoUQE$g6}_vNk8 z@`Rk%3c^$s4tpzRC8bzUL@!u0Z5uco48mUm8noOd=Xi<E`NhzDxQYNrC7T@&vEdE( zp4rfe7g1Y6MLuNr(E&T=Eh#{+yF@Rned*~Q1+yO#sft5zT_rtmjupV_iL<ID8g#fh z4m9<#-)h}-Pi*{fk$ErJVdRXS__QNOj|yw)>+NV;{E_hj2$W>7Mg{^3Z2tT^*bys? z!Q3abLpLPIT>C??wouyih6AC=sQp6_(y2{B*tLcqzdm7Ahv$LxZ~mAxnqn$IWWqIs z4i)||<)4<r-w>t{f~C2%Hvk9K`2u<?<|strYxt@C<-pTnLW$LBNRORX@gyxkK!K!q zkp(^M!wfoV?v)A&KX^z|wz1Sf@0>vj0&;ufbF>Vj-}$d$$$Y~h^RfjCbwgLG&gk7~ zaS>r^g=+I?n{M2An8I>4qDiaOh}Ff=bnA_(N4uN+uaev%rTVz&c9H$+!P~#;ZYb1+ z?%q?+HH>M=b!^!<R;l#LQLBt1U+dK66=jT^sJmyb4>vOD6)b2NNs<gb?X7t!`wNNF zCG>nQ%QNraRk?=@rP}0e3FcZ=-fDI@t>C%pyh1cRzXqVH?K8%zw2ZkZCKh}yA3D*t z`p9hlQgw%Jb4Q-^GFJS?Egf67H4u`nZfRpT${ZrM99EcNj+Pla@%RNBLIH=ZE3>Qa zeC>ORPW2grqr3KQ&Dn6Xj>TkiEMiuU7PQ};rhdTL#n&2D3n8~Y?cNwm?WhQf1Mm5u zpkk-!4SrKHw229xKbWI$UFJQOIg;j4v#<qb+eqdglq1u~LZznwlyYluGcQU@jCvU= zk99_KRU84Q{Di<t!vmjZPqX!x&jl?+MvfMf98k5$1-3g|oM<%7C9RWvj)d+js%(`F z{%AhkOD|L{dNDde85ReyD&}_6MgH7`D(yhXLg$=C?Dt}O`(xiRNt`)>jJz6IofO+r z4fhOi4X#{XfcP@yCQ!f31*m+0#`nY=(|E+J{;^rjea^DEPGadJDskDrEHvR{ALo1B z8db@S874iAqOG?o(71{)zVy%LR$S8;{7#1!Bv5v2cc-C*7sG4LLqa?U6qqPzg(=9~ zM0L!Ig_Z6gxF%!+qNSBkD$6U`SQ7Ify~M712`wtoD3vQ;s@`*5MdTO!n#tmWJs9@< z@rC7%x%b8o@psWTI0ShY^2HL8jm6hj(H<VQXKuG7><S~5;;F(R_K<Un^fy-Q48bJC ze{Q<NJcmn<+U0Q}m5q>$cNa46I#8`9^xY70;u~v_^x#9XkA`?)9C9`L9iLyRMhyhj za@Y4~_J!^eN%t#|r;mII&vV?p$I1aIc(r{?PUB{2KxO@-ID=d&?9x+!&!SIz51cg$ zMugR{uqtSvgH`Znl^7_V$ke%3u2%xRID(SEUW>j!5p3Ow;<o9rs|R<{Rjjbd_R+_e zi!;O0lJxRA^<?Y(TAbmJAK-$xue=gr5xM$3g6E=Aiyd`8y2yR|0Peu%fi7STM<+%f z&K({UlHXRP$L|)_PD8E4kF!dDvS2#Ki$zNF7U(?8mF5|%V514S7?&CIBcma9AYnP6 zXG|P-__Khv@`iDVihSj>+{9L-TQQu)tW>Fr5yp#GeiF*8QKlMqvio4Y{}Kj3<5h%V zs+bO=ZpeG|a)2`>d-3dwg~GZAJg~CMAei*7I!&|?m`~)D#Jqw<1oYEeyVUU&IDbn{ zf(}EVAYe~K$-=pe9dGDrd{(@stNea!)IFy!wD`Bx{#Iz!v&#L1nd@ertW}Nb;q~Sp z??pVP4A=AvlA#7f7j6!P#KyB39oZjZSz!}RSKZ)TQ=(_rM$k=pC6Ld2A>|LXrAP?c znY+!>+p>tl4s49jyUF5|%XhN|qhfxgc{x_Z3fm65-~I|Iw03#9019B*^$u;p*t*x& zck(T?!)VsGSV;Urou$HbW#_hMR>$`rjzM-kjS(13EVI_A?y=T-Z%7=|fe&y5U_L?P z?479{w^B@m3fDc*XI)Ag>OzU*S6n&W6+N_umqzbN?`$54Q@Bu{K6~tEgR;`63ff)% z??)?7xJVrT!?HnL0)ocn3yIo5ak82VaC5i|<0tX3P&X9$rj-$i;H$vWkMuQKQV~i< zw*(Wi`*4&{4%t(?2CJOY?O9eAZ=x=2jp1v$_V4d?N^MB14h|t7mlOm%BCy+dx&_9t zNpC6Qkc5DR!fj`gBA2>UKNztuuzZNXo5iXF+D<^b(8S7}e(ZoK)CQ}q`l;e{6r78` zKr{z|dUx6x$o%h{w2ZdzfcQs>CJHcco%<Q{psua_w^5#%U`wRX4BF`Ql<c57tczn@ zkIMU@I$K{no8E)a5zD+F3(xljzY`zSJ2(dMxHk@N_J28K+?ZLZ??jqbs=SZR5O!6V z5Q?6iWF;IlX65A#8ENNA+u+7dBrjFtUm@FRX9>UuU}mnriNAv*n4p{W=sxAGR-S_K zA=DS4*22P<53rDOXOdRk#P*kSybUy%%ZsWWeCBTiN&F{K8*`n_Zj3I;k*y`QkIR+! zPlC86V?E(6Tf^-0Kqy4xta;@+i(`;c%z48vzY9(#5Mrhrp}xuM0VdV+m7~AmD;fvQ zzejHR=3F#yPY)x}NPXotV^`g3MEu4FV>4~d3=6iBAOUv1t<BL7a+d?s*OCP^OoKP8 zH`~4en!Qh8<rZ_7a&tAD?92yyPe6-Ob@Qj&Q`y*IVfV*+_q?c(0yGIHFP^$xFvUg| zpjbN&hJ6Y@TkzsD>GB1S3Ay^Oyn9}XOZOEaHsABAXWdMO(K=tO{V&y?*0XBZ5cR## zHLh!<>a6M*2s#8o%yEORPlv+l1R%#zQ0U5RmlW{6dS@JF6x~RZOjeou=w_UZH%jyx zUY2=2`n7)N$Q=M2r`B`17W%tB3!VgNCA)6ZWm)4GWq(|oU);zoA<OTYnoNuV-^*+- zUD>LyUA<>izy0(hdE&=<%y~`!86^jL;eGeQXe!;rdgWX0U_l`-KMDy0#1+T<SF^nF z2GCqV(r${~hSY!*XgYqwjn+58p47NWk{s9|^l|8EP|SM`et`zQ-okWA{HPhN*E@Vb zmQdLP(R`7=RTAs_s4uy4YD~7?gCrdrFsjEAn@Xh2t%ARdU4O`9ZY;>gRb<3U&3`Vl z7c}D6`*jUutKA=;UKq2$a@o@3&Nu9XgM!~fW}-99%IOpFys0#dv&OUnWC{T}H&Z7- zKV=+$4IaoU^lZRoS9LB1&UJs_7V0Et$!=nyD^}c_qYFDd&kP09s_i_5W%vreqPVw# zQfp}jj;9!~bCA68(W2-wieWGxT-eZFB>P+WVNwIy-8nhtak_E>RpG7ebZ_2Xh!~4- z;VVBC@PSxZvM|<nWgz-U>!z7PGzjeS-Y};qJRMsKnq$E1az7DuQfHE#BR1_!%fAsr z`ip$>(B!H?l51)me%=h5;JoP+XH|DY&pEj>xJV3m-!VTe%2WEI_ux*zH%SH-+j^cq zIoMV|)eMS}Qc7hoNhFb-M;Y;f=RW3{8{k1CTW6Vm47DJ5Zy`4oP^tl24h_GKWh^4F zxgP#HtqMS@;7tQp>FDMaat`}h-BT&mT84`&*<Qnh689de_**^*tBij4K`63u)ike2 zqF1^YM)Pap-YUJj7)VPHaH7D@uhBHzX~tRAHMdBT$meSq-_1hR)CORlGxjv-k?T>_ z`|n68PgZ{J3#n8auwE$Nx9A<xlEdF#260=bObSAh0Wj=LW4d+8+C>gbtWaEkW+MM{ z&blgBr#_(q&@!c4u(xf3`vEEX0C{=wn2VDj6}atl3V?8e?IcZNM!S2ySU<w#*w~#g zXex^u3zD#Z1lhujs`gSAjWMz6z}-BghtL*eJGspnmdodx{W1=Dhx76wlVF;<v(R-W zr0_E*L`~WH!9aWNtHYyYf6$C)9qrFv6rF^z!le@xQJ<lxhHcSDl;s_4CnEipUdP|4 zdTPx$y&R~@KJPN5k_9lqAq#9&Fx!Q*#s;Yj-<hA}zPCD!0?cO$iZ(Eff!%GXZVO#{ z9!nP~Vam(fAl7dFm9AjXr+SGg(;XlK&?;oo;5OpnKrGDk1|@-6pZwVGw)PnJJp9f~ zHB%56Fer*HaRbdOu;m3sIL(B`vAq`=_|#p#o5pYi)R2*K-mWgVZrQ3zXK4JdLP?%! zgGlY>x?(|m24(gAe1k{tS2@qe3P>CvPUcemIx0uMGiiT3T7v-XX*HQ+!=2`FZTQkj z@{bqwrK2azQGZx|&;#r|Z_bqYkjlH-k6Vp{C{asnUBc3h#0%;C(P&t{US>|wZd4$y zPbeD5w}8HO0$6lliwMv|-73f^j?uCDoIh$;^2DJs9YhZzp`u8Lqzvxi<;bHLN`QAw zMtWPi9IjQKYHt4Avxg&D#C8RDKNrU$%+aW7-&upB#F~yBvB<%Y@{x_BBO=LiSaUhh zF5{>lgntf0m?w2-#={-UYrzAK526&dZgCCa+5}LaL41~t6dKPAJITh-;Wj1?qCSlQ z!aNUDF(@dQ|K~wZ(xe&)tyf>1&ezUq1A!Q7g*ODosAk+)U;q5NC-v|<Z=|cAyMwuk z;Qn6suhknV*Fje~%sQov`0=J}f7iz@ESZF@=?UULdcF_e3h2PjuQB?L!2AS;rw&fY zZNtAgs|VWTW1NOm9Dkjcqi6acieHcoZkt3bvRH(sQXWyUE?C5L1z$}tC0Et+|5+=~ zKbm=DC7k&~F6$_5(1Y20?*o|zFu4hQlc2tRA?HZ<(eK8emmi%68zQhP?T-(C{7JI~ z7UtiFet94O_U|K#Jes3<=&vp3Jo6vJ#Gl9izxrVbZT@>}H-+#eduzFop)YP_?^FKc zBbVLYQBnSU`d40o92oMO5)g9xYx}=13g)K&Oz&TJp>q23C6#}q!_85_eALtb-2C#s zLyFL=B2jZs|1bV;^So>cX8!AXFqJa~RQ%VI|9vO!<$qmAF&*&lhiSHp0;Pf^UX9n1 zHa(fDKyL2u4^;^uw&Y(wOtXC&Sn==Q|8=3f+j(H^{k`R!Z)*78C3o_Vj{QHEIX{f_ zw=~#%pSr(jeQR&1%jZ8n`sVKgj`82yZ4wx|{`={`-Oc{3by7r!Cr~o{DZ%`QjP{Y% zazQ81O8z?;3dC`0_P@XTL#&zo-yfW!5{MZ5dHSz(fRyvUetsLsy8Nl({P#sV|M3Js z)a?&#?IWq?KkxJB-1$FAOat=Mf8O5BfF86xIop+=-fqKp2i9V^R`2+<p4#ELHT~ju z^uHZQ&fDPB2DTWf`+?1)Io~sP`M<CD>vEf(URWYwC6baMEBYTb`r0*e{?aSO|ElMs zdPHO&?uyBE%p@87>*4>*gOq_X&;MwK|Mit!nLrWHH~#m${Nse)|E4Vd^Cv(cS@=KF z0AK%i0sZqt_&+N7A19RmyB0rX9KB8L-|zm96F~d;A65HbCy4*w<njL?)BkVs2n0|5 uyPE!yrGMt&{~$~Mtfl|w9JtMH9-cT!u^y4~;#ucW>sM9Qyh~6r4ftOWx4At4 literal 28116 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 diff --git a/build.js b/build.js index 2b14e72..b7e022b 100644 --- a/build.js +++ b/build.js @@ -19,6 +19,7 @@ function getPageHtml(pagename) { <html> <head> <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> <title>Kuadrado Software - ${pagename}</title> <link href="../../style/style.css" rel="stylesheet" /> </head> diff --git a/public/education/education.js b/public/education/education.js index 16c0cc6..83ed969 100644 --- a/public/education/education.js +++ b/public/education/education.js @@ -109,10 +109,12 @@ module.exports = { },{}],4:[function(require,module,exports){ "use strict"; +const { images_url } = require("../../../../constants"); + const GAMEDEV_THEMES = [ { title: "Dessin et création 2D", - class: "crea2d", + image: "learning_theme_2d.png", details: [ "Création de décors et de personnages", "Dessin sur ordinateur, pixel art, vectoriel", @@ -121,12 +123,12 @@ const GAMEDEV_THEMES = [ }, { title: "Musique et sons", - class: "sound", + image: "learning_theme_sound.png", details: ["Logiciels de son et synthétiseurs", "Composition", "Prise de son", "Mixage"], }, { title: "Écriture", - class: "write", + image: "learning_theme_write.png", details: [ "Écrire une histoire, construire une narration", "Imaginer des mondes et des personnages", @@ -134,8 +136,7 @@ const GAMEDEV_THEMES = [ }, { title: "Conception", - class: "conception", - comment: "", + image: "learning_theme_conception.png", details: [ "Concevoir les différents éléments qui composent le jeu", "Développer les mécanismes de gameplay", @@ -143,8 +144,7 @@ const GAMEDEV_THEMES = [ }, { title: "Programmation", - class: "coding", - comment: "", + image: "learning_theme_coding.png", details: [ "Apprendre pas à pas à coder avec différents langages de programmation", "Découvrir les bases du web en créant des mini-jeux en lignes", @@ -152,7 +152,7 @@ const GAMEDEV_THEMES = [ }, { title: "Mathématiques", - class: "math", + image: "learning_theme_math.png", comment: "<em>Créer un jeu vidéo c'est l'occasion de découvrir plein de sujets en maths et en physique tout en s'amusant !</em>", details: [ @@ -169,20 +169,20 @@ const GAMEDEV_THEMES = [ }, { title: "Travail d'équipe", - class: "team", + image: "learning_theme_team.png", comment: ` <em> Faire son jeu tout seul c'est bien mais ça peut être long ! - <br>Créer des jeux c'est aussi l'occasion de se mettre à plusieurs pour tirer le meilleur parti des différents talents de chacun. + <br />Créer des jeux c'est aussi l'occasion de se mettre à plusieurs pour tirer le meilleur parti des différents talents de chacun. </em>`, - details: [], + details: ["Gestion de projet", "Méthodes agiles", "Communication"], }, { title: "Logiciels libres, GNU/Linux", - class: "linux", + image: "learning_theme_linux.png", comment: - "<em>Nous utilisons essentiellement des logiciels libres sur Linux.<br>C'est donc une bonne occasion de découvrir et démystifier tout ça en douceur !</em>", - details: [], + "<em>Nous utilisons essentiellement des logiciels libres sur Linux.<br />C'est donc une bonne occasion de découvrir et démystifier tout ça en douceur !</em>", + details: ["Ubuntu / Debian", "GIMP", "LMMS", "Audacity", "Pencil2d", "..."], }, ]; @@ -205,7 +205,12 @@ class GameStudioClub { tag: "div", class: "full-row", contents: [ - { tag: "h3", contents: "Apprendre à créer un jeu vidéo de A à Z" }, + { + tag: "h3", + class: "big", + contents: + "Apprendre à créer un <blue>jeu vidéo</blue> de A à Z", + }, { tag: "strong", contents: @@ -214,7 +219,7 @@ class GameStudioClub { { tag: "p", contents: - "<em>Aucun prérequis nécessaire. Pas besoin d'être fort en maths ou en informatique, le but est d'apprendre et se détendre !</em>", + "<em><b><blue>Aucun prérequis nécessaire</blue></b>. Pas besoin d'être fort en maths ou en informatique, le but est d'apprendre et se détendre !</em>", }, ], }, @@ -241,7 +246,8 @@ class GameStudioClub { { tag: "strong", contents: "Pour qui ?" }, { tag: "span", - contents: "Tout le monde à partir de 12 ans.", + contents: + "Tout le monde à partir de <b><blue>12 ans</blue></b>.", }, ], }, @@ -272,9 +278,10 @@ class GameStudioClub { contents: GAMEDEV_THEMES.map(li => { return { tag: "li", - class: "learning-theme " + li.class, + class: "learning-theme", contents: [ { tag: "strong", class: "title", contents: li.title }, + { tag: "img", src: `${images_url}/${li.image}` }, { tag: "div", class: "details", @@ -313,7 +320,8 @@ class GameStudioClub { }, { tag: "p", - contents: "Les groupes sont de 5 personnes maximum.", + contents: + "Les groupes sont de <b><blue>5 personnes</blue></b> maximum.", }, { tag: "div", @@ -369,7 +377,7 @@ class GameStudioClub { { tag: "p", contents: `Vous pouvez vous inscrire dans un des groupes pour un mois ou un trimestre. - <br>Le matériel informatique est fourni sur place, mais vous pouvez amener votre propre ordinateur portable si vous le souhaitez. + <br /><br />Le matériel informatique est fourni sur place, mais vous pouvez amener votre propre ordinateur portable si vous le souhaitez. `, }, { @@ -390,7 +398,7 @@ class GameStudioClub { tag: "td", contents: "(4 séances)", }, - { tag: "td", contents: "70€" }, + { tag: "td", contents: "60€" }, ], }, { @@ -405,7 +413,7 @@ class GameStudioClub { tag: "td", contents: "(12 séances)", }, - { tag: "td", contents: "190€" }, + { tag: "td", contents: "160€" }, ], }, ], @@ -425,24 +433,25 @@ class GameStudioClub { module.exports = GameStudioClub; -},{}],5:[function(require,module,exports){ +},{"../../../../constants":2}],5:[function(require,module,exports){ "use strict"; +const { images_url } = require("../../../../constants"); + const VULGARISATION_THEMES = [ { title: "Qu'est-ce qui se passe dans mon ordinateur ?", - class:"pc", - comment: "", + image: "learning_theme_pc.png", details: [ "Répondre aux questions sur l'informatique de tous les jours", "L'organisation des fichiers", "Le navigateur web et les logiciels usuels", + "Le système d'exploitation", ], }, { title: "GNU/Linux, le monde du libre", - class:"linux", - comment: "", + image: "learning_theme_linux.png", details: [ "Installer Linux, démystifier et faire tomber les barrières.", "Qu'est-ce qu'un logiciel libre ? Quels sont les enjeux ?", @@ -450,8 +459,7 @@ const VULGARISATION_THEMES = [ }, { title: "Comment fonctionne le web ?", - class:"web", - comment: "", + image: "learning_theme_web.png", details: [ "De quoi est fait le réseau internet ?", "Comment fonctionnent les différents services que nous utilisons ?", @@ -460,8 +468,7 @@ const VULGARISATION_THEMES = [ }, { title: "Le langages des machines", - class:"coding", - comment: "", + image: "learning_theme_coding.png", details: [ "Démystifier la programmation informatique", "Qu'est-ce qu'un langage de programmation", @@ -480,7 +487,7 @@ class Popularization { tag: "div", class: "title-banner popu-banner", id: "popularization", // anchor id - contents: [{ tag: "h2", contents: "Ateliers de vulgarisation" }], + contents: [{ tag: "h2", contents: "Vulgarisation numérique" }], }, { tag: "div", @@ -503,7 +510,7 @@ class Popularization { { tag: "span", contents: - "Si vous êtes intéressé pour proposer une de ces animations dans votre structure, contactez-nous pour un devis gratuit.", + "Si vous êtes intéressé pour proposer une de ces animations dans votre structure, contactez-nous pour un <b><blue>devis gratuit</blue></b>.", }, ], }, @@ -537,15 +544,11 @@ class Popularization { class: "learning-theme " + li.class, contents: [ { tag: "strong", class: "title", contents: li.title }, + { tag: "img", src: `${images_url}/${li.image}` }, { tag: "div", class: "details", contents: [ - { - tag: "strong", - class: "title", - contents: li.title, - }, { tag: "div", class: "comment", @@ -575,7 +578,7 @@ class Popularization { module.exports = Popularization; -},{}],6:[function(require,module,exports){ +},{"../../../../constants":2}],6:[function(require,module,exports){ "use strict"; const GameStudioClub = require("./components/game-studio-club"); @@ -591,7 +594,7 @@ class EducationPage { tag: "div", id: "education-page", contents: [ - { tag: "h1", contents: "Pédagogie" }, + { tag: "h1", contents: "<blue>Pédagogie</blue>" }, { tag: "p", class: "edu-philo", @@ -627,13 +630,13 @@ module.exports = function runPage(PageComponent) { objectHtmlRenderer.renderCycle(); }; -},{"./lib/object-html-renderer":3,"./template/template":9}],9:[function(require,module,exports){ +},{"./lib/object-html-renderer":3,"./template/template":10}],9:[function(require,module,exports){ "use strict"; -const { images_url } = require("../../constants"); +const { images_url } = require("../../../constants"); +const HOME_LOGO = "logo_kuadrado_s32.png"; const NAV_MENU_ITEMS = [ - ["/public/", "logo_kuadrado_s32.png; "], ["/public/games/", "Jeux"], ["/public/software-development/", "Software"], [ @@ -647,20 +650,53 @@ const NAV_MENU_ITEMS = [ ], ]; -class Template { - constructor(props) { - this.props = props; +class NavBar { + constructor() { + this.initEventHandlers(); + } + + handleBurgerClick() { + document.getElementById("nav-menu-list").classList.toggle("responsive-show"); + } + + initEventHandlers() { + window.addEventListener("click", event => { + if ( + event.target.id !== "nav-menu-list" && + !event.target.classList.contains("burger") && + !event.target.parentNode.classList.contains("burger") + ) { + document.getElementById("nav-menu-list").classList.remove("responsive-show"); + } + }); + } + + renderHome() { + return { + tag: "div", + class: "home", + contents: [ + { + tag: "a", + href: "/public/", + contents: [ + { + tag: "img", + src: `${images_url}/${HOME_LOGO}`, + }, + ], + }, + ], + }; } renderMenu(menuItemsArray, isSubmenu = false) { - const r = { + return { tag: "ul", + id: "nav-menu-list", class: isSubmenu ? "submenu" : "", contents: menuItemsArray.map(link => { - let [href, text, submenu] = link; - const spltTxt = text.split(";"); - text = spltTxt.length > 1 ? spltTxt[1] : text; - const img = spltTxt.length > 1 ? spltTxt[0] : undefined; + const [href, text, submenu] = link; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -668,32 +704,53 @@ class Template { { tag: "a", href, - contents: img - ? [ - { tag: "img", src: `${images_url}/${img}` }, - { tag: "span", contents: text }, - ] - : text, + contents: text, }, ].concat(submenu ? [this.renderMenu(submenu, true)] : []), }; }), }; - return r; } + renderResponsiveBurger() { + return { + tag: "div", + class: "burger", + onclick: this.handleBurgerClick.bind(this), + contents: [{ tag: "span", contents: "···" }], + }; + } + + render() { + return { + tag: "nav", + contents: [ + this.renderHome(), + this.renderResponsiveBurger(), + this.renderMenu(NAV_MENU_ITEMS), + ], + }; + } +} + +module.exports = NavBar; + +},{"../../../constants":2}],10:[function(require,module,exports){ +"use strict"; + +const NavBar = require("./components/navbar"); + +class Template { + constructor(props) { + this.props = props; + } render() { return { tag: "main", contents: [ { tag: "header", - contents: [ - { - tag: "nav", - contents: [this.renderMenu(NAV_MENU_ITEMS)], - }, - ], + contents: [new NavBar().render()], }, { tag: "div", @@ -717,4 +774,4 @@ class Template { module.exports = Template; -},{"../../constants":2}]},{},[7]); +},{"./components/navbar":9}]},{},[7]); diff --git a/public/education/index.html b/public/education/index.html index 4ce83d1..4d42538 100644 --- a/public/education/index.html +++ b/public/education/index.html @@ -3,6 +3,7 @@ <html> <head> <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> <title>Kuadrado Software - education</title> <link href="../../style/style.css" rel="stylesheet" /> </head> diff --git a/public/games/games.js b/public/games/games.js index 3641539..fbed8b6 100644 --- a/public/games/games.js +++ b/public/games/games.js @@ -149,13 +149,13 @@ module.exports = function runPage(PageComponent) { objectHtmlRenderer.renderCycle(); }; -},{"./lib/object-html-renderer":3,"./template/template":7}],7:[function(require,module,exports){ +},{"./lib/object-html-renderer":3,"./template/template":8}],7:[function(require,module,exports){ "use strict"; -const { images_url } = require("../../constants"); +const { images_url } = require("../../../constants"); +const HOME_LOGO = "logo_kuadrado_s32.png"; const NAV_MENU_ITEMS = [ - ["/public/", "logo_kuadrado_s32.png; "], ["/public/games/", "Jeux"], ["/public/software-development/", "Software"], [ @@ -169,20 +169,53 @@ const NAV_MENU_ITEMS = [ ], ]; -class Template { - constructor(props) { - this.props = props; +class NavBar { + constructor() { + this.initEventHandlers(); + } + + handleBurgerClick() { + document.getElementById("nav-menu-list").classList.toggle("responsive-show"); + } + + initEventHandlers() { + window.addEventListener("click", event => { + if ( + event.target.id !== "nav-menu-list" && + !event.target.classList.contains("burger") && + !event.target.parentNode.classList.contains("burger") + ) { + document.getElementById("nav-menu-list").classList.remove("responsive-show"); + } + }); + } + + renderHome() { + return { + tag: "div", + class: "home", + contents: [ + { + tag: "a", + href: "/public/", + contents: [ + { + tag: "img", + src: `${images_url}/${HOME_LOGO}`, + }, + ], + }, + ], + }; } renderMenu(menuItemsArray, isSubmenu = false) { - const r = { + return { tag: "ul", + id: "nav-menu-list", class: isSubmenu ? "submenu" : "", contents: menuItemsArray.map(link => { - let [href, text, submenu] = link; - const spltTxt = text.split(";"); - text = spltTxt.length > 1 ? spltTxt[1] : text; - const img = spltTxt.length > 1 ? spltTxt[0] : undefined; + const [href, text, submenu] = link; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -190,32 +223,53 @@ class Template { { tag: "a", href, - contents: img - ? [ - { tag: "img", src: `${images_url}/${img}` }, - { tag: "span", contents: text }, - ] - : text, + contents: text, }, ].concat(submenu ? [this.renderMenu(submenu, true)] : []), }; }), }; - return r; + } + + renderResponsiveBurger() { + return { + tag: "div", + class: "burger", + onclick: this.handleBurgerClick.bind(this), + contents: [{ tag: "span", contents: "···" }], + }; } + render() { + return { + tag: "nav", + contents: [ + this.renderHome(), + this.renderResponsiveBurger(), + this.renderMenu(NAV_MENU_ITEMS), + ], + }; + } +} + +module.exports = NavBar; + +},{"../../../constants":2}],8:[function(require,module,exports){ +"use strict"; + +const NavBar = require("./components/navbar"); + +class Template { + constructor(props) { + this.props = props; + } render() { return { tag: "main", contents: [ { tag: "header", - contents: [ - { - tag: "nav", - contents: [this.renderMenu(NAV_MENU_ITEMS)], - }, - ], + contents: [new NavBar().render()], }, { tag: "div", @@ -239,4 +293,4 @@ class Template { module.exports = Template; -},{"../../constants":2}]},{},[5]); +},{"./components/navbar":7}]},{},[5]); diff --git a/public/games/index.html b/public/games/index.html index 21b93ee..addc0c4 100644 --- a/public/games/index.html +++ b/public/games/index.html @@ -3,6 +3,7 @@ <html> <head> <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> <title>Kuadrado Software - games</title> <link href="../../style/style.css" rel="stylesheet" /> </head> diff --git a/public/main.js b/public/main.js index b01a708..ffe81b5 100644 --- a/public/main.js +++ b/public/main.js @@ -149,13 +149,13 @@ module.exports = function runPage(PageComponent) { objectHtmlRenderer.renderCycle(); }; -},{"./lib/object-html-renderer":4,"./template/template":7}],7:[function(require,module,exports){ +},{"./lib/object-html-renderer":4,"./template/template":8}],7:[function(require,module,exports){ "use strict"; -const { images_url } = require("../../constants"); +const { images_url } = require("../../../constants"); +const HOME_LOGO = "logo_kuadrado_s32.png"; const NAV_MENU_ITEMS = [ - ["/public/", "logo_kuadrado_s32.png; "], ["/public/games/", "Jeux"], ["/public/software-development/", "Software"], [ @@ -169,20 +169,53 @@ const NAV_MENU_ITEMS = [ ], ]; -class Template { - constructor(props) { - this.props = props; +class NavBar { + constructor() { + this.initEventHandlers(); + } + + handleBurgerClick() { + document.getElementById("nav-menu-list").classList.toggle("responsive-show"); + } + + initEventHandlers() { + window.addEventListener("click", event => { + if ( + event.target.id !== "nav-menu-list" && + !event.target.classList.contains("burger") && + !event.target.parentNode.classList.contains("burger") + ) { + document.getElementById("nav-menu-list").classList.remove("responsive-show"); + } + }); + } + + renderHome() { + return { + tag: "div", + class: "home", + contents: [ + { + tag: "a", + href: "/public/", + contents: [ + { + tag: "img", + src: `${images_url}/${HOME_LOGO}`, + }, + ], + }, + ], + }; } renderMenu(menuItemsArray, isSubmenu = false) { - const r = { + return { tag: "ul", + id: "nav-menu-list", class: isSubmenu ? "submenu" : "", contents: menuItemsArray.map(link => { - let [href, text, submenu] = link; - const spltTxt = text.split(";"); - text = spltTxt.length > 1 ? spltTxt[1] : text; - const img = spltTxt.length > 1 ? spltTxt[0] : undefined; + const [href, text, submenu] = link; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -190,32 +223,53 @@ class Template { { tag: "a", href, - contents: img - ? [ - { tag: "img", src: `${images_url}/${img}` }, - { tag: "span", contents: text }, - ] - : text, + contents: text, }, ].concat(submenu ? [this.renderMenu(submenu, true)] : []), }; }), }; - return r; + } + + renderResponsiveBurger() { + return { + tag: "div", + class: "burger", + onclick: this.handleBurgerClick.bind(this), + contents: [{ tag: "span", contents: "···" }], + }; } + render() { + return { + tag: "nav", + contents: [ + this.renderHome(), + this.renderResponsiveBurger(), + this.renderMenu(NAV_MENU_ITEMS), + ], + }; + } +} + +module.exports = NavBar; + +},{"../../../constants":2}],8:[function(require,module,exports){ +"use strict"; + +const NavBar = require("./components/navbar"); + +class Template { + constructor(props) { + this.props = props; + } render() { return { tag: "main", contents: [ { tag: "header", - contents: [ - { - tag: "nav", - contents: [this.renderMenu(NAV_MENU_ITEMS)], - }, - ], + contents: [new NavBar().render()], }, { tag: "div", @@ -239,4 +293,4 @@ class Template { module.exports = Template; -},{"../../constants":2}]},{},[5]); +},{"./components/navbar":7}]},{},[5]); diff --git a/public/software-development/index.html b/public/software-development/index.html index 22249bb..bf17421 100644 --- a/public/software-development/index.html +++ b/public/software-development/index.html @@ -3,6 +3,7 @@ <html> <head> <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> <title>Kuadrado Software - software-development</title> <link href="../../style/style.css" rel="stylesheet" /> </head> diff --git a/public/software-development/software-development.js b/public/software-development/software-development.js index 3a91476..2144b97 100644 --- a/public/software-development/software-development.js +++ b/public/software-development/software-development.js @@ -149,13 +149,13 @@ module.exports = function runPage(PageComponent) { objectHtmlRenderer.renderCycle(); }; -},{"./lib/object-html-renderer":3,"./template/template":7}],7:[function(require,module,exports){ +},{"./lib/object-html-renderer":3,"./template/template":8}],7:[function(require,module,exports){ "use strict"; -const { images_url } = require("../../constants"); +const { images_url } = require("../../../constants"); +const HOME_LOGO = "logo_kuadrado_s32.png"; const NAV_MENU_ITEMS = [ - ["/public/", "logo_kuadrado_s32.png; "], ["/public/games/", "Jeux"], ["/public/software-development/", "Software"], [ @@ -169,20 +169,53 @@ const NAV_MENU_ITEMS = [ ], ]; -class Template { - constructor(props) { - this.props = props; +class NavBar { + constructor() { + this.initEventHandlers(); + } + + handleBurgerClick() { + document.getElementById("nav-menu-list").classList.toggle("responsive-show"); + } + + initEventHandlers() { + window.addEventListener("click", event => { + if ( + event.target.id !== "nav-menu-list" && + !event.target.classList.contains("burger") && + !event.target.parentNode.classList.contains("burger") + ) { + document.getElementById("nav-menu-list").classList.remove("responsive-show"); + } + }); + } + + renderHome() { + return { + tag: "div", + class: "home", + contents: [ + { + tag: "a", + href: "/public/", + contents: [ + { + tag: "img", + src: `${images_url}/${HOME_LOGO}`, + }, + ], + }, + ], + }; } renderMenu(menuItemsArray, isSubmenu = false) { - const r = { + return { tag: "ul", + id: "nav-menu-list", class: isSubmenu ? "submenu" : "", contents: menuItemsArray.map(link => { - let [href, text, submenu] = link; - const spltTxt = text.split(";"); - text = spltTxt.length > 1 ? spltTxt[1] : text; - const img = spltTxt.length > 1 ? spltTxt[0] : undefined; + const [href, text, submenu] = link; return { tag: "li", class: !isSubmenu && window.location.pathname === href ? "active" : "", @@ -190,32 +223,53 @@ class Template { { tag: "a", href, - contents: img - ? [ - { tag: "img", src: `${images_url}/${img}` }, - { tag: "span", contents: text }, - ] - : text, + contents: text, }, ].concat(submenu ? [this.renderMenu(submenu, true)] : []), }; }), }; - return r; + } + + renderResponsiveBurger() { + return { + tag: "div", + class: "burger", + onclick: this.handleBurgerClick.bind(this), + contents: [{ tag: "span", contents: "···" }], + }; } + render() { + return { + tag: "nav", + contents: [ + this.renderHome(), + this.renderResponsiveBurger(), + this.renderMenu(NAV_MENU_ITEMS), + ], + }; + } +} + +module.exports = NavBar; + +},{"../../../constants":2}],8:[function(require,module,exports){ +"use strict"; + +const NavBar = require("./components/navbar"); + +class Template { + constructor(props) { + this.props = props; + } render() { return { tag: "main", contents: [ { tag: "header", - contents: [ - { - tag: "nav", - contents: [this.renderMenu(NAV_MENU_ITEMS)], - }, - ], + contents: [new NavBar().render()], }, { tag: "div", @@ -239,4 +293,4 @@ class Template { module.exports = Template; -},{"../../constants":2}]},{},[5]); +},{"./components/navbar":7}]},{},[5]); diff --git a/src/pages/education/components/game-studio-club.js b/src/pages/education/components/game-studio-club.js index 6ea91cb..e0de3ec 100644 --- a/src/pages/education/components/game-studio-club.js +++ b/src/pages/education/components/game-studio-club.js @@ -1,9 +1,11 @@ "use strict"; +const { images_url } = require("../../../../constants"); + const GAMEDEV_THEMES = [ { title: "Dessin et création 2D", - class: "crea2d", + image: "learning_theme_2d.png", details: [ "Création de décors et de personnages", "Dessin sur ordinateur, pixel art, vectoriel", @@ -12,12 +14,12 @@ const GAMEDEV_THEMES = [ }, { title: "Musique et sons", - class: "sound", + image: "learning_theme_sound.png", details: ["Logiciels de son et synthétiseurs", "Composition", "Prise de son", "Mixage"], }, { title: "Écriture", - class: "write", + image: "learning_theme_write.png", details: [ "Écrire une histoire, construire une narration", "Imaginer des mondes et des personnages", @@ -25,8 +27,7 @@ const GAMEDEV_THEMES = [ }, { title: "Conception", - class: "conception", - comment: "", + image: "learning_theme_conception.png", details: [ "Concevoir les différents éléments qui composent le jeu", "Développer les mécanismes de gameplay", @@ -34,8 +35,7 @@ const GAMEDEV_THEMES = [ }, { title: "Programmation", - class: "coding", - comment: "", + image: "learning_theme_coding.png", details: [ "Apprendre pas à pas à coder avec différents langages de programmation", "Découvrir les bases du web en créant des mini-jeux en lignes", @@ -43,7 +43,7 @@ const GAMEDEV_THEMES = [ }, { title: "Mathématiques", - class: "math", + image: "learning_theme_math.png", comment: "<em>Créer un jeu vidéo c'est l'occasion de découvrir plein de sujets en maths et en physique tout en s'amusant !</em>", details: [ @@ -60,20 +60,20 @@ const GAMEDEV_THEMES = [ }, { title: "Travail d'équipe", - class: "team", + image: "learning_theme_team.png", comment: ` <em> Faire son jeu tout seul c'est bien mais ça peut être long ! - <br>Créer des jeux c'est aussi l'occasion de se mettre à plusieurs pour tirer le meilleur parti des différents talents de chacun. + <br />Créer des jeux c'est aussi l'occasion de se mettre à plusieurs pour tirer le meilleur parti des différents talents de chacun. </em>`, - details: [], + details: ["Gestion de projet", "Méthodes agiles", "Communication"], }, { title: "Logiciels libres, GNU/Linux", - class: "linux", + image: "learning_theme_linux.png", comment: - "<em>Nous utilisons essentiellement des logiciels libres sur Linux.<br>C'est donc une bonne occasion de découvrir et démystifier tout ça en douceur !</em>", - details: [], + "<em>Nous utilisons essentiellement des logiciels libres sur Linux.<br />C'est donc une bonne occasion de découvrir et démystifier tout ça en douceur !</em>", + details: ["Ubuntu / Debian", "GIMP", "LMMS", "Audacity", "Pencil2d", "..."], }, ]; @@ -96,7 +96,12 @@ class GameStudioClub { tag: "div", class: "full-row", contents: [ - { tag: "h3", contents: "Apprendre à créer un jeu vidéo de A à Z" }, + { + tag: "h3", + class: "big", + contents: + "Apprendre à créer un <blue>jeu vidéo</blue> de A à Z", + }, { tag: "strong", contents: @@ -105,7 +110,7 @@ class GameStudioClub { { tag: "p", contents: - "<em>Aucun prérequis nécessaire. Pas besoin d'être fort en maths ou en informatique, le but est d'apprendre et se détendre !</em>", + "<em><b><blue>Aucun prérequis nécessaire</blue></b>. Pas besoin d'être fort en maths ou en informatique, le but est d'apprendre et se détendre !</em>", }, ], }, @@ -132,7 +137,8 @@ class GameStudioClub { { tag: "strong", contents: "Pour qui ?" }, { tag: "span", - contents: "Tout le monde à partir de 12 ans.", + contents: + "Tout le monde à partir de <b><blue>12 ans</blue></b>.", }, ], }, @@ -163,9 +169,10 @@ class GameStudioClub { contents: GAMEDEV_THEMES.map(li => { return { tag: "li", - class: "learning-theme " + li.class, + class: "learning-theme", contents: [ { tag: "strong", class: "title", contents: li.title }, + { tag: "img", src: `${images_url}/${li.image}` }, { tag: "div", class: "details", @@ -204,7 +211,8 @@ class GameStudioClub { }, { tag: "p", - contents: "Les groupes sont de 5 personnes maximum.", + contents: + "Les groupes sont de <b><blue>5 personnes</blue></b> maximum.", }, { tag: "div", @@ -260,7 +268,7 @@ class GameStudioClub { { tag: "p", contents: `Vous pouvez vous inscrire dans un des groupes pour un mois ou un trimestre. - <br>Le matériel informatique est fourni sur place, mais vous pouvez amener votre propre ordinateur portable si vous le souhaitez. + <br /><br />Le matériel informatique est fourni sur place, mais vous pouvez amener votre propre ordinateur portable si vous le souhaitez. `, }, { @@ -281,7 +289,7 @@ class GameStudioClub { tag: "td", contents: "(4 séances)", }, - { tag: "td", contents: "70€" }, + { tag: "td", contents: "60€" }, ], }, { @@ -296,7 +304,7 @@ class GameStudioClub { tag: "td", contents: "(12 séances)", }, - { tag: "td", contents: "190€" }, + { tag: "td", contents: "160€" }, ], }, ], diff --git a/src/pages/education/components/popularization.js b/src/pages/education/components/popularization.js index 9b42369..2ab8b4e 100644 --- a/src/pages/education/components/popularization.js +++ b/src/pages/education/components/popularization.js @@ -1,20 +1,21 @@ "use strict"; +const { images_url } = require("../../../../constants"); + const VULGARISATION_THEMES = [ { title: "Qu'est-ce qui se passe dans mon ordinateur ?", - class:"pc", - comment: "", + image: "learning_theme_pc.png", details: [ "Répondre aux questions sur l'informatique de tous les jours", "L'organisation des fichiers", "Le navigateur web et les logiciels usuels", + "Le système d'exploitation", ], }, { title: "GNU/Linux, le monde du libre", - class:"linux", - comment: "", + image: "learning_theme_linux.png", details: [ "Installer Linux, démystifier et faire tomber les barrières.", "Qu'est-ce qu'un logiciel libre ? Quels sont les enjeux ?", @@ -22,8 +23,7 @@ const VULGARISATION_THEMES = [ }, { title: "Comment fonctionne le web ?", - class:"web", - comment: "", + image: "learning_theme_web.png", details: [ "De quoi est fait le réseau internet ?", "Comment fonctionnent les différents services que nous utilisons ?", @@ -32,8 +32,7 @@ const VULGARISATION_THEMES = [ }, { title: "Le langages des machines", - class:"coding", - comment: "", + image: "learning_theme_coding.png", details: [ "Démystifier la programmation informatique", "Qu'est-ce qu'un langage de programmation", @@ -52,7 +51,7 @@ class Popularization { tag: "div", class: "title-banner popu-banner", id: "popularization", // anchor id - contents: [{ tag: "h2", contents: "Ateliers de vulgarisation" }], + contents: [{ tag: "h2", contents: "Vulgarisation numérique" }], }, { tag: "div", @@ -75,7 +74,7 @@ class Popularization { { tag: "span", contents: - "Si vous êtes intéressé pour proposer une de ces animations dans votre structure, contactez-nous pour un devis gratuit.", + "Si vous êtes intéressé pour proposer une de ces animations dans votre structure, contactez-nous pour un <b><blue>devis gratuit</blue></b>.", }, ], }, @@ -109,15 +108,11 @@ class Popularization { class: "learning-theme " + li.class, contents: [ { tag: "strong", class: "title", contents: li.title }, + { tag: "img", src: `${images_url}/${li.image}` }, { tag: "div", class: "details", contents: [ - { - tag: "strong", - class: "title", - contents: li.title, - }, { tag: "div", class: "comment", diff --git a/src/pages/education/education.js b/src/pages/education/education.js index 9c180d1..c241aed 100644 --- a/src/pages/education/education.js +++ b/src/pages/education/education.js @@ -13,7 +13,7 @@ class EducationPage { tag: "div", id: "education-page", contents: [ - { tag: "h1", contents: "Pédagogie" }, + { tag: "h1", contents: "<blue>Pédagogie</blue>" }, { tag: "p", class: "edu-philo", diff --git a/src/pages/education/education.scss b/src/pages/education/education.scss index 70439e3..cf3c92f 100644 --- a/src/pages/education/education.scss +++ b/src/pages/education/education.scss @@ -3,6 +3,11 @@ margin: 15px 40px 0; font-size: 25px; } + h3 { + &.big { + font-size: 30px; + } + } .edu-philo { margin: 15px 40px 15px 100px; max-width: 800px; @@ -12,7 +17,8 @@ display: flex; justify-content: flex-end; flex-direction: column; - height: 300px; + height: 15vw; + min-height: 250px; &.game-banner { background-image: url("../../../assets/images/game_studio_banner.png"); } @@ -21,7 +27,7 @@ } background-size: cover; background-repeat: no-repeat; - background-position: 0% 90%; + background-position: center; h2 { color: white; font-size: 2.5em; @@ -57,7 +63,6 @@ span, a { font-size: 14px; - text-decoration: none; } } } @@ -68,55 +73,20 @@ gap: 20px 30px; flex-wrap: wrap; li.learning-theme { - &.crea2d { - background: url("../../../assets/images/learning_theme_2d.png") no-repeat ; - background-size: cover; - } - &.sound { - background: url("../../../assets/images/learning_theme_sound.png") no-repeat; - background-size: cover; - } - &.coding { - background: url("../../../assets/images/learning_theme_coding.png") no-repeat; - background-size: cover; - } - &.math { - background: url("../../../assets/images/learning_theme_math.png") no-repeat; - background-size: cover; - } - &.linux { - background: url("../../../assets/images/learning_theme_linux.png") no-repeat; - background-size: cover; - } - &.team { - background: url("../../../assets/images/learning_theme_team.png") no-repeat; - background-size: cover; - } - &.conception { - background: url("../../../assets/images/learning_theme_conception.png") no-repeat; - background-size: cover; - } - &.write { - background: url("../../../assets/images/learning_theme_write.png") no-repeat; - background-size: cover; - } - &.web { - background: url("../../../assets/images/learning_theme_web.png") no-repeat; - background-size: cover; - } - &.pc { - background: url("../../../assets/images/learning_theme_pc.png") no-repeat; - background-size: cover; - } - width: 250px; - height: 140px; position: relative; box-shadow: 3px 3px 5px 1px #0001; - padding: 10px; + display: flex; + flex-direction: column; .title { color: $dark_2; - font-size: 1.1em; display: block; + position: absolute; + background-color: white; + padding: 5px 25px; + } + img { + width: 100%; + height: auto; } .details { background-color: #fffd; @@ -164,7 +134,6 @@ padding: 20px; display: flex; flex-direction: column; - // box-shadow: 3px 3px 5px 1px #0001; h3 { margin: 0; } @@ -181,4 +150,121 @@ } } } + @media screen and (max-width: $screen_l) { + .section-contents { + ul.learning-themes { + display: block; + li.learning-theme { + margin-bottom: 20px; + .details { + background-color: #fff9; + position: relative; + top: unset; + width: 100%; + left: unset; + max-height: unset; + visibility: visible; + padding: 10px; + box-shadow: none; + .comment { + font-style: italic; + } + ul { + list-style-type: disc; + font-size: 14px; + margin-left: 10px; + li { + color: $dark_3; + } + } + } + } + } + } + } + + @media screen and (max-width: $screen_s) { + h1 { + margin: 15px 20px 0; + font-size: 25px; + } + h3 { + &.big { + font-size: 22px; + } + } + .edu-philo { + margin: 15px; + max-width: unset; + } + .title-banner { + height: 170px; + min-height: unset; + h2 { + font-size: 2em; + margin: 20px; + text-shadow: 0 0 4px #000b; + } + } + .section-contents { + margin: 20px 10px 40px; + grid-template-columns: 1fr; + .full-row { + grid-column: 1; + } + .practical-infos { + grid-column: 1; + grid-row: 3; + gap: 10px; + padding: 10px; + } + ul.learning-themes { + grid-column: 1; + grid-row: 2; + display: block; + li.learning-theme { + margin-bottom: 20px; + .details { + background-color: #fff9; + position: relative; + top: unset; + width: 100%; + left: unset; + max-height: unset; + visibility: visible; + padding: 10px; + box-shadow: none; + ul { + li { + color: $dark_3; + } + } + } + } + } + + .infos-inscriptions { + display: flex; + gap: 10px; + padding: 10px; + flex-direction: column; + .groups, + .pricing { + background-color: white; + padding: 20px; + display: flex; + flex-direction: column; + .table-wrapper { + table { + width: 100%; + td { + border: 1px solid #dde; + padding: 10px; + } + } + } + } + } + } + } } diff --git a/src/style.scss b/src/style.scss index f7a0354..276db2b 100644 --- a/src/style.scss +++ b/src/style.scss @@ -15,6 +15,17 @@ body { padding: 0; list-style-type: none; } + a { + color: $blue_2; + text-decoration: none; + &:hover { + color: $blue_3; + } + } + + blue { + color: $blue_2; + } } main { @@ -27,6 +38,15 @@ main { header { width: 100%; nav { + display: flex; + align-items: center; + height: $navbar_height; + .home { + margin: 0 10px; + img { + width: 40px; + } + } ul { display: flex; padding: 0; @@ -42,9 +62,6 @@ main { color: $light_1; font-weight: 800; text-decoration: none; - img { - width: 40px; - } } .submenu { @@ -89,6 +106,66 @@ main { } } } + .burger { + display: none; + } + @media screen and (max-width: $screen_s) { + justify-content: space-between; + .burger { + display: flex; + font-weight: bold; + border: 1px solid; + margin: 0 20px; + cursor: pointer; + flex-direction: column; + align-items: center; + justify-content: center; + border-radius: 100%; + width: 25px; + height: 25px; + color: $dark_3; + font-size: 20px; + } + ul { + display: none; + &.responsive-show { + display: flex; + position: absolute; + right: 0; + max-width: 100vw; + min-width: 50vw; + top: $navbar_height; + flex-direction: column; + background-color: white; + box-shadow: 0 4px 6px 2px #0000000a; + li { + &.active { + a { + border: none; + } + } + .submenu { + display: flex; + visibility: visible; + position: relative; + height: unset; + max-height: unset; + transition: max-height 0.6s; + top: unset; + left: unset; + li { + a { + font-weight: 400; + font-size: 12px; + color: $light_1; + } + } + margin-left: 20px; + } + } + } + } + } } } #page-container { diff --git a/src/template/components/navbar.js b/src/template/components/navbar.js new file mode 100644 index 0000000..a915921 --- /dev/null +++ b/src/template/components/navbar.js @@ -0,0 +1,103 @@ +"use strict"; + +const { images_url } = require("../../../constants"); + +const HOME_LOGO = "logo_kuadrado_s32.png"; +const NAV_MENU_ITEMS = [ + ["/public/games/", "Jeux"], + ["/public/software-development/", "Software"], + [ + "/public/education/", + "Pédagogie", + [ + // submenu + ["/public/education/#game-studio-club", "Game Studio Club"], + ["/public/education/#popularization", "Animations vulgarisation"], + ], + ], +]; + +class NavBar { + constructor() { + this.initEventHandlers(); + } + + handleBurgerClick() { + document.getElementById("nav-menu-list").classList.toggle("responsive-show"); + } + + initEventHandlers() { + window.addEventListener("click", event => { + if ( + event.target.id !== "nav-menu-list" && + !event.target.classList.contains("burger") && + !event.target.parentNode.classList.contains("burger") + ) { + document.getElementById("nav-menu-list").classList.remove("responsive-show"); + } + }); + } + + renderHome() { + return { + tag: "div", + class: "home", + contents: [ + { + tag: "a", + href: "/public/", + contents: [ + { + tag: "img", + src: `${images_url}/${HOME_LOGO}`, + }, + ], + }, + ], + }; + } + + renderMenu(menuItemsArray, isSubmenu = false) { + return { + tag: "ul", + id: "nav-menu-list", + class: isSubmenu ? "submenu" : "", + contents: menuItemsArray.map(link => { + const [href, text, submenu] = link; + return { + tag: "li", + class: !isSubmenu && window.location.pathname === href ? "active" : "", + contents: [ + { + tag: "a", + href, + contents: text, + }, + ].concat(submenu ? [this.renderMenu(submenu, true)] : []), + }; + }), + }; + } + + renderResponsiveBurger() { + return { + tag: "div", + class: "burger", + onclick: this.handleBurgerClick.bind(this), + contents: [{ tag: "span", contents: "···" }], + }; + } + + render() { + return { + tag: "nav", + contents: [ + this.renderHome(), + this.renderResponsiveBurger(), + this.renderMenu(NAV_MENU_ITEMS), + ], + }; + } +} + +module.exports = NavBar; diff --git a/src/template/template.js b/src/template/template.js index f945e3a..3c13131 100644 --- a/src/template/template.js +++ b/src/template/template.js @@ -1,69 +1,18 @@ "use strict"; -const { images_url } = require("../../constants"); - -const NAV_MENU_ITEMS = [ - ["/public/", "logo_kuadrado_s32.png; "], - ["/public/games/", "Jeux"], - ["/public/software-development/", "Software"], - [ - "/public/education/", - "Pédagogie", - [ - // submenu - ["/public/education/#game-studio-club", "Game Studio Club"], - ["/public/education/#popularization", "Animations vulgarisation"], - ], - ], -]; +const NavBar = require("./components/navbar"); class Template { constructor(props) { this.props = props; } - - renderMenu(menuItemsArray, isSubmenu = false) { - const r = { - tag: "ul", - class: isSubmenu ? "submenu" : "", - contents: menuItemsArray.map(link => { - let [href, text, submenu] = link; - const spltTxt = text.split(";"); - text = spltTxt.length > 1 ? spltTxt[1] : text; - const img = spltTxt.length > 1 ? spltTxt[0] : undefined; - return { - tag: "li", - class: !isSubmenu && window.location.pathname === href ? "active" : "", - contents: [ - { - tag: "a", - href, - contents: img - ? [ - { tag: "img", src: `${images_url}/${img}` }, - { tag: "span", contents: text }, - ] - : text, - }, - ].concat(submenu ? [this.renderMenu(submenu, true)] : []), - }; - }), - }; - return r; - } - render() { return { tag: "main", contents: [ { tag: "header", - contents: [ - { - tag: "nav", - contents: [this.renderMenu(NAV_MENU_ITEMS)], - }, - ], + contents: [new NavBar().render()], }, { tag: "div", diff --git a/src/theme.scss b/src/theme.scss index 114bfdd..4551e25 100644 --- a/src/theme.scss +++ b/src/theme.scss @@ -15,3 +15,14 @@ $red_1: #9c3030; $red_2: #e74949; $yellow_1: #e5a002; $yellow_2: #ffe600; + +// screen thresholds +$screen_l: 900px; +$screen_m: 780px; +$screen_s: 560px; +$screen_xs: 480px; + + +// useful constants + +$navbar_height: 40px; diff --git a/style/pages/education/education.css b/style/pages/education/education.css index bd02186..f4a31b9 100644 --- a/style/pages/education/education.css +++ b/style/pages/education/education.css @@ -1,9 +1,9 @@ /* Error: Undefined variable. * , - * 47 | background-color: $light_0; + * 53 | background-color: $light_0; * | ^^^^^^^^ * ' - * src/pages/education/education.scss 47:31 root stylesheet */ + * src/pages/education/education.scss 53:31 root stylesheet */ body::before { font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono", @@ -13,5 +13,5 @@ body::before { padding: 1em; margin-bottom: 1em; border-bottom: 2px solid black; - content: "Error: Undefined variable.\a \2577 \a 47 \2502 background-color: $light_0;\a \2502 ^^^^^^^^\a \2575 \a src/pages/education/education.scss 47:31 root stylesheet"; + content: "Error: Undefined variable.\a \2577 \a 53 \2502 background-color: $light_0;\a \2502 ^^^^^^^^\a \2575 \a src/pages/education/education.scss 53:31 root stylesheet"; } diff --git a/style/style.css b/style/style.css index 13f29f2..5511c24 100644 --- a/style/style.css +++ b/style/style.css @@ -14,6 +14,16 @@ body ul { padding: 0; list-style-type: none; } +body a { + color: #34a0b3; + text-decoration: none; +} +body a:hover { + color: #17cff0; +} +body blue { + color: #34a0b3; +} main { background: url("../assets/images/wallpaper_binary_white.png"); @@ -26,6 +36,17 @@ main { main header { width: 100%; } +main header nav { + display: flex; + align-items: center; + height: 40px; +} +main header nav .home { + margin: 0 10px; +} +main header nav .home img { + width: 40px; +} main header nav ul { display: flex; padding: 0; @@ -44,9 +65,6 @@ main header nav ul li a { font-weight: 800; text-decoration: none; } -main header nav ul li a img { - width: 40px; -} main header nav ul li .submenu { visibility: hidden; overflow: hidden; @@ -78,6 +96,62 @@ main header nav ul li:hover .submenu a { main header nav ul li:hover .submenu li:hover a { color: #3c4144; } +main header nav .burger { + display: none; +} +@media screen and (max-width: 560px) { + main header nav { + justify-content: space-between; + } + main header nav .burger { + display: flex; + font-weight: bold; + border: 1px solid; + margin: 0 20px; + cursor: pointer; + flex-direction: column; + align-items: center; + justify-content: center; + border-radius: 100%; + width: 25px; + height: 25px; + color: #555d61; + font-size: 20px; + } + main header nav ul { + display: none; + } + main header nav ul.responsive-show { + display: flex; + position: absolute; + right: 0; + max-width: 100vw; + min-width: 50vw; + top: 40px; + flex-direction: column; + background-color: white; + box-shadow: 0 4px 6px 2px #0000000a; + } + main header nav ul.responsive-show li.active a { + border: none; + } + main header nav ul.responsive-show li .submenu { + display: flex; + visibility: visible; + position: relative; + height: unset; + max-height: unset; + transition: max-height 0.6s; + top: unset; + left: unset; + margin-left: 20px; + } + main header nav ul.responsive-show li .submenu li a { + font-weight: 400; + font-size: 12px; + color: #96a5ae; + } +} main #page-container { background-color: white; width: 1200px; @@ -88,6 +162,9 @@ main #page-container #education-page h1 { margin: 15px 40px 0; font-size: 25px; } +main #page-container #education-page h3.big { + font-size: 30px; +} main #page-container #education-page .edu-philo { margin: 15px 40px 15px 100px; max-width: 800px; @@ -97,10 +174,11 @@ main #page-container #education-page .title-banner { display: flex; justify-content: flex-end; flex-direction: column; - height: 300px; + height: 15vw; + min-height: 250px; background-size: cover; background-repeat: no-repeat; - background-position: 0% 90%; + background-position: center; } main #page-container #education-page .title-banner.game-banner { background-image: url("../../../assets/images/game_studio_banner.png"); @@ -145,7 +223,6 @@ main #page-container #education-page .section-contents .practical-infos .info-it main #page-container #education-page .section-contents .practical-infos .info-item span, main #page-container #education-page .section-contents .practical-infos .info-item a { font-size: 14px; - text-decoration: none; } main #page-container #education-page .section-contents ul.learning-themes { grid-column: 1; @@ -155,56 +232,21 @@ main #page-container #education-page .section-contents ul.learning-themes { flex-wrap: wrap; } main #page-container #education-page .section-contents ul.learning-themes li.learning-theme { - width: 250px; - height: 140px; position: relative; box-shadow: 3px 3px 5px 1px #0001; - padding: 10px; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.crea2d { - background: url("../../../assets/images/learning_theme_2d.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.sound { - background: url("../../../assets/images/learning_theme_sound.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.coding { - background: url("../../../assets/images/learning_theme_coding.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.math { - background: url("../../../assets/images/learning_theme_math.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.linux { - background: url("../../../assets/images/learning_theme_linux.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.team { - background: url("../../../assets/images/learning_theme_team.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.conception { - background: url("../../../assets/images/learning_theme_conception.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.write { - background: url("../../../assets/images/learning_theme_write.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.web { - background: url("../../../assets/images/learning_theme_web.png") no-repeat; - background-size: cover; -} -main #page-container #education-page .section-contents ul.learning-themes li.learning-theme.pc { - background: url("../../../assets/images/learning_theme_pc.png") no-repeat; - background-size: cover; + display: flex; + flex-direction: column; } main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .title { color: #3c4144; - font-size: 1.1em; display: block; + position: absolute; + background-color: white; + padding: 5px 25px; +} +main #page-container #education-page .section-contents ul.learning-themes li.learning-theme img { + width: 100%; + height: auto; } main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .details { background-color: #fffd; @@ -263,6 +305,115 @@ main #page-container #education-page .section-contents .infos-inscriptions .pric border: 1px solid #dde; padding: 10px 20px; } +@media screen and (max-width: 900px) { + main #page-container #education-page .section-contents ul.learning-themes { + display: block; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme { + margin-bottom: 20px; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .details { + background-color: #fff9; + position: relative; + top: unset; + width: 100%; + left: unset; + max-height: unset; + visibility: visible; + padding: 10px; + box-shadow: none; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .details .comment { + font-style: italic; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .details ul { + list-style-type: disc; + font-size: 14px; + margin-left: 10px; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .details ul li { + color: #555d61; + } +} +@media screen and (max-width: 560px) { + main #page-container #education-page h1 { + margin: 15px 20px 0; + font-size: 25px; + } + main #page-container #education-page h3.big { + font-size: 22px; + } + main #page-container #education-page .edu-philo { + margin: 15px; + max-width: unset; + } + main #page-container #education-page .title-banner { + height: 170px; + min-height: unset; + } + main #page-container #education-page .title-banner h2 { + font-size: 2em; + margin: 20px; + text-shadow: 0 0 4px #000b; + } + main #page-container #education-page .section-contents { + margin: 20px 10px 40px; + grid-template-columns: 1fr; + } + main #page-container #education-page .section-contents .full-row { + grid-column: 1; + } + main #page-container #education-page .section-contents .practical-infos { + grid-column: 1; + grid-row: 3; + gap: 10px; + padding: 10px; + } + main #page-container #education-page .section-contents ul.learning-themes { + grid-column: 1; + grid-row: 2; + display: block; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme { + margin-bottom: 20px; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .details { + background-color: #fff9; + position: relative; + top: unset; + width: 100%; + left: unset; + max-height: unset; + visibility: visible; + padding: 10px; + box-shadow: none; + } + main #page-container #education-page .section-contents ul.learning-themes li.learning-theme .details ul li { + color: #555d61; + } + main #page-container #education-page .section-contents .infos-inscriptions { + display: flex; + gap: 10px; + padding: 10px; + flex-direction: column; + } + main #page-container #education-page .section-contents .infos-inscriptions .groups, +main #page-container #education-page .section-contents .infos-inscriptions .pricing { + background-color: white; + padding: 20px; + display: flex; + flex-direction: column; + } + main #page-container #education-page .section-contents .infos-inscriptions .groups .table-wrapper table, +main #page-container #education-page .section-contents .infos-inscriptions .pricing .table-wrapper table { + width: 100%; + } + main #page-container #education-page .section-contents .infos-inscriptions .groups .table-wrapper table td, +main #page-container #education-page .section-contents .infos-inscriptions .pricing .table-wrapper table td { + border: 1px solid #dde; + padding: 10px; + } +} main footer { width: 100%; background-color: #fff1; diff --git a/style/style.css.map b/style/style.css.map index 2d8e97b..4a31706 100644 --- a/style/style.css.map +++ b/style/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../src/style.scss","../src/theme.scss","../src/pages/education/education.scss"],"names":[],"mappings":"AAEA;EAQI;EACA;;AARA;EACI;EACA,OCLC;EDMD;EACA;EACA;;AAIJ;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEI;EACI;EACA;EACA;EACA;;AACA;EACI;;AACA;EACI;EACA;EACA;EACA;EACA,OCrCd;EDsCc;EACA;;AACA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACI,OC/DnB;EDgEmB;;AAIJ;EACI,OCrEnB;;ADwEe;EACI;EACA;;AACA;EACI,OCzEtB;ED0EsB;;AAII;EACI,OClF/B;;AD4FL;EACI;EACA;EACA;EACA;;AEhGJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EAOA;EACA;EACA;;AARA;EACI;;AAEJ;EACI;;AAKJ;EACI;EACA;EACA;EACA;;AAGR;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA,kBD3CF;EC4CE;;AACA;EACI;EACA;EACA;EACA;;AACA;EACI;;AAEJ;AAAA;EAEI;EACA;;AAIZ;EACI;EACA;EACA;EACA;EACA;;AACA;EAyCI;EACA;EACA;EACA;EACA;;AA5CA;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAOJ;EACI,ODnHX;ECoHW;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI;EACA;EACA;;AAIJ;EACI;EACA;;AAMhB;EACI;EACA;EACA,kBD3JF;EC4JE;;AACA;AAAA;EAEI;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAGA;AAAA;EACI;EACA;;AACA;AAAA;EACI;EACA;;AF5ExB;EACI;EACA;EACA","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../src/style.scss","../src/theme.scss","../src/pages/education/education.scss"],"names":[],"mappings":"AAEA;EAQI;EACA;;AARA;EACI;EACA,OCLC;EDMD;EACA;EACA;;AAIJ;EACI;EACA;EACA;;AAEJ;EACI,OCPC;EDQD;;AACA;EACI,OCTH;;ADaL;EACI,OCfC;;;ADmBT;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;AACA;EACI;EACA;EACA,QCfI;;ADgBJ;EACI;;AACA;EACI;;AAGR;EACI;EACA;EACA;EACA;;AACA;EACI;;AACA;EACI;EACA;EACA;EACA;EACA,OCzDd;ED0Dc;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACI,OChFnB;EDiFmB;;AAIJ;EACI,OCtFnB;;ADyFe;EACI;EACA;;AACA;EACI,OC1FtB;ED2FsB;;AAII;EACI,OCnG/B;;AD2GG;EACI;;AAEJ;EAxEJ;IAyEQ;;EACA;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OC3HX;ID4HW;;EAEJ;IACI;;EACA;IACI;IACA;IACA;IACA;IACA;IACA,KC7GR;ID8GQ;IACA;IACA;;EAGQ;IACI;;EAGR;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAQA;;EANI;IACI;IACA;IACA,OC3J9B;;;ADsKN;EACI;EACA;EACA;EACA;;AE7KJ;EACI;EACA;;AAGA;EACI;;AAGR;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;;AARA;EACI;;AAEJ;EACI;;AAKJ;EACI;EACA;EACA;EACA;;AAGR;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA,kBDjDF;ECkDE;;AACA;EACI;EACA;EACA;EACA;;AACA;EACI;;AAEJ;AAAA;EAEI;;AAIZ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;;AACA;EACI,OD/EX;ECgFW;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI;EACA;EACA;;AAIJ;EACI;EACA;;AAMhB;EACI;EACA;EACA,kBD7HF;EC8HE;;AACA;AAAA;EAEI;EACA;EACA;EACA;;AACA;AAAA;EACI;;AAGA;AAAA;EACI;EACA;;AACA;AAAA;EACI;EACA;;AAOxB;EAEQ;IACI;;EACA;IACI;;EACA;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EACA;IACI;;EAEJ;IACI;IACA;IACA;;EACA;IACI,OD9KvB;;;ACuLL;EACI;IACI;IACA;;EAGA;IACI;;EAGR;IACI;IACA;;EAEJ;IACI;IACA;;EACA;IACI;IACA;IACA;;EAGR;IACI;IACA;;EACA;IACI;;EAEJ;IACI;IACA;IACA;IACA;;EAEJ;IACI;IACA;IACA;;EACA;IACI;;EACA;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEI;IACI,OD5OvB;;ECmPG;IACI;IACA;IACA;IACA;;EACA;AAAA;IAEI;IACA;IACA;IACA;;EAEI;AAAA;IACI;;EACA;AAAA;IACI;IACA;;;AFpF5B;EACI;EACA;EACA","file":"style.css"} \ No newline at end of file -- GitLab