From 97be5d2efd77e5fb3e22facfd83d3dc9543cfc0d Mon Sep 17 00:00:00 2001 From: deilann Date: Sat, 30 Sep 2023 07:44:17 -0500 Subject: [PATCH] added button functionality and new images --- .gitignore | 1 + data/kData.json | 171 +++++++++++++----- images/k/beer.png | Bin 0 -> 8496 bytes images/k/coffee.png | Bin 0 -> 9281 bytes {k-graphing/images => images/k}/computer.png | Bin {k-graphing/images => images/k}/cookie.png | Bin {k-graphing/images => images/k}/history.png | Bin {k-graphing/images => images/k}/ladder.png | Bin {k-graphing/images => images/k}/paper.png | Bin images/k/poem.png | Bin 0 -> 14109 bytes {k-graphing/images => images/k}/pollution.png | Bin {k-graphing/images => images/k}/rock.png | Bin {k-graphing/images => images/k}/scissors.png | Bin images/k/signature.png | Bin 0 -> 1756 bytes images/k/tooth.png | Bin 0 -> 6865 bytes {k-graphing/images => images/k}/village.png | Bin k-graphing/k.html | 4 +- k-graphing/kApp.js | 74 ++++++-- k-graphing/k_classes.js | 6 +- k-graphing/words.txt | 28 --- styles/kstyle.css | 156 +++++----------- 21 files changed, 240 insertions(+), 200 deletions(-) create mode 100644 images/k/beer.png create mode 100644 images/k/coffee.png rename {k-graphing/images => images/k}/computer.png (100%) rename {k-graphing/images => images/k}/cookie.png (100%) rename {k-graphing/images => images/k}/history.png (100%) rename {k-graphing/images => images/k}/ladder.png (100%) rename {k-graphing/images => images/k}/paper.png (100%) create mode 100644 images/k/poem.png rename {k-graphing/images => images/k}/pollution.png (100%) rename {k-graphing/images => images/k}/rock.png (100%) rename {k-graphing/images => images/k}/scissors.png (100%) create mode 100644 images/k/signature.png create mode 100644 images/k/tooth.png rename {k-graphing/images => images/k}/village.png (100%) diff --git a/.gitignore b/.gitignore index c05d955..ff64dd1 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ HRdept0819/HRstyle.css HRdept0819/index.html images/penrose.png +k-graphing/words.txt diff --git a/data/kData.json b/data/kData.json index d4f07e8..56ab819 100644 --- a/data/kData.json +++ b/data/kData.json @@ -3,34 +3,32 @@ { "name": "rock", - "attack": [ + "attack": { "past": "bludgeoned", "present": "bludgeon", "pastpart": "bludgeoned", "prespart": "bludgeoning" - } - ], + }, "strength": "heavy", "weakness": "brittle", - "image": "images/rock.png", + "image": "url('../images/k/rock.png')", "alt": "A pretty sharp and deadly looking rock.", "credit": "Metropolitan Museum of Art, CC0, via Wikimedia Commons" }, { "name": "paper", - "attack": [ + "attack": { "past":"paper cut", "present":"paper cut", "pastpart":"paper cut", "prespart":"paper cutting" - } - ], + }, "strength": "sneaky", "weakness": "floppy", - "image": "images/paper.png", + "image": "url('../images/k/paper.png')", "alt": "A crumpled ball of paper.", "credit": "found on PublicDomainPictures.net but fairly certain the original photo was taken by Porjai after some research: https://www.shutterstock.com/g/porjai+kittawornrat" }, @@ -38,17 +36,16 @@ { "name": "scissors", - "attack": [ + "attack": { "past":"stabbed", "present":"stab", "pastpart":"stabbed", "prespart":"stabbing" - } - ], + }, "strength": "pointy", "weakness": "exclusionary", - "image": "images/scissors.png", + "image": "url('../images/k/scissors.png')", "alt": "A pair of orange-handled right-handed Fiskars scissors", "credit": "Evan-amos, Public domain, via Wikimedia Commons" }, @@ -56,51 +53,47 @@ { "name": "cookie", "attack": - [ { "past": "tempted", "present": "tempt", "pastpart": "tempted", "prespart": "tempting" - } - ], + }, "strength": "delicious", "weakness": "crumbly", - "image": "images/cookie.png", + "image": "url('../images/k/cookie.png')", "alt": "A single Nantucket Pepperidge Farm chocolate chip cookie", "credit": "Evan-Amos, CC0, via Wikimedia Commons" }, { "name": "pollution", - "attack": [ + "attack": { "past": "contaminated", "present": "contaminate", "pastpart": "contaminated", "prespart": "contaminating" - } - ], + }, "strength": "omnipresent", "weakness": "toxic af", - "image": "images/pollution.png", + "image": "url('../images/k/pollution.png')", "alt": "Pink polluting smoke stacks.", "credit": "LeRoy Woodson, Public domain, via Wikimedia Commons" }, { "name": "village", - "attack": [ + "attack": { "past": "swarmed", "present": "swarm", "pastpart": "swarmed", "prespart": "swarming" - } - ], + }, "strength": "united", "weakness": "vulnerable", - "image": "images/village.png", + "image": "url('../images/k/village.png')", "alt": "A circular cropped photo of a village with red roofed houses and a spire.", "credit":"David Marcu davidmarcu, CC0, via Wikimedia Commons" @@ -108,17 +101,16 @@ { "name": "ladder", - "attack": [ + "attack": { "past": "struck", "present": "strike", "pastpart": "struck", "prespart": "striking" - } - ], + }, "strength": "elevating", "weakness": "flimsy", - "image": "images/ladder.png", + "image": "url('../images/k/ladder.png')", "alt": "The top of a yellow step ladder.", "credit":"Video Girl: https://www.publicdomainpictures.net/en/view-image.php?image=264820&picture=window-cleaners-step-ladders" }, @@ -126,45 +118,136 @@ { "name": "computer", - "attack": [ + "attack": { "past": "processed", "present": "process", "pastpart": "processed", "prespart": "processing" - } - ], + }, "strength": "efficient", "weakness": "fragile", - "image": "images/computer.png", + "image": "url('../images/k/computer.png')", "alt": "A white Apple eMac, a computer and a CRT monitor all in one.", "credit":"Evan-Amos, Public domain, via Wikimedia Commons" }, { "name": "history", - "attack": [ + "attack": { "past": "documented", "present": "document", "pastpart": "documented", "prespart": "documenting" - } - ], + }, "strength": "insightful", "weakness": "biased", - "image": "images/history.png", + "image": "url('../images/k/history.png')", "alt": "A black and white photo of a cat with a mostly obscured birthday cake.", "credit":"Frees, H. W., photographer. (ca. 1914) The Birthday Cake. , ca. 1914. June 24. [Photograph] Retrieved from the Library of Congress, https://www.loc.gov/item/2013648266/." - } + }, - ], + { + "name": "beer", + + "attack": + { + "past": "splashed", + "present": "splash", + "pastpart": "splashed", + "prespart": "splashing" + }, + + "strength": "satisfying", + "weakness": "impairing", + + "image": "url('../images/k/beer.png')", + "alt": "A yellow frothy beer in a clear glass.", + "credit": "Len Rizzi (photographer), Public domain, via Wikimedia Commons" + + }, + + { + "name": "tooth", + + "attack": + { + "past": "chomped", + "present": "chomp", + "pastpart": "chomped", + "prespart": "chomping" + }, + + "strength": "sharp", + "weakness": "sensitive", + + "image": "url('../images/k/tooth.png')", + "alt": "A giant megalodon tooth.", + "credit": "First uploader (User:TomCatX) is the author by using an image from User:Lonfat, Public domain, via Wikimedia Commons" + + }, + + { + "name": "signature", + + "attack": + { + "past": "signed away", + "present": "sign away", + "pastpart": "signed away", + "prespart": "signing away" + }, + + "strength": "binding", + "weakness": "forgeable", + + "image": "url('../images/k/signature.png')", + "alt": "Leonhard Euler's signature, but broken up into two lines.", + "credit": "Leonhard Euler, Public domain, via Wikimedia Commons" + + }, + + { + "name": "coffee", + + "attack": + { + "past": "scalded", + "present": "scald", + "pastpart": "scalded", + "prespart": "scalding" + }, + + "strength": "energizing", + "weakness": "addictive", + + "image": "url('../images/k/coffee.png')", + "alt": "A bluish white round cup full of coffee with foam art.", + "credit": "MarkJFernandes, CC0, via Wikimedia Commons" + + }, + + { + "name": "poem", + + "attack": + { + "past": "provoked", + "present": "provoke", + "pastpart": "provoked", + "prespart": "provoking" + }, + + "strength": "expressive", + "weakness": "abstract", + + "image": "url('../images/k/poem.png')", + "alt": "A rose on a cream background with illegible words taken from a postcard of James Whitcomb Riley poem.", + "credit": "Indiana State Library and Historical Bureau, Public domain, via Wikimedia Commons" + + } - "outcomes": [ - { - "win":"Your clever choice of {userWeapon} allows you to triumph over your opponent. A quick {userAttackPresent} exploits the {computerWeakness} nature of your opponent's {computerWeapon}. The {userStrength} always prevail.", - "lose":"You shouldn't have chosen a {userWeapon}. Its {userWeakness} was quickly exploited by your opponent {computerAttackPresPart} in a a quick and {computerStrength} victory.", - "tie": "... {userWeapon} ... more like a {userStrength} and {userWeakness} Spiderman meme." - } ] + } \ No newline at end of file diff --git a/images/k/beer.png b/images/k/beer.png new file mode 100644 index 0000000000000000000000000000000000000000..86371e8feda5a907e626f44f6a7889c77c7a473b GIT binary patch literal 8496 zcmV-0AEX>4Tx04R}tkv&MmKpe$iTcv(fMC_mf)s6A|?JWDYS_3;J6>}?mh0_0p5CU2TkN3Kf_zi}?u?B$t3J)N8<4iXE6HkR6$6?KJphBzcED&>1K z4$GXkI4k8UYu=N;FpyJMQe3AwiWrsuje$>T3V*3;1lE_s8 zBgX&ouk{0ikPhxhBqY=l}o!24YJ`L;wH)0002_L%V+f000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j>YM3lkI#Be_Wc000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0018cNklW^5h1QR{Oz&jMZyX)*9JomZJWaqAvnV6ns z^X5%#*}9e8cihfi9}N`LY0|K|Wa_w1+Y1s6S!(@s5=?!+Wb zHJ~>&&GzjlFf}#Fu3bCmPEH_E@xB7F?B90)Baykyv$&$bhyaRe00cp3>WaazqN)Sc zXux1Fq(7*MD8qiAFMZ*9KK#Ky;(@~l=#KUYU;e_U^chb-13x%K&<4?fhKlG%iG?ZzU*qeB z;2XU6#L%E>P*q}R5_1GJDvDAKA|SY;B&wrmwP~sW1docOkTn)D1qc)h#yQkFR3Jn} z8G%@0GosyT^X&7U!n@!1=ri!B0o**diP3OGr(2-DM#B&d4fr9xY4A-$44&X?LQ@e! zB!+;7nh-THG(;4LF#{@+vZV-!r5ZRi2BL-(-o|32Kx}~s#264$U?j0vT!AqHMi66h zw!k^_&yoX=8bD(Lt(JorAXX{#LPZQAvCvm|9|(1y-~+y{(HIE9qcIX(I0Q^;ddxMCc}6olZhuE3ZA6C5_SfQT(xUD_aI8)9Ki=PDnTp;!5D*L5HT3* z2*x4SVODxWGZK2U4wnPCjAUL$KVCRx7@;jq5gLdIP{IfaeY6>%)e-PDE`s_+BvjBS-Y-E^B&M*J(4Z<9 zK-2?*;&38FZ9xn;DS;6}iBMup15JZ5)0pT{Kf<;Ini0`DsughEP1IF$oK|69fgcb< zAAHI`+6*x?NUYJ(L1>0BTtKOj(GdI)Q;(2ll^6wyntEmhkp@*u%6v8nZi!fFW1V1w zL$rko;JX-lSW0L-#?%O_z#PVaV*=5JSg$hGn>;=NY^oul9wELW)JKr|2&P^_NBfYK zdCKY_VYq;VRf1PEEMtfm1C0e+qylX6t7}Zf!#c9KPPIu9j5R42MxWBIY(xDJXkl~{ zh8{7@qG6S2M<Abcw;Ux^(#X1h87#&**`9S~`y#?L|k|;arV~B@$>*LIKf0VKO*2 zgI4F?7OVm9Q$ADD<3yowDTOMEa{+MyV>A2pejtHv+}@n~I%w>nL(r8oh~-Iy>1WVi zJ#>5mxOnR)82Lj;r=e`OQ`j2CSic6AfmBs(`Ux2*=SbBzfRD+^h?$Kcj&)MHT_iO- zHvf(!PXPn2NY6t-7$Sazielp5Q!n34bNDM%2WO8@0Ie+2n;g-b=^`v)TnfwBKrsQn z%8wglDHp&r84#b8j@m5wVgd*tRtcC8a+S^O)eL5<3(Y8}fDFDVz_m+aQ&VhtCByw6 z!?+eMt}s2Z_4ovEW^S6vO-qQZU>t~1jI)SIG_eH`p$1xI0#r;2S;_ucOzm$1)aN(S z0#||wiN)Ep!AN?3^ia0Jbs^NbFE0e7p_n|K(Em(wa@vBAv#cJx?Vkm}qqZ#SdPE44 z64tmf$B-J5oX28>vX#Nn6nc?$W{KoHW)tgNk;5}W*~#v74te7e(~M2Pi%CEi9k4Ah zRxw4yYDIU;EY2B3CNXw+yqXC$zE-SNq81qEF-D1+nHAGd2suaD@e@-xk7;OZ0@~zo zHW6G0Y&$*Hrm6c`zxqAA3H;c5y~V@L)0E#B^FEB$Kr@h#9AS00p%o^?Ua*CEHAZ~+cgI)uD$Qy ze8cPXN1yjxc0F!8Q&W?m!f>#{-Uklwt#5ss_q_Y}xa-~n@~8tC>g+6Au(VKJNjWhl zc2%n>+*}Lr;Oi7_oeA)x#4eLXvvY}^WBG%EDHDUyd>>%ToI}g(*m!bp3{Bl&U5QbL zab04$g-$4Fn!`M9`>bC1&Uf&<3x0?#Cu~X6K@2t~LnLmV;lvYXdHPcy&nsT`T)y^= zJM_vce~+);_)U5Aa-a%L1+FU)RzP4lR61QlQ$?C)44P1{DrGB)<5Ouig(Efw*G}Jp>6}T_`=Fksb;6Hu;z^U-bo1+&+dPL7 z*?s#ReC;b=ehm?tz7?&J^b{)xm1ohfFHhe zyIy?Weq5Q7SkcNM=Aj-W&_a{`aFKIa@X+q0@Rgk7B&H%UuEt`sIJSwAq97fz^9<1o zrc^?12W_j1M2InoM=4H(_DL}Ja+<*ccGt_XWt)Ase3gmTK@O~J;-oXrXW!nv+VX+jcm zst}`OYks{rXa;92l6^>BN(@S<@o3om}Tyzr8j%W0>bE&ukH zf04TJy!CDWiRWK%F`xO%FY~UeKE=&nzn-T(VUl0J^q2IQ0yv7(_)3UDa;OPDAuOTIJZ5w= zGI=^Nz`L(_4L^Co^ZDN0ckso(yoqz4{A{lLy^nq$o38rc$K;%+{h)mOPp;utE_)qk zo^}e~-F<*hUbmaogMZJDUvv&9pE#|@3_xSMgct~3i9Xrzq97{xIye3v>MFS{RUFN=7*V!!?3^mwI#9BZ+wlyM#Bgu;l6}CN%oiaRb=On-U zt8Zn075~vt{P|a3Dj&M~Dqi=x%XsFQ+xg=4f5%_lbbz_eL9Te?Wyg+z8cReZbsjNm zykse_HU1_S2bcXm83QEiCW5e`Gl?7iel8|7Su2KhW)f5QE0(Ac!V!can37m`5x)Y5 z{+xRCb|!W_l^0+9Y;L{r>)gBKA5yM={TtpQ`{o~D>j^vAI<36xs?RcHh97>$32beP z9uoke!I~sbT#*d`n?-YGkjt{eH|t@$22KWZtnp+lXXL@*J-$EI$*DotwV~JsJ23;^ zV{8B{A~kAGA&&0Fc6M;_B`@OHKlo(6ef$2S`gCvnjo0(EXP(8t&#-;xN!+1Q*9iNGq{b zGveBS4p&jzCTJ%C8=6#&d*@+WlWgDCW5#;k_up?lDy8v_Z|;_Z`}cC@*{5;pX^-cl zpZp3nJ%03g=N}s(T@>Y-qdcaT$wsMj5XT=@Q|s1@l5-M9SuhK0dxB%*bnMW??A(mq z8qM-%%uEdl*i^kE;ygx5ydNQUJ8`rdubZic4VA9)o$IfESpDty_S{9iw8Z@IFiT6T z?7sV6&N}-nPV5=o+kbE_J!%Fvqh&-aAtb$*SN1R)05CR#8B#dc0|=S5k@Zm2{0?FU z%g8#AzajX0OsQM57`8OXfuvX&Qpc4WF!*$CJmW!8K_x1J}* zks;BPX@mB2z%ieiD*jlaow*QyDdTz(8eTioC8|xvk}XNA=0>bu>S8bW>{w6 zcymOeu2uAuKReh~pI8qO>xglJSSddSvW2tV-cOknCbOYBO2RKS4go1WC&&x zp$0>rR{N1{_io>M7U%y^pM`!Ksuj?fHe?^EjA@z`&_IZ3*ALOPVbPdH?H+1*5FIvg1u zV%uCACpPuUF#xb0p;53K?3{6TF*XOr`fUsd8N@KYPuBI`nrI#u7?Z==WYZyo7Mu0W zH;o`g0Na2wP$;%Ni}(g(`}AfekwIMvin#7Sgu*~qM$Kg;sQa} z!!mBjXKQ&et`F3eod0qzjDEcUjTyNnb;ih!N1I)nXUzo?M<5NR+e6$W#t62Aj$2}? z_waV4-+txq=!qw8=dN3CM{CQ02kv3#_Gw0gAvfH33;^tOJ8Q)ug{UT`ga?}hW9un~ z?7D2YZQM%}bJwvUhmLU^hi;4yPPQ@R6K`yVIzfXX(h!>=!jU}P>)~yDSOC8ARX@dG zb(w4a@ETlUc*fahuxsZWhYk(+`tI-7l}8O=RrOH>ALmetH6VSxVNS5Imz52GZD7^L zVzVZJ%=iC|@la{~kbL)>^djHdSU$2ale{ zX5yL~o!u8=Djr6_^dyZn8A9p7HPEtHw@eH}hAa0ICys7Q{}*2KbNZr}Ttp0>zy8v7 zocBY|LbT!Br=Jc|@E4!|n`1QAj6;+uG%O`MJ=UqwH|yYx!!Cw(V8kTATswCuSqIs; zA+*WcS~)+4m|dT74y?d*K&>J@OWJ4^2yL`F2=0k!xP|^o$@~KkeMkD7bDpYidFz{L zm6k&X=J~H5{v_YI^G@FLwpX!vcAES59pU}gd`XTC1F>jaAxb*0W89mLLwOvUG}aXGxn?)7-{RYah;7dioD z6;mqWml&*UVzBy8SK)WP^FQj3|LcoEJt0Is`>9W|ci#~%x$rD5JpW9@P4Kxtzk&IF zm_23yS|(_kKE94fu^BOvn3v0|Y*fVKNt)Tvk?8u$Z=FvmLDFr$$txUrH^!Fh)fm4% z-c0+xmS{nB7Gon~HWBKGw0kuDgHZqDt=yY_^Vjv){@pKOM2S9f`*&~QW1s#EC+(c# zir@HII^8J_9vZ|GjelerKvRYYtJQX;K9?(CgFXQD$<{+~bE8{crbzVV97C>%uZSzKD= zs`p*ZUANrJo8R~|JZ|S^#P;~$AAXMcD$X8T08J#SqM|en#N2+2Wy*M2NaKe5mszLd z;gLX9CG8j*s76qBvl!2(+G$?@U2}CpUX9an!O?W)b+o{cNJ;cZutiA-Lg$1t`GF^# z`F*3vKls3V^taz~Ii0pay{E1#KJuZDa_yh~PhNl7#k~0W&%l;5+<5byyyYDq{3jiW zqn0u0ta2d)rEu%>-L)y(xY{-;|M_NvupXPDnyr4bK13>Q3iW!JtS|DkPXuV^YVL9# z9KUNXU`HTR7)r!WVd-$FZ(H8`;MnFsIBh3?>-ieEOF|Sp2D_mTR;Q8iG<+! z^q+o`|MKAv^Rkzm$E#j`A!T<9iz}Whe(Rx~?tb*9nX$yE7~4e{Bv9OXPdnCh#%vf@ z%6hI7O{31DwGQOCw|2$)vJo~F5ECI(8>VvOZ3SJkY9TD6qx(^F8eue`oO=S%&0>od z)14MmQ)i&DMv4hEc!DbRXvklE;mcg{rg!nf=bgsCfAg!DncGRkan%R@nCrg!&~^lm zez~aah!L8>Amux2)>eAgwhywy(lqPg8^>XsL%SJ4-N1eKz|vv@xM>p8e10BH%7LND zTVCVv9_3=<4H6oJ1{3$8MGr9%H~nNPw+V5RXr97|Z4;vsLZGQDzVP|K<~6UroEN|F z>AdaVznab4cA&1ym#({+H@)rZM{mJW?8Msn2W7WFLzBWx*4^hA@_w|gS6;G6R!zB2 zB#G@-7iQ)X>zXQoRJ36JUf8q+it*feg9)oZvjlDe#F<=Rl)*|ty$rE8Ls53pyqHK+ z4TvF9w5Mo7kVh3jBav3u(3(_=G6D``8tT;~N4(Fg9R>!2RAJF1UB=>h3}7{c zi7B`zcS_@RxZX7Ak@Pp(9jKbr6Awq}`IB?dn)3L52j?n8l~8*cC+xZPJ1lLx3!ND; zzc6C&Eq}?GXP?c~mLDMcA#c3&hnbk(LT}3xk8!_WTYYmOSchZn-Gpw*kj zbyl&~BgWt>PgKR`QVx8l=lJ${lpxbmyTSS!t%(G#L&U=dI4EkNg&q4lo}@H zU}6(2JOC40AXsoiOB@VoP33$#0=f?{DxS;Ve(_qSwodWsuPpGpzjYxeJ?UJ^-VC8y z#uOb)cRNx{gE;>7rdxQ$OJB+EgAZ?peDtTgHa!BXAd{%|h;%S+8D%Nyx|jyT##Qtt zQod{IJeA8b#kF8Gf|H*L2kwJ?cV+uNw|e4IuiRhFBhGeur{yH{HiN2VWhtGB*k6Fd z4=5o*Ikkrq&bfpw3!Auac^{{rzL~ANPQsN18f$EK7SoyoH;HcopZn}z@Y0{Y{1MGR zj~c-5eeZq_A8Io_4aQC&*5O)n^olla^$1NRbliy)6RQXdw0a?#3UyjIANGY-*HTxW z;VPVXGVD4nG0kLWXS}hWiWQW-65~3AW)*89w(JqYB(7ECYsZdLm1-1NUWVXno^|ny z`P}FKf?ju(&^Z~`odwq>j#d~xa2x$m;1938jw{}N?IXT4)X@*tixb#$XB#Q!IAL4C z)F!2971&lyyB8^&Hqp*f)XUgn3rNJ;MPjuKZiY>MktmUNsRW%)CsT)&RFG644%6jP z)S_bZ*`QNt^T0>cb&0{?qGGyJw5kQ_)d4Dt^opIV_V2>Ap2OyeHl3ZPF}3|^U`LD& z9pK2SWA>P*cMuDLDhm5 zG(I5G!jA^jgJlN&75Yp2S)4yi{;~3 z?4o2xzaO~e4ECEHOr9`}oi3Q!b}FN`5bOlCw5eD7m^e+SR;cPp>S0a0R0jP4)nGB5 z-PG*H$0?d>8Rrz=M5<9mx3x@Jb}3sWn3|%Us#14qj-u?abmSm&JDxzoFtAkkMC`%#MBWwwUHMH9nXKGq)L%UNF zqh)%gMWbM&Lt0ztPRwOvprkuBN#RPOZlc|rpxv9HT1m^5qkf;#c@~HJ8Lk|l8kKC? zb}FrQhsjRC{rB9#f4K50KK_}nJSvyMJ8A&Sc8_+aLpeP|%UQbZl2cCE#p-gGqMTrM z`zrGX4p2@_Qtz8*I66XAv@z;wtHHEOs(!;tGh*lCHq(qo6fJ0)fVCx6Rnzh{gVhy^ zRu^MDqy7q^HGwHQgu2hr*O2Mt zuOWEU04~fQ;HKpPM-~q-Aw#xoenG2j>nG2 ej>nFF^7!A{-T%ofvF&sK0000EX>4Tx04R}tkv&MmKpe$iTcv(fMC_mf)s6A|?JWDYS_3;J6>}?mh0_0p5CU2TkN3Kf_zi}?u?B$t3J)N8<4iXE6HkR6$6?KJphBzcED&>1K z4$GXkI4k8UYu=N;FpyJMQe3AwiWrsuje$>T3V*3;1lE_s8 zBgX&ouk{0ikPhxhBqY=l}o!24YJ`L;wH)0002_L%V+f000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j>YM3oa2Cp#^vV000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}001BWNklB-kc420LTCG8<<0 zt!L?J_g1~sdbjU>-@Bar@qSg+ZN~NhgE30K(p8nJZr$bi&No^x)&wR7!UJJ-&& zbM0I^*Uq(b?OZ$8&X@bBzljIE^X?P63FLKM71ek>&#YOodFMvK+=Td-L_a?+B8OaE zEm2PwHO@#qQCgXz$W?BwooQpIO2WF)@f6yw8f{jytT>Zp#WSIqob>f{V#@_@I!jI7 zU97+QYi{>{rvZHEsWo->@s7IEHk!_-b=Li8i1B{aJ8&_U*KOZ%+adXi1n|#KoXt;P*gUee zvG%%oU4Q4=+S;2>J@@qfvnL-@qm9dqwl;7+pcE(+D1}yFv_e#RYLkA9(a_B_gI+x0xE|A4AesWFN*8SZgw6-Q@39~8 z`S2-o@TQHgKU&CF41jk&aO&9VxwCItTf6+d7cN|Q%hM+w={)!318i?@>^`hk8l}M+ zgVqWp0cA6TMq!O6w}wukIehRs4j$Z3zt^QK3-T-{V92dO1JTuJ@knrFI?^uFP;F#onW4-qN(o9Siaeu}TeJqP4OW3MmV+zH96xr5 z8;-q{;l2ZClcBUpUzI{BjY6RmAb}Viv8j=ILZ~*0&6G?>I+>6g$h2axu#YV7qVqmv zJsQ)erg*Xr`uFCNzi&$K(Qm)wmEp?{;Ab9t?!eh|m%r!i>Ce6Mkq7_$*8A`MB$MrR zlumEbSk3a{kOTWySQzx_cQUNCxTa<{*`%J=C{Z{UuvXJFj@R9O8#lf3RyxCj=&S&x zP|CDv4@v}-pb$hnN?TGv5ReF=LEH?fx6r-;nZg(lgn2b*Hk~q?Ot^6F4D(qU8U-R18-#CExJp9bj%bVk$I(hQs_uu#FKN&vp&^_tRX+x*XdF3sy;P?%P>GyLM zhXcy8B+GNGwP*#}XcqTrkU&#SSy@@+*(aZ%p3Z5i8m%?j=IEji+Mq=C(zlIn6le*k zP!sDBN^7(-2r)&iPT-SuFy#W$UBOQ-F{?%hnyv^Xj&9+w<-uFT7C$p;wEDA$PrT># zuerJT8w2pJ2OeEs-=4hVxl^C}C-;2jPlnH)cmSg{)>>9p_VKdgM>%@rF#8sIWL8sl zI%H*sEHAM(N9$C-5+I7Q?9=NF==K&k_qmhQlTF-gNX43kQxib@M}K&z!yC(fj|D7#vz#4&QK;*WPwJ*X>)P z%oKxOhfbN3mjyN}G1{b*%!(9w5>T-LHvu<6#Tui9;qoC4-||LGQ9?b2*g$khaH!az z2nlSJBoGM7Bw(c&pgT(_ZIPzJ`#Pm^bZBCFep{xZnvb< zDX}&~=?twE#%35>qD0WzqP2xkBW?yFD5W8Kv^YAQlBFANrk-vhu0m-I+8}O@0;G*P z+Q>yBA^{{4O$Ox<+gU_~8iGgJ90?84)hKNfkV=8=5WCk?JI{E1m1;aeZ9K)m%zByC zZ`Vo=y{G`{eb)_@;tn4|XZ`$Hv@sZCxar0lxo%}2hJe+PvdFMjV~PPL>!qu1GL*QK zdc^?5gEr`*M`$YQwPy&kE$|LPgEfX?VI`%YHqaSj`up3oH7$S!ltx95Ox9ESx{Bx= z)uB&kzNse<0OITcCR@ z*rJa%1|8<;;E=2YlOqz_LahKr^bO6{Ii#L~pQGwgV(zRU`Wgv=C?MW}Z`z2BhzKzT zRJjj5IE)JoO^DFU>14X7JvaZ4KfX`BXe?~B&XiV5nKksfU1AKBMVDT;q$qNt7p&35 z;K3$2p|nmBqfA@(1eAfSi}Dp(S!_8#nGi3EQG|KWStbn5+V8&X|X{>aPuu}xzLtGLE8=zssyktP{tsxB@~mj zHMeyvLP+^$3!JN|H`ghOMJf}Ncvni47cYgSscWM+zpyyu#+z@ErQs4))es|Sr4b3l z5R$Y|7GfZVnivCuAle{0hh~JDZ=s?~Z%P76YhvC_x-B@+DRY!5z?6wNLIZA!%(uYT z;A>>QjkYDG9D)Q)cSw|oG*gtaU<#s}B^J-R=>mx(h8l?>vAI%+G6Y|vvM#RN&$iPt zoz1IhHGlB{^pkO=Vm#R`3toEDjokLyHz3jD-5d~XTiZk=MVkl&ml!feR1B#enjAq9 z-8_LH0o)YkTS#aSmHJ&JDRogAMMU{IG9N*7DZE^g22(`U||{E_ed7J2bHk@=)j$SEU{L)RZr zuY1EA#Z9(Um`yN5%CbvU1%mTr)`H3qf#~N16v}4l(zFsJ)g?iBhY)t_l5z&}K4Lpy zG)hQ6_w(I)$c~Ai4T^|F1!0nY-!il`(CL;4~G9cvpxi}L} zoIF#1?(s(-e^Fbxgq-Y8re2r3yD1tJ1dQqWCAjF6ON*lyC zEqQ5l*4EJWx)DQ)Y(=W4+CZ$4Y74Rz)?^=#pWWcW2Olxbg;NKA_+S3`@%P{JSX{W_ zSpRjee0BGmUvo=#Y~Mgu$CKvC3+wBCHa-6z|IH7(7X;wTzWJ@;#1l`gO9j9pH2VP9#NbOi`$mP8|$_nr%V3!d7{hr`H{K zefD9VKJmoj(1f23oAYmLd=wYW(z=($&8UiHQ^vtIhNMS}XFhV6eDIr@us;J7hiq6%jPrm=p>t96WTTFSV=t*xF~I{vCl=b!kjd{H+>d@~`I&k5YBM6g;h9CXNUdOw=Ds(d&AxAKZM{F+TK`et%ohbP&L$)2^iN2LZ&TKyB!z3Y z$jA<^&>QyIUO&LrrAt)fb%LMb#UYTofe_HKZk-v6)|x1SHVUJJs5DyZ6gA4CtwDlE zTCh+cQP4ZRFe##xHfUvtDu7lf4A^9O=^dxK{i<|^(;dbk(-?8!4R_)UbR&vyr^qwa>vgI3Eitbfsb`g{=M}E5P|X}# zpU-H8Xi~w4T?-$Hgy2z1S~ok*M?{3s)Wr7wMq89Eh`PX;j5(Gn7^aPIc{Jnnxl4TR z)G1Cs`xL9sJsSd z>TOvT-xfOAzKgS&YNnILFA3nCAO3i;J(E}TZG36oiODEvAr#VZd^adt!D^MDGuztx zh4TF_&Ii2rG|q{0p3pdgYg7!5;N}nlR;S$skwAlIbw5aG0ePX z(sua<04@;N*YqNqGP9=1fQ(8yd+y#VR-nsURqin z4RN28^QZ5<`{Tb8-|-KAP&Lc@9+AP~CkrJX(}$M-y;~n1S=&5ozbJrrefmD@v)&yu zWqwY)Ecd)8*BW%&y6ub>+hCM7D^qKi?q*2?rA#ZlH57TSLX5Z&@i7uY#K%DNfe=I@ z5g(&+J`hES0#O7XB8?JU5a!~UPd(Fl#b`WZG?}u#w!y{o=h#?1%XsY~lhGRWWQ$l= z$xC7{<%9H(+(aT z<$r$UWiPpYeEu0`UkJc^?|W2vWnV5z{d^VV<)QJa@qsKCwCMIq$_^(WYVZ5c6GCb4 zMI_-ad-_i+2wGv3!7Gi@Q3Vl#51=)T4>%X8L!g>BOsbmgs$w*mvb{BCeRGSgjSVJS z8%(w~nT?!WrAgf!WOW3du1h1|-Jz z7Fs>%385i+hxh4g44&vcF?hUpINuP1L%b)3a20r0zp6I+O%6(uf2MYDiob!t+3bvIIv&K_7 zPi9RLt7;FZU46J)3uU(!s-0lHB8B(5eXi(TlO-lx@wd`mAc@2%#1NC;7z2cW_~c1S z@I>(~cya~NvG=6yYttsfXw9vM50Vc$%p+|0$h>_VVtNiA0vP)ZvbgvSYH^8TafxnO zQWzC#&F>$-`IbkY7eKA`OFioE#Srw)FQQWT5Si94bs@$iqkugVd>5#l=xcpG+Twln z09x9bbVcnHA+~yt&%edCyJ%aw5K{!|=y%sVRBR(}$Kq-)%#LC}C09q;Gz7c(=wW&b z1Lh&}`04YU-rT~48oWDHTg*$PQ5K_PaavG5tF3g=~9Y*%=PSfC>Q} zV>0p%+EM6Qapz3M1eSHQhH?nT^=Ngyq`Bt4U&PeMvxLfeV#cz!MDy8=t?d`+_v zUG}k^0Z}4NRq@b+_w(>mClHg->2%1-F6D5EVz5AGahdMYB8!WQ>|YqNuPjETgipEg z^uIQv?K}VTzkO%@1^qy!xz)#zx+#?sb$8VasA|WoXfUQs5h_>EhU_&d>iL3E_Q1YU z3GG$Uz353~l9*azM8e+pgfudcxYHW88c#|4Sncc4X)VO$9ZcCr7X{69M5rcdYoeZ` zav}H}V@qOZK(VyKzU!`I|Iz}z%wnoZRoBzsj7GovKmFQ!pXSMr%a<@z)qX^jy3(_2 zi9w+VF*2!Ya%(8_cJ#QLIP$!SD?4fUdCNG8R?f6?V<#e&v<}S9&v(xt<@6KpjD;ggdP3IV`$*j4$$X$_&i9z`b0_XGB zn$%S_@an(6l0afi&Im22NUI}T`${Q;&N`S}r?n1a(_&LzAVrUe!mN~71v<|u`wNr{ zOAMEnC_5#w8nd-|fo6M?txK0!+t`2@U9MGp!7~x9_1I|L*Q#A=-kCA9-Gfz%fUq%} zgM#Hj4|}CHRH}^{*-h!^Q;EA5hbz2^-RRp9=drc(fzXofY0g>Jdycc!|gb{peeNs;PO++$t2q5$rQ z-kti`jyd-vP23g7J0zjB!Dc0~tB6^F#IUCkMG$3BS;o@x3b()ZRn$$*0}npLg-e?h zy#a@AyqVR%tr(dQi(Jt-?DfyPY20qZ8k3>&9M$QN z#Yj*VF$Qdd_aQAFi6o!VWGpT$@^xSRYHq&yMov9@5;dRDY+WYr4{^@noJW^Eif#vM za$-~{qtlL$))?=|jDGmo(L<+S_*gUgJ2R7icade*1c%jWH6n;GZRgZlL1r{{P}DxK zF{=r{ptM-6uOi*6+P=GJ7T1UNXo4;}Zr5p+s%g|MK* zWh?H!-+1@0tiNCYm4r_j374$3M-h+J5fP|`^a5L1W3(YR5f@V%6z2^-MuvqYGkVW? z{tNW+d3>#Q_O4oBwL**{8jaQlZPQwvu?Ax;xy{LPhb;pZ2uc$&k7?68#K>$qVzRc% zquZA_e*FQI(QIyQF?Ny8@9JD}z7%QiJuY z#+pC=BR}F5ai7kLH~5GSAy7xCf)I9=zptQC7b7XtH7*KGNcB!%NfEo9m0Wd;k{&be zexGE9kC6}~O^o;;G$GQ2kiJI20}e&dnrJgrRv^~mf@i#Ok?k`l38O7$Rn7YLCaY`f zT-eycDNASNAX!lmn;LB_rYO-i!&*b07j!!%It1cq^Qo*Fzx&=hKXCV7YBNE`m!|ah z{g&4DyRFS$RymIgDLr<1Q>Ck&X-y}y)FBdL00or~I1x%Cbc`ZXDlOmaaz@)lE45b^ zchXt6DcEkQDs8}oG!(ZMvJ8r3EPzV&Z{FbQiqXa<+huB}y@oB#dz;e|gu@t0lgxaswG#Ha7S@1zoW zch*__C12#dx{|$JldB8^MQ&2fYhom{PH7B+k3!`k*NR-LBtJ;HPH3ZU7sxb?6Eva{ zh@#V?dC&%L4bE7cwRjtd*5GPI)zoaSud#LRH1kWVMAsyXJ}W?5RFs0c)UHT*4KXfVBh}QCqMkY7qqVRyjz*iJp906vhFWS zIsBfPkJ)Tq<9AjiuGGv*5u)Hiq>;2_soSlD-TI~!1~BZ&6p1m7JzHx(M4|D4+6U$? zFmsMs;~39tMpez$Y|chCV{0;Db90NeiuNI|B3gX`)e&1$*H@}>tk>DWu?`@ zZqffHtx7$e*U2ZlQkk@oXpM#lPK40Ta(Anxx^*2WgqctWfzL|N>@a(g91t5p+=W<^e?->1L0NOw4-EDN+w z1z)4-~m4peROgF;Y9v%m-$TXI$4z=MCHQIoq>2 zTeBJCYDP7ynb$SVyvEfvp>{;)iQXj>H0;<}NnVv@PN(0aH|W#rcGIV(0Mm9-RvU6_ z0il{sWwf#J_{Q1u?>*4bzkcWc{4b*y^}~iw|L!kZ{n9txq5AuNhVH^QIUO~a%Ga@y2X^O~xznb!?X z-QXIBZ#>?$Hhu_b0c{lBvS85b(C?L$c|oQ%c2_w_`jnN{)OEvnG@5K&TKkx6Z@u^H zZ$19Ocm3i||CK(i^d&db&;75TH}%nPdadd${TQ9$cLmc~n0ujW9F6z*7_TsacSs@u z=A+=E;9|rDAw+iNONc2F>kycSND~9K_tcG}@}6n!m^Y4D(y*{=U!r?z^7)vV7e2nUDXU z<7(l++jVF74k-t(@+wo6^VChC2>~BN^6=Q3>Fz|F7uf?dBrtu9I3KBF668&ccpqrm zXq-96+cg(#bxMZxRRkpNZk{QFG$XF`VQm0WG4FuA2*NtO58Z#SBo|}xv z?{nkv9~|kMdp`Kze%XClKXCo{``^>c4&C%R(_j1!m3Q7Av+hwZhPjW_F3|V{qz^)r zNZ1()2?PPZvt(_*KCc(OvmGM)A8g(&3O8u1?}(p%m-6Go%aJj`d0>Ja`wy#GX)&z`>h*uv#s{n>vV zzaszb3BXgI`Ph)o@Bna25WY=x_GU5p%fuEsVst<$AKC3|6Oemk;@Xr>V6{XOQ^bXx z`neO)KF~Nv)ig4x<}#X0WjY!)O;w!`*L=b%K3><&<6Y%1|G>B3G5W5zzU3?P-<~|* zIq}Iq%!26*$U2MS{f#lkH;T^QAjZBr>U=rsOb4`fqErx65K$qD@l)#|Kn&Nj|H?ck~PnL9t7Osjb{tylU*{ht5$bAfB;+PQYFoonaXxpuCd jYvEX>4Tx04R}tkv&MmKpe$iTcv(fMC_mf)s6A|?JWDYS_3;J6>}?mh0_0p5CU2TkN3Kf_zi}?u?B$t3J)N8<4iXE6HkR6$6?KJphBzcED&>1K z4$GXkI4k8UYu=N;FpyJMQe3AwiWrsuje$>T3V*3;1lE_s8 zBgX&ouk{0ikPhxhBqY=l}o!24YJ`L;wH)0002_L%V+f000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j>YM3pNTL-&D;2000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}001BWNkl8<|d+!r&db#_B&NCe*=NSTn zGyn*IB*0=23BaVyXiFlcDoe5{m!)zlNtS8ZE?Z2di!@D6 z0%{>TRm}h^&HFbWqF_+9&Hp5VL=jOyn^U188i87o3RMph5uzXps(>1k>NoTL+&39G z`8wb%kO2AkIR$#atU!DG`K@CFtRg9b0A2(S#0EgLc`X&N1*`!hpaKe@20RdAtQ16z zNxmsS$~O_Xo1nQdXf0p@*wH*|4|E>lL6jLF<4r3RkmmRXzz7n?*4F?ic!2?MS(S6Z z4PX;tRgg{4!5GvU2q3Ys$iG=2|Hc6Hz7}cDX2zhUG?q01%mF)rUBDgV*Im#F&^c7w z3KmqP0k65Xn`az@CUWzVWo&_3DQu#wfo=k;h@2KUujn;kSzt?{4^p9on^tV?-wcp{ zBLLQQCCvjnwxkX)4J-kBfJ4B3U>;Z)FWnS00nJc#jbqcB$Tf@j8!k_H6F{{2M*~U? zl;h<)Kv)r2R`fjRagYnZB~;dFEVfkD07U2h`u_2+1z=H(#=wa&Mx2PWfEi#na2s$h z$N|t@jW?I|P0R9)57YtZI&c{{ z3-U6^8Q`L-t^va_;1STj4v>Fk0EffDP3)|Qa7hEch(S<`h>aR7 zF*=YGF&$tMm>1Zq&5!#Ea7CbxQu(?JF8RxW_?H53YinIp)iilr?19;(st>5@+ePFa z6&6Kg(ioG2amE-MqmF%+G{G|}A=WtSh#IiQqN>Cg0KvJWS++qb%L;2O#yCP~Qo9%p z);f$ChkR!-#)1LS#(&08ff$^%rmkxv#u(&QX3!af*BP&lmw`*brb1EIWk~)KAiBRe zcxyrfUW(9bqO0ByyhGpt&?Qy6s3sAtbH+5Fy!nVRA_7JXF)A9Ru|8{v>Ios@YfqMC z6lFoX-Nsr=S(P|v8-FL@eT}M;rfHKxg&I+Vh!A~6k|aQL&c;R9n}O=h6iYQlB$p;5 zI0~Ery#W+;UHBx)^=}Not*vzdHK3`&q`+Q~2UX+as&YSKc8Ssj66>tJ87X57s4Cuj zHa9nDwQ~d^NfNA07!C&b5XiF(F%}U+lBS3;cpp%O5F%NY;zLd19AcpMCC<6#{NwMk z)}T>w&W*oYseRp8ClO->)#yZwfKDJ{Wo(f^Ptg?RB(MUE>beMj5fI&9#OI-E6iE;! z1on!^!^X(lM9h66vIKNvjBYd>+9XZM(v+&MNz)W#464f1)HKc+LJSyV(Fna>4-p~6 zNC*+bk-hixGp|%(GQ*`O}*@MRN{=wHCn=qQ}{U*!WyK#=Lto z=^uk<#|cveSw$)SA|SdyAH2k|y}NM%5Cdk|YTsM#RWC zK{_Ip`Yn-Y`g3uM% z1#&+cA4j-X(M6!^T#{*wO*9PwV=Wrv*bhMnfubmwnwkO}8k@9ZG%AqHG}Z`B{)gPM z*t)JU#?WfDzpfH7tgNguKfe=~q@ap1f{wYD=p)8}5iq7X#)zV(0opl-_chKr&`1bA zG1h`I2SkJl*dA9bH4s&`s_TM33&cMYz;V@X$Mx)zAP*qC1I+z51BS6SLlt8!0+eM5 zs`xRG-g}HOx2#D-7-wv>TOAOC_nwW7P3GtGuUmfHvSe#5s^M13)9X%R%ql(&2X8+FG|4im1Rp4? z0&7!T;+UPCMMQ})QhQI5q?AQL2!UR&HwG~x#$XahB%-0l*%T!bqatHa8;epEsbORwM2#NQxEkwyWbZ@MH}bZ zi&6JQ)rV2;i7_sXm$P%$8P$Mu8Hx~SmSPpkakNzC=H|)LoTv)1!b$>^cy-i4FiApD zmpC9eL+zDT+Cov1EG5xE)BsTkUNEYl6`@l4g=ebg7!(zGo?=3YCfPU_Y$_SW05vKp z8-qT%GhEvkvTt!3)yURHO{W8E8x^fQan_oSF|uflxz`vOh_HdkP*9IbSyiL>AA)H3 zQwntvV+GR!*%>2;>N*}7mG$EGpy&<;W#UAv_nr&aws`T?b40Z?H56Fmh*1b66kfS- z^%^JMxJ-zS8~qVT#_6+{N%Iaby?lyOZ(JncSlt+L_QF+0b;;Inz@R^3R0OsM1!Y}> zc-FQHin5{%hU2F$qGEaa*_T;eD_HB7_!zlxb%iUdn_OGl;_8iURyIregNkFXpW)hC zpQoNVN*R<(S2wtL`6`tcPMo^P+F)e*!_p0ls$156F~oR>!kxf^-XwhWPjUy}V1Y$h zG(@P9snr=(bJ!a5urYFglF2ew$?EpdKL7d^j_jLYGz_e5R{ZgkU!^xW#eIi&^T|(t znYo1>47RthCZnu|EH2DZ2IY@F`xM{yjz>sr!ZXjjz~!|q?l`c-@l$8Hv0bunaR;YP zUgXMlpBpP%3`c=h%kl7?2RL-w0>AO`CwcV2!@Ts$Gu(go9jF?vTwSN#KF5V?t9;+L zy^E7?oMUx+g!c(`C}`)7554;_R@b&zS=pkl3RZ4xbN>7l_ATvXbGx99mZPtnVQ!{t zZ{NF^SZgK}yI0_T;Hn@SK#35ms?aojGoX9}qE%In%QTq+y+f7vsp`9Z2nXxhPYy?A z;!HG~g=aD`)FP~}4@mNqUbn?`r_IK&gy`Ao4@gZyrIEx~mKJ8Xwz9>J*&an%QP(Bj zSlUiWY===VGbNN5-xH5Q|SX&f6?B8n%36pUbuM}t!PSUGF9t&uY#@+9zSL0$#cfjUX^_$Mr| zs>+)*d2$#v%j(u9^K%`%8s?@ZF-DoT0rd%;c9%RU z2;LFJV+hPlIGm}88km{va$~KJq%B-x=-7nKVTr`R+++(n8U6kM#E|C>_26v4x|GRo zkIl^uic*=LY+wXX&iOgcUA)G^{1jI&Zh{($s$y8wgiw=ZIit~tvIrDmg+u$GD2Hrb?~|sH ztktC)6&%{X#0y8yGB?+vmA9$Nk~{C*$A#+~T)4Q*ZM%0ey1Y)3q#V9|ky970ab5g7*Cj5=)B%*`K(vYXPLTB0`)v=CqzPYq>P3zmIgC}qh0E7Dclj#27H5$}cPTu6Zrr%S?CdnFH?AW_IkbO?)B(}*>gyLdba06nU}J5Ya#Z7t zWBK|z#(DNE&N4ljliG|S4tqQsl>#H=6(6x|D40Jc%Q%FWsaC`OwC;>L&{ zM&yHF-ml8-Ku;hsM(7tcVxX!NQKc?M^d@r#gFsb{ur_DsjtPdt0_z+G!K4Bx<#tVl zr`yV@V_-D$IP0jY0j<16nznEjL=?mlRT&M3XegMNm_}@qCT(mDnC!K%Vu>h%HY)J= zW+DO-QS??d5U>aVLD|?GFg?{pgA!2Om`)QhV?Hs`92ya%1{nZn75zNQ9|5n8)juzw zwiwD6Nuda$Vz3aKU+k8I zA&9w2j*eMjd$ACzrt^=(+r>HzL(>qz&+yEoAJ1r8IAjS|vWcR*#ieX7HthlkZ z!Ooe6@_KVYj>Sujw^(iYI+5un)AMEl05LYyrATv~3bfnpTa3_~$2G3yrbc6p8!LUy z*PF3L#uzL@4(veXAn>)ZC^bS*7t89V1!f{<5^LvG=~*SgVxqB#1{x_fprVMj#_S2V zYE-aT1eatSx;-N*Sld|3RJX;!U5mHsaRIV@OXRH-BM|rRLZks-Rc;Xvx9Ba=TP-y= zNri9toU!j5pS>YBZVFd?19&%IzxhMRt)fiPvCyd?LPIi$RgDQET}0i+``o=mNl0xuA2%c+CeU>oV zCLo}`p|);nry@jEB4aC)hWLv{Ie+Rkiv9*_l&BshqGAXk8dc5ETg?K!aet3->MI#n zACrjLqb5ufH6^I2)j~9wv;`W7zQ&|&Oe#dJFyyy5o){JD5(okB8$Qr`kFQG7G)F@~ zLm2d!vBdl0?-p z^Z1Q-!PH)iSo-}DdEzKy6MdI2T!a8ww}*F*D^Gus`3a$LdszAHPjK;fKgP8ezQ&P% z`A_)3xBo3S8une5WgTP94iV|x)ViI9*f=UAM`cpc9I$17WX;3`KB;kJL~F5XiNz4f z+6~DcBZLY}*7%?(#BmCtRlr9D6^u3DOd|w^h7(j(#59gSgfIroG;YDX$(O1KXw$XP z)VUx;)O+w{L$=z4YOsYE$K|sZaEA_HdR;b79ix564z3(~g~98eV&OgC#l*s0Tt9!F zbN~EbF*!3&l^c#8{VI>W`@MYa^;5(maL?P{!_&X$}95+*tKhyvDPMu zBy9}Y7&Eay^>=>UX{1e*J;1{R*-fM!yt+Kgh#H#+Wg34LqY~>9;~c66BN@?q6eSe( zSXvC&v|)usz$9Y^IqI#Y8e=1{H_K7R(NlI*FG+YRj=VKiX*#6@;La$iXEyfn_PAiNG-1s%CqR*l#o#x^`) z(_)sU3B$4^@3zNURo&mwQnrERxpAFPpmy&6z39* zHE8WI0aOApj2b;B%dtsL^h)%;VV{G?S2dxGNDS0PiA_?r`vu!;8?=)l&TrG6ouSqi zTAd_cXt7<^nALOaSSne&q{M~YoOAaf2RH`}T4Cm1nuDR<>4Gq&?AdE^#eLCXJC6BF_2#wn2+lQr`R&Gb#X*Cozi|}fjEl1@iiD+8L<9)pI|f?apL$f7AEF-?b$DJ*SEfpul$=| zV)pL4_~P&W7LV>)Vsh63Zgg_)SlCZLh3#w0GCenIvsTtJMy4aSB}Nicudf-uxt`Zs zo0DNUXoaG%p)5s>pwUzJ2l!z@tg3Nh>d|6|x!Gk~6lfWVrN@W5Nn;53$`L|Bh=!;U zA3WuDpHNj00--FBFht8fu~uR*L|+rCf~r4+vSzrlM!CL?FA4~eP`owE4YV{rN;Yr}1}S}pcId>@Mk?;wprRt}h5*v-U!_xje<GO{wZ|n9sY~jr zpw;c5b-+iDCb4OMBT$zf6rxl}6nyjqB6T&ccgGdT%9c`Zm4tJr$PVseYkP$|KKx#e z|L${W;R(x^nV6ZT)*+MHWx6m_Wxx+T#i-AvGXJ}8)a&XsM zsd_!OcQ{7p&T*u7SWRLSOGKKc97mD_F;Zb|A0rhaQ4(86(Zq?pC2}WuLZ#ZwviLxn zx2Z=JL$b!5#dU6rDcjoT-1#$n-~4Up<_-4jzKd}CA(q##a{Q^M*?RQ_4t?)k zy#0s&0ck#i?R2BKv=-|E#;7xi3y6#`b`vp$s)nelO>c`(6(w1gG}WdxO{;BCs=7io zVAYa1iw^;@jq^`jf-go*hg51A))lEsu~8_>65Gm9XL#e%MOId>a&38qRwC@%y_;RP z-A0zSz<{$EwQowo)!~TG{_*GN=0mPu3*5QG^N}as$@cOQhU-t!+CNR&%NU-$&gp;q z9NnoYs+cf1_8JotDWe@bc=qfv8^g%1cENYwbCB%HfUBD$HezIYX@M(e&vAO?JX7ah zWq!vzkL{e~`tmf>Ul}pD_b8K3d}qMA5|M#6e4uw?lL%5EvWdz_gNEq6mPLgcLuxI< zq9ThUz@ug>Y?%6MpTf^$L zWu_)_jEj7B!!xzCpP%@N|B`lh4nm2v94{U}%P;-R&vN$oF}~}2-p>zz^rO@_M%bca z=FnYSe|eM1*4LoiVB+vJW!Yun@a??ziRW3}C|J(s*}8O+`xhtK^YCu2oji_>o9F`% zF#OUBn7w<5d55meIn>)jXMUd6>=Yd{!THu{s&az^2kx)Mxu7DWsJe#gP!#W?j}eja zctG?>h!PdGDM^~MwY^PJc|uj-IxW&9VN}=Snm!VJg|XwZDot?4P>%{E7-}EDS;SgQ zExi89^L+8sf5@Jl9uxbl_hIMa9LLXIXS3gDYIcr`N00Ig|N4L7C;zMens$3PM^C)L z|M0heoW<#B#0VYJ#%)_%uZQ*~(YnA->}2!wCQ~~Til|&&>+;gERbD%}%#oRldu}W< zfBz0bQDeg@ZhDHz`|f2leVFNIPqMi0cB-wCbZU;G-Jy<_YcIacrFxs)bzrcxi0gFJ zI2RN~QFWadM}pL@+#V{8C=!5RMARgSx>yru=1DS#IGSi&2ZmKeU3k(~-Uv3@H11eq z(YhvJaW~77n-h#h?F0-gfUnzWCZnwoApYpC{S7KpYH-Vo9ut|b~WY7>C1GB zD;#OHc;bouRQ(mKnPgOL;0{k>DocN2lGSy~9n&f2J6&3l!*`#qK>hubeadA3y!G{ImbHO*hnh?&JmPD)6_z?>&6q5B(5zSu+^aTv@rw zD_=cI5o(soE(@!pt7v(sQq{ezs=rod+3~T?Tds{i4rnD>WC7U0_FlgKlr0 z1K;x@R-Sx{rEh&ZQ-=-{Cfno_ZETt{Gq=Fbdv0T5$8IFg)fgKn3`qd$~sF^2}L0=yMwmPdHm7a_^E&V zQ`~m%BOHC<4URqiG-bKWuBizgefU1^df*ZE-T4TE*I#Aj{AIGaCDu+ZGxf-w#Q7e- z{H1fOUMorSlnbvG} zunFd(V%Jq%Ww7!5l@)GV*hzO`H-#@KhC@s-z+^cDAyymsjWxocWHcC}sUyuNXiZHu zqIH@PjV0|sRasmPMr+Poy~2qT7a43`XJKELANz+t&dl5#D#DHB4PHL^GA|rI#}nW6 z9fYdjlfU^peBh(s&*GjtP!%e*hzv2^l)COwl>_YNHgosBh2iEpuT%y9`)6Jx>rHX+ z#giOZ+|9>6^)%f$Vm?Xu&%ftGB)fN$wOjasM^ld(Z9zYwGdqP(4B}FJCnb{%n)zu@?@PjPVXUZPJq{_1lqE=)5&y+}Gek8JeO#F1!;Rt1>` zY!1;>v_hocO>jxXqGa3$ToU6ZF@FK*hj@+oDkI@wa3?eT)WFCD{$>Dt_-+bh+49_b(zygUn8v@`}ZH>osWKi zK@{4~GBAPTCoXaR_-9$#JH;ap-cR?fk5a8~<6;Lf6P!PNis%E~R+pXoCiwhk{)nB^ z(=ZsZ_uy_GJ+Pbh>`qbx)u_*CqaY3n^2rXvl{Mb-&^w8-CT&l$ux}B&V-{+`7eh?h zXY*2@_QDRbZp!AlOE?|S>h>5KLx_s(m?7_VgLP6nOWzo|CWadzg-A01?$D^J8c_<+ z>tZ-=v*gaCmCPmGJc~)@5XEc2qzQ>{Xn8N57>A^JM(_o#shtdl1?SHnXLGPZYr4zQ z{9)en!5?6-Ug4{nkVu_$?1I-JT&XuTmilSC%P4LO#=Ba`!x@@)TQrCKu;m{}R5e zC^oloogS{$!mqAkTVVF=VkYlkeA8bub^jbprTD5(5^E;%R@1MYNwBFD*0CZ+-w>lK z<81{R09|4j%cQlymN9bKI&&>+X9tpY+AHhIb-F#PHlkWlmVKy8TKTWx%96j|0|K~sZADNtXoIHD(-Ajj0iA>Hq}B}lccsoZ+ZtNNr*-XAyU_Ux~+t2)F<@? ztsOgp%Z)d=8JNT@i{U)N#(0!g0kyyWiI4MRANdG2vEou^U7F-+p6pE9>5@t8gc8zn zv|%Uq&XY<`RRl)Sa{fleXFmNoE*^i1*=)qV`B`QsXPM43c22ceSe&DdhO=jHuyOS) z?cjOhyMBO!2Or|Gw?4|k!UCsHU*z5g?qPa%n#EmvSsPaT=I{I=zxMP0H|wLo!fglW zuUA}r;{?;wEe;*o!@J-6ofLI4R_ef{X`|pdi*t_DIbsN49Il;WCE&%=TUeq!H_=Rb zW&$n2nJBG^4!+)^H)FBgsbJf!!e;4Jp=FYdjgU9Z>o%y**rZUUcdcbcE zNSwoUa+X(DxwdkNLA}Y&nH}uedj#ps(Mwtkt3KVyoeYbT=sm-ry!g^fyzc`~5RBpP zee}n;c>NL`mvL!pomvzA(LekFe)E@qkFCLg|Ng)Gah~|rAE6w1kbpB8QJM}2iGehA z3Kw=}^UYkl3tTc_7qmp2tWgRB5w7UtKhA4?E#ilpJ zre8zc?<4kUkjo$=ftYvq>#ZK?Xa4Q)7=%QGDd27)ekc^>6Mi_@AF8q&Hm@i9Za<9Q zE~v|ziMdIxU%SNO!6R%H!o^G1IrI7p*y1ev@4tt%cK{RHOic9Hv9z1IsvwwVEW$xB zU|qBQ#%I6$7541j%}@T|57TXBn6w!r{73)of69Yz`F8&9cYhdf6Mo^Bf1b(dJ24DF zEMgLZ57@w%`ckYmZ5oPgG@Y$&Y#JNZyDl-E1Whtb-lEmb85IL!?a8}2)&zR9J;X&s zr50lb7{orFb zGfCSfY!%z&Q=dpZ@iqF&bk+3{&d;9aQ!E z1bMfy*+E=u5|<^%m$%KvwM*Q6*9=qL1 zYCA#UJ+~jZmq*_50TMR{bpV@U$IX_pDx29iRS1!+H6Fl@0cTQ1qmneU1S1HJN=tGF zv8u?s3Ei2z>F7#oq8O@yuf&*bYuyjC`FKJWygsx(xU zhO&xvRol9XQ$Cm(RofQh-2Ov*?fv)OPnQ;UbAz^&q%I-bF;6?2=Jku`c=?(CkBL1M z(``eqW4LyG$lCf99(nvbG3_Zn_tckpLrNa-Aq&#3I^fy^vyUL#3 z3miXro{MK*VR~jJXr!*nYD1CJf_xd37Zt9kGE^mWC-2ffcUI0thpGlqMk40AG0CaK zW+#%YJ(slFxyds#`Th@*FYL6oGL*ic2sL%m;+c>A3R}a-=wzR**y76hEsy~Rb}ew^ zzPB+oIm?C1S82;ON3UOJ&-4NZ_ssEKKl%Z>I~RHHcm6n^{x|=M1Gh~w(Niv8A2K=J z<9k2+w|MX^kJFi&gW!qMVY=7m{F%>i@}*~a_*)+1#PKgNJv)uHkoG$4JTSwK*;!_$ zCV1|dFY}J~yc1)T{vhzN-~DYq{Lv5d{8v9kZ|*x79eKi748=$g~t%*6xa+`O5f;*J!}>g ztyYUDIX>@knz>2#M+g0(k!sF{}8KJFEceWjpQx7j}%)gB-tFNPM>3GDML)F7GwartQub` zis2Vj^{Zm!f;FaZjPXmmAB%sfor_-it&fWsBgQ3(&9a`&Tf0r3JtSH3MAm9QU=z0_ z#&lhhWTP@*ouLXP{eD5O+a+p+7(*2*BsB9F?RJZLJO)t>x0?M9T*7cv&}(<8su8Z0 z;*y-QtZ21Uf*6uCLu1*@bVNg0H604pI?Ae~+v&2szDm~Z;8KINfh5VA-a#TN&76oC zcd`--)T9uFVl=8nWCUCXeJ#ZB#i}g69D+Zq8n+OsjEK%JKBRx?t)EVO@^fOG6O(4C z&GVk*>0X@hBHE?HP+hkjv5gokUz#hRuy z*ri$14jdy&z$JFv<*&^?3L5ZUYLpS^DsWQKXEcVVYhRrR!LP>{OVBtwcaQ#+_s%-= z^jAcZ)YvRdBugi4n(lL1`mnL)ZPwcR5LrT`D@I(Fw`}c8in7L;lq?tOx<(b!G;Ovf zQP|j6BScSK6;xHh!omWA!PkK_YZGI$BNj+A@#M^{?);mh55@={g}TO?wCU9}jgV!= z`}`PDtaE6rZVlvU45&&3^{5UNRt0@SRi6WWMl~D{!LNqk3)L7VCJ*Xgd-JgiM_(0_ zrp6>mYSLuVrEagW_Cf31;|TYI?6TH$jgchHoCQOS)tj45iY3PI{}*>|J#rmY6kcmr zolAFTE}e@L97AG>2wtKf@ytKqg(rS65-1=ZtZ<2jIFX&f_Ds7y_vt>D+KY#(?y(gi zAk09irIK2$);U{MXK(53?<;iO8eQj@v=c0s3wRpQR262k8A1ds5Eg1w)iihJ3$T#U z)eu7YzXTymDe~oyVCIB!M})X#JZJ#6h=zkSjAKg0hG7 zrn3kC(i`({+uNRf^$o46%&J(2D(-|3erO?l2I3cxerCb$n}xT6u>u*Ys>%)Vo)LqK zi*tlvS?3fCZQI~D482%1q;U;Z5wz-! zerhwrhQd<8J^(MlVwpo}PFD$D4r20@B&9K->-zCr((|T@U&I)GYsN1~J1hXqY%O;X8gJIU4Nh?tEwuv zk9czU9L?-4>`of&%$g$G$?lmAY#6J!WkqfPK$NX29KJZlkM4hP^R3>v@08gejh<2` z;GE=p({UJ&8**TLO3j-~eWiLI?+z(hC5mlGbvKBJ_QN_g{IW_xAR5 zetr%BiR6mpQ05DgM*tp^{1m`LNgslETN{TeP!Y82>nj6b?W7LIoN7>nN3sT0o zoCSm~tzRH^clL2|a+d14QVhZCs>+SpS(tML;Dq4cL3~pjfnSsO*34d+*)^nIpbOA+ zy7RwxsJ`jhy37{Z7y@YxfEmfH#aGfNV@eiQmL=4Lhovu-+>bah=_1+xW!7bKqm_!7WV35Nhq zB){tVzU#U^N%D8zp8tO>zORqfYQ^HEvH~gB0H%_5-TmER9PeGPRv%tpUH`P}`}Zf4 zcCW6geGzkGXw58;WQYMQK(8bgDpSc_eLpCM03!v`K@9G?ko@IzGC6CiYGG!NNj@QY zMDj&3onJ!eT}pl5d)N1x@9*7;NBY)O@RLbaB8~ZhHr%M>a4G4Pr}S+a)8EFF{vv75 z%;vF*4?+kZ1q*vLs|eC8tCJu_36z{(MoKA>R8`j=tC$E}C-B>Ew$$bH!F=HFd_Cg5z!K^JhWtJ5j zB-J^4=Yr4721x@Xr%`5fBYO~+?zSw?y$UEQcEUTkAmdw4*+JcP$e(TXMo?a282nrkhAgHZVpUkM!%}EbiHv29E bw;BHc7m}ENhY&l*00000NkvXXu0mjfoG~k+ literal 0 HcmV?d00001 diff --git a/k-graphing/images/pollution.png b/images/k/pollution.png similarity index 100% rename from k-graphing/images/pollution.png rename to images/k/pollution.png diff --git a/k-graphing/images/rock.png b/images/k/rock.png similarity index 100% rename from k-graphing/images/rock.png rename to images/k/rock.png diff --git a/k-graphing/images/scissors.png b/images/k/scissors.png similarity index 100% rename from k-graphing/images/scissors.png rename to images/k/scissors.png diff --git a/images/k/signature.png b/images/k/signature.png new file mode 100644 index 0000000000000000000000000000000000000000..7012bcd2ca443a5cfd70a4d4ff752d993052dd6f GIT binary patch literal 1756 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 =
-

kittens

+

+

+

diff --git a/k-graphing/kApp.js b/k-graphing/kApp.js index 7a6f2c0..25673d0 100644 --- a/k-graphing/kApp.js +++ b/k-graphing/kApp.js @@ -2,15 +2,13 @@ const JSON_PATH = '../data/kData.json' const kView = document.getElementById('k-display') const choiceHead = document.getElementById('choice-header') const buttonContainer = document.getElementById('buttons-home') -const lifeChoices = document.getElementById('life-choices') +const autonomy = document.getElementById('autonomy') let weapons_info = [] const k = new oddInteger() kView.innerHTML = k choiceHead.innerHTML = 'Choose Wisely' - - function populate() { weapons_info = [] fetch(JSON_PATH) @@ -19,37 +17,79 @@ function populate() { let mixer = Array.from({ length: data['weapons'].length }, (value, index) => index) let mixed = mixer.sort(function(){ return 0.5 - Math.random() }) let picks = mixed.slice(0,k.getN()) - + picks.forEach(element => { weapons_info.push(data['weapons'][element]) - let button = document.createElement("button") - button.setAttribute("value", (weapons_info.length-1)) - button.setAttribute("class", 'option') - button.setAttribute("name", data['weapons'][element]['name']) - button.style.backgroundImage = 'url(' + data['weapons'][element]['image'] + ')' + let button = document.createElement('button') + button.setAttribute('value', (weapons_info.length-1)) + button.setAttribute('class', 'option') + button.setAttribute('name', data['weapons'][element]['name']) + button.style.backgroundImage = data['weapons'][element]['image'] button.innerHTML=data['weapons'][element]['name'] - button.setAttribute("title", data['weapons'][element]['alt']) - console.log(data['weapons'][element]['alt']) + button.setAttribute('title', data['weapons'][element]['alt']) buttonContainer.appendChild(button) - button.addEventListener("click", function(event) { + button.addEventListener('click', function(event) { let choice = event.target - userChoice.innerHTML = choice.name play(choice.value) }) + }) }) } function kPlusPlus() { + if (k > 49 ) { + choiceHead.innerHTML += ' NO ' + } else { k.plusPlus() kView.innerHTML = k buttonContainer.textContent = '' populate() + } } -function play(node) { - const selector = Math.floor(Math.random() * defineNumbers[n]) - let choiceString = ('selector') - lifeChoices.innerHTML = choiceString +function kMinusMinus() { + if (k < 2) { + choiceHead.innerHTML += ' NO ' + } else { + k.minusMinus() + kView.innerHTML = k + buttonContainer.textContent = '' + populate() + } +} + +function kZero() { + k.reset() + choiceHead.innerHTML = 'Choose Wisely' + kView.innerHTML = k + buttonContainer.textContent = '' + populate() + } + +function makeDudButton(element) { + let button = document.createElement('button') + button.setAttribute('class', 'option') + button.setAttribute('name', weapons_info[element]['name']) + button.style.backgroundImage = weapons_info[element]['image'] + button.innerHTML = weapons_info[element]['name'] + button.setAttribute("title", weapons_info[element]['alt']) + buttonContainer.appendChild(button) +} + + +let outcomes = [] + +function play(node) { + const selector = Math.floor(Math.random() * k.getN()) + choiceHead.innerHTML = `${weapons_info[node]['name']} vs ${weapons_info[selector]['name']}` + buttonContainer.textContent = '' + makeDudButton(node) + makeDudButton(selector) + outcomes[0] = `... ${weapons_info[node]['name']} and ${weapons_info[node]['name']} ... more like a ${weapons_info[node]['strength']} and ${weapons_info[node]['weakness']} Spiderman meme.` + outcomes[1] = `Your clever choice of ${weapons_info[node]['name']} allows you to triumph. Choosing ${weapons_info[selector]['name']}? Really? A quick ${weapons_info[node]['attack']['present']} exploits your opponent's ${weapons_info[selector]['weakness']} nature. The ${weapons_info[node]['strength']} always prevail.` + outcomes[2] = `You shouldn't have chosen ${weapons_info[node]['name']}. Its ${weapons_info[node]['weakness']} nature was quickly exploited by your opponent ${weapons_info[selector]['attack']['prespart']} you until they achieved one ${weapons_info[selector]['strength']} victory.` + autonomy.innerHTML = outcomes[k.makeDiff(node, selector)] +} \ No newline at end of file diff --git a/k-graphing/k_classes.js b/k-graphing/k_classes.js index 218b497..4b5707c 100644 --- a/k-graphing/k_classes.js +++ b/k-graphing/k_classes.js @@ -40,6 +40,10 @@ class oddInteger { } makeDiff(a, b) { - return (((a - b) % this.#n) + this.#n) % this.#n + if (this.#k === 0) { + return 0 + } else { + return Math.ceil(((((a - b) % this.#n) + this.#n) % this.#n)/this.#k) + } } } \ No newline at end of file diff --git a/k-graphing/words.txt b/k-graphing/words.txt index f55b666..79394cf 100644 --- a/k-graphing/words.txt +++ b/k-graphing/words.txt @@ -1,31 +1,3 @@ -village -ladder -pollution -computer -history - - -maintenance -beer -housing -arrival -consequence -boyfriend -mixture -tooth -bathroom -sample -orange -signature -wife -improvement -coffee -product -breath -departure -height -lady -policy poem feedback pizza diff --git a/styles/kstyle.css b/styles/kstyle.css index fe6d4fb..7ab0587 100644 --- a/styles/kstyle.css +++ b/styles/kstyle.css @@ -7,9 +7,9 @@ body { max-width:1000px; margin: auto; - font-family: "Syne Mono", monospace; - background-color: #072227; - color: #293462; + font-family: "VT323", mono; + background-color: #0B0835; + color: #060b11; } body::before { @@ -21,7 +21,7 @@ body::before { right: 0; width: 80%; height: 100%; - background-color: #ab46d250; + background-color: #170055; z-index: -2; } @@ -33,114 +33,51 @@ h1, h2, h3 { } h1, h2 { - background-color: #00fff9cc; - border-radius: 25px; - text-shadow: -1px -1px #0abdc6, - 1px 1px #7d12ff, - 2px 2px #00fff9, - 4px 4px #00b8ff, - 6px 6px #ff238e, - 9px 9px #ab46d2; + + color: #040026; + text-shadow: 1px 1px 1px #9336B4, + 2px 2px 1px #F037A5, + 2px 2px 2px #00f3fc, + 3px 3px 2px #0097ec, + 4px 4px 1px #F037A5, + 5px 5px 2px #6c1fd3, + 6px 6px 2px #040026; } h1 { - font-family: "beth ellen", handwriting; - font-size: 2.5rem; - border-bottom: 10px solid #ff238e; - width: 75%; + background: #F037A5; + border-bottom: 10px double #00f3fc; + border-top: 10px double #00f3fc; + font-size: 4rem; + width: 80%; + padding-bottom: 5px; + margin-top: 10px; } h2 { - font-size: 2.5rem; - border-top: 5px solid #ff238e; - border-bottom: 5px solid #13ABC4; + background: #F037A5; + border-bottom: 10px double #00f3fc; + border-top: 10px double #00f3fc; + font-size: 3rem; padding-top: 0px; padding-bottom: 5px; - width: 70%; + width: 80%; } h3 { - width: 70%; - font-size: 1.25rem; -} - -h3:hover{ - text-decoration:none; -} - -/* links */ - -a:link { - color:#7d12ff; -} - -a:visited{ - color:#072227; -} - -.footer:visited{ - color: #00b8ff; -} - -a:hover{ - color:#ff238e; -} - - - -ul { - display: table; - margin: auto; - border-left: 5px dotted #ff238e; - border-bottom: 5px solid #13ABC4; - background-color: #AEFEFFB3; - border-radius: 5px; - padding: 10px; - list-style-type: none; -} - -p { - max-width:70%; - margin: auto; - border-left: 5px dotted #ff238e; - border-bottom: 5px solid #13ABC4; - background-color: #AEFEFFB3; - border-radius: 5px; - padding: 10px; -} - -img { - display: table; + color:#00f3fc; + width: 65%; + padding:10px; + font-size: 2rem; margin: auto; - padding: 10px; - background-color: #ff6fb5; - border-radius: 5px; - border: 5px solid #13ABC4; -} - -form { - padding: 0px 5px 15px; - border-top-left-radius: 25px; - border-top-right-radius: 25px; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - border-top: 10px double #ff238e; - border-bottom: 10px solid #13ABC4; - text-align: center; - max-width: 70%; - background-color: #AEFEFFD9; - margin: auto; - font-size: 1rem; } button { - color:#072227; - background: #00fff9cc; - background-position: center; - background-repeat: no-repeat; + + border-radius: 50%; - border: 4px outset #ff238e; + } @@ -151,6 +88,7 @@ button { justify-content: center; margin:5px; + } .choice-buttons { @@ -159,34 +97,34 @@ button { flex-wrap: wrap; justify-content: center; margin: auto; + } button.modifier { - width: 50px; - height: 50px; + padding: 5px; margin: 6px; - font-size: 1.5rem; - font-family: 'VT323', mono; + font-size: 2rem; + font-family: "VT323", mono; + background: #00f3fc; + border: 6px outset #F037A5; + } button.option { display:flex; flex-direction:column-reverse; align-items:center; - width: 120px; - height: 120px; + width: 128px; + height: 128px; padding-bottom: 2px; font-size: 1rem; font-family: 'Beth Ellen', handwriting; - margin:8px; -} - -input.text { - text-align: center; - max-width: 80%; - background-image: linear-gradient(90deg, rgba(19,171,196,1) 0%, rgba(255,111,181,1) 20%, rgba(255,255,255,1) 50%, rgba(255,111,181,1) 80%, rgba(19,171,196,1) 100%); - border-radius: 5px; + margin:12px; + background: #00f3fc; + border: 10px outset #FF3FA4; + background-position: center; + background-repeat: no-repeat; } footer {