From 6bfa66cac35f829e5d9a88b2f26dbeab0db51f60 Mon Sep 17 00:00:00 2001 From: IC Date: Fri, 19 Apr 2019 22:12:17 +0300 Subject: [PATCH 01/14] * Create a layout based on this mockup. * Dimensions, fonts and colors are up to you. * For text use simple (no links or buttons are required) * Use both Flex and Grid in appropriate places. * The layout should be fully responsive, should look good on all devices (from mobile to desktop). * Any animations, transitions and other creativities are welcome (but not required) --- layout-homework.pdf | Bin 0 -> 94160 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 layout-homework.pdf diff --git a/layout-homework.pdf b/layout-homework.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a30b9e6e6ea0a8bfb4bc4fe1a9e346fd23f2ca2 GIT binary patch literal 94160 zcmeFa2V7InwlBUZf`W=juR%fSAR@g);YXL=q>F$ENN=G=ML;PcU6CRny+owffHVQ= zO+b2Yl28MLGizq8Dc@N$xu*4-BEOJ;Fxj=1 z#qGuQoSpZ5Ep24C*lw^nKd>j0mSz*YYvW|=@rX?X^wMDyRJ42SVdDlqA6t6Z{AOe2 zY;D6PD@*3?;bvp$NCqR|)jO-lrFR366P9N`ooUH#8 zJ4l^o>NF>(PjTVX&rYeEf0JE39~T=oK`l$$pLaJKCl5B^-?Oe`O~W@Y2fCi=UF zyt9)B__;gVDZ3zV>NeJPmU7N8Hj^8mhp5m^HZh5tW@I3He@f@{dw(t#EjMQ?T^kQJ z6ELyg6xjq-9Kj^z{`8dp(^G}bj7{*K<^y{hD-X8Q!c=h-ViWtBnyl<;x&0~PQ?EZq z{HO93{~1c~cXs|9g`lqI1CO5!{!ETd(9q5rtQ#R=AyGC#Wg9!&M;>evw?x2nK+fD; zoKGu>%)`wSEDL$($IfoLE|yj{Y!bgmeHsQV9YHM{uuxn)JS`uy3Ch`dxP$NV&WlK2z!{JNg8;GwOn;#j3Ag~FpZSL@e$v-|l9z^9BF3VCPsFQF&b`^d z$OYo(2%oFS%UfvaXez4QRrtvWp@*f5%j458J34u|=_tvu-7_*~BmEAL1LuLufFwX? zY31&6M@#GO&p7{&xBZcyc?SmhPvd&1ayTX(?44FdqWYFq(u42+_?5qUl3UxjTY=1< z1--1S-K`u!`Y}lJS-H4*fb<)X=J)n+Iiit;>+JLi06RKA>wQ~@&s@GDbccjW+miIEEA`E%(dlQ|pPO4++uFZ$ zbPfy-4Udd|8ylaUn_pO5T3%UQLvQcw?(H974v$XxA^?bfXA8Xl&e^}=ixT9EkeHZ= znDmq{0zz-_BBCTdb47^c@*QnbOINC^H=mxRmWxg=X*$O)tb?L?;MPw@%W-S=8v2yA zpPc=Dj6M5LarPI+{>s+`AP*4!bVP)NL}!SIh|Z9l0UgO%l2dnu{+}Iw5^NlG@#DaGA_7pDh$sOlaPlD|jQ23&1mMaD z`*r;T$^hT@mm=Lk(7}#zlxC_j&<%+F&eh95cD$_kx*{B%e;keS;{ozm+qOU83gmKP(iy{+P*;iY8s<7IaGWx9jPxZM3M zjA_~)DIVyE!i_3n1vHO>@W4Vl9&kWVX4FIX)CBQB8ax8|6^$H?7{tNh3nh4feF8b_ z1|Ndpf$Pv?GYG00x<-KqVj(BRb&6roVLl`-0Cy7)+`t3o!kULCcp#=78|8!tf;;el z799Hq4{UnCKQG{cTqy1?e7^?G$b|>=K7mXeV7jo)C$Mhl@&Qf_vMp1KqvJfeg9o;) z@IZP0A9-zglzF1lg$I_W=LL5t_U3PaIh{V_gMazI@)Y$~mY}~l`v0ts4!VWsko&K) z>~ipcjSt*DLA=uEaH9U%G82hwnsF%_ItRz{Mr}-E67awy@c(dnd!l1(VFM3X?xf(p zwZbYx;0x9R@bw=QC-l5(`>A-~tpjcvx*zFpd)bEGU-oJ;S6fF;fW=zi&Wyg1t;F+3 z4>eQy>qW;e!yoo~Kv09oJ%0GYG9IwY#4&o~vJlv0P%K5ZBWdPOR1>X^>2Oy974X1q zP$)scI%Hql!q`n8B_Oxm@jw|Ui5H~sfX*mR1HPYhs2C=jrS=itBKQTla;g+*cz`3o z>E2;qbH$jxJx3*5yEDj|=rFK|k z*-=wy9^&e1Jc?4D|- zCa8k4#eWR+w?%-6dz87RS4)bO!-nIYg6d`mUP{B$|9&Y^2dF0A#{(}cqTzi|oH`Vz zd{p~4<#-F;tbqrH%E7eLPO=-cGotczHXvy7ZNa0{wg#;94v66&!bJT|@s4)h(%$1S z3;I3w~+AFD>|`1;4c5UtJ3Vi?tPKX41Z-D^P2Z;`{$H%Rij> z*D)@wEp6+{eD9SGEs&zM!lXL1c9oKqI}B&tiU~>btll-s)|Y!l8wpdX z)H#x}b3DsyqS;rTqOZ0(qVt_?t@Am8rF2ksxO66pqIHhnS4u4nbMW%+rzb8(dQU55 z7oG%^PSwC6u>7M7Ds|AzFOMH@$YozSnObVsOoVXt0ISo3G%vr}?gai^P3Rsot&b zP}`GxE`1Qh*2bQnvmA|Z-AtI%n^VRdzv+SruQc^PML*u-Jsb^x8 z*sSjpJPk{0YLKm|NKhARp>yQ_kUMcLR-nJ(=FRUVq&fb~RuO{lT*`P zxI4_1{71dRHU=hRon7EeIB*Ic9K~IMb=v8CZl(#3J=p4uFW#(m+-SJF_+#V8#&ywyk1}=d zZ6Al}m#hcr7fjVjNW(8-B|Nj&Ev*|$XRo)>J44uAr`dvDy>~aKxpmW|`&wP5Lrd#D zUm9_d3bVJ811UVwWwSM_#oa!_%oALZWFBa0n{Ew1u}pQRv?Q!@ZbsOi=J`JZiQiGZ z*oY*}lK^o3n|a1AaBzBuA3m{+>o1%>j|aYVe82;v-yugg3=%hG@W9Q{lLq)EBX%nS zI+c4Qd=$FU4#HLUjzE}5{R=ox=R%}G``p3l=X3Tp_%1L6MbTQ|uIDPuZU#EanO$eO zxu&*4vdVVPv@^V&?}-yp^pH2ro^3Of(!m=_;;)ixYTk8iBvtS?Dyf8MQImpV`WV;) zuV3i7y=Z!Mxu;f>G`JQGB?Lfs=r-k4`x(i z^ZcB9z2W1@hjM=ceig7x| zBhq(*51OZ$?JAaj9LU$cqFH>``H)N~Ii)_cu&U$j?ql*TGj!OSgM~68W+FM%}F+qmG#U3d)*Y>YD2G0a9Xf+Z&)1yqLY&BygM~Bnu z_c?dSmp>^_40_@cXnyf5RNexH(Y#xZ%6Ybc+I;?g(oS@F^L&nYbqrJlxyz>LM`J1 zGrxZ8T7hQgs>KrQ0DFZM#HQYpq~n1nAbN@xNy){)&HLw7${j_QIyj{CbAsp2`_9l3 zU9Y#8^Nz$?W@8SFKMn2`)cV1)3D{rR>SbNst?ya2zYYr7B zoO~D8?fRY@(i1CRyt7XvA>x7%&E(~O9B`dftbORHZ27F)aOo%Kw*n^9W}6v-IT2vL z_ATIrwgNSvt>6v4C@tV`Hg|mC`ki;5fTRY%1vxoX2kT83dX zf0I6Y`pcr=Znu(Z{FR}i59KlUM)ZxS^Q>LtEmPkg_2;Z6B@{u&JPK40*U3z*g~}q! zJjJy%NQ(lr(Y30B(iStDVso6KFOsD0Q>G}MtMnQdZgXc&wyIb{#6R|AkylIGG`1P4 zh$V6*HU!1aKRPN~2%D|7;o3{?am(lwaW0 z8?e4tt|n1986wxsq^QjL^ahYA})ax&fOhDN2$2T%; zFDWXv-*#!VW_Iz_Kh`9JqN~%o_h+C z!M>6gOiI~>tUS3!cw0`K9rL>Q+`J1L^R_z0*wM0a30kyz)=X}8iudf8f5t`!bF^AX z1yN%Mr#SPF^xedp4tlURQ=%=}&2v6^S;oQD@sr8sJ%aF9W5~@lV}a64`ccD=RV6o{ zX=zfmR$Z+6PU5<0Y&U~oP|ioMh;0-S5F2;iAx(z}`c}?Q>go*DnG{@*`(YA&X0cO| z!^f@elxkgzW zb?pRNW+TusA}cuESSUR1yY5t1%7>!W08JK)Gnm#P$w!78Iq9^YqCtfmM9!W?=bQi{ z6xcI~c;F>M9t~+d@l_X;ACMNx?Y6s+@|^PfM<(l-RYi_#Ju2oTHx%96H#gukSoOIJ zklFT-a&-ZmgF|gd<<2$5D`}q9R#gWbOBwoWyk`7nQB;&IZ;N=!xb-rL*E+Ha%PI|X zEO^t{?Tu-xGYg#yR!3=hxv!i@)!liq9@%KiP?*1G!Q}s2Y+D0$U!kX%kEf%o3ac&F*eBNxXCZ*B1kUBE@tDP(p znxsB$!%TDz!#&=8{_a{%@j2irX7~_GG0$t4Sy|P$W##i$pUC73k+26aPdr+KHOGX* zXS>idkTaG0>Zxgrd__*umEXInuHIO@O?+92V>!(nI$PNag5i%CH|vov%DE99;fZ5n z+Wv9}z418n|QS9m5(XLkGmpv!obnT1soX(GL4C1F9d^Xl**pqh}vNqyv zcvHpMk?UTDtrheAt5NYPjlH_BvgooxfHQzF3Qyz@S=%E&tBq=TJ@UE zy_#BS*1wm3PCP>h7XBVciY?NY}ul8@R}yUiou=z_`Hpu ze4^@n)y2M5Y5Vvi+jb+>x&_NnUjeuI35DSEof^y$Rgp1|Xlz*dk(3x>#)CGM3ax%p z=A9rZve|Mu;zRVrmz73lmnLQD;V6upG`OH~`vRCKfejv*b6A0nA#{c~tA}@2i>+fu z&SpHCv*mlCCaRh@>psom@WnF?0^5dCT1bs4Y8&rHM+uu%;Z z!aq~aYaRji5DYoEs!C=463x^W$Q5Kb@EGwhrng1%ydqP<3u^)!Tb?z=@1CYkq|ab& zl1Iy%L~~J>FrIa?9{h3+5a=d9XWWE$+;+u}y*5qKSM~;11Al~@;2=w{R9reDNOlO3&8ZcT^oWQ7K7@Wmo(rgKA_pC`W?hPj6yxgBt$b zzRvXMfpG%^-M(jZ#1L(ZdoP#J%Z*({CT)~_qh9+5!V2745#|@BOoQl~#GBd(7Cb~2 zAtZrZlQ3_C@aChvLD^`p-yT^%P$)~Ge&%~+rTP7ARZ}<5w!I3!md@OF$HxL!v&ha3 zXL2$qZss_CH$##jsancecy$LjX~)ZxM|5w7o|ATDqTzUQ`~Jn76e8d%^I6RZblS!R zc^3Hm2slWuPn#EPj&#L3I{0KAR(@RHela)o6{pt{^F^g+sLj-i$Q$4nn{$38LUG~V z7*-UupLZ)VNAb+bOmyAYL#WX0g&1n87=j;k7-b&u#A~c(WBnm>HC0uXff3)LyO-I!``@x6x~BHgNGSrT`4WtG@^g~SWZIVlW;RAW`wjw%rr zSBpG+q0gmt=gxi|7l?QFxzxMG9vNos$y8D)JJ#)qJX^=$IPXl?Zj)>MZLH17RvQoS z(=gn=yZ>FeH=w$WLgbr2*n$_dBf4fG7c|BV;xpreb%x$}*A$uyDJ%= zcJsNnAS6v6wwN%Jkv!z{VKMMt@jLs8&GdQ6_K-b1K%vY&dTVtofP4LYLr1%Bq4t1Q(z4AbVi&;yax0;CM|E6TY??Yyq3>$*LOjD>t9)b8}#J#jwulX@AGv4&%l zS+=7H=W_#C_PG=%O7{)wffezfpNUO!N+ zql0t1)FEH3|NG%o<>NZRIY*5#=UbCkw|`7_kaHMpD?bkc$6@S2BOeP^1jp75hT0>L zp8`j@KZ%x#y*7(5d8+&RZKK3i#CCu~c46{^ahV?+U-M^B`a*g-PGtMu!-5()G4Rh+ z^K5b{B;ZoAIK(C~*%QauIppDJrDUyc-sVRecljAC>1v}VyUXb~G-Ym@Y84M$E>|oW zcDhgNp8L|k;OrBgWa6Ihtn>6T>ub)8k62kT@iw_I9lPIrvlDcbr!jLrmu`wfTA7H- zLrZ=T6f1?tL_8dcz+j!3AKY*tH=$GalPpC2ZBtg^6E75|_-02ruf*vz*;DJ!na>(jTs~E6mRFy!P36>U%3$?d6gTWj!82 z1$ym4gl@M7Ph|JCl07|l)t&a^v$-`IJSvluIT_nKNUP_d#gqF=)Nm(PMuRDil#DCm z2^2r@55n_EYp|dJO|*$29tgk#yY~=e2vZa?!k=??^17LLyPuRPb|5ACX-vAZMOw~i z(sDXHr2h-c{O~nxEdRojz*=Q!k$*9vC)b=1%{2{!ScAb&vZF%5JQ!(y`r*i#EWi5V zK}o^jbNm%W9I-7OEDIN}ypA9h`t*a$562qciWxu0k2TEWc-y6FYTMs7d&D@5rU>8s zA-G#zC&Dz=ly&`zA#kZ>r?27;Kor|6Q4}EGVor(nr&OP#PShB>VwQc+&{ur7os$LS z>zkCMjnJgo8yoaWDpfONlDV~>y}xE>0JDE1mME9M^gJ%sSJBY8V7Jt1bdmvjekR75 z&O|xrDs}wCH)>w&H^Yim!~IfNtx2hz^tbtn-n?-p=#%eIDsx@OIphVHYR^4s?(>P> zu}>J6T%VANH_o6}pZ?I`eL7e^si`&`Qtl|=q$VukB>zL=esdLw5D9g=S#5_^9S-M@ z@+@jc9(Z}zn$gK4_i-^yl@!M$3)0(CX@(!>ol*7h6M_a|$mUXsd4j+kf8Q4nFO4VF#90z?mi3mk0X zF5*BkGmhu%YO-FEVOSme%!-rYZMAoYKSUR^#$RqP6J;yjgg-xVc-)rduSoTcM@Qdd zw|@9!eSBm`xQpBJBL)u?9zUuP*y`!o*AT7WatgJXk;3dbavD4nx2%Y}JKyz`*q-J! zPfF$}Y3kliEH68?i+4%Q=UTgKajQ5vhg^4^ro@v@P^PeEjMrh! zb@|@7+Btb5RnzZ@jzz^&U4vC1z_3f&b%t8|_UXlx$^dFetO_1LR6%#|7YUC0;cO7c z{-DK-$h+CJLxx*vN5?^UK#^?VBnPEl1YNtnAFLu8s!McqaxNN~tCPJ+_VhPrHQz-r z<>Z%_l}?>7?AmTpda}Gi%#x4k)tGciN091JrgNM}k7u4_6(udJqxKQ!rk$ds{X%)} zc1F}KSILLXH*otaqUc(rnB1v-Q_A;KKOHiJLAWDoVX+5UPdZ;IX~0BMW-Y>MOi#=5 zIo;fa@HIwdt!Q;x=@q%Oxckv5DK8`dtMlT8+yhC^jg4E8E$C0C;Y^{QXM|M4mz%5e zlnNpyM#TEdQYSUZ5hV?xmHW1zi>Q=q4xQA-+bd<}o^L^K!>|fIsZp*dwa*$_q0) zJy05a!t0xu$2In-TsHGYmdVZb*@CvXOx18VCzb5UGVSou?BbD=fLG2mX{6@lC+Gfv?H0^YgdH$0H#zV&7pCjjs1{A}yw0d-nz`H0$DRHBveW&$T>IKjWP)M68{kOj+FAJMhv{Q} zk5nQ|I%>U1mbt3WfZt$!vvA<<5*OW)$62`t<|L#H9XS1N7*Q+oLLE86)FGP1cr~m{ zt3aMGIP!Ch#pUfWV%MipzPST-Jza`17QBfkZ(l@852Q$5R?Sysbc%6U+*$FMlEIWB zV18{$*@<>Js{`$JH^{apoL-|SzBYwu*8AXrmPt5{>cjwYd6jm%gQgOyX}KdT)*K@|7vQ#KUa#)Uy+tooC^y8$M$q`ssz*j$VGhcKArmD04udu( zc~0gvq)G@_*PKhdcet3KB+*$65GZlxNqE?~q`~r`+p1}6Z`zOO#NAt_YKV_dXRS-vk*IhPZTsJk*NL%7{GGP0S?73`F;qenpNCP6P^(KL0n z95Xpr zELQ6P@k+pPxwI-_VDY^B?TuGC`5=4~7*c~g2b(rQg}#8#UM+Fu8*rlfkmhCMo^WAL z`k5r;%aK84K9(8XIySm@PS9T_x93iE7*|Wlmj(Z?ABcJjEZv8SRXFp7;w7p@{IcMB zflq@!&)xjmMfoyCOwu#XY_51Hqi|5oM5-c5V}eCX%+1>+hx%-?{qO#yu$L^;y~X;7aaBmKeA3 zsDV;+*leM>Btr;)bM#19#MOf`$AXPTM>>rx2m_(CMKR$Gg}q)}r2TFHF%5=g&fAG- zjkdF4fxZJ0?}Q1}#jwoFC}8FNT*0N3L{4D^W_$S?^WG}dRIlFe3`HzeMKQp7#&!uIgZJ^mQ{#;X=mYbV_ zT6Fft(PROygcA=;ol#~{F7+VtH~n^ngTV2M{6 zg$4%@%tyTh+b_G>E(?k}$)b#JpUU`NH~Rd>MMNQ%P4O76TBqaK)@AEfl^t)lM9)2# z#jTk9E>?A4-DG)N)*c*>e>|Sa2;%|}{wK*lHjA*HuFgXGF>9TAQJln|Y9#cR)8bX2 znnf@c^FdGEO;+3m-Mep#eiS83JJsuljy{vQGxLgqhUQ8)9aY;LbJ4tuh|9~d?ptYT znk~DU5&MRs7MDfbT|SV9s914gqF>*Sx_<`}>;)%S81$@vXmQ>_QZ~)cnWZkau++G1 zC*)$#nQzvJuP|t^aRVk61;S3UDHn2D)ELS(6~9{w@-TezA zZ}7UgP>l7Z=0)C5&+mWeJV#70M3H5KVQ+(wV=3pPQUW_fe1Zzv&#P0@|K?9sby)r2 zY~yOXxxLjn1r6H4^qp`1NQRKEk};hu38krhr-?j|RRHDxgwk7GHDUE79(RXjxcUO1nhWEYT z+}pQ_o_uXjw#_S$jEZca7Yx=6s*|wF{bn?6+J0@fFj~4NIwJBz=N+kG*zD~NA{oyt z3B_cquHw*dHir#YU(r#7hA{efD5$Rg7Gv5Q;87nlnG)4%ad=hsA~>XloN)La>g$z| zWpbc^EsMJj)0YFOG2x$m;XzxQ@)zk|pO!90tBA_G>o3f?=60 zQe@GQff_YbRo+K4MLTsyNM6djN~olrJhP*~AkGP^?`01WdXr2-mL)N3FR`QkA!g*q zy2D_+==4v#paO z=Y?52FOpX@>8-#sf+00-xCMINsP4E$zZ|k%nq_jh@3CMzUh%n2tB&z7O}9zh zUy&?%dqaWAP0TLq!>G4&`4k>Vl0~98BSZ?)g6PH^WX?@-D znc}r}meSPZ(Vm)&Rfhnsesep%Ptp}t`YOteJ&TGq%**sLP@a1*;}0oC?(d%6JP2*I zy2f*n%)QR3=m##T_8Vw0WoUPF#6lw zO&#*{^LrFm${8YLqX&t+YB;u=5 zj~4ZH3RR{*ml76M>GrZqteeqR&kKfFTuu);ZY?ogF&;WglUy{BDQ5P?TLi zxsDtpm>GPPU{^~gz#s}^U=il1AQR#X~a_4?~Y>)f1 zi?>BYxN1JRmB$xG2};i1)$lZ-3Ul=seD<8W%xOTU){M%&^Jv}gkuI7)vgh3#zs6^@ zYWJD1`4b`Mnpxqj84d9m>LkH%j}z5)(>@Qd|NNvgX%#oFv{dCXa~N^wd*Gd3^XhJQ z$>s1sN`Hm6tT_|EdQwBO2J4D74kMQv1Z*tdSUU6CNR(-;Zet=*>$52-yR78Tj_=hr zd^1;zDN)$A=Avf`5u-Yg=(SJ~<5Y`{-(g9<^P+YBQ*XY~1@SqVsRWhm;-Rgshln8* zi>;oct#+cepM#&U0MygrQV0!TMHW6dT`jUcT{?=5yMhPIW8oX+v*jCU`1q;49Mch$bkQJoXlFoOsBpOqo)whj}Jn>*lUxY1>QOWdAPf7%dK5qikj zK4Nj?qy+AnQt&^-1)Z|+b6)&E_z5Y90}G=Xdy!gO0f6I&{!*XY6cDUEspN1@tX{LoE1gq&rLt!~@NGSP-{Ahg=TD0m!e%2RO!@*{u_zJs{}}}cn!;_WcZ&j(B+H9~!Dq;^y-4_MejqCz=!5Fv z0ptxh`Uv`OJuqZp&^gw{`m`y?zj{5MQ1rv?Gzr&hxqz-blzb#Qa7|u_GR9V5+(G1${4*Zdrv@z(`&TVK$V%dY zM949?MfKC@!W8FX+^2l|d+Gu;>%;6v%Paluhf&l6Et;ZsRVvpyt34K-cWyyvMF)_} zanlE#pibz)KRaf@d%2NY@!(XtplbyI%IQe5h35fe#9|G{RC?U21!C9}s-Rrx!l!xh zKr1Mm=PJO^(%E>R0bEH7LkMO>?d8x-1~lOiv$fE=JqnC^8RBqJ>|`5>)rX+o*;(v# zIv+2>G5Om^pjH^W27tE3zasxtEWf1XmlFMITYj~QzdDOwedw>D#jiopud(8P#Sr?4 z5ZtggsQK)7+q&Vu%;GT=``~0aCO8KVd=n5nfynsxTHFmBhHh(tyUUKxfSUs{ml1E* zk2IfyCO#(eec+Kib&lW{5I67u6ZZ9~9TDf^)4v0p`7?M!YKvONsnP}GfemiZfIM>m zsqF8G2Lzz|;Jn=i(Y+N4rd;DOnT!+~^6FGcU!C-E61GJw02w!iNmS}<^CBvf1I-4(~Xy*nQh+mP+8E9yBht46nzX%I%jK^Ow#JDfT1w0scHFuhhK1rLiIM=}Q zdDdYTI_2^so~H<$aVyKY=5dY-Xl(UprmsRNup$&s0+}Ouu4!)as(Dw{%v=_**1Qq2 zH}N@Y|2E?MNm?K~ti3f=w0;1qkQ-1juBIYDR_0oK%`j4)F#qhKhS1=6?bh?uYt`t` z=XK6=YU$-$h~i{!95ro!z99At011W}Zd8NmGA`qq2H`7T3VJi2p7dDpscK}XOihTs z^E$*S4bEeN`QYTbowhtMyXsa2(YSOv`qmEK>)$=S*QVV@qi|wag+8of(aMnxR@>NU zQiWP&|B;FPl|}|@j@{+!8JJMCQj74aIdxr~!9bl!c3I_xic7hcRkyFcCiyOFJ(I`c z-Z*0r8VOqP@T#CIN^IaWOe}JK4jl$63vYhJ6}WvpZ*6_##@pKzC9FVKr0FaGY{zP zBpRFdE9lfKe5ucjpYO@EyVJxmGj1LUvFgowG);?RwM&A&unvij^?t`ErlT0Dz~U7cj(1;Mb-i((6S{n z>w+PyY<)}H#YJVX9txf{IVUBS;ZWj0c5nwjyfuj===e5_aiX<>ftdodz?bf(b zYtnKkR^r3NqtbBYJ-DP)^3@X9zF=1ZDeyz0?SlW|u>!n9ZwR^`S&0iX-UE#>b8xp) zY4LzB{De>v_P8Nb)abZ;i!*?>Va@ko)J!4CRn&R~?FM^``=OQc0<+Q@Mj~uot-_Ycs@omR9sZ%pqWx`V#Vr5MdJ8JMYfpjeHAms z9r&-W-7Ct_)2Gb+oO-*1zmk*V*wr+uS>F~DI{W&4>`B%m*z!}JSc3*$c!vs_^8^ka zjh4=MEMdtFx6e;5co)6y=&g#Y7&s||5@n@Y8Iov{6{wA!SPGcb8hzHWpRBH5ckC`c z`q_N+4{Ges2}cO1rfoL z@l4>cb+N*GYI%HxHZ?B@S1So>+#0>wi`<~7xHZU5k6;H9lfUYJ2M@4?M`0*%&w0Cf z=lq3dzg`q3kgQ5l)zP)zs^o)zJuyz!RZ<55NR4z5fSkj=1L4O^+~pK`oKNea7#^T8 z?WQ^6Jc^D3!DMN53CcnEXWd+QuQ>8Lh;HVBKxPhzW~RCZf>E>@3M)X?6m`KGL|^>P zWBPA00-fa^f-Wap#KO_~U;CB*6rFrDix~ErWGHqgeA^kv6NORrq&QrrTbRb`yWi5r zeXxP?ASGH$kn zVd&%DOxBt1%n9|V__+vuRdGW}jh+?g?8EixozD|E3>+sAg)yo*z@jR^r3>&#(Qt%h z1`>t`wB4ePNM0TykD7iq*}E2h43&wab*cy38-C;#xQaQq-jkboqRO zodoPIO8epecNU`d=)eTtKMMVo|DP4~tNj0a$|Tw-aanJnq@m9*xb`z&jv1 z@X9Og5A)*Df5yDnSRpHNKl4m+mVb?7+4HR`4Bw zi%@eisPd@Dq-?Jp(xbMxq|2iGuX%$WH zjD4oOj9{KdC$?d*@~BV^)K}e-Q30>!T$knpt+aY1fl4BoGBLV}a-iWsMnhoQ`9AF& zhK{Zn)6V_LwUL*00RfJK^1BIV8E2#ToMNm-@O( zrP=uNpmRQN5n=?6n`;uo5`6Z=Vhn}GCJE@?UT!aYC|pb51H+YfVA+NO8T}>DB2)Fb zur}Tgk66b!UUhEJUi>oAA%u>sn&=%JU1H>AKov>&ISeOm1qy<#XmsCJ`n)Jl+K_~c z2mIUC1~NSB0J-HkY+=zQzXGQPRrsv5=3IbU3pbj0yf|H0eUXJ{NiO)1-McH**M(Qp z0Ev;$!cgHZX_CT%{MN->MKc3j9bDtXF7@O*dU2U3n5-a~mLoO0!6u^;w39yhCa1qN zPj2K_FIu00aNJw-`Gl4n7NS{Q9Aek`6qB4-;WUVpG#yTgy6GsZm-0@vy?>h88OP*+ zqv_-KmzfK$sz*(}E~l(d=?uu_x=mK1p6m8uCPretUDgj(ItN;kG&@rkXVKg39=~R< zeF8zU!fZ$*SBF&&7=WZ5N!}ca7@ZKtdn%RUQd>^NTh=w}i+$Ur&`YlIJH|detdyC? z%oQ$6l~r;2LyOQ)amHgsgO1Z9;CVPf;LN&(x7${(+N4$@y>jB}GlHwvzBB;~9_%Ia zMSgeCz0F$@tc0IXy^(ts8!T?kb|x>W-;DoemiiE;Q%v#od0wvuAcEec=`{(pQw?U+ zj@3x1wl4CtaT*!TFIl@Ut=HE7Rp{GzT)Oy!txdbKLymV13HB-l4TgRNX=*E?7GyYT zd!p7@*js=7yzz7gUNz+~&LqXj0hL7Uh~=2G3s2e!8@z@^m{KfsYljgxZ0nO$78)C; z*=Zm9Sr0SvR-Q>X=I$(9S{BQitT4N*!r^~#32iaTrQ0-%LS@Qb=#XRX+4j=ViCg4W z8RIDbWXw@s4Qgq&|DTRLq9z!_N}QsSv+!dwBlyZLVgSMd?}|Dp#{**yJASjh*f>FQ z5V1TxvtB7H@HJ)~XA0j$;JPe&rzGGcvT4U|P*Bz&#|?s52Rxu`n+9%j!dAiGpEd@Y ztR(O+msPt9kf=GH7uVco&?r;R>OArvT}H;zCNIt#B$>%@Yv9$!a-brNIO6 z9MHgQz$kK#;*i)B-U#2lVs2-i__uEssW5pwaCJOw4~+*_g`f^uA3^l)DE<9E*)o@4 zozWW`v0rhq723Wp2la7+}i{tM@v=;9K%ks z*=PyB>C_9S)5;z{Qpx){_D9O zza;sWB>yY7$$#D3@Jo_^N%Ft4B>#0+$1h3#CCUHFlKkJ+vgy~1?{tRvKWN7H&#>M4 zJLlN{TpPV#lKekRlK&a2Ex#oB7Yg@xA$9*y6z;FTB>X>boLqLRmUIY_Q6~Rnc}X@* zGO3-?oI0H+)=R}K^7>@7f`0Pm?R%-sNunPet0ZJ(vR{Qf7AxJJ^9@J;Fj?kIkgRy_5$wp|E@pL2@%rUX|kgQVZVis~%Ug zy0{%yTox|5*z1MZk*v%=B&s4FbQ2I$$fP;Cr=+G;FuBdb`CC zwcunfcIl?@23-EA_Oox?Clgb7-}#OT%3uzHGEqf}N|yCkNGfqH@F$w4f>gEt7klp= z)>OK#jYmOIEC_;hqSB=IULr7nfPnN40wU6TFHw*py`xmAp+|ZLkq**Jr1xG!4G_Y& zob%1>nRE8}uHV^b&+nQ&+dp!Jm5Y_E^{)GE&vQTb-H^B4H7+!>sB4>B2G3Y`>meFO zMN0_2xB!_~fL8}oAm6O3PTketBb>k}DGXv657M_+xkWk=a?r*#UTc!PKbWO+i|A3$ zgoXvA8r^YPpSeJ9K|x70vF^=~fD<+&`+|eUB919aLF8OC*}|b^yl^@$uJDzrTVkb& zST6^Lr}ex(XeCR&UuL)-&f0Z)R&(!Dzgam;UE^$umZUqk=zWjw9_GjEg}myHSRqFn zL)8?+-n65KltN1Pj-s$7$SQbq7o*o12Kwx{;1rNgvhsWdsnRw}mYfOT$!Atm4VhY3aUg-lB@hw**HhoW#?Pa zrZvw8Gvx}P$q`fFl!tj(!pl?6g%A1zpK0d`Y3|E1 z^*hcG=&uV-I?pgpJn049=My|fqRLN8>Bhq+6(Cd$(Vx>aUjFcTc-)6HKBJeK-SPTJJA3?=*$`#5G9T? zcJ;-G5rcQZ=hrk6G_p{?Jz7b*1GqC)z|K9Pr%x5f*DSv$26A3~&kOw5m$tUl2hq~p z2{Y%J4OR+PFC1m)rDzp_92kS;yQE>2mQLZ2-x?~#rpC(L{1NuYAjur9O z-J#8iPs$8#ea?86A~LAUe{;_5(mN3ufzPWV0)Wm{DuEMZi=+@O+v#D-l*7ClWF#=x z1|p$UfZ`(8meul9oN|@x-1Wv9V;fbv{0+4or?ee+s1p9;_=A>a{^e`4zQbe*Ogf3L zwXf+v7K~N4JJG1rbQMSFBil;7pl99WGNqNm!Xa4C7fO!NA{%j|4bjX--5Xn=SBv5~ z5C>U3vE45v^?$OSYELg-`$i@7Mq3*a>{L96zHE5nMUjoq&IdXL3< zVV@LHPTR4W`PR#W%^qmkNv>2Ot>d`Pcn|u+{IJHS4Jd())$>nf{h9BOR^;+bbj$ls zPU4ep3n52q6)9Z9Rr@M70sZl#owR*5qU{?C6NR!X%~GSPLG$y*w-z5&>lHqHw2}1UMFWLreV4m#H)$UWD*!s%K2 zdI8K%+C(DkKJcz*T`7BAA?4kKG&EsIzjDIRh)ZTLKzMC6xeOXKq+efg*6=F57J~mO zA^c7GBJUvkGtX|bPq(ETNha&Bq22NIL-SorpZT|cDe2>ECBh);yz=)MIj?Sg2C52h zSMxsziK`lAX02F<9(gtFyI1?_hQ+wW)NKu(r=kUBhczl&k$5V@bp}@xO_o?wjvvx~ zxvVepZK~?@aDk){kJ5EWa~Bb4SXPYBQ|(9d!V!n26sx0YmFdIF^7BkH4_aq968f1P zGg!Dq#P*_S1jB~Hd99=uA9g55Y23nTu+~dO`Y<@+TGKeEz_!pxBd)<36?mwqPQo!# zZ~ex@W(%yySpLaDd<5m2cBPR0_K!&WBSskYvhz^Sflvygey8fv$b=%VZ69HAURhul zg^3LIWsy9=Q?4)GkHXvg^F&5vIC<1H(W20S zS2Pqds!8FQr{I_;5vR0YQ_9(7Y@+M{Qx+}>Pd;V>Xa{R4zpyWU5$pQp{ojTz@b8;s zWh&g&!cw<&f1e0WK+vjNv1S)nhiy;JKk1cnqnbU#Z*}|7i>n#JB8%@{o|Z+r*ZE`= zDOj=*FBG7c>BSrLxd^kjA%>)2pxO5d+Pca)8RBmGS{inL^jS$i_vrq15oWTxtM$%j z`tywF_LJqhf>OT4<}abL_G%BKmX_QngshZ(YsO{3kS zzrn=2MarTrGoi3N5GBjrfI!Pb@ytK1R}`kNyE-%Zv7pU`pmjpv-8{jHM7r3Io#rd{ z=Wu(zyqE=mz@qB`E}eWit%uPu(X$tHq~?EEQ>dXAtlpmyCVp>?RGwYTAx9#M&V z3`fkmAz~XwGmgFl$L9iteEmylmR8Bb<=># z(gYiaq<+XEml+0CRN0ac8k_y`Vbv$OI1bKw|A_uZ``^L}VGuJYS0^ih>yG!I)Wpr&*YQ5NsKH#8R$JfgBWlaJX ziBU+JgzXa&wENL~qR?u|t4Oop96U~9w%RUF0*7`*@3J)hEZGnS#V9V1Htp;z=Y#RR zikjl_W2^k~De`_9tNAIKW>M;z;3~|$&E{{%;B#Z$nRjVX)3-RUOHuJ({&Y-o^^@b- z+QCLuF5ys_ct#TuT#bEYePpb5YCEd2wIYiJO2;*Os@%j)fJ%h}!1)$YFKQ zfTU(c5NXz!@E2?h@=Bv5Hey)8oS_paIa;)%EPnb}Yl z&Q6(Uf;tvluo|WXHSi5YzC^^>K6^Vqq%n|PQ#riR#=YeD1z4MA2weXEVTDRG5AR0Zk%t99e`Uyk*5q2XmH<55#g=kP~trU==~b}8;eqHleK+*5R2 zp-qB9UNE)Mw#@tvpAi9jp?fzUg9A?yk@3b}u_OceSF% z)7n@)5`w>7g!ns=7(?p!-=CoeatwyaPL67)@Y-*sqx=`tDoUSN7IkQ`q|Y+4;cA?x zA^H~&`pCw!gJ-AQk%v}Hx$EA9d zjdSnPJVo52bCO}EURzT_8EDUPP5?nGUAtN@ig0+U&!;3KKRtqe``3lv{TJbFdfZ0NiopUw{&ri?Nwj{WU)a!LHkD`{-yF-}j7j=V zAbiZk_Oa3D16`+rQZjSRDuFfy2BEU7lMH4@!eS-+;3b(&;NV7U!clYq%2Y;PkYqE3 zlA zBwgyf4qyw>S$to{^IK_L=sSJ9MO%*`hNYpjU>_KocjCYq>Wk}oy}wmV0%cXXx(PT{ zZ6IQI!_lE+8t0w>lQ0c;qk$FLF+hCo4#T`X>~rN_t*9v@%P#h=$Tz!h2acyMjU0-> zzU>8NoJIxYxOy1W>KVulk7^On26u4CX3o9qc==4|fPYPo2Y!f>iyfnbn_4sqQ4+Bo zu6D4N z!lJcqWO2qXkW;xBnk;Czdn^{W?#)xLg%gXvfvr3D&6#H3ckn!efmjc%dym+LDE?+nXXDrl9;EFTjoh&&+` zU9Ouf%37hDKS?Pp8{CsUZ!GMCup}?h&2JxC<-5~*&x|hfd^arL_@!VLV7&fLrIM-` z2JH|_vfJja2`+kaxAMsHQQ*6^4;=g`b{4&KXjxOd#83jm_Xr;7;|gul`=*;0K-Te@ONH zL5%#95+i@m$$lXDuR&J-K_~lx<5zn8c6u59CLa3>DXf*$zv~TE!)y{$MpkCfEJDiYs#X2q-!o^^`v|#s{9xH_lv8EeSN+BZMjr*>V zE>w@SP}`JG(pi*Z7cU5{Mp`wnskIew)$}1hYQx`%&zNGXS7_9~bhoiBfi}^c@1Cev zfw6-ORzaGyy?F9B%3gMnS8;}7ieuG9)(G)XQXa=}(exTH9!f(Wsan$Xar`{*3CPrd zAm7LFb|^t)*?rC=NnE&Ny=M?5cMuJJ?iy-r)7e=$vd?V zKkY7F?d94(ZYo%RNqB$KM2W6$KsF|!MmkwZ9}uO%^_b^7ztne*0kqJzB3JgHvus|PCEkdT4F;p>;%pn z;6RQ~!59JQqatFAcl(amCOx_UV8&Mud6S_K8d|9eLv?dDOwDw3fkaVU{@BDgzB6fC zy4hLTGpon@W(i3wHcr+PdgM7G9=2i>KK#^?dW1+-82vRF-WobN7){ZDRM3v&jK8SB z$fn_N*%V)2Mb)#8`Bze6N37RQ@e_)1zSsm3KYHOSJDv8yo<4w7#RoF#{IEFA#9tn! zEa;Y&$K{^cCzxK(h9Nv|u{p&`Jv+y{08tdkLqF@Y?6xMXlWn~zuXMrp-=~JY_j&w< zL*x?dW;-5T23e%lN!l48Zp6fY`Y8YOlrfMr)6E~NUWnBx+PJRziT*ZGY z>?IoXdlkVBKv+&v=Vw>746>Sa499%x3F&;}#v;Ja&-R`J)P-vXFF-e;Gyv(|mHwj_ zP{gOPjk7rSy(;xLwupbN!XQ;Vhntp46WAW$U3m7KZaY`A5v>Y?;y8cViSgGHYj{?w zj)ieo&)OWV46}tS-}+Wjy>*RlN>JfZH*^ORfPQpl(s&Gv2^gZ|nGG8<{S^DgsDKn_J%J&O-z73EMDFs1TaAa&{n}bpw=*Ea}IDF0O?h* zWhDln11y|8Mst`nT)( zTYG>`izI$_sRS%HjCzQ4e!a0@TJZv;<2rO=4xNn!$Q(E$_F%vr5(f}SyZ0(@=GWW$ z^@>g>+ETk!EkV)-)?dHWkGH z^g&F?b3iK)j3R`7U22>oxB$W6XkZo_1HScI{J98p5rXNeN&OXqzuwxJOK@Wp41){w zHE6+m@aeSx%oXsyfX#0j7O@F_eA*KW1uvXYqT#0%p+r;2(|h z^SJt>QGOuhKgOjW-RH-c0xX99$bq(fLgL87^<(c2i<-j_KM9-wl?Y&O6|yk~J>Y}e zE0bKM#N(N3ybE0v!8!L}!}uTe&3R_;*AAl!nNAOdi&&%Lu9ux=^yUB(yUCD8zg>mn zo(@j)dlRA=$jW16YkJco??t|5S^mn2Bhc~A;my$fBzud+n$w+mZ0K&B=lzlq$I=y+ zk|z5mfzP2&?Qi4k5;zQz@a*e~?=TWB?Fukq-X*_hd)H9mEUMzAq7sE(FVX8lWL2Il zP4r9(?esdJ5S8sk+GusrJGAsBl)pHT^_w?}_AnDDIojYtc!zOz%+g^8nix&$Xzl>7}t@PS>Yy zVl@`}t^yn*a*9(sokpsIldU=vqO%8grgi8>H?=v{0_NIRbcvg%L>E+$6~Q)^oSjaD zu(1a=9N~-Eb(=MQ^l={D()VWI8tYa;(Q1xs#>1Y_xhi2Eq?}~qV0+|km>qVl%F>Pd zF-)_!U+;QnB1&EThaRJ1t@2S)FZY}%86Ojc-JmAALSvw6xn+1r|*lwV;hRc%~<)fN8m!SSXJ*tfiu!SmQMBH*6 zW{Fmn=J{DMV4KnKL>h%E`0sD=c8h))Ghny4A+zHo@%NO_AG7W~PZ0(saQyl~FoqxX$i z8iTq;&Llx!6E}$mQy}L--YW(`X)$xULyviDG1Q&kPO7gzelJQ%-Yu68Bc*1%IoE@e zb#V6Kps#5o@f`+?3es9KqY$3q;-Ei&ylv6qDYQ^8Ej{EE`fyLHXp2Wk;J&IUjWkmT z4rwnx{e7o}!TOBZc64+fKCu1Z!vqrTP3dFZQpl#id%chi-0`j_Pj!4>6c(XB>D~8< zHYZB!gOVzpRv@w7Re{e~d+_%?(v z7J)l<$#o-jN%uVo!mfo;N#3E`>(sHlVjo;>uDg@Y(?DQeVh+ArbZC{LR3EnfGE{S6 zMd)ay3TL#Qye)-lNR-)C9gi5LiE9;HFw zoCx^KsYkadRSNBXkbn}03v=~E7>M3?5;5fcsGr-y<~9(Cai`7=*BLq%?Nu5Rdnnm{ z?CY@Zwl43fq^Bh*t64oiHk6>HbTx_CNZ5sb2z<4LO$HgWvhx>~0fq{uH_$ zzNG))cM{rPMX3M@Z3&g{TJWp77a)wJEnvI`rT%%2kAiUiZjL`_yzHqs>UoE%hgxS# zP+Y5U(Wr_(SE^|u1%1bhtH&*i$e;d(LK&rC-dZdve{IG%Tv%h*e_3M~GDn!Y#j@`v z#}P&_{a*buShBs`j*1ys2v~r528-Qv_x@m-S~~Wbx8(zdddR_J*5xy)z`~;dcMKlx}0B!jS5KN^|3#vY~>BR$t05qTPP&;)OQcv7}aajyblwJ}i7vQ4q>|X9-Q*%VtBBQx^03jS3 zx7eA75NLK5PMrjE-nBKntR^t|O?|4Doga&&i9#)v(zQ|s8HyY!Eb||NXHoY?Z(UW3 zVB7*fkZk%);X46ypIt42=L{YNhWOG)ZQ>fwHHOd-GYxwbB4m32l?%G0TBAxX`g>B*cSSy-O_{>&n)OLuqwG23ml zPCuF>Lq2V-fy|~ z+dy6y2gE@^C|i32*1-1QQG3%hx)6W$sFS5}>HBYJEHB|SFm=2tppKdwG^01oKhA;| zWt_H@>D5JUB|uvXdHY%_r&$u4m%U_nV{cn`XwHAhdEB5x`XwXU8fs_eaksD<=e-{0*kDe?ZsU-r>6@I%twrT^cAk-%)D-UMu9qaM;9Fr{p(^R+ zu(vQA0ZE-id))~c(SVv6PyPOK@GY1ht1$b_*g*Qj`wh>#sM}@|yLzRB5CKmIxO@8_ zgmJdyMOWpmyjHksD>SR>sA|Z0s>-$*3(p^E>dTAX?VlRf{)>`Ee~jM-|D*ByAG1XH)kfu?3dz4H z`|}4R|8*hx7o~CjfaJd}B>$p(%pZ{a*M;O?lvw!#lK;Ap{EIRqe?anI7m|O`()k~d z{MUu#k0Ab!ApSq(iTi5+=zDzfpBe=E5tsY{$v+t+f5avKw~&;#xsx!@FY`Gv)?qC= zNI6P&lR$8a_>0f>*Y(r78RKH5qzlkpJf#$05q^P9K{5h1tVsoyIJv4z`~($K0Tqha zuf2VDi!$a3vnS+BKE1Vk_kNe3Bm{&rl&~jzl9WHbU?%)@oqzgBPL3AVbDFX(qVlCv zDdet&^C_S`hj0yO4$ht#TRU|=^REiIqabR^EKT{kjY)jvala?zCUjz`)6VIBhyP6w zPA+|g2QpQ*e73gwP(&ZQ7Pnck!X$7ZavubtpzvZ!LVEV`1;Y8FoY|E&F9&t`J(YYa z-ZY$CZS2NV>oPQ?&=zYf#ht>4Kb09hW(LnK#R+iK^B$M+6cK850Mn5ohrWdy=zAeG z$LT&~PnqM$j-XN2q(^M=m7tJCUNI3bMw=`0H2TyPs{8~2>c`|VnCBYudCe61kkS_< zoF~>Z`qFzu{2}t%Jmzz{6S`qaUTQT4Il0PyvP$r-Xk|cq6dmT#DoW&aJ!*cqtRlQ^ zxoyct;x&#)_}rl|SLQ4C0Sld6`miOUq*$g;IU*(3`*dlxVwQxw= zoAB;K{r1zKwt+I41Gc-0R&?5Qm5~|H9X4>zj&5-elb60DQ)gR&+K_>n3&1?i)5KLM zGauCOb+#zwnji3_8#f$TuBr)|>@a@1$=rhX7&cubF&BPQF|(m8dde&L61@#&2`au-h3+u2WIC@pPx>!LR&618Ms&HxLSNUwNAbYvlAKcU$E|}z2Vti zWmnm+ks|FN{H)uCJT}a$cG%GhMh%hBuh0J`mgB1P)PH_kh)2z@va>&xImFAHi%0`c zJ;_8{w4*16R{Kc%FNWD4R z%~$SJHDu#%tkkuka_m>c@ssQ#6e&!33>}#$AwLZ}-SAl5p%0P5Pv_?_@mCP*qYlcL zU87=f5->I@ic>C$9LD##rKepIi#wF2uFV~LcDPoN4--?#jFnZ&mACM!g{JsR)u&Is za_O;n#6s>segrfV{v`CN`gvUBTyQd(m9~s^g!YyeF+)^Oh}A+GeF#F!LL@cJQL4PU zMI&N13gTDGegS&%vpjMpZ}c};W8Knfy^>b$2Lb47_9Ed*DmS~bG#Pnl7SuU|Vr#Mo z8^7j0PrH7m$!cydpMPM+XY)C3=cnCRzxpynyawYjM?qe2*(de2)Oc{A?yx7vTqx_{ zjfv{*w<;0D&szFcj{Wd{fHbWtk1G zR}PH*B)-%6QiMpFCiP=ppM!9OwB`2GXK|0}-vAaZL)3Aam2L_uwv4uRu_9teJO|wD zhlY|v4t3?F-bIK5=}7f*0aazClEF1^`V7ri-ZzI$1WgJj;SRn5!dIz_CPTn5*orPy zmN8u-R3rrEAl~XQL|u%QbjR^I@DgApK+j0?%!(`1LL6+HnE7d5yJ5Z2H3+nV7di#U z43h|do#?(DLLMPqxwodztM(46lPjreFT)n>F{AUUOoZ8raCacTBf3#x+I`z-K$7TS zQfBmznf&L+>7$O(>q3v=nDTHjXBIoj+sz1-6 z8wq3h*Fm5F&14A1&?%0)wHkS7vw5=H`~-pKE3nX~sgzMsmo6^9eaYl8#Dm!l!}9G? z0Hf-Dk7w=tErR`K_o*Y_oSV9uPmz2iIA)&>H=83jEw;`LzFdIrc=F9dua2Xbo_HkV zeCdB18~4iiOhU1>+0u-d27W*CxRYlkwVcgYy<4pqS)YC-{MqI46)bQ=s7z>h?h9<_ z=PTZJQ7h=N&?P1QQH8Dx(2cOpqWG|e8b?UJ@Z;S9r8zY+O*8R|D_H{kWqEn;1iDzV zzNRT7)$7yYrP5t@ns}N|Y^4T8Zy1Wv<8mtCJin?~?wCTkYZ{1F%>TAJt{3BPCGmc0 zBo4xC?C4i~Oh^&MwH5UkqK&?UDBKpMM1@SR#d#}4u>z6(1gmKUSHP^bV8tw@aWTiYOeh2rp(E0;A#LJ85Fx8_rAT zqeJE82blQIU7&LQGEr~Oj6!^7P7{ww5H zuPOMZcGbdzpm)(KCP?aMgGIM0GGJyd2CJh8=YeiQ%V(g4*RB2v*NsCEX`XJovq;4j zMQoHAUNq%i+0$qCkvmtqLhvI#E|eR~amAN4jkGpT+eR-ddp%67vy7dYtkKtp}G;<7oXog@;In?E&T>!U`oxJB&bMFD6A>t!tHh;S(nyCjPaTEN-J>vG19RLAUXcSagyAeiEy7t`$F-1KdImr*(8JNno@huLx!_Rd4u=_#q@sEEwyBy`^;Z$ zL5or5Q_CN6*0!k|%i_iYr`{<=Z1r;aV}&5TLGgy>B2hE>eEzH~==?CX)hb}Pdc6Lm|5v)*hv5w=9Ob@NA#DnD^;2JseM z!|~&X>)A=fJtU-7=*g*-89VFKVba<=)Iemnx5zc2hPs)Si8zFjzJ*lgN-EjOw66P| zGW>b)C*}7tV7y17a_K=#8{y3W`R8Xn=G%R9edriApmg|~GC(eu&hm~xZD4evTX0Ob zLE_A9=wh0y0p?4b!Knz-K|s5~9^gJ<1wGQncq6+}90x!lVI(HN>)Hiq3JF~>IF%5_ z09?+c=JU(AEp->5@BlO<)@qb?1?>r$L+2mPTmi}<%~UY;jpvLwEBb)Gbd?0!;sPWS zsSTXAR=WE+{U1<7fKhX@JMlBx<5gu3NIdqS%b@V)**$R3vX(jm3_uvoak+Ld<~q!5$-v1!=g5y!E-}KoA^*%bzvxM1kM)ZDaQShz9HHSvrUM3 zj%6U?+g;4By7tWM%dtlN$T=Sx&lo>6Lw~3sA!InXN(*`JVEAbrx`+&s8Dk`!B$la<>!OcQlJBhgrsj<~8Oq zB{i-Q0K-ebpkq-zx|^}Bz>a${Y0K2>t^rHoko|+O?6n%M@LG?2>(o9EbXa#&0`pO& zsqXO5=IBvZtF~f1O^7MZC(@O@oIqR!&hVVPyW)GPyNH%Kt`>EX&~^^Gk9mElip zMf%SL86a#3tdO%|-f_S4gp#qzZjkkp&@nMl6i-Y^LTRk*2-!;1lFk@g59SK97k?Y~ z$5ciauZihHepJmjNBm0aUl$AA%Yh=U_85F1NG097@~q)0ea0;Lf& zIio+lb!O5Mz1cg%(QPbZ7cFDq;$Xs-YW5)LDSqUt>%$b|D6f}qsd-}-N-;GYb6kqX z`YPdHjtvk-RaXK*FH%M}#=Ww-P**i?$}iVE5w{YmHVzX!Lqt;7S(iw)YCXB{>vL^Y ztPrx*V}tP_1|I{}h;20vo>!iV`}oSm$!ecCa&+6-W-!Rg)aH9F+Xksecd8oG*_B}> zof_4fwu};2QV|YW%~nRq80}R)%w^^v#kud$1ZN_SH(J^9aUmw{`%tyhNpd#juGaV4 z-+-}yR?k(n|01fRozk@f_O6ol0w!W4{|90f??5A1+?U<0%{f4P@7A%3%m@GDN+ z5_XEDluL&NcKkQh)VP<3JSq4}83G)gcgUbIZfA}$Kdw9>HRK|e<$~3{NbLp|d0)f$vp%%g zra6mT4oU6MD0Cekoke-K67V|QW!?IiWO!}4E`54^c~FseRKpJ$+R>^Y!pXRX;7Mn9 zy5WO&&I3i}wa+q+z-0@_%Gma+KDpL7uJsZqPWN{g-r|z09ohEFit>-XQhgtE#dLV| z`0luD>BN(PC-tNX*U`*HK6LHqVbd?zo-Z+@d^8?qd~zR{J(@(YR)Mf=qb-E~dvq3Z@kcO545ZPQ2kQ6?3-HKM@j646n6{`J zau&f=^D$q=^tMAj=eO7EOpvCV7l2Wz85gZB5I`tT<>&SrJZ4#~6T z?;VI{_@ZS~RDxO&v0w`_WDG57=R};s_Nh7gU}N%3XpSg5bj|?BHA5WXDVN?PT13S! zyUxyk0a72>=C{5?Pu(Ddi)8cDP}jeXs?2Jrb+e2+8kD;`Da|QoE&NT3=xvUc^OC=U zx50edZDIEy)je`yiDbDmHPfuZtg;g_qdHjy(igTU6JnouZZ>+RvvudV;4PMsvKoZb zA$=NJ`cikZmI6BUR|9(5I@ zFS%8fjliAc1!$JKs=) zDhOYXfspOWSLj1Ac&=Ejf_2k^Lv;pb*=zAzE0Ycs@9I*MGpsgz+H>wli~;@GQ%}-F z(a%(FtQ$|SO(~pZGkIZfZOv(Nr`5GbnxvT9LAZt|S1or-RdHdL$p(b!&DdHB2+ zUwYGSckAhLZRQ$_S=yMUS)`6xeEic08QQP*KCGI_Fpr9>-bd4)qnN6rTTUAT8t%FV zi=&bY#@6}bpLJTnXdJS7nzzN@yw8?Vvt)mH5+ES(86LD+Xh*?D7RsP%%>c`*t=VFY z-+)cpnxwF+e)-~%<*$_gXgJs|I)p5FGfSRHMn$22glFUv(7V^e+kE~)Ys2(^U_JQ{ zo`d!A@7BBM&)}WD2iC{nt~!Z%8+5=&z`pH!0CKwVy{8CJhUE`CZ#+ruuf71GgMg5V zH3m@pkt8~&@qY1-Mr{7xd0s@biYG*t-`Dja<{SBuzZbAU8@EFCxLToz&I{1m)AMGA z3y@P5h6M8jD8<@Ue0&Pbeeg-V&MyEk@GgF^vHrK|3c`Q1(&~SD-XB?+^=D%C|6pVN zfaISnsr!eqv53}fJ&91sPB6Mci*)YM5-D2sFjtBa{8~Q(YkJD!ly5x_Ms{VdGB@O< z&c_WtY%B>w!rQx)KF_VFwQF>e%68W-DYVBasZ8kfxHu4HRZTJX=Dd#J{Aznu0kl#L zS52JNXnk_uBDYLFB0Y}P+N#2jVnx(SfgUU#EL$!~zU3UhY!d~-Hog^&XDr?}o&w(s zlINgjxLVNF1Nb1A659Q<#n+g{$yqzwZ2J%}GfJOQ9#CI^Tv{(cq0qIP`=`JrBp&bJ z8q+VOw3V9isYoE&8?XmQcoGANhb+ZYU^jJ;15S2L#LVF#;pcRc=D=Cmea*m>_D?Y+ z`=h?+-)H;yN0Gz~^f7%6%%!_FuhG&)>#aSZgIEnxs=+0QeW1`!6;=krKBpLjDDQgk7QXJK4Q)m{t|Fou5TT@7>Ta^98s1 zNT|%PRnkLEJbN(~qiOp7T0tXiW?%FcUN#(_yFkkp_9m|y z$1PLnMUUg>i`y0|TFVxxPE@+~_MC2v5*7)E#OGcVe#|fu;SiVJOVn%N(3-Z? z*>k>TAvBwD!CJ8ObH8n(pwDV5*J@oa#k_FeI)W1+!&?jpJta}zN5v@j>28Vs?8+(O zpXRB33GK3vR{WcAuVWQm>Ty}BZi5ia1*)rNj=L-k=`dM%TO3&E2cCp6&FYhP85%I> zEHUdnk}~hgSnGKmRWvgNcWL%R4KumxiX10;60nuSoN%3+;Z z4)Hf`e}kQ*(l$ucf#(?o5!n3c^^7qK?^2r?q_Ts$4V<>pUGyuQiw{Y{aqK5wk`w7L zHs`BlDP$8>ckNlT4Ew>&WGM;{mVj-V!(xxa+`YoAiB$r#@z4r5-#abu)+<$!FC0y# zmhm6b4U>|xgqVt4Y8Owv{IX`)T37^z%8*ah`J~9XJ#?JERKz&}HoUFz`Y{&i3WeIa zLz`gear+HYH24KudjAU@@*9#5h~_Gli}D=a)UGg2`SbI)dN`7qz7b`fYz%E6UpJLR zI&u^nskxZ+r``S1AeULrz5N*U>tJ3&V!8FYiO3Z_n^vRxFFrSTlQJVe%*t_Asqsv$V> zi=z@@Wmd7~G{$CX-;TW4Q<@hEHQz8g`LfTV-;N{8MpGSlxfSARaL8hqS1t|V!G0qai{&AQ=Q#cGW8GazNDvj9*z5tP3fCfod4wNLJ ztl-r<>c8YBtc%$o3&8#hZ^@tt1^vZ;q#z;5UnL=ee${sjyqH=YI!182#n`u}I! z%s<;PCHCKsFdm_x!|j+=jM_Z-H-by(=D8ho3=agj+pieEJ|IJ*fp_MzC%pbWB}2Ur zg!~?X{z)&aRrv1&L3G1^7lwo{Pysv7$P^|_gCgKOYr0LUcvi@^+rB3Tgg|}Varyy7 zc+Yw(df;*Vl->hA+E2o}BFFZ{q|c4^l_S9@Ky(ZXd|Q@Hn|VO79V6Di2?7=AUq z%5Kbw`KhV}-Jr`rdEUg!@U*#JhPEXh6CJEaxib6}bJtf#5{?&`^n`@0%iQm=PLJzU zXO#vvS#P)Tj~$mhfH1~=*}iX=bo1~tTpelJ>M=v=2^sWcC}`VTC)4{3Ex*^7NYK_% zTMFnoBu3AW3PTo^(Ot6eec*k{`c5c1KGUHfoOvFCz=$y{2iV9eSy%sz%<5IR=JDu z%WD3J^6vZ^IsO=Ddqr$F5uzrE0Na?2x}P2t?$nl_O<1JLzemB6 z=l4)cq;MyajSx^n!dz2x4mGzoyIr;lS;(cqjOCq$PP7%!rF zsP1f~XY(?8*b~zJAx=X^>5D7_gG1Zy+a%K$)#*$30HFvWr}A#Tco#vx$>ZbjWkvff z<}h16q2#Zw3sL6fgc`XdnFZmIxymZhNmCP3euPR-U;p2}gH`(f9;%j)n^R97=>yBw zPg(JpaM|+*NCdj-=a76{V``l}=B5|qXc3w=BMv$CG(aIR5q%IKUUy=90ebB7>)@s1 z^v>-91gKa;8P8pspeJOiK)A^U=uB@;5bqkdfgJPq@$ZE?aOSBcn*F=f&Y$_U`rz-A zj4GS|uHwux7!OET15!FR7}En*C}0#^1)XS&Tu}waZ5i-~f95z1mUR7{=<}lI_22mt zLrIW|=n$mA;U4r<1!CI;oic;^L!y8!QQh5sQ2-Q7$5?x|05-5Le(-;PL@)ki(ThKX z4EHyouwMkj{@y!|>Fx?fme>yvJ!Syn1R#A3@7ek9;|NfQ>k^ve z6uQ*`CF$f2?EA>qs%^vozk|=3tJTD8=8ETyh4XtG&rk;Qq)WA>7a%Pw&meL;?7XNn zUjO!6{uKD%7M3$wtE7pQav#B7PU=N(&PW_4OkX!u%BSGrQ*bi5!r!DC&Yix!L%8L2 z*WDs*@0@4@id*+!4npKwD9kcHW>dIB7a8?vYm_}PUEPJCmY{ii_KL(IQ7}^F@sKdv z!j^&9Kn91_xUdCTDe-;oSMAYJZglmUFJqR1PSX_=;}g3O6)SBTvzvOtX{O3{M+&f# z^7ADo0rQ$yHMQ$y!l%F%;K|A3zq9)Pv6}e@R!;vGtC>G6JxIjNF7LqDWJ4}Ty_@&C z^zJ4OcVb0Gh>o-Lbo?o0YG9*jJlnPOF0Wy`RmM$AAqHhdidN_(~ z>0xgo?E>k9>~XZae?Cw2Bw7I9GEc~EgpbQ*nMG@#c(6L$6%Ly7eLsPX{cMKo(s5M> zJve9>ap|4+*rPKUj|7i#SYsQIThlEyjhqMn~0`1-7%4 z;_w4A$W;W$-$z_^x3{(P1;4c}L`$B@Hk5yCvu3_B)%?L&S;Zz|ZJB`ca;g3Gja2u8 z89WQ#8k{Zic{vtMp30*|C28}$%lR}xkr5wLZg1Yf%V}59$C!rY-+Y>{q@FsmV?DhG z^+AXC@XH0*I_>4T-t;_K74B^9HsQ|YPDaSovVe8y+>*occa0X>+UL;I_)iYns(EER zt!cSF_-@^PB7oc1K0Qm3!dV_!h`ymGG~XLL8)!Xq#-wqJTZJ-PEr{o3Bp%5$?<|FJ zgx#=)$UM{^Ltl)lmX#rITNS65@R$TOuuK6V62ufX|*HenS3y6D{hEU*tZADVQx{9&_)tQQIsMHS!(RNWD8?vd}qiF_kQnt-{1Fr zzwf=jcjjk)=70X@oadZpJI^`KdCnn|s1iEA=TT=;aI8S;lUQSuskv8k`N+kbH~3JxyVEW_aoj*M_E{}0p`kN=x(XoW>k&7TFhC0SJh7%S+meRUe>n!iY zMJpcXpFoxKCOc1MoFNIdQYt+z>eFfql`sKSj=G%}!Y!t$v7Nt~QyCKU3FZnn@(>6i z35I-)>8FjY1smF^FqSY=n3)dd@|642)l<}3DKG+0UyaoQL&kGVHu;@mH;X}?GzOs$ ztU|Dk*+iKh0qfB^-)_xaO*gJbEoXJv8C%S7Ev!_Cys+?m{qF)zvPUpat_uC5_6U)k z*dxN}G05QzM$8v`E#d5?z!!I>@d|Eg8dAv1X*vh%e{Y6yc(VAK!cK+=k>uQ(fs(y( zf`CIxwq&d+FSQf*!y4nt3JervDmF+yO#?-@!YR1 z19j#Sg&8}ZT9qoCifLqjmjmLy^({T%S4MSr3J%l`o^Z7OqoqLnO>VV6&^U9IY=0o z;ffoI_aDrq(~~byL|D6aQJ7bXw&#y14pg?-l`*}_u2KRUvMRp$hd!UM#)w!;<{i!t zUXyF>F^GNAtbA$W%5uFRU$sD@P#g(ctXiS=WJE`ck}0%Z-#P_IQpM7Bm< zDwRSQXs0H|B?&h@j!&>a4l;F0$d3%Ks=oMC73t!7*DP6sB!B0^4ZFk(!&`sj|HON+ z{%nBLuvbjDSE1tP_hU{Yy^7Axq}wt!JM*u=Wy@2d&LppFxk!o)3a}4vsqpbK&e&Wl zW*Oal&zNT5dTNFXCeb^Y{bG;pS1&o#iNldn@|}aymARF@+I>>WjbAD)EP55Mf=S1F z%Eg5~m#vh4;Nns$5(C!)9QaCQ2Fp;#{II`s z4A;{(5bi}C3-M(N8RIHK>D+9W@PGREU%6M*Kfq~Hx{VUX+LKc+zb``)8uV&!gPXWk zVE>NjpI2>(#Fvq+rOU~!my5QM-)ZQBvAkx6YdD-q3z@vMLVtx`l3u#*USpQqu!2O+zeOM*lFOd zT&Eun!r*Y2C*;3SQs;X?$S`+aHY<2^I(~|Rti~NAmq-U30QVJ!fM6!veSMfR)-9}wEK zzmiu}q9125c}eqWom$m5tk#Hkx39#I?WSV2%ae~I@*0oy86VO0c0YKgj$wX1H05PV}?r=Kf_f7E=@b1 z-JLz4f@4fOd;@DETc)bZs;xp9+my2z&5xIqHI= zE`C@g9Cg7_7k>{EZX9gRq*`K>*kNm!1s6~b6T?359p*Wk`OG2plkd91{BmrC_EbdP zZkg1v<#_^=N5$pAyfcQS4$RiD%&G|52%?Exe}mlfO8Rv_y(GxT1D0_a-)C0x+=Nt{ z_u_G1qgwo`1N@1W;nUIWtc^NRm>v+;cEJW1!;)bAJht74z7p)h-$b1ZZ|%tjyIIW; zRQgX~N_$3!5lzW3WtmNEEn~>UY$m_c0r%Pi1Gp5dps$vANf`r6Bjs@Nuy9GW4n6%c zh%(=cVJydVK+Mw^8DI9rEN*JbV%XB5H)6(3r9oFL$dlaUah2kQ{U5-jy`C-Uo} zcCbHs5xy2d&GQ53T!6c?eII7HE(ey879$I+YcBwMa?F@@hd>@%4I&V@Vy1X&0sf`_ z0-aKrhrxk)JsT;kWsng84v{!S;z$xll4gelj=JNFN%JEiXH5ETv2YBB?*<;nZ~#^% z$GV#}|2ZZ&+w$j_;NRzx9K(TQIQ%oip&9IYAa8(dXK#L37!yBL)i%M1%%zR@Q0NG~ zk^FI^#p@E&(r2h0MjM-vtD@oFRZ@Tt#TABuwYtZ*~u7Dw5S2{x(oEuPOK(CnLx{;iZ+v;OlYLOOB zgt^FApV%>yoA;7m;*cN37?;#_v~GKx+gFoP?Ib0mB*i#JT~3pA+FHE_X1-!~Gs&f$ zUR3VBgpCOak4BrCEuWs_;dST;Qm=dmFUvHzIVoUXbboW^*nP)1o!FffF6F8##m|jZ zBAXOG_WJ$wHYDSwkMhJsT>Q`Z!5+JWutY~G5e-Oy&(cQ zyB_*8H}=u6A((=_O&&pL38F`I!>h3@?%}$p#L&jfmsi{THKW492hSlSd!FTq(#1B9 z`xflAp$Xa)jFiRIbq!>xnIi5TjEy--8(LGZjf{{cTnW!}@$c5-CtWmmYeePb3_Y~) zMf={MCJEeW*ULF)F9xodV3;eO!waWjf|vs$pn zZ6CK+!h01~nS5=(UHv_%UK&7yNc#6QUE!{EN;w>Ad>K`5Joybpn-n36u zZG%c>?7EB(ts_pO1yu^gwKq4{wpS>Jt2C$kXIc+gZT7aD3bwcmeNWV`T;9}Ll;*>- zx^*+HvORG}XH17s?b_YN`Oyz$>b}Lt1^Ih>`Xp!zu8n$>`!02`%J0KF#XTqmG%O;Bmhn2M1 z8k_3gy7Bl^nthGA^Wm|NyDgj$zY_d~u&r?qMhov^>kvke&r$X}%T8n6blQ*EXQnt= zY;AZ@3zd7#qwTv!^>Fk`dZ2Q>@104HQj5@Nx3n79U0TzIorxLSWmir;PUKe}el?iz zd9uXUzT4=5xp{urQ@O2XN7gv>=|J@EK0Hst;Y#ohCJJUpp6ruG$!BL?GxvA8#B@sX z_1EGV@|qBr0Q<^%b$k}Yviz&3BK~jZUp4_Yx#5btUjz#o?}sc1=l@&l;K8D;%S_O*1C3caIuw|>Kj zQyrtZ{;^w9rIFnyw^NUDs9Ta0L)(?|hwWp?>22^e%PVy^eSsx?bT@>@NnoO2FI;8) ziR+^D@gqcuV@j?)im~Ixyo`hq`j9*g;-vTu(qK_oV3BjBWk2cVFNdPb0n7k z!*kp8_K}`lzxwW6-8fuW6X9p27XA8@G2*vY1!d=(cg?@@TvNN*b`7>iSKnd7&m}j` zbvX2$#B3h#Eikg72yVZRSR3@QF|K{Nz3XIEi%1{I8n09;ohOq}Qu0mCan)|xiI8KI zLuH%jEtCV&RSln-%LnxDzuM7p(Z4H?RIuApq13FjJ^rB~|N5vJC;I3<$J4Kr`ZVuV zrY5G{iqr8LmN3Y>H*D}`WZQacn&dnIxb%^6t?;7$0Vd?Zp6Kv;p&?u?>j0-J3p7Q3m)(l5Sf!cVBh>l2T?&B8UPX900NhIg5x86G+ zwGdsd5uzvqKUuP!SE!OBC}M#k$ZoDCj)c?A)6xaN;+~ z^Vi+4SnqGdiJ3F7aW?loo*PC<-_|wMeN<%S#aOYy(1hgZV$*BAr>@lZDGDFYZL{ITapRz+_0ae7wdUI{+8^JdfZXNB;;wldU1&A7D zq!_8;s$kgwbo!%=e0}L#dxg$@L91N0Ww!P=d(@-KhIzvX!$NI+eU+bAjmG(yU8Y0^ zG}!ZQ$_m1T(cji3zF#La|@y^<_D<~W1?AagZP%PD@6XdYZg2Oz8 zna_Mv8>hbB%ztV5Mr-Qq6Nxp&W7~mK&YZ<|%6YT2Bfw!!+5P;h+Ej|-%tF(!>sP+g zIov5!f5(M>Y^RSD$xwd?b{hJ;~1>1NYSm>WDm!VFl^823|4s!@w(s zn&G+@Z83qPJfep56WdgE!#VjQIW0kFjgmCgs;iocXG zO8Nn|t_F4sXaRp;CIk58_75?lfWJ>fX9;LlPA7Rx7&ymP#7u?OfsBahO7U>u?puJc zrH~h*PvCA1i!hO>Dh#}R3(>U%D!rcVy)?rx_%U6OqiKwae@3L3@ocuk@Jjon$L6&1K{BBHgEIN+SJ!k53%mt3Qz?r%( zTsZg>bAfUg1iv#5287K9zyCOu@ZZIE_IGawxL=Ai306OLj6Me*n$_$>-B(#9ktqC_ zj%08Z?Xy!j`Zno@*aS2=7eb4umRz-I#|ggJpR{DY zbVO<$eDsR4hvJ<7-w@m7`pNq4a&WIduw8$ zhRIJ`cu#dVcspS1c}`vp&x&v6dM#X2E?d^nRi`*A-x@3+5oUAH*x66!($Sk2#OqF< zEq-jh^K`u-y+5$`HxdbX&s}l7!VB@x(*&Y*M*11KpMw&z(+O>Y_iy)w=mzM?C>%^0 zl^_-WCLpMU77=50BtC3-VY+Hle*oR z{z&&(a#gybIA`zH&BDlZ7SbTOsL!_a%CH$~v8N*zbB&-~sU`Wt9N4 zEy;(J1E^V=hF)498i7FkF-=JxplnfDkWYSTeV~1aKjuRz0{ky2i)PbgX`1}fexMO( zG$765d`LOOAK)V8{s;pphgwjdr#s%!h2TER6{e1UfV^lZ%!Eh;q62cV$*AjQPXux_ z_gfQ4l8S8-w*A;rXA=FC`9yRb1|SVA0N;K^U^!}o( Date: Fri, 19 Apr 2019 22:16:08 +0300 Subject: [PATCH 02/14] Added description --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b0c6940..e0d5258 100644 --- a/README.md +++ b/README.md @@ -1 +1,9 @@ -# Homework-VueJS-HTML \ No newline at end of file +# Homework-VueJS-HTML + +* Create a layout based on this mockup. + +* Dimensions, fonts and colors are up to you. +* For text use simple (no links or buttons are required) +* Use both Flex and Grid in appropriate places. +* The layout should be fully responsive, should look good on all devices (from mobile to desktop). +* Any animations, transitions and other creativities are welcome (but not required) From e2ba8c5ac4cf01a86b3abb016ae3c9d3c6ec8355 Mon Sep 17 00:00:00 2001 From: IC Date: Fri, 19 Apr 2019 22:18:31 +0300 Subject: [PATCH 03/14] Adjusted description --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e0d5258..0c96c23 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ * Create a layout based on this mockup. * Dimensions, fonts and colors are up to you. -* For text use simple (no links or buttons are required) +* For text use simple 'span' (no links or buttons are required) * Use both Flex and Grid in appropriate places. * The layout should be fully responsive, should look good on all devices (from mobile to desktop). -* Any animations, transitions and other creativities are welcome (but not required) +* Any animations, transitions and other creativity are welcome (but not required) From e59fca5d3658236d59c70e57b09203cc33c7e21b Mon Sep 17 00:00:00 2001 From: Ivan Ceban Date: Mon, 22 Apr 2019 14:36:51 +0300 Subject: [PATCH 04/14] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c96c23..e502e64 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,6 @@ * Dimensions, fonts and colors are up to you. * For text use simple 'span' (no links or buttons are required) * Use both Flex and Grid in appropriate places. -* The layout should be fully responsive, should look good on all devices (from mobile to desktop). +* The layout should be fully responsive, should look good on all devices (from mobile to desktop). This means you will have to reorder elements to fit the screen and keep readability. * Any animations, transitions and other creativity are welcome (but not required) +* Using preprocessors is a big plus (but not required) From dbb84bda4a698afcf905bc9a92f608b6b93bbfa0 Mon Sep 17 00:00:00 2001 From: Cristian Date: Tue, 23 Apr 2019 23:08:12 +0300 Subject: [PATCH 05/14] install sass --- .gitignore | 1 + css/style.css | 0 index.html | 0 package-lock.json | 1487 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 22 + sass/main.scss | 0 6 files changed, 1510 insertions(+) create mode 100644 .gitignore create mode 100644 css/style.css create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 sass/main.scss diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/index.html new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8a6c643 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1487 @@ +{ + "name": "homework-vuejs-html", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-sass": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", + "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash.assign": "^4.2.0", + "lodash.clonedeep": "^4.3.2", + "lodash.mergewith": "^4.6.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f246d74 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "homework-vuejs-html", + "version": "1.0.0", + "description": "html-homework", + "main": "index.js", + "scripts": { + "compile:sass": "node-sass sass/main.scss css/style.css" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/jfredz/Homework-VueJS-HTML.git" + }, + "author": "Cristian", + "license": "ISC", + "bugs": { + "url": "https://github.com/jfredz/Homework-VueJS-HTML/issues" + }, + "homepage": "https://github.com/jfredz/Homework-VueJS-HTML#readme", + "devDependencies": { + "node-sass": "^4.11.0" + } +} diff --git a/sass/main.scss b/sass/main.scss new file mode 100644 index 0000000..e69de29 From c7ca942c2b008088ad846110521b69019ca92bb9 Mon Sep 17 00:00:00 2001 From: Cristian Date: Fri, 3 May 2019 15:36:42 +0300 Subject: [PATCH 06/14] create sass 7-1 pattern structure --- sass/abstracts/_variables.scss | 0 sass/base/_base.scss | 0 sass/base/_typography.scss | 0 sass/components/logo.scss | 0 sass/layout/_layout.scss | 0 sass/main.scss | 8 ++++++++ sass/pages/_home.scss | 0 7 files changed, 8 insertions(+) create mode 100644 sass/abstracts/_variables.scss create mode 100644 sass/base/_base.scss create mode 100644 sass/base/_typography.scss create mode 100644 sass/components/logo.scss create mode 100644 sass/layout/_layout.scss create mode 100644 sass/pages/_home.scss diff --git a/sass/abstracts/_variables.scss b/sass/abstracts/_variables.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/base/_base.scss b/sass/base/_base.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/base/_typography.scss b/sass/base/_typography.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/components/logo.scss b/sass/components/logo.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/layout/_layout.scss b/sass/layout/_layout.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/main.scss b/sass/main.scss index e69de29..b3dfa40 100644 --- a/sass/main.scss +++ b/sass/main.scss @@ -0,0 +1,8 @@ +@import "abstracts/variables"; + +@import "base/base"; +@import "base/typography"; + +@import "layout/layout"; + +@import "pages/home"; diff --git a/sass/pages/_home.scss b/sass/pages/_home.scss new file mode 100644 index 0000000..e69de29 From 723d1e13fb12e07880a30962eaf53dd1e8e2dc8f Mon Sep 17 00:00:00 2001 From: Cristian Date: Fri, 3 May 2019 16:25:36 +0300 Subject: [PATCH 07/14] finish html markup --- css/style.css | 3 +++ index.html | 44 ++++++++++++++++++++++++++++++++++++++++++++ sass/base/_base.scss | 4 ++++ 3 files changed, 51 insertions(+) diff --git a/css/style.css b/css/style.css index e69de29..67296ba 100644 --- a/css/style.css +++ b/css/style.css @@ -0,0 +1,3 @@ +body { + margin: 0; + font-family: "Lato", sans-serif; } diff --git a/index.html b/index.html index e69de29..6d5fd64 100644 --- a/index.html +++ b/index.html @@ -0,0 +1,44 @@ + + + + + + HTML Homework at Pentalog + + + + +
+
+ Logo +
+ +
+
+ +
+
+
+
+
+
+
+
+

HTML Homework at Pentalog

+
+ + diff --git a/sass/base/_base.scss b/sass/base/_base.scss index e69de29..fd94bbe 100644 --- a/sass/base/_base.scss +++ b/sass/base/_base.scss @@ -0,0 +1,4 @@ +body { + margin: 0; + font-family: "Lato", sans-serif; +} \ No newline at end of file From 0407bad129626a26964ab99163430f9e36fc6f0d Mon Sep 17 00:00:00 2001 From: Cristian Date: Sat, 4 May 2019 12:42:14 +0300 Subject: [PATCH 08/14] implement css grid layout --- css/style.css | 53 +++++++++++++++++++++++++++++ index.html | 62 ++++++++++++++++------------------ sass/abstracts/_variables.scss | 1 + sass/base/_base.scss | 13 +++++++ sass/components/footer.scss | 0 sass/components/navbar.scss | 0 sass/components/side-menu.scss | 0 sass/main.scss | 10 ++++++ sass/pages/_home.scss | 52 ++++++++++++++++++++++++++++ 9 files changed, 159 insertions(+), 32 deletions(-) create mode 100644 sass/components/footer.scss create mode 100644 sass/components/navbar.scss create mode 100644 sass/components/side-menu.scss diff --git a/css/style.css b/css/style.css index 67296ba..23701f7 100644 --- a/css/style.css +++ b/css/style.css @@ -1,3 +1,56 @@ +*, +*::after, +*::before { + margin: 0; + padding: 0; + box-sizing: border-box; } + +html { + font-size: 62.5%; } + body { margin: 0; font-family: "Lato", sans-serif; } + +.container { + font-size: 1.6rem; + display: grid; + height: 100%; + grid-gap: 0.5rem; + grid-template-columns: 16rem auto; + grid-template-rows: 5rem auto 50rem; } + +.header__logo-box { + grid-column: 1 / 2; } + +.header__navbar { + grid-column: 2 / 3; } + +.navbar__items { + display: float; + list-style: none; + text-decoration: none; } + +.content { + grid-column: 2 / 3; + padding: 2rem; + display: grid; + grid-gap: 1rem; + grid-template-columns: 28% 38% 34%; + grid-template-rows: auto auto; } + +.footer { + grid-column: 1 / 3; } + +.content__item-1 { + grid-column: 1 / 2; } + +.content__item-2 { + grid-column: 2 / 3; } + +.content__item-3 { + grid-column: 1 / 3; } + +.content__item-4 { + grid-column: 3 / 4; + grid-row: 1 / 3; } diff --git a/index.html b/index.html index 6d5fd64..689cb8c 100644 --- a/index.html +++ b/index.html @@ -8,37 +8,35 @@ -
-
- Logo -
- -
-
- -
-
-
-
-
-
-
-
-

HTML Homework at Pentalog

-
+
+
+ Logo +
+ + +
+
CONTENT1
+
CONTENT2
+
CONTENT3
+
CONTENT4
+
+
+

HTML Homework at Pentalog

+
+
diff --git a/sass/abstracts/_variables.scss b/sass/abstracts/_variables.scss index e69de29..f7f94eb 100644 --- a/sass/abstracts/_variables.scss +++ b/sass/abstracts/_variables.scss @@ -0,0 +1 @@ +$default-font-size: 1.6rem; \ No newline at end of file diff --git a/sass/base/_base.scss b/sass/base/_base.scss index fd94bbe..65c4e89 100644 --- a/sass/base/_base.scss +++ b/sass/base/_base.scss @@ -1,3 +1,16 @@ +*, +*::after, +*::before { + margin: 0; + padding: 0; + box-sizing: border-box; +} + + +html { + font-size: 62.5%; +} + body { margin: 0; font-family: "Lato", sans-serif; diff --git a/sass/components/footer.scss b/sass/components/footer.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/components/navbar.scss b/sass/components/navbar.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/components/side-menu.scss b/sass/components/side-menu.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/main.scss b/sass/main.scss index b3dfa40..6230670 100644 --- a/sass/main.scss +++ b/sass/main.scss @@ -3,6 +3,16 @@ @import "base/base"; @import "base/typography"; +@import "components/navbar.scss"; +@import "components/logo.scss"; +@import "components/side-menu.scss"; +@import "components/footer.scss"; + + @import "layout/layout"; @import "pages/home"; + + + + diff --git a/sass/pages/_home.scss b/sass/pages/_home.scss index e69de29..086fc34 100644 --- a/sass/pages/_home.scss +++ b/sass/pages/_home.scss @@ -0,0 +1,52 @@ +.container { + font-size: 1.6rem; + display: grid; + height: 100%; + grid-gap: 0.5rem; + grid-template-columns: 16rem auto; + grid-template-rows: 5rem auto 50rem; +} + +.header__logo-box { + grid-column: 1 / 2; +} + +.header__navbar { + grid-column: 2 / 3; +} + +.navbar__items { + display: float; + list-style: none; + text-decoration: none; +} + +.content { + grid-column: 2 / 3; + padding: 2rem; + display: grid; + grid-gap: 1rem; + grid-template-columns: 28% 38% 34%; + grid-template-rows: auto auto; +} + +.footer { + grid-column: 1 / 3; +} + +.content__item-1 { + grid-column: 1 / 2; +} + +.content__item-2 { + grid-column: 2 / 3; +} + +.content__item-3 { + grid-column: 1 / 3; +} + +.content__item-4 { + grid-column: 3 / 4; + grid-row: 1 / 3; +} \ No newline at end of file From 43d845e7329ad4cc92e188f340122cafc7df11d0 Mon Sep 17 00:00:00 2001 From: Cristian Date: Sat, 4 May 2019 15:20:27 +0300 Subject: [PATCH 09/14] fix grid --- css/style.css | 48 +++++++++++++++++++++++++++------- sass/pages/_home.scss | 61 ++++++++++++++++++++++++++++++++++++------- 2 files changed, 91 insertions(+), 18 deletions(-) diff --git a/css/style.css b/css/style.css index 23701f7..955d88b 100644 --- a/css/style.css +++ b/css/style.css @@ -15,21 +15,50 @@ body { .container { font-size: 1.6rem; display: grid; - height: 100%; + height: 100vh; grid-gap: 0.5rem; grid-template-columns: 16rem auto; - grid-template-rows: 5rem auto 50rem; } + grid-template-rows: 5rem auto 5rem; } .header__logo-box { grid-column: 1 / 2; } .header__navbar { - grid-column: 2 / 3; } + grid-column: 2 / 3; + padding: 0.5rem 1rem; + display: flex; + align-items: center; } .navbar__items { - display: float; - list-style: none; - text-decoration: none; } + display: flex; + flex: 1; + list-style: none; } + .navbar__items .navbar__item { + text-transform: uppercase; } + .navbar__items .navbar__item:not(:last-child) { + margin-right: 2rem; } + .navbar__items .navbar__item:last-child { + margin-left: auto; } + .navbar__items .navbar__item a { + text-decoration: none; } + +.side-menu { + padding: 1.5rem 0; + text-transform: uppercase; + display: flex; + align-items: center; + justify-content: flex-end; + flex-direction: column; } + .side-menu .side-menu__items { + display: flex; + flex-direction: column; + align-items: center; + margin-top: auto; + list-style: none; } + .side-menu .side-menu__items .side-menu__item { + margin-top: 2.5rem; } + .side-menu .side-menu__items .side-menu__item a { + text-decoration: none; } .content { grid-column: 2 / 3; @@ -39,9 +68,6 @@ body { grid-template-columns: 28% 38% 34%; grid-template-rows: auto auto; } -.footer { - grid-column: 1 / 3; } - .content__item-1 { grid-column: 1 / 2; } @@ -54,3 +80,7 @@ body { .content__item-4 { grid-column: 3 / 4; grid-row: 1 / 3; } + +.footer { + grid-column: 1 / 3; + text-align: center; } diff --git a/sass/pages/_home.scss b/sass/pages/_home.scss index 086fc34..bda7818 100644 --- a/sass/pages/_home.scss +++ b/sass/pages/_home.scss @@ -1,10 +1,10 @@ .container { font-size: 1.6rem; display: grid; - height: 100%; + height: 100vh; grid-gap: 0.5rem; grid-template-columns: 16rem auto; - grid-template-rows: 5rem auto 50rem; + grid-template-rows: 5rem auto 5rem; } .header__logo-box { @@ -13,14 +13,56 @@ .header__navbar { grid-column: 2 / 3; + padding: 0.5rem 1rem; + display: flex; + align-items: center; } .navbar__items { - display: float; + display: flex; + flex: 1; list-style: none; - text-decoration: none; + .navbar__item { + text-transform: uppercase; + &:not(:last-child) { + margin-right: 2rem; + } + &:last-child { + margin-left: auto; + } + a { + text-decoration: none; + } + + } } +.side-menu { + padding: 1.5rem 0; + text-transform: uppercase; + display: flex; + align-items: center; + justify-content: flex-end; + flex-direction: column; + + .side-menu__items { + display: flex; + flex-direction: column; + align-items: center; + margin-top: auto; + list-style: none; + .side-menu__item { + margin-top: 2.5rem; + a { + text-decoration: none; + } + } + + } +} + + + .content { grid-column: 2 / 3; padding: 2rem; @@ -30,10 +72,6 @@ grid-template-rows: auto auto; } -.footer { - grid-column: 1 / 3; -} - .content__item-1 { grid-column: 1 / 2; } @@ -49,4 +87,9 @@ .content__item-4 { grid-column: 3 / 4; grid-row: 1 / 3; -} \ No newline at end of file +} + +.footer { + grid-column: 1 / 3; + text-align: center; +} From d9d494ddbf3f1f9d4b1c4db8fe499552fce6573c Mon Sep 17 00:00:00 2001 From: Cristian Date: Sat, 4 May 2019 18:22:30 +0300 Subject: [PATCH 10/14] add colors and buttons effects --- css/style.css | 113 ++++++++++++++++++++++++--------- index.html | 26 ++++---- sass/abstracts/_variables.scss | 11 +++- sass/base/_base.scss | 5 +- sass/base/_typography.scss | 9 +++ sass/base/_utilities.scss | 5 ++ sass/components/button.scss | 11 ++++ sass/components/footer.scss | 3 + sass/components/logo.scss | 8 +++ sass/components/navbar.scss | 23 +++++++ sass/components/side-menu.scss | 22 +++++++ sass/layout/_layout.scss | 45 +++++++++++++ sass/main.scss | 6 +- sass/pages/_home.scss | 90 ++++---------------------- 14 files changed, 249 insertions(+), 128 deletions(-) create mode 100644 sass/base/_utilities.scss create mode 100644 sass/components/button.scss diff --git a/css/style.css b/css/style.css index 955d88b..d072921 100644 --- a/css/style.css +++ b/css/style.css @@ -9,38 +9,54 @@ html { font-size: 62.5%; } body { - margin: 0; - font-family: "Lato", sans-serif; } + margin: 1rem; + font-family: "Lato", sans-serif; + background-color: #eee; } + +.side-menu__title { + font-size: 1.6rem; + font-weight: 400; } .container { font-size: 1.6rem; - display: grid; - height: 100vh; - grid-gap: 0.5rem; - grid-template-columns: 16rem auto; - grid-template-rows: 5rem auto 5rem; } + color: #fff; } -.header__logo-box { - grid-column: 1 / 2; } +.u-center-text { + display: flex; + justify-content: center; + align-items: center; } + +@keyframes moveInBottom { + 0% { + opacity: 0; + transform: translateY(3rem); } + 100% { + opacity: 1; + transform: translateY(0); } } .header__navbar { - grid-column: 2 / 3; padding: 0.5rem 1rem; display: flex; align-items: center; } + .header__navbar .navbar__items { + display: flex; + flex: 1; + list-style: none; } + .header__navbar .navbar__items .navbar__item { + text-transform: uppercase; } + .header__navbar .navbar__items .navbar__item:not(:last-child) { + margin-right: 2rem; } + .header__navbar .navbar__items .navbar__item:last-child { + margin-left: auto; } + .header__navbar .navbar__items .navbar__item a { + text-decoration: none; } -.navbar__items { +.header__logo-box { + background-image: linear-gradient(to right bottom, #92ade8, #eeeeee); display: flex; - flex: 1; - list-style: none; } - .navbar__items .navbar__item { - text-transform: uppercase; } - .navbar__items .navbar__item:not(:last-child) { - margin-right: 2rem; } - .navbar__items .navbar__item:last-child { - margin-left: auto; } - .navbar__items .navbar__item a { - text-decoration: none; } + justify-content: center; } + .header__logo-box .header__span { + line-height: 5rem; } .side-menu { padding: 1.5rem 0; @@ -60,27 +76,66 @@ body { .side-menu .side-menu__items .side-menu__item a { text-decoration: none; } +.footer { + text-align: center; } + +.btn { + color: #fff; } + .btn:hover { + color: #656868; } + .btn:active { + color: rgba(101, 104, 104, 0.7); } + +.container { + display: grid; + height: calc(100vh - 2rem); + grid-gap: 0.5rem; + grid-template-columns: 16rem auto; + grid-template-rows: 5rem auto 5rem; } + +.header__logo-box { + grid-column: 1 / 2; } + +.header__navbar { + grid-column: 2 / 3; } + .content { grid-column: 2 / 3; padding: 2rem; display: grid; grid-gap: 1rem; - grid-template-columns: 28% 38% 34%; + grid-template-columns: calc(28% - 0.7rem) calc(40% - 0.7rem) calc(32% - 0.7rem); grid-template-rows: auto auto; } + .content .content__item-1 { + grid-column: 1 / 2; } + .content .content__item-2 { + grid-column: 2 / 3; } + .content .content__item-3 { + grid-column: 1 / 3; } + .content .content__item-4 { + grid-column: 3 / 4; + grid-row: 1 / 3; } + +.footer { + grid-column: 1 / 3; } + +.header__navbar { + background-color: #92ade8; } .content__item-1 { - grid-column: 1 / 2; } + background-color: #b5a1ac; } .content__item-2 { - grid-column: 2 / 3; } + background-color: #d5d5d5; } .content__item-3 { - grid-column: 1 / 3; } + background-color: #9fa6ad; } .content__item-4 { - grid-column: 3 / 4; - grid-row: 1 / 3; } + background-color: #b5a1ac; } + +.side-menu { + background-color: #92ade8; } .footer { - grid-column: 1 / 3; - text-align: center; } + background-color: #92ade8; } diff --git a/index.html b/index.html index 689cb8c..7fed306 100644 --- a/index.html +++ b/index.html @@ -10,31 +10,31 @@
- Logo + LOGO
-
CONTENT1
-
CONTENT2
-
CONTENT3
-
CONTENT4
+
CONTENT1
+
CONTENT2
+
CONTENT3
+
CONTENT4
-
+

HTML Homework at Pentalog

diff --git a/sass/abstracts/_variables.scss b/sass/abstracts/_variables.scss index f7f94eb..6d52b3f 100644 --- a/sass/abstracts/_variables.scss +++ b/sass/abstracts/_variables.scss @@ -1 +1,10 @@ -$default-font-size: 1.6rem; \ No newline at end of file +$default-font-size: 1.6rem; + +$color-white: #fff; +$default-body-background: #eee; +$content__item-1-color: #b5a1ac; +$content__item-2-color: #d5d5d5; +$content__item-3-color: #9fa6ad; +$content__item-4-color: #92ade8; +$color-button: #656868; + \ No newline at end of file diff --git a/sass/base/_base.scss b/sass/base/_base.scss index 65c4e89..952340b 100644 --- a/sass/base/_base.scss +++ b/sass/base/_base.scss @@ -12,6 +12,7 @@ html { } body { - margin: 0; + margin: 1rem; font-family: "Lato", sans-serif; -} \ No newline at end of file + background-color: $default-body-background; +} diff --git a/sass/base/_typography.scss b/sass/base/_typography.scss index e69de29..f368946 100644 --- a/sass/base/_typography.scss +++ b/sass/base/_typography.scss @@ -0,0 +1,9 @@ +.side-menu__title { + font-size: $default-font-size; + font-weight: 400; +} + +.container { + font-size: $default-font-size; + color: $color-white; +} diff --git a/sass/base/_utilities.scss b/sass/base/_utilities.scss new file mode 100644 index 0000000..09c03c6 --- /dev/null +++ b/sass/base/_utilities.scss @@ -0,0 +1,5 @@ +.u-center-text { + display: flex; + justify-content: center; + align-items: center; +} \ No newline at end of file diff --git a/sass/components/button.scss b/sass/components/button.scss new file mode 100644 index 0000000..0e9936f --- /dev/null +++ b/sass/components/button.scss @@ -0,0 +1,11 @@ +.btn { + color: $color-white; + + &:hover { + color: $color-button; + } + + &:active { + color: rgba($color-button, 0.7); + } +} \ No newline at end of file diff --git a/sass/components/footer.scss b/sass/components/footer.scss index e69de29..50fe983 100644 --- a/sass/components/footer.scss +++ b/sass/components/footer.scss @@ -0,0 +1,3 @@ +.footer { + text-align: center; +} \ No newline at end of file diff --git a/sass/components/logo.scss b/sass/components/logo.scss index e69de29..71dcc24 100644 --- a/sass/components/logo.scss +++ b/sass/components/logo.scss @@ -0,0 +1,8 @@ +.header__logo-box { + background-image: linear-gradient(to right bottom, #92ade8, #eeeeee); + display: flex; + justify-content: center; + .header__span { + line-height: 5rem; + } +} \ No newline at end of file diff --git a/sass/components/navbar.scss b/sass/components/navbar.scss index e69de29..03c2a6d 100644 --- a/sass/components/navbar.scss +++ b/sass/components/navbar.scss @@ -0,0 +1,23 @@ +.header__navbar { + padding: 0.5rem 1rem; + display: flex; + align-items: center; + + .navbar__items { + display: flex; + flex: 1; + list-style: none; + .navbar__item { + text-transform: uppercase; + &:not(:last-child) { + margin-right: 2rem; + } + &:last-child { + margin-left: auto; + } + a { + text-decoration: none; + } + } + } +} \ No newline at end of file diff --git a/sass/components/side-menu.scss b/sass/components/side-menu.scss index e69de29..39d0531 100644 --- a/sass/components/side-menu.scss +++ b/sass/components/side-menu.scss @@ -0,0 +1,22 @@ +.side-menu { + padding: 1.5rem 0; + text-transform: uppercase; + display: flex; + align-items: center; + justify-content: flex-end; + flex-direction: column; + + .side-menu__items { + display: flex; + flex-direction: column; + align-items: center; + margin-top: auto; + list-style: none; + .side-menu__item { + margin-top: 2.5rem; + a { + text-decoration: none; + } + } + } +} \ No newline at end of file diff --git a/sass/layout/_layout.scss b/sass/layout/_layout.scss index e69de29..74363d7 100644 --- a/sass/layout/_layout.scss +++ b/sass/layout/_layout.scss @@ -0,0 +1,45 @@ +.container { + display: grid; + height: calc(100vh - 2rem); + grid-gap: 0.5rem; + grid-template-columns: 16rem auto; + grid-template-rows: 5rem auto 5rem; +} + +.header__logo-box { + grid-column: 1 / 2; +} + +.header__navbar { + grid-column: 2 / 3; +} + +.content { + grid-column: 2 / 3; + padding: 2rem; + display: grid; + grid-gap: 1rem; + grid-template-columns: calc(28% - 0.7rem) calc(40% - 0.7rem) calc(32% - 0.7rem); + grid-template-rows: auto auto; + + .content__item-1 { + grid-column: 1 / 2; + } + + .content__item-2 { + grid-column: 2 / 3; + } + + .content__item-3 { + grid-column: 1 / 3; + } + + .content__item-4 { + grid-column: 3 / 4; + grid-row: 1 / 3; + } +} + +.footer { + grid-column: 1 / 3; +} \ No newline at end of file diff --git a/sass/main.scss b/sass/main.scss index 6230670..feeba25 100644 --- a/sass/main.scss +++ b/sass/main.scss @@ -2,17 +2,15 @@ @import "base/base"; @import "base/typography"; +@import "base/utilities"; @import "components/navbar.scss"; @import "components/logo.scss"; @import "components/side-menu.scss"; @import "components/footer.scss"; +@import "components/button.scss"; @import "layout/layout"; @import "pages/home"; - - - - diff --git a/sass/pages/_home.scss b/sass/pages/_home.scss index bda7818..ecbaaa2 100644 --- a/sass/pages/_home.scss +++ b/sass/pages/_home.scss @@ -1,95 +1,27 @@ -.container { - font-size: 1.6rem; - display: grid; - height: 100vh; - grid-gap: 0.5rem; - grid-template-columns: 16rem auto; - grid-template-rows: 5rem auto 5rem; -} - -.header__logo-box { - grid-column: 1 / 2; -} - .header__navbar { - grid-column: 2 / 3; - padding: 0.5rem 1rem; - display: flex; - align-items: center; -} - -.navbar__items { - display: flex; - flex: 1; - list-style: none; - .navbar__item { - text-transform: uppercase; - &:not(:last-child) { - margin-right: 2rem; - } - &:last-child { - margin-left: auto; - } - a { - text-decoration: none; - } - - } -} - -.side-menu { - padding: 1.5rem 0; - text-transform: uppercase; - display: flex; - align-items: center; - justify-content: flex-end; - flex-direction: column; - - .side-menu__items { - display: flex; - flex-direction: column; - align-items: center; - margin-top: auto; - list-style: none; - .side-menu__item { - margin-top: 2.5rem; - a { - text-decoration: none; - } - } - - } -} - - - -.content { - grid-column: 2 / 3; - padding: 2rem; - display: grid; - grid-gap: 1rem; - grid-template-columns: 28% 38% 34%; - grid-template-rows: auto auto; + background-color: $content__item-4-color; } .content__item-1 { - grid-column: 1 / 2; + background-color: $content__item-1-color; } .content__item-2 { - grid-column: 2 / 3; + background-color: $content__item-2-color; } .content__item-3 { - grid-column: 1 / 3; + background-color: $content__item-3-color; } .content__item-4 { - grid-column: 3 / 4; - grid-row: 1 / 3; + background-color: $content__item-1-color; } -.footer { - grid-column: 1 / 3; - text-align: center; +.side-menu { + background-color: $content__item-4-color; } + +.footer { + background-color: $content__item-4-color; +} \ No newline at end of file From 209d421eb91d0ed7d54651dba0e6c5e926d1db13 Mon Sep 17 00:00:00 2001 From: Cristian Date: Sat, 4 May 2019 22:41:02 +0300 Subject: [PATCH 11/14] add favicon and change one color --- css/style.css | 10 +--------- img/favicon.png | Bin 0 -> 5311 bytes index.html | 1 + sass/abstracts/_variables.scss | 2 +- 4 files changed, 3 insertions(+), 10 deletions(-) create mode 100644 img/favicon.png diff --git a/css/style.css b/css/style.css index d072921..9a1dc1e 100644 --- a/css/style.css +++ b/css/style.css @@ -26,14 +26,6 @@ body { justify-content: center; align-items: center; } -@keyframes moveInBottom { - 0% { - opacity: 0; - transform: translateY(3rem); } - 100% { - opacity: 1; - transform: translateY(0); } } - .header__navbar { padding: 0.5rem 1rem; display: flex; @@ -129,7 +121,7 @@ body { background-color: #d5d5d5; } .content__item-3 { - background-color: #9fa6ad; } + background-color: #b7bfc9; } .content__item-4 { background-color: #b5a1ac; } diff --git a/img/favicon.png b/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..53d32fb9168679e9b87300298bf69008660deb7c GIT binary patch literal 5311 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 Homework at Pentalog +
diff --git a/sass/abstracts/_variables.scss b/sass/abstracts/_variables.scss index 6d52b3f..82bc5a1 100644 --- a/sass/abstracts/_variables.scss +++ b/sass/abstracts/_variables.scss @@ -4,7 +4,7 @@ $color-white: #fff; $default-body-background: #eee; $content__item-1-color: #b5a1ac; $content__item-2-color: #d5d5d5; -$content__item-3-color: #9fa6ad; +$content__item-3-color: #b7bfc9; $content__item-4-color: #92ade8; $color-button: #656868; \ No newline at end of file From 33b022d54382f0fa46b59703bf0a85d66472dc70 Mon Sep 17 00:00:00 2001 From: Cristian Date: Mon, 6 May 2019 17:16:11 +0300 Subject: [PATCH 12/14] add responsiveness --- css/style.css | 46 +++++++++++++++++++++++++++ sass/layout/_layout.scss | 69 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 114 insertions(+), 1 deletion(-) diff --git a/css/style.css b/css/style.css index 9a1dc1e..2e4944d 100644 --- a/css/style.css +++ b/css/style.css @@ -111,6 +111,52 @@ body { .footer { grid-column: 1 / 3; } +@media only screen and (max-width: 575px) { + .content { + grid-template-columns: 1fr; + grid-template-rows: auto auto auto auto; + padding: 0.1rem !important; } + .content .content__item-1 { + grid-row: 1 / 2; + grid-column: 1 / 2; } + .content .content__item-2 { + grid-row: 2 / 3; + grid-column: 1 / 2; } + .content .content__item-3 { + grid-row: 3 / 4; + grid-column: 1 / 2; } + .content .content__item-4 { + grid-row: 4 / 5; + grid-column: 1 / 2; } } + +@media only screen and (max-width: 768px) { + .container { + grid-template-columns: 5rem auto; + grid-template-rows: 5rem 5rem auto 5rem; } + .container .side-menu { + grid-column: 1 / 3; + align-items: center; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 0.5rem 1rem; } + .container .side-menu .side-menu__title { + display: none; } + .container .side-menu .side-menu__items { + padding: 0; + flex-direction: row; + margin-top: 0; } + .container .side-menu .side-menu__items .side-menu__item { + margin: 0; } + .container .side-menu .side-menu__items .side-menu__item:not(:last-child) { + margin-right: 2rem; } + .container .content { + grid-column: 1 / 3; + grid-row: 3 / 4; + padding: 1rem; } + .container .footer { + grid-row: 4 / 5; } } + .header__navbar { background-color: #92ade8; } diff --git a/sass/layout/_layout.scss b/sass/layout/_layout.scss index 74363d7..6996d43 100644 --- a/sass/layout/_layout.scss +++ b/sass/layout/_layout.scss @@ -42,4 +42,71 @@ .footer { grid-column: 1 / 3; -} \ No newline at end of file +} + +@media only screen and (max-width: 575px) { + .content { + grid-template-columns: 1fr; + grid-template-rows: auto auto auto auto; + padding: 0.1rem !important; + + .content__item-1 { + grid-row: 1 / 2; + grid-column: 1 / 2; + } + + .content__item-2 { + grid-row: 2 / 3; + grid-column: 1 / 2; + } + + .content__item-3 { + grid-row: 3 / 4; + grid-column: 1 / 2; + } + + .content__item-4 { + grid-row: 4 / 5; + grid-column: 1 / 2; + } + } +} + +@media only screen and (max-width: 768px) { + .container { + grid-template-columns: 5rem auto; + grid-template-rows: 5rem 5rem auto 5rem; + + .side-menu { + grid-column: 1 / 3; + align-items: center; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 0.5rem 1rem; + .side-menu__title { + display: none; + } + .side-menu__items { + padding: 0; + flex-direction: row; + margin-top: 0; + .side-menu__item { + margin: 0; + &:not(:last-child) { + margin-right: 2rem; + } + + } + } + } + .content { + grid-column: 1 / 3; + grid-row: 3 / 4; + padding: 1rem; + } + .footer { + grid-row: 4 / 5; + } + } +} From f7efe2281e076d6dd08089d20038f042585dfd21 Mon Sep 17 00:00:00 2001 From: Cristian Date: Mon, 6 May 2019 17:18:51 +0300 Subject: [PATCH 13/14] update readme --- README.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e502e64..f89f8f5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,16 @@ # Homework-VueJS-HTML -* Create a layout based on this mockup. - -* Dimensions, fonts and colors are up to you. -* For text use simple 'span' (no links or buttons are required) -* Use both Flex and Grid in appropriate places. -* The layout should be fully responsive, should look good on all devices (from mobile to desktop). This means you will have to reorder elements to fit the screen and keep readability. -* Any animations, transitions and other creativity are welcome (but not required) -* Using preprocessors is a big plus (but not required) +- Create a layout based on this mockup. + +- Dimensions, fonts and colors are up to you. +- For text use simple 'span' (no links or buttons are required) +- Use both Flex and Grid in appropriate places. +- The layout should be fully responsive, should look good on all devices (from mobile to desktop). This means you will have to reorder elements to fit the screen and keep readability. +- Any animations, transitions and other creativity are welcome (but not required) +- Using preprocessors is a big plus (but not required) + +### ======= + +- Layout was created using SASS. +- Responsive, and has 2 breakpoints +- Hover efects on menu items From ad39432beb392236fd9233473608fb395519a79e Mon Sep 17 00:00:00 2001 From: Cristian Date: Tue, 7 May 2019 21:07:01 +0300 Subject: [PATCH 14/14] small fixes ar per suggestions --- css/style.css | 62 ++++++++++++++---------------- index.html | 16 ++++---- sass/base/_base.scss | 6 +-- sass/base/_typography.scss | 1 - sass/components/button.scss | 2 +- sass/components/logo.scss | 4 +- sass/components/side-menu.scss | 5 ++- sass/layout/_layout.scss | 69 +++++++++++++++++----------------- 8 files changed, 79 insertions(+), 86 deletions(-) diff --git a/css/style.css b/css/style.css index 2e4944d..ce340c5 100644 --- a/css/style.css +++ b/css/style.css @@ -9,12 +9,10 @@ html { font-size: 62.5%; } body { - margin: 1rem; font-family: "Lato", sans-serif; background-color: #eee; } .side-menu__title { - font-size: 1.6rem; font-weight: 400; } .container { @@ -46,16 +44,14 @@ body { .header__logo-box { background-image: linear-gradient(to right bottom, #92ade8, #eeeeee); display: flex; - justify-content: center; } - .header__logo-box .header__span { - line-height: 5rem; } + justify-content: center; + align-items: center; } .side-menu { padding: 1.5rem 0; text-transform: uppercase; display: flex; align-items: center; - justify-content: flex-end; flex-direction: column; } .side-menu .side-menu__items { display: flex; @@ -63,24 +59,25 @@ body { align-items: center; margin-top: auto; list-style: none; } - .side-menu .side-menu__items .side-menu__item { + .side-menu .side-menu__items .side-menu__item:not(:first-child) { margin-top: 2.5rem; } - .side-menu .side-menu__items .side-menu__item a { - text-decoration: none; } + .side-menu .side-menu__items .side-menu__item a { + text-decoration: none; } .footer { text-align: center; } -.btn { +.link { color: #fff; } - .btn:hover { + .link:hover { color: #656868; } - .btn:active { + .link:active { color: rgba(101, 104, 104, 0.7); } .container { display: grid; - height: calc(100vh - 2rem); + height: 100vh; + padding: 1rem; grid-gap: 0.5rem; grid-template-columns: 16rem auto; grid-template-rows: 5rem auto 5rem; } @@ -96,7 +93,7 @@ body { padding: 2rem; display: grid; grid-gap: 1rem; - grid-template-columns: calc(28% - 0.7rem) calc(40% - 0.7rem) calc(32% - 0.7rem); + grid-template-columns: 2.8fr 4fr 3.2fr; grid-template-rows: auto auto; } .content .content__item-1 { grid-column: 1 / 2; } @@ -111,31 +108,12 @@ body { .footer { grid-column: 1 / 3; } -@media only screen and (max-width: 575px) { - .content { - grid-template-columns: 1fr; - grid-template-rows: auto auto auto auto; - padding: 0.1rem !important; } - .content .content__item-1 { - grid-row: 1 / 2; - grid-column: 1 / 2; } - .content .content__item-2 { - grid-row: 2 / 3; - grid-column: 1 / 2; } - .content .content__item-3 { - grid-row: 3 / 4; - grid-column: 1 / 2; } - .content .content__item-4 { - grid-row: 4 / 5; - grid-column: 1 / 2; } } - @media only screen and (max-width: 768px) { .container { grid-template-columns: 5rem auto; grid-template-rows: 5rem 5rem auto 5rem; } .container .side-menu { grid-column: 1 / 3; - align-items: center; flex-direction: row; justify-content: center; align-items: center; @@ -157,6 +135,24 @@ body { .container .footer { grid-row: 4 / 5; } } +@media only screen and (max-width: 575px) { + .container .content { + grid-template-columns: 1fr; + grid-auto-rows: auto; + padding: 0.1rem; } + .container .content .content__item-1 { + grid-row: 1 / 2; + grid-column: 1 / 2; } + .container .content .content__item-2 { + grid-row: 2 / 3; + grid-column: 1 / 2; } + .container .content .content__item-3 { + grid-row: 3 / 4; + grid-column: 1 / 2; } + .container .content .content__item-4 { + grid-row: 4 / 5; + grid-column: 1 / 2; } } + .header__navbar { background-color: #92ade8; } diff --git a/index.html b/index.html index 4ce5d3b..4e97b07 100644 --- a/index.html +++ b/index.html @@ -15,18 +15,18 @@
diff --git a/sass/base/_base.scss b/sass/base/_base.scss index 952340b..18dba2d 100644 --- a/sass/base/_base.scss +++ b/sass/base/_base.scss @@ -6,13 +6,11 @@ box-sizing: border-box; } - html { font-size: 62.5%; } body { - margin: 1rem; - font-family: "Lato", sans-serif; - background-color: $default-body-background; + font-family: "Lato", sans-serif; + background-color: $default-body-background; } diff --git a/sass/base/_typography.scss b/sass/base/_typography.scss index f368946..7dca7c3 100644 --- a/sass/base/_typography.scss +++ b/sass/base/_typography.scss @@ -1,5 +1,4 @@ .side-menu__title { - font-size: $default-font-size; font-weight: 400; } diff --git a/sass/components/button.scss b/sass/components/button.scss index 0e9936f..1496b89 100644 --- a/sass/components/button.scss +++ b/sass/components/button.scss @@ -1,4 +1,4 @@ -.btn { +.link { color: $color-white; &:hover { diff --git a/sass/components/logo.scss b/sass/components/logo.scss index 71dcc24..f726e35 100644 --- a/sass/components/logo.scss +++ b/sass/components/logo.scss @@ -2,7 +2,5 @@ background-image: linear-gradient(to right bottom, #92ade8, #eeeeee); display: flex; justify-content: center; - .header__span { - line-height: 5rem; - } + align-items: center; } \ No newline at end of file diff --git a/sass/components/side-menu.scss b/sass/components/side-menu.scss index 39d0531..2b23262 100644 --- a/sass/components/side-menu.scss +++ b/sass/components/side-menu.scss @@ -3,7 +3,6 @@ text-transform: uppercase; display: flex; align-items: center; - justify-content: flex-end; flex-direction: column; .side-menu__items { @@ -13,7 +12,9 @@ margin-top: auto; list-style: none; .side-menu__item { - margin-top: 2.5rem; + &:not(:first-child) { + margin-top: 2.5rem; + } a { text-decoration: none; } diff --git a/sass/layout/_layout.scss b/sass/layout/_layout.scss index 6996d43..8e7c9a5 100644 --- a/sass/layout/_layout.scss +++ b/sass/layout/_layout.scss @@ -1,6 +1,7 @@ .container { display: grid; - height: calc(100vh - 2rem); + height: 100vh; + padding: 1rem; grid-gap: 0.5rem; grid-template-columns: 16rem auto; grid-template-rows: 5rem auto 5rem; @@ -19,7 +20,7 @@ padding: 2rem; display: grid; grid-gap: 1rem; - grid-template-columns: calc(28% - 0.7rem) calc(40% - 0.7rem) calc(32% - 0.7rem); + grid-template-columns: 2.8fr 4fr 3.2fr; grid-template-rows: auto auto; .content__item-1 { @@ -44,34 +45,6 @@ grid-column: 1 / 3; } -@media only screen and (max-width: 575px) { - .content { - grid-template-columns: 1fr; - grid-template-rows: auto auto auto auto; - padding: 0.1rem !important; - - .content__item-1 { - grid-row: 1 / 2; - grid-column: 1 / 2; - } - - .content__item-2 { - grid-row: 2 / 3; - grid-column: 1 / 2; - } - - .content__item-3 { - grid-row: 3 / 4; - grid-column: 1 / 2; - } - - .content__item-4 { - grid-row: 4 / 5; - grid-column: 1 / 2; - } - } -} - @media only screen and (max-width: 768px) { .container { grid-template-columns: 5rem auto; @@ -79,7 +52,6 @@ .side-menu { grid-column: 1 / 3; - align-items: center; flex-direction: row; justify-content: center; align-items: center; @@ -94,9 +66,8 @@ .side-menu__item { margin: 0; &:not(:last-child) { - margin-right: 2rem; - } - + margin-right: 2rem; + } } } } @@ -110,3 +81,33 @@ } } } + +@media only screen and (max-width: 575px) { + .container { + .content { + grid-template-columns: 1fr; + grid-auto-rows: auto; + padding: 0.1rem; + + .content__item-1 { + grid-row: 1 / 2; + grid-column: 1 / 2; + } + + .content__item-2 { + grid-row: 2 / 3; + grid-column: 1 / 2; + } + + .content__item-3 { + grid-row: 3 / 4; + grid-column: 1 / 2; + } + + .content__item-4 { + grid-row: 4 / 5; + grid-column: 1 / 2; + } + } + } +}