From f7d7580b3a2184052edf574e14f1fab4e095593c Mon Sep 17 00:00:00 2001 From: Nathanael Phillips Date: Mon, 2 Nov 2020 12:23:55 -0700 Subject: [PATCH 1/4] Beginning of global styling; Full Sidebar restyle --- fonts/OpenSans-Bold.ttf | Bin 0 -> 104120 bytes fonts/OpenSans-BoldItalic.ttf | Bin 0 -> 92628 bytes fonts/OpenSans-Italic.ttf | Bin 0 -> 92240 bytes gulpfile.js | 11 +- lang/en.json | 1 + less/{ => original}/actors.less | 0 less/{ => original}/apps.less | 0 less/{ => original}/character.less | 0 less/{ => original}/chat.less | 0 less/{ => original}/items.less | 0 less/{ => original}/npc.less | 0 less/{ => original}/sw5e.less | 0 less/{ => original}/variables.less | 0 less/{ => original}/vehicle.less | 0 less/update/actor.less | 0 less/update/components/forms.less | 107 + less/update/components/sidebar.less | 495 +++ less/update/sw5e-update.less | 104 + less/update/variables.less | 110 + module/actor/sheets/base.js | 4 +- module/actor/sheets/newSheet/character.js | 626 +++ .../actor/sheets/{ => oldSheets}/character.js | 4 +- module/actor/sheets/{ => oldSheets}/npc.js | 2 +- .../actor/sheets/{ => oldSheets}/vehicle.js | 2 +- module/templates.js | 20 +- sw5e copy.css | 1787 +++++++++ sw5e-update.css | 757 ++++ sw5e.css | 3358 ++++++++--------- sw5e.js | 42 +- system.json | 2 +- .../actors/newActor/character-sheet.html | 144 + .../newActor/expanded-limited-sheet.html | 137 + templates/actors/newActor/item.hbs | 33 + templates/actors/newActor/limited-sheet.html | 27 + .../newActor/parts/swalt-biography.html | 22 + .../actors/newActor/parts/swalt-core.html | 56 + .../actors/newActor/parts/swalt-features.html | 80 + .../newActor/parts/swalt-inventory.html | 112 + .../actors/newActor/parts/swalt-notes.html | 33 + .../newActor/parts/swalt-powerbook.html | 135 + .../newActor/parts/swalt-resources.html | 65 + .../actors/newActor/parts/swalt-traits.html | 118 + templates/actors/newActor/template.hbs | 67 + .../{ => oldActor}/character-sheet.html | 10 +- .../actors/{ => oldActor}/limited-sheet.html | 0 .../actors/{ => oldActor}/npc-sheet.html | 0 .../{ => oldActor}/parts/actor-effects.html | 0 .../{ => oldActor}/parts/actor-features.html | 0 .../{ => oldActor}/parts/actor-inventory.html | 0 .../{ => oldActor}/parts/actor-powerbook.html | 0 .../{ => oldActor}/parts/actor-traits.html | 0 .../actors/{ => oldActor}/vehicle-sheet.html | 0 templates/app-window.html | 11 + 53 files changed, 6671 insertions(+), 1811 deletions(-) create mode 100644 fonts/OpenSans-Bold.ttf create mode 100644 fonts/OpenSans-BoldItalic.ttf create mode 100644 fonts/OpenSans-Italic.ttf rename less/{ => original}/actors.less (100%) rename less/{ => original}/apps.less (100%) rename less/{ => original}/character.less (100%) rename less/{ => original}/chat.less (100%) rename less/{ => original}/items.less (100%) rename less/{ => original}/npc.less (100%) rename less/{ => original}/sw5e.less (100%) rename less/{ => original}/variables.less (100%) rename less/{ => original}/vehicle.less (100%) create mode 100644 less/update/actor.less create mode 100644 less/update/components/forms.less create mode 100644 less/update/components/sidebar.less create mode 100644 less/update/sw5e-update.less create mode 100644 less/update/variables.less create mode 100644 module/actor/sheets/newSheet/character.js rename module/actor/sheets/{ => oldSheets}/character.js (99%) rename module/actor/sheets/{ => oldSheets}/npc.js (98%) rename module/actor/sheets/{ => oldSheets}/vehicle.js (99%) create mode 100644 sw5e copy.css create mode 100644 sw5e-update.css create mode 100644 templates/actors/newActor/character-sheet.html create mode 100644 templates/actors/newActor/expanded-limited-sheet.html create mode 100644 templates/actors/newActor/item.hbs create mode 100644 templates/actors/newActor/limited-sheet.html create mode 100644 templates/actors/newActor/parts/swalt-biography.html create mode 100644 templates/actors/newActor/parts/swalt-core.html create mode 100644 templates/actors/newActor/parts/swalt-features.html create mode 100644 templates/actors/newActor/parts/swalt-inventory.html create mode 100644 templates/actors/newActor/parts/swalt-notes.html create mode 100644 templates/actors/newActor/parts/swalt-powerbook.html create mode 100644 templates/actors/newActor/parts/swalt-resources.html create mode 100644 templates/actors/newActor/parts/swalt-traits.html create mode 100644 templates/actors/newActor/template.hbs rename templates/actors/{ => oldActor}/character-sheet.html (96%) rename templates/actors/{ => oldActor}/limited-sheet.html (100%) rename templates/actors/{ => oldActor}/npc-sheet.html (100%) rename templates/actors/{ => oldActor}/parts/actor-effects.html (100%) rename templates/actors/{ => oldActor}/parts/actor-features.html (100%) rename templates/actors/{ => oldActor}/parts/actor-inventory.html (100%) rename templates/actors/{ => oldActor}/parts/actor-powerbook.html (100%) rename templates/actors/{ => oldActor}/parts/actor-traits.html (100%) rename templates/actors/{ => oldActor}/vehicle-sheet.html (100%) create mode 100644 templates/app-window.html diff --git a/fonts/OpenSans-Bold.ttf b/fonts/OpenSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..efdd5e84a0397ecada7b9cfde51db87db08766bd GIT binary patch literal 104120 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

n{#NV($fZ=b2Ttd7 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 -Ui0>vvum!cQP#SwwX988o3plLZOz)* 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 literal 0 HcmV?d00001 diff --git a/fonts/OpenSans-BoldItalic.ttf b/fonts/OpenSans-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9bf9b4e97b6576c8cc3d4527073731fd9cc57493 GIT binary patch literal 92628 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

4J;+I{;ffTJG!iGMcG*?Vwl&%p(3b?*`L@59ZU z8kaRLvg?K|2O+dpv+w(t=N7Xt@4Z$eu*0A+GM#4Z7Zi_@B`=yB)|YZ;2*abTrp(<& z8}EnPI}U3i@dH4QpI>~kCf;rVLlx4<#E57(zVywOcpl^-Zi(K} zVw^1s#s$!a)IcyEClcFvVLX;3AAHeUI=;X>7Hnn%__4;-0`NmS>BF5PRa6g8<@?)# z!-x{{l}OP!_o<5dLH9QCOjxMygdG;+ykTVox^ac7!g;GOE;%Xz7$&bEV#{6GbStbY0i(?Z~_%qTbK{fg1fv;HIR-&4m zbnhpjjy=RRi5@y|o~Xt}M-{QErXi3!bcEcYzW?vId%)N5^5@|hD5k(Zgchi4!0BiM z4@*aPtdv|)Ym%ZR$t*)iBqqWTNQ93l6RNbX7#RI-5-5 z7lP)c$02Cey-HjfNg?&^mS5QFFHS1iwnN>Q_hJU_&IhU#en8xjS#_Ys!mj~-^fmYZb){* zvn}le3A&c30tIv~qJM6SHC!XxgThU6xZS@y@~nb=WogKaB*1rsWhwq){foXK(kZ0s zjG_Gd%2Q41mdYYVYF0Au%xaZin{+LeOH8O(I4KmXIib6VEO}y(*6Y9#44;`dSzQo% z(~Od_GP{VGC!>l%Lq!eRZ7j!g=tdd*H>#$dtzD=-L#N1gkY?2?Dz%ZwzaV3PT#51? zUj8-#&K!2L5P4+d3S|h(pwj?PZp+G7O)+Tg1>Tkq^GW3@6P0Fl;=~uj)r{G0sy@E; z3HP%T>JxmJPq#b)E5-`c6>Gv_Ri8nXuN}pjj)fanji_h(Dqp=%LF8XU{h+A(Ec)D7vJ2e_QhX3#%DK((a_$|Yl?5u32(|?#+)Xzt@0*m1@siu zpHV3slw2g^BxlIg8Eor!-{IHjGy2(o_ZfYP`Wf`a`x)fe$iiZ2$1|nvH;-wOP$?Oy znTNKEZhm+3eoguorjbAy^=60cGV!&2n)vEACM1{rLt+wpUx$k&cyM;`;FOdUWKT2A zBzccihaI3pjhJSJj7>w-4b~*ejg}h>qnX;=OyIds3PW6!VG>kt})U$bK01uO0IXPC} zOh~8wM!a}7G_&42C63da=Qpq-n)%&0<={+#EuG}H`0E*w^=Xh44FwwIBor{g9j`Jd zh?GwB7~vR(3=ACF1obu%tK^KA#oKtD_o=j+{906>7cu>}ML1X_(oOP~RNz%MAM%mwl^+#$rm<4q)OeoZ~lQ%DGX z$i-jL5q*MP8o)|A@PlFe+-$z91ByoL_`6vwH=ISxW+hqtBPlKNN+bf0Q}E^7G3ws^ z{Be9iy{2X~syDYO$%upmyZ!tN!5Z{Dn5_ViO1oC2iBXA8M)!Mm%mdT5ubMnt+BA0a zut%r9@zJ9=OU|3;wWnFWCK2&s4Ng$7grprvyI%wQL zugZ5vMPz4ZrdP7c%5ZIA5DN+l3)h8(YV7*Bf`XK8pl72wfOm)%fhvwwQVYxg(Xxr8 zKZjSrRmnjUn2V_uA%FA3mTGV7Uz2o&x94>oa&_YF2j?xEu%lt_)6(f12QDjaIXbDl zeQwc^s}puUuxRnv-Baf-z4230S^M1Nva~<$-c_%D?`h>azxnh~rdu?0+&cdCl9!)( zg+(q}J@0x20x^vfKN>uYel+4`{?8{@E!x6jpI+5r;{IX7#(y}BzIp1YRg2zWuBTRE z9uLavqy$l!<1g+~yq9-~_lUk@oxtcMEfxOS2$PbsV_GxYW1(cnjs3qUgI}CCI0}eNl>Zm zAAC%UzhT@T8my?4dIDuRQKzZ*Sq(f!QN-&Np++N)scX zOH<=cH^;f+s%isGu4q@9>v@;rC%atHiY+QSs;U-s2A~l2>s_np!$O?SkY2S;q6!rH zxi95O^a$%D>JEI}12TLQE`w0og;9cz;s;*-J2ojS`M383i(uIuwosOm#7{U`asoe| z@{F{Ys08mE=X^imednGedE2ZHJ_Va#&)e_WJZa1FZlDv49Y1Kxq|I2@d}yhAu)-_Z}EG5yM zGP>d6C6+D|LRL0x%(~M4*CJheS@+~4J^DP&`8m%u?Y7TvTnMoq%btE;S`BlKopko+ zqx^7~GrkR-7Rqfqjrbw(Fx_o*;Su3gwX!K9Isy^f2!}fW1u<2%28Y8M6Qk)}8>6=d z^{Tb{#-`d(Vm&~pdk9-c{Rb$=pMHFET;DAZG!$}P$o|+; zoW8k{g}2W?lM#vYNSPG7aI#4HCZTo`9z2Ui6W%5vK?vLcojxs^q^(!flBA`uqA>k@ zo5*YNU;!9O*%npws$dOKy*(RdEc$r;xZ%0|3Nm}9-51kFvP;w5S$}T$Z~6s1Z;Z!wY~S246lBD_lhmORo&-FJ-q>fIyz zr^lN2hefbw-`f1zvdLQ)^}DHgN8U59vXCF?jrny#;8Df18UC3#O`4{IJEEO4F~;PK zc0TWvoiWZBKTEJBKw>5Y`YFb*CJK?ort;EJAT1U|TsjHacd#k26QEx}t+h6BN0FdY z@d~gKnCl!R8d#u;uDxY8{~eL}RH&(r)H%$!I!Wr4v~=(*lV&Wu-%W=<4O6}BpY1th;p21v?mCkD$ zF(N&D%<1ls5PyGjP+*`9d{c@uI4Fqn!WB~D)G`;$wP1P^>IyavNWQ@E1`+RafbJ{H zY9(IGT$jvFtUn-i_)v1M(`(mWdw#>^^@?tjbYAN8^wXaGQt$*mL^{eP#yx3ldA;Ws z*aQ32T2N%r+>hIY;?bwUTwI2o98FbNQO+PaBEn#|p&rW|$N~cmP(ac$(@0aGdkcTO z1PsV?CxHlX<=9}=Er(opn52ow3=5W~uevg8`t@g)|2C)bK*qYNN8YL`8-DW1%ohi| z_Mq!Yrd{>I&7})CYL8ZCmyUio`Pr$`JZ8@>n#?bdjW+D&4?4^#SgYLf2+y046%Aj* zcJVS~1;7H*7?Jdlt+HYb!lzGR7bj{aV?@Mwl?*|n$M0^%?*?pDWGScl(8J4N`Qp=s_!vGdedzu4NZ+R^{epUexvYe2n*^;4nW7qp z+aKTpipj1I6_HZmOduK1D!QxA7N*g{GA(Ls7n@O;w1J;`@59d){ z{o8+gW{qB(Wb2zR` z{W(iN{n||Wtp@y7HGV4q8DmDtpfJF80|ZU%eA@Elet18Ju(KNbupYbE6b9OZ{xphW~GPOg;PP&+2fvr+Plf4KbtjZD-{={ zQxtq;(0a@kt?Y=6jYbBmeY$~xsV_O&VsRD*-5xYO2$X%QqD{woaMpez(IrzvOg+i{ zBvqhxz(#P;nPQo_I7Z?gj?;&TdmvF;x$Uvd4V{eU3XExJOf-PuB@JM4+lrmRl;-yT;puz395o#Se1wYIXZHZf`}SZJc7?|$CnttR>1L?p*Cz0Ffc*M(-4Wd{I<3xaG?nQz zX(`}}$jT!6Yr4uaGc*4?6E#G3sBzQ%^|dpdQdSJBRTqSKBIq1~ies3d5e(7dwT z5ypT3Gn~2p(C4Ao2ZP2t4Fuk2Fb){C#C8FBh`;+YGlR467rS3h%Eivfjm7S9=(Frl z5$#gO^nSwSB@nf)^B;GmOyZ*LR@uHipdzjtcGN#?BCcXGoiA&YThleC>lv)9Dp z#A^Ng4E_c^fk?p25K@=~u-AUb!hW{mp0YDW+q$s~tQym#S*K1h1KYNU{qhUn%YUHN z!BZ2wPmM-aq(Q4yz{lf{(=Hy01jbg+^pohBcw}RlG|MxMzT%nJknq&y7aqKbSKyiV z;F+Vfdmvl8A;TeVrvxoV+D%xb4-Dv2r19#^=jF`a+9L+YNWz<XZ#Pk_G-6yQCbJXXA8{ zXUH%EelXQD)Px3f>9%AR9yQy&Rr!8PgDwB9ZbBv&NEYO%`N8+(Hv@wZt}WOUD%4qn zv#*tf#ZK$CmDgnL$+vZR1r9vMjsr1h9BOD={T3*!^|3^4pCym8^|$cz(KCzR(&^fK zTwpKQMC&$O%9azneuJR5H1=q1kjlb}h58RJ0Cu(TcCy&V?0M+nXU6QDF?VURbw1(^ ze&Lzt7i?!SOOR)$Ndv!ZDsCKbeq#RygAUoxWR5mVX0u+73DifCnkFP5b}<@sfx-#5 z4x(tN{zK1Y!<3jyv3y=MJH?dxDSTzekibrFNoSWW+a#rW4u4-^tEAZU5HQQaD~uQ! z;+DY^H8aq%Mi*+2GGaPZMG!(3&lfp5A|R%UP)b=R(^8+qF5I*5pKrb}IBRNt?H#iU zODm^H=4Ad{O1v_C_Fd2J%-I(0>Qy@4R?ODCJCXMr$OqG*Ox% z!PGa{P0>z6>y}A|tNtA|i;Jue3iVihDMVypRra}WO#KHhtXTH=zc<8>w58 z#38|4on;4Rne->ja+JvwZJKUcXi`ijCDb16ue6?JwUpNz6UHqHE0!i6){`$fohUmV zy|JM-KVneKgU=?`O&VSQ!RjZU=O1_Mk=eFWc{^qCHhyW5bw@zp_=dWM@vA;~A)vNf zdQOkZ^v<{+tNBd*9_=N_xBy5PvhjoMp%Ll%18GMI7OH6>BGz3zi0%76f=EUei~) zXz2Ud^nLsjWWc`3hUG*F5((;#2Z6KL_;4htTis>1i&rkD2Bx#|c$==8rM<8Hl%K>%x?wfnqu+o#0G!8& zfoHfwB6I-`ox>It)uv6H#byhN!ykyOv@{ioCX4`XIZqM^4GaiUR&~VOe<>cRArS2o8nEDOTj=P^g6dAYw%- zK^rVHZ(Id29zA{{X(q!DvK5)G{x}a{vy}}w$>~UpGNngS9$KV1GCdNJ{>VsEdOFhT z(wPYyZa(6+W(T166&aYSN{qZdb?{6QIqN9n#y23pvsKAT`6sZMtU!07BM(Gl;FL-i zADgNxD=g|NS#oyp-`;rh)9BFrl+^pijhx^LoBH79f){_Ddil_yFQlh4l-0F&%9#cA z(+6=2|AxQ*{EA1r4elA0?>v!u=fLv&Z)-Oa+?+PUxNZ0DJjJhGOK_dXy@QyYwoJQ^ za*9w%Vb*9&sN=FIem!dyr73*@S`TiXTw){?GGDKg;nM^t#XZHVjy`f*@4V>50{3J8 zp3ILNkqJcni#_4E4m&_*1PH5u+uyPwOY@iT_&{Q!#M zXG)IN0KLTm3FRwa7A0($y3nQ~<_;FzthfkVlsQA95f%nR4YRkf89z~HP)c66t+t&1 z61iVDChhm&MHd&}{a94d8tDg}$FOi>x7(sn)f{aZaqpw3Xr95WV}QIcV8RFdwbzD? z88=wAm8bLXPi>qqZ|>ZFnUh!w+3qle^)~%vL@j}q#whl=i&ay+u?Y* zM)8Tm>Mm1rDxe3>_N;Hov?UE>NLj+O>+pTbrB4*O^m=?BS0VQ8CG5gR;Zw{Uf#$({ z{uu4fn=3r)*+OVmgj{KU%LGUjfm*5Bcr6`nEnzF!!oPy1F24m26>Bt787*hwuF^vf z3EmbUh3aP@?pYXidcO!|3++ws0_Y-TnBzY3(Tygu=Q>w0-2;z2!#`TOrdw|dO7`<| z@_Q@u>bKfneeCWb_k~piCnp948Un&16WbxIE0bPqNQM5J2b|>Y@CPTkOUrBBnvRg> zW+W>`nKgcGbDTM)wFOB=*=fqu60&eAE-c>$aR{F&6{&hNwUN*us{$EnEgZk($?@ta za0Ik`M-E}&i;8>=a-jh$3I7)ttO@ce zjtV4vnBRAzr}m^EgyBQ`msbuLv|MmF^r@2%EUs?C5pH^MzA=c;M}p1<`2f9Q7ZJ|a z^{?&HvCkb?XPTb^@B9?HV+;OfW{gRHH!oSY&ddMLw6NI!zqw%LuqkX9gfZIm(22=>ux)6ul=lQU_-eL@(|(G=?VKo&BrIe zgG80n*hl@qG9RB9!_xfIb}qAe{y~fn_4OZ4eAr89Of@(VneSdYQgJBs`J)}H539@% zn^>0*7CcM6M4puPq*e#16-T|)YTW)3WGE0J09JvtFtabItz|Fa4e|9&%>abfVTott zWES!(Cr8?NYEnsc2ut!$e`iAwaXRk106s_7eqoO(J(l)(pjer-B>eFip<54h%IZaI zjz8@qCP&`wz=Id3z0*LRAYicTDPJv86XQ1dF&3z}Bdu~Euq^}O+M}QfBI{n60fJeY zD|l-qjS9Mp!=QF0*Q#BSR9S7q9ChNCKB~`0MJ)gPH`9KWu{ZeLhD9;pJ9;~G+RV^H zX9GQZ`Bi@9+}^Sx`Ps%X62>zGHh(XQp{*oR2PL~1sy5yFbl>2mCEKhsW(~+1vv%9De{JWV zoVzxne9ern|6~(c$*|`-%#JT98~yr-eYN8wvRQhPwY;Ifx=B?#CIQm{N0(Oyn+fu(YwyrEkm_Q!e`LI9cH(>6=wx> z#Q-Y0MH(DI8Ho&6#Kl`AU;`ocOh(Nt$~vSR z?3#<|zoamL7e@1|-dt?C{;ZlK`SR+L$!z}lg9lsZV^c-vSZGi2$RCN;g@hAnkTD$5 z`|$8kryOdDMvZB-5{$amV6QwR$wQ8u7O{KmPIy+l8_x@dg7_3dZ*rDJ-K2@yUGq-m zN|tQTW&OOV6{}|L{3qu>DIfSsJa<*GnarQ?QPwM;Y+21+SxcXfN#%__Sqk&7@z!@b zSpiT|hS9F03~q!t}*T23nB`JfOH-eAkM%%VL&Qpq~!ZKZtLU z!wuz!&X9=ftEUHgn-clam&zyJOz!uJm}~D_O9o|+F6uKoiH%CKHoAm3Fl^w3FG`rDxz33xHRQDm}Ei0NE_}M53@xh3tha zrxFh}T2CU8wjpAc)Hzo!A<`p=_x+qSMB;bL$!zj2{#{8%NVqsa0qQCZ((qt zjO-f30fM0$7dnLd54*>FKx8I}v8rv;aK&z+VKWeQ>$FEoGN$t%Fzjs{XiEJ0Y<>dX z?&Js95Rjxy-sO4gSh%4r&4BM8>a+Jr#Q<*}@y}(j#F68V-j!i4tk?ypkg^Auwakw) z{X>F+%(5QPYyhgmgk+&-n18W1=qiOQ@J$Fhh3UaR{69&rTyfU$E2ASgKg3M@+8zAL z&n$Ql8^qbzclm|7==-Sr%lD7=1C@kHo4-R2rF0WQ0hw@wz!Qadc9_-S7ojK)vL1DI z;QAZ1Q950e7rt32K~Ow=+X4;(U{(V~ESF-~sNZs+KiILNo7lE8W3e@jB^&3TiBMLD z^RoJTjIsQJ!~rABTz4MV@JN-`SAz$hsa;q`Ez}$Yzf? zv2mkE^M%omJBta7&=nZ+NTdm$b%t?x+Nv$%aDiFpbUTPy%A) zV2dRLfaMMcfNmVvdE{VlpquJ4tLuzKrV~cR-AECzLa$TzpP1k%$v45;TyQFlo6bL( z<(JXTWl@hB!djCV&Wil3PA_Gt#1#v7GVL(joHjUAj&=oMXCY0eV| zE`C6rbnpHI(j@$faWsn1aK%r7exv%Cud36(e5yfHp= zfw!qh zHn}~6M?dA9*rm2dQt;FM#ruZJEgd7+n(U(3pa&ChoptTFBW2S z^{A}uQBhl2**OaJ$F$6y(@SeRd#8znBzbkz*)o6LdX{{#1gM37Gj?(q+Q}Cy{Dwjw zgf1Z_F-}z{nrD$6pFd75TAn{Sxf*lO_x3w;yR=Dg#rNv+32K<9{P@Gfe%-rtTiCUv z$P`@Jq2{H*Yu6n)^TebM0|vCHY3^X{(|`%6D^D^n4an$H_^w*veE+fmp~lpdlvsbe z?R;>k;n~NQZFHJl1(_W>9wV>L7RW`Qr6VI{vhebFu>{;#Z4 zMq+)?W=JsA(dYrisVAAG>Rr@k%O-WANr#?&7}IHP(a47C9(ipOU7b_;SpM$gED4FY zEW7q0=A1jNAncMgy~+~|Q((^I0@^QPgjDk&&A@>5^8LycZ|y`%Q|$yS5@nt6WY6?| zrV@LJYA2dG(;B$Ve}L*W#Lx7aLCEK$=cBUP@IBU4;3?Ag71UKhS~uLBr9Gm{z|5vX zn+S;rYv%^%`gvT27*5qLe0Wm#; zhl6}AN%&!saK1Qlv`1d#|J)x~g#5kFQF@)YH>kL4fm{0YJCC_{+_E>S`(#zsL@(V^ z*C$(^beT`N5S~}iIj;>X{Np^E{X=9UvZybAULtGKY zPIi}V$W2GX~XMYoOr`&Z}PIh~~Sdsy(V5yJ-AU)jfx)}&NdM^xWA#F5vw zXH@??rN#UgzAEX?+;rEKZAh>llTcY1bN$^F*;TzV&dyoZAv&fo`71hM!e%zihYm+| zFvHyDP=}*yd;lWgVB5f56M#w*cTAwUj2K#i`t~Zz?btP`tZP}%+SIN}zg``CRn~Us z_*bJ^*wqwvNr6x$-Or5cN4OF6E+0D(4Jb;=qU#7Tby_7a1iCn?EsSyUuDjx3jl-LE zt2vGbsFwJ`CuOa^_&-<-ckD6j($%nAleiEkqoBW;K{P@Is2K3K-pA9%jcD%~b zTCJ}_Y}gIdf>G|EZY3oFeezPC?SaZ+zJhX$)@=>@23ll=DgL60|S)yl^Q8mozPy7S_ncrn0AWWV<|)^!}>oh z4?d?PZ5uOZ_3ndWg3{6>Ivr(+dgRQE>Zj(|(V;BVLp1j*W8cwKy0RNQ~?DA7Eqv+y50ORUu}|C^sluCU%)8v01L($HC@rAgNR=62G4 zKS1sM0J?2)hY0LgSW51ofN(2ZC01a>1ELKr<>zy(3(yKs(s%_$Vxl~E&gWC- zEgHXM4L>sS2hXQ$(6>H>*!6tZj%QcIdo=8yK`ikm-0Qo(7YMOv7k89E8h22;EZolo zU}dueuZPsa-+^{jL}hBt>);S4D_0uHkKMI$)6*>IHMP>X-`t*?M~nf}#aFg3UIPip zyHsU7UkU_%O0JM|fool@KvPbvft z9N5os!$B9ZS*?K+P<$mRGr-LU4!BG;*)fx@FH(41xrikoT@1iI)9+ijpziLehV62% zwzU)I4@pVZuI$w5fe9H2(S72QHLfk>}$nW;_LX0OBb&ZHpTQU6beY zP31l4Vwl#wM*HC(!CuK?j3UWm&?FuKG+dxQ~aUaq-A}aN&n~ygp7vH z5{!4qXKeWz-!s!UF4X3KpSAuq`NH6P^u4v6y7kJ` z_6RsIXp+wNMms`!6>s}!JC)#PmD)RReAnu&@g(scba z?J-QV2@&XM(z$RKbV2@qXpAd8D>TX+l3UOwC8Z!FDhr%G#vsZn#SXnC#Ru+6SaB}O z>Vx8*g_q<2vculh!nKl(mkiaONl+>oOhJcUC+CWo0Mp~gxzN&-qTtf_VcEg+j#|s3 zhjp;blXi9gsO#yOH|mPs>wS8ra2%5X0mIEn1FkoU7q!Zz(hu$!E$5c!sPh}R?I^^doVg&+f7dUHQ$@+$BJyi@lcjM{H{dOC^>sTgF#6A^*r%h^6E5}T0vkvfQ=Zb&HjKVHzW2)k9~0F z#)m-biRxS=P-@f}1T!8^ZaBQP;V_ToaI>s4YW@BE%)pHFGX_|U;RF`1EzM63YKe+13HP48=l;jQ@GII7+ zD8_{+i)L0Wa!@VZah{;Nr)o^$?EnCm1UC(_oj4#%P<0UFijza5b$)=34GaMiX}Aib zV>S6BqV9t@5<8QQ68vjTofFzL^-m9r&P5(jFwJKXEf@AGpf0JW=&GE$9?-ALAQ!6&v3B z{o!Ay)z#EjjqdTq-J3~^h=ff}HC=%k!r(-eD9~XI@ZwthfecH<@N|Oc+9BhUj(y8= zP|3lv^Y|yz__68Ba-W_lx6k1kAML#~!dC$*UxhbSJYVM@;9pvcpn0Id9w>pF%GF>kms=y;bG9hV`StHey=KzM!OWRq~XTY)_ zCcVtR-2KXfGv~kf(PAmh=s8Vz=c8;38`q!V%iqahN*41!_R_1=n*{DJMhosSAml^; z3k$PZp@DQq>_zb_t5v*^I^IboNZ97)$(V&zg|UltXi_+iFX30WK3z3*+WeKZ{nK21 zkeefYi#f^8>htEuZy)9FuS#L2oG*9X^I#C4iK+Rw<#+fuXYm?=YHo)|B-CFCWM-{i zuL%k;$hLm64glw1Z6wTJtf&ez3`>v@&IKYN#5w*#DANB)hu0P~BbrNh-HLd=|0v-R z`;g6BBc5|B0XAb^ZeHXQya<-X?)bPwEue?|wAy&RDc&9tXUW!NV=rjTl%5!w+#b~2 zs=k~?(CCGk?vsNcm?XT7De(im|GNxl30$7mGv&GIF~5C&jQ0d z1CsmB2Is<>`Uzez_a!|RMPCG-`?Cxt|Eg-wRVWPA@34{cS(qmcqXHg_)+yqO5pJk4 zT7wQQPXqIlOhF9V0M(+ZO<@ewMlQg#p}(NrBsPa1yUbE2)RfG2?qq#g$|ARO&kE%hn& zTvamooH?9-DDC!i6w(H=`!a5Dilc@Cp)I6GEkFq*|Da%tVlzruRI^Qt9ITZN)V2A9 zxRu%@K@RjTG)t2}UD>ocmZiFoNWqVkhM}rzAAm`NSR~)P{ecS9;I7tAdf|l+`Ih>j z>?AjMRlAqD2=rMT3Lh6kVN+^q%GsSj_Re?`c38Qra zum6{2{0Qf}vZX1Dr3kF>PTH^pDDK1T*PuvFi)gpng4QTWdVdXJs`?{r?C-rqnp+TK z5}Os_L#3bm9lr=1ZWFkNNC{Jz*NuB_)iFz0*JAh*1gnF9*UG{g3i?RZ242)ca zacTm*r6JBAIb{TO+H~&4-9-(^B$Y*jO^~PWeDgT}aR>+NQVZPE#+7s&RqRu=MOgvh zUcgP<&K>GUsO5ebpP!#D0C{sdi?}yt(mOU;JC5^DTaQZ`nN7^aBI`kn zi*p(oT8s7G`&NcqpCRQZ&}1;$Wu%0_P8S1H8=^~@S`n%R&7q3qD$UB^8{WMI%=LWZ zoaPa6js8iDh-#!mBzq;W5~G}vmMAEIQL;Zm&;Bhge-X4tL!_tPdg+T>7rO?3lCS|0BHh>vXwvDALpVWaR zHN&UQUpcU*J*fjb_>NsF&~32g_v6h9!M*iR2;}<4Ip_v-{f3(xwX@;LNx?4YOs9~zs~^h)dfgY3`+^s z6mxLJsrjqk#AT7Wn&ovPhk#U!3I?FeYG`9vZ{q8EQk=`xjF$M{nY9y}R&* z2i|;(S)SVNSyai)(?JOSm4%9^)cPuB?IU6t}Y1;34i~k zxy$&1obFC%TE0ojc<{%LI{Q&)UE<|0jSS{c{& z;r{UhpnZ5fpvZYlRJ9DLz!yamc*cpE(q^rMBsi}j4iV%h#kkG>{Qwq*91R)V>0V8d zENN(qD7bfBs`t=#kXsys=0qenP&10dJBf6B#REa)!p0YPZEj zwSf-WhEj~%o9qZt*nLutng|vesp?|Lboik4^{TNh9JQ2khiUX>h%~(-OG&Ogm7*(o zXUt;@9R(_I?Tm%~#5E0b^EC_x`+(P;QBN10< zjAo-`43c5hYW$c9w-L1>ly=lqs`>fSy`e>l^pss;9%D5@Z?K}E znkh2KePl~eKTSaM#-pJM#f?-X+H}G?!Mr**^85G($$g2rpJ8`FZ#c7s8H6gKTe^P*l0Yd#0F5~_)VzX5kNqzp)V9Q`!5 z7EA8E6#tgLht}ioID9-TQY`+hOg=Z<-u2h4#rhw_3`O8xw#xxpEf{IFT1`lRDLhX2 zXnZ?BG*6i!B<`AAhS=&PxXH7Lm!yPAvwe8tSuJtKg*Gak(ANi%6GA}W{#u#16dj0Z)qnjr2edhB|*6F zk>mpoF zHZ03_qn1x0b|()^ZlR$nq@jjV8&(JatJN5Y#B>Z*&4?wll%5Qyj83nIRF!eVs1Yjp zC_mOYSjCkW^->tyjF*5b&s?P$K$SlZaC?3fsPa#jEGGR6S?9U}=wILjpe)nKq)?52 zQj&kq+N30#EXU&%D3mH`^Tj8!oNY^G_3zy2;LfPCX6#_a9HbR!zmy|{& zJgs0;8^C5T^G7H7{rsV^()`714!m&zg{0?{bsH-hvr|*06EjYx4?1+$VLPa0E zdF5J2_{(d0aNd(8GEW&tS++FRYgx-0$nQz9`B>L8?LfaAfL|7PQx_6RqJSZmJe+YYs8Cx#Oqi@&n zqeEVP1Iwa(qE0kl=biX=taFQH>1^a9+2%|Zatv!jJIV%WPpe_jq|vC7Se ztznFbGlIU{XpW7Ff=i7!0d5^t)1owO8uoX~AqLZG)#Ul=)O!Z}WmRUc?gJ;t9nPL;4&Yn#A?1iS4Lv85+B)ZHLnpHc}Qz>6wzf|x7l9L+znQW+9^%EkJ z$?yrmi9;+b>>u7w)I%pjMQaxy1~@#!f;kXaaBiF4-yeQ7l|4|gSdgP=@!E!@NMV_U zb6fQc(_K#_;7z6&N_M14xAjz`0+}kS;PLxkAHI&C-oL)#!KYsQNQ!k*SU~tIs_b*m zE>ML@AdFH}iHE8_LR zr7nDKKL2C;yurg8=B}PPp|qfv5JlsmVEq_zYWp63d@Xs0KYHuFN1S{qzI#n*c{N%> z+5%>V+oog4Y_}-=Lg6kCl>?E%=_{@iUI&u0m<#de7B)of3Xt1*BYMDP)9}l;Fe3td zO@#6Oju{aPcJl!CuL1ivR)gG8IZmr7t<~D23{*E898y+G=-1Q--#@rnC`jk}kNh?Y zOp(io%>DjfNN&zhQ0_l6-Ozqnix|Og`i1o%! z`Vm7x5-J0* z)68Kg)QhC zGks-p=hm(v>=67tNMYY*_mH|T#0`u+;E(o&_e(F8g4{*pr!^_|pg7_J_r-99twUEn z?R?)q+6~fXufGeF4ubjTJ#`PL4kD`aP~))F*4r2%X z5FzV8?`HQNexY{?h1{oWQh&0LNzkl{l5*8dYx7+-zp(tbKtrTXWw-IFS6+G>K0%t7 zn>yJnIBtY?h4>I5w}-;+vM`6gtT!5DD>AmN8oec$))}UrSZLMm^5HdFG3jERT~i#w)iJs&FL5S;Ae831vxQ|YEIy|k4XU%T-n zt%`$B&`rk7fce^O^<%+M@r+>8ush>g2JxGH_f)TfDxkz9u|UK$C6J1+7ZlgVzag6% zkU?BiySND2{~h1dCj;1db(8$fEi@Zi`VhK>kQ*UxA4Rf?EQfcf6-4i&^xujkljk>TPNE-j<@D--v#esr~#@^fOVtD+lK;qW^3osnZ~gagp~+9J zYfRX>Wy<(Y-Js`WVRpiWo+ECG5QQ=n%zl3GrTT%?qoQ?*x~MWBFjUb2CgSOc?m|aK z=TKolnmls4*scL9ozNed@v{pr@bhoI@d4`z$FMAv%TaF~ST%XrZA0Wu=MEp@8@Io> zV8vjAiQ1kXVB6DPA21Pf>Lod7&nr*%I8m{B%Z!JgNo5T@BUi3Vkt?mc*8a#ny_vpk z{*3#E)gESpm}Wn^e{&r-E8t0jJb)bgHisktxGJRY7Q*Cg}kR}VbPzu9?WP3e2R*X(|5>YP-0@`e4p(0q9H>-_h{eVBin zoR^;%Gx>yio=`8zF<+>HL6EQ~C_DulMH9cfs43TOgk+$EQyuFG5OC<8VPZmkPY|mj zo`5~#tA=Pk_i9}_R>fPFJ{Ac7R149zX>CP~jgTIh-nHH3l^$tLYb$D9g!HJQo@mDY zsP44X)=we6Xz3xJ^q}e(yq_-KH?=}P7duF8MUk6XFPd7R-)U+EpJ-|&96M;87%}QK z#8WiheVE?VSK^p@TI|E`)z94Q?cL8AP0zt+w6n$Bze}HCJ%M8><~~e31}8`Gs))HC zM15gB54E0q@dVKm@dV6$hPNkeeLYd1A!bcHLo@b;TjySV3dQNwe%z)x;C)J)R!>ne zbJU*P1~l5%)hxo#Bl@z(J1cWWi8I3mL6c7LM`UvysbIqF<<4%$R3Zp!bco6Sm6{WNm6ZVMW-G&V2RNW@t5>Yo*(fO>Mu_o$vLDv76khrSIw;O8L zA2!ctAO(}O%>DuJJEI@s>FMU}hL1EiKW}`Lcx#n)*gh&NUqjL%?H}$qxJV4BYXgab z6-MK?4f$!qbH@4k*iQD$Q7RPEmPXL%@~G!*KEdDjo;Z0tE45+Dl5MLE-Sg5H{|0jH zKiho7Y#yDmJdHAM_zmF|55z!TZ@#GyNY_79{v%~_f|JpBx}H-u*3Z{=Qp{`;6MMAD zPGK~vDC&7ZS?Q$lVy+WrJ>6$pdXP6K_6;^4;WrOLe=>lduAzGRc`I%h0Cn^96M7*D za_Yt5GbKgqP6}T(1dIMU`qS7Wbd(?jEV}o14)txEMK9Y{-k!bPdjAoJ(97lB%HI>DIopj!wgUtWgUo!l3I{tqqdVSL^e_e@NhW2* zdE4IvN9c(QDVL7OQ3hMquPJQy)jJty#%voa5~B=zZJZD2?QuQ`yhd+d)r0a^mn&nw zIC#Q~f76N`(XYX)VMN_A2}GkI@TG*;_sgM%TV78%`nv5|jSq(|(EWU*!8Yas<{a^1 z26(rCb2sYB*8yPXO$FAY@KF>O*p1_ub?)H6MuW*D3}#KSLk`vYXGuvTsFj*$cHkrJ zi0z5*F0tFkuGu_m>KMB10^Yg_m&Tl=dt2sCo(OB_Z-7hU{HxKhV9le+dCYfOMxPmT>u7OK8Thne*tzH#aOT%)cMhf_mdd%#^W^1bpEJ1QYDtgZ;T;_yUc< z0c^nN3Nv4$A*tofDc1@tsEFXC%0*B~*jn9*Qa&6YDxw|v&HI+T5=!)jW6wUf;X>E0 zDi@RIL>l|OTV_&WQE&=P$ca7kLfc;l+deB;ke5?nU068w&RwV9c#+n>xT8LHOx!^RQ3oU_MjbOX(jHf?j$^i2tBL z5#uTbss3>tv0z-l2(UQj!m$^QO5Up9Q0!5qFO?G?wkNOuU-7E%{1XFzR^p@GGeqWEVtPA^ykUT=uMTCyIySCeEF^= zuQi=MyzYLtU>b}WeA8&tsMwv~zmZ?E_p3~_60~TXtyY$)_cId24 ztpRIa{>V4%8h<60lV8KueLG_3-0SdJf-b(>&+~ZW^@rEM-;4I;?#g~jfA4<1{oV2_ z{N+%P=GT(+;NwuI$UmShqeGj8;N6&fQS0^P$rlwad zKr?ylmE8}d4zoxvCjXLo2wn_v>L=+3r!6ty&@nJeHDD^Z;kwol(#3Zw36neSITqt# z$F4AV5W?7xtlN@{gN%;Bd-V4Y>9Wh;?QN^uJm&U`>uK=%?l9YJO3HrQL$)InJE-D2 zWbfBCms7(Zx4reW?S)6SbE)xn=6-0Jqz4{NK@X-H_!w}qu0gWL(egRy5icBV%`$(f z$aXM{En{isbo5Sb=dL_L6OT5%lH0Vh>#;ZLr#5uhgQ*10L*|s(vqehQMqJ^zY@5i3r}@+C22iYncDQ(D+w9h+#9NRVC&^ zMGu|~F10-yr@WA0+gIhT+Yl`NA!|Ebap3}d47|?p(x_L^l1HI;5{NgAr_VT?&eRW{ zG^mBz4;Iw#I(5*-`{6T^i!wRi(I?Xd;A;#E$LM8hS_*e3DVAj)-?TAn&&=72H{G@Y zr_&x;zhwIH;%9BYeP{dr!;gQYgAGSUjz1TdSy_a=NIF`l6{W=3exCHk-tM=|YX13y zr_ra10*!I}OPsDmpNh}G@i82QoWkM#=;MR286UrJXm7X@2we{JH)2wZ(fLz@w^F(HMN{JfeRK@#&0zFk-WafB9&iLw`PQ<73DWZ*M5Qte6|}*zv^D!nTB9|*TSoNjn{XZaR*9pkFAN#RPmjE zz2Dc^-*nsoLs=kT@DrK)JG=+Hbuer*E^|Op7O41sz?Z+mhB&+-f|ln@Cv-Rq{}>MZ z$18L=3srn1{vM9u8J96SoJBgEA=l6|*7%zaXOX&F!Wnf9J>R*^(BUlB;b7Gx!Kt9~ zOJSSIM~Aam#dIh^PhJlk@cx82Ar*dc5=9G18@vZ5CS=1o*;|0)(72Su?vCI!iKK=9 z<{THY;^iD?w+c=jck$OLTVmioJI+nbX{S?WJg8H)M97Vo8PG!+zNbERf^(xG@IS)2 zQN`L0f$Lg0$8k8H96L~!{uw;dveaK3Qj_)UKbr-$P=>5_Az2Ymd%v{a)9 z94{i%uI0GjwH%Mpr~=1}jMs47B3K2kOXHssN8k~iH49BoaSf&PNkq)QFi^f}uSYeqOoJBgEOo!eIdJYIZ(cmoB z;UqZMOPwJsQ-iZuhcmhd4wtI1Ou!MAnIZKA(uFLjr!Fm&%yaC!$}RJAO;2Q7=+F~w zZikRN=5`3F`dugY2sjkJ6mrMjwY-FKr-sW#N)59GO2qt-NPPVYol@XOL|c8vRw7PS zkHlVHTK-a@YfEe;e0M5v9^GfIn}+eaZgStZ+(igFdt56I4&NPmbmVkjazg}pT!lIoeVAw7+OF)5UZ3BJ01=1Qau34Ht zo@>~>G)sfCNQX1@8hVBc&C=j3(&5OlAqPD|votu1bvRkh zaMXE1votu1bvXLF19Q?L6QNmvBQy)+4B)kp4Y%?zXU!@TngwWFvwq<+5whatLY+8n zGKxK?`1ZqmS9>o_YJ+u1kn1V2<5U$&7|DDnJ|O6=0eF24gdDO!gP;wLAX}m`TpM8bE1vb^nD{_vDLua?sRaN%OFA6K?`ge^FWbbuH~!e zMLu@pHf$C4f%3vWpA>d2wYl%21rZRBm7zjTw0t4E-hIP z$C$phGr5qKfB^~)X;kPZ&1?1G(h~KcC15T%5vEfCX<=`3jS463&$g8qvCp{noRF5r z{bwO9tO)>bhfAq!;8M{>v4pgyNhzKa(h}}~9vGrw0^eT1?AKn@#Fw(*ve|n(QXkbPp&bVRQ>VM3?vL!wLNaM_Nzk=URi_=}Ae` zr-MhBiGkDW;UWzbe*Yxyk&cRt#9qg`kOF&OJslD5-s!(+!pM2PgJUfbKC4o8MP#Lp zi2i9|^zkEEn}^ep11bj_TjDH>7ACm%iHiNnC%C_xZFW`k`oQ7K#+57{9!S_#6;eBF zJV?Ayi(XG-B7v97a;&8RVIL>HI5Dm+lO{ZHD*k244sL zCL`z%g9pbG2kZ3e<viVZwG4L$INXLnR)bf?E%9*=n_{=s2kAwHV}9tdFk z=g9yiATzLUet`EDm+dah!R1e;C%%o7CAst=d}kW90f~t4KU9U>@VD>1^OGfKE0C~pEzX-Q zSD1Q-Df_Nq6U(MUYlf#}-Cnu5@s|55_8;Ez)G>PL$feackBLhgQ~1W@qCvawTk&S| zQkCO;()PIWgSt-hyD5Qv`UFnETu1kah|uDSh)8$e;tKZ&Ia=;mAfU~6ltWa#jM{D- zyirI=4#ViE+))>UQ@piMet6-rRh_rnzJ1}Jx0k*;ecLXZt!qfZV=qrCT6@p38&7q; z_@OfNzW4g8eIH!3=I#_BU-i)o8(4KgsB&S~INPc5SNA5cUunj(yKD*O z$Wg}J5w^F2aTre9H%il$yY77Q-MLoVcFvjew#U_Y-5cyb9^PP6U|`>(ia;NeXK{t; zI<`QKgc$hrHL*L17`nk2op8~nvb3k)+id&pV8@XWyZ3J0-G=kD>W{IX(rkg{`E2q# z2OhiBImALeYc?&ZtPCq+pJ4UJX>YAJs;+{M+(?2Ls3O$%lG?6zAl)a^oeVHAMPWr1 zijS@zc(sTLU6itOS2v_9$D*(L;F-NtedV$Tw~$fzGHMnOgI&0VSZ%x2Bz##0X*%HL z6X+8*9{cL6sBCdXV5I6=T%lf9S?PP#4$%-(nf1A@{Ln6bdZ2Vlb1tY!ui5s0w|s6( z`=Y{Tw*OHYxc*mG zx@E%Tih^Y~lybi~KcUEYn>e8;J+uGyr#AgJXA_|*;q3=h^nZI^)BpWYqW{fdM3BZd z_KD#*&V&soNn~VZNJ2zJ%pi+jf8yTXJs4a1#aR?(;J`sC!M%IO4#MjHBrIO#1BQWG z$oH(^Y4K{oD6(iSHH(bG%UYcCrn$@EEytc_zdH(@)o$o$E^nJ08$Tc-aYo+qc{j{W zN*_LO!jQaKqv<;5^U;;Pwew=Oq()hSqkQ`&)a6WXOB!~?=6OpqeTW;`VI89VC9#^ zrym(z(J#Que{_Y{b>3@Ud&~pCN%VXGT8{BM=KOOlm*FE5Xe z?+>%Dy#J-TTm1vVT=F+f-0)E6xvm>F4R^`-^5@z!>%Mi2?q5yGran_@isv*{j(z{7 zw`kp=F;g~Q?zF|BE`nzMO{BmFg6ke3hGGAu zF`Vn79RI#kZU?0%l4JWt`(iLSzO7I~IpS1ezWq6^goks9$9qc9LVJN$!p*tFU3}J= z#4_7H0VVi+xj<1w`sS2(`4^g2hL+fiH7JhnA5N=s6Q5-$ON_JEX(dd~c%J0`Qdy$N zo~)HH$`bYiIGq@L(Mn*qv)c72Wjcmi}t&S=hM`fh^@ZqND||l;=sW%8#!$n=av70CxY7lkI(!L#xVY!sqqMY zyRWpmx;S|B1N?J6Jc6HrYaw)sC_70PzSbt=99M=foH*?}l-vg`!(B|M)BY8bdh#OH zmETUUFl>RqCSVWv9qc)Flzqi)O1e^^+@XA{Qx;*0YuFJ2k!LDOnXSqJ$`i`5YTc+E3x7Xdh+=sYVxvz6S=6=Z| z)MJdtOpnDLcX)Jryz21}&jFruJs(QA~~TCXeKsovAQZ}mRp{k~76&lI0qd`|mD z`D>TGRTr@8Eu(tskbb&thd}_*=2do^19^%%a@ja z56BvD`+!FV>>u#@fDZ?JHQ-W&F~T<@JR&6`D`H$kWkgHFl8Cht`yviUydQBc;$nmi z^Tz@r!y`*0mql)g+#dNvhP)T&9cPIf9G4Y0DQ-^Ovbfvh9*=uI?$x-r z<35l3F7DSjTf8y8BECAlA$~*rZSnWUACEs3|L+8vkd!biAt&L!gdGXrCZ;78Bu-77 zlei>tL*jjjyOTVU>XYtH`YJg+c}?=ODTb86Dak3TQZ}UQN$s85KXpp#_S6e$1JcUV zI@3N#k4SGwKal=b`sws<(l2LtWQ1hQ&RCN1YR20c?`3?R@!inep&N$2IrO8U-wX>F z7BZ}2SoN@mVUG^mJ?xv|BZfB*Up9Q_@Uz3e9RB_A-$sxTE+c$K^cgW>M8$~e5gSLm zIO6M(=8+X6?;QE&D8EsSqjrtjo2h0_%iNLq?<~ws%z8QNjjRu|S@x*x8?ztH-krTa z`^D_nvfs&mKW7N$ZY<4tI@gd}m-|HSuht~%eCxqHzdTD`SKijV(|PCfzR9~f+Aw@Ik( z;PRO8F{NW38FP5d$-;)hd4-D#?=5`2@I>L4WBZM*9Q*3H#Bq0w`>n`Yw7clXqD#fO z#Z!x0i`N%#FaBbD!1#pmQ^(IAf5-SAC-j@Ja>C0KzA5Qll36mgq`YKl$%7@&mAqf_ z!$kAMi4!+Ye1GEirJ1FjfBvuR;YnnY@1&qfnQCr_JPKl#qdZspV52n|gWLGji} ztW+z@Di7Qcc*EmW!>V$s3ajp^`n0-V^~CDB>IK!SsyA2vFk?&&so7aOwDz9blXV_- zBkE?z?&Qp!v*Kp0n{}anaQ)i);|*~QH#BT+cz<@#>>0C9&;DZePjjN@RL;45 z&XGpX#tDrp8}~JS*EFDMYSYH1Q_bPc_qOzHiEK%1scbpiaFu|d0)3Cwk~dcqV?0Z+_vrQ?(MDZi`zG}-`9S=BdTLg$G(n#%}<=)H2>lG=N3dS zXkPHQ1urakXTd)fe7}$`bY1AXFnnR+!etBJSoqPxZx&u%|tQR1Tci=J8Z)}oIV zeY@!DV(-P~#RC_|FV0>(adF+^1&h}$zI*Ym#m_B1y7(W9zh6R^L@gP+q;kpJB`@6Q zdgFu}@44~hQtzcXOAD7ibd!2h)ps;5`Ix$5+)i>vIbeOFsn zr>`Enx_ou*>WW*Z8lASd+G9?3$`I^VY0fvuVxNHIJ^@ zyXMfE_tt#A=C`$OYx}JovNm&V$=ceri`H&jyKU|6wJ)tbw)X7WA39m5UuQ_?pw86J z?9PduwVfTEYdY`je6;iF&Nn(wb$-?P%R0Kwb6wE7LFBwYg^Y#U9Wdt+0cK( zRcX-a?IU!OzYtgS6Y=+EO+g3`PsY4`^74hNJKf50s)GXW20jk?pL&!W6k#v) z0{JzD1S#9en}!$?t=5wy<0;Z+*hO-g8+nuMCu7)tdy_hiJb`;nEW^GPeVb^Ok7p|F zk0LJ{*M7C$ehi@(!Y>d8<0{8hgewi#Bwn87+qWX#V>IJgI zFdN|{T%$;eVGYt-Ns8iQKg=Gry{LYH{0NeQed1D#xC|eVCF%|tp258lpnnwEY3L*y z)dS>!DT*9`hiikniae{1u^(cO+D|K$JRc+Sc+UPje+F372%Krmxc2Mx>g`v%Vptw30ZKN<=Hg8 zbADfU883mKTo#an^QFl_$Y21EV>~inmjjoD^TqXSH;ECl;PP->kcE&LLZNrSeSOI5 zF7W?JD0GxRhx!ZJIe$2<{~_f1%ysHdL+CoM57&7f3cW`?|2VYobL1QL+Yf_|2yP?L z(@VlmpsQS8xxENpiO_z(b6Q!1`|wCIj8}6xa-7$PhBkbl%6r1zz~k#fQwmvP@ z|IQ)%#O?;0J11nnpG@I8&-IS$tk4?=tt~VScC|>&rz;TdW>qv>-Nt&+NA0CZ55pCx zwy+e0lQ=AHcUYSeZj2@2IKLqr^o%q-i?EiAWZ#p~0^hITwGr0`_9H@PKpU62;d|&E zY)r`SsC|v2ol|4%CppgzoAC^6M=iIX9!(8eL$YdC^B^5=QIPeC5omx9X_ zc&pU!$O4h~tNlf^O~WuNDUIJ(_Msfgpw6|T9M_rK>^pcnf^(*3;{G&lSB3*<*ACfV z6y<+}ecF%)Ok;mMKihW2xB&6ZXg3|WxGnPg$m4ZH-FAvP^LB;vR<L-t`DmhpT0D)lhhLHQm)+nr+A3>f^K!1?IRD~^xz3NRhK zGJJwEGspo8b1IYj_U#mcJV;?1#s|oX*b%DJ5k@0XpfH}4LdjOhIbUF zQ-N<Q(+aBaaHH-{n=SjVB7YTBG zk+kvt0q-}kyGcGSqAn#tlwAE*2_kFI{uBOA!}~o0@o0EtmtZU*+H{fx8EmLCbXEPC zG|BhTG=wv8-L5`L#&Wwbd`Au%Jn#%}$7{(9!%nhB!F(W*=6Q~57nx_sw@2^`HaJ4G ze}sMqT);<9;{7)RR~)WNTvKo@!BxWJC_{LU$q_QlY2;lbIth7;5YI=P&sIB%Oa7sJ zDZe-#&MU(P(t#Om2cW-|T>rSNh2BDUjM!wG?LvQvkeM#T9>FiP3rh?UxR-?YVmH>Y zk}Llt74G`d&g7@?e`zli{ z(%ndZVBe)aWZ!B!hcwrR!}e}9!M=mH4ctEUb~_3EqDsJ%q3d^KiOW*ZO7qN(trv)s(9jF;^6ZDj`x$obpiRKy_6!~XPauERp#zT4 z@qQ8QJ>-fyowHyl9y@P09-fM*+i&kqM*{{IRceEq+MTxPs&)k6Cj2VeiU zp>E#}JO7jL`aX@LJ@`+dqwW4(c#x!`?Wn@FlaR|7w2;TIqIq*%S8V9FP0upOTHP2$Tnjq8?(;!@Eo{ z&n*d$gleI3oXq6yHgk6|Dwt};)U$;BGn1I7B6A>rI3a6d4(3^y?N^PVm_4xCWg{y$ z6N+hnXz45AwBf)eaWt|~Voe2px}C~6+&`WBFz$Psc3E6x&WHLan`=&kfY z+D*Twb{5Ri*z@dl_9pv;{iIMu!HKipibYwkbSXD0cPsZO4=RrN*t^L~WG|_<7oe8Jey44XZMAK_z2079pJAU)X4!MEzDs&zfB1KZ>FPUIkJ|rr z^{8#74PV7qx7zw%y@wE+ht2(Jz0KA38LszjuAh~E*5~}<&oKA+v!&;~K3j6$^V95e z|2+5Ixr^t%K6mci*>k7QeRS@`xg+P^ICsyv`RCdRIoIc$`#IN78_(L#UOxNt**DHc zoDDzQ_iWHvzq8(Fl`~(QdH2lGk8yOYQp_d_E#stWf0&tf-QSDXrT^z7dSBx2i9apo zDDkHSHaqe`Cgn9{-eDH~WaOJUPlW#;IqQ!2{KN+*^~ z7++j84#zeZyuCc# z-CSKvMuVy_N(P&|X_d8Gi7@--Ra>l<>ipQjW^14N+}OcZOI}sCx!T-~K#jEI;|{Vc z)!pVQb9W?yYNza~?o5=Nd0oj&tz@QNlKPm3li?hN#oT=~*J3_Er%WhEd}FSq!rXmP z#K(!a8YvQI%fhf_|q%rQpz{6hH6ZkE$cOUlFeUogfKs=B)J zEatqfs;=q-_T@7yW*ipm6;;nGDeU&2 zFtxm!MdX?5tHBKXA7u$k4-WIy%K*S1-zH!Sm;(-ng>g1)IFLzZAkn>iLb;YUlNrH# zNoHJ3MK`PBcV2ef>0QR}EO*?|AFr}NwuKYRySmkgf?A6e9N$pgy?h3=Yc>~*#i!fr z*WfTqm!GdWBMvm8tQkZX)HayA4UyeO{*?0r&`JJC7k(fTuV1y`VlWUy`udqOEC9pd zSS{8n`G0VmnB=% zB4lu~tPK;(#Uom-wYyhNH>s+TPj$yx@hnu|+Ql{PzZKRw@ZYJxts+n6)5O~409eL zmh9p9?KVZY;PQcRL@rnI?BV8e8cZCeK}L79*;|lo5W{DV&yKn*I^LzXjnl#*YfiCCpJdN*txPh3UEDWrv^*|CGs3})}K&~+2`WYTpLr<6Z~8Q11@rR94WWjR&Z6?+EYUimX-LNY}z zXN<^Mk2ziv$9AH|Wk0`e%QXtBNGoj{y zs@=(SKv0qAqU9|Yc@_L`58)imbTeeSWV&X0Fi#e|2ULSH^lFjo+@%&L*zLDpfEZN;Ofa3Axu)Fcy z6u+fY%fn!j=Du$Rclli8lBz%h)a7#_HuF~3uzYiwnJQ(W`AS)cVh3z(b#d}k93d(2_DQh9i$dlxsMD-zb zc>p!g19Z!t(upxKg$GP_yhmKePwl4bx+5m?-^>Y9x{d3)N!gUC<$EaIRIz5`Mv~pX zusd;LdAGTLMPYX>B0l~11d!~CwzilUe&IK!t+K71$HWhhh`&CS1pfA3B#;#0%Oj9< zV1A2}hY2_FO@e(=m!Kbu*}l%dHtg4puOIAZd*ycfH?|i07q*w|Uy**c=XtsR{hy2W z$OZB%CXL3B6XbQu5XVI>k~8Q}6IyD6Hw?4u9^zj{DwcJSR$N+~V&Yho4LE{y*m^}9dJ^TXlV zD5b!4Zh(Kp1UI@XaU<^Vn|Q(^y)paG7j1(-&U)yLb|DaUA4K|M{$D@rDicCNQJ*jp zPAp^qi6D_A3SOFMv=cFyiW-Z0#RSxYvN4di~b3p=Pvx~PGyBDawr$xmb>xeI&r9wPrBKag!?7x{(!jP~&% z@>lXEd7bQrrq_@y(10V5;~V5H%;z;x98pNV0{2dkcgb z@+@`39=yCu;6=U3Rbrz))EBES{fQlIc`w=X&)Ly`_f?AkM^e_G?bdLAznDv z&-|NO_!l}(hKPbED4GtUF?2AEr9)^O_P$Agmn(^UK$9^cIF+VhQg8+xN{3OL4?suK zQ8bfgVGI0E$$6SXbE%c)(a|(teDxR7vDjO+2y>Fh(+Q-T?7@2AiL{iK(MfbNEvFT9 z3Y|(WlPlyiashk9PN$Xh2Al*?4PR6Zyis*@CY?p=X#JQ~^hUar-b6km=g3FoH2Ii(Le7#?>dvf*ln1NdIxqgzKh;X@1a}iy*+*lc=;ac@mtWH z^l_YH{TKQK{VUxKzgaikL-*3B=sx;4x}QEx?nPJP8Tu@Jjy_Lczd7wLEOpYYuMK!2n^(Vyur+@nH&qyMIt=w*6^ zUZpm8Ckgt$IKYyr%z*u2P3YaaGB@VVcrVinGjM&FFY{ymtQYIe0$3otfI+M;e471O ze-^?*(KQZZ;mpDYun4STjbZ~?G#kWX&^vgF4Q8=qKY5zG%7&1A$&2JAmO!3oiR51_N%(iL$c3eoo5=$#gAHZF*l?VgcsEX)+)D02f9w%*E9MJ7 zMmCe%$sObwHj<5EnJkNCvmBPotSpa>X8EjujbVjsEE~s)STP%q8N?-QA}eKOY!aKy z%2@@Q!ltrm+?T{|U{$P|&0saGmesMDY!<7B?`bxh!x~u=Yi2EME}O?%SsQC-9c(^Z zz!qXY@?y4x-N=@*o3KICa<+o4WUJU}wuY@`oopRj&$`$Kb~D?^HnGiY3%iBg%5Gz~ zvpd+G>@IdUyN7LM_pSJ)x;Dm%-go_)qHu+P~S>`TnE z{+fNmzGWBLckG|+d-emi#rlc;%zk0NvVXDP*uU8&b{U6lU1c_AhaZ?K48CAhF(^iy zDvC4Fa2l#RPA>CQyx`~dQG69Y#b3dZ21{A8Lv!GN|cF8sZyp)QYI_qm_a^8nW{`vrYn`o z4N8?#t;|qrlv<@unW@ZD>Xim%wlYU)RGO4#rA3*m%u`yGHlv~s;^VV&U0deYwYJr?wAQ&5%xbNkU&n8{6;#)Bw2P>BK}|zzO-Iwr#=3?4mM5G> zb**)64Q&ESR#SCNYfH1KS__R?Gg|BB*BPrtV9IKl)zVxy$5gF_?m0cM+-rK`YEErS zyIO-EV{T0~z!__`AQ!N!+f7!9q)sBSYDnrt;AX{h)ipJB&FyY=demfRzBxE?Cx}#oY=7`8>E$&sIS4osC7{deBFx!1h4{G<>J#mjh zCt5w`T$7m9T36THSlwLPP-7e`By4OHfyY?qa*a+2<5-PvjUrITa{e^p$5^C2->f}f zp*NOQ~y~Wh$1^ZIRL~)}-4a0?*?5j^)hLV;vS_=06f~A z62?*uOuGowQZDs&{20rGsEr*WFqO$#b;w$kX|?JQfuXFmp?Q{}ga3M#IoHXv!#QOt zlUm%Nh3=DkD0E-o6t8fKFY1XKr)YIuECRPFx-Pjb)}w~TmgZS)Zdsfbtyr}lHDy^v zmI)Ked4u3y+}2p#R5+ZI_|?LCT{8hC3XGCazh9&jses+*-1^liW+*Wfb< zd}?-Gd$nP7HAoX}Us6W0N#aze;FbcMhSGY(TsTsW&rn!BcWyOIrD;ZOH5=E#iaJ<% z0~A(J!NxZzCG{)?t4$J?x)?VUezTodQRTo4 zb42wTMfEg7vvXK;2V2-+YSHSbwAQy6+js>N3?fk4QBR3qnTtBs-~u^@7A^n}4%R`I z_jP1?NSK=Ram`?$)56wloZZZJ(bE+digXx zmafM#9I@1RJ*MMIb>K=!PI25#(4i#gP!e<~i8_=-9ZI4DN_=9n14^O}FELfm(;+A7 zkP~&tNjl^t9deQmIZ5Y5l8z%u$C0GtNYZg6={S;f9LYM4WF1Gcjw4yek*wqB;Y+fP zBU#6htm8=5air>0rRqQAKVPo(Nkr0G

9nNjw4~{@r0I~;bjWEs}nhrT# zhn%k0H(ke(uH#78air@w(sdl^I*xQ5N4kz9L&uS!fbggS^M|Z5fuGSU()VhXQ_3iZ@?e*v;Y4JAqnGN$DagR38 z(kyTA<}xokK0$_wo;8bF8yXuMYQ+291#j2Jy0*62KBAN0^geWViu*dnTY2MN=drl1 zwZ%~(kC`nUtvv}4;z+o+H7s<*Jq1;IN|5JBc{DdP>kn~C6XWCKWhf{|I#H&RWSA_& z6d9(iSiNx*_X zULK)jy*-%{H(%Nij5x-^Pw}bx* zN|H2)@kts)gh^_BOUoQCvKe)aEek}cWLYXXUc;B1qS2q6BGaidovPI%IaRAia;l&r zJ~>tJ5uxBCLQy}2f{zFV9}x;ZA{2Z?DENp_<5O~~1E1gv@&#YwlhY*rG>Jb=;>Ury zoZrc55`UV+pC<9AN&IONf11RfCh@09{Am(@n#7+b@ux}r=@Ngs#Gfwlr%U|l5`VhH zpDyvIOT6h4Z@R>rF7c*Iyy+5ey2P6<@n%Ro84?dVaiYE%5>JN2lOgMwA@OBMd>Im7 zhQya4@nuMS84_QH#Fr)OnI-F)CGlrT{8B;8ge8JIg*AP$%7n8LylGA&g;RQ zEBPSXjbzzwBp^!KTqP%llb!_eyzQZPtKG0^CW()J&#Y3?O}>+HB+?r2J$uhDe)Tq zlz0t)O1y?YC0@gy60hM;iP!L_#B2Cd;x+s!@ml>;WP6(uui;OL*XoZ+ctQtL614iK zBxvCo&HX(116H9JLG)?c$zq-FgzJ58`^c8XBeSF=l`WqmcfL|WEY zv&+PI`Cdqh&-3qb6z zoBE?Zj=n9w-&i-Z-36WHA#45Gs#(@E^zLiu{C%PjP%W#is}%#wTk= zhtOe!QkXee1hcg;Tb8(CHoUi(gY6-Qw;5koz)~=xMCIY(psiv~)9_LTF=kdo$qr5H_xOteFffDIUjXYw(?XTrp1Wg0XRe=X^0D9*B`} zp6`ayb0hA00Jb+q%X?##JXqc_U`*W&W9bYK{V{?b#7E8>8)j9L?rVM_YqG!5`M0H} zkv!ihep`6{E6%@MH^^Jgzip5LdH0&%w)h0(T>G0yK17c5ZxZr!cnYghkm51z;=er3yNU%@dVc!Ov}^h;qV%fqM%Bv zHODdh%B@Z*l(_uuxOzu%c*8JJ;)Vc2090TC5p1jLPT0TB@qO&wB1+z|H#a0wBK%y7po zGc_|KBU3{%Gs~^btgL5c=brtXd+r&5 z2!h~;|Hy)V$l#1j@1@$01Tr-euXZ1jH)50!Bxvz_9)8yk8TG)x>rck*!0$zZApSUF zR6^2I8C&}aB$=%*nml{byn|2u_8&6_@Z`J`q) zfuwl|f~INuq=oYYlVAlrJ^rqrK5NOe3*)jv1%ZSLBy3m7)JapMx~0zxB&G-co>GDr z^pX013Z!QXe(zK=d(q-cKfE7?zn2Jt@1|LECr>&VQ$AB5;a>uN{_IJM=cxveJ^1|u z)<@2nG<#~nhUMQ1WFXc{@6MaMaM5>r7nBJkv!@`0e=%>t)On+;x7G{9j`hS-5QS49 zjF+lekOYmOeMy!yf{>7uU`y;_wD?(4@pVcX+VXOVxWu_i)qFd`}(m)qRK22&-BS}KK?Lra&N>-xI}r8D$TxmW2BFc$tlo+RFfF z={8_!v)TOcfAtr#_*K>xlQ188zOt^GUaYEJLhtyH(5dtX zAJT1ET_s7Zs;wj*+Lm)9p@?3TYG`9M%_j%hS2Y=3MVe?1`>LXiWHjiV)w)_vQ0s+o zAzJ7v^tMMtXr;KQuAx5BYPC_V9p(s$F~$sY1Q_v~(WEj72?>U@w1fmdTfCouFN0uC zOY#G!h`(B+v8KkvCI?tM4l+Ew4)JL0;Lvx!?4 z?0&=V&=IYDRk|n5N?k+u`aCo~Wpt#N?Y*ct*%1uF3k|I|RV}LX*qIJ{iWhnd(RPCz z8Y)F6CW?|;42Zdaa;iTtcLZm2$oh>QFklfSkFRGceB=)TK{dJ7&((sf`O3EpD+6EVa+* za;yJX^ukKwJ$?VSnUo%$yk+BllDK`nIDYw`6^$ddyfb9~_F2?%C9Tw{{Vev?A`_R{T1{2)Y8wI zE=~W(i(6hCFlXaP5>S=ZFtz#oJ7tT%T;1@lYVhJYix&>b9p8Jnzd~gk?Gk5rUfnyQ<6^fY~e zI*FG+T8roj@+%;C0fL7lD-eiYBv!#sFWC&_*I($Jo#f~FHJhX&`n>aXdP|HIE6D?d z&|iSTr(&sGtqu`<1@D*CYF`0D#KCg&zgA;Bi=n%>?11&1#L+kV>o`^Pj9< zp8KQuhhItfXLwR7xg@5E3n51yhw&@7uBjGHs+C-gBA0gUf+=Pe6~wp&Y_vx`r4bHK zW=Ru!q;@c$@gs-CC+7|Bo{~NM!Jf%OCc>nX*1fRvm7If&HzJH1cmvBzq{^0$4@%t> zk!RL%N$X8{Fl1N@k7u@Py?ur`yfw1_Foz7CWa5g)fh96iJ-wlmEm9SwW^&54QZEmF zlK#(2hfeGxJ};2jboKl8V#v1T(OX%oW`?#!jc?E^2n(z(ng{xPVPOY3N8|K z(ZWBa!m5M_p>|&}*w1^I!%stka~up3#~Q{E&@8E>zXbiVMyWNiE|;U$5R*k(-%=St zE>7DrDPi&S;q{LE*Z+Cw!ibm8(>>z;da`fA+RA0aCND}Gyl}_iC*~gi@G!jq*9|6t zT8VgWXQ7+jECmJy1rBor1$oEBL=JPrXuSPEJU7{3iPHiTm_f$2m@zg5Foy>l#w~IZ zGrv}AD(Kh|KRNN;mmXU8(2x5*da>}M2lh7YT3ZuQ_sr*uCg<%a&O3ACrL*#?otGm$ z&CgcWo?kFxUt;p^$7)usKe%T6tdxP}8xAs#!s*F5s*}(vBeS(?qfSFqMpcf((`b}5 zYDuAW0{0gXXyz)c%)O-&n`E=37>rgmNF>L9pS3UBIWJ5ac=m(uXjymrXb->1X6Fwi zmmVRxyQGg=;=UwFq*K_cFz0$kn>^44u2%?UvNQ|IAS(~EzkkDF3n%lh6e%= zFwms~HH^&brif#jKix!cA3n8u-+|XZsjul#T#$WE+-Y(CUNu&#ym;iPUzd#7H|>qa z<@G*+X=3B!bf}rppcc3kfKR~+r+flcewN`5Kfgeg%4?WIr3nlf<_P>tY>Yh(kn$vW zNo$lK*-{jt5t-{zB{83AjpBB?cFFrB{Mg)~*1^;ML9Y(>=<{Ofj;7kL>zm&q>kI2g zUK#jMQI930;Ud{dto7!N0rV64`G~@EjZe|v)_&udb#ne6X%iO|ujX0~w#iFCIkgaA z_fm;Mpd{uvB();Rj6pVnphH6rN`f;nLRuE$lvS23b+<3Ub`)W!W1zo5h!+xtBzuTa z9cPt&gs#EE99_Hm2m*oyLE{7Y^tpe(W+s}P{2I4#@;HG<3n@x$ps>Wqd{uy%2Mywl zgJ*W0s4882ZTrd3PQEj7!N+r4a0Pk!!L z^|u?E-lA1on`h6;S>cE)m%UEYvGnqqs9gypm~(?fJ)Bm$w4mm3 zCSA-bpOL4)DhDu|sq-J<(COREvtlzlnrI_4*GjP4X07++4Vg4*K)cnJo*DjN$1KyTB4*iEvBS%a;Mw zZ1*IhN~M-12oMV$lhP3K0xC%+CPHL=%M59o(!L$b2$@sK}|`x6zvu=bT+IVHD{@ zL}qJS>tMa~uwEL(VPSS(Z`qd&b@=*9$QmV{RUxQnxe2z46pGl4R!NFMI4eorsQ$Ot zq=|U70f~;^DU}Koh~xlq0{;J z`kJ#HzLHO1w!;UHQXKzXemBz3?RjOZg&1A_#VT1`{#O#op@X{?E~6i|(nOLR`^V1X zwd+5=O}vht-m>PVs+k^IdpgW3^2s^>_#Xtm>ozSfnSN)^Q}v6MF{$2)_}>fi7|5)E zzcAF{FZ*bQI(*#0K6cEw$Jhk!fx(=8+_^{x57PfUb>{iHm&fd!bBo^mm`u5LZd=A< zD%)wg`pT=Y584UTX1pndE-@ z>6JV4*v=TuOYtmkA;#{n_8jU^tBEM8hB`!vK+}l(iLM}rMOuXUYyKrAJ1rzxyc+3z zw^-DLIe%IpCaansr}5jJ-*tfP32D(Outj1}fGa#?0>eTz&FNf35d2(Ly-GDyWTl#;{lR`4O}#sNTPFvFgC>!L-)3S61!uVLr-B)_8kJMC0BkY_G){BgSg@ zMgdLsI-a#9>tH3@={E7iMQ8OtB z$Lg~U+y7_H38{|$LdSj&TjEPRNYhRF-p+UF_RrtCdWOup^43+wuE?n3@q7Uq=?y9K z_SUEk8kiOhd=|5+ibfKD!GctQSWtg)TT*!yJx0&0S_Zz7>`%UQ8f!oMs&2#6a=$<5 zZRaUf^J~t}nh#aZWxJ&NRLU+R1gqUILLa8rm|--{vK~fLf0wH2-(u;QRQonu6Z^wX=DFB3H`T9E2$Mg==LNjLm- z{Njvhz73~7T(w;+a_)hJ-9-0IbuJN$#8cET;K1%Bvza`_BI>ome#HpT@CdC*GKCIx zm}ChSSL#R*9_F$fye&tHWidJu6_*WT!9ajHT$DD_Z(B>B8nXAu-jg%dZ!04npH6;$ z;=qCXG9Gz4Dtku#^kmZT@%Ld-2S#suIJaWt0|yqp`a?|jtubBeDpH0I?l*4A5@2;4 zR8xEwxCO!)b{sV%s*hr+x5>Rd}~a@V9%K zyd>GLU65H2ASuO!o=^`-iD95As;UdA^!o4L{4?;i1Fr{c+SvGd*9)rVmfrMF=Z9xT zE|%uB)RyL#t$OiY3CIxv#uk+~#xs4hw;F+l8ipdBC$rJqcv&TzF~CHw_M1wszTWan z)7}G<{LgJTE$wEdzLvtX2wI4673pa;poB5oA?pGq&rqY6L_8HE=CU1DDJB`_1M+4w zn*B9UYnYJ$lk$W7{eeUebx;=Vda(b22+>RJ7(})liT5O)!+MdLX6f9co3fs1@x>#T zjVs>s%NnVuW#8l5Mt!wXV%4JUpz}q(3s@5mQTBwVknggf5=u6B9BiL-qUjQiI4+K+ ze>R>cuO4?^604n6l81QEc|o)}vt3k?&j6kWs3NF{Mq+M<$t|ePKv<2EO$;L6pK`99 z-&pbE0r9-}L(6pMbun7ni1)Yt41DVGeorQi8d>yE$wM6~iFkDM_yVUgtE}*x)FPF& zEDM!(I_F191;H&-#8+0!o1Unavs!UvlSY*@4ab4(V}N>WK` zBCgZZ*XarM?X|Zp;L8;lMR-9tzmC-_=o+cGyyLRFc12oC0iQ)F3_fI3(754iY{Z(1 zXH;Ax_UqxKmOe}$YF1rc`==Vvlf^h$RGmT|q^)hY2eSvVEjl#JMe(!lih6VvRt=bosKhN^JoLJPxao z8L`5tH3nL1Lydh^NxxO0N8?N6%l(e`H9h()Y!AzNi{$ZebCE)<-QP>r3M!q4NeIq# z2zsqC)1h@8oiGEG?#D}HNZ8G`RGVZ?wJJG-Aw}XPa)dJ6Vv1GcH+1$MRP}vru*XYp z*6mt%J8se&i|0L9^3t?IdHm!FjdzY+yzyq^hh)mTEg`RvxGmF{Hqy_ZUNE2eqCUVV zP3;fujba#i%kZUw+N2A}M2;(j0k8WpQo$}+89#9>(_S$_$)MdwiIz$A(O#LAB)h?u z+QW0g(W14xR{s`R^j6v28Izwc@t-#CfZG2SZEY-{`{oN5>633s*H6-~w#_NqOX3@@ zgKMCabO4m%v9?B=>Cor}(5DTX#2&x`hXd}~jr-XMyvgm;pKKRS5nm+Y~8FInNCo0Ia zKW|>FEIE7d6Efv=OW3Q#x^3>FXXvG8t}9qcO?>xJEYc12&2)r@3K~rir-Pvb9oiyY zg&ZuMH2KRGtA>|sSsDVqxI7lQdF-Ptzi)ng2W_I~E%LJJ^xDaV8+uMZ+C%&GFGKx5 zKXrmQ-l(l;x{y~>->Ju@u2$*ViDxV3Cuc$%La4t~qmF>wcCiO&gFVCakPy8P95%!e ztP@ngC`56aj84pNFbzX^$!mP6Mr*pLq`Dd=wHl30V@0{CB%_zTM^1jw^;16Yo4Y@~ zr}Lu7_?&)YCxiw481$d-V)s&i)7pTC7RtQ`4V?1!GiKlFuu0Xks_rzuc2JO7tEs=7 z0~&Qk20lp0vUd)#*+3^v+7O2v=_zSqY z1CG)4WAew0+z5^718W`!Ne*LKxxqUCHFIxM05}t%6p~d)y^i437RS7qj$k8L#tZfcLpj^rd}G?f5)LDTTTv*t z0cJ0{B&`f0UHi%_Rq*3xvL^#CSz)5 z?&7OY(r7vBd_~F1MU_h)T{(D;vq)?z>C%7LqDz}71j!{`z&D6Vmx8X=#BgP(@^HC> zblr!g$sZ_P-t0dlR}n6TQqfCARrTiecuwc^oW=j##W7eqwXSl+RA&*lfj`S(@)&oP zB=|9ltO=54k6q_>p6CAs@xYj5D3QKI;!fz_0c|qD(Rv9Q$2flOl&Gz zvwP!z-8Oa+OL zO6mn^oH(i*gYSVzU@+i!Vo|C#Tr!zLG94zpt9hm zaI{!3H23S4D(Akj-Fo%K)8`{vE0nVk6@k_|gIA!=$7FzsH@Keb3jP^%kbqSrc-RQ4 z@TZeATMhN&4y=rtvj5w<0B!M+i7Pe*Y?8B_Lmf%$7k{;jd~xU4`O4zD>i%=YeT??S zu#*Nn52xctJz*gse(6apqQ}vp(O|OSoZCjORyNoJ)m1%7#u4XX0DFSc5@IY8$KSyz z0ujnku~7p?1k1Wqx**9j%;=?KF&0Y>+!dRcv4#2vv&(g}FP+UvqB6(+`fTU;5CSVwv+`Lt%24F~n0G z$MI-w#$Fg6$ouV{YC+VOZ?YiS@yXs(zn z8tD|W(|N=BF(RTq&`3s`K;}bKIxj(|^GDF^3NLsTW<=%)DuEH)Uvb$4Us6+x8?wEO zYHLXlqgmF3<`r3k(+B65rRHD*S2O4@`D6bTFHX8m8y_*PGEANPDCpP??Np2;vM4U zJsq2#HmzSjwuEHvS+RELSo-?1rGBco z#y(je_wJmW$j*(#Fsc`sgJhl)+XXFIAA=1Y7-4mFYXASXfDX;b%TQ*MgP{ z#XQ+2jYiyJXx0hp6Qt`%&MPuxf zl2WT}Q#NER&l*-BzLU{&+w8FDkkEmtTjy9JBLkUVx<%{AEx8bs(J^^LB}0nR_>5p_ zk-K8YC#ir9GPswzHbe9x326Kufx8mvhis!`!W zXS+!Z*Lr&52sRuo4&k2R2#GWV=dY|yBO!su#w?;&p~H-&U2VN(t{ha^mqyI2jDL82 z)i)ch%c3ia6K2mr`t@)*(ywJt`+pks0eWuwzhyem;MsXyPnLyMZt5JmzCRjgNbC2| z&K;_EkVPcggS^dw=3IwIV4wkYA9kK?)ERU+4g+iU;3X+umkU&S8dwy-kMA|?I6?!- z#J5x+h-M3;LCQY1ec+~tFC}G=1;KP}Lcq8@@sg!wNXUicgtvp=$r+}4XH4yg|Ip)A zUlgy7-?6s)FITEaA(;f43k}4A6Vz3}DOTuYH>$*7vr(`0^w1arOIPaP|7>C7U*tOxqxSTvp8gSY1$EGGF;47FHEiOkdB|u=}q9AtA zV2xn5dr6W;meCucVXBNKOZ;C^XdH-grDkf~@(1;4`7fh*pVmL58|pAb#l3Ly7ZhX@ zyXm^6^svRM!!_ZZhB(4a8to7V;JM5l>wZ*vT0nZpB_lo0Fcn`9EpR7u9fJa-4(#u| zx#8fC6(1aW?cwCj<$tLum<_DTDD4JqILe80_6T^$ef$nV~-j*JXmmYG>-@49?&-vrHhj^fmx>kqwBZQFiVmrurLX8$VJMJFycpX-{SC$`$$50}IpM_~^@%E6e+q zwrqQw6ux_o6nyv&efGi!bnlrN2T8ZagQUxg2kEDW4$@Cvl&uGMJoi-m(op}OzWngF zzKfITG4`I*bnl1n(P!WNfE2v>0{!@fgCy>d>ur#M1Cqa_RlS9HGMrg>99e0MT0ssE zMg)Q2L;sJYv#z>WTUpGt6IK^r+W1P< zThj}i)605gFD|Y6beXfM`0$AS8Sk&D!?VW;^Q8vqBuYR&g2nFZqw!J;l9#0NAX=0T zdEF4tX8ppff5M2fH#8oqlyBq6s$BYMcd)z6YFo7c4bDg`-zA~ow;TitzwqMCJjq1W2Y zeI4l04YiMMc2jg*oSfXHi&nPA#&++n4V7hoEshg7@0lZq!n^xy(eH$k+21od8Y+Xz zs}-2Qjo{daA1c@VpRAUeCq8g}%LntTZan=YEf{}h;KWf3k{Je6xe#J4ow&Li~6?u!wM&y^30W!0xW_dfJ zMC9XkR0hxz>WzOsDjzMl1Tu0P%0&PS>(C_1T46diiqd7$cCltHd6X_*ODkK2wVdxo zVz&4@{2U^Mm%VfmB094p!6`piojf(#)xOf!zNpby#Es4m%*12i*v|d?6wK&Txn*|c zjEz@FotRzv^_0nD6O!$D1yko2PJXKLRnV^jU8cX{2~kXYqV#${KXqVOgg2_x?E(SJ zc>|a$B1M;5duO8i$r>>_Be!{P<*dpD7mgGJOq{eRqtCR$)Y-citoT6I`c2DtxV~3a z)`8VC^M~~9H+aIhc@vvbz(3I+HSyzknkV=tdnz??M8Gx}9F0}$y+Xk~7&!E+5%sMYqK!{F6KZiJ==BzDk(&{7 z>V#m_f;>EYRm2zPU%o;DLTaWx2`sZ@3Ssr*hDM)av&hX0E-mao`m^(&eiT(Yz!^An3}-7T3e)d$Ej6Ek(jerl<4V z7qK7md=NQS3@SgqYF>~fC~2_`M^T$a-|0((;ztzlm`3s!zlU{YH8!6nqvYcStBN3o z5!P)+q4=>bHvw}het&rT{8gj3O)gvh+qANrjKVVc%?%h(_!yPIJC2c)o=8 zXT&&2GP& z%JOqJ%|UW;W5AS!6L(K9%G*4!f5Dq$8=4>9{qV?uA9=s`poA2$VdcIF!>TqwIE?x?=@NH3qE4lggF zHbQfaMxs_3JPm5}1>uAh-4*TqORR&2c|%tM!MbyBr3aZmtI6;$g6v<_;EX7y+4PHZ z(gEp!#d&^;s1J4iv`|cOR@INDxk}#}I-IsTzd=_&dUzl~Td6kiV0M=-acEAYS z&Vu%_UN_begO0yojR#sp%&eKpDYzu8Jb+yEatG9~V+PmVMEnBGfQ;rjHu9wl#f42twy`-#hs|u4b{w$_*{8{+>jlY4z zWI(~ERQLdEn9e06xMTocuYn{=Kg$(}b8ylk;mA`Ky*$|2IKn8N%My}G5ZGeVFw)=B zQ^mwi22I8do`I9-YxIpG@nbSzGJS*CajS=(EFyM#x(G2_MQfv~SuMjGL<(`Rj>ZUU zcqcg~P!~AVp_Ap9_TCVtg1jLe9CYQ#{Kg6DBrJPoSH4g`HUpb6S?AN_-B~pYw)9Bi?N4#ywStQlr}e>gXoGTfK^5&8f8fy{cpp?s+Wzs!`kx@_ ztVw9qcxl@>T2MZ=WqvmLqL`NQE*8$kUM?<<w|5opJG64cgVy4NFKNJNGYO3U*Xg}YT}D1OXJW!E+vQ^~ zPOz=&KmSov_krUwqWe$C>mN14QSnG9{joDUKVBa&agHkL?Kjs|rcHiu#;C!)21d=C zKj_7`hU|&6Et=Z7f3MVxIenAI49Vz~J}BBgv~tDm?_WCz>hn$wwFNvHj4i8$L5BtA zN28+rTz>Sv73Eln6Wcd*B;W9tFjODAR|us}f$MV5o(d57 zPZuWD?lmOub7f7ZPOdf3OYBEI4yPzxAaetSf%ZwJv{otoNYV5z8)C)T3YT{aCrOCUsfazLuF2U#)m> z_~b)VvZYI9ClY-B^;@R@h`hRs4^MjY!24v{dy^(MZrcCoqUQ5xT(H=-4y${ablEz6 z=?iFcU$9Ub^VnZ`IG8G?9D!Gql-6l<(+weq;+bcOA+yqo;EdA7B zMLD7n@Um;yj=YrKY+pf!eaKhD#oe{yHO@=rDW(5V_>_{;&P$x)lbamMFZc-&9GwbG z;c--|HaJ)#{=37P^41>88Xup#)|_o$Lx$1!l{H>ocda?a@ll>tNiSQba&!^cDo@B6J9{bPywVreDrO+pxNvxNl(I#PUoc+kYNAVmgx| zoVkBm&HUMW#x7K)_f9Pvow;d7?ZP`7ob;iyAHK4O`0sjfgy{F^hZDBUy7St+uNIU) zw(x@$%U6PftUn@;>)J@hW0G&-bhTRB=uzB?6K77dd_@Y--v}Ouh5hY{avb$zMRfGv ztsujG;w$d58$Zj*91s2!lCSJ$z5$rpKu{wPvI zKdm1M6s*+ax|`Eev9i!lzxE$-TgQ2JZgQW#J$v?XeZ!U3b@bm$`t|Ld-e3Gp`OfN$ z{aTykJh>jeC0vLVaNpUW)5vPisL(KrpTCDrRu08w7=5|z+>@F5K>eG%p;x)-!iwL@ zEpG1Dl~(4CZe2Fl{kmh*l;Rn)2iO0)byI1{jEeqr-mDj=_=)P2H9k(7Hg)>*6U9@n z(E}$3ROYXmzV|fAJv6v_MD?T@n<(8jzMEK^KyQq;I;*;^CnD2xeoo3cIZol^7Es2m=|9W5pg#R&L`z5r7rDp8wHlz@KZvL$#{-Q`B!&6$K7#& z`hyuc8#>T%m(LHSlMp|2I-v16qC>A&`^i4hh=e^&Av$j`i~Jo3@`E zYM9vB=sES!#Jan>4yKJO$)dp?0v)n=#Ets3n~|>rnPyg;Yg35JMA`>XRo=M)HW!&g6(gh+-QT6E8Yi%X0iK8 z3KTSskCf0xz@CrS(LtfSlf5oB@YngR9v){QZ-d1xCuvHY)gkU?(SX3Y2)_aUP>yeq zrw-C`50tj(y)E%lC?F{|nL{DNV3Gl)gG4D%5`iPfg^VD#6kKpIvP0Y<9Z+4x8U{s! zH9?AHw^-UF^ImLng#8Mf4*3T2d4II;iR8S_vFTvT5M8SLIb~w`lX8SYg&&cT9kEgC z)&9U{2(ZwIy~InLs_<|uqeInt6JFlATs436!lsM-fQt1H{x2Pv%O=&wd3ozXXk7?d61zWcOUM>_ z+ue-$=ZTfT5<>Dy?V<%QsA3t7wCzdy4ULup(bxYD1XaxGH6*ycYa$K4+opqlo z81UCELWG+JTppC?<_HN2_U)A;7H3L#xKt_F=bYx)yImKcFxkxIP`Yr;h6xuGD4jaF zu~&LKITY6Dt|r4c6e&Bq4R-|!qoe{Qm*-HRLA$0XP&g$OD7mjNT%;jG?t#MeO@T53 z?Rq?;i;1}#7fwkAg;6qsQ&P&wX@^7msBkY$fdef_Bi!cPyAQE9nqh!JR#w|PnT{>w z)QERcgXMzQM+eKvA{U$H0H6cJx$Zi&r-U}HU5FTP0?fw(po)xQ3gUR20TW#MPz^pFcJf*yzqNMlc*Joe zh+=)OM*2abvot|IvHs4-to|i;TYvlZZRe&NH&9z(_(nt5BZLHdV1Rd!$;a0R9a6r& zK{&zkHU*(!DM+UjNqMa3R`7dzQ(b7FkmKs9V?Bf$jhoTHWSP`JJhz8!iEW4@g`xE6 zao*2dd}OV8t+?OOef#2TPtrvBGSg_f@tgWbde3ssg&(_&kmhM#%i)zMlHa;Wp>&5D z8!(r`d2GfbVv1+4Hp;_$KAfy9un6?UgnHIP1pjoUV7q92wbu}3o&t7Fz z5Hw8Um8XsnYL%zDZHK}?asj6?ynj{c<5jwNS?jKx#h}nC`6Q&x^-Q6ghY9_)2?2T=;;QVzX<4h?IKQJ!ivy7i2A|DIqvFQzJM=$p!3jYc=kgfY-F z+(88P-PvBnG+{k|ZW`^w`g!qsF59b^#$2P)<%@mr+k3crO1#`XzN`@fB9FcYrNx(B zO~Me2yLx=TJJ4UPOS-GaSI(l}M)cXwb_%_f9^^YpVAu-ftxw&@y)>-pt7!yQBV21% zk~$_$T5ZQ2u{)4h12}v~J304u(>|<+Sa~mdy;b5nWgeuH>gBfey@c;up9VhcSxej2 ztHoaFZY;~&p~H5SIHxMB#beM=ju~WTgmA#Q5)?B73cHc%BcPh3@xq0F(F6Ykl_Yq# z-_GPGpu9+EGa|YN@lwqyRL@7xp4;c$hQ^Km=}Vi7acPs>w$Cn;f}LYlmA+1UV4fOI zuLUt1&-E6%YOE;cqu)3Qsd zoT=jItQl2OB-^7>qh)6vyhe-oEneY7hZ-%jNb%gC@Z3)*pU<_rL+&>kl7*X|3KY(V zYne_EB9 z#(Bm@vfHT5bWGn#^ZP#DtRTiA1T_9|sPGzYR)fqUB1(E|m|5`zZyvZp-M<)y!906)^{N#3RZ zfs}D?BX~|p%ZbLFjNZ)K*KnJg#54(!)wi79Vu#8r&)&JsO(^rb*?MPK(o*~v9ufijB30++k$>%f>{vxakDfinuKrL0lVNruk`KAJe( z12*CAQJOtcZ^YrD9>zg8)S;EULU5ubO98kUY9I#UKh(iGJe9sD{Lt|LtNn(%nH_uZ zFI7^ik#U2ypsRj$7Ut%;FU)R#Ks*=0kF+A3KQ9!MTlQt7{GPLrU9RxPl&#Nw5Tjx|H2`j4`|!LMfwY6k9-;dOdzOvZ&}$3ENI@&xg947*TK zx0Ak1Ka9h5reSOH_BzGc2a6t>bNJl~adqYET@ByXRypz37QPPFPFw5TIsjw-o?6*T6 z%AR_-?Wr1))4CWi;88lrC%a=D%dt;!VLw~3O+9+JeJ$^)SELh9W!Qhjp>*%whCRQj z+zti#tSd6^*6l7R4{&T46z0_@D%f<$F=Am&aN`-f1vczdl)yD(w;rg(qN^XT!WvXTr8m?@*E^BtV&+sUtmOfh4c7^saeENwmI%5% zJhUo<4gomRV|UA{JCQ}$!4#DDSsIbZqP?e{#D>z#8yYvzs}Ur0ru%}ml(5=aAnspH ze#S*>HXBa4c@QP^wuc%01MFcutPb||RR`#U0)mD(0`9+qz?6=M*X%9=qWlh*5pX92 zaXv2QDXpIf|9M+v+oc4bq}3s-Q#)KtNc}bB*PcG^%L&%PpQ|aqoj|L9%Z|eJ1kgh{ zA!Fy0y*MTFg)0grJJ@MfS1aN%Hm{nIe7J2$aEDq7hr+GB0%f=xN(Yb5t8?7iD^P|b zumqG2`lsN+GDHPRu5duXu+W`GN}y%XT;v#J~5Pq2fvWUIovS7!(!@A5w5O7~Iz6UTk0?TqnN)0dA{w z4>lcab3lLs2eVjOVD+Zpu`_R zJIEt6D0B$M7wQCi`$J(D-c#l^VWKR~4cx)pUtid*!Xa$Wl}YcsuDuWz^Zec}3)p>K zAY#FN-3zf#DY!_l3>a9ipfkDZiOQDL6EA|9t!we0V$A_`v9i9YuBjx5CYCLH^}#0%-Jj}4Z>RL_o08J6U&Dw74C_6<5xu&s4qSvic;LQx zq+rA3uT*?1Gm(RJB_({Jq60)SYcv)pp@sg5(i8g!hw8VjL{ryA$^^w_i2HVq} z=#9w>=1rcoXkjt7n3CMT|Ih#1qyXp%@3`U``KY3iqM}P3`&?LrIF4HpSRSUeq?YSa z$66Wh5aDokxYn4tW=kDBJU@BjaNwJnW+S~t-K>LukA;74k1OEcLzw^ZKy1|>Rp8aL zcsp5-j?~}Lk?M=yOUawfX;3=wtue7^Nlj+WsR3rQ^!xO*l1FCE-dJJY75!ir`Erl7 z6`3Km)v=Qw9mt@3EMLZ?1PiJO+LzP>7eif8Y#7AiW+v`}laHswjp(v$S?SnkBlko- zh^#YmO4{takl~FzC$1R?I9q`Ys>Fz=F$b3QEh`ZLX%a0F&aYI{aG!{LfoFxNZm_%5 zO&$WS6Jc2}>lcM3V8`vrsWv9o zMlHq*&yjHJfX$}paM56}J!#ya_?Q$`QF1oFfGvu#!0d{;8riv7FxkCz5uOR2>7J6O zi9PI(8EL$k{0y+V&( zrS}V6M-1s7($y9`WuW|pHQt)mn~0s_JEf#kisA%W3)p46d)Wv+`^ZLsR-}cA3GZQ! zZu^O>?OK=6XgixRhKxz5>&kzUf9-a3m}$TpNg=kTO!gi77UzPppQ_9LrYCxC_u1y= zpgluMQIJ=9IGHAbAjVuqtx>w$k#C{B58?CTem^C?&)d9D>(6yui@?q&LI$hV5Rdjz7nsieeilL=6^%SJN%^x8@tW_ z(p9+a`pf_D_l!q|{{e@UgmNW=^&dAZ)tCGoefc?8`%_rm=NI-DtZi-Gh6-o-6lMcT z5GQ}AZW3e2BOtwoJV4*ZlYE;ck+}1lWENrYeIkldvwh-y$V1rNLHr(#_3bn9_;j+n z=G7?!kuVO)J*VzGCe#7qJJ{XNswPn_c5Z{n&R5jzoCbgAF%AD6%Ah<^h3Rqldpw>f zDOC>C10-~bM+lhvA&G1pm4{A;PF9`lfeCjW9j8PgpN0USP#?`&=#*iR_YDh^VO4I1 zOBMgi$S~WME#v;zsbRqVGDDE#in_52cUFm2^GYn?)C^KJ@xF8okz}a2a#I*(DY$KB zX-S!6Ir3`5e4|HJ2{o#kZs$n*pLp%r*IP;e58PyP-2kr#htI2e{CA`WnD%i4+?k77 z8Jk7QrxfyWae^0am$6w@UdXlBOn>DTtTGZ3v_W>o<_a?!VeV#CsIw|Z>Sk&ASS+%% z)J8~ITP6ANJIl6jXFKB6A=L$70F_nvuVPbrH3H^ZVWOWJt;LvN${ztcV?oa_!IwPv zAn|vW(wpd=lYUf1+`fixIYpWu3LWi}tQIwcp@X zLIf)sFj;;`u#K<~(VzYrA{APkZ?#Y2X*!G(ghL)W%TmMV7fQ!hlb zI|{syN24*aLH!s7q|7EYi*bpUe;|{{@J@%LKmGnW`u+!rd0+pzr~c6P&*nb0$^V+} zKOc}NGRmu|$>-nio}`y|dR!xme2D7v4ZGD9pKh#wUWS})$1X4<3v@%R16+6uaxoZm zi@LZxpw{^UDj@i;Jw)YOXkI6+|}wb*w5u)fSQcf zve--P)5o0+3F)YX?Bpv}Dl1;)c~??W+X`Mo<|`gnR(SCh9qR4ON+0Gc6e~TNehz*k zgAWO5gTkhIXLC!wi9>ndJC_~r(L-5-s{qPOt<|VXT2cS+VmAd#VS-vGum(oGzEc>Q zlLErpOOZ^+Tmd+Xui-q|M~m=F?5;5lm_yK3n!IPuR>kCvF+M5XS4EEt&eBIkgvJ}yqJcL$F;qf`3Uij=f-s58uR}J0 zJt%h=@B@-Y(jSoyyYx=-@*u z>97ABvn9V$tgWbzdo6iu-n1u1(o2IQvYtOWm-?%F96VQYZ13I=JBJ;9{w=|`Ne)KUL$h(Ye_JoNFVW6z3X?!4y&PqV@KQqUvXU<#emPWKkG*qUz`Pj#2?72D@qeZxHr6L31PzfPdLK=u!{=^ndEuTB z=Dv%#m`lJi+Z29>*|iOuOf~33bOsKn#@?1Q3c-5P>wmQ;T^8#UzjHUAW~!gt#U22x{)P##L-B z$sK=aPWGT>yO)yce~>Rpp>|{Klk^&$e_&>rt$&$g$fLPM^HRE{Ck<*~lHxvF3S#Gf ze2S3PBw&Pn`xqfUehK9H+tVZwqIv%qp*s-4J@=j;jhK385%YX3Yfn_i^DcQlIXDQF zm!KfbQ-f}4h=9W_;T|UO{$^Z95NwzzEef$o2BU=u4~Y^b3-pOJKKVj3F`OnDhv>f# ztU8_T{Ma&{l+~UZCdLQ*fAAU6igQRf&HU53gMPjqaYDc6*6doVvS8Hk|Tr6m9kbN=pYDueg|q$ zuoq@_kSPipD<-A*c^&yr_Woh?dJCH_v-YW{_ma2psTB28yuu*m(?aQc$afFc_oC|N z7ZXAf637roLPCtMwX-EUCI+2lFd!ySK#Ix6c=%ZOH^Dz4?9+{rb2-+To1x39qQUSGyTDdhE=re!hs7{ zwCAMD5f|&UmNI><|AdkK^2N0+*;4bsyiLx@z2m}=1}XEey1|}d_9J_`##iSc3>KHoOEQKoOfvf|MO3<_pPbrN$rEV_}qt@&ZgxD7)z{^R%Gnn)gg?M=FH$+oWf zb2iOvC@d2Xyh(H*KirGD7qD3`h%`c!E)F-qt|0 z2L`rHJYoKYjlpG>zJr}=n+nNns7QRfO(?9LGJHZ)VZq=zkFVK5$kVm830>w5nR8?o zX&$pMw^Pq0j?C4gN3BTj*)J~blgCeztV6c7eo<>^3n;?5a|Ybd|~$D$L3sOs$@1I z5A$YL$ma340uS8`d@->1&@iz7P@ zIlma>o7N{LZeaSf1;zxLc2X?r>zUl$&la93XD@mbpF~v9@;&vPkg2USFMpgYbe2nY za&1JqZdnNUvL3ffr{OwR2)iL4BB+cyZ3qeW!Qfag7GUr*KA^-HL~y^#0H$yv@lS$t zr$c7+^U#aWU7p%lPe1r^%KmA`-wG*hC=FV=lq9GPw`coZB%4q#SwiD)`qC)!Prq|7 zj$cArs8E(wU87a8Q%LwyRR!dOO~mnwR%3Q{h+1dz7C@UQ=0y2m8D)63A3Nx01EdV8 zHo*@SK4S-=flk=m0UE3aS@LlGqstG|-!|>;Jz#%7zd?N+Ye$DPM6CQ`o7q_$mvX*}XBI*!dUMzs_th-6hFfKpp}0ChMvFWTa)WV0;W>r&6Akp-P0B`Cr`G1>KLsC$L%1h=}cGGww8-F^k9$ zfMGwl@T^SrZz~P4OU^7mVC3hs1yYn@SM2PBpEyevL^T?AR1%#zsPCZhGlRos%%b1# zY=r4KX_0Ef>9hiT7R5rNZ}c&L|Lvy9%OCGMZnQImjr^vC^uhxZvtE9l#T*Lm3qkEk z9QU?+%kDElV9x3)>{ByBc|{9HJ(A=X7>L|CQ1(OB#;*Ha_sVC$N`4nLd1DkS&T zwEq9HX!qwS01A$r;W1CPey?UT29&BwuwNwh?(30&4G^kJ?P`URB%hBGv zL%f*JP?&^}2d%E)jBLS2mqeoP1)t_2-WYbM`rwM3#GbZMGYU6u7kAXmCdcsUQa9;q z#6O!XtXj2hkt&RSiLra1RGYV&#(hXW6O)}A=o8=GR)yVJMC=RaI9+r9)vRaJ517W; zO@ZEeP#=Q+4LxNr_7_IY!i*O)9r;+ZU)k=q%3Fmv3;$J3-XXmKB4 zr~~tUcvj*Xzz=f7mNjs1tzgiL7rP&cRmq2AD_OtXM!TH zszi47M4DXkdPX@_ZtwJHZGpVzX^OGtHMT}f5#}pv++FV2!5CV@YlGebnAT? z)oQ#!KpStVpM|pXPkIrj07YJ^$L7c1H0OLPqot}I?VI8iBGPJL;sJpHvx#M-22Dp zIp@s6u*}9VtirI32#AP)hytP_;)Z4@N`&CP<3@;xh(zw?V5`QGkfbsLpFKe|g=w(2#j4!4MY+36r>r4{;|^gU{qETO z+r#P8n}vR~mQ>JM!FrPXlbqdm`wQoHnr(kL2VLyk7UoUIN!v$G=8KaD-`S}QTFWpYn{IxEOxxVFS*X0^EF@*G(QP}Mb~?*0 ziz?xWGfOzezwFK^;bUh6`@-{XLjpS>#~ciyK(zV#f{V!4*F7R4I43_sayNlS!?nd_ zzl6)uhi)o!0kSf87Y@c!WAbX3C`Zan|z!hPu1*R7OwA_WjT7k1jWj_PjaF^{~{~T)AOyw=U=5G zNFjpIv-@KXZ2a2eG5GwRh=4K@hzMXe%;6q(cKWsZ_?7D!0*D3?F?KpKImdF)xJMo< zh)Wjq%qrV6COufu;QCiq4fmJX;JHi0u_v=mAg+w@(rETMih?H$nX$K+UT8fOZ|#>s zww`w8E&a~h=+W$`*ejWxl}BbiHb*#c=ir6EuqU&Y!`F|NF5oBK{a*Dkv{nrX1nB}C zSvR#Pgn|T=1yYm^%rr@u6kK%4VobU*e_w7}97$w?tc-Z$N2BuwsbIuB>cHDyVQDbG zgW7?+`lyh%Ohh*$A|^(oHzYc4n+{}7Wk=WneJTUea@Pj$F4C68tg3V88~6CkZkg#l zdeYDr>$X8!3ggCYsLd%Px2bMY#E6mh?!u+pId~T4PJ4j&z#kZKY676{b^;+tAcmWb z$TCKc%V7K*!qyuop#G@f;U-;>tzdjeT4!=MZcDqcH{3+~Hr+<9c! z1GMQFoj*SM*GJqlNb*1ld|hDO+$Y=J64#^9+UvipG|onclZr&z7_5IjX<_5gB(2b+9m*RbQCA>&}b{;NWw z4rV*|&gZpj$je*}*-a9`+E?{h>q2Z|S?xG-`(s7zz)6PZiofEyZjjXA8zML`2+_HT zI!H{G>cbu>KM?S{_iI1N|Jh@R$_(i|7t*;4J1seniP~l~;5^w!z;A;mq|~KoKa9xLxPBR zL&34jK2aO8>8I35uh3yvBf2&92r@CRK^}6uxAENWFhnH)X9jK1;NdBHm@P=@wn!4l z%i8J6*q|#zz?+~l^};+eacMV$3h+MqC+)TtditF<`lE&(la(%#mPr;8=cRG~q6EA*lf~#85;K z*%DRW-e5%X_SU%zW}O#i$rbfvZDeN~q%XuREW2=Ms$mwy+_SvWjS5R)2V;k@|1Yo6Z{|##c7FBck2etAcf_!CCN*vpSAmoIYXHaPs3z2WA#$=R#H{!-F&%E#(O6 zo*`CI#Gr~sE1Zhfc6TDC74zzHuxPZL_15LkU||VPtO;%9!ot>J+xIjadva1j@$|Yw zdk#KzY}lGDwNn#!E`MI~hzVW3WX6+&`=t+09yoH$wxOGrkEtq2Nk|(KSC-9Yn9X>i zCJNSI6w{*&lD~V{U=WZ={{9#{eff=RB(HiH zxmULHLh9hb4&j{vCZXcElVQWLmfyW_BD?!AZJ>6JxgPR z=LWBV-CCEeoV?P(8dML z-!zpX2Jt!AxWb%Q@!Jn5|7(Rj(iR>?=e# zF%|{Lgk?0Vv(N|5gs3A1QEzq!Uy7b}f+4?ht=qz4H^{zWMi`5#K%W%F^T&;oX?evQ zi*#($H^&xuOQB;)JH7c^6i$L_^UhIni!#W3F8MjT2P8jY z9(c`Wgw@$;Pz#6GJYEDI4!nMVe-639k$W_%EZ6mnKLwxX^6Ob-5x2(c0_;)5{P6lm zM1?Gvl`#0se9S7hfG}T%s)2Jp(58oM*8T~?5%!{--okQ8xa&C_-cy7bY!)v8VRo!% zhdATa^H0$0FHG4v>E$ee>He-3Pvz!;d z0KMJd9cokuV6RyNu+7?iy*$7!;^>9Fkfiu{A+hC#D`a8GmQJJ(`;8+45=vWh(^7Pe zAFa5L`l0Rih=dVdR3bBtlO|tXSLNb>K-Ci8E51xCHhTJMK*OcccyjIuIn3X#6maRw zj2A{%1~5{z0nVc2WU|fS$Q``pZ#{gQZ?yIgh}PAANWb+>lCobu2EOGVJ}Je@NL=yQ zN#dQn99fv0=R$KFBM_qk@3XIfSJAJ;IrP^lO) z?EQuY#z{)wZ0^KXSR4{fN zVXt%Ol<2gf^FOR7zbG@t+nWT>ns=Z*JjuPA!4_)P#D~WN5zRN8wU{?qHX#0_%}V<_ zPac~8XRXiN*53LjP0?Zg4o}QzdSA_s^Niu=nRhxmvHKC;i6QwhgNN}>wA~)n!{Km8 z;8mXF6$}3P*oyQ8=+2Ny=+46THlsU&Y7EZkRE$16D@@+2bVdP`V}hVF8Vv}67<8Z^ z)BU-;=ZBU8YRbY;c1x%W`4l@xFjhYNOw-@bwY+32rcJ?uGPy16ZFYGvUwPk;JG%Mn}kKPFB0nK)^|iegBt5Z>V)^ zI$Z#>cg%RW*^I0W2sLmdAz;_ek)*hyutk{4$rWS8!GOt;H4R4+X?gQ+tNv&myt(U! z1)E+Erolnv%Ccp1YZ7)z<3IcGU3zL?koWe~*AHw7+PgKSdH@@N)Vn{bKL$IK71EX4 zH!LdY;fXN51xXba<2`y@C;LW;k#hTnsWwS0C++1iBg;#O%rdY6Y;>& zOSEFjo(W}hiW>743I|`OFFgO{sZ1Ysn$X10e)~Lc1O0h#&4#VS3BPC?fqR!mUEwt>aaaYQFWw945<>|7I>rIV0g z5mLrX?3FgWC^J6D8W=w?Ipo2thbDb_j_m%X>7ljr%0D zfa;<>uRzQl5`-BA&2S*`Gw`PP-{QfslNaY0V=C(gl-poUxEs#$$iew4ha)`74Mv8W zTX>Wz+-kTZ?tuxMx<_(R>+uLp{Fw`Q>A-ZvqQk+n3Mo0oLLrF|Z_j zOWC#EbQlBRKp&ay!7-1>MF>h%a>$v0u1sw7P&wJ<_>cjD2B8zJ!uZJ6vulppSF#*a z#JW+cqgdBu=?}e_fc&umA%0H&Sb4H1`M{14Z%tXs{0WQ#@*F8R3<}7D`?iGjuh{G# zwILmCR2Zgk{=!!w>mnREL&K0Wl-K_QP988W6!tpY1tJ0~a37>r1GK`fs$QzZi~yA` zQb1j_AoxZ`!tjbT#07!ige^tZ!S-;udlqZY0$NeJ!|!Su=KVUyO+nL8(U+GN|=&N6q*9P+MP*0X=Rb#8*J zV^+QSShn4H7DD)hEQ1AA3VOrxb$oye(3AB>5HL9w5H1Q9!J@O83`VOCy>XojOb(-h z3zfjKzu=y(u${!|(C=ycyA?&U81|)or?=c}nn=zf`)A5@pEDheeWIagy1ePh1<2(2 zy^k}IEYA_coWbbdaLpOA-t36tyeF?aD44JTyuDr7rAntT{24C*n$jZs~BK|Rp-K~V!oRMPHduPYLBI}M&?pQ826Xp9aYdWy3e*hq2S7< z1*A-R_22SvVO>i5HP?}g&KQ~*SvR6)F0yWpwa3O2J{j>;`u<|)75ZH(Nmd^r(X`L) zFX7qY8oanqT_@i`BZ*cCR;#3-@bEjZNnr|nCY^J!`CGCkt5v+vmI#JMjwEtl4XJ7X zQR=}vRrW4|hf%}EoJFs&*9Qdf5$%LacK=-#lk0M9&Eas>QQlXHiW)K%@~+v;bVAaU z@55?H``}54nG;sy&La5n@$!vW1fREuBiG68nNcA}`9a^oA+Xpr$1$>=3 zUhitr{Z*~F#$9fa3r`T^n@p~V^}-_PD5&aU6=v|IAO{B)dU7bavUe|<$*$2(`?G7b zUh*|)k8%xaNI2fh-FVtVICS?4JWQE)zrVW>^OuSG6x4{RD#TM@Y(B#1Y7ePIxad&e zWpN-eN6=Plid(BT_ZCn2yh}Xj(~Y>g5?6cRYAvo-vz5ab*MUWkI;mtq(sf-wuKLkI z>LWfA?$(lS7tq?fjr4aCt-6K#gU11-T8zrh#;+$~y3)t1myNh(`|cOg%(*hv|L2sfHMVn9tM*Y0wL*gk(Jzj zyZnRvqRTy5wJ*wfxxGIxl5VtiiK|<<7y2c#x(Z|vg3kc_a;$F&Z?IZ5rFV84a?_GJ z^-_q{7ap!kSp;$~rMo_Vr9Uhq5u+is(QBcR_u3QnU+$i~=Lxu-(szD0(B3ISAVj-8 ze6V_Lx-t~Di}V)hdkiDO>SZqA+;)ej-Ncb}G%B^)U8B*7W*w3d*(uFvWMs4(#1n`* zS&iKnAvV)hX)AMh^+u%<1ckA@tu(=XAwbL6H_FWx}k zb4f>4jD`R+~KX889-=-jAjhQDAiPV4v#U#V~3pfO{_$euj~Q6u<t(4MzrRl;T$W4?bd}DSf_VYkd=mZ`dFdEc>IZmA~IGi#iV$Z{zQ8be^yNec^K}i2Kxg zug9of7n=y=KTbucUGi%&lfPDDR0;fJr9v#{J2D>u(~*d584e+fMS?jaoZhIN*GR}D zOGnW|v?d(Mlg&Iz1mmrIV>Lx zQLYe{OWl_1@}QRD$xx|T1sVh8A#fG>(=Su@B_9Yna9y}$cV1Z_xY?bz$*LN9n`mmJ z*d5L<5vuKA!*i$}$cXa^4GSHfZwWI)^&g&Za2OoHj&#RJhvX)PIl>%)QjlMu-?02Z zU&(!FKFHRTv=F3GLInf4HQdao?dKY%oGMCS(_lA3eU5}m34$T{9}WZj#_Sy#86=rZ zN$UFk!3l@^XQnjvpI#FXM-~LpjS-wkFQ{Os%%eA_+)r~N@Ra>ru(;r#ho6gc)Y`k3 zF1=d2ueQ1-YUet?jSGYDJLVIX07td*gGCmr%Fc)|7{W2C?%pQv5eV^w`$vQhMa_$U zxUYZg(0qT5S~Wahjcv^0gRU5%VgvBLpm)CD%;Jb9il2monQ&@x*aP6Mg1}MP;mE_U z9GoglI+QeM$i$+l0l7O(O_Qd@o((uN#?r0r^S3X3Oy8uR#8)(t%;2}KtXdUc=2IOq zaYAA_DH}2LrAyVcDlaxNMxB2A$Zzx~=PBXxk)|pnvh(^6=>yIiGc+U0#apNe3_1%yzqKSiW6r#*#6+dd0f)=QD(9!CdffhzfCkzktf5WR%h18_E*+ z^oe`dele7^_|w5wcTyQdx09%f+N$mE-DnBesq@($uxBC}bSZy*R&J>}{*80B{Yz@- zn&i!?#QmQhHMwJIi914F@vCu|NU95WZ>w9>C%AkKP$A@)VU7(96ir@UTt)A(pX zfOC&Pm8EGrhYed(u;gWTWMZ!fCRDk1Tg#Rie;XZ9x7<0tOB!5#Z1U|)TuX1~ z&#vy9AK&(Cd2P|bvfR9g!P&DOTh(Jo@KAZP-?{qA-&ZavJ3VKkKG?-N-(h_4{-D- z`{F_$r45Nm$tLA+60|079|cUpl$0cF7@4oh(>=Cw_2#iNhb^wFn6daTkLT7U^zPlO zbjs|~Dfv@Gh5ItO^u zqL>x$CTO&QNE!+Z^wdTm?j8~0>8=%t#_Wk$tEUnXXC8bd+S&n|We+3VPDefyR0XJ) z7<>8f;v1R|z7JpP;;*mLhM@S?Mw0Y8DM@*KXK@#DrOT1=+b5UTGedje!eXHo?+hQ&BE0Y^ShK*lN0hsSKSn^=x^660V3rX*IS z)+E$F{!`8BU$!*-^U=05J)Rz2`%>=U;*U1>d~)1#OTso2_2bXpUAvw-pQ4Su22Zb! z+O6J<842M{+* zkvXP5frf*>ftJXw7L#39Cv;r>5U$R`y(5Kw@5@(TR<0iCx;nb!>d|P)QGRv$-{h-P zn>}XeH6C#9YpckX0lb z;;wdxC%|U#xGQ&$G0y}jfCE7kNsT>;A< znAt!oBT6Wh<~d5T!wyXY0wrp@5#_Rrk-~x2ZPq)tyhUm7!*sULIKqk|^FvdnNt+J8 z=+p}Td>iumS84=OuTs^m0>}pPHi2%*PZ*}RnCw`gc9XQft*u2GN8wEU{by~{@63Qy zoyOm?z3k3%@L3Iar}}MIT>uy9(47(q;{#;1+t$;PBUt4e>z@UI)NtJ; z+EIicv{un?UnCLV3PPQi=vC(|P`}7L=nZ7EIv0>7%zM*ah0J}Ef23N{c|`&CL>Cqm zK3r{JCoGl$-%#*8sdJxR`r6XI`^T)@w|~Xh zJ!$=(%CFhmR-QRGDPd0bh~i?QDRXX0;=I8liYEydYhLcZA_wTI`GPM`NIePzO= zi4V;h^WZd6Hh$8?!g-@|XQ9tPjuXw?#sR~lJM`7Ko*XNsr_G9;Yc=uq@m#q?BoxEWXml_m*$TMFu0yNYLI5kJ#imWLLhZztgH*JUepPfJp|#aBC_PzCPC1>` z)#UhkVq8OlQodM2e*^(UBA2O925i!0*j;+)07fFH)uKiP;jYq&I@s1S113yKn69#_ zAA!0hs~g~6t&**68rUVgg`4c>4boIXu5F|1K`m4T@=F)DX8XO>5+TTdgnj{|_|NZc z!7d_J2wdz2;g-`ZHn2OBYLZRnHBfsA9e;!08QVyj0(quJmYLUK!A;OIMpdk53-3hkRs)5z=D#D|`v=SYfh9l591gfE<31W)JB&Yy6?ucEAMEu0NcO&pkOH8^Bx;Nt6G*E9|E_`+BiMO*wMVxfP17mrh@Wc1(QyEQkP4rg5rvjL-s_VKq_2}tC3+{HOT_wWq^ac6 z-5QQd<0i?Ldi$R=29FEe>+@Jj0nO|2ml58nuP39&zXQnzm`0ud0u578l*H)p0?S_G z>V5?pP10+b`oUXfla;rxo`v04L@(^>M6NBlfky zQ>!t8F2~Ji6t!K%kPcsq!hjqG+9I482tL901@lKZUmaZ)O*h-f_1f|(I>_oh{-Wsp z)?1T>0nUpgb4YmUuS^El2`LN#1!pFBRsF1ROK5zpT{`osa;sDEa>zk8CBVikKy4B^ zKd<^k(}IGsNz>-$=L{H-SV3C+=(+yU(u}HkTMqQ9&7L_veS|HR>@U9t%mqQ!BqWPw z^(oYAM6hS7Ou?e4_c3+x*LQHa@@I1O2F?{(ShJyoZO2SI3$uHa!lDiDhx)5;CQr*tliWCO$EKV@(U`z16h9vU@9CQ(aUYKXTxZ z2hslnLXH@V{)3132t-ndAcA@{A)Pr@EWE6U8~}(~xvvmlrm>ij+w%+Ce!|&PgK-mJ zr?ays4jG`H8k5Zy73C483J&t%9f7&d)N^LD^U>oV26A8I(3^#87qStDDGH--|$TJxq11c%0uF&WGvjYc=F)~ zyFZvdV;S|0Ea;n>F=}9ZKG`}Xsas}*Z%n_a9!VJSbwWSkHrlF;xSw8xPU)`?_A%Wz z;;wU%9gK2VRf($NbZ{9!kwRYZlw^!}ec^(tmG5pHkk;>k@~6UzN0#sb7q7?0EuB7b z9~*G`=2lZh!0xSNQB|=r;21C9KxIYVl0Zp_Mad z)fOPnW>i7#teKTVJ>7_3P^?7)&X8|ljN}p0tG7mia$`?Sk>C%qK{K!=C_msdWVn3% zKenG-|JY%GnnR9p*VFh$PxcQB!vyu;8j%R4Dv_8HtT>Vq6A}|Za*cxtUra{=wJx&? z5?sHtp9#wQiR^uRsk!42dOU_(4bL50)De8>U9}ZqaPlZdzSYWq3nMJa4Ac;TB3{x`Z*NL&M$K1KdUp1By)9vQD_)kOe z!JfLRs=B(WWslJXb@-25Z=F4_drWGN*@c%XGP{R&i%ZRkj~Gu1dj&@O^@ z$uGjf?4}CL@a)d)FH1tHS*Zt(R;_Ir^RQFNevjBl{qAPK=vSwcUxZDSn-)VaXtIT zk6t#eZfEaqhjRPGB@Rs*I4>uaexIH_BrRhI7z228^e&4HDd_&gT$~%AmJ+kFb@!&QgFlx`uh{xp6cdr2n@DaQ@r&fvUBpn zy{)19=e@Ef$occ>-Os%uZ3uMEIe1!ga%{1fOMj&^&u)5jXzhT=p`k&6Cij|P9md;+Y~w=%m{k+S8FbQwmb!=NQR7Ih6;3=o-=mxwMq!B>yxT<)0Ef@E*F(ZRJ$#HVR z?*MyVKDZqk(#v5N;5We#BJInS>|-WJ>vojRqQ85bQ4b6LE~xU-s**CF>B0)DGv``P zdhWsi$G%|WfV9zdBfJkDtS9{&P=&s1*;};bK*`u+!aKDK;AsA8#>{oqhqn*yGkVMu z#K7!rRDEcUYFSNg4-6P$gX9!yY7rak(!~|6V;&bx9gjlhD%U_eWY@T8_Mp$LaemyH zBTAUSu;p<7V!YppBMR?>l>yf;fOX9@7;vhVLoXBxXa-xMcaI@4v>f^qLrnB|!775& zK<4%Scc`AEylT?qvc*#-Rh7b90<6x2bb4^&!ub=67c72Q0pbJ-VS-eM2-#WgZ85&+ zA-HSZeF2tu#>f#4xlX4Ib6`2Med|JM!3r0m^D>SV9mxE>euXKmzs1Ag+pBwzWT|S` z&cGFiCXZj)CC|Hu&C96M`}u|TOoL^}G+S*fG~0fv{>XO7$%xDul#$Uj-I@^2$UI{K zJgE2Y+DG42KR7?Rt3hq?LiV4^3+gHND5K0qb}X}sedQf~3Sgni(l-fNU{LU3N^(;z z*>XRyEOR(BBTH6T7^xF3M^Qn7$fUg-F%s;9llmnM%=7=827lw&w{lSLj2>Cz{60VB z`Bz)_C--(;$Y5y4J{06fKJ$&;w-5NZvBUc17X1+% z7_|$QN`3AedG&yGozKDwsn3ASNpC)7^QsP-SUqdj*(L_0J7wvtsyjzcHGFt&yeXpKlRnMs6S7%EeNCP-$n+jadN! z?mGEjn|>!Xl{05Q_i$C&w5Eroybbo6THB)sd*w|(P7fXV?92%=@&#JDV8a&r#}hRh zHW5!I@qr1h`4XcT$b8m1LV)gR7CkVE9a(ko=~q8}{e|zVEwA~IuxCzozo+ zuLmxQEVmok^Xd;ULLsQeHd#D8eEhxiAqK0}A9knHY9fM=C7ON zF-Aq&TIpVA+1*M=_4fERN6uB^*KMsC3EjJKSweda?G>3kEFNuQxnutc&%1gzuRlM; z&!z#YDRQ=n(b#@|v3$4=E?SJj-3R&k)rl!l!JB89Hsf#~WZJ+>h!d_;J_`1ywg|rF z-t3$=#l(0AsO$lDAXo-SJ-d2$9g^?mjU{%EXkzg+reVNtbTE;O#V_ZJD#i|jFNB!x zv<-0J3$nSxx9+v1!d}@cpZLqGi(dU^)BHwz{PPRny!<@zJp7kwqZ7s_Ej?Yea@p+V z!HEZw+zxH}Wc@64Ty*gIydOV)39uf2-SE%@qYIrsQu6cNajQckzoZjRKKJ74b^pAp z8svB2H}dj@9o$zs4OI`GyN3<)LqvS*qxE%4MgL@AYcD?@bP z$QFx6}1$8{hxL8NKMePu6ePOs;?Xn^e?D zeCaoh^sB>^v^35yL7RY>E8b8$AlbrHy)yy@H_2k+phS|Ji5N|+xXWbVIiiY;M+gZgZsYsO#gV6pV@K|~L1=F(B;q<$JMs4V zYuo`(XLEPgxfyg;1Jce7MioE^nVRehP4g5Jd9JyZ%!)Um!0_Z|MX_PgT&sL|AP6d6 zJ^hYG$!~@WF7Wlb+PFtbmc7=Kd}yb!nnxFpSkiZy_mwlf5|s>RCz4hV?c0=Ovn}1! zHDE(JG!djZOQk^E1$icu+y;%iXhy*`cmp*e!>h&aR+yL>pb{@XLYRP~@rETk0LZJ+ z3Zr*#si5-?iQ_l6wahIm^!1bc2RzCVJAlqB9Nf99aawBS*G$vh4`uNP_MJQTu^A(69$u@F=Zt`*?G1!Ia%|3+T00p}IEEnzKO4 zMn3dU)Qf!~jXVDF7uKA`x`rIpj90Vze}7iDWAn0zS`XA<`!gy-JyKLmA_FP`4=8&c zUnZUVhoNV6v-k8!xTtj{i_5@8na z`}VDm45>r%D01B)bNZq07R))=6m*h@31C$|CX<)NU=TEV5g2V2J_KkKk2`Y13A?M) zFtFiZ?XrlXRDJyEVTDt7&n}?X4-k9X^ww`%iXd`4>f%xKB3DVVN-4Qoid9b0c#=yG zvUxawwy@l}E~pLy-kqDq9<25Sr6S;4^lG)%W>lHA5c96wP(CNFG2)pyVU{$w6=B1X zE`p6AGe-ht1~UcUD}vC(KKgR*!fi8YpyU@!qo!7*Y5iLL+zO_c8(Ov*hLns-`aq~9 zP0liMyk*T0HMzNF4Yg^9Z`?|g$@xvwoc)B;F(sw6pIAUnqqX%|qbx!j2+tL7ZLnT# z^Y&Hy4$cokYkiC=s}?q=*2Md(z5>u6v7nZFKFZl0L@x<~YOH zlG0ss+$PNLdsv7f$y7&X%$V9&PYS0`r~5oI=FX!nWX!BF&YOaHcqwfaYDherW2`zY z8&_~JtNLZw4IYjNePBqi2#E+q zXPl#jPE98Vu7nPZrj-h6&bmK34S0)9Q!qu#M|^hW5Z8d8&3+_WDdYaU^Qf;XWurc& z0n`U<(B<{2$-<~ZqeFgRsF!Jf%2MP>Ar&ak!1 z*Ds#{^hS|pcHSAl?a7O#b6*n9cJD=h<;z&md|?sy+31?G1>W&b_b}ual{U`S7tBg~ z5wp=7voU*YHzk3)n9YcJ`3_7--nNIj(f#{P*z^81GdgyiH07`%hM=Zn@%P ztycCfr3oSsv^rp04xDo2gg-JSGq-=1BeGjWKycrY^HwmJ7kZUm+Ox0*KERyJ@m;6S zX+BxK<@k@!zVIM9{QJ87TNtLxe9O>jy#gi_l%xb3=IP>R`aH2zfq%L9g}+xqpD|jE zw|i5BBrTq}VojiF82B6S?xU4rjXD>jmY=?uX>$49Uumi^|D~ ziWBuo7VJTbXNH?cwx>P-3miqOdWNj13|KT9t~lA-D~}aZ8qTn60Mzud@o*pz%*Tk? z@BcbR5GUL>0lSWw_w9oO>BD^Ytm?O(gdG^TJU6MXtjELU{d31pONw(u_=gTipD?ke zYHZ1*Gp}tb?2|gaVOWpxJqn6;Hdn42G;ht|hWVM7w*(8-r&ooARi_#Amjz_cSeWHi zs!JH}UonBz2U{P>o4z)`i!CW8EK2X;x4|JvGxJ9jCI=Y;lOD+2S)I zMG_M8xZZ2r{z816iN}Z`v8_>ahKzri-b@rHO8;Wq(zow?OM=_NMxVPT9ilgH#q@w- zixx6`x&TyQu@-XF3xCwk$Sp)BhfzXl#{EuFw6Jr$&4&f^c?%ih0E5Di0yh4#<8|1w z+h6<0dE=3z;m+fls@r8RbraHrMZ&35^x0Rwc%50YAGOgppXt)SW`j85`CT~`b4$1csC4JX0eHehaSn?P)unRxal)#J;WHoThouOuOQ_c~I4QLLR zrI(KxiF!~5nPThKWu67LzALO#I>7b6d4vuAEOOjG&ys^@p1;HrRH_p4b(mW_B zp|`Mhlk-++Pmjgxvj%q^6_(^SV)>9!!@COyTj*#Lr@bJ?i9wH(ON!Risw zQBls%;gk66Z;K z1vo<)6lDIn5Gf$>G0YfJya)7WWuP^Dr1?POEgx}rP08d(pF6Sq;|&7~qcTPe$Y1^7 z%vsYbiYlf&{?Mu+4@GsYPFuaX_IqLu@T#aBFd@1mu*ScBTH4I%v-{JV6;D|~>w(z5eZqkN>nkOGg=@Kx%d>+_| zKFBT&&FS9V-{9HB8WuT7mImEH z^9v^d$42GY&Z+>NCm4Pt#`Q}uYwQ4%4>8!#0>J29C9jgQm_@;B>Zf;I*r)3b(C?o( z_tfwKYmrX$Umm3EZ!YZ9*XgROC;ltQIUi5N8N)HP+n?Nx_euy z1-rLJWzF#L@HAU=ZUQg~nWO9?uRc?NbouO zc{T}rsp=&XoI}4N2b(JP({ni_b$`WvGJb#Mev&eTp1}*`CXJEmC6?Q1L=G5Ai1mmd zgWHgW9%T1cf}QPUro{_pQ-0T&Rpg*)e7BeZhz~p*A6!=G2uF7K&nA=&=o>>dF_SO`4&p5E7%J=hbc><>9L?1gY4= zBZGo{t>K{&(Glgy(5gi4)C^4=+NVFnvJd0lX7}Vt4Xja2U51`4RQ6Bn78B-e@_poc z_0g2HuAxD`I*rlPqkGN(C>25j?ox@npyK6_1VdE53;sS4DrWo9P`P0Kyr@vW!jw$) zVJ1Ujx(9f91p8zUKn`gX@&!(*>yeMeaJG_wy)|0(uxhqyaz-ytZzJmQ(vk;>!?MRe zP$W(*2@Qx6d&D5F6_JovQc^IZPj+_ykqI+Kj+~Jo+T3hLk%c^wYbTouOrqeQ>l@1j z@A$&6>{Mf-78zq~E^N&Gz+doJ?H}=1_W%87?3VZb89?Fs4jR!@J=Fc|L#5i0$_w?R zsRau(j}!M?D_x3-iHduD@dFemVDtaqICI8$=FA&s5W!~w zq%bJk$*|(Bkq&}05S0*G47(#4T9Yk8%gs6w-oa$NLbay@DizV<^F$w;l#F9Id}5+W zSl~7I&Hh)boul0?LxLyvG7I+L6_Ldz$9SJMKVjE1gPwmR+BAC5fQn&K1b#0T2AsGv z)+_V1kyoq3NQnggZtQOv5qq<#Si%t{3+Ra;EY zSCsLz&Iu2rl?=saE^Gq=XH=q2x`P?cWkB43;S+UV)lbF}J-7NYxK7Ip_zO@Z;{z57) zESbEfnj!s=H}7pdED!M~$WjwzL_&tYgklezN`Uw#vL;{$#rZcOpET;(nJiQEX zOBoDao@TFroP00EiRfx5s|4dwR&K4~pfaj$T8DG{fC87+R!Q^4a4@Y>REcft9}xzHS4m|CzSqu>_| zv4wg^ghqt>;Ga$czXswP0bYRi@%q>J2HQS>5bo4I#5owe5_7h@P(=hSYc5;~ih9D@ z3mZ(Z7jJRs-P~q3k=!-@x))BZ+TFM&r+QewRYm6(&7T$+lv9;GcB=Q3ad|1uKQz5A ze}4Ml-|6b29T|JQ#LrLAPq)urtl6Ks{Q(lw{5gvzjeyNxjPdnU0eMHGcL%bj=R zGkcNlz57%(;EV|PZd&v>D(M*2%x`ACpRj| zXB+8(N&xBM?s-(k^$udFG;VMw0cq3ST`if_z&=-tW_Xv(fgQS^Yi(fZhH5d`^7`!w zdM1_!Am`LDJ6F&bMARX&AzbU?yil5+bCY;IMX#J{D6K53zrOs0utDbpa`6u5Z=UpX z`W4-MBCav9fkYm8nbpLkQoT40Jq~7V@&PzM0EB#f%_gi{MmwWIb{N)jyFS{vP3&Os z;R)L~$I(Du>&i}VW^HQ7h=GOCQ4`Xe-maQIv{y;3A3JksOl%G5AfaX z7fxb++_2Y7qonMO^pIuFg-0*Yvj;f-Kn=(DwgU0VrV=e0qnpOc@V(7evu7v=RAufC z=2hacC$3LIxFgDf@3M?X<=LOWeMcN!@WjZXe*^h_*7-H5Y=`|uJFe0?1?@2-BUC|q z^!M)@Xy|KA2>lO$9y_kq_m5xYP>;xU zyA2k3;G6?F<$30v60680=AF9RMza|PB;LQQyl=!$#{O2Tj^pwUn8NNFFHz?Ka9^_+ zszz*=g(3MAAy~(2FZof1X~Fzpmc&zg=ItBZ7jWP#DhD|5%T7ComA)4f94oX|3d0KZ zQsEh1up!)49tL--CR8WFeqkOWwhWYK+%x+OzVR%w^a2i+?#&$`LpaXGIrt?la{f*# z6d1?fSU=#uj72}pEb8cC0OPA#^3=GyNuH9Y&gdo*&P&dMj;!Pc@{o53<;B`C3)`9~ z$V8nv9xizt`z3l+Ze=C!Q{AA)f=S)G&MAWGA}KF&9%fMIbtHWq+2AZ>;lM(P>}e6mQy{zrj*pwZYMxs$Xhj6k zpK<=^LkeCy9#x$)Ov-ZpwulUDZKGXgA^H-0mW%@=IOGs|8-?Cl7-AiAqVxvTwL@>x z>D0g_m&3;$0ajUkLbe*);{43yiF&NF`eXFt1C=c|x7asFwK!h0pU4%CUvkz6m#duz zr6~RS zDkvD3(Sl>>^*Qv~LuJn}xd|Skq(x^XGfU@a51Ar_%LW;}Wdaw`FV@WyXK2Fq7UE5h z*~yO$!l`#rHNQ&WRmN6aCZ;2AZqn0hAOIegB#No;#BU=yTZg1djM)* zoga~^Q*`HorgL;ZfbsYeMg1#KM#UqWoNRqEtrzI@umd78Fm#wJ4>jW9Zhx}VIDB`6 ztmWGI(gd)NRJgbFiIGojaL!U>G=6lQ0KQVLOc>ee$OesHqI;6Do^U z7pjN4%Du75UgJ+89Q3pOQ7+)mx9R~(xTZ7sXWJmQ-xL5)zWz8H2|HyiZa_0~bJL&- zTF{u?AvW9<)kqGfv!D|)LR~$vYt>`uji)4;t* zgfP5b)6N!b0@k;w({V0mNN_|fEH68St>aguW+5rD}1>=J?9qjc#6Jv zYP)izKUWYTlMOoyJ?Ur8ujroF+Rt@UslHZE;;OF>m>ZenrE1!_Fs z{H@qem|>ay)?*jwndcI4#Mj;4wPCL}jTVozl z?M>;MzHpEj_a$9E&BuRFK+kR_cVI*NKx`+5^v*hji&%u?oHPx2L~fAr$SDX@#d%0xQBl}NQBhu2eLTkB%ZgM~tI-Ros9qfo zIP_GBDJuO1js`SS$OPGtZ*ttc72<>3z~Udq@AHwzc$4KMk$x}>1!#E0vD z+gma!wEw7i&lIhEBr+st!qcVmsy0-0?Vgy{_e9?>E6PvT)X-N4h5Y>PNz(rr-}Qbq zw5@5?KF!=+b)PI_hNeFb#p#bny69Hpl3VglAgT9Ll(c zaE#V49t`9Tp>A3P)dV|fbWo`~^aDA<18fFaKY&ow+6CQCoY_qvH<)1;Kk7oKacRXk zsAM^%If$`MVc0B@v0>f94Yn|=Hq;c<4XZo8n^7kYZU>`Nf(5Kv4aX>+!jgD7)GEVe zlZRHrjy7&z@k|(;u&`^eH+>L1WIvdPPSj|;B7$NQ=CqEiH58cFjoMunJhOR=Ic+FI zlbziBZ3mic-s>e*YrJ&h+>eDgyq%QH3}4-&FKKzG`^JS=Hc=1ZaA8yyLzblxQuYNP z%Py=eU$Z7EHx1ln?Z|>%Z_LCg<(3ggM{Zh zl0^x%B;k;A?bPO}Tbc)Yn$MMgCj{L&Onu2W(lFPF$mf9VPkzorkB#;C!_wJMQI)@7xvnK~OU8>Ck$j3ZQgY^RQn7 ze%aK~v7?o=p3JR;LdUv>=QUuhUFN4G)|$pc=c)fwU6ii^zScwtVI+&OF|6KSx^HyB zyEN#SFoyoodV#!h%y~sVBCDNMqE0yAyeK3%bJ%l!!a14F&q+K7Ma){sAXu4Mg8aZv z`Y3x2&MuaWiYGv8gZdT#M z2B1eckAb@3DGH%_jjXH~+$ApAefBi1(_)S#zWN?OF46kjm`)buZ7S_ zzX*#se@lb&d+@ge?bvar5(Frpv8RnkuYO0b9LO5>^$&{B8?2$Ka85>TFsXx>zp68t zHh(bNQ|M%8e-*1qQ8rj)JDoO%1J(+ui!EF7pRES=@ZCD(V6kK5jei42M2I|#7Uk4#>_vd3buyy~af?rN+@kV-GwA z3Yza487UQbXzHtbjS&K!UkvR!I6Jrpcxb*t8}K1V#|EE426`RH>AKZMw?KneC?||` zEr!l*P{s=B)3R&N%%QS*3Xz3uOEYiY{E|}Bh|D2~3t}{&?Z~6iGsBno;u&U(#a)f!Q8UKHZ1#mx#rJkQtPIL- znX{fvA1Ha4{9|a{SfqUZ@G}W77%k71;>@}!o%JbldcB5@E~ zd@A0zS-NfVFt6r}2v;RlW1rbFgbkdKd7kQ&;ETJ7Z?1l3Xz zILevVsa1SY*;qp??TF%NW^%_!)umVU``ZH?Ry-(HH@haeDslNHLw^j_)$!4rBoan% z=8*XdkW-nsZsqz|`g_}BtD_4@53~*To>YU?V^smyTxAgiI5-8t;w|bd7$zlk)&*XQ z6zNXq1AfKEI{NpgNVZ2=Yq@?*QGWAkZo-NM8xcvrx$Ek*>@Vf1^ojk)fywTtgfmAFv|x3{8;h`Qh|6T zMx_GKOBBS1*odm6mD_p(gc|ZgKxo`w| z+6f`y>;NS-@t=_HE$6SjLFdr()3hg_FL-W8#al~$rr+!5F7dTBL=6>HXX)kseTYc1 zcUOt==Sa^d5AALF+vKFw3s=MX?dchb(jHBE#+1Tt<3ch9j1UC+!#@VBSv;Wxy~;&Z zXbnz&Rs)D$!GmTEQkyZH-OOf{)e3}oD_{URC20R^ujC|cj_S;ipwN6U)G6Hz3)9NQ zjL6bPWJ-2g3rAo2n^d|m(9&S?9d7AEybo>Py^VhUc9^t$>Cg?sTZ~hW#(917!-L-c zbt)xTC@FO0`S@jp47p0o)fI~l6y`p*K0a*INb&lsP33b_Gnj5z4Y|(dCK}P4ei4`=fu3wfAcm>Jo(sZ0@|73C>N_&0OK7B0*9 z!E|++rD{GAe#%r`1g+=G{gtVDc5F_|us1)%WQjLA&r^{+8}e-Z<*&ucZ1o5ifIK$0 z3vqmbDHGy5&lRL2o2w|SK=jhXqpMFB4WoOHwOG0W5WuG!P81{Q+7;kKc>Uk>5+QKr z3Hu-COe=P<=a65A)U5e$rfvPI!TXhogNR=gda3c>Pu@T`x?P>E%pbgAA7MWO4FVb( zHWOY$(rJF=EO|)N2BuRIQ7U^nF-vmZ7{*IN{-#_r4B8#)c90jx0cjy8;2-AfclNqUO?Ih^X%V&bQ%%Xbkb>nRbvss49Mc;-_#s zI$SQH+b_{q>HDtLz&u0z$ppEkgm{Z6h_UJrF3{bx6qq^)j}yE(d=)^3vMS(qR+#JQ z*Upv~O;}pBIj*2HJQ^d|@ z%X<%$CA(I4y z!M(8}qK#bdLf2u|U|7P;jK);h-=xz<8&B*biN9=h6E+h){jv4eH-BhZ_Go|x+Ltl= zPEK1T01k&qhvhvkj1bC(-@e7xbU#|hIh1%Syx_|4HR%mLp>C3|FY4TV*;wG*<)kgV z6%1(ZemW)I6sh*lD3vbk|E%R){h#wHwGDJL4Y2ET**St_Bo~$juMUgmtm6DG?X2QhYM~tn>Fhp593h?GM>WIA zvXw=lSFd)2^t-EYvR&mT-D9$s2U_Jg&b-vjUn7zrHS_j%Roc6Nx0e7dm!E1%dt-Qe zv*q?es-wLwE_LWb;G9uQ(1-j`vjRpFZ)mCB-kur_d_)?_6NjMZy-F(c35UucgesG_ zpyEEUaC<^hBGW*Tc^?)c!5$NCU45tg?Ir&trt@^$l{Y^n$HPmiCB)}bO$WEFwF$UZ>pyg()5 z<%Nt@NI~$eAZGsG@vShL!~}(B5~ztHwl59_);Q_drEUM*yki#`NqX9)6-$P$&7D-= zXWEhOo?renL@Ky?;skyAMD5}i-_BjVu6tyC_t3WB*Pbk!mzc%8ZG6Po3=7xUxMPN^ zG45>kl9M}Tn75qGu)qv_jcUePd4^qJ7|2IgbQj!-aNPxH`YHTQ0szR{?|Fpk6zHq@R^3|?2 zIR6(RXOf){eykm!Tk}z&&Hyd3*^qZ)lbK{(j&zsbR<60^x{#(lQs1c=q2aUwEgrIopqX?ff!Wxav>NdVcu)o`2S5HI94t=!Q-6N!!LsHs35_w_9@*Bg<>Y z$#B(=@;*bwr)!^aCOq~3YwbM%qbk(^<$dq}`@X>0 zDQC{}JoA(}bDn8)&@PB|;dBDFutxuK@L*fJAVU%IkyoJ4C2uJ5acmc4IFPlnzI?7C zo!D5rq{SJ-YdIwB7A#9zh9t50c)O&<0xTV3Hj<8{Wd>>d1F(086cFI6)1j(5$yYnB%-6>aCmp+m z^%AK#y82B}O2X)Zy}O(SX7rt|RM$PqzqKkSVpwu?ifhmjhq+4@7t5t3?E|+A7@f4i zHj4?fI64Hk1YLpH4q$AVA78L6PUrIUz$U*QgH#xoR^61Yh`*qR`{wyYdq(LNRAxuU zCq<{a4nEX>($n~E%jK2LGDW@fpALYH@XvP$|9k-VXM6ej_+gV*OfkZ=I3KmkxH7c^ zIlLRp2RQmM#=&9V**z+#xgtB#m7c{rzYl=- zK0sdM|7SY-xbgdl3fmqYI!8bH{)lksXFLt&G*>B94IbCevp?H%d1;$WmEZ@gh>urz zqdz_nLtivZnys+q~TPSv-&Sj`RJH3aMi}8#7dmslmB}M%OUUv*$xOfvxr$nE|Q_Vcx_!x%6 z0(-ccAPIcKDfmLM2AEUOPRZMHtrt<1&hpc>!_RV79JXA?7{l9qEW;AF9MeuPxIuqI zKdKy9x1+YoS>P&29QzF7_*GblR_XI|PbhHlP809y>#680g(j8Lbn5%a1{~XNIcv#b zpB#VmH5$5)F1_?CYsRV4C-1rK2c@TZPMiZZ7S_th9Q0PP&J%qIzMF%;#xpR`$&2sX z;pyq*CHaLpg~1EzgkFR)5@qwl`eTX@|BMxahF!w>L^wgRZ#)s3?#O*O{%xztt&M)= z;5%d2TsiU-EvDh!>yLirR6NNXUw`9N`$t#j);8Ta5WB+pKKta6!%y7*Ep=zjf1K1u zO`Q4x{rSM756^5^ItP@ZFRsbQ4A*dyfDwCt&tN!z1_XwZz*sEn^pYY5MBwXe0GwnB zrQ-VtoU7LU2U9n?`i&x0_LqB_1$Sp5)G}To~asj`(y|uPZoo*Xa(hI!(sLnTk;}o#Y-#KSkHcP*>=}U zLFdn0YHxn<@v*I!RzLL0i^n<}G!si}n}W-a&WU~Y5z9duWhhQ>tJr$~_UgKYOAALI z+qwJQaE)%+!nMn~v?= z_2v-OfGy3zbI#u2ohh=*vO$_9y!W7SV35I6K2y}oDM%9*gfXEY4BYol>9gs$okr}d z$B7t#m3mSC6HmWW2XAjYGNC6dLYjT+pZQrq>wIH(W8!1S-46y%&g{?32HrBCv3{vJ zjg|vDLSTlHb6|M*pn|e+NgWc1{mncAdz%d9buL;9zAJ!D?7Yo@->aVwl3fZoQnNr` zez-2?#fNtv*O@Km{;tUDL5ni>H}yat1J9q>*ORqD8vR#ZNoeU0@JbHjZw{?CXy{P* zB8PgiF!!J!xYPMKEq`IiYk`G<@n!<#3Htakf`Y!tn>i^p(%d7tGlvIcAI=Y{J+x%c z{a)=iJED54Ck;8ASU(>P#F4FgC+*xaI-iCA`PAwgQ-x0ty8-b*F|3Qo^wnqv4)TK^ z*UxWY0QMjCaYeVuRcRJ_-C$xQ>d&0D&1{o2s!d00TY|vTxO3*aP7FwKaBLp^*pnLe zw{7IyeC?5aJ)=sg%I4hsH%B8T3o|Cpceg&fh{>5QK^AzDfE4 zp{$91J8*>M`ls)Fzn>0$zWMOD%&uJ@TW;L3nTBOr&ayGHEdTl8yLZpg;SWa+?VMT5Rmeo6Ci&oK2p>CF6mJ0f5qu^Qe`)u(%O^3XDAZDa z*5fF*#zS-Bo`3kR6N8@Q(~GWm|&+DfCTSJWcp~e?t}aX4#K+0 zL7wic_xNF9amvtXf0d9YK!6x}L})`6H>?L1-vz_6yb&b1gjg;v@^CPuyC?423`5f2 zcH4~$LMJ*v!7k`TG{LFNkv`tuSb*a#HU%G7CaFTO1yG2c0ljZj2qIbGKeu%*0Bo`; zN6=Oc(g+cyrlmwi!tX=gUi0*XnbS8+S^vQHEsqC3`r+SqcQu}x_RM>4es%SQc}rDs zPhHE;TbPryYen0Vp8a<%T$38PYsz!x;~#o!!uF#7H3puYz5LvEx(59(K629`MsD<& zRqe0GV6$HGq`bH9i$0j|01XzzXdL?5LW4jt9K53EmBQzdz{}ge6-}^wu{CpWQ+b{t zHf@3~;0Sg{TiL%E{r$4#(&|QZwHItq2mPr51#JiL4Zz2BhH%=Vpvh4d4LE*}D75we9vQ&7`j^8zW44UeHCJXu8+7Q2DD-A9(1xE&KcI zS6iz(Dtk(h@3>!Wt!gLF7v5i;_G9=9g!h-t!C4E!huk|FDeSpi(}OZxxwLGK>I@_X zuWV$b&0ECbs7tjMZE&PTs_(>?vcv)ddp!YY8Pvg=l{QEybrO)cC(`Z}GSWE1%jK)57RPE5(JnmX)i5*sU zw%xxZrE%-0#bTUZ(rNU(=JTc(EC=1!4&^QALp;9XI~1-HD~R$U8=%tcTviA04w+P^3jFK4zQNlVfp#p9M&>BEZZTh zy|7B{bS<~TG8p>7!n;Y)GikXUR!WKk=Rns}4pLZQhvndd7CPJMAcYlnSZQevu)x`g z+BBIi5=AGHBsvuuE~LRV+`(fiq@eyxrjA6?i5MT{B_Ru5GCbTS1^BY|b6*xpM&lkY zv(;vU(n-E9hU6>x?IOPfHJU4I5aj`Lj;Im5v3jDlWUnF#i4jR;}OL#LltGT9gI2t#d?;rwG;{j^fY&0wj{ z3muYSEwRIji|eb8bA%4bbzEYHm78nVAz9kOk^zfwONO+CCFcq5Gk^bH?pyXtFA7Tr zL{SzRz%3cmJX}snHm5PH?*q&l86tEdR*|=lEK3KSz)UfANa)1B`owp#x*;@0K!Voo03@z;QBl1Tk!j*uC&OB-ZodhvAO~2BZwl)+p>;B> zj+??V3$2ss>bNPawLljdG|Xmy^&sz~Y+3cwt*X2ChB|+ot1N_WMPJoZSPy@Pf&75oeae$+P{F3vtB^4jr-bZK~IGV zT6#6jHq>B;f>u({;-G0mhuSPcp$4s_3u&cQYrLUdv zUBu-l9qi;FHfMR=rgRlLe zQ(K|0fB`aQItYz(GxA8>GE`6J^wo zzx6mAyw&d%wY6;}2MKB|r`7Siw&ZP2CCMgSSJ-tG_E0~D9n+mKuHbgUL*qhiCzBcY zULM%kQf-Uem^^>PI{lN;bLs3RM4pPRRednxi7|uLKN!G+?HJ}`*FVSV$+?=9SbytJ zaMGp|0)H~VRl`ra5X)itMm9; ziyb>ruR;B>y_PeNZA#DTgKF5Qt$xk7_}Xd~q`Ayj7L$NX7boEHB)&SiYKb?mo4is; z-cp`>Mz#I%(kV`+++oo}gM70~N{jM6`VgR>?HX+e8R#@oGcqH~H+`4V;hSc@HT zF#{$l)5nIKHWi*tZOy^GOc{BrA?$_==&ID5#hTecToyRceb69mHN($id<}E;<(>F2yQ| zEE|voZwXkuLp9H1`h?q4n!^s?R$p*5_FmI?)dyV*vr-o=UrTkjHu}XbiBfQs1BaI2 zM2SpiZ&xRbL#aIZNv^#(uqh1$td$&bS)y9ve7ybnegu7PM zm9H)5!o7gad;VI!)R7#^wWtCi-hk>1^U%Vak-CV4u$nB(R!6clNswz?%4Ph9kG^a< zWFv}Ni!AwsfA#Ynsc;yka%ut}aN**FUSmKy%{MzEb4YtY*qWtTvA*G!#|unziiR{N zFIeI+&lzpdMlkmu@W?@SR`>+vkt~&qY5`WO=^#xvSC7In*GSc%31uprKx^~x^x23M zCl||`hKKRI#bRwrOxY}o;CLW}Ixll%h${0qwh0$d{_^@U}Tk*?lgUPNElDtACb zH_+-}_y|JcQWD#6^cykb~5M z>H+ErWg2Jr%00DSQn+o!pfaN&f=?2aPgoS2VdITJrE?c29vFY4!(WO&fBvGSJ3lZp z$m!M$%K)9Fhqf-2Uc8=5CoaBL&$=^jJO-}(16+Ambqhub;Oo?(wegt%<-(LJh{MlI z>sDB%{cEnsi&bnBDTFD55Awbw^wU%C-Ddgy_}NVdk3944ji?pbovG`}a$LHWJVhG1E~)bbsg8qD4*L zg#7tlY^bZdKaL-sP=?NvzrU`q%s)~MMO6QFU2#B%ZEl&*0NapnDwnzKC~%>u(wohX zS*{=5ICp*XtG{QuB;8l_;Nz=5-*)mP%gUXn<~NLARW@WHJN}$yy5)n-Vf*4~AdM}Y z{=%8v)~%mS|K#|xbs2M)%vigd*BqxGX*|SfQNuHX1EYHniTdA8h_Y?pDz-LKW~K8v z;dUo42BrS1lcCuE-BD2gKTm(+@|nsmt4nYSrx(WMF;_WON1Z&>1H*}%I$)r)Mj8^1 zy$Uc@;`u~uDw$y9dq-e3u3ztQ=h(d^LNuh@mkoW45^Gq*eyy?>9y_l|r%r2BiynF6 zS$+=sOBVH(juqLnE4L-jt}k3sGk>;W@}!jPw4&B=I3Yc%(K5F8X!MR7A6%T%8rl#& zH#RXMW>#)lV?>o9J|;RT%vc6py92#gth`45FirFimtYKqYjnJ2Ap1z2i~Q+wKKVej z+$ktu2|IVgx+Lrck<2bn>!lsO3 zl{$9tun8J0NKH$nXKy*zQ9q}~Tt|O*y7grF=6kmP`_89JU2<0b9{0mrr?!kfIeGIv zA>oUjqJ}%0+8(sLci*)c9S!FmeuvgQ_w3O>+TMRNZ*O?w#;!xWE`nzMox}Yk{QEb6 z_mY`y+Mlfi_wgwuCZczN61{#I8HO6)FrtJO^KlK}2g=x{dfA}#;$g#=iV{Yn{8h$B zh@dW*w1$O2E+=677-z=@)O^#D5}J0{@(R|Ni~}5AY6|~$lWqsST9RXVRsPOVtL@)z zC?jP%lv!xqD3@_}?^7naw+t<`Cdy@8T>6w5!e_cExaL|jQHIabbM*RgYzw)EQ7%QN zTF3q+wqQQnQ7JRQS|FFvYWrZz;(k}9%tUKs|1#D`E%}^Bav7qbQ^Z_m&XYE6g8j)! zWRCnK_BgT4Z7s2^R8@n!0y=sdaSUHo;Ac6W{Z`{fqJZ^ruFbUQ#*fxJ6;5+p8cvU# zmO}b)BNbTwf*XRu|Ldpz1jUtqH_E(WbEKc;8ag}MYv=>-T`zC&Eh^1HeV`v`AhgUVIUHkRIq7?(!as_*X#Ykf&(`-9fF)hb6ITY&qM@9%0Y3E9@63UYaaz zmj0m%#F)`z7)8xcZ&g2|{t5@&L~9B)d$hjVJnatct4_pem{XC{UZ-2=XN*n6V)9p3NwxcLn8Y4O?P^On!=19AtH4A?*5 zBL4j`Fl%7fw+49Xq!w?Xgu=J~GkeZu#3-*^4;{7U^g{T}uEr+=h>rvD26!~Vzp zFZurx5Ef7p&=9aX;Ld)c3Xkuti zXmRMA(3a2@q1!_54LuS1eCWHOUxfZ1<{B0hHY6+|YW+J zIS_L)=F8Z`*xTcL;=l|ht_G-K)-X~rc z9~GY*pA|nLen$M9_$Bdc;=AJSi+?EoMEq0n=ZxOQ0Ar{z%UEEXVq9bFGCpWLZv4df zmGP$pQ^JIV9SK(w{*|an^h=CR%t$OuoSk?kDI_UB>F%WOl9Q90lAlceB>Ah9gp`bw z*(uMYyp*a=Elk~#`g)og8$EWWT}&U8UX#8!y(|5$^rPu#(l2HV&KQ=_nz1xvZN|=w zeHlLuPaEDgeEslU!_N+XWrS*k+lYZ9rjD2~;sJ~JhAYv!FesN~kH z+N{M{_hfyT?UkL8ot0gXJtey=yCS;`qBK z&OI|LyG5wCxfYSM;r%Nqmd1aHzO3NzBHk2JGJ6ZN(+52T*&M2O-ZN`T) z<7aM|`Qa?@S$VUz&bo9<>@BNr`FwW4>`!m)xOMfdn{NHEJgj_H`S$XI<&Tx0D}SS6 zc*TLrF_rIDRaBj>`lULyx~h6Z^@-|ttN&edVb1h9M{1pGr_>&*{a0N{-TJym>#X(T z>bK0*%=MWYJa_WkHFM9*{m;Cld2RFVoA*|Ox*?-sUc=soujZ%Ef2h%~(a;#*Sl0M* z3ShC>wg0EXjTApZ)ZQb2^Z|jNH7usCgCbw;E zyVUN}KE8cr`-%2n7G^A5w(!it7Z<+2@XLkQ7kMo5T@<{?xF~DUwnZN<`gW0ZvCra& z#p#O+7jIqs*5XeW|I*>q5!eyeF{Wc|$E1$Rj<${s9eX;Cc0AqjX2&NTzbw%%30xAp zWa^SdOS+caz2wWKDN8$+KE3om%aWJXEStaVx#dyIH!Q!lB4tI_iVs(&u3WkDl~q2g zidWsX>h0ALtK(KLUH#_jzpwsc_3vxk)`YA{Tw_{Ox@O**6>GMyIk@J@HE*o>WX&&Y zo!08s4qKbGwrFkb+U09+Tf1-Vk+rASzP|R#+8@`c*7>a)x^C3E$?K}tEnK&0-9770 zu6uFa`|Cbk_rtpDolc#Bow1!`I;VElbT01f?%daTyz}|a4?F+8-g$lC`q=fO)=yer zvA%Wvy7k-E?_Ga*{mJz&u77|1SL^@S;JzVvgKzG2gbJ2pJ9;fW3B zH~f9W7aP4c=5JiS@wrVNn=&`GY**#4?t9owhxv%F`&&xd@_I%T0-QvB)uq9u>lw|b8Jg}~>@|6Zxef0l=rVqUv+U3KFl=MS7J@kVyW zCH_WMZUFMHJ7}Hdn@TT z*1cHql7=G`CDbz47R2FqDhJMzzy63ru|NWBl&IkHo= z0p)nugXdJ}UtK3ps_V!>RV6vCxkx@%MOk;LG~~2ujP(aL4%Y>88R1-&fuu-L)?8H+ z8>8wZm8yMYgtSM5mC{e3cePcgV%F6>pE>c%Vv#;48Hi_SekUV%zG^uyZ@q+gr4)nb z=MyKki_AcJf%FKeRG%j8(%aTk(j(RpQjhf-J5O|~Iu^vvTTh|>tupVeKOufqRcHMY z;bC0h4GWU40e%yGMRS;Rvt#6lbcU4jdz|+?Px2twfKSK-bt=cT2z42#I%2(~9z|XP zzmL#^))ICB=Zc%jVLb1r{*Elgm8}UP)1|rA>w@o`_x&!-ChI0H3oZx8OUQxCLb)KT ze48A&3>+_B7o-<)SvX!o7LXbEMg-qE@B3XEq`54(92_rM4mNp!KRtrivK+W9952qt zh2zC#!DS{wUT==Oe~7vZUARdobQCh@_2;q|`U+bAw~*^I*QuL^&~?BY!F8U8 zg3ny{IKTfCTKCxURY$EKsJu`PHp2B(*a>u%>npbxuCsDzy{At)SLFMlSx|8~3f%p} zA>+;+MBAUuLF zM%Xdr_uq!x-nq?j9TW0Z?4H{mw|~cw;fPJ>s0y<0;X1%|p6eagS)n&Jnw#iW*dcbs zp*s+fI!28s`sNW9jbx~Jtmuq3;Hh%qP744BG1@Dn;>+k9v zcm@}LMjd56BlxB8(atMw!<<(frj1vaoum#TziSVYBJE+s33*a84sbYskKt^}O9*?c zCq>&(M5=LiSEY2Aq^VXTgq>@SS}#k>(S9mzi*ynE8*e?J?nHZY9&uiG&QspbpdI7y z3$Bl94hQc8jFm5d2Y(;(7idEeKMfjQAgfhTWVLjN_-Mx9*)%-M+Z4dzxJ7%&-!I}_ z1ewClH38NG7=O$VWk7@6w&C3a-GZlggv}oMhc^3=-Xm$+WAcS}VFH~+mf~8@-|+}P zV{ee9xRy&Ztb3&=$p?TtQPPl?G&&OF^aD9e(Ldn*29`@oarsH_S^r7hECK8%@g9rg z?=<+3(_m*~G#TW)ije)SwYNi|0!;tI0H+ihYZQK-Uhz{$Lk)PyMQP zBj@-#PgM=OJWO^;J|qh1R*@&(lel+;?1HRx;#y5-iTCtHcvCKtz0yVc8{UgMaLvNC z0oNg1$8fF1)dPAk_>9I+3E2_!g%GFk^gyQw3q^bnGA`g!{!qS%UmOqT6=qz;qaSrz zQ$pr*{S$oy<$aZWDRmU&biQI<1gg(j-WC0;JhT-}rA=e*8h;gp# zM}@sWuNC<((C&xrpMec?{hdo@X|6%vS3*bLfPIXx9@IRE^b6o?zV(>uZR>XJRPeM8 z_p_~!OFN*Kylvq2skGmy+iBi5*+SD;W|J9eKk}Pu2H6Yy{|)xe!y>d(BQRdD zT6Km@wuQWX;_VE#b+r>{2m;O|>lxKJ@RQdOG^u%8#X}BjKRK`AcD$C15^Zq5K85Z5 zV(TNQ$DzJI;aMfL;j;53g?LGatnH$Gn{vow4s^yA0>^ECfv_%HfkHvaby z#rw$K$HKeiCVc*1^KJJ1zlHo8#j$Urv_fNW)NUC{s8^P;Zy+@sdM?&NfZ9O)wM|=)E|h`v-Wjbu5jYW-qZ<*k$%FiAoYq`1Qmp#7$BceA&CC z-O|0%gVGV{b?GgP7rUz_sU~BU(yglXs;xK;>>1Uws@GL-s0Reo;4#6S!7l~B8vJAM zzk>f0G65dkLHb~Qm_AZ()FqqKy_090W{MzVPdYg+_)B3!NRt z!Zcx?VLoAjVZmWBVfkU@VKou2{-Ls1tv4{Xz-w86SqS^dYvfHDjX|GET8(<_rw^kZ zzcYVPj~7vo_fZdGug5x3k1eRj9_c>R<00uH>OoWOoMC z>zMa;O)9irvp&aOu|9_}ljm5B^*O7VJVPEK71jdOl2~_IIxXug3$1n5Dr=?n7E)`? zz40a)bmNU1uM_Q!*Kb^~{`0b5&sSc)5^*K$O5l}%D?V2|uSg$%{_&e1U-)}H#z`izY0xysKfVg0 z?;oG>^56gMQi>kE=_9rhH!YytSopscQ10{jy!exLldsV?{Z_h*d@t=KKT3C#e@Xjj z0UbxfX#}gId+FVDAC6SrFCCEXqxaE+^nQAXKEUePJo+pBw{%F#lOB-T*uCkq=^&87mh2)ADd^&&B@Nn95Z^<$PvRc(s9OUf-!zrTx@hy zWJI_jEHuP_ptl!JEpl~ncG7CpDv41Nt2fhflUa(;d*@XcOood5xLCc(zb-c})?~;l zH|s0(W(2B8Lq6^x%TQs~m+Q@u2r3-1%gvc6Ij3LAOu1yHy(IP0k0c{G3WMH!A=jXP zoX(h1ig-`1p-gZ7R>UWWxGGX4+>rx4jGi{Pk@DwtzX{aA+uJL-*sEq!J19 zswt&%T2Cr}td2Bm_*0G#KqvVlUHE}WJbsmfZ*@Qr z>FuM>FaQjPV=|b^mH!Lt{DDyqM(4-KicnN)&ddeJGAk4%F&#I?K#`Cla`J7^G&~77Ir+L!n7H_h zi)Fa2R}kZIC(hJ-evjWmGlknu(9ay6C-c&uE4{wdP=f*3I=wk_aw%sKXOG~r!VJN4 zSt^A^rH&~FW`Rv46t@NE6lR+9V(dKR%r%b{X&bMhGktFt*lz2)oD7B2y0|0^3P1wN z3(SP8aAvwUstwEM25mswtM`IQ3xn=Do|(ywxo$YLvCB|U-DQ|oI#QHId$L@&gyZ%h zg|x6JJ1!PYTlR4S-8kiVCfzt~M(Gn?=)-I*Dt&}emQ$Wxc03&SN}tdZk|}Z-&*hoC zh@K}nq^U?aiSoK9G6`8F?y5wFNLM{hiO7=+A&-)($C;exCCVL-6o@k6AgFp=CEv-k zK~N#jNzPj(^2+$%al$!@$#bP^JPA;(uB{Iuoii;5_sEcQmo^T_0O#A{-HvfaV_}9TQ@V+tWtGS{qE34}&FXP5W zd?6bAM|agQ8e%ex1|b?Zvx}i78ynnb^ZYS9e~g^3;rUuawi&00;PF+kyUAvX-=dkN zp)g5(;48W=uWz}e%Fw8Ed3_d_x!XB3Utg@J!Nno@QgKKy^+ad(;b3V(VPweo!laPG zyoivpbkPlN2&INmuNfG^p5{dKP;nc@}$mPV!_So^N;_`Op{1)6In?fCf^fy z#OW$u954Jh-FCcaT1-sg<60|T5zdomn(0P!#5De!Ic0`fv(Ze7XUr@;PU)7i&Ym8U z9aLyeoK|Yq2bC3?s}b=EI_^ud%UWAwVrI9twa4(kwwTs75wZP$Y$3Zb4|+BAM6NqIz`t}<&WN|*lH(N9!CI6!4!a`jl(>Y|Y}=H$3f~aV zDRDIxSbU8mAD&xa)Xt)JK~F#xCeY|?~q(l zPik?s;aWm!NHwrllM19O5UV0hq?vSpR$i(Oxq9*-u0-s%j(v%+r;i*_Q zDAxcudXj^93!dh`99}(Qjbs>^guEKW^kf?H8%Zm^lsL8ql&AvKVFL09{AQs<4))5o zJz*;!*XIe_-ClV7+p8C139z*Qi;Q1y$6$NzzlT~6D0;z{Hc_W)K%S3u3z>)fCd{_# z&jVgR&QV^f17W4$ObdQF&s#wyr%mR1z2Hfe$l=t>>A9pGC3x9t{8rid*a|*nA(xlu zI5?b}@tn)84O}0NnPTx|k@zPQy;YRdqn^F>XhS)!Ls@`R0ea+A-)FeS^_OiTs5jn}?p|2KL|to9M_KD^ zbhIL8JhUf=n8-wEpGjyqhe_~KAl9F8&4HZ%;tyj7gff(p;O17tm!XBr+nKmv4FcXF zSW)DOnR?!^`vGW`1`(`ef=y%hbj;KnOoCw3A*fF%)*TtJTR;SfBvJ6F48g8bF;oH- z!$29gxkSRdb}2X~AdRHsyrbc;kC9{)8BNBJOz!aj8v__reX|j`iLDr)!>n3-@<_}_P zl`g6#Ysn7s6ZseEA$OvUJ4gOOe#G97N60VaXYwoBy1$WE$V=oHG`$KfSv5R4HRNUT zDrVwpsS|Z3UxIsYlQ+plygF*h4``p?CGU_+klEMdTe1l|Ue?2!xP~;sd(s5IeKWMO z724587D98sB8$;Zb&#cGIa!7op7-JZJhgbt*G@Sdeu-|A1Xl7s5#U>Zb&X$aNRP#T6aQ~pB@{A-#$3vGl?hDDa1^UV+Vq1v1y|KrOAK^>i+sM;qvT+DMydGhINQqAj$Qw$XO-Px3ikNDk3ObTRFqOK`g0 zGP<0uAn%i_{LF}*^s(og6$`YHX4{*!)Azo1{zujtqG z8~QE%j(!g>+m9GQ{ulk3{=&T<^f&q+`aAuDUZ*#x1)fBLel24XQ!zDqG+OjpotX=B zWxV(3!91B4^TwRn0c;=}#C(|_Jaz#r5dO!(m{k(YLeS+6Wns*~!WrgMvnUqLhOnV5 z2A;7KESANQQ{*x7JR3$%l1Ir4WDVZr8^}ZCMHbJDSY!1JOCYCNBKbFF<#Jz4D*S=z zWHY&kWw7CF1RKdlp(k;e>_JcBdvZUyjqD{4pl5MAxr02xMzb+2lV!1Nmcw$HiRH1e zET0vyajcMyXA`ia`6M=(O<_|ptfw(GwWen*jBcUZD+T!9qe{?2g6ayY!}==8Pnb~p7R6fB@vPan|_85DdJ;9!2Pr>{9G&{qd zVb8L&>^XK0bD3XYFTx}IGJL78;>5An*ah}FdxO2nF0!}S+w2{7iM`9-gP-*S_96R- z{T-g;f3S}+1Ntiagk58wViCnZ+2`yFY`pgs`^i%_EX)d@EtMGjwkk<2X>bUs6Fku_lB$wwL>;ZOw0 zSMrnmr2r{V(n*7*ASqZ1k@Qli6eby@a4ABHl%k|)X^1pbijiWaIB6K>W*emhDG}S? zCQB(&s+1%dCQk7IK)kt%sTB%N|m*z_Iqy}le z)F?Gc&C&v?MQWAWq;_ecv`AVkbx2F3rP4BKxwJxBDXo%LOKYUH(mJVAS}$#oHVPkn zH@xsY(iUl}v`yMB-6rjjZkO(mc1m{&-~1lwE@?0Pma*gw_{A@f*QI^ZJ<@)RH~h|h zmeN7#et0P#kPZtU{zIz9_J#&^!LW*kHf?)jz0sJJ>)f=krlqy2sinrHpthxAVGY0O zQczLV-X@}+1y%JeRqgZVG}J8Sx7^|2scETct#1`jvgTJ*wKO$qE96jy5{u4a;@r(t8%KF+Ei8e(d1TD0Gy^;4srpzqD^a3kklwhOfr%h z5xAJ}Tt!t?O=Fu&jXkP0DX44YP-BuI)`-A$Y%g-x+TOToEGMKEKW<~In&!{1km0)3 zIwV~4d&|4l^~P2Cl@%?jI{dg4wAD9M3+`#^Mbx!Grd+VBUXHsI2=aNBrd~u{3uId5 zQgYm*z+NR$vS1t!Sp8hralNQr=k~_k3LR*5o7X2%+fq~0*ig|}U0j94{CuPQ{6vRG+!`Gcnu+rBjWXXGE1H{H+gh5M>uMxZ zW35!vSgW0+NViFm?j%{dO(JlgRM*~EThY=!zoDYN&ArJnrI{+z&?3_?)d8(ri$g*) zRi>du4yMUZwTi%XS}*HdTYKYfMGgSm+8h#^A{k7Z2vkK}>TUSZ6bn&n+C`u(R%+F* z)T&snRl5k(#Vz%Xwd!{M>t5_wC--*8l(tyW;&wT7o!(2K>mrAEnM1szH?El>*L8^q zTxQsH$z_Q>s%~g%tZjA4;ncRlxuUVDt)`)-zQWDa+*%J(M7EQuO}_750NWN>T)ePK{fKy#m zhnN#b%JHcSE1H`tU@G$~t1H-qb~dq{mDWRH1r=;^y)?D1Nj6R5#f$WZ zwpdDnJ(g&X_1;Z(SDr{o;cT_1QhCZ=KFuCWx5qMUu~efyX2+Fk!YG|*IO!S537Y1bR^G;$+FP1LZfZiJqK}9v@<~ldN=bCC zX>CJytgWWn8U56n`r5j-I=8kubd%(GtLvQlg|@g`D`;s{Zt&(ZFWZ=)go*A|9WC_@ z4fR#x{qBUfYeP+I>s&9as zl{F1bi$tkprBt#}#+RHT)1RE8q*Il2s$7rcRJk6>se%e)a;o4XLcvFbqJ9Vk9}x;Z zA{2Z?DENp_@DZWRr{q){KEW5{3%(eW(-iz^3jQ<&f0}|nO~Ie0;7?QVrz!Z;6#Qul z{xk)Dnu0$~!Jnq!PgC%xDfrVB{OJn*bOnF9fDjA@GJJ1oUP!`R`6%%xeC7K7kNGtedJ4IT-pCkB_V3KVV zp;CX@Mv+$PFWV^6O8s-vxUC_bZnHJSGnBk6hdhN2*;Y|Tp(97(Lykg+Y^Mn(*-jBE zbjWs!v_gk$r${Sw$aadfA_v({kyhj&+bPnD9ArC1TEQ>dX@W_%Q-q2fWIIJ#k%Mff zNGo!X?G$N64zisht;j*PQ>2yp%XW&iQh(V_kyh$2+i8MHwo`;kePz2uTB)yWmq;u1 zmF+UosJs`FjClik-8iBrjm~1FL!Rh6^E{v4a=ahYub6N~@jMUFF||XIlXf8P;;!v^ z`KJ9*FI(T1-*2dy)8>TE^04N{_W4@gUme!es^J+3+7|JYljuPsqUAkU5u)?T@1x(! z?~5)gkBHtXFTgvh2-%!D+{_ab5{*tpRW;Ss71xTUo(4XYQU64hR*Gx$z&{=Zf+PWlXVsI2luf5RJ*Q z(IK=Mp(4zjEP`2B5=N_CFix$->~&8uXWC5}&_AqnzkpWjwv0&@EPCX)A&Y`t2A~=VRwTU|j!aj6>IA1R0~dd~E{8mc{}m z#VF1Lc8aiEglMEjo(~BOcF1Rtp9{u?`i}~&L0Ji92cYaAJi+w_Q||2aaCi+!QBWn< zn&TLG{Wgb`=KAeO;YoX*z(xijr~hmUPVs7~s}E%!SZ9KfDXOQTfS?ki{Fpm0xXmR% tF{6TqYG~a+&=^Ld*=$f .collapse { + color: @colorRed; + } + .item { + font-size: 16px; + } + .item.active { + color: @colorRed; + border: none; + border-bottom: 3px solid @colorRed; + box-shadow: none; + background: none; + text-shadow: none; + } +} + +/*----------- +** Chat Tab +-----------*/ + +#chat-log { + .chat-message { + background: white; + border: none; + border-radius: 4px; + margin-bottom: 8px; + .dropShadow1(); + & > header { + color: @colorRed; + border-bottom: 2px solid @colorBlue; + margin-bottom: 4px; + span { + color: @colorBlack; + } + } + + } +} +.notification-pip { + color: @colorBlue; + text-shadow: none; + +} + +.sw5e.chat-card { + font-size: 13px; + + .card-header { + padding: 0; + border: none; + + img { + flex: 0 0 36px; + margin-right: 4px; + } + + h3 { + flex: 1; + margin: 0; + line-height: 36px; + .russoOne(17px); + color: @colorBlack; + &:hover { + color: @colorBlack; + text-shadow: none; + } + } + } + + .card-content { + margin: 4px 0; + + h3 { + font-size: 12px; + margin: 0; + font-weight: bold; + } + + > * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + } + } + + .card-buttons { + margin: 4px 0; + + span { + display: block; + line-height: 28px; + text-align: center; + border: 1px solid @colorLightGray; + } + + button { + .openSans(13px, 700); + padding: 4px 0; + height: auto; + line-height: 1.6; + margin: 4px 0; + background: @colorRed; + border: none; + border-radius: 4px; + &:hover, &:focus { + background-color: lighten(@colorRed, 5); + box-shadow: none; + } + } + } + + .card-footer { + padding: 4px 0 0; + border-top: 1px solid @colorLightBlue; + + span { + border-right: 2px groove #FFF; + padding: 0 4px 0 0; + font-size: 10px; + + &:last-child { + border-right: none; + padding-right: 0; + } + } + } +} +.dice-roll { + +.dice-formula { + background: none; + border: none; +} +.dice-total { + background: @colorPaleBlue; + border: 1px solid @colorBlue; + border-radius: 0; + padding: 4px 0; + box-shadow: 0 0 12px rgba(@colorBlue,.5); + &.success { + color: inherit; + background: #c7d0c0; + border: 1px solid #006c00; + } + &.failure { + color: inherit; + background: #ffdddd; + border: 1px solid #6e0000; + } + &.critical { + color: @colorGreen; + background: @colorPaleGreen; + box-shadow: 0 0 12px rgba(@colorGreen,.5); + } + &.fumble { + color: red; + } +} +} +#chat-controls { + padding-top: 4px; + label { + color: @colorBlack; + } + +} +#chat-form textarea { + background: white; + &:focus { + box-shadow: none; + outline: none; + } +} + +/*----------- +** Combat Tab +-----------*/ +#combat { +#combat-round { + color: @colorRed; + border-bottom: 2px solid @colorBlue; + .encounters { + h4 { + color: @colorRed; + } + a { + color: @colorGray; + &:hover { + color: @colorRed; + } + } + } +} + #combat-tracker { + //padding-top: 4px; + li.combatant { + padding: 4px 0; + color: @colorBlack; + background: none; + &:nth-child(even) { + background: rgba(@colorPaleBlue, 0.5); + } + h4 { + color: @colorBlack; + text-shadow: none; + } + .roll { + background: none; + color: @colorGray; + &::before { + content: "\f6cf"; + .fontAwesome(); + font-size: 28px; + } + &:hover { + color: @colorRed; + } + } + .combatant-control { + color: @colorLightGray; + text-shadow: none; + &.active { + color: @colorDarkGray; + } + } + .token-resource { + color: @colorGray; + border-right: 1px solid @colorLightGray; + } + .initiative { + text-shadow: none; + } + &.active { + color: @colorBlue; + .initiative, h4 { + color: @colorBlue; + } + } + &.hidden { + opacity: 0.5; + color: @colorBlack; + } + } + } + #combat-controls { + padding-top: 0; + border-top: 1px solid @colorBlue; + } +} + +/* +** Folders +*/ +.sidebar-tab { +.directory-header { + margin-bottom: 4px; + .header-search { + position: relative; + i.fa-search { + position: absolute; + left: 8px; + color: @colorBlue; + } + input { + text-align: left; + padding-left: 22px; + background: white; + &:focus { + box-shadow: none; + } + } + } +} +.subdirectory { + border: none; + margin-left: 8px; + background: white; + min-height: 8px; + .folder { + border-left: 2px solid rgba(@colorBlack, 0.4); + } +} +.directory-list { + padding-bottom: 4px; + li + li { + border-top: 1px solid @colorBlue; + } + .folder { + & > .folder-header { + line-height: default; + padding: 0 0 0 8px; + position: relative; + border: none; + background: white; + h3 { + padding: 8px 4px; + background: white; + color: @colorBlack; + .openSans(13px, 700); + line-height: 1.6; + & > i { + margin-right: 4px; + color: @colorBlue; + } + } + a { + position: absolute; + top: 0; + right: 4px; + height: 100%; + padding: 0 4px; + color: @colorLightGray; + &:hover { + color: @colorRed; + } + i { + margin-top: 12px; + } + + &.create-folder { + right: 28px; + } + } + } + &.collapsed > .folder-header { + background: white; + } + & + .entity { + border-top: 1px solid @colorBlue; + } + } + .directory-item img { + flex: 0 0 32px; + height: 32px; + width: 32px; + align-self: center; + } + .actor, .item, .journal, .table,{ + background: white; + border: none; + .entity-name { + .openSans(13px, 700); + color: @colorBlack; + } + &:nth-child(even) { + background: rgba(@colorPaleBlue, 0.3); + } + } +} +} +#scenes { + .subdirectory { + border-left: none; + } + .scene { + border: none; + border-top: 1px solid @colorBlue; + border-left: 4px solid @colorBlue; + box-shadow: none; + position: relative; + height: 128px; + //margin-bottom: 4px; + & + .scene { + margin-top: 4px; + } + &::after { + content: ''; + display: block; + width: 100%; + height: 99px; + position: absolute; + top: 28px; + left: 0; + box-shadow: 0 0 20px @colorBlue inset; + } + h3 { + .openSans(13px, 700); + text-align: left; + text-shadow: none; + padding: 4px 4px 4px 12px; + background: white; + line-height: 1.6; + position: absolute; + top: 0; + left: 0; + width: 100%; + } + } +} + +#playlists { + .directory-list { + padding: 0 8px; + li.playlist { + padding: 8px; + border-radius: 4px; + background: white; + margin-bottom: 8px; + border-top: inherit; + .dropShadow1(); + .playlist-header { + background: white; + color: @colorRed; + text-decoration: none; + border-bottom: 2px solid @colorBlue; + } + li.sound { + border: none; + color: @colorBlack; + h4 { + .openSans(13px, 400); + } + + } + a.sound-control { + color: @colorRed; + } + } + } + +} +#compendium { + .compendium-entity { + margin: 0 4px; + padding: 8px; + background: white !important; + .dropShadow1(); + border-radius: 4px; + border: none; + &+ .compendium-entity { + margin-top: 4px; + } + h3 { + border: none; + color: @colorRed; + border-bottom: 2px solid @colorBlue; + .russoOne(17px); + padding: 0; + margin-bottom: 4px; + } + ol.compendium-list { + li.compendium-pack { + margin: 0; + padding: 4px; + border: none; + &:nth-child(even) { + background: rgba(@colorPaleBlue, 0.3); + } + .pack-title { + margin: 0; + position: relative; + a { + .openSans(13px, 700); + i { + display: none; + } + } + .status-icons { + top: 4px; + color: @colorLightGray; + font-size: 13px; + } + } + footer.compendium-footer { + color: @colorBlack; + } + } + } + } +} + +#settings { + h2 { + color: @colorRed; + border: none; + border-bottom: 2px solid @colorBlue; + margin: 0 8px; + padding: 0; + } + #game-details, #settings-game, #settings-documentation, #settings-access { + padding: 0 8px; + margin: 0 0 8px; + color: @colorBlack; + } +} \ No newline at end of file diff --git a/less/update/sw5e-update.less b/less/update/sw5e-update.less new file mode 100644 index 00000000..ca8bacef --- /dev/null +++ b/less/update/sw5e-update.less @@ -0,0 +1,104 @@ +@import "variables.less"; + +html { + box-sizing: border-box; +} +*, *:before, *:after { + box-sizing: inherit; +} +// ::-webkit-scrollbar { +// width: 6px; +// height: 6px; +// } +::-webkit-scrollbar-track { + border: 1px solid @colorBlue; + border-radius: 4px; +} +::-webkit-scrollbar-thumb { + outline: none; + border-radius: 4px; + background: @colorBlue; + border: none; +} +:root { + scrollbar-width: thin; + scrollbar-color: @colorBlue @colorPaleBlue; +} + +body { + .openSans(13px, 400); +} + +h1 { + .russoOne(34px); +} +h2 { + .russoOne(27px); +} +h3 { + .russoOne(21px); +} +h4 { + .russoOne(17px); +} +h5, h6 { + .russoOne(13px); +} + +a { + color: @colorRed; + text-decoration: none; + &:hover, &:active { + text-shadow: none; + text-decoration: underline; + } +} + +.app { + background: @sheetBackground; + border: none;// 1px solid @colorBlue; + .dropShadow1(); +} + +#context-menu { + background: none; + border: none; + border-radius: 0; + color: @colorBlack; + padding: 0 8px; + ol.context-items { + background: white; + border-radius: 4px; + border: 1px solid @colorLightGray; + .dropShadow2(); + li.context-item { + &:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } + &:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + } + i { + color: @colorBlue; + } + &:hover { + background: @colorRed; + color: white; + text-shadow: none; + cursor: pointer; + i { + color: white; + } + } + & + li { + border-top: 1px solid @colorPaleGray; + } + } + } + + +} +@import "components/forms.less"; +@import "components/sidebar.less"; \ No newline at end of file diff --git a/less/update/variables.less b/less/update/variables.less new file mode 100644 index 00000000..09bfa8f6 --- /dev/null +++ b/less/update/variables.less @@ -0,0 +1,110 @@ + +/* ----------------------------------------- */ +/* Fonts */ +/* ----------------------------------------- */ + +/* russo-one-regular - latin */ +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: italic; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 700; + src: url('./fonts/RussoOne.ttf'); +} +.russoOne(@size: 20px) { + font-family: 'Russo One'; + font-size: @size; + font-weight: 400; +} +/* open-sans-regular - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('./fonts/OpenSans-Regular.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: url('./fonts/OpenSans-Italic.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: url('./fonts/OpenSans-Bold.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: url('./fonts/OpenSans-BoldItalic.ttf'); +} +.openSans(@size: 13px, @weight: 400) { + font-family: 'Open Sans'; + font-size: @size; + font-weight: @weight; +} +.fontAwesome() { + font-family: "Font Awesome 5 Free"; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + font-weight: 900; +} + +/* ----------------------------------------- */ +/* Sheet Styles */ +/* ----------------------------------------- */ + +@colorDark: #191813; +@colorFaint: #c9c7b8; +@colorBeige: #b5b3a4; +@colorTan: #7a7971; +@colorOlive: #4b4a44; +@colorCrimson: #44191A; +@borderGroove: 2px groove #eeede0; +//@sheetBackground: url("ui/parchment.jpg") repeat; + + +//SW5e Colors +@colorBlack: #1C1C1C; +@colorDarkGray: #363636; +@colorGray: #4f4f4f; +@colorLightGray: #828282; +@colorPaleGray: #D6D6D6; +@colorRed: #c40f0f; +@colorPaleRed: #FBF4F4; +@colorLightRed: #F6E1E1; +@colorBlue: #0d99cc; +@colorLightBlue: #7ed6f7; +@colorPaleBlue: #afc6d6; +@colorGreen: #0dce0d; +@colorPaleGreen: #bcdcbe; + +@sheetBackground: linear-gradient(90deg, @colorPaleBlue 0%, @colorPaleGray 30%, @colorPaleGray 70%, @colorPaleBlue); + + +.dropShadow1(){ + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2); +} +.dropShadow2() { + box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3); +} +.dropShadow3() { + box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2); +} \ No newline at end of file diff --git a/module/actor/sheets/base.js b/module/actor/sheets/base.js index 7a3bdc9a..557aba7b 100644 --- a/module/actor/sheets/base.js +++ b/module/actor/sheets/base.js @@ -43,8 +43,8 @@ export default class ActorSheet5e extends ActorSheet { /** @override */ get template() { - if ( !game.user.isGM && this.actor.limited ) return "systems/sw5e/templates/actors/limited-sheet.html"; - return `systems/sw5e/templates/actors/${this.actor.data.type}-sheet.html`; + if ( !game.user.isGM && this.actor.limited ) return "systems/sw5e/templates/actors/oldActor/limited-sheet.html"; + return `systems/sw5e/templates/actors/oldActor/${this.actor.data.type}-sheet.html`; } /* -------------------------------------------- */ diff --git a/module/actor/sheets/newSheet/character.js b/module/actor/sheets/newSheet/character.js new file mode 100644 index 00000000..94ba7625 --- /dev/null +++ b/module/actor/sheets/newSheet/character.js @@ -0,0 +1,626 @@ +import ActorSheet5e from "../base.js"; +import Actor5e from "../../entity.js"; + +/** + * An Actor sheet for player character type actors in the SW5E system. + * Extends the base ActorSheet5e class. + * @type {ActorSheet5e} + */ +export default class ActorSheet5eCharacterNew extends ActorSheet5e { + + get template() { + if (!game.user.isGM && this.actor.limited) return "systems/sw5e/templates/actors/newActor/limited-sheet.html"; + return "systems/sw5e/templates/actors/newActor/character-sheet.html"; + } + /** + * Define default rendering options for the NPC sheet + * @return {Object} + */ + static get defaultOptions() { + + return mergeObject(super.defaultOptions, { + classes: ["swalt", "sw5e", "sheet", "actor", "character"], + blockFavTab: true, + subTabs: null, + width: 800, + tabs: [{ + navSelector: ".root-tabs", + contentSelector: ".sheet-body", + initial: "attributes" + }], + }); + } + + /* -------------------------------------------- */ + + /** + * Add some extra data when rendering the sheet to reduce the amount of logic required within the template. + */ + getData() { + const sheetData = super.getData(); + + // Temporary HP + let hp = sheetData.data.attributes.hp; + if (hp.temp === 0) delete hp.temp; + if (hp.tempmax === 0) delete hp.tempmax; + + // Resources + sheetData["resources"] = ["primary", "secondary", "tertiary"].reduce((arr, r) => { + const res = sheetData.data.resources[r] || {}; + res.name = r; + res.placeholder = game.i18n.localize("SW5E.Resource"+r.titleCase()); + if (res && res.value === 0) delete res.value; + if (res && res.max === 0) delete res.max; + return arr.concat([res]); + }, []); + + // Experience Tracking + sheetData["disableExperience"] = game.settings.get("sw5e", "disableExperienceTracking"); + sheetData["classLabels"] = this.actor.itemTypes.class.map(c => c.name).join(", "); + + // Return data for rendering + return sheetData; + } + + /* -------------------------------------------- */ + + /** + * Organize and classify Owned Items for Character sheets + * @private + */ + _prepareItems(data) { + + // Categorize items as inventory, powerbook, features, and classes + const inventory = { + weapon: { label: "SW5E.ItemTypeWeaponPl", items: [], dataset: {type: "weapon"} }, + equipment: { label: "SW5E.ItemTypeEquipmentPl", items: [], dataset: {type: "equipment"} }, + consumable: { label: "SW5E.ItemTypeConsumablePl", items: [], dataset: {type: "consumable"} }, + tool: { label: "SW5E.ItemTypeToolPl", items: [], dataset: {type: "tool"} }, + backpack: { label: "SW5E.ItemTypeContainerPl", items: [], dataset: {type: "backpack"} }, + loot: { label: "SW5E.ItemTypeLootPl", items: [], dataset: {type: "loot"} } + }; + + // Partition items by category + let [items, powers, feats, classes, species, archetypes, classfeatures, backgrounds, lightsaberforms] = data.items.reduce((arr, item) => { + + // Item details + item.img = item.img || DEFAULT_TOKEN; + item.isStack = Number.isNumeric(item.data.quantity) && (item.data.quantity !== 1); + + // Item usage + item.hasUses = item.data.uses && (item.data.uses.max > 0); + item.isOnCooldown = item.data.recharge && !!item.data.recharge.value && (item.data.recharge.charged === false); + item.isDepleted = item.isOnCooldown && (item.data.uses.per && (item.data.uses.value > 0)); + item.hasTarget = !!item.data.target && !(["none",""].includes(item.data.target.type)); + + // Item toggle state + this._prepareItemToggleState(item); + + // Classify items into types + if ( item.type === "power" ) arr[1].push(item); + else if ( item.type === "feat" ) arr[2].push(item); + else if ( item.type === "class" ) arr[3].push(item); + else if ( item.type === "species" ) arr[4].push(item); + else if ( item.type === "archetype" ) arr[5].push(item); + else if ( item.type === "classfeature" ) arr[6].push(item); + else if ( item.type === "background" ) arr[7].push(item); + else if ( item.type === "lightsaberform" ) arr[8].push(item); + else if ( Object.keys(inventory).includes(item.type ) ) arr[0].push(item); + return arr; + }, [[], [], [], [], [], [], [], [], []]); + + // Apply active item filters + items = this._filterItems(items, this._filters.inventory); + powers = this._filterItems(powers, this._filters.powerbook); + feats = this._filterItems(feats, this._filters.features); + + // Organize items + for ( let i of items ) { + i.data.quantity = i.data.quantity || 0; + i.data.weight = i.data.weight || 0; + i.totalWeight = Math.round(i.data.quantity * i.data.weight * 10) / 10; + inventory[i.type].items.push(i); + } + + // Organize Powerbook and count the number of prepared powers (excluding always, at will, etc...) + const powerbook = this._preparePowerbook(data, powers); + const nPrepared = powers.filter(s => { + return (s.data.level > 0) && (s.data.preparation.mode === "prepared") && s.data.preparation.prepared; + }).length; + + // Organize Features + const features = { + classes: { label: "SW5E.ItemTypeClassPl", items: [], hasActions: false, dataset: {type: "class"}, isClass: true }, + classfeatures: { label: "SW5E.ItemTypeClassFeats", items: [], hasActions: false, dataset: {type: "classfeature"}, isClassfeature: true }, + archetype: { label: "SW5E.ItemTypeArchetype", items: [], hasActions: false, dataset: {type: "archetype"}, isArchetype: true }, + species: { label: "SW5E.ItemTypeSpecies", items: [], hasActions: false, dataset: {type: "species"}, isSpecies: true }, + background: { label: "SW5E.ItemTypeBackground", items: [], hasActions: false, dataset: {type: "background"}, isBackground: true }, + lightsaberform: { label: "SW5E.ItemTypeLightsaberForm", items: [], hasActions: false, dataset: {type: "lightsaberform"}, isLightsaberform: true }, + active: { label: "SW5E.FeatureActive", items: [], hasActions: true, dataset: {type: "feat", "activation.type": "action"} }, + passive: { label: "SW5E.FeaturePassive", items: [], hasActions: false, dataset: {type: "feat"} } + }; + for ( let f of feats ) { + if ( f.data.activation.type ) features.active.items.push(f); + else features.passive.items.push(f); + } + classes.sort((a, b) => b.levels - a.levels); + features.classes.items = classes; + features.classfeatures.items = classfeatures; + features.archetype.items = archetypes; + features.species.items = species; + features.background.items = backgrounds; + features.lightsaberform.items = lightsaberforms; + + // Assign and return + data.inventory = Object.values(inventory); + data.powerbook = powerbook; + data.preparedPowers = nPrepared; + data.features = Object.values(features); + } + + /* -------------------------------------------- */ + + /** + * A helper method to establish the displayed preparation state for an item + * @param {Item} item + * @private + */ + _prepareItemToggleState(item) { + if (item.type === "power") { + const isAlways = getProperty(item.data, "preparation.mode") === "always"; + const isPrepared = getProperty(item.data, "preparation.prepared"); + item.toggleClass = isPrepared ? "active" : ""; + if ( isAlways ) item.toggleClass = "fixed"; + if ( isAlways ) item.toggleTitle = CONFIG.SW5E.powerPreparationModes.always; + else if ( isPrepared ) item.toggleTitle = CONFIG.SW5E.powerPreparationModes.prepared; + else item.toggleTitle = game.i18n.localize("SW5E.PowerUnprepared"); + } + else { + const isActive = getProperty(item.data, "equipped"); + item.toggleClass = isActive ? "active" : ""; + item.toggleTitle = game.i18n.localize(isActive ? "SW5E.Equipped" : "SW5E.Unequipped"); + } + } + + /* -------------------------------------------- */ + /* Event Listeners and Handlers + /* -------------------------------------------- */ + + /** + * Activate event listeners using the prepared sheet HTML + * @param html {HTML} The prepared HTML object ready to be rendered into the DOM + */ + activateListeners(html) { + super.activateListeners(html); + if ( !this.options.editable ) return; + + // Inventory Functions + html.find(".currency-convert").click(this._onConvertCurrency.bind(this)); + + // Item State Toggling + html.find('.item-toggle').click(this._onToggleItem.bind(this)); + + // Short and Long Rest + html.find('.short-rest').click(this._onShortRest.bind(this)); + html.find('.long-rest').click(this._onLongRest.bind(this)); + + // Death saving throws + html.find('.death-save').click(this._onDeathSave.bind(this)); + + // Send Languages to Chat onClick + html.find('[data-options="share-languages"]').click(event => { + event.preventDefault(); + let langs = this.actor.data.data.traits.languages.value.map(l => SW5E.languages[l] || l).join(", "); + let custom = this.actor.data.data.traits.languages.custom; + if (custom) langs += ", " + custom.replace(/;/g, ","); + let content = ` +

+ `; + + // Send to Chat + let rollWhisper = null; + let rollBlind = false; + let rollMode = game.settings.get("core", "rollMode"); + if (["gmroll", "blindroll"].includes(rollMode)) rollWhisper = ChatMessage.getWhisperIDs("GM"); + if (rollMode === "blindroll") rollBlind = true; + ChatMessage.create({ + user: game.user._id, + content: content, + speaker: { + actor: this.actor._id, + token: this.actor.token, + alias: this.actor.name + }, + type: CONST.CHAT_MESSAGE_TYPES.OTHER + }); + }); + + // Item Delete Confirmation + html.find('.item-delete').off("click"); + html.find('.item-delete').click(event => { + let li = $(event.currentTarget).parents('.item'); + let itemId = li.attr("data-item-id"); + let item = this.actor.getOwnedItem(itemId); + new Dialog({ + title: `Deleting ${item.data.name}`, + content: `

Are you sure you want to delete ${item.data.name}?

`, + buttons: { + Yes: { + icon: '', + label: 'Yes', + callback: dlg => { + this.actor.deleteOwnedItem(itemId); + } + }, + cancel: { + icon: '', + label: 'No' + }, + }, + default: 'cancel' + }).render(true); + }); + } + + /* -------------------------------------------- */ + + /** + * Handle rolling a death saving throw for the Character + * @param {MouseEvent} event The originating click event + * @private + */ + _onDeathSave(event) { + event.preventDefault(); + return this.actor.rollDeathSave({event: event}); + } + + /* -------------------------------------------- */ + + + /** + * Handle toggling the state of an Owned Item within the Actor + * @param {Event} event The triggering click event + * @private + */ + _onToggleItem(event) { + event.preventDefault(); + const itemId = event.currentTarget.closest(".item").dataset.itemId; + const item = this.actor.getOwnedItem(itemId); + const attr = item.data.type === "power" ? "data.preparation.prepared" : "data.equipped"; + return item.update({[attr]: !getProperty(item.data, attr)}); + } + + /* -------------------------------------------- */ + + /** + * Take a short rest, calling the relevant function on the Actor instance + * @param {Event} event The triggering click event + * @private + */ + async _onShortRest(event) { + event.preventDefault(); + await this._onSubmit(event); + return this.actor.shortRest(); + } + + /* -------------------------------------------- */ + + /** + * Take a long rest, calling the relevant function on the Actor instance + * @param {Event} event The triggering click event + * @private + */ + async _onLongRest(event) { + event.preventDefault(); + await this._onSubmit(event); + return this.actor.longRest(); + } + + /* -------------------------------------------- */ + + /** + * Handle mouse click events to convert currency to the highest possible denomination + * @param {MouseEvent} event The originating click event + * @private + */ + async _onConvertCurrency(event) { + event.preventDefault(); + return Dialog.confirm({ + title: `${game.i18n.localize("SW5E.CurrencyConvert")}`, + content: `

${game.i18n.localize("SW5E.CurrencyConvertHint")}

`, + yes: () => this.actor.convertCurrency() + }); + } + + /* -------------------------------------------- */ + + /** @override */ + async _onDropItemCreate(itemData) { + + // Upgrade the number of class levels a character has and add features + if ( itemData.type === "class" ) { + const cls = this.actor.itemTypes.class.find(c => c.name === itemData.name); + const classWasAlreadyPresent = !!cls; + + // Add new features for class level + if ( !classWasAlreadyPresent ) { + Actor5e.getClassFeatures(itemData).then(features => { + this.actor.createEmbeddedEntity("OwnedItem", features); + }); + } + + // If the actor already has the class, increment the level instead of creating a new item + // then add new features as long as level increases + if ( classWasAlreadyPresent ) { + const lvl = cls.data.data.levels; + const newLvl = Math.min(lvl + 1, 20 + lvl - this.actor.data.data.details.level); + if ( !(lvl === newLvl) ) { + cls.update({"data.levels": newLvl}); + itemData.data.levels = newLvl; + Actor5e.getClassFeatures(itemData).then(features => { + this.actor.createEmbeddedEntity("OwnedItem", features); + }); + } + return + } + } + + super._onDropItemCreate(itemData); + } +} + +async function addFavorites(app, html, data) { + // Thisfunction is adapted for the SwaltSheet from the Favorites Item + // Tab Module created for Foundry VTT - by Felix Müller (Felix#6196 on Discord). + // It is licensed under a Creative Commons Attribution 4.0 International License + // and can be found at https://github.com/syl3r86/favtab. + let favItems = []; + let favFeats = []; + let favPowers = { + 0: { + isCantrip: true, + powers: [] + }, + 1: { + powers: [], + value: data.actor.data.powers.power1.value, + max: data.actor.data.powers.power1.max + }, + 2: { + powers: [], + value: data.actor.data.powers.power2.value, + max: data.actor.data.powers.power2.max + }, + 3: { + powers: [], + value: data.actor.data.powers.power3.value, + max: data.actor.data.powers.power3.max + }, + 4: { + powers: [], + value: data.actor.data.powers.power4.value, + max: data.actor.data.powers.power4.max + }, + 5: { + powers: [], + value: data.actor.data.powers.power5.value, + max: data.actor.data.powers.power5.max + }, + 6: { + powers: [], + value: data.actor.data.powers.power6.value, + max: data.actor.data.powers.power6.max + }, + 7: { + powers: [], + value: data.actor.data.powers.power7.value, + max: data.actor.data.powers.power7.max + }, + 8: { + powers: [], + value: data.actor.data.powers.power8.value, + max: data.actor.data.powers.power8.max + }, + 9: { + powers: [], + value: data.actor.data.powers.power9.value, + max: data.actor.data.powers.power9.max + } + } + + let powerCount = 0 + let items = data.actor.items; + for (let item of items) { + if (item.type == "class") continue; + if (item.flags.favtab === undefined || item.flags.favtab.isFavourite === undefined) { + item.flags.favtab = { + isFavourite: false + }; + } + let isFav = item.flags.favtab.isFavourite; + if (app.options.editable) { + let favBtn = $(`
`); + favBtn.click(ev => { + app.actor.getOwnedItem(item._id).update({ + "flags.favtab.isFavourite": !item.flags.favtab.isFavourite + }); + }); + html.find(`.item[data-item-id="${item._id}"]`).find('.item-controls').prepend(favBtn); + } + + if (isFav) { + item.powerComps = ""; + if (item.data.components) { + let comps = item.data.components; + let v = (comps.vocal) ? "V" : ""; + let s = (comps.somatic) ? "S" : ""; + let m = (comps.material) ? "M" : ""; + let c = (comps.concentration) ? true : false; + let r = (comps.ritual) ? true : false; + item.powerComps = `${v}${s}${m}`; + item.powerCon = c; + item.powerRit = r; + } + + item.editable = app.options.editable; + switch (item.type) { + case 'feat': + if (item.flags.favtab.sort === undefined) { + item.flags.favtab.sort = (favFeats.count + 1) * 100000; // initial sort key if not present + } + favFeats.push(item); + break; + case 'power': + if (item.data.preparation.mode) { + item.powerPrepMode = ` (${CONFIG.SW5E.powerPreparationModes[item.data.preparation.mode]})` + } + if (item.data.level) { + favPowers[item.data.level].powers.push(item); + } else { + favPowers[0].powers.push(item); + } + powerCount++; + break; + default: + if (item.flags.favtab.sort === undefined) { + item.flags.favtab.sort = (favItems.count + 1) * 100000; // initial sort key if not present + } + favItems.push(item); + break; + } + } + } + + // Alter core CSS to fit new button + // if (app.options.editable) { + // html.find('.powerbook .item-controls').css('flex', '0 0 88px'); + // html.find('.inventory .item-controls, .features .item-controls').css('flex', '0 0 90px'); + // html.find('.favourite .item-controls').css('flex', '0 0 22px'); + // } + + let tabContainer = html.find('.favtabtarget'); + data.favItems = favItems.length > 0 ? favItems.sort((a, b) => (a.flags.favtab.sort) - (b.flags.favtab.sort)) : false; + data.favFeats = favFeats.length > 0 ? favFeats.sort((a, b) => (a.flags.favtab.sort) - (b.flags.favtab.sort)) : false; + data.favPowers = powerCount > 0 ? favPowers : false; + data.editable = app.options.editable; + + await loadTemplates(['systems/sw5e/templates/actors/newActor/item.hbs']); + let favtabHtml = $(await renderTemplate('systems/sw5e/templates/actors/newActor/template.hbs', data)); + favtabHtml.find('.item-name h4').click(event => app._onItemSummary(event)); + + if (app.options.editable) { + favtabHtml.find('.item-image').click(ev => app._onItemRoll(ev)); + let handler = ev => app._onDragItemStart(ev); + favtabHtml.find('.item').each((i, li) => { + if (li.classList.contains("inventory-header")) return; + li.setAttribute("draggable", true); + li.addEventListener("dragstart", handler, false); + }); + //favtabHtml.find('.item-toggle').click(event => app._onToggleItem(event)); + favtabHtml.find('.item-edit').click(ev => { + let itemId = $(ev.target).parents('.item')[0].dataset.itemId; + app.actor.getOwnedItem(itemId).sheet.render(true); + }); + favtabHtml.find('.item-fav').click(ev => { + let itemId = $(ev.target).parents('.item')[0].dataset.itemId; + let val = !app.actor.getOwnedItem(itemId).data.flags.favtab.isFavourite + app.actor.getOwnedItem(itemId).update({ + "flags.favtab.isFavourite": val + }); + }); + + // Sorting + favtabHtml.find('.item').on('drop', ev => { + ev.preventDefault(); + ev.stopPropagation(); + + let dropData = JSON.parse(ev.originalEvent.dataTransfer.getData('text/plain')); + // if (dropData.actorId !== app.actor.id || dropData.data.type === 'power') return; + if (dropData.actorId !== app.actor.id) return; + let list = null; + if (dropData.data.type === 'feat') list = favFeats; + else list = favItems; + let dragSource = list.find(i => i._id === dropData.data._id); + let siblings = list.filter(i => i._id !== dropData.data._id); + let targetId = ev.target.closest('.item').dataset.itemId; + let dragTarget = siblings.find(s => s._id === targetId); + + if (dragTarget === undefined) return; + const sortUpdates = SortingHelpers.performIntegerSort(dragSource, { + target: dragTarget, + siblings: siblings, + sortKey: 'flags.favtab.sort' + }); + const updateData = sortUpdates.map(u => { + const update = u.update; + update._id = u.target._id; + return update; + }); + app.actor.updateEmbeddedEntity("OwnedItem", updateData); + }); + } + tabContainer.append(favtabHtml); + + // try { + // if (game.modules.get("betterrolls5e") && game.modules.get("betterrolls5e").active) BetterRolls.addItemContent(app.object, favtabHtml, ".item .item-name h4", ".item-properties", ".item > .rollable div"); + // } + // catch (err) { + // // Better Rolls not found! + // } + Hooks.callAll("renderedSwaltSheet", app, html, data); +} +async function addSubTabs(app, html, data) { + if(data.options.subTabs == null) { + //let subTabs = []; //{subgroup: '', target: '', active: false} + data.options.subTabs = {}; + html.find('[data-subgroup-selection] [data-subgroup]').each((idx, el) => { + let subgroup = el.getAttribute('data-subgroup'); + let target = el.getAttribute('data-target'); + let targetObj = {target: target, active: el.classList.contains("active")} + if(data.options.subTabs.hasOwnProperty(subgroup)) { + data.options.subTabs[subgroup].push(targetObj); + } else { + data.options.subTabs[subgroup] = []; + data.options.subTabs[subgroup].push(targetObj); + } + }) + } + + for(const group in data.options.subTabs) { + data.options.subTabs[group].forEach(tab => { + if(tab.active) { + html.find(`[data-subgroup=${group}][data-target=${tab.target}]`).addClass('active'); + } else { + html.find(`[data-subgroup=${group}][data-target=${tab.target}]`).removeClass('active'); + } + }) + } + + html.find('[data-subgroup-selection]').children().on('click', event => { + let subgroup = event.target.closest('[data-subgroup]').getAttribute('data-subgroup'); + let target = event.target.closest('[data-target]').getAttribute('data-target'); + html.find(`[data-subgroup=${subgroup}]`).removeClass('active'); + html.find(`[data-subgroup=${subgroup}][data-target=${target}]`).addClass('active'); + let tabId = data.options.subTabs[subgroup].find(tab => { + return tab.target == target + }); + data.options.subTabs[subgroup].map(el => { + if(el.target == target) { + el.active = true; + } else { + el.active = false; + } + return el; + }) + + }) + + + +} \ No newline at end of file diff --git a/module/actor/sheets/character.js b/module/actor/sheets/oldSheets/character.js similarity index 99% rename from module/actor/sheets/character.js rename to module/actor/sheets/oldSheets/character.js index 76e813d6..3817fc8f 100644 --- a/module/actor/sheets/character.js +++ b/module/actor/sheets/oldSheets/character.js @@ -1,5 +1,5 @@ -import ActorSheet5e from "./base.js"; -import Actor5e from "../entity.js"; +import ActorSheet5e from "../base.js"; +import Actor5e from "../../entity.js"; /** * An Actor sheet for player character type actors in the SW5E system. diff --git a/module/actor/sheets/npc.js b/module/actor/sheets/oldSheets/npc.js similarity index 98% rename from module/actor/sheets/npc.js rename to module/actor/sheets/oldSheets/npc.js index 023b5ce4..d5b6bff8 100644 --- a/module/actor/sheets/npc.js +++ b/module/actor/sheets/oldSheets/npc.js @@ -1,4 +1,4 @@ -import ActorSheet5e from "../sheets/base.js"; +import ActorSheet5e from "../base.js"; /** * An Actor sheet for NPC type characters in the SW5E system. diff --git a/module/actor/sheets/vehicle.js b/module/actor/sheets/oldSheets/vehicle.js similarity index 99% rename from module/actor/sheets/vehicle.js rename to module/actor/sheets/oldSheets/vehicle.js index 4fc5cdde..099cf606 100644 --- a/module/actor/sheets/vehicle.js +++ b/module/actor/sheets/oldSheets/vehicle.js @@ -1,4 +1,4 @@ -import ActorSheet5e from "./base.js"; +import ActorSheet5e from "../base.js"; /** * An Actor sheet for Vehicle type actors. diff --git a/module/templates.js b/module/templates.js index e14f1cd8..b477dfa9 100644 --- a/module/templates.js +++ b/module/templates.js @@ -9,12 +9,22 @@ export const preloadHandlebarsTemplates = async function() { const templatePaths = [ // Actor Sheet Partials - "systems/sw5e/templates/actors/parts/actor-traits.html", - "systems/sw5e/templates/actors/parts/actor-inventory.html", - "systems/sw5e/templates/actors/parts/actor-features.html", - "systems/sw5e/templates/actors/parts/actor-powerbook.html", - "systems/sw5e/templates/actors/parts/actor-effects.html", + "systems/sw5e/templates/actors/oldActor/parts/actor-traits.html", + "systems/sw5e/templates/actors/oldActor/parts/actor-inventory.html", + "systems/sw5e/templates/actors/oldActor/parts/actor-features.html", + "systems/sw5e/templates/actors/oldActor/parts/actor-powerbook.html", + "systems/sw5e/templates/actors/oldActor/parts/actor-effects.html", + + "systems/sw5e/templates/actors/newActor/parts/swalt-biography.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-core.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-features.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-inventory.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-notes.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-powerbook.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-resources.html", + "systems/sw5e/templates/actors/newActor/parts/swalt-traits.html", + // Item Sheet Partials "systems/sw5e/templates/items/parts/item-action.html", "systems/sw5e/templates/items/parts/item-activation.html", diff --git a/sw5e copy.css b/sw5e copy.css new file mode 100644 index 00000000..8417ca66 --- /dev/null +++ b/sw5e copy.css @@ -0,0 +1,1787 @@ +/* Deprecated vars */ +/* ----------------------------------------- */ +/* Fonts */ +/* ----------------------------------------- */ + +/* russo-one-regular - latin */ +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +/* bungee-inline-regular - latin */ +@font-face { + font-family: 'Bungee Inline'; + font-style: normal; + font-weight: 400; + src: url('./fonts/BungeeInline.ttf'); +} +/* open-sans-regular - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('./fonts/OpenSans-Regular.ttf'); +} +body { + width: 100vw; + height: 100vh; + margin: 0; + overflow: hidden; + background-image: url('./ui/SW5e-logo.svg'); + background-repeat: no-repeat; + background-size: cover; + font-family: 'Open Sans'; + font-size: 14px; + box-shadow: 0 0 50vw #000 inset; +} +/* ----------------------------------------- */ +/* Sheet Styles */ +/* ----------------------------------------- */ +/* ----------------------------------------- */ +/* Flexbox */ +/* ----------------------------------------- */ +.flexrow { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; +} +.flexrow > * { + flex: 1; +} +.flexrow .flex1 { + flex: 1; +} +.flexrow .flex2 { + flex: 2; +} +.flexrow .flex3 { + flex: 3; +} +.flexrow .flex4 { + flex: 4; +} +.flexcol { + display: flex; + flex-direction: column; + flex-wrap: nowrap; +} +.flexcol > * { + flex: 1; +} +.flexcol .flex1 { + flex: 1; +} +.flexcol .flex2 { + flex: 2; +} +.flexcol .flex3 { + flex: 3; +} +.flexcol .flex4 { + flex: 4; +} +/* ----------------------------------------- */ +/* All SW5e Apps */ +/* ----------------------------------------- */ +.sw5e { + /* ----------------------------------------- */ + /* Element Styles */ + /* ----------------------------------------- */ + /* Form Groups */ + /* Tags */ +} +.sw5e .window-content { + background: url("ui/parchment.webp") repeat; + font-size: 13px; + color: #191813; +} +.sw5e input[type="text"] +.sw5e select { + height: calc(100% - 2px); + border: 1px solid #7a7971; + background: rgba(0, 0, 0, 0.05); + color: #191813; +} +.sw5e input[type="text"]:hover, +.sw5e input[type="text"]:focus { + border: 1px solid #111; + box-shadow: 0 0 8px red; +} +.sw5e input:disabled, +.sw5e select:disabled, +.sw5e textarea:disabled { + color: #4b4a44; +} +.sw5e input:disabled:hover, +.sw5e select:disabled:hover, +.sw5e textarea:disabled:hover, +.sw5e input:disabled:focus, +.sw5e select:disabled:focus, +.sw5e textarea:disabled:focus { + box-shadow: none !important; + border: 1px solid transparent !important; + outline: none !important; +} +.sw5e button { + background: rgba(0, 0, 0, 0.1); + border: 2px groove #eeede0; +} +.sw5e label.checkbox { + flex: auto; + margin: 0; + line-height: 20px; + font-size: 10px; + text-align: right; +} +.sw5e label.checkbox input[type="checkbox"] { + height: auto; + margin: 0 5px 0; + position: relative; + top: 3px; +} +.sw5e .form-group label { + flex: 2; + color: #4b4a44; + font-weight: bold; +} +.sw5e .form-group .form-fields { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; +} +.sw5e .form-group .form-fields > * { + flex: 1; +} +.sw5e .form-group .form-fields .flex1 { + flex: 1; +} +.sw5e .form-group .form-fields .flex2 { + flex: 2; +} +.sw5e .form-group .form-fields .flex3 { + flex: 3; +} +.sw5e .form-group .form-fields .flex4 { + flex: 4; +} +.sw5e .form-group .form-fields > * { + margin: 0 3px 0 0; +} +.sw5e .form-group .form-fields > *:last-child { + margin-right: 0; +} +.sw5e .form-group.stacked label { + flex: 0 0 100%; + margin: 0; +} +.sw5e .form-group.stacked label.checkbox { + flex: auto; + text-align: left; +} +.sw5e .form-header { + margin: 0 0 0.25em 0; + padding: 0 2px; + font-family: "Russo One"; + font-size: 8px; + font-size: 12px; + border-top: 2px groove #eeede0; + border-bottom: 2px groove #eeede0; +} +.sw5e .tag { + display: inline-block; + margin: 0 2px 0 0; + padding: 0 3px; + font-size: 10px; + line-height: 16px; + border: 1px solid #999; + border-radius: 3px; + background: rgba(0, 0, 0, 0.05); +} +/* ----------------------------------------- */ +/* Entity Sheets Specifically */ +/* ----------------------------------------- */ +.sw5e.sheet { + /* ----------------------------------------- */ + /* Element Styles */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* TinyMCE */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Navigation */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Body */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* List Filters */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Trait Lists */ + /* ----------------------------------------- */ +} +.sw5e.sheet .window-content { + overflow-y: hidden; + padding: 5px; + background: url("ui/parchment.webp") repeat; + font-size: 13px; + color: #191813; +} +.sw5e.sheet .window-content form { + height: 100%; + overflow: hidden; +} +.sw5e.sheet .window-content .tab { + height: 100%; + overflow-y: auto; + align-content: flex-start; +} +.sw5e.sheet input[type="text"] { + background: none; + border: 1px solid transparent; +} +.sw5e.sheet input[type="text"]:hover, +.sw5e.sheet input[type="text"]:focus { + border: 1px solid #111; +} +.sw5e.sheet select { + flex: 1; + font-size: 12px; + height: 22px; + background: transparent; +} +.sw5e.sheet .editable .rollable:hover { + color: #000; + text-shadow: 0 0 10px red; + cursor: pointer; +} +.sw5e.sheet .editor { + height: 100%; +} +.sw5e.sheet .editor .tox-toolbar-overlord, +.sw5e.sheet .editor .tox-toolbar__primary { + background: none; +} +.sw5e.sheet .sheet-header { + flex: 0 0 100px; + border-bottom: 2px groove #eeede0; + font-family: "Russo One"; + font-size: 14px; + /* Character Name */ + /* Profile Image */ + /* Header Summary Details */ +} +.sw5e.sheet .sheet-header h1 { + flex: 2; + border-bottom: none; + height: 60px; + margin: 0; + padding: 5px; +} +.sw5e.sheet .sheet-header h1 input { + height: 50px; + font-size: 22px; + text-transform: uppercase; +} +.sw5e.sheet .sheet-header img.profile { + flex: 0 0 100px; + max-width: 100px; + height: 100px; + object-fit: cover; + border: none; + border-right: 2px groove #eeede0; +} +.sw5e.sheet .sheet-header .summary { + flex: 0 0 100%; + height: 40px; + margin: 0; + padding: 0; + list-style: none; + border-top: 2px groove #eeede0; + border-bottom: none; +} +.sw5e.sheet .sheet-header .summary li { + width: 33.33%; + float: left; + height: 34px; + margin: 2px 0; + padding: 0 3px; + border-right: 2px groove #eeede0; + line-height: 34px; + color: #4b4a44; +} +.sw5e.sheet .sheet-header .summary li:last-child { + border-right: none; +} +.sw5e.sheet .sheet-navigation { + flex: 0 0 30px; + margin-bottom: 5px; + font-family: "Russo One"; + font-size: 12px; +} +.sw5e.sheet .sheet-navigation .item { + height: 30px; + line-height: 32px; + margin: 0 24px; + border-bottom: 3px solid #b5b3a4; +} +.sw5e.sheet .sheet-navigation .item.active { + border-bottom: 3px solid #44191A; +} +.sw5e.sheet .sheet-body { + flex: 1; + overflow: hidden; + font-family: "Open Sans"; +} +.sw5e.sheet .sheet-body h1 { + font-family: "Russo One"; + font-size: 22px; + text-transform: uppercase; + color: #c40f0f; + border: 0px; +} +.sw5e.sheet .sheet-body h2 { + font-family: "Russo One"; + font-size: 18px; + text-transform: uppercase; + color: #c40f0f; +} +.sw5e.sheet .sheet-body th { + font-family: "Russo One"; + text-transform: uppercase; + color: #c40f0f; +} +.sw5e.sheet .sheet-body tr:nth-child(odd) { + background-color: #c9d6db; +} +.sw5e.sheet .sheet-body tr:nth-child(even) { + background-color: #bdc8cc; +} +.sw5e.sheet .sheet-body .smalltable table { + width: 200px; + border: 0px; + margin: 0.5em 0.5em; +} +.sw5e.sheet .sheet-body .smalltable td:nth-child(odd) { + width: 50px; + margin: 0.5em 0.5em; +} +.sw5e.sheet .sheet-body .smalltable td:nth-child(even) { + width: 150px; + margin: 0.5em 0.5em; + padding: 0px 10px 0px 10px; +} +.sw5e.sheet .sheet-body .smalltable thead { + border-bottom: 0px; +} +.sw5e.sheet .sheet-body .smalltable th { + color: #000000; + text-shadow: none; + border-bottom: 0px; + background-color: #bdc8cc; + text-transform: none; + font-weight: bold; + font-family: 'Open Sans'; +} +.sw5e.sheet .sheet-body .medtable table { + width: 500px; + border: 0px; + margin: 0.5em 0.5em; +} +.sw5e.sheet .sheet-body .medtable td:nth-child(odd) { + width: 50px; + margin: 0.5em 0.5em; +} +.sw5e.sheet .sheet-body .medtable td:nth-child(even) { + width: 450px; + margin: 0.5em 0.5em; + padding: 0px 10px 0px 10px; +} +.sw5e.sheet .sheet-body .medtable thead { + border-bottom: 0px; +} +.sw5e.sheet .sheet-body .medtable th { + color: #000000; + text-shadow: none; + border-bottom: 0px; + background-color: #bdc8cc; + text-transform: none; + font-weight: bold; + font-family: 'Open Sans'; +} +.sw5e.sheet .sheet-body .classtable blockquote { + border-left: 0px; + border-right: 0px; +} +.sw5e.sheet .sheet-body .classtable table { + width: 100%; + border-collapse: collapse; + background: rgba(0, 0, 0, 0.05); + border-left: 0px; + border-right: 0px; + border-top: 0; + border-bottom: 0; + margin: 0.5em 0; + font-style: normal; + font-weight: normal; + text-shadow: none; +} +.sw5e.sheet .sheet-body .classtable thead { + color: #000000; + text-shadow: none; + border-bottom: 0px; + background-color: #bdc8cc; + text-transform: none; + font-style: normal; + font-weight: normal; + font-family: 'Open Sans'; +} +.sw5e.sheet .sheet-body .classtable th { + color: #000000; + text-shadow: none; + border-bottom: 0px; + background-color: #bdc8cc; + text-transform: none; + font-style: normal; + font-weight: bold; + font-family: 'Open Sans'; +} +.sw5e.sheet .filter-list { + list-style: none; + margin: 0; + padding: 0; + line-height: 16px; +} +.sw5e.sheet .filter-list .filter-title { + flex: 3; +} +.sw5e.sheet .filter-list .filter-item { + text-align: center; + font-size: 12px; + margin: 0 6px; + border-bottom: 3px solid #b5b3a4; + white-space: nowrap; +} +.sw5e.sheet .filter-list .filter-item:hover { + text-shadow: 0 0 4px red; + border-bottom: 3px solid #7a7971; +} +.sw5e.sheet .filter-list .filter-item.active { + border-bottom: 3px solid #44191A; +} +.sw5e.sheet .trait-selector { + flex: 0 0 16px; + padding: 2px 0; + color: #999; + font-size: 10px; +} +.sw5e.sheet .traits-list { + line-height: 20px; + list-style: none; + margin: 0; + padding: 0; + text-align: right; +} +/* ----------------------------------------- */ +/* Trait Selector +/* ----------------------------------------- */ +#trait-selector .trait-list { + list-style: none; + margin: 0; + padding: 0; +} +#trait-selector input[type="text"] { + height: 24px; + margin: 2px; +} +.sw5e.sheet.actor { + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* General Styles */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Attributes */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Ability Scores */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Skills */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Statuses */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Traits */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Inventory Lists */ + /* ----------------------------------------- */ + /* Inventory List Filters */ + /* ----------------------------------------- */ + /* Powerbook */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* TinyMCE */ + /* ----------------------------------------- */ +} +.sw5e.sheet.actor .sheet-header .charlevel { + flex: 0 0 160px; + height: 60px; + margin: 0; + padding: 5px; + text-align: right; +} +.sw5e.sheet.actor .sheet-header .charlevel .level { + width: 100%; + height: 30px; + font-size: 18px; + line-height: 30px; +} +.sw5e.sheet.actor .sheet-header .charlevel .level label { + display: inline; + font-size: 18px; + text-align: right; +} +.sw5e.sheet.actor .sheet-header .charlevel .level input { + display: inline; + width: 36px; + font-size: 18px; + text-align: center; +} +.sw5e.sheet.actor .sheet-header .charlevel .level.noxp { + margin-top: 10px; +} +.sw5e.sheet.actor .sheet-header .charlevel .level.noxp > label { + font-size: 32px; +} +.sw5e.sheet.actor .sheet-header .charlevel .level.noxp > input { + font-size: 18px; + flex: 0 0 40px; + height: 44px; +} +.sw5e.sheet.actor .sheet-header .charlevel .experience { + width: 100%; + height: 20px; + padding-right: 5px; + font-size: 16px; + color: #4b4a44; +} +.sw5e.sheet.actor .attributes input.temphp { + width: 48%; +} +.sw5e.sheet.actor h4.box-title { + line-height: 16px; + margin: 4px 8px 2px; + font-size: 14px; + border-bottom: 1px solid #b5b3a4; +} +.sw5e.sheet.actor ul.attributes { + list-style: none; + margin: 5px 0 0; + padding: 0; +} +.sw5e.sheet.actor ul.attributes li.attribute { + height: 70px; + margin: 0 5px; + border: 2px groove #eeede0; + border-radius: 4px; + font-family: "Russo One"; + font-size: 12px; + text-align: center; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-name { + flex: 0 0 18px; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-value { + height: 28px; + line-height: 28px; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-value input { + display: inline; + max-width: 80%; + height: 28px; + margin: 0; + font-size: 14px; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-value span.sep { + display: inline; + position: relative; + top: 2px; + font-size: 28px; + color: #7a7971; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-value.multiple input { + max-width: 33%; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-footer { + flex: 0 0 18px; + margin-top: -1px; + line-height: 18px; + font-family: "Signika", "Palatino Linotype", serif; + font-size: 12px; +} +.sw5e.sheet.actor .ability-scores { + flex: 0 0 100%; + list-style: none; + margin: 0; + padding: 0; + font-family: "Russo One"; + font-size: 8px; +} +.sw5e.sheet.actor .ability-scores .ability { + height: 70px; + margin: 0 5px; + text-align: center; + border: 2px groove #eeede0; + border-radius: 3px; + /* Hide modifier box on hover */ +} +.sw5e.sheet.actor .ability-scores .ability input.ability-score { + height: 30px; + width: 50px; + margin: 0 auto; + line-height: 32px; + font-size: 16px; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers { + height: 24px; + margin: -10px 0 0; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-mod, +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-save { + flex: 0 0 24px; + height: 24px; + border-top: 2px groove #eeede0; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-mod { + border-right: 2px groove #eeede0; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers .ability-proficiency { + line-height: 30px; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-save { + border-left: 2px groove #eeede0; +} +.sw5e.sheet.actor .ability-scores .ability input.ability-score:hover + .ability-modifiers { + visibility: hidden; +} +.sw5e.sheet.actor .proficiency-toggle { + color: #b5b3a4; + font-size: 12px; +} +.sw5e.sheet.actor .proficient .proficiency-toggle { + color: #4b4a44; +} +.sw5e.sheet.actor .locked .proficiency-toggle { + color: #b5b3a4; + text-shadow: none; + cursor: default; +} +.sw5e.sheet.actor ul.skills-list { + flex: 0 0 192px; + list-style: none; + margin: 5px 5px 0; + padding: 2px 2px 0; + border: 2px groove #eeede0; + border-radius: 3px; +} +.sw5e.sheet.actor ul.skills-list li.skill { + height: 22px; + padding: 3px 0; +} +.sw5e.sheet.actor ul.skills-list li.skill h4 { + flex: 1px; + margin: 0; + font-size: 11px; + line-height: 18px; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-proficiency { + flex: 0 0 16px; + line-height: 18px; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-ability { + flex: 0 0 26px; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-mod { + flex: 0 0 20px; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-passive { + flex: 0 0 26px; + text-align: center; + color: #7a7971; +} +.sw5e.sheet.actor .counters { + flex: 0 0 100%; + border-bottom: 2px groove #eeede0; + margin-bottom: 5px; +} +.sw5e.sheet.actor .counters .counter { + padding: 0 3px; + line-height: 32px; +} +.sw5e.sheet.actor .counters .counter h4 { + flex: auto; + margin: 0; + font-family: "Russo One"; + font-size: 14px; + font-size: 10px; +} +.sw5e.sheet.actor .counters .counter .counter-value { + flex: 0 0 50px; + text-align: right; +} +.sw5e.sheet.actor .counters .counter .counter-value > * { + display: inline; +} +.sw5e.sheet.actor .counters .counter input[type="text"] { + height: 20px; + max-width: 20px; + margin: 0; + padding: 0; + text-align: center; +} +.sw5e.sheet.actor .counters .counter input[type="checkbox"] { + position: relative; + margin: 0; + top: 6px; +} +.sw5e.sheet.actor .counters .counter span.sep { + margin: 0 -2px; + font-size: 12px; +} +.sw5e.sheet.actor .traits { + margin: 0 5px; +} +.sw5e.sheet.actor .traits .form-group, +.sw5e.sheet.actor .traits .form-group-stacked { + margin: 0 0 4px 0; + justify-content: space-between; +} +.sw5e.sheet.actor .traits .configure-flags { + flex: 1; +} +.sw5e.sheet.actor .traits .actor-size { + flex: 0 0 150px; +} +.sw5e.sheet.actor .traits label { + flex: 0 0 150px; + line-height: 20px; + font-weight: bold; + margin: 0; +} +.sw5e.sheet.actor .traits input { + text-align: right; +} +.sw5e.sheet.actor .traits i.fas { + float: right; + margin-right: 3px; + text-align: right; + color: #999; +} +.sw5e.sheet.actor .traits i.fas:hover { + color: #111; + text-shadow: 0 0 10px red; +} +.sw5e.sheet.actor .traits .inactive { + color: #7a7971; +} +.sw5e.sheet.actor .tab.features, +.sw5e.sheet.actor .tab.inventory, +.sw5e.sheet.actor .tab.powerbook { + overflow-y: hidden; +} +.sw5e.sheet.actor .inventory-filters { + margin: 0 8px; + flex: 0 0 20px; +} +.sw5e.sheet.actor .inventory-filters h3, +.sw5e.sheet.actor .inventory-filters .filter-title { + font-family: "Russo One"; + font-size: 10px; + color: #4b4a44; + font-size: 12px; + margin: 0; +} +.sw5e.sheet.actor .inventory-filters.powerbook-filters { + flex: 0 0 40px; +} +.sw5e.sheet.actor .inventory-filters .currency { + list-style: none; + margin: 4px 0 8px; + padding: 0; + font-size: 12px; +} +.sw5e.sheet.actor .inventory-filters .currency label { + flex: 0; + margin-left: 8px; + text-align: right; + line-height: 20px; + color: #7a7971; +} +.sw5e.sheet.actor .inventory-filters .currency input[type="text"] { + flex: 0 0 48px; + text-align: center; + margin-left: 8px; + border-bottom: 2px groove #eeede0; +} +.sw5e.sheet.actor .inventory-list { + list-style: none; + margin: 0; + padding: 0 5px; + overflow-y: auto; +} +.sw5e.sheet.actor .inventory-list .item { + line-height: 30px; + padding: 0 2px; + border-bottom: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .inventory-list .item:last-child { + border-bottom: none; +} +.sw5e.sheet.actor .inventory-list .item .item-name { + cursor: pointer; + max-height: 30px; + overflow: hidden; +} +.sw5e.sheet.actor .inventory-list .item .item-name .item-image { + flex: 0 0 30px; + background-size: 30px; + margin-right: 5px; +} +.sw5e.sheet.actor .inventory-list .item .item-name h4 { + margin: 0; + white-space: nowrap; + overflow-x: hidden; +} +.sw5e.sheet.actor .inventory-list .item .item-name.rollable .item-image:hover { + background-image: url("/icons/svg/d20-black.svg") !important; +} +.sw5e.sheet.actor .inventory-list .item .item-name.rollable:hover .item-image { + background-image: url("/icons/svg/d20-grey.svg") !important; +} +.sw5e.sheet.actor .inventory-list .item .item-name i.attuned { + color: #7a7971; +} +.sw5e.sheet.actor .inventory-list .item .item-uses input { + width: 24px; + text-align: center; +} +.sw5e.sheet.actor .inventory-list .item .item-properties { + margin-top: 3px; +} +.sw5e.sheet.actor .inventory-list .item .item-recharge { + flex: 0 0 80px; + text-align: right; + font-size: 11px; + color: #7a7971; +} +.sw5e.sheet.actor .inventory-list .inventory-header { + margin: 2px 0; + padding: 0; + background: rgba(0, 0, 0, 0.05); + border: 2px groove #eeede0; + font-weight: bold; + line-height: 24px; +} +.sw5e.sheet.actor .inventory-list .inventory-header h3 { + margin: 0 -5px 0 0; + padding-left: 5px; + font-size: 13px; + font-weight: bold; +} +.sw5e.sheet.actor .inventory-list .inventory-header .item-controls a.item-create { + flex: 0 0 100%; +} +.sw5e.sheet.actor .inventory-list .item-detail { + flex: 0 0 70px; + font-size: 12px; + color: #7a7971; + text-align: center; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .inventory-list .item-detail:last-child { + border-right: none; +} +.sw5e.sheet.actor .inventory-list .item-detail.item-action { + flex: 0 0 100px; +} +.sw5e.sheet.actor .inventory-list .item-weight { + flex: 0 0 60px; + border-left: 1px solid #c9c7b8; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .inventory-list .item-list { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.actor .inventory-list .item-controls { + flex: 0 0 44px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + justify-content: flex-end; +} +.sw5e.sheet.actor .inventory-list .item-controls > * { + flex: 1; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex1 { + flex: 1; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex2 { + flex: 2; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex3 { + flex: 3; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex4 { + flex: 4; +} +.sw5e.sheet.actor .inventory-list .item-controls a { + flex: 0 0 22px; + font-size: 12px; + text-align: center; + color: #7a7971; +} +.sw5e.sheet.actor .inventory-list .item-summary { + flex: 0 0 100%; + font-size: 12px; + line-height: 16px; + padding: 0.25em 0.5em; + border-top: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .powercasting-ability h3, +.sw5e.sheet.actor .pact-slots h3 { + flex: none; + margin-right: 5px; +} +.sw5e.sheet.actor .powercasting-ability input, +.sw5e.sheet.actor .pact-slots input, +.sw5e.sheet.actor .powercasting-ability span, +.sw5e.sheet.actor .pact-slots span { + flex: 0 0 32px; + text-align: center; +} +.sw5e.sheet.actor .powercasting-ability select, +.sw5e.sheet.actor .pact-slots select { + margin: 0 5px; + flex: 0 0 150px; +} +.sw5e.sheet.actor .powercasting-ability h3.power-dc, +.sw5e.sheet.actor .pact-slots h3.power-dc { + flex: 1; + text-align: right; +} +.sw5e.sheet.actor .pact-slots { + align-items: center; +} +.sw5e.sheet.actor .power-slots, +.sw5e.sheet.actor .power-comps { + flex: 0 0 72px; + padding-right: 5px; + text-align: right; + font-size: 12px; + color: #7a7971; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .power-slots input, +.sw5e.sheet.actor .power-slots span.sep { + display: inline; + max-width: 20px; + text-align: center; +} +.sw5e.sheet.actor .power-uses { + padding-right: 8px; + text-align: right !important; +} +.sw5e.sheet.actor .power-school, +.sw5e.sheet.actor .power-action, +.sw5e.sheet.actor .power-target { + flex: 0 0 100px; + font-size: 12px; + color: #7a7971; + text-align: center; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .power-component { + line-height: 14px; +} +.sw5e.sheet.actor .power-component.C, +.sw5e.sheet.actor .power-component.R { + display: inline-block; + text-align: center; + padding-top: 1px; + width: 16px; + color: #c9c7b8; + background: rgba(0, 0, 0, 0.4); + border: 1px solid transparent; + border-radius: 8px; +} +.sw5e.sheet.actor .powerbook-empty .item-controls { + flex: 1; +} +.sw5e.sheet.actor .editor { + padding: 0 8px; +} +.sw5e.sheet.item { + min-height: 520px; + min-width: 700px; + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Item Details Form */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Item Actions */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Item Actions */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Loot Sheet (No Tabs) */ + /* ----------------------------------------- */ +} +.sw5e.sheet.item .sheet-header img.profile { + border: 2px solid #000; +} +.sw5e.sheet.item .sheet-header .item-subtitle { + flex: 1 0 80px; + height: 60px; + margin: 0; + padding: 5px; + text-align: right; + color: #7a7971; +} +.sw5e.sheet.item .sheet-header .item-subtitle .item-type { + font-size: 16px; + line-height: 26px; + margin: 0; +} +.sw5e.sheet.item .sheet-header .item-subtitle .item-status { + font-size: 16px; + line-height: 24px; +} +.sw5e.sheet.item .sheet-navigation { + margin-bottom: 5px; +} +.sw5e.sheet.item .sheet-navigation .item { + font-size: 14px; +} +.sw5e.sheet.item .sheet-body { + overflow: hidden; + font-family: "Open Sans"; +} +.sw5e.sheet.item .sheet-body h2 { + font-family: "Russo One"; + font-size: 18px; + border-bottom: 2px solid #0d99cc; +} +.sw5e.sheet.item .sheet-body h3 { + font-family: "Russo One"; + color: #c40f0f; + text-transform: uppercase; +} +.sw5e.sheet.item .sheet-body .tab { + padding: 0 5px; + overflow: hidden auto; +} +.sw5e.sheet.item .sheet-body .item-properties { + flex: 0 0 120px; + margin: 5px 5px 5px 0; + padding-right: 5px; + border-right: 2px groove #eeede0; +} +.sw5e.sheet.item .sheet-body .item-properties .form-group { + margin: 0; +} +.sw5e.sheet.item .sheet-body .item-properties .form-group label { + line-height: 20px; +} +.sw5e.sheet.item .sheet-body .item-properties .form-group input { + text-align: right; +} +.sw5e.sheet.item .sheet-body .item-properties .properties-list { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.item .sheet-body .item-properties .properties-list li { + margin: 3px 0; + padding: 0 2px; + background: rgba(0, 0, 0, 0.05); + border: 2px groove #eeede0; + text-align: center; + font-size: 12px; + line-height: 18px; +} +.sw5e.sheet.item .details input[type="text"], +.sw5e.sheet.item .details select { + height: 24px; + border: 1px solid #7a7971; + background: rgba(0, 0, 0, 0.05); +} +.sw5e.sheet.item .details .form-group span { + text-align: center; + line-height: 24px; +} +.sw5e.sheet.item .details .form-group.input-select select { + flex: 1.8; +} +.sw5e.sheet.item .details .form-group.input-select-select select { + flex: 1.5; +} +.sw5e.sheet.item .details .form-group.uses-per input { + flex: 1; +} +.sw5e.sheet.item .details .form-group.uses-per span { + flex: 0 0 16px; +} +.sw5e.sheet.item .details .form-group.uses-per select { + flex: 3; +} +.sw5e.sheet.item .details span.sep { + flex: 0 0 8px; +} +.sw5e.sheet.item .details .prepared { + flex: 1.3 !important; + text-align: right; + padding-right: 10px; +} +.sw5e.sheet.item .details .power-materials { + flex: 0 0 100%; + margin: 0.25em 0; + justify-content: flex-end; +} +.sw5e.sheet.item .details .power-materials label { + flex: 0 0 64px; + text-align: right; + margin-right: 5px; + font-size: 12px; + line-height: 24px; +} +.sw5e.sheet.item .details .power-materials input[type="text"] { + flex: 0 0 48px; + margin-right: 10px; +} +.sw5e.sheet.item h4.damage-header { + margin: 0; + padding: 0; + font-weight: bold; + line-height: 24px; + color: #4b4a44; +} +.sw5e.sheet.item .damage-parts { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.item .damage-parts .damage-part { + flex: 0 0 100%; + padding: 0; +} +.sw5e.sheet.item .damage-parts .damage-part input { + flex: 3; +} +.sw5e.sheet.item .damage-parts .damage-part select { + margin-left: 5px; + flex: 1; +} +.sw5e.sheet.item .damage-control { + width: 18px; + flex: 0 0 18px; + line-height: 24px; + float: right; + text-align: right; + color: #7a7971; +} + +.sw5e.sheet.item h4.armorproperties-header { + margin: 0; + padding: 0; + font-weight: bold; + line-height: 24px; + color: #4b4a44; +} +.sw5e.sheet.item .armorproperties-parts { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.item .armorproperties-parts .armorproperties-part { + flex: 0 0 100%; + padding: 0; +} +.sw5e.sheet.item .armorproperties-parts .armorproperties-part input { + flex: 3; +} +.sw5e.sheet.item .armorproperties-parts .armorproperties-part select { + margin-left: 5px; + flex: 1; +} +.sw5e.sheet.item .armorproperties-control { + width: 18px; + flex: 0 0 18px; + line-height: 24px; + float: right; + text-align: right; + color: #7a7971; + +} + +.sw5e.sheet.item h4.weaponproperties-header { + margin: 0; + padding: 0; + font-weight: bold; + line-height: 24px; + color: #4b4a44; +} +.sw5e.sheet.item .weaponproperties-parts { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.item .weaponproperties-parts .weaponproperties-part { + flex: 0 0 100%; + padding: 0; +} +.sw5e.sheet.item .weaponproperties-parts .weaponproperties-part input { + flex: 3; +} +.sw5e.sheet.item .weaponproperties-parts .weaponproperties-part select { + margin-left: 5px; + flex: 1; +} +.sw5e.sheet.item .weaponproperties-control { + width: 18px; + flex: 0 0 18px; + line-height: 24px; + float: right; + text-align: right; + color: #7a7971; +} + +.sw5e.sheet.item .recharge span { + flex: 0 0 80px; +} +.sw5e.sheet.item .recharge label.checkbox { + flex: 0 0 80px; + text-align: right; +} +.sw5e.sheet.item .weapon-properties label.checkbox { + flex: 0 0 98px; +} +.sw5e.sheet.item .loot-header { + margin-bottom: 10px; +} +.sw5e.sheet.item blockquote { + box-sizing: border-box; + font-family: 'Open Sans'; + margin-bottom: 1em; + padding: 5px 10px; + background-color: #bdc8cc; + border: 0px solid #0d99cc; + border-spacing: 0em; + border-image: none; + box-shadow: 0px 0px 20px rgba(13, 153, 204, 0.5); + border-top: 0.1em solid #0d99cc; + border-bottom: 0.1em solid #0d99cc; + border-left: 0.1em solid #0d99cc; + border-right: 0.1em solid #0d99cc; + color: #000000; + font-size: 1em; +} + +.sw5e.sheet.item blockquote h3 { + font-family: 'Russo One'; + color: #000000 !important; +} +/* ----------------------------------------- */ +/* Chat Cards +/* ----------------------------------------- */ +.sw5e.chat-card { + font-style: normal; + font-size: 12px; +} +.sw5e.chat-card .card-header { + padding: 3px 0; + border-top: 2px groove #FFF; + border-bottom: 2px groove #FFF; +} +.sw5e.chat-card .card-header img { + flex: 0 0 36px; + margin-right: 5px; +} +.sw5e.chat-card .card-header h3 { + flex: 1; + margin: 0; + line-height: 36px; + font-family: "Russo One"; + font-size: 10px; + color: #4b4a44; +} +.sw5e.chat-card .card-header h3:hover { + color: #111; + text-shadow: 0 0 10px red; +} +.sw5e.chat-card .card-content { + margin: 5px 0; +} +.sw5e.chat-card .card-content h3 { + font-size: 12px; + margin: 0; + font-weight: bold; +} +.sw5e.chat-card .card-content > * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} +.sw5e.chat-card .card-buttons { + margin: 5px 0; +} +.sw5e.chat-card .card-buttons span { + display: block; + line-height: 28px; + text-align: center; + border: 1px solid #CCC; +} +.sw5e.chat-card .card-buttons button { + font-size: 12px; + height: 24px; + line-height: 20px; + margin: 2px 0; +} +.sw5e.chat-card .card-footer { + padding: 3px 0 0; + border-top: 2px groove #FFF; +} +.sw5e.chat-card .card-footer span { + border-right: 2px groove #FFF; + padding: 0 5px 0 0; + font-size: 10px; +} +.sw5e.chat-card .card-footer span:last-child { + border-right: none; + padding-right: 0; +} +.dice-roll .dice-total.success { + color: inherit; + background: #c7d0c0; + border: 1px solid #006c00; +} +.dice-roll .dice-total.failure { + color: inherit; + background: #ffdddd; + border: 1px solid #6e0000; +} +.dice-roll .dice-total.critical { + color: green; +} +.dice-roll .dice-total.fumble { + color: red; +} +/* ----------------------------------------- */ +/* Basic Structure */ +/* ----------------------------------------- */ +.sw5e.sheet.actor.character { + min-width: 680px; + min-height: 736px; + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Body */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Inventory */ + /* ----------------------------------------- */ + /* Encumbrance Bar */ + /* ----------------------------------------- */ + /* Item Controls */ + /* ----------------------------------------- */ +} +.sw5e.sheet.actor.character .sheet-header img.profile { + flex: 0 0 180px; + max-width: 180px; + height: 180px; +} +.sw5e.sheet.actor.character .sheet-header .charlevel { + flex: 0 0 180px; + padding: 0 5px 2px; +} +.sw5e.sheet.actor.character .sheet-header .charlevel .level { + height: 28px; +} +.sw5e.sheet.actor.character .sheet-header .charlevel .experience input[type="text"] { + width: 100px; +} +.sw5e.sheet.actor.character .sheet-header .charlevel .xpbar { + width: 100%; + flex: 0 0 8px; + background: #666; + border: 1px solid #000; + border-radius: 3px; +} +.sw5e.sheet.actor.character .sheet-header .charlevel .xpbar .bar { + height: 4px; + margin: 1px; + display: block; + background: #afebff; + border: 1px solid #000; + border-radius: 2px; +} +.sw5e.sheet.actor.character .sheet-header .summary { + border-bottom: 2px groove #eeede0; +} +.sw5e.sheet.actor.character .sheet-header .attributes { + height: 80px; + margin: 0; +} +.sw5e.sheet.actor.character .sheet-header .attributes .attribute { + height: 80px; + margin: 0; + border: none; + border-right: 2px groove #eeede0; + border-radius: 0; +} +.sw5e.sheet.actor.character .sheet-header .attributes .attribute:last-child { + border-right: none; +} +.sw5e.sheet.actor.character .sheet-header .attributes .attribute .attribute-value { + margin: 5px 0 0; + height: 32px; + line-height: 32px; +} +.sw5e.sheet.actor.character .sheet-header .attributes .attribute .attribute-name { + margin-top: 6px; +} +.sw5e.sheet.actor.character .sheet-header .attributes .attribute .attribute-footer { + margin-bottom: 2px; +} +.sw5e.sheet.actor.character .sheet-header .attributes a.rest { + border: 1px solid #b5b3a4; + border-radius: 2px; + background: rgba(0, 0, 0, 0.05); + padding: 1px 3px; + margin: 0 6px; +} +.sw5e.sheet.actor.character .sheet-header .attributes .hit-dice { + font-size: 16px; +} +.sw5e.sheet.actor.character .attributes .resource .attribute-name { + margin: 0 8px; +} +.sw5e.sheet.actor.character .attributes .resource .attribute-name input[type="text"] { + height: 20px; + margin: 2px 0 -2px; + line-height: 24px; +} +.sw5e.sheet.actor.character .attributes .resource label.checkbox { + margin: 0 3px; +} +.sw5e.sheet.actor.character .attributes .resource label.checkbox input[type="checkbox"] { + transform: scale(1.2); +} +.sw5e.sheet.actor.character .attributes .initiative .attribute-footer input { + width: 32px; +} +.sw5e.sheet.actor.character ul.skills-list { + flex: 0 0 212px; +} +.sw5e.sheet.actor.character ul.skills-list li.skill { + padding: 3px; +} +.sw5e.sheet.actor.character ul.skills-list li.skill h4 { + flex: 1px; + margin: 0; + font-size: 13px; +} +.sw5e.sheet.actor.character .counters .death-saves { + flex: 2; +} +.sw5e.sheet.actor.character .counters .death-saves .counter-value { + flex: 0 0 90px; +} +.sw5e.sheet.actor.character .item-detail.player-class { + flex: 0 0 180px; + text-align: right; + padding-right: 10px; +} +.sw5e.sheet.actor.character .encumbrance { + flex: 0 0 12px; + background: #7a7971; + margin: 1px 15px 0 1px; + border: 1px solid #191813; + border-radius: 3px; + position: relative; +} +.sw5e.sheet.actor.character .encumbrance .encumbrance-bar { + position: absolute; + top: 1px; + left: 1px; + background: #6c8aa5; + height: 8px; + border: 1px solid #cde4ff; + border-radius: 2px; +} +.sw5e.sheet.actor.character .encumbrance .encumbrance-label { + height: 10px; + padding: 0 5px; + position: absolute; + top: 0; + right: 0; + font-size: 13px; + line-height: 12px; + text-align: right; + color: #EEE; + text-shadow: 0 0 5px #000; +} +.sw5e.sheet.actor.character .encumbrance .encumbrance-breakpoint { + display: block; + position: absolute; +} +.sw5e.sheet.actor.character .encumbrance .encumbrance-breakpoint.encumbrance-33 { + left: 33%; +} +.sw5e.sheet.actor.character .encumbrance .encumbrance-breakpoint.encumbrance-66 { + left: 66%; +} +.sw5e.sheet.actor.character .encumbrance .arrow-up { + bottom: 0; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-bottom: 4px solid #666; +} +.sw5e.sheet.actor.character .encumbrance .arrow-down { + top: 0; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #666; +} +.sw5e.sheet.actor.character .encumbrance.encumbered .arrow-up { + border-bottom: 4px solid #000; +} +.sw5e.sheet.actor.character .encumbrance.encumbered .arrow-down { + border-top: 4px solid #000; +} +.sw5e.sheet.actor.character .inventory .item-controls, +.sw5e.sheet.actor.character .powerbook .item-controls { + flex: 0 0 68px; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle { + color: #b5b3a4; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.active, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.active { + color: #4b4a44; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.fixed, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.fixed { + color: #44191A; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.fixed:hover, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.fixed:hover { + text-shadow: none; +} +/* ----------------------------------------- */ +/* Basic Structure */ +/* ----------------------------------------- */ +.sw5e.sheet.actor.npc { + min-width: 800px; + min-height: 658px; +} +/* ----------------------------------------- */ +/* Journal Entry +/* ----------------------------------------- */ +.journal-sheet .window-content { + padding: 0; + background: url("ui/parchment.webp") repeat; +} +.journal-sheet form { + overflow: hidden; + padding: 5px; + font-family: "Open Sans"; + background: url("ui/parchment.webp") repeat; +} +.journal-sheet form h2 { + font-family: "Russo One"; + font-size: 18px; + text-transform: uppercase; + color: #c40f0f; +} + +.journal-sheet form input[name="name"] { + height: 36px; + font-family: "Russo One"; + font-size: 24px; + text-transform: uppercase; + color: #c40f0f; + line-height: 36px; +} +.journal-sheet form select { + width: 100%; + height: 30px; + margin: 5px 0; +} +.journal-sheet form .editor { + height: calc(100% - 115px); +} +.journal-sheet form button[type="submit"] { + margin-top: 5px; +} +.journal-sheet form img { + border: none +} +.journal-sheet form table { + border: none; + background-color: none; +} +/* ---------------------------------------- */ +/* Roll Table Sheet */ +/* ---------------------------------------- */ +.roll-table-config .window-content { + background: url("ui/parchment.webp") repeat; +} +.roll-table-config form { + background: url("ui/parchment.webp") repeat; +} +.roll-table-config h1.name input { + width: 100%; + height: 36px; + margin: 0 0 5px; + font-family: "Russo One"; + font-size: 24px; + text-transform: uppercase; + color: #c40f0f; +} +.roll-table-config textarea { + resize: none; + min-height: 44px; + font-family: "Open Sans"; + background: url("ui/parchment.webp") repeat; +} +.roll-table-config ol.table-results { + list-style: none; + margin: 0; + padding: 0; + max-height: 600px; + overflow-y: auto; +} +.roll-table-config ol.table-results .table-result { + padding: 2px 0; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; +} +.roll-table-config ol.table-results .table-result input[type="text"] { + width: 100%; + height: 28px; +} +.roll-table-config ol.table-results .table-result > div { + line-height: 36px; + margin-right: 5px; +} +.roll-table-config ol.table-results .table-result .result-image { + flex: 0 0 36px; + width: 36px; + height: 36px; + text-align: center; + margin: 0; +} +.roll-table-config ol.table-results .table-result .result-image img { + border: none; + object-fit: cover; + object-position: 50% 0; +} +.roll-table-config ol.table-results .table-result .result-type { + flex: 0 0 110px; +} +.roll-table-config ol.table-results .table-result .result-details { + flex: 1; +} +.roll-table-config ol.table-results .table-result .result-details select { + width: 40%; +} +.roll-table-config ol.table-results .table-result .result-details .result-target { + width: 58%; + margin-left: 3px; +} +.roll-table-config ol.table-results .table-result .result-weight { + flex: 0 0 50px; + text-align: center; +} +.roll-table-config ol.table-results .table-result .result-range { + flex: 0 0 92px; + text-align: center; +} +.roll-table-config ol.table-results .table-result .result-range input { + width: 36px; +} +.roll-table-config ol.table-results .table-result .result-controls { + flex: 0 0 40px; + margin: 0; + text-align: center; +} +.roll-table-config ol.table-results .table-result .result-controls a { + width: 20px; +} +.roll-table-config ol.table-results .table-result .result-controls .lock-result { + color: #b5b3a4; +} +.roll-table-config ol.table-results .table-result.roulette { + background: url("ui/parchment.webp") repeat; + border-top: 1px solid #000; + border-bottom: 1px solid #000; +} +.roll-table-config ol.table-results .table-result.drawn { + background: rgba(0, 0, 0, 0.15); +} +.roll-table-config ol.table-results .table-result.drawn .lock-result { + color: #111; +} +.roll-table-config ol.table-results .table-header { + background: url("ui/parchment.webp") repeat; + border: 1px solid #7a7971; + line-height: 24px; + font-weight: bold; +} +.icon:before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} +a.entity-link { + background: #DDD; + padding: 1px 4px; + border: 1px solid #4b4a44; + border-radius: 2px; + white-space: nowrap; + word-break: break-all; +} +a.entity-link i::before { + content: url("ui/jedi-order.svg") !important; + display: inline-block; + position: relative; + top: 2px; + height: 15px; + width: 15px; +} diff --git a/sw5e-update.css b/sw5e-update.css new file mode 100644 index 00000000..61dc98c1 --- /dev/null +++ b/sw5e-update.css @@ -0,0 +1,757 @@ +/* ----------------------------------------- */ +/* Fonts */ +/* ----------------------------------------- */ +/* russo-one-regular - latin */ +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: italic; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 700; + src: url('./fonts/RussoOne.ttf'); +} +/* open-sans-regular - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('./fonts/OpenSans-Regular.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: url('./fonts/OpenSans-Italic.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: url('./fonts/OpenSans-Bold.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: url('./fonts/OpenSans-BoldItalic.ttf'); +} +/* ----------------------------------------- */ +/* Sheet Styles */ +/* ----------------------------------------- */ +html { + box-sizing: border-box; +} +*, +*:before, +*:after { + box-sizing: inherit; +} +::-webkit-scrollbar-track { + border: 1px solid #0d99cc; + border-radius: 4px; +} +::-webkit-scrollbar-thumb { + outline: none; + border-radius: 4px; + background: #0d99cc; + border: none; +} +:root { + scrollbar-width: thin; + scrollbar-color: #0d99cc #afc6d6; +} +body { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 400; +} +h1 { + font-family: 'Russo One'; + font-size: 34px; + font-weight: 400; +} +h2 { + font-family: 'Russo One'; + font-size: 27px; + font-weight: 400; +} +h3 { + font-family: 'Russo One'; + font-size: 21px; + font-weight: 400; +} +h4 { + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; +} +h5, +h6 { + font-family: 'Russo One'; + font-size: 13px; + font-weight: 400; +} +a { + color: #c40f0f; + text-decoration: none; +} +a:hover, +a:active { + text-shadow: none; + text-decoration: underline; +} +.app { + background: linear-gradient(90deg, #afc6d6 0%, #D6D6D6 30%, #D6D6D6 70%, #afc6d6); + border: none; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#context-menu { + background: none; + border: none; + border-radius: 0; + color: #1C1C1C; + padding: 0 8px; +} +#context-menu ol.context-items { + background: white; + border-radius: 4px; + border: 1px solid #828282; + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); +} +#context-menu ol.context-items li.context-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +#context-menu ol.context-items li.context-item:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} +#context-menu ol.context-items li.context-item i { + color: #0d99cc; +} +#context-menu ol.context-items li.context-item:hover { + background: #c40f0f; + color: white; + text-shadow: none; + cursor: pointer; +} +#context-menu ol.context-items li.context-item:hover i { + color: white; +} +#context-menu ol.context-items li.context-item + li { + border-top: 1px solid #D6D6D6; +} +input[type="text"], +input[type="number"], +input[type="password"], +input[type="date"], +input[type="time"], +select, +textarea { + border: 1px solid #828282; + border-radius: 4px; + color: #1C1C1C; + transition: all 0.3s; +} +input[type="text"]:hover, +input[type="number"]:hover, +input[type="password"]:hover, +input[type="date"]:hover, +input[type="time"]:hover, +select:hover, +textarea:hover { + border-color: #4f4f4f; + box-shadow: none; +} +input[type="text"]:focus, +input[type="number"]:focus, +input[type="password"]:focus, +input[type="date"]:focus, +input[type="time"]:focus, +select:focus, +textarea:focus { + border-color: #c40f0f; + box-shadow: none; +} +input[type=range] { + -webkit-appearance: none; + /* Hides the slider so that custom slider can be made */ + width: 100%; + /* Specific width is required for Firefox. */ + background: transparent; + /* Otherwise white in Chrome */ +} +input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none; + background: #c40f0f; + width: 12px; + height: 12px; + border-radius: 32px; + cursor: pointer; + box-shadow: none; +} +input[type=range]::-moz-range-thumb { + -webkit-appearance: none; + background: #c40f0f; + width: 12px; + height: 12px; + border-radius: 32px; + cursor: pointer; + box-shadow: none; +} +input[type=range]::-ms-thumb { + -webkit-appearance: none; + background: #c40f0f; + width: 12px; + height: 12px; + border-radius: 32px; + cursor: pointer; + box-shadow: none; +} +input[type=range]::-webkit-slider-runnable-track { + width: 100%; + height: 6px; + cursor: pointer; + background: #7ed6f7; + border-radius: 4px; + border: 1px solid #0d99cc; + box-shadow: none; +} +input[type=range]:focus::-webkit-slider-runnable-track { + background: #0d99cc; +} +input[type=range]::-moz-range-track { + width: 100%; + height: 6px; + cursor: pointer; + background: #7ed6f7; + border-radius: 4px; + border: 1px solid #0d99cc; + box-shadow: none; +} +input[type=range]::-ms-track { + width: 100%; + height: 6px; + cursor: pointer; + background: #7ed6f7; + border-radius: 4px; + border: 1px solid #0d99cc; + box-shadow: none; +} +input[type=range]:focus { + outline: none; + /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */ +} +input[type=range]::-ms-track { + width: 100%; + cursor: pointer; + /* Hides the slider so custom styles can be added */ + background: transparent; + border-color: transparent; + color: transparent; +} +button { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + background: #c40f0f; + color: white; + text-align: center; + border: none; + border-radius: 4px; + cursor: pointer; + transition: all 0.3s; +} +button:hover, +button:focus { + box-shadow: none; + background: #dc1111; +} +#sidebar { + border: none; +} +#sidebar-tabs { + border: none; + box-shadow: none; + background: white; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#sidebar-tabs > .collapse { + color: #c40f0f; +} +#sidebar-tabs .item { + font-size: 16px; +} +#sidebar-tabs .item.active { + color: #c40f0f; + border: none; + border-bottom: 3px solid #c40f0f; + box-shadow: none; + background: none; + text-shadow: none; +} +/*----------- +** Chat Tab +-----------*/ +#chat-log .chat-message { + background: white; + border: none; + border-radius: 4px; + margin-bottom: 8px; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#chat-log .chat-message > header { + color: #c40f0f; + border-bottom: 2px solid #0d99cc; + margin-bottom: 4px; +} +#chat-log .chat-message > header span { + color: #1C1C1C; +} +.notification-pip { + color: #0d99cc; + text-shadow: none; +} +.sw5e.chat-card { + font-size: 13px; +} +.sw5e.chat-card .card-header { + padding: 0; + border: none; +} +.sw5e.chat-card .card-header img { + flex: 0 0 36px; + margin-right: 4px; +} +.sw5e.chat-card .card-header h3 { + flex: 1; + margin: 0; + line-height: 36px; + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + color: #1C1C1C; +} +.sw5e.chat-card .card-header h3:hover { + color: #1C1C1C; + text-shadow: none; +} +.sw5e.chat-card .card-content { + margin: 4px 0; +} +.sw5e.chat-card .card-content h3 { + font-size: 12px; + margin: 0; + font-weight: bold; +} +.sw5e.chat-card .card-content > * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} +.sw5e.chat-card .card-buttons { + margin: 4px 0; +} +.sw5e.chat-card .card-buttons span { + display: block; + line-height: 28px; + text-align: center; + border: 1px solid #828282; +} +.sw5e.chat-card .card-buttons button { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + padding: 4px 0; + height: auto; + line-height: 1.6; + margin: 4px 0; + background: #c40f0f; + border: none; + border-radius: 4px; +} +.sw5e.chat-card .card-buttons button:hover, +.sw5e.chat-card .card-buttons button:focus { + background-color: #dc1111; + box-shadow: none; +} +.sw5e.chat-card .card-footer { + padding: 4px 0 0; + border-top: 1px solid #7ed6f7; +} +.sw5e.chat-card .card-footer span { + border-right: 2px groove #FFF; + padding: 0 4px 0 0; + font-size: 10px; +} +.sw5e.chat-card .card-footer span:last-child { + border-right: none; + padding-right: 0; +} +.dice-roll .dice-formula { + background: none; + border: none; +} +.dice-roll .dice-total { + background: #afc6d6; + border: 1px solid #0d99cc; + border-radius: 0; + padding: 4px 0; + box-shadow: 0 0 12px rgba(13, 153, 204, 0.5); +} +.dice-roll .dice-total.success { + color: inherit; + background: #c7d0c0; + border: 1px solid #006c00; +} +.dice-roll .dice-total.failure { + color: inherit; + background: #ffdddd; + border: 1px solid #6e0000; +} +.dice-roll .dice-total.critical { + color: #0dce0d; + background: #bcdcbe; + box-shadow: 0 0 12px rgba(13, 206, 13, 0.5); +} +.dice-roll .dice-total.fumble { + color: red; +} +#chat-controls { + padding-top: 4px; +} +#chat-controls label { + color: #1C1C1C; +} +#chat-form textarea { + background: white; +} +#chat-form textarea:focus { + box-shadow: none; + outline: none; +} +/*----------- +** Combat Tab +-----------*/ +#combat #combat-round { + color: #c40f0f; + border-bottom: 2px solid #0d99cc; +} +#combat #combat-round .encounters h4 { + color: #c40f0f; +} +#combat #combat-round .encounters a { + color: #4f4f4f; +} +#combat #combat-round .encounters a:hover { + color: #c40f0f; +} +#combat #combat-tracker li.combatant { + padding: 4px 0; + color: #1C1C1C; + background: none; +} +#combat #combat-tracker li.combatant:nth-child(even) { + background: rgba(175, 198, 214, 0.5); +} +#combat #combat-tracker li.combatant h4 { + color: #1C1C1C; + text-shadow: none; +} +#combat #combat-tracker li.combatant .roll { + background: none; + color: #4f4f4f; +} +#combat #combat-tracker li.combatant .roll::before { + content: "\f6cf"; + font-family: "Font Awesome 5 Free"; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + font-weight: 900; + font-size: 28px; +} +#combat #combat-tracker li.combatant .roll:hover { + color: #c40f0f; +} +#combat #combat-tracker li.combatant .combatant-control { + color: #828282; + text-shadow: none; +} +#combat #combat-tracker li.combatant .combatant-control.active { + color: #363636; +} +#combat #combat-tracker li.combatant .token-resource { + color: #4f4f4f; + border-right: 1px solid #828282; +} +#combat #combat-tracker li.combatant .initiative { + text-shadow: none; +} +#combat #combat-tracker li.combatant.active { + color: #0d99cc; +} +#combat #combat-tracker li.combatant.active .initiative, +#combat #combat-tracker li.combatant.active h4 { + color: #0d99cc; +} +#combat #combat-tracker li.combatant.hidden { + opacity: 0.5; + color: #1C1C1C; +} +#combat #combat-controls { + padding-top: 0; + border-top: 1px solid #0d99cc; +} +/* +** Folders +*/ +.sidebar-tab .directory-header { + margin-bottom: 4px; +} +.sidebar-tab .directory-header .header-search { + position: relative; +} +.sidebar-tab .directory-header .header-search i.fa-search { + position: absolute; + left: 8px; + color: #0d99cc; +} +.sidebar-tab .directory-header .header-search input { + text-align: left; + padding-left: 22px; + background: white; +} +.sidebar-tab .directory-header .header-search input:focus { + box-shadow: none; +} +.sidebar-tab .subdirectory { + border: none; + margin-left: 8px; + background: white; + min-height: 8px; +} +.sidebar-tab .subdirectory .folder { + border-left: 2px solid rgba(28, 28, 28, 0.4); +} +.sidebar-tab .directory-list { + padding-bottom: 4px; +} +.sidebar-tab .directory-list li + li { + border-top: 1px solid #0d99cc; +} +.sidebar-tab .directory-list .folder > .folder-header { + line-height: default; + padding: 0 0 0 8px; + position: relative; + border: none; + background: white; +} +.sidebar-tab .directory-list .folder > .folder-header h3 { + padding: 8px 4px; + background: white; + color: #1C1C1C; + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + line-height: 1.6; +} +.sidebar-tab .directory-list .folder > .folder-header h3 > i { + margin-right: 4px; + color: #0d99cc; +} +.sidebar-tab .directory-list .folder > .folder-header a { + position: absolute; + top: 0; + right: 4px; + height: 100%; + padding: 0 4px; + color: #828282; +} +.sidebar-tab .directory-list .folder > .folder-header a:hover { + color: #c40f0f; +} +.sidebar-tab .directory-list .folder > .folder-header a i { + margin-top: 12px; +} +.sidebar-tab .directory-list .folder > .folder-header a.create-folder { + right: 28px; +} +.sidebar-tab .directory-list .folder.collapsed > .folder-header { + background: white; +} +.sidebar-tab .directory-list .folder + .entity { + border-top: 1px solid #0d99cc; +} +.sidebar-tab .directory-list .directory-item img { + flex: 0 0 32px; + height: 32px; + width: 32px; + align-self: center; +} +.sidebar-tab .directory-list .actor, +.sidebar-tab .directory-list .item, +.sidebar-tab .directory-list .journal, +.sidebar-tab .directory-list .table { + background: white; + border: none; +} +.sidebar-tab .directory-list .actor .entity-name, +.sidebar-tab .directory-list .item .entity-name, +.sidebar-tab .directory-list .journal .entity-name, +.sidebar-tab .directory-list .table .entity-name { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + color: #1C1C1C; +} +.sidebar-tab .directory-list .actor:nth-child(even), +.sidebar-tab .directory-list .item:nth-child(even), +.sidebar-tab .directory-list .journal:nth-child(even), +.sidebar-tab .directory-list .table:nth-child(even) { + background: rgba(175, 198, 214, 0.3); +} +#scenes .subdirectory { + border-left: none; +} +#scenes .scene { + border: none; + border-top: 1px solid #0d99cc; + border-left: 4px solid #0d99cc; + box-shadow: none; + position: relative; + height: 128px; +} +#scenes .scene + .scene { + margin-top: 4px; +} +#scenes .scene::after { + content: ''; + display: block; + width: 100%; + height: 99px; + position: absolute; + top: 28px; + left: 0; + box-shadow: 0 0 20px #0d99cc inset; +} +#scenes .scene h3 { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + text-align: left; + text-shadow: none; + padding: 4px 4px 4px 12px; + background: white; + line-height: 1.6; + position: absolute; + top: 0; + left: 0; + width: 100%; +} +#playlists .directory-list { + padding: 0 8px; +} +#playlists .directory-list li.playlist { + padding: 8px; + border-radius: 4px; + background: white; + margin-bottom: 8px; + border-top: inherit; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#playlists .directory-list li.playlist .playlist-header { + background: white; + color: #c40f0f; + text-decoration: none; + border-bottom: 2px solid #0d99cc; +} +#playlists .directory-list li.playlist li.sound { + border: none; + color: #1C1C1C; +} +#playlists .directory-list li.playlist li.sound h4 { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 400; +} +#playlists .directory-list li.playlist a.sound-control { + color: #c40f0f; +} +#compendium .compendium-entity { + margin: 0 4px; + padding: 8px; + background: white !important; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + border-radius: 4px; + border: none; +} +#compendium .compendium-entity + .compendium-entity { + margin-top: 4px; +} +#compendium .compendium-entity h3 { + border: none; + color: #c40f0f; + border-bottom: 2px solid #0d99cc; + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + padding: 0; + margin-bottom: 4px; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack { + margin: 0; + padding: 4px; + border: none; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) { + background: rgba(175, 198, 214, 0.3); +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title { + margin: 0; + position: relative; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title a { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title a i { + display: none; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons { + top: 4px; + color: #828282; + font-size: 13px; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack footer.compendium-footer { + color: #1C1C1C; +} +#settings h2 { + color: #c40f0f; + border: none; + border-bottom: 2px solid #0d99cc; + margin: 0 8px; + padding: 0; +} +#settings #game-details, +#settings #settings-game, +#settings #settings-documentation, +#settings #settings-access { + padding: 0 8px; + margin: 0 0 8px; + color: #1C1C1C; +} diff --git a/sw5e.css b/sw5e.css index 8417ca66..d7e176c6 100644 --- a/sw5e.css +++ b/sw5e.css @@ -1,1787 +1,1573 @@ -/* Deprecated vars */ -/* ----------------------------------------- */ -/* Fonts */ -/* ----------------------------------------- */ - -/* russo-one-regular - latin */ -@font-face { - font-family: 'Russo One'; - font-style: normal; - font-weight: 400; - src: url('./fonts/RussoOne.ttf'); -} -/* bungee-inline-regular - latin */ -@font-face { - font-family: 'Bungee Inline'; - font-style: normal; - font-weight: 400; - src: url('./fonts/BungeeInline.ttf'); -} -/* open-sans-regular - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('./fonts/OpenSans-Regular.ttf'); -} -body { - width: 100vw; - height: 100vh; - margin: 0; - overflow: hidden; - background-image: url('./ui/SW5e-logo.svg'); - background-repeat: no-repeat; - background-size: cover; - font-family: 'Open Sans'; - font-size: 14px; - box-shadow: 0 0 50vw #000 inset; -} -/* ----------------------------------------- */ -/* Sheet Styles */ -/* ----------------------------------------- */ -/* ----------------------------------------- */ -/* Flexbox */ -/* ----------------------------------------- */ -.flexrow { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: flex-start; -} -.flexrow > * { - flex: 1; -} -.flexrow .flex1 { - flex: 1; -} -.flexrow .flex2 { - flex: 2; -} -.flexrow .flex3 { - flex: 3; -} -.flexrow .flex4 { - flex: 4; -} -.flexcol { - display: flex; - flex-direction: column; - flex-wrap: nowrap; -} -.flexcol > * { - flex: 1; -} -.flexcol .flex1 { - flex: 1; -} -.flexcol .flex2 { - flex: 2; -} -.flexcol .flex3 { - flex: 3; -} -.flexcol .flex4 { - flex: 4; -} -/* ----------------------------------------- */ -/* All SW5e Apps */ -/* ----------------------------------------- */ -.sw5e { - /* ----------------------------------------- */ - /* Element Styles */ - /* ----------------------------------------- */ - /* Form Groups */ - /* Tags */ -} -.sw5e .window-content { - background: url("ui/parchment.webp") repeat; - font-size: 13px; - color: #191813; -} -.sw5e input[type="text"] -.sw5e select { - height: calc(100% - 2px); - border: 1px solid #7a7971; - background: rgba(0, 0, 0, 0.05); - color: #191813; -} -.sw5e input[type="text"]:hover, -.sw5e input[type="text"]:focus { - border: 1px solid #111; - box-shadow: 0 0 8px red; -} -.sw5e input:disabled, -.sw5e select:disabled, -.sw5e textarea:disabled { - color: #4b4a44; -} -.sw5e input:disabled:hover, -.sw5e select:disabled:hover, -.sw5e textarea:disabled:hover, -.sw5e input:disabled:focus, -.sw5e select:disabled:focus, -.sw5e textarea:disabled:focus { - box-shadow: none !important; - border: 1px solid transparent !important; - outline: none !important; -} -.sw5e button { - background: rgba(0, 0, 0, 0.1); - border: 2px groove #eeede0; -} -.sw5e label.checkbox { - flex: auto; - margin: 0; - line-height: 20px; - font-size: 10px; - text-align: right; -} -.sw5e label.checkbox input[type="checkbox"] { - height: auto; - margin: 0 5px 0; - position: relative; - top: 3px; -} -.sw5e .form-group label { - flex: 2; - color: #4b4a44; - font-weight: bold; -} -.sw5e .form-group .form-fields { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: flex-start; -} -.sw5e .form-group .form-fields > * { - flex: 1; -} -.sw5e .form-group .form-fields .flex1 { - flex: 1; -} -.sw5e .form-group .form-fields .flex2 { - flex: 2; -} -.sw5e .form-group .form-fields .flex3 { - flex: 3; -} -.sw5e .form-group .form-fields .flex4 { - flex: 4; -} -.sw5e .form-group .form-fields > * { - margin: 0 3px 0 0; -} -.sw5e .form-group .form-fields > *:last-child { - margin-right: 0; -} -.sw5e .form-group.stacked label { - flex: 0 0 100%; - margin: 0; -} -.sw5e .form-group.stacked label.checkbox { - flex: auto; - text-align: left; -} -.sw5e .form-header { - margin: 0 0 0.25em 0; - padding: 0 2px; - font-family: "Russo One"; - font-size: 8px; - font-size: 12px; - border-top: 2px groove #eeede0; - border-bottom: 2px groove #eeede0; -} -.sw5e .tag { - display: inline-block; - margin: 0 2px 0 0; - padding: 0 3px; - font-size: 10px; - line-height: 16px; - border: 1px solid #999; - border-radius: 3px; - background: rgba(0, 0, 0, 0.05); -} -/* ----------------------------------------- */ -/* Entity Sheets Specifically */ -/* ----------------------------------------- */ -.sw5e.sheet { - /* ----------------------------------------- */ - /* Element Styles */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* TinyMCE */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Sheet Header */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Sheet Navigation */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Sheet Body */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* List Filters */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Trait Lists */ - /* ----------------------------------------- */ -} -.sw5e.sheet .window-content { - overflow-y: hidden; - padding: 5px; - background: url("ui/parchment.webp") repeat; - font-size: 13px; - color: #191813; -} -.sw5e.sheet .window-content form { - height: 100%; - overflow: hidden; -} -.sw5e.sheet .window-content .tab { - height: 100%; - overflow-y: auto; - align-content: flex-start; -} -.sw5e.sheet input[type="text"] { - background: none; - border: 1px solid transparent; -} -.sw5e.sheet input[type="text"]:hover, -.sw5e.sheet input[type="text"]:focus { - border: 1px solid #111; -} -.sw5e.sheet select { - flex: 1; - font-size: 12px; - height: 22px; - background: transparent; -} -.sw5e.sheet .editable .rollable:hover { - color: #000; - text-shadow: 0 0 10px red; - cursor: pointer; -} -.sw5e.sheet .editor { - height: 100%; -} -.sw5e.sheet .editor .tox-toolbar-overlord, -.sw5e.sheet .editor .tox-toolbar__primary { - background: none; -} -.sw5e.sheet .sheet-header { - flex: 0 0 100px; - border-bottom: 2px groove #eeede0; - font-family: "Russo One"; - font-size: 14px; - /* Character Name */ - /* Profile Image */ - /* Header Summary Details */ -} -.sw5e.sheet .sheet-header h1 { - flex: 2; - border-bottom: none; - height: 60px; - margin: 0; - padding: 5px; -} -.sw5e.sheet .sheet-header h1 input { - height: 50px; - font-size: 22px; - text-transform: uppercase; -} -.sw5e.sheet .sheet-header img.profile { - flex: 0 0 100px; - max-width: 100px; - height: 100px; - object-fit: cover; - border: none; - border-right: 2px groove #eeede0; -} -.sw5e.sheet .sheet-header .summary { - flex: 0 0 100%; - height: 40px; - margin: 0; - padding: 0; - list-style: none; - border-top: 2px groove #eeede0; - border-bottom: none; -} -.sw5e.sheet .sheet-header .summary li { - width: 33.33%; - float: left; - height: 34px; - margin: 2px 0; - padding: 0 3px; - border-right: 2px groove #eeede0; - line-height: 34px; - color: #4b4a44; -} -.sw5e.sheet .sheet-header .summary li:last-child { - border-right: none; -} -.sw5e.sheet .sheet-navigation { - flex: 0 0 30px; - margin-bottom: 5px; - font-family: "Russo One"; - font-size: 12px; -} -.sw5e.sheet .sheet-navigation .item { - height: 30px; - line-height: 32px; - margin: 0 24px; - border-bottom: 3px solid #b5b3a4; -} -.sw5e.sheet .sheet-navigation .item.active { - border-bottom: 3px solid #44191A; -} -.sw5e.sheet .sheet-body { - flex: 1; - overflow: hidden; - font-family: "Open Sans"; -} -.sw5e.sheet .sheet-body h1 { - font-family: "Russo One"; - font-size: 22px; - text-transform: uppercase; - color: #c40f0f; - border: 0px; -} -.sw5e.sheet .sheet-body h2 { - font-family: "Russo One"; - font-size: 18px; - text-transform: uppercase; - color: #c40f0f; -} -.sw5e.sheet .sheet-body th { - font-family: "Russo One"; - text-transform: uppercase; - color: #c40f0f; -} -.sw5e.sheet .sheet-body tr:nth-child(odd) { - background-color: #c9d6db; -} -.sw5e.sheet .sheet-body tr:nth-child(even) { - background-color: #bdc8cc; -} -.sw5e.sheet .sheet-body .smalltable table { - width: 200px; - border: 0px; - margin: 0.5em 0.5em; -} -.sw5e.sheet .sheet-body .smalltable td:nth-child(odd) { - width: 50px; - margin: 0.5em 0.5em; -} -.sw5e.sheet .sheet-body .smalltable td:nth-child(even) { - width: 150px; - margin: 0.5em 0.5em; - padding: 0px 10px 0px 10px; -} -.sw5e.sheet .sheet-body .smalltable thead { - border-bottom: 0px; -} -.sw5e.sheet .sheet-body .smalltable th { - color: #000000; - text-shadow: none; - border-bottom: 0px; - background-color: #bdc8cc; - text-transform: none; - font-weight: bold; - font-family: 'Open Sans'; -} -.sw5e.sheet .sheet-body .medtable table { - width: 500px; - border: 0px; - margin: 0.5em 0.5em; -} -.sw5e.sheet .sheet-body .medtable td:nth-child(odd) { - width: 50px; - margin: 0.5em 0.5em; -} -.sw5e.sheet .sheet-body .medtable td:nth-child(even) { - width: 450px; - margin: 0.5em 0.5em; - padding: 0px 10px 0px 10px; -} -.sw5e.sheet .sheet-body .medtable thead { - border-bottom: 0px; -} -.sw5e.sheet .sheet-body .medtable th { - color: #000000; - text-shadow: none; - border-bottom: 0px; - background-color: #bdc8cc; - text-transform: none; - font-weight: bold; - font-family: 'Open Sans'; -} -.sw5e.sheet .sheet-body .classtable blockquote { - border-left: 0px; - border-right: 0px; -} -.sw5e.sheet .sheet-body .classtable table { - width: 100%; - border-collapse: collapse; - background: rgba(0, 0, 0, 0.05); - border-left: 0px; - border-right: 0px; - border-top: 0; - border-bottom: 0; - margin: 0.5em 0; - font-style: normal; - font-weight: normal; - text-shadow: none; -} -.sw5e.sheet .sheet-body .classtable thead { - color: #000000; - text-shadow: none; - border-bottom: 0px; - background-color: #bdc8cc; - text-transform: none; - font-style: normal; - font-weight: normal; - font-family: 'Open Sans'; -} -.sw5e.sheet .sheet-body .classtable th { - color: #000000; - text-shadow: none; - border-bottom: 0px; - background-color: #bdc8cc; - text-transform: none; - font-style: normal; - font-weight: bold; - font-family: 'Open Sans'; -} -.sw5e.sheet .filter-list { - list-style: none; - margin: 0; - padding: 0; - line-height: 16px; -} -.sw5e.sheet .filter-list .filter-title { - flex: 3; -} -.sw5e.sheet .filter-list .filter-item { - text-align: center; - font-size: 12px; - margin: 0 6px; - border-bottom: 3px solid #b5b3a4; - white-space: nowrap; -} -.sw5e.sheet .filter-list .filter-item:hover { - text-shadow: 0 0 4px red; - border-bottom: 3px solid #7a7971; -} -.sw5e.sheet .filter-list .filter-item.active { - border-bottom: 3px solid #44191A; -} -.sw5e.sheet .trait-selector { - flex: 0 0 16px; - padding: 2px 0; - color: #999; - font-size: 10px; -} -.sw5e.sheet .traits-list { - line-height: 20px; - list-style: none; - margin: 0; - padding: 0; - text-align: right; -} -/* ----------------------------------------- */ -/* Trait Selector -/* ----------------------------------------- */ -#trait-selector .trait-list { - list-style: none; - margin: 0; - padding: 0; -} -#trait-selector input[type="text"] { - height: 24px; - margin: 2px; -} -.sw5e.sheet.actor { - /* ----------------------------------------- */ - /* Sheet Header */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* General Styles */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Attributes */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Ability Scores */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Skills */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Statuses */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Traits */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Inventory Lists */ - /* ----------------------------------------- */ - /* Inventory List Filters */ - /* ----------------------------------------- */ - /* Powerbook */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* TinyMCE */ - /* ----------------------------------------- */ -} -.sw5e.sheet.actor .sheet-header .charlevel { - flex: 0 0 160px; - height: 60px; - margin: 0; - padding: 5px; - text-align: right; -} -.sw5e.sheet.actor .sheet-header .charlevel .level { - width: 100%; - height: 30px; - font-size: 18px; - line-height: 30px; -} -.sw5e.sheet.actor .sheet-header .charlevel .level label { - display: inline; - font-size: 18px; - text-align: right; -} -.sw5e.sheet.actor .sheet-header .charlevel .level input { - display: inline; - width: 36px; - font-size: 18px; - text-align: center; -} -.sw5e.sheet.actor .sheet-header .charlevel .level.noxp { - margin-top: 10px; -} -.sw5e.sheet.actor .sheet-header .charlevel .level.noxp > label { - font-size: 32px; -} -.sw5e.sheet.actor .sheet-header .charlevel .level.noxp > input { - font-size: 18px; - flex: 0 0 40px; - height: 44px; -} -.sw5e.sheet.actor .sheet-header .charlevel .experience { - width: 100%; - height: 20px; - padding-right: 5px; - font-size: 16px; - color: #4b4a44; -} -.sw5e.sheet.actor .attributes input.temphp { - width: 48%; -} -.sw5e.sheet.actor h4.box-title { - line-height: 16px; - margin: 4px 8px 2px; - font-size: 14px; - border-bottom: 1px solid #b5b3a4; -} -.sw5e.sheet.actor ul.attributes { - list-style: none; - margin: 5px 0 0; - padding: 0; -} -.sw5e.sheet.actor ul.attributes li.attribute { - height: 70px; - margin: 0 5px; - border: 2px groove #eeede0; - border-radius: 4px; - font-family: "Russo One"; - font-size: 12px; - text-align: center; -} -.sw5e.sheet.actor ul.attributes li.attribute .attribute-name { - flex: 0 0 18px; -} -.sw5e.sheet.actor ul.attributes li.attribute .attribute-value { - height: 28px; - line-height: 28px; -} -.sw5e.sheet.actor ul.attributes li.attribute .attribute-value input { - display: inline; - max-width: 80%; - height: 28px; - margin: 0; - font-size: 14px; -} -.sw5e.sheet.actor ul.attributes li.attribute .attribute-value span.sep { - display: inline; - position: relative; - top: 2px; - font-size: 28px; - color: #7a7971; -} -.sw5e.sheet.actor ul.attributes li.attribute .attribute-value.multiple input { - max-width: 33%; -} -.sw5e.sheet.actor ul.attributes li.attribute .attribute-footer { - flex: 0 0 18px; - margin-top: -1px; - line-height: 18px; - font-family: "Signika", "Palatino Linotype", serif; - font-size: 12px; -} -.sw5e.sheet.actor .ability-scores { - flex: 0 0 100%; - list-style: none; - margin: 0; - padding: 0; - font-family: "Russo One"; - font-size: 8px; -} -.sw5e.sheet.actor .ability-scores .ability { - height: 70px; - margin: 0 5px; - text-align: center; - border: 2px groove #eeede0; - border-radius: 3px; - /* Hide modifier box on hover */ -} -.sw5e.sheet.actor .ability-scores .ability input.ability-score { - height: 30px; - width: 50px; - margin: 0 auto; - line-height: 32px; - font-size: 16px; -} -.sw5e.sheet.actor .ability-scores .ability .ability-modifiers { - height: 24px; - margin: -10px 0 0; -} -.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-mod, -.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-save { - flex: 0 0 24px; - height: 24px; - border-top: 2px groove #eeede0; -} -.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-mod { - border-right: 2px groove #eeede0; -} -.sw5e.sheet.actor .ability-scores .ability .ability-modifiers .ability-proficiency { - line-height: 30px; -} -.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-save { - border-left: 2px groove #eeede0; -} -.sw5e.sheet.actor .ability-scores .ability input.ability-score:hover + .ability-modifiers { - visibility: hidden; -} -.sw5e.sheet.actor .proficiency-toggle { - color: #b5b3a4; - font-size: 12px; -} -.sw5e.sheet.actor .proficient .proficiency-toggle { - color: #4b4a44; -} -.sw5e.sheet.actor .locked .proficiency-toggle { - color: #b5b3a4; - text-shadow: none; - cursor: default; -} -.sw5e.sheet.actor ul.skills-list { - flex: 0 0 192px; - list-style: none; - margin: 5px 5px 0; - padding: 2px 2px 0; - border: 2px groove #eeede0; - border-radius: 3px; -} -.sw5e.sheet.actor ul.skills-list li.skill { - height: 22px; - padding: 3px 0; -} -.sw5e.sheet.actor ul.skills-list li.skill h4 { - flex: 1px; - margin: 0; - font-size: 11px; - line-height: 18px; -} -.sw5e.sheet.actor ul.skills-list li.skill .skill-proficiency { - flex: 0 0 16px; - line-height: 18px; -} -.sw5e.sheet.actor ul.skills-list li.skill .skill-ability { - flex: 0 0 26px; -} -.sw5e.sheet.actor ul.skills-list li.skill .skill-mod { - flex: 0 0 20px; -} -.sw5e.sheet.actor ul.skills-list li.skill .skill-passive { - flex: 0 0 26px; - text-align: center; - color: #7a7971; -} -.sw5e.sheet.actor .counters { - flex: 0 0 100%; - border-bottom: 2px groove #eeede0; - margin-bottom: 5px; -} -.sw5e.sheet.actor .counters .counter { - padding: 0 3px; - line-height: 32px; -} -.sw5e.sheet.actor .counters .counter h4 { - flex: auto; - margin: 0; - font-family: "Russo One"; - font-size: 14px; - font-size: 10px; -} -.sw5e.sheet.actor .counters .counter .counter-value { - flex: 0 0 50px; - text-align: right; -} -.sw5e.sheet.actor .counters .counter .counter-value > * { - display: inline; -} -.sw5e.sheet.actor .counters .counter input[type="text"] { - height: 20px; - max-width: 20px; - margin: 0; - padding: 0; - text-align: center; -} -.sw5e.sheet.actor .counters .counter input[type="checkbox"] { - position: relative; - margin: 0; - top: 6px; -} -.sw5e.sheet.actor .counters .counter span.sep { - margin: 0 -2px; - font-size: 12px; -} -.sw5e.sheet.actor .traits { - margin: 0 5px; -} -.sw5e.sheet.actor .traits .form-group, -.sw5e.sheet.actor .traits .form-group-stacked { - margin: 0 0 4px 0; - justify-content: space-between; -} -.sw5e.sheet.actor .traits .configure-flags { - flex: 1; -} -.sw5e.sheet.actor .traits .actor-size { - flex: 0 0 150px; -} -.sw5e.sheet.actor .traits label { - flex: 0 0 150px; - line-height: 20px; - font-weight: bold; - margin: 0; -} -.sw5e.sheet.actor .traits input { - text-align: right; -} -.sw5e.sheet.actor .traits i.fas { - float: right; - margin-right: 3px; - text-align: right; - color: #999; -} -.sw5e.sheet.actor .traits i.fas:hover { - color: #111; - text-shadow: 0 0 10px red; -} -.sw5e.sheet.actor .traits .inactive { - color: #7a7971; -} -.sw5e.sheet.actor .tab.features, -.sw5e.sheet.actor .tab.inventory, -.sw5e.sheet.actor .tab.powerbook { - overflow-y: hidden; -} -.sw5e.sheet.actor .inventory-filters { - margin: 0 8px; - flex: 0 0 20px; -} -.sw5e.sheet.actor .inventory-filters h3, -.sw5e.sheet.actor .inventory-filters .filter-title { - font-family: "Russo One"; - font-size: 10px; - color: #4b4a44; - font-size: 12px; - margin: 0; -} -.sw5e.sheet.actor .inventory-filters.powerbook-filters { - flex: 0 0 40px; -} -.sw5e.sheet.actor .inventory-filters .currency { - list-style: none; - margin: 4px 0 8px; - padding: 0; - font-size: 12px; -} -.sw5e.sheet.actor .inventory-filters .currency label { - flex: 0; - margin-left: 8px; - text-align: right; - line-height: 20px; - color: #7a7971; -} -.sw5e.sheet.actor .inventory-filters .currency input[type="text"] { - flex: 0 0 48px; - text-align: center; - margin-left: 8px; - border-bottom: 2px groove #eeede0; -} -.sw5e.sheet.actor .inventory-list { - list-style: none; - margin: 0; - padding: 0 5px; - overflow-y: auto; -} -.sw5e.sheet.actor .inventory-list .item { - line-height: 30px; - padding: 0 2px; - border-bottom: 1px solid #c9c7b8; -} -.sw5e.sheet.actor .inventory-list .item:last-child { - border-bottom: none; -} -.sw5e.sheet.actor .inventory-list .item .item-name { - cursor: pointer; - max-height: 30px; - overflow: hidden; -} -.sw5e.sheet.actor .inventory-list .item .item-name .item-image { - flex: 0 0 30px; - background-size: 30px; - margin-right: 5px; -} -.sw5e.sheet.actor .inventory-list .item .item-name h4 { - margin: 0; - white-space: nowrap; - overflow-x: hidden; -} -.sw5e.sheet.actor .inventory-list .item .item-name.rollable .item-image:hover { - background-image: url("/icons/svg/d20-black.svg") !important; -} -.sw5e.sheet.actor .inventory-list .item .item-name.rollable:hover .item-image { - background-image: url("/icons/svg/d20-grey.svg") !important; -} -.sw5e.sheet.actor .inventory-list .item .item-name i.attuned { - color: #7a7971; -} -.sw5e.sheet.actor .inventory-list .item .item-uses input { - width: 24px; - text-align: center; -} -.sw5e.sheet.actor .inventory-list .item .item-properties { - margin-top: 3px; -} -.sw5e.sheet.actor .inventory-list .item .item-recharge { - flex: 0 0 80px; - text-align: right; - font-size: 11px; - color: #7a7971; -} -.sw5e.sheet.actor .inventory-list .inventory-header { - margin: 2px 0; - padding: 0; - background: rgba(0, 0, 0, 0.05); - border: 2px groove #eeede0; - font-weight: bold; - line-height: 24px; -} -.sw5e.sheet.actor .inventory-list .inventory-header h3 { - margin: 0 -5px 0 0; - padding-left: 5px; - font-size: 13px; - font-weight: bold; -} -.sw5e.sheet.actor .inventory-list .inventory-header .item-controls a.item-create { - flex: 0 0 100%; -} -.sw5e.sheet.actor .inventory-list .item-detail { - flex: 0 0 70px; - font-size: 12px; - color: #7a7971; - text-align: center; - border-right: 1px solid #c9c7b8; -} -.sw5e.sheet.actor .inventory-list .item-detail:last-child { - border-right: none; -} -.sw5e.sheet.actor .inventory-list .item-detail.item-action { - flex: 0 0 100px; -} -.sw5e.sheet.actor .inventory-list .item-weight { - flex: 0 0 60px; - border-left: 1px solid #c9c7b8; - border-right: 1px solid #c9c7b8; -} -.sw5e.sheet.actor .inventory-list .item-list { - list-style: none; - margin: 0; - padding: 0; -} -.sw5e.sheet.actor .inventory-list .item-controls { - flex: 0 0 44px; - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: flex-start; - justify-content: flex-end; -} -.sw5e.sheet.actor .inventory-list .item-controls > * { - flex: 1; -} -.sw5e.sheet.actor .inventory-list .item-controls .flex1 { - flex: 1; -} -.sw5e.sheet.actor .inventory-list .item-controls .flex2 { - flex: 2; -} -.sw5e.sheet.actor .inventory-list .item-controls .flex3 { - flex: 3; -} -.sw5e.sheet.actor .inventory-list .item-controls .flex4 { - flex: 4; -} -.sw5e.sheet.actor .inventory-list .item-controls a { - flex: 0 0 22px; - font-size: 12px; - text-align: center; - color: #7a7971; -} -.sw5e.sheet.actor .inventory-list .item-summary { - flex: 0 0 100%; - font-size: 12px; - line-height: 16px; - padding: 0.25em 0.5em; - border-top: 1px solid #c9c7b8; -} -.sw5e.sheet.actor .powercasting-ability h3, -.sw5e.sheet.actor .pact-slots h3 { - flex: none; - margin-right: 5px; -} -.sw5e.sheet.actor .powercasting-ability input, -.sw5e.sheet.actor .pact-slots input, -.sw5e.sheet.actor .powercasting-ability span, -.sw5e.sheet.actor .pact-slots span { - flex: 0 0 32px; - text-align: center; -} -.sw5e.sheet.actor .powercasting-ability select, -.sw5e.sheet.actor .pact-slots select { - margin: 0 5px; - flex: 0 0 150px; -} -.sw5e.sheet.actor .powercasting-ability h3.power-dc, -.sw5e.sheet.actor .pact-slots h3.power-dc { - flex: 1; - text-align: right; -} -.sw5e.sheet.actor .pact-slots { - align-items: center; -} -.sw5e.sheet.actor .power-slots, -.sw5e.sheet.actor .power-comps { - flex: 0 0 72px; - padding-right: 5px; - text-align: right; - font-size: 12px; - color: #7a7971; - border-right: 1px solid #c9c7b8; -} -.sw5e.sheet.actor .power-slots input, -.sw5e.sheet.actor .power-slots span.sep { - display: inline; - max-width: 20px; - text-align: center; -} -.sw5e.sheet.actor .power-uses { - padding-right: 8px; - text-align: right !important; -} -.sw5e.sheet.actor .power-school, -.sw5e.sheet.actor .power-action, -.sw5e.sheet.actor .power-target { - flex: 0 0 100px; - font-size: 12px; - color: #7a7971; - text-align: center; - border-right: 1px solid #c9c7b8; -} -.sw5e.sheet.actor .power-component { - line-height: 14px; -} -.sw5e.sheet.actor .power-component.C, -.sw5e.sheet.actor .power-component.R { - display: inline-block; - text-align: center; - padding-top: 1px; - width: 16px; - color: #c9c7b8; - background: rgba(0, 0, 0, 0.4); - border: 1px solid transparent; - border-radius: 8px; -} -.sw5e.sheet.actor .powerbook-empty .item-controls { - flex: 1; -} -.sw5e.sheet.actor .editor { - padding: 0 8px; -} -.sw5e.sheet.item { - min-height: 520px; - min-width: 700px; - /* ----------------------------------------- */ - /* Sheet Header */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Item Details Form */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Item Actions */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Item Actions */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Loot Sheet (No Tabs) */ - /* ----------------------------------------- */ -} -.sw5e.sheet.item .sheet-header img.profile { - border: 2px solid #000; -} -.sw5e.sheet.item .sheet-header .item-subtitle { - flex: 1 0 80px; - height: 60px; - margin: 0; - padding: 5px; - text-align: right; - color: #7a7971; -} -.sw5e.sheet.item .sheet-header .item-subtitle .item-type { - font-size: 16px; - line-height: 26px; - margin: 0; -} -.sw5e.sheet.item .sheet-header .item-subtitle .item-status { - font-size: 16px; - line-height: 24px; -} -.sw5e.sheet.item .sheet-navigation { - margin-bottom: 5px; -} -.sw5e.sheet.item .sheet-navigation .item { - font-size: 14px; -} -.sw5e.sheet.item .sheet-body { - overflow: hidden; - font-family: "Open Sans"; -} -.sw5e.sheet.item .sheet-body h2 { - font-family: "Russo One"; - font-size: 18px; - border-bottom: 2px solid #0d99cc; -} -.sw5e.sheet.item .sheet-body h3 { - font-family: "Russo One"; - color: #c40f0f; - text-transform: uppercase; -} -.sw5e.sheet.item .sheet-body .tab { - padding: 0 5px; - overflow: hidden auto; -} -.sw5e.sheet.item .sheet-body .item-properties { - flex: 0 0 120px; - margin: 5px 5px 5px 0; - padding-right: 5px; - border-right: 2px groove #eeede0; -} -.sw5e.sheet.item .sheet-body .item-properties .form-group { - margin: 0; -} -.sw5e.sheet.item .sheet-body .item-properties .form-group label { - line-height: 20px; -} -.sw5e.sheet.item .sheet-body .item-properties .form-group input { - text-align: right; -} -.sw5e.sheet.item .sheet-body .item-properties .properties-list { - list-style: none; - margin: 0; - padding: 0; -} -.sw5e.sheet.item .sheet-body .item-properties .properties-list li { - margin: 3px 0; - padding: 0 2px; - background: rgba(0, 0, 0, 0.05); - border: 2px groove #eeede0; - text-align: center; - font-size: 12px; - line-height: 18px; -} -.sw5e.sheet.item .details input[type="text"], -.sw5e.sheet.item .details select { - height: 24px; - border: 1px solid #7a7971; - background: rgba(0, 0, 0, 0.05); -} -.sw5e.sheet.item .details .form-group span { - text-align: center; - line-height: 24px; -} -.sw5e.sheet.item .details .form-group.input-select select { - flex: 1.8; -} -.sw5e.sheet.item .details .form-group.input-select-select select { - flex: 1.5; -} -.sw5e.sheet.item .details .form-group.uses-per input { - flex: 1; -} -.sw5e.sheet.item .details .form-group.uses-per span { - flex: 0 0 16px; -} -.sw5e.sheet.item .details .form-group.uses-per select { - flex: 3; -} -.sw5e.sheet.item .details span.sep { - flex: 0 0 8px; -} -.sw5e.sheet.item .details .prepared { - flex: 1.3 !important; - text-align: right; - padding-right: 10px; -} -.sw5e.sheet.item .details .power-materials { - flex: 0 0 100%; - margin: 0.25em 0; - justify-content: flex-end; -} -.sw5e.sheet.item .details .power-materials label { - flex: 0 0 64px; - text-align: right; - margin-right: 5px; - font-size: 12px; - line-height: 24px; -} -.sw5e.sheet.item .details .power-materials input[type="text"] { - flex: 0 0 48px; - margin-right: 10px; -} -.sw5e.sheet.item h4.damage-header { - margin: 0; - padding: 0; - font-weight: bold; - line-height: 24px; - color: #4b4a44; -} -.sw5e.sheet.item .damage-parts { - list-style: none; - margin: 0; - padding: 0; -} -.sw5e.sheet.item .damage-parts .damage-part { - flex: 0 0 100%; - padding: 0; -} -.sw5e.sheet.item .damage-parts .damage-part input { - flex: 3; -} -.sw5e.sheet.item .damage-parts .damage-part select { - margin-left: 5px; - flex: 1; -} -.sw5e.sheet.item .damage-control { - width: 18px; - flex: 0 0 18px; - line-height: 24px; - float: right; - text-align: right; - color: #7a7971; -} - -.sw5e.sheet.item h4.armorproperties-header { - margin: 0; - padding: 0; - font-weight: bold; - line-height: 24px; - color: #4b4a44; -} -.sw5e.sheet.item .armorproperties-parts { - list-style: none; - margin: 0; - padding: 0; -} -.sw5e.sheet.item .armorproperties-parts .armorproperties-part { - flex: 0 0 100%; - padding: 0; -} -.sw5e.sheet.item .armorproperties-parts .armorproperties-part input { - flex: 3; -} -.sw5e.sheet.item .armorproperties-parts .armorproperties-part select { - margin-left: 5px; - flex: 1; -} -.sw5e.sheet.item .armorproperties-control { - width: 18px; - flex: 0 0 18px; - line-height: 24px; - float: right; - text-align: right; - color: #7a7971; - -} - -.sw5e.sheet.item h4.weaponproperties-header { - margin: 0; - padding: 0; - font-weight: bold; - line-height: 24px; - color: #4b4a44; -} -.sw5e.sheet.item .weaponproperties-parts { - list-style: none; - margin: 0; - padding: 0; -} -.sw5e.sheet.item .weaponproperties-parts .weaponproperties-part { - flex: 0 0 100%; - padding: 0; -} -.sw5e.sheet.item .weaponproperties-parts .weaponproperties-part input { - flex: 3; -} -.sw5e.sheet.item .weaponproperties-parts .weaponproperties-part select { - margin-left: 5px; - flex: 1; -} -.sw5e.sheet.item .weaponproperties-control { - width: 18px; - flex: 0 0 18px; - line-height: 24px; - float: right; - text-align: right; - color: #7a7971; -} - -.sw5e.sheet.item .recharge span { - flex: 0 0 80px; -} -.sw5e.sheet.item .recharge label.checkbox { - flex: 0 0 80px; - text-align: right; -} -.sw5e.sheet.item .weapon-properties label.checkbox { - flex: 0 0 98px; -} -.sw5e.sheet.item .loot-header { - margin-bottom: 10px; -} -.sw5e.sheet.item blockquote { - box-sizing: border-box; - font-family: 'Open Sans'; - margin-bottom: 1em; - padding: 5px 10px; - background-color: #bdc8cc; - border: 0px solid #0d99cc; - border-spacing: 0em; - border-image: none; - box-shadow: 0px 0px 20px rgba(13, 153, 204, 0.5); - border-top: 0.1em solid #0d99cc; - border-bottom: 0.1em solid #0d99cc; - border-left: 0.1em solid #0d99cc; - border-right: 0.1em solid #0d99cc; - color: #000000; - font-size: 1em; -} - -.sw5e.sheet.item blockquote h3 { - font-family: 'Russo One'; - color: #000000 !important; -} -/* ----------------------------------------- */ -/* Chat Cards -/* ----------------------------------------- */ -.sw5e.chat-card { - font-style: normal; - font-size: 12px; -} -.sw5e.chat-card .card-header { - padding: 3px 0; - border-top: 2px groove #FFF; - border-bottom: 2px groove #FFF; -} -.sw5e.chat-card .card-header img { - flex: 0 0 36px; - margin-right: 5px; -} -.sw5e.chat-card .card-header h3 { - flex: 1; - margin: 0; - line-height: 36px; - font-family: "Russo One"; - font-size: 10px; - color: #4b4a44; -} -.sw5e.chat-card .card-header h3:hover { - color: #111; - text-shadow: 0 0 10px red; -} -.sw5e.chat-card .card-content { - margin: 5px 0; -} -.sw5e.chat-card .card-content h3 { - font-size: 12px; - margin: 0; - font-weight: bold; -} -.sw5e.chat-card .card-content > * { - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; -} -.sw5e.chat-card .card-buttons { - margin: 5px 0; -} -.sw5e.chat-card .card-buttons span { - display: block; - line-height: 28px; - text-align: center; - border: 1px solid #CCC; -} -.sw5e.chat-card .card-buttons button { - font-size: 12px; - height: 24px; - line-height: 20px; - margin: 2px 0; -} -.sw5e.chat-card .card-footer { - padding: 3px 0 0; - border-top: 2px groove #FFF; -} -.sw5e.chat-card .card-footer span { - border-right: 2px groove #FFF; - padding: 0 5px 0 0; - font-size: 10px; -} -.sw5e.chat-card .card-footer span:last-child { - border-right: none; - padding-right: 0; -} -.dice-roll .dice-total.success { - color: inherit; - background: #c7d0c0; - border: 1px solid #006c00; -} -.dice-roll .dice-total.failure { - color: inherit; - background: #ffdddd; - border: 1px solid #6e0000; -} -.dice-roll .dice-total.critical { - color: green; -} -.dice-roll .dice-total.fumble { - color: red; -} -/* ----------------------------------------- */ -/* Basic Structure */ -/* ----------------------------------------- */ -.sw5e.sheet.actor.character { - min-width: 680px; - min-height: 736px; - /* ----------------------------------------- */ - /* Sheet Header */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Sheet Body */ - /* ----------------------------------------- */ - /* ----------------------------------------- */ - /* Inventory */ - /* ----------------------------------------- */ - /* Encumbrance Bar */ - /* ----------------------------------------- */ - /* Item Controls */ - /* ----------------------------------------- */ -} -.sw5e.sheet.actor.character .sheet-header img.profile { - flex: 0 0 180px; - max-width: 180px; - height: 180px; -} -.sw5e.sheet.actor.character .sheet-header .charlevel { - flex: 0 0 180px; - padding: 0 5px 2px; -} -.sw5e.sheet.actor.character .sheet-header .charlevel .level { - height: 28px; -} -.sw5e.sheet.actor.character .sheet-header .charlevel .experience input[type="text"] { - width: 100px; -} -.sw5e.sheet.actor.character .sheet-header .charlevel .xpbar { - width: 100%; - flex: 0 0 8px; - background: #666; - border: 1px solid #000; - border-radius: 3px; -} -.sw5e.sheet.actor.character .sheet-header .charlevel .xpbar .bar { - height: 4px; - margin: 1px; - display: block; - background: #afebff; - border: 1px solid #000; - border-radius: 2px; -} -.sw5e.sheet.actor.character .sheet-header .summary { - border-bottom: 2px groove #eeede0; -} -.sw5e.sheet.actor.character .sheet-header .attributes { - height: 80px; - margin: 0; -} -.sw5e.sheet.actor.character .sheet-header .attributes .attribute { - height: 80px; - margin: 0; - border: none; - border-right: 2px groove #eeede0; - border-radius: 0; -} -.sw5e.sheet.actor.character .sheet-header .attributes .attribute:last-child { - border-right: none; -} -.sw5e.sheet.actor.character .sheet-header .attributes .attribute .attribute-value { - margin: 5px 0 0; - height: 32px; - line-height: 32px; -} -.sw5e.sheet.actor.character .sheet-header .attributes .attribute .attribute-name { - margin-top: 6px; -} -.sw5e.sheet.actor.character .sheet-header .attributes .attribute .attribute-footer { - margin-bottom: 2px; -} -.sw5e.sheet.actor.character .sheet-header .attributes a.rest { - border: 1px solid #b5b3a4; - border-radius: 2px; - background: rgba(0, 0, 0, 0.05); - padding: 1px 3px; - margin: 0 6px; -} -.sw5e.sheet.actor.character .sheet-header .attributes .hit-dice { - font-size: 16px; -} -.sw5e.sheet.actor.character .attributes .resource .attribute-name { - margin: 0 8px; -} -.sw5e.sheet.actor.character .attributes .resource .attribute-name input[type="text"] { - height: 20px; - margin: 2px 0 -2px; - line-height: 24px; -} -.sw5e.sheet.actor.character .attributes .resource label.checkbox { - margin: 0 3px; -} -.sw5e.sheet.actor.character .attributes .resource label.checkbox input[type="checkbox"] { - transform: scale(1.2); -} -.sw5e.sheet.actor.character .attributes .initiative .attribute-footer input { - width: 32px; -} -.sw5e.sheet.actor.character ul.skills-list { - flex: 0 0 212px; -} -.sw5e.sheet.actor.character ul.skills-list li.skill { - padding: 3px; -} -.sw5e.sheet.actor.character ul.skills-list li.skill h4 { - flex: 1px; - margin: 0; - font-size: 13px; -} -.sw5e.sheet.actor.character .counters .death-saves { - flex: 2; -} -.sw5e.sheet.actor.character .counters .death-saves .counter-value { - flex: 0 0 90px; -} -.sw5e.sheet.actor.character .item-detail.player-class { - flex: 0 0 180px; - text-align: right; - padding-right: 10px; -} -.sw5e.sheet.actor.character .encumbrance { - flex: 0 0 12px; - background: #7a7971; - margin: 1px 15px 0 1px; - border: 1px solid #191813; - border-radius: 3px; - position: relative; -} -.sw5e.sheet.actor.character .encumbrance .encumbrance-bar { - position: absolute; - top: 1px; - left: 1px; - background: #6c8aa5; - height: 8px; - border: 1px solid #cde4ff; - border-radius: 2px; -} -.sw5e.sheet.actor.character .encumbrance .encumbrance-label { - height: 10px; - padding: 0 5px; - position: absolute; - top: 0; - right: 0; - font-size: 13px; - line-height: 12px; - text-align: right; - color: #EEE; - text-shadow: 0 0 5px #000; -} -.sw5e.sheet.actor.character .encumbrance .encumbrance-breakpoint { - display: block; - position: absolute; -} -.sw5e.sheet.actor.character .encumbrance .encumbrance-breakpoint.encumbrance-33 { - left: 33%; -} -.sw5e.sheet.actor.character .encumbrance .encumbrance-breakpoint.encumbrance-66 { - left: 66%; -} -.sw5e.sheet.actor.character .encumbrance .arrow-up { - bottom: 0; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #666; -} -.sw5e.sheet.actor.character .encumbrance .arrow-down { - top: 0; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #666; -} -.sw5e.sheet.actor.character .encumbrance.encumbered .arrow-up { - border-bottom: 4px solid #000; -} -.sw5e.sheet.actor.character .encumbrance.encumbered .arrow-down { - border-top: 4px solid #000; -} -.sw5e.sheet.actor.character .inventory .item-controls, -.sw5e.sheet.actor.character .powerbook .item-controls { - flex: 0 0 68px; -} -.sw5e.sheet.actor.character .inventory .item-controls .item-toggle, -.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle { - color: #b5b3a4; -} -.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.active, -.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.active { - color: #4b4a44; -} -.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.fixed, -.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.fixed { - color: #44191A; -} -.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.fixed:hover, -.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.fixed:hover { - text-shadow: none; -} -/* ----------------------------------------- */ -/* Basic Structure */ -/* ----------------------------------------- */ -.sw5e.sheet.actor.npc { - min-width: 800px; - min-height: 658px; -} -/* ----------------------------------------- */ -/* Journal Entry -/* ----------------------------------------- */ -.journal-sheet .window-content { - padding: 0; - background: url("ui/parchment.webp") repeat; -} -.journal-sheet form { - overflow: hidden; - padding: 5px; - font-family: "Open Sans"; - background: url("ui/parchment.webp") repeat; -} -.journal-sheet form h2 { - font-family: "Russo One"; - font-size: 18px; - text-transform: uppercase; - color: #c40f0f; -} - -.journal-sheet form input[name="name"] { - height: 36px; - font-family: "Russo One"; - font-size: 24px; - text-transform: uppercase; - color: #c40f0f; - line-height: 36px; -} -.journal-sheet form select { - width: 100%; - height: 30px; - margin: 5px 0; -} -.journal-sheet form .editor { - height: calc(100% - 115px); -} -.journal-sheet form button[type="submit"] { - margin-top: 5px; -} -.journal-sheet form img { - border: none -} -.journal-sheet form table { - border: none; - background-color: none; -} -/* ---------------------------------------- */ -/* Roll Table Sheet */ -/* ---------------------------------------- */ -.roll-table-config .window-content { - background: url("ui/parchment.webp") repeat; -} -.roll-table-config form { - background: url("ui/parchment.webp") repeat; -} -.roll-table-config h1.name input { - width: 100%; - height: 36px; - margin: 0 0 5px; - font-family: "Russo One"; - font-size: 24px; - text-transform: uppercase; - color: #c40f0f; -} -.roll-table-config textarea { - resize: none; - min-height: 44px; - font-family: "Open Sans"; - background: url("ui/parchment.webp") repeat; -} -.roll-table-config ol.table-results { - list-style: none; - margin: 0; - padding: 0; - max-height: 600px; - overflow-y: auto; -} -.roll-table-config ol.table-results .table-result { - padding: 2px 0; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; -} -.roll-table-config ol.table-results .table-result input[type="text"] { - width: 100%; - height: 28px; -} -.roll-table-config ol.table-results .table-result > div { - line-height: 36px; - margin-right: 5px; -} -.roll-table-config ol.table-results .table-result .result-image { - flex: 0 0 36px; - width: 36px; - height: 36px; - text-align: center; - margin: 0; -} -.roll-table-config ol.table-results .table-result .result-image img { - border: none; - object-fit: cover; - object-position: 50% 0; -} -.roll-table-config ol.table-results .table-result .result-type { - flex: 0 0 110px; -} -.roll-table-config ol.table-results .table-result .result-details { - flex: 1; -} -.roll-table-config ol.table-results .table-result .result-details select { - width: 40%; -} -.roll-table-config ol.table-results .table-result .result-details .result-target { - width: 58%; - margin-left: 3px; -} -.roll-table-config ol.table-results .table-result .result-weight { - flex: 0 0 50px; - text-align: center; -} -.roll-table-config ol.table-results .table-result .result-range { - flex: 0 0 92px; - text-align: center; -} -.roll-table-config ol.table-results .table-result .result-range input { - width: 36px; -} -.roll-table-config ol.table-results .table-result .result-controls { - flex: 0 0 40px; - margin: 0; - text-align: center; -} -.roll-table-config ol.table-results .table-result .result-controls a { - width: 20px; -} -.roll-table-config ol.table-results .table-result .result-controls .lock-result { - color: #b5b3a4; -} -.roll-table-config ol.table-results .table-result.roulette { - background: url("ui/parchment.webp") repeat; - border-top: 1px solid #000; - border-bottom: 1px solid #000; -} -.roll-table-config ol.table-results .table-result.drawn { - background: rgba(0, 0, 0, 0.15); -} -.roll-table-config ol.table-results .table-result.drawn .lock-result { - color: #111; -} -.roll-table-config ol.table-results .table-header { - background: url("ui/parchment.webp") repeat; - border: 1px solid #7a7971; - line-height: 24px; - font-weight: bold; -} -.icon:before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; -} -a.entity-link { - background: #DDD; - padding: 1px 4px; - border: 1px solid #4b4a44; - border-radius: 2px; - white-space: nowrap; - word-break: break-all; -} -a.entity-link i::before { - content: url("ui/jedi-order.svg") !important; - display: inline-block; - position: relative; - top: 2px; - height: 15px; - width: 15px; +/* Deprecated vars */ +/* ----------------------------------------- */ +/* Fonts */ +/* ----------------------------------------- */ +/* russo-one-regular - latin */ +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +/* bungee-inline-regular - latin */ +@font-face { + font-family: 'Bungee Inline'; + font-style: normal; + font-weight: 400; + src: url('./fonts/BungeeInline.ttf'); +} +.bungeeInline { + font-family: 'Bungee Inline'; + font-size: 20px; + font-weight: 400; +} +/* open-sans-regular - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('./fonts/OpenSans-Regular.ttf'); +} +.openSans { + font-family: 'Open Sans'; + font-size: 20px; + font-weight: 400; +} +/* ----------------------------------------- */ +/* Sheet Styles */ +/* ----------------------------------------- */ +/* ----------------------------------------- */ +/* Flexbox */ +/* ----------------------------------------- */ +.flexrow { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; +} +.flexrow > * { + flex: 1; +} +.flexrow .flex1 { + flex: 1; +} +.flexrow .flex2 { + flex: 2; +} +.flexrow .flex3 { + flex: 3; +} +.flexrow .flex4 { + flex: 4; +} +.flexcol { + display: flex; + flex-direction: column; + flex-wrap: nowrap; +} +.flexcol > * { + flex: 1; +} +.flexcol .flex1 { + flex: 1; +} +.flexcol .flex2 { + flex: 2; +} +.flexcol .flex3 { + flex: 3; +} +.flexcol .flex4 { + flex: 4; +} +/* ----------------------------------------- */ +/* All DnD5e Apps */ +/* ----------------------------------------- */ +.sw5e { + /* ----------------------------------------- */ + /* Element Styles */ + /* ----------------------------------------- */ + /* Form Groups */ + /* Tags */ +} +.sw5e .window-content { + background: linear-gradient(90deg, #afc6d6 0%, #D6D6D6 30%, #D6D6D6 70%, #afc6d6); + font-size: 13px; + color: #191813; +} +.sw5e input[type="text"], +.sw5e input[type="number"], +.sw5e select { + height: calc(100% - 2px); + border: 1px solid #7a7971; + background: rgba(0, 0, 0, 0.05); + color: #191813; +} +.sw5e input[type="text"]:hover, +.sw5e input[type="number"]:hover, +.sw5e input[type="text"]:focus, +.sw5e input[type="number"]:focus { + border: 1px solid #111; + box-shadow: 0 0 8px red; +} +.sw5e input:disabled, +.sw5e select:disabled, +.sw5e textarea:disabled { + color: #4b4a44; +} +.sw5e input:disabled:hover, +.sw5e select:disabled:hover, +.sw5e textarea:disabled:hover, +.sw5e input:disabled:focus, +.sw5e select:disabled:focus, +.sw5e textarea:disabled:focus { + box-shadow: none !important; + border: 1px solid transparent !important; + outline: none !important; +} +.sw5e button { + background: rgba(0, 0, 0, 0.1); + border: 2px groove #eeede0; +} +.sw5e label.checkbox { + flex: auto; + padding: 0; + margin: 0; + height: 22px; + line-height: 22px; + font-size: 11px; +} +.sw5e label.checkbox > input[type="checkbox"] { + width: 16px; + height: 16px; + margin: 0 2px 0 0; + position: relative; + top: 4px; +} +.sw5e label.checkbox.right > input[type="checkbox"] { + margin: 0 0 0 2px; +} +.sw5e .form-group label { + flex: 2; + color: #4b4a44; + font-weight: bold; +} +.sw5e .form-group .form-fields { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; +} +.sw5e .form-group .form-fields > * { + flex: 1; +} +.sw5e .form-group .form-fields .flex1 { + flex: 1; +} +.sw5e .form-group .form-fields .flex2 { + flex: 2; +} +.sw5e .form-group .form-fields .flex3 { + flex: 3; +} +.sw5e .form-group .form-fields .flex4 { + flex: 4; +} +.sw5e .form-group .form-fields > * { + margin: 0 3px 0 0; +} +.sw5e .form-group .form-fields > *:last-child { + margin-right: 0; +} +.sw5e .form-group.stacked label { + flex: 0 0 100%; + margin: 0; +} +.sw5e .form-group.stacked label.checkbox { + flex: auto; + text-align: left; +} +.sw5e .form-header { + margin: 0 0 0.25em 0; + padding: 2px 0; + border-top: 2px groove #eeede0; + border-bottom: 2px groove #eeede0; + font-family: 'Russo One'; + font-size: 20px; + font-weight: 400; +} +.sw5e .tag { + display: inline-block; + margin: 0 2px 0 0; + padding: 0 3px; + font-size: 10px; + line-height: 16px; + border: 1px solid #999; + border-radius: 3px; + background: rgba(0, 0, 0, 0.05); +} +/* ----------------------------------------- */ +/* Entity Sheets Specifically */ +/* ----------------------------------------- */ +.sw5e.sheet { + /* ----------------------------------------- */ + /* Element Styles */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* TinyMCE */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Navigation */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Body */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* List Filters */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Trait Lists */ + /* ----------------------------------------- */ +} +.sw5e.sheet .window-content { + overflow-y: hidden; + padding: 5px; + background: linear-gradient(90deg, #afc6d6 0%, #D6D6D6 30%, #D6D6D6 70%, #afc6d6); + font-size: 13px; + color: #191813; +} +.sw5e.sheet .window-content form { + height: 100%; + overflow: hidden; +} +.sw5e.sheet .window-content .tab { + height: 100%; + overflow-y: auto; + align-content: flex-start; +} +.sw5e.sheet input[type="text"], +.sw5e.sheet input[type="number"] { + background: none; + border: 1px solid transparent; +} +.sw5e.sheet input[type="text"]:hover, +.sw5e.sheet input[type="number"]:hover, +.sw5e.sheet input[type="text"]:focus, +.sw5e.sheet input[type="number"]:focus { + border: 1px solid #111; +} +.sw5e.sheet select { + flex: 1; + font-size: 12px; + height: 22px; + background: transparent; +} +.sw5e.sheet .editable .rollable:hover { + color: #000; + text-shadow: 0 0 10px red; + cursor: pointer; +} +.sw5e.sheet span.sep { + flex: none; + margin: 0 1px; + display: inline; + position: relative; + color: #7a7971; + font-weight: normal; +} +.sw5e.sheet .editor { + height: 100%; +} +.sw5e.sheet .editor .tox-toolbar-overlord, +.sw5e.sheet .editor .tox-toolbar__primary { + background: none; +} +.sw5e.sheet .sheet-header { + flex: 0 0 100px; + border-bottom: 2px groove #eeede0; + /* Character Name */ + /* Profile Image */ + /* Header Summary Details */ +} +.sw5e.sheet .sheet-header .header-details { + font-family: 'Russo One'; + font-size: 20px; + font-weight: 400; +} +.sw5e.sheet .sheet-header h1 { + flex: 1; + border-bottom: none; + height: 60px; + margin: 0; + padding: 5px; +} +.sw5e.sheet .sheet-header h1 input { + display: block; + height: 50px; + font-size: 32px; + margin: 0; +} +.sw5e.sheet .sheet-header img.profile { + flex: 0 0 100px; + max-width: 100px; + height: 100px; + object-fit: contain; + border: none; + border-right: 2px groove #eeede0; +} +.sw5e.sheet .sheet-header .summary { + flex: 0 0 100%; + height: 40px; + margin: 0; + padding: 0; + list-style: none; + border-top: 2px groove #eeede0; + border-bottom: none; +} +.sw5e.sheet .sheet-header .summary li { + height: calc(100% - 6px); + float: left; + margin: 2px 0; + padding: 0; + border-right: 2px groove #eeede0; + line-height: 34px; + color: #4b4a44; +} +.sw5e.sheet .sheet-header .summary li:last-child { + border-right: none; +} +.sw5e.sheet .sheet-navigation { + flex: 0 0 30px; + margin-bottom: 5px; + font-family: 'Russo One'; + font-size: 14px; + font-weight: 400; +} +.sw5e.sheet .sheet-navigation .item { + height: 30px; + line-height: 32px; + margin: 0 24px; + border-bottom: 3px solid #b5b3a4; +} +.sw5e.sheet .sheet-navigation .item.active { + border-bottom: 3px solid #44191A; +} +.sw5e.sheet .sheet-body { + flex: 1; + overflow: hidden; +} +.sw5e.sheet .filter-list { + list-style: none; + margin: 0; + padding: 0; + line-height: 16px; + max-width: 70%; +} +.sw5e.sheet .filter-list .filter-icon { + flex: none; + font-size: 14px; + color: #7a7971; +} +.sw5e.sheet .filter-list .filter-item { + text-align: center; + font-size: 12px; + margin: 0 6px 0 0; + border-bottom: 3px solid #b5b3a4; + white-space: nowrap; +} +.sw5e.sheet .filter-list .filter-item:last-child { + margin: 0; +} +.sw5e.sheet .filter-list .filter-item:hover { + text-shadow: 0 0 4px red; + border-bottom: 3px solid #7a7971; +} +.sw5e.sheet .filter-list .filter-item.active { + border-bottom: 3px solid #44191A; +} +.sw5e.sheet .traits { + margin: 5px 0 0; +} +.sw5e.sheet .traits .trait-selector { + flex: 0 0 16px; + padding: 2px 0; + color: #999; + font-size: 10px; +} +.sw5e.sheet .traits .traits-list { + flex: 0 0 100%; + line-height: 20px; + list-style: none; + margin: 0; + padding: 0; +} +/* ----------------------------------------- */ +/* Trait Selector +/* ----------------------------------------- */ +#trait-selector .trait-list { + list-style: none; + margin: 0; + padding: 0; +} +#trait-selector input[type="text"] { + height: 24px; + margin: 2px; +} +.sw5e.sheet.actor { + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* General Styles */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Attributes */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Ability Scores */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Skills */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Statuses */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Traits */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Inventory Lists */ + /* ----------------------------------------- */ + /* Inventory List Filters */ + /* Encumbrance Bar */ + /* ----------------------------------------- */ + /* Powerbook */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Active Effects */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* TinyMCE */ + /* ----------------------------------------- */ +} +.sw5e.sheet.actor .sheet-header img.profile { + flex: 0 0 160px; + max-width: 160px; + height: 160px; +} +.sw5e.sheet.actor .sheet-header h1.charname { + flex: 1; + height: 60px; + padding: 0; +} +.sw5e.sheet.actor .sheet-header h1.charname input { + height: 40px; + margin: 10px 0; +} +.sw5e.sheet.actor .sheet-header .header-exp { + flex: 0 0 150px; + margin-right: 3px; + height: 60px; + justify-content: flex-end; + text-align: right; +} +.sw5e.sheet.actor .sheet-header .summary { + height: 30px; + border-bottom: 2px groove #eeede0; + font-size: 18px; +} +.sw5e.sheet.actor .sheet-header .summary input, +.sw5e.sheet.actor .sheet-header .summary span { + display: block; + height: 24px; + line-height: 24px; +} +.sw5e.sheet.actor .sheet-header .attributes { + flex: 0 0 100%; + margin: 0; +} +.sw5e.sheet.actor .sheet-header .attributes .attribute { + height: 70px; + margin: 0; + border: none; + border-right: 2px groove #eeede0; + border-radius: 0; +} +.sw5e.sheet.actor .sheet-header .attributes .attribute:last-child { + border-right: none; +} +.sw5e.sheet.actor .sheet-header .attributes .attribute .attribute-value { + height: 30px; + line-height: 30px; +} +.sw5e.sheet.actor .attributes input.temphp { + width: 48%; +} +.sw5e.sheet.actor h4.box-title { + height: 18px; + line-height: 16px; + margin: 4px 8px 2px; + font-family: 'Russo One'; + font-size: 14px; + font-weight: 400; + color: #4b4a44; + border-bottom: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .tab.attributes { + overflow: hidden; +} +.sw5e.sheet.actor ul.attributes { + flex: 0 0 60px; + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.actor ul.attributes li.attribute { + height: 60px; + margin: 0 5px 0 0; + border: 2px groove #eeede0; + border-radius: 4px; + text-align: center; +} +.sw5e.sheet.actor ul.attributes li.attribute:last-child { + margin: 0; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-value { + display: flex; + justify-content: center; + align-items: center; + height: 28px; + line-height: 28px; + font-family: 'Russo One'; + font-size: 20px; + font-weight: 400; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-value > * { + font-weight: 400; + font-size: 24px; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-value.multiple input { + flex: 0 0 33%; +} +.sw5e.sheet.actor ul.attributes li.attribute .attribute-footer { + flex: 0 0 18px; + margin-top: -1px; + line-height: 18px; + font-family: "Signika", sans-serif; + font-size: 12px; + font-weight: 400; +} +.sw5e.sheet.actor .ability-scores { + flex: 0 0 100px; + height: 440px; + list-style: none; + margin: 0; + padding: 0; + font-family: 'Russo One'; + font-size: 20px; + font-weight: 400; + border: 2px groove #eeede0; + border-radius: 3px; +} +.sw5e.sheet.actor .ability-scores .ability { + height: 70px; + text-align: center; + border-bottom: 2px groove #eeede0; +} +.sw5e.sheet.actor .ability-scores .ability:last-child { + border-bottom: none; + margin-bottom: -3px; +} +.sw5e.sheet.actor .ability-scores .ability input.ability-score { + height: 30px; + width: 36px; + margin: 0 auto; + line-height: 32px; + font-size: 24px; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers { + height: 24px; + margin: -8px 0 0; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-mod, +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-save { + flex: 0 0 24px; + height: 22px; + line-height: 22px; + font-size: 16px; + border-top: 2px groove #eeede0; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-mod { + border-right: 2px groove #eeede0; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers .ability-proficiency { + line-height: 30px; +} +.sw5e.sheet.actor .ability-scores .ability .ability-modifiers span.ability-save { + border-left: 2px groove #eeede0; +} +.sw5e.sheet.actor .proficiency-toggle { + color: #b5b3a4; + font-size: 12px; +} +.sw5e.sheet.actor .proficient .proficiency-toggle { + color: #4b4a44; +} +.sw5e.sheet.actor .locked .proficiency-toggle { + color: #b5b3a4; + text-shadow: none; + cursor: default; +} +.sw5e.sheet.actor ul.skills-list { + flex: 0 0 180px; + height: 440px; + list-style: none; + margin: 0 5px 0; + padding: 3px 0 2px; + border: 2px groove #eeede0; + border-radius: 3px; +} +.sw5e.sheet.actor ul.skills-list li.skill { + height: 24px; + padding: 3px 2px; +} +.sw5e.sheet.actor ul.skills-list li.skill:nth-child(even) { + background: rgba(0, 0, 0, 0.05); +} +.sw5e.sheet.actor ul.skills-list li.skill h4 { + flex: 1px; + margin: 0; + font-size: 11px; + line-height: 18px; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-proficiency { + flex: 0 0 16px; + line-height: 18px; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-ability { + flex: 0 0 26px; + text-transform: capitalize; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-mod { + flex: 0 0 20px; +} +.sw5e.sheet.actor ul.skills-list li.skill .skill-passive { + flex: 0 0 26px; + text-align: center; + color: #7a7971; +} +.sw5e.sheet.actor .counters { + flex: none; + padding: 5px 0; + margin: 0; + border-bottom: 2px groove #eeede0; +} +.sw5e.sheet.actor .counters .counter { + height: 20px; + line-height: 20px; +} +.sw5e.sheet.actor .counters .counter h4 { + flex: auto; + margin: 0; + font-size: 13px; + font-weight: bold; + color: #4b4a44; +} +.sw5e.sheet.actor .counters .counter .counter-value { + flex: none; + text-align: right; +} +.sw5e.sheet.actor .counters .counter .counter-value > * { + display: inline; +} +.sw5e.sheet.actor .counters .counter input[type="text"], +.sw5e.sheet.actor .counters .counter input[type="number"] { + height: 20px; + max-width: 20px; + margin: 0; + padding: 0; + text-align: center; +} +.sw5e.sheet.actor .counters .counter input[type="checkbox"] { + position: relative; + width: 16px; + height: 16px; + margin: 0; + top: 4px; +} +.sw5e.sheet.actor .counters .counter span.sep { + font-size: 12px; +} +.sw5e.sheet.actor .center-pane { + height: 100%; + padding: 0 5px 0 3px; + overflow-y: auto; + scrollbar-width: thin; +} +.sw5e.sheet.actor .traits .form-group, +.sw5e.sheet.actor .traits .form-group-stacked { + margin: 0 0 3px 0; + justify-content: space-between; +} +.sw5e.sheet.actor .traits .configure-flags { + flex: 1; +} +.sw5e.sheet.actor .traits label { + flex: none; + line-height: 20px; + font-weight: bold; + margin: 0 10px 0 0; +} +.sw5e.sheet.actor .traits select { + max-width: 200px; +} +.sw5e.sheet.actor .traits input { + text-align: right; +} +.sw5e.sheet.actor .traits i.fas { + float: right; + margin-right: 3px; + text-align: right; + color: #999; +} +.sw5e.sheet.actor .traits i.fas:hover { + color: #111; + text-shadow: 0 0 10px red; +} +.sw5e.sheet.actor .traits .inactive { + color: #7a7971; +} +.sw5e.sheet.actor .tab.features, +.sw5e.sheet.actor .tab.inventory, +.sw5e.sheet.actor .tab.powerbook { + overflow-y: hidden; +} +.sw5e.sheet.actor .inventory-filters { + margin: 0 8px; + flex: 0 0 20px; + justify-content: flex-end; +} +.sw5e.sheet.actor .inventory-filters .currency { + flex: 0 0 100%; + list-style: none; + margin: 4px 0 8px; + padding: 0; + font-size: 12px; +} +.sw5e.sheet.actor .inventory-filters .currency label { + flex: 0; + margin-left: 8px; + text-align: right; + line-height: 20px; + color: #7a7971; +} +.sw5e.sheet.actor .inventory-filters .currency input[type="text"] { + flex: 0 0 48px; + text-align: center; + margin-left: 8px; + border-bottom: 2px groove #eeede0; +} +.sw5e.sheet.actor .inventory-list { + list-style: none; + margin: 0; + padding: 0 5px; + overflow-y: auto; + scrollbar-width: thin; + color: #7a7971; +} +.sw5e.sheet.actor .inventory-list .item { + line-height: 30px; + padding: 0 2px; + border-bottom: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .inventory-list .item:last-child { + border-bottom: none; +} +.sw5e.sheet.actor .inventory-list .item .item-name { + cursor: pointer; + max-height: 30px; + overflow: hidden; +} +.sw5e.sheet.actor .inventory-list .item .item-name .item-image { + flex: 0 0 30px; + background-size: 30px; + margin-right: 5px; +} +.sw5e.sheet.actor .inventory-list .item .item-name h4 { + margin: 0; + white-space: nowrap; + overflow-x: hidden; +} +.sw5e.sheet.actor .inventory-list .item .item-name.rollable:hover .item-image { + background-image: url("../../icons/svg/d20-grey.svg") !important; +} +.sw5e.sheet.actor .inventory-list .item .item-name.rollable .item-image:hover { + background-image: url("../../icons/svg/d20-black.svg") !important; +} +.sw5e.sheet.actor .inventory-list .item .item-name i.attuned { + color: #7a7971; +} +.sw5e.sheet.actor .inventory-list .item .item-uses input { + width: 24px; + text-align: center; +} +.sw5e.sheet.actor .inventory-list .item .item-properties { + margin-top: 3px; +} +.sw5e.sheet.actor .inventory-list .item .item-recharge { + flex: 0 0 80px; + text-align: right; + font-size: 11px; + color: #7a7971; + white-space: nowrap; +} +.sw5e.sheet.actor .inventory-list .inventory-header { + margin: 2px 0; + padding: 0; + align-items: center; + background: rgba(0, 0, 0, 0.05); + border: 2px groove #eeede0; + font-weight: bold; + line-height: 24px; +} +.sw5e.sheet.actor .inventory-list .inventory-header h3 { + margin: 0 -5px 0 0; + padding-left: 5px; + font-family: 'Russo One'; + font-size: 20px; + font-weight: 400; + font-size: 16px; +} +.sw5e.sheet.actor .inventory-list .inventory-header .item-controls a.item-create { + flex: 0 0 100%; +} +.sw5e.sheet.actor .inventory-list .item-name { + color: #191813; +} +.sw5e.sheet.actor .inventory-list .item-detail { + flex: 0 0 70px; + font-size: 12px; + color: #7a7971; + text-align: center; + border-right: 1px solid #c9c7b8; + word-break: break-word; + white-space: nowrap; + overflow: hidden; +} +.sw5e.sheet.actor .inventory-list .item-detail:last-child { + border-right: none; +} +.sw5e.sheet.actor .inventory-list .item-detail.item-action { + flex: 0 0 100px; +} +.sw5e.sheet.actor .inventory-list .item-weight { + flex: 0 0 60px; + border-left: 1px solid #c9c7b8; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .inventory-list .item-list { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.actor .inventory-list .item-controls { + flex: 0 0 44px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + justify-content: flex-end; +} +.sw5e.sheet.actor .inventory-list .item-controls > * { + flex: 1; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex1 { + flex: 1; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex2 { + flex: 2; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex3 { + flex: 3; +} +.sw5e.sheet.actor .inventory-list .item-controls .flex4 { + flex: 4; +} +.sw5e.sheet.actor .inventory-list .item-controls a { + flex: 0 0 22px; + font-size: 12px; + text-align: center; + color: #7a7971; +} +.sw5e.sheet.actor .inventory-list .item-summary { + flex: 0 0 100%; + font-size: 12px; + line-height: 16px; + padding: 0.25em 0.5em; + border-top: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .encumbrance { + flex: 0 0 12px; + background: #7a7971; + margin: 1px 15px 0 1px; + border: 1px solid #191813; + border-radius: 3px; + position: relative; +} +.sw5e.sheet.actor .encumbrance .encumbrance-bar { + position: absolute; + top: 1px; + left: 1px; + background: #6c8aa5; + height: 8px; + border: 1px solid #cde4ff; + border-radius: 2px; +} +.sw5e.sheet.actor .encumbrance .encumbrance-label { + height: 10px; + padding: 0 5px; + position: absolute; + top: 0; + right: 0; + font-size: 13px; + line-height: 12px; + text-align: right; + color: #EEE; + text-shadow: 0 0 5px #000; +} +.sw5e.sheet.actor .encumbrance .encumbrance-breakpoint { + display: block; + position: absolute; +} +.sw5e.sheet.actor .encumbrance .encumbrance-breakpoint.encumbrance-33 { + left: 33%; +} +.sw5e.sheet.actor .encumbrance .encumbrance-breakpoint.encumbrance-66 { + left: 66%; +} +.sw5e.sheet.actor .encumbrance .arrow-up { + bottom: 0; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-bottom: 4px solid #666; +} +.sw5e.sheet.actor .encumbrance .arrow-down { + top: 0; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #666; +} +.sw5e.sheet.actor .encumbrance.encumbered .arrow-up { + border-bottom: 4px solid #000; +} +.sw5e.sheet.actor .encumbrance.encumbered .arrow-down { + border-top: 4px solid #000; +} +.sw5e.sheet.actor .powercasting-ability { + flex: 0 0 240px; + margin: 0; +} +.sw5e.sheet.actor .powercasting-ability input, +.sw5e.sheet.actor .powercasting-ability span { + flex: 0 0 32px; + text-align: center; +} +.sw5e.sheet.actor .powercasting-ability select { + margin: 0 5px; + flex: 0 0 150px; +} +.sw5e.sheet.actor .powercasting-ability h3.power-dc { + flex: 1; + text-align: right; +} +.sw5e.sheet.actor .power-slots, +.sw5e.sheet.actor .power-comps { + flex: 0 0 75px; + padding-right: 5px; + text-align: right; + font-size: 12px; + color: #7a7971; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .power-slots input { + display: inline; + max-width: 20px; +} +.sw5e.sheet.actor .power-slots .sep { + font-size: 13px; + font-weight: normal; +} +.sw5e.sheet.actor .power-uses { + padding-right: 8px; + text-align: right !important; +} +.sw5e.sheet.actor .power-school, +.sw5e.sheet.actor .power-action, +.sw5e.sheet.actor .power-target { + flex: 0 0 100px; + font-size: 12px; + color: #7a7971; + text-align: center; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .power-component { + line-height: 14px; +} +.sw5e.sheet.actor .power-component.C, +.sw5e.sheet.actor .power-component.R { + display: inline-block; + text-align: center; + padding-top: 1px; + width: 16px; + color: #c9c7b8; + background: rgba(0, 0, 0, 0.4); + border: 1px solid transparent; + border-radius: 8px; +} +.sw5e.sheet.actor .powerbook-empty .item-controls { + flex: 1; +} +.sw5e.sheet.actor .effects .effect-name { + flex: 2; + align-items: center; + color: #191813; +} +.sw5e.sheet.actor .effects .effect-name h4 { + margin: 0; +} +.sw5e.sheet.actor .effects .effect-icon { + flex: 0 0 30px; + height: 30px; + margin-right: 5px; + border: none; +} +.sw5e.sheet.actor .effects .effect-source, +.sw5e.sheet.actor .effects .effect-duration { + text-align: center; + border-left: 1px solid #c9c7b8; + border-right: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .effects .effect-controls { + flex: 0 0 60px; + text-align: right; +} +.sw5e.sheet.actor .effects .effect { + align-items: center; + border-bottom: 1px solid #c9c7b8; +} +.sw5e.sheet.actor .effects .effect:last-child { + border-bottom: none; +} +.sw5e.sheet.actor .editor { + padding: 0 8px; +} +.sw5e.sheet.item { + min-height: 420px; + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Item Details Form */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Item Actions */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Item Actions */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Loot Sheet (No Tabs) */ + /* ----------------------------------------- */ +} +.sw5e.sheet.item .sheet-header img.profile { + border: 2px solid #000; +} +.sw5e.sheet.item .sheet-header .item-subtitle { + flex: 0 0 80px; + height: 60px; + margin: 0; + padding: 5px; + text-align: right; + color: #7a7971; +} +.sw5e.sheet.item .sheet-header .item-subtitle .item-type { + font-size: 24px; + line-height: 26px; + margin: 0; +} +.sw5e.sheet.item .sheet-header .item-subtitle .item-status { + font-size: 16px; + line-height: 24px; +} +.sw5e.sheet.item .sheet-navigation { + margin-bottom: 5px; +} +.sw5e.sheet.item .sheet-navigation .item { + font-size: 18px; +} +.sw5e.sheet.item .sheet-body { + overflow: hidden; +} +.sw5e.sheet.item .sheet-body .tab { + padding: 0 5px; + overflow: hidden auto; +} +.sw5e.sheet.item .sheet-body .item-properties { + flex: 0 0 120px; + margin: 5px 5px 5px 0; + padding-right: 5px; + border-right: 2px groove #eeede0; +} +.sw5e.sheet.item .sheet-body .item-properties .form-group { + margin: 0; +} +.sw5e.sheet.item .sheet-body .item-properties .form-group label { + line-height: 20px; +} +.sw5e.sheet.item .sheet-body .item-properties .form-group input { + text-align: right; +} +.sw5e.sheet.item .sheet-body .item-properties .properties-list { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.item .sheet-body .item-properties .properties-list li { + margin: 3px 0; + padding: 0 2px; + background: rgba(0, 0, 0, 0.05); + border: 2px groove #eeede0; + text-align: center; + font-size: 12px; + line-height: 18px; +} +.sw5e.sheet.item .details input[type="text"], +.sw5e.sheet.item .details input[type="number"], +.sw5e.sheet.item .details select { + height: 24px; + border: 1px solid #7a7971; + background: rgba(0, 0, 0, 0.05); +} +.sw5e.sheet.item .details .form-group span { + text-align: center; + line-height: 24px; +} +.sw5e.sheet.item .details .form-group.input-select select { + flex: 1.8; +} +.sw5e.sheet.item .details .form-group.input-select-select select { + flex: 1.5; +} +.sw5e.sheet.item .details .form-group.uses-per input { + flex: 1; +} +.sw5e.sheet.item .details .form-group.uses-per span { + flex: 0 0 16px; +} +.sw5e.sheet.item .details .form-group.uses-per select { + flex: 3; +} +.sw5e.sheet.item .details span.sep { + flex: 0 0 8px; +} +.sw5e.sheet.item .details .prepared { + flex: 1.3 !important; + text-align: right; + padding-right: 10px; +} +.sw5e.sheet.item .details .power-materials { + flex: 0 0 100%; + margin: 0.25em 0; + justify-content: flex-end; +} +.sw5e.sheet.item .details .power-materials label { + flex: 0 0 64px; + text-align: right; + margin-right: 5px; + font-size: 12px; + line-height: 24px; +} +.sw5e.sheet.item .details .power-materials input[type="text"] { + flex: 0 0 48px; + margin-right: 10px; +} +.sw5e.sheet.item h4.damage-header { + margin: 0; + padding: 0; + font-weight: bold; + line-height: 24px; + color: #4b4a44; +} +.sw5e.sheet.item .damage-parts { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.item .damage-parts .damage-part { + flex: 0 0 100%; + padding: 0; +} +.sw5e.sheet.item .damage-parts .damage-part input { + flex: 3; +} +.sw5e.sheet.item .damage-parts .damage-part select { + margin-left: 5px; + flex: 1; +} +.sw5e.sheet.item .damage-control { + width: 18px; + flex: 0 0 18px; + line-height: 24px; + float: right; + text-align: right; + color: #7a7971; +} +.sw5e.sheet.item .recharge.form-group span { + text-align: right; + padding-right: 3px; +} +.sw5e.sheet.item .recharge.form-group input[type="text"] { + flex: 0 0 32px; + text-align: center; +} +.sw5e.sheet.item .recharge.form-group label.checkbox { + flex: none; +} +.sw5e.sheet.item .recharge.form-group label.checkbox input { + width: 16px; + height: 16px; + top: 4px; +} +.sw5e.sheet.item .weapon-properties label.checkbox { + flex: 0 0 98px; +} +.sw5e.sheet.item .loot-header { + margin-bottom: 10px; +} +/* ----------------------------------------- */ +/* Chat Cards +/* ----------------------------------------- */ +.sw5e.chat-card { + font-style: normal; + font-size: 12px; +} +.sw5e.chat-card .card-header { + padding: 3px 0; + border-top: 2px groove #FFF; + border-bottom: 2px groove #FFF; +} +.sw5e.chat-card .card-header img { + flex: 0 0 36px; + margin-right: 5px; +} +.sw5e.chat-card .card-header h3 { + flex: 1; + margin: 0; + line-height: 36px; + font-family: 'Bungee Inline'; + font-size: 20px; + font-weight: 400; + color: #4b4a44; +} +.sw5e.chat-card .card-header h3:hover { + color: #111; + text-shadow: 0 0 10px red; +} +.sw5e.chat-card .card-content { + margin: 5px 0; +} +.sw5e.chat-card .card-content h3 { + font-size: 12px; + margin: 0; + font-weight: bold; +} +.sw5e.chat-card .card-content > * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} +.sw5e.chat-card .card-buttons { + margin: 5px 0; +} +.sw5e.chat-card .card-buttons span { + display: block; + line-height: 28px; + text-align: center; + border: 1px solid #CCC; +} +.sw5e.chat-card .card-buttons button { + font-size: 12px; + height: 24px; + line-height: 20px; + margin: 2px 0; +} +.sw5e.chat-card .card-footer { + padding: 3px 0 0; + border-top: 2px groove #FFF; +} +.sw5e.chat-card .card-footer span { + border-right: 2px groove #FFF; + padding: 0 5px 0 0; + font-size: 10px; +} +.sw5e.chat-card .card-footer span:last-child { + border-right: none; + padding-right: 0; +} +.dice-roll .dice-total.success { + color: inherit; + background: #c7d0c0; + border: 1px solid #006c00; +} +.dice-roll .dice-total.failure { + color: inherit; + background: #ffdddd; + border: 1px solid #6e0000; +} +.dice-roll .dice-total.critical { + color: green; +} +.dice-roll .dice-total.fumble { + color: red; +} +/* ----------------------------------------- */ +/* Basic Structure */ +/* ----------------------------------------- */ +.sw5e.sheet.actor.character { + min-width: 720px; + min-height: 680px; + /* ----------------------------------------- */ + /* Sheet Header */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Sheet Body */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Item Controls */ + /* ----------------------------------------- */ + /* ----------------------------------------- */ + /* Biography */ + /* ----------------------------------------- */ +} +.sw5e.sheet.actor.character .sheet-header img.profile { + flex: 0 0 160px; + max-width: 160px; + height: 160px; +} +.sw5e.sheet.actor.character .sheet-header .charlevel { + flex: 0 0 20px; + height: 20px; + font-size: 18px; + color: #7a7971; + white-space: nowrap; +} +.sw5e.sheet.actor.character .sheet-header .experience { + flex: 0 0 32px; + margin-bottom: -5px; + align-items: center; + font-size: 18px; +} +.sw5e.sheet.actor.character .sheet-header .experience span.max { + color: #7a7971; + flex: none; + margin-left: 3px; +} +.sw5e.sheet.actor.character .sheet-header .xpbar { + flex: 0 0 8px; + width: 100%; + margin-bottom: 5px; + background: #7a7971; + border: 1px solid #000; + border-radius: 3px; +} +.sw5e.sheet.actor.character .sheet-header .xpbar .bar { + height: 4px; + margin: 1px; + display: block; + background: #afebff; + border: 1px solid #000; + border-radius: 2px; +} +.sw5e.sheet.actor.character .sheet-header .attributes a.rest { + border: 1px solid #b5b3a4; + border-radius: 2px; + background: rgba(0, 0, 0, 0.05); + padding: 0 3px; + margin: 0 3px; +} +.sw5e.sheet.actor.character .sheet-header .attributes .hit-dice { + font-size: 24px; +} +.sw5e.sheet.actor.character .sheet-header .attributes .initiative .attribute-footer input { + width: 32px; +} +.sw5e.sheet.actor.character .sheet-header .summary .proficiency { + text-align: right; + padding-right: 5px; +} +.sw5e.sheet.actor.character .resource .attribute-value input { + flex: 0 0 25%; +} +.sw5e.sheet.actor.character .resource .attribute-value label.recharge { + height: 32px; + position: relative; + font-family: "Signika", sans-serif; + font-size: 11px; + text-align: center; + color: #4b4a44; +} +.sw5e.sheet.actor.character .resource .attribute-value label.recharge input[type="checkbox"] { + height: 14px; + width: 14px; + margin: 0; + top: -6px; +} +.sw5e.sheet.actor.character ul.skills-list { + flex: 0 0 212px; +} +.sw5e.sheet.actor.character ul.skills-list li.skill { + padding: 3px; +} +.sw5e.sheet.actor.character ul.skills-list li.skill h4 { + flex: 1px; + margin: 0; + font-size: 13px; +} +.sw5e.sheet.actor.character .item-detail.player-class { + flex: 0 0 180px; + text-align: right; + padding-right: 10px; +} +.sw5e.sheet.actor.character .inventory .item-controls, +.sw5e.sheet.actor.character .powerbook .item-controls { + flex: 0 0 68px; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle { + color: #b5b3a4; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.active, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.active { + color: #4b4a44; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.fixed, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.fixed { + color: #44191A; +} +.sw5e.sheet.actor.character .inventory .item-controls .item-toggle.fixed:hover, +.sw5e.sheet.actor.character .powerbook .item-controls .item-toggle.fixed:hover { + text-shadow: none; +} +.sw5e.sheet.actor.character .characteristics { + flex: 0 0 180px; + height: 100%; + padding: 0 3px 3px; +} +.sw5e.sheet.actor.character .characteristics label { + flex: 0 0 20px; + font-family: 'Bungee Inline'; + font-size: 20px; + font-weight: 400; + font-size: 16px; + font-weight: normal; + line-height: 20px; + text-align: center; +} +.sw5e.sheet.actor.character .characteristics textarea { + font-family: 'Open Sans'; + font-size: 20px; + font-weight: 400; + border: 1px solid #c9c7b8; + resize: none; +} +.sw5e.sheet.actor.character .biography { + max-width: calc(100% - 180px); +} +/* ----------------------------------------- */ +/* Basic Structure */ +/* ----------------------------------------- */ +.sw5e.sheet.actor.npc { + min-width: 600px; + min-height: 680px; +} +.sw5e.sheet.actor.npc .header-exp { + flex: 0 0 80px; + justify-content: center; +} +.sw5e.sheet.actor.npc .header-exp .cr { + flex: 0 0 32px; + line-height: 28px; + margin-bottom: -5px; + font-size: 24px; +} +.sw5e.sheet.actor.npc .header-exp .cr input { + width: 32px; + padding: 0; + text-align: center; +} +.sw5e.sheet.actor.npc .header-exp .experience { + flex: 0 0 18px; + color: #7a7971; + font-size: 16px; +} +.sw5e.sheet.actor.npc .summary { + font-size: 18px; +} +.sw5e.sheet.actor.npc .powercasting-ability label { + flex: none; +} +.sw5e.sheet.actor.vehicle .features .item-controls { + flex: 0 0 68px; +} +.sw5e.sheet.actor.vehicle .features .item-controls .item-toggle { + color: #b5b3a4; +} +.sw5e.sheet.actor.vehicle .features .item-controls .item-toggle.active { + color: #4b4a44; +} +.sw5e.sheet.actor.vehicle .counters .counter.creature-cap .counter-value { + flex: 1; +} +.sw5e.sheet.actor.vehicle .counters .counter.creature-cap input { + max-width: none; + text-align: right; +} +.sw5e.sheet.actor.vehicle .counters .counter.cargo-cap input { + max-width: 40px; + text-align: right; +} +input[type="number"] { + width: calc(100% - 2px); + min-width: 20px; + height: 26px; + background: rgba(0, 0, 0, 0.05); + padding: 1px 3px; + margin: 0; + color: #191813; + font-family: inherit; + font-size: inherit; + text-align: inherit; + line-height: inherit; + border: 1px solid #7a7971; + border-radius: 3px; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + -moz-appearance: textfield; +} +input[type="number"]:focus { + box-shadow: 0 0 5px red; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none; } diff --git a/sw5e.js b/sw5e.js index 0a04143a..64a16371 100644 --- a/sw5e.js +++ b/sw5e.js @@ -22,9 +22,10 @@ import Item5e from "./module/item/entity.js"; import AbilityTemplate from "./module/pixi/ability-template.js"; import AbilityUseDialog from "./module/apps/ability-use-dialog.js"; import ActorSheetFlags from "./module/apps/actor-flags.js"; -import ActorSheet5eCharacter from "./module/actor/sheets/character.js"; -import ActorSheet5eNPC from "./module/actor/sheets/npc.js"; -import ActorSheet5eVehicle from "./module/actor/sheets/vehicle.js"; +import ActorSheet5eCharacter from "./module/actor/sheets/oldSheets/character.js"; +import ActorSheet5eNPC from "./module/actor/sheets/oldSheets/npc.js"; +import ActorSheet5eVehicle from "./module/actor/sheets/oldSheets/vehicle.js"; +import ActorSheet5eCharacterNew from "./module/actor/sheets/newSheet/character.js"; import ItemSheet5e from "./module/item/sheet.js"; import ShortRestDialog from "./module/apps/short-rest.js"; import TraitSelector from "./module/apps/trait-selector.js"; @@ -48,6 +49,7 @@ Hooks.once("init", function() { AbilityUseDialog, ActorSheetFlags, ActorSheet5eCharacter, + ActorSheet5eCharacterNew, ActorSheet5eNPC, ActorSheet5eVehicle, ItemSheet5e, @@ -87,11 +89,16 @@ Hooks.once("init", function() { // Register sheet application classes Actors.unregisterSheet("core", ActorSheet); - Actors.registerSheet("sw5e", ActorSheet5eCharacter, { + Actors.registerSheet("sw5e", ActorSheet5eCharacterNew, { types: ["character"], makeDefault: true, label: "SW5E.SheetClassCharacter" }); + Actors.registerSheet("sw5e", ActorSheet5eCharacter, { + types: ["character"], + makeDefault: false, + label: "SW5E.SheetClassCharacterOld" + }); Actors.registerSheet("sw5e", ActorSheet5eNPC, { types: ["npc"], makeDefault: true, @@ -213,8 +220,33 @@ Hooks.on("getChatLogEntryContext", chat.addChatMessageContextOptions); Hooks.on("renderChatLog", (app, html, data) => Item5e.chatListeners(html)); Hooks.on("renderChatPopout", (app, html, data) => Item5e.chatListeners(html)); Hooks.on('getActorDirectoryEntryContext', Actor5e.addDirectoryContextOptions); - +Hooks.on("renderSceneDirectory", (app, html, data)=> { + //console.log(html.find("header.folder-header")); + setFolderBackground(html); +}); +Hooks.on("renderActorDirectory", (app, html, data)=> { + setFolderBackground(html); +}); +Hooks.on("renderItemDirectory", (app, html, data)=> { + setFolderBackground(html); +}); +Hooks.on("renderJournalDirectory", (app, html, data)=> { + setFolderBackground(html); +}); +Hooks.on("renderRollTableDirectory", (app, html, data)=> { + setFolderBackground(html); +}); // TODO I should remove this Handlebars.registerHelper('getProperty', function (data, property) { return getProperty(data, property); }); + + +function setFolderBackground(html) { + html.find("header.folder-header").each(function() { + let bgColor = $(this).css("background-color"); + if(bgColor == undefined) + bgColor = "rgb(255,255,255)"; + $(this).closest('li').css("background-color", bgColor); + }) +} \ No newline at end of file diff --git a/system.json b/system.json index 8b6dbc46..4c35a245 100644 --- a/system.json +++ b/system.json @@ -6,7 +6,7 @@ "author": "Dev Team", "scripts": [], "esmodules": ["sw5e.js"], - "styles": ["sw5e.css"], + "styles": ["sw5e.css", "sw5e-update.css"], "packs": [ { "name": "adventuringgear", diff --git a/templates/actors/newActor/character-sheet.html b/templates/actors/newActor/character-sheet.html new file mode 100644 index 00000000..34a99ee3 --- /dev/null +++ b/templates/actors/newActor/character-sheet.html @@ -0,0 +1,144 @@ +
+ {{!-- Sheet Header --}} +
+ +

+ +

+
+
+ {{ localize "SW5E.Level" }} {{data.details.level}} {{classLabels}} +
+ {{#unless disableExperience}} +
+ + / + {{data.details.xp.max}} +
+
+ +
+ {{/unless}} +
+
+ + + +
+ Proficiency {{numberFormat data.attributes.prof decimals=0 sign=true}} +
+
+ {{!-- Header Attributes --}} +
+ {{!-- ARMOR CLASS --}} +
+

{{ localize "SW5E.ArmorClass" }}

+
+ +
+
+ + {{!-- HIT POINTS --}} +
+

Hit Points

+
+ + / + +
+
+ + +
+
+ + {{!-- HIT DICE / SHORT & LONG REST BUTTONS --}} +
+

{{ localize "SW5E.HitDice" }}

+
+ {{data.attributes.hd}} + / + {{data.details.level}} +
+
+ + +
+
+ + {{!-- INITIATIVE --}} +
+

{{ localize "SW5E.Initiative" }}

+
+ {{numberFormat data.attributes.init.total decimals=0 sign=true}} +
+
+ {{ localize "SW5E.Modifier" }} + +
+
+ + {{!-- SPEED / MOVEMENT TYPES --}} +
+

{{ localize "SW5E.Speed" }}

+
+ +
+
+ +
+
+ + +
+ + +
+ {{!-- PC Sheet Navigation --}} + + {{!-- PC Sheet Body --}} +
+ {{!-- Core Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-core.html" sections=attributes}} +
+ {{!-- Inventory Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-inventory.html" sections=inventory}} +
+ {{!-- Features Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}} +
+ {{!-- Powerbook Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-powerbook.html"}} +
+ {{!-- Biography Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-biography.html"}} +
+ {{!-- Notes Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-notes.html"}} +
+ \ No newline at end of file diff --git a/templates/actors/newActor/expanded-limited-sheet.html b/templates/actors/newActor/expanded-limited-sheet.html new file mode 100644 index 00000000..be0f84ab --- /dev/null +++ b/templates/actors/newActor/expanded-limited-sheet.html @@ -0,0 +1,137 @@ +
+ {{!-- Sheet Header --}} +
+ +

+ +

+
+
+ {{ localize "SW5E.Level" }} {{data.details.level}} {{classLabels}} +
+ {{#unless disableExperience}} +
+ + / + {{data.details.xp.max}} +
+
+ +
+ {{/unless}} +
+
+ + + +
+ Proficiency {{numberFormat data.attributes.prof decimals=0 sign=true}} +
+
+ {{!-- Header Attributes --}} +
+ {{!-- ARMOR CLASS --}} +
+

{{ localize "SW5E.ArmorClass" }}

+
+ +
+
+ + {{!-- HIT POINTS --}} +
+

Hit Points

+
+ + / + +
+
+ + +
+
+ + {{!-- HIT DICE / SHORT & LONG REST BUTTONS --}} +
+

{{ localize "SW5E.HitDice" }}

+
+ {{data.attributes.hd}} + / + {{data.details.level}} +
+
+ + +
+
+ + {{!-- INITIATIVE --}} +
+

{{ localize "SW5E.Initiative" }}

+
+ {{numberFormat data.attributes.init.total decimals=0 sign=true}} +
+
+ {{ localize "SW5E.Modifier" }} + +
+
+ + {{!-- SPEED / MOVEMENT TYPES --}} +
+

{{ localize "SW5E.Speed" }}

+
+ +
+
+ +
+
+ + +
+
+ {{!-- PC Sheet Navigation --}} + + {{!-- PC Sheet Body --}} +
+ {{!-- Core Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-core.html" sections=attributes}} +
+ {{!-- Inventory Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-inventory.html" sections=inventory}} +
+ {{!-- Features Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}} +
+ {{!-- Powerbook Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-powerbook.html"}} +
+ {{!-- Biography Tab --}} +
+ {{> "systems/sw5e/templates/actors/newActor/parts/swalt-biography.html"}} +
+ \ No newline at end of file diff --git a/templates/actors/newActor/item.hbs b/templates/actors/newActor/item.hbs new file mode 100644 index 00000000..cdd84ff9 --- /dev/null +++ b/templates/actors/newActor/item.hbs @@ -0,0 +1,33 @@ +
  • +
    +
    +

    {{item.name}}

    +
    + +
    + {{#if item.data.uses.max }} + {{item.data.uses.value}} / {{item.data.uses.max}} + {{/if}} +
    + + +
    + {{#if item.data.quantity}} + {{item.data.quantity}} + {{/if}} +
    + + +
    + {{#if item.powerComps}} + {{item.powerComps}} + {{#if item.powerCon}}{{/if}} + {{#if item.powerRit}}{{/if}} + {{/if}} +
    + +
    + + +
    +
  • \ No newline at end of file diff --git a/templates/actors/newActor/limited-sheet.html b/templates/actors/newActor/limited-sheet.html new file mode 100644 index 00000000..69ae83eb --- /dev/null +++ b/templates/actors/newActor/limited-sheet.html @@ -0,0 +1,27 @@ +
    + +
    + +

    + {{actor.name}} +

    +
    + + +
    +
    +
    +
    +

    Description

    + {{editor content=data.details.description.value target="data.details.description.value" button=true owner=owner editable=editable}} +
    +
    +

    Background

    + {{editor content=data.details.biography.value target="data.details.biography.value" button=true owner=owner editable=editable}} +
    +
    + +
    +
    +
    + diff --git a/templates/actors/newActor/parts/swalt-biography.html b/templates/actors/newActor/parts/swalt-biography.html new file mode 100644 index 00000000..8546d812 --- /dev/null +++ b/templates/actors/newActor/parts/swalt-biography.html @@ -0,0 +1,22 @@ +
    +

    Personality Traits

    + {{editor content=data.details.trait target="data.details.trait" button=true owner=owner editable=editable}} +
    +

    Ideals

    + {{editor content=data.details.ideal target="data.details.ideal" button=true owner=owner editable=editable}} +
    +

    Bonds

    + {{editor content=data.details.bond target="data.details.bond" button=true owner=owner editable=editable}} +
    +

    Flaws

    + {{editor content=data.details.flaw target="data.details.flaw" button=true owner=owner editable=editable}} +
    +
    +
    +

    Description

    + {{editor content=data.details.description.value target="data.details.description.value" button=true owner=owner editable=editable}} +
    +

    Background

    + {{editor content=data.details.biography.value target="data.details.biography.value" button=true owner=owner editable=editable}} +
    +
    \ No newline at end of file diff --git a/templates/actors/newActor/parts/swalt-core.html b/templates/actors/newActor/parts/swalt-core.html new file mode 100644 index 00000000..fefcf69c --- /dev/null +++ b/templates/actors/newActor/parts/swalt-core.html @@ -0,0 +1,56 @@ +
    + {{!-- Ability Scores --}} +
    +

    Ability Scores

    +
      + {{#each data.abilities as |ability id|}} +
    1. +

      {{ability.label}}

      + +
      + {{numberFormat ability.mod decimals=0 sign=true}} + + + {{numberFormat ability.save decimals=0 sign=true}} +
      +
    2. + {{/each}} +
    +
    + {{!-- Skills --}} +
    +

    Skills

    +
      + {{#each data.skills as |skill s|}} +
    1. + + + {{skill.label}} + {{skill.ability}} + {{numberFormat skill.total decimals=0 sign=true}} + {{!-- --}} + {{!-- ({{skill.passive}}) --}} +
    2. + {{/each}} +
    +
    +
    +
    + +
    + {{> "systems/sw5e/templates/actors/newActor/parts/swalt-traits.html"}} +
    +
    + {{> "systems/sw5e/templates/actors/newActor/parts/swalt-resources.html"}} +
    +
    \ No newline at end of file diff --git a/templates/actors/newActor/parts/swalt-features.html b/templates/actors/newActor/parts/swalt-features.html new file mode 100644 index 00000000..52065bf1 --- /dev/null +++ b/templates/actors/newActor/parts/swalt-features.html @@ -0,0 +1,80 @@ +
    + + +
      +
    • {{localize "SW5E.Filter"}}
    • +
    • {{localize "SW5E.Action"}}
    • +
    • {{localize "SW5E.BonusAction"}}
    • +
    • {{localize "SW5E.Reaction"}}
    • +
    + + +
      + {{#each sections as |section sid|}} +
    1. +
      +
      + +

      {{localize section.label}}

      + {{#if ../owner}} + + {{localize "SW5E.Add"}} + + {{/if}} +
      + {{#if section.hasActions}} +
      {{localize "SW5E.Uses"}}
      +
      {{localize "SW5E.Usage"}}
      + {{/if}} + + +
      +
        + {{#each section.items as |item iid|}} +
      1. +
        +
        +

        {{item.name}}

        +
        + + {{#if section.hasActions}} +
        + {{#if item.isOnCooldown}} + {{item.labels.recharge}} + {{else if item.data.recharge.value}} + {{localize "SW5E.Charged"}} + + {{else if item.hasUses}} + /{{item.data.uses.max}} + {{/if}} +
        + +
        + {{#if item.data.activation.type }} + {{item.labels.activation}} + {{/if}} +
        + + {{else if section.isClass}} +
        + {{item.data.subclass}} +
        +
        + Level {{item.data.levels}} +
        + {{/if}} + + {{#if ../../owner}} +
        + + +
        + {{/if}} +
      2. + {{/each}} +
      +
    2. + {{/each}} +
    +
    \ No newline at end of file diff --git a/templates/actors/newActor/parts/swalt-inventory.html b/templates/actors/newActor/parts/swalt-inventory.html new file mode 100644 index 00000000..a7ff47a5 --- /dev/null +++ b/templates/actors/newActor/parts/swalt-inventory.html @@ -0,0 +1,112 @@ +
    + {{#if isCharacter }} +
    + + + {{#with data.attributes.encumbrance}} +
    +
    + + + + + + +
    + {{value}} / {{max}} +
    + {{/with}} +
    + {{/if}} + +
      +
    • {{localize "SW5E.Filter"}}
    • +
    • {{localize "SW5E.Action"}}
    • +
    • {{localize "SW5E.BonusAction"}}
    • +
    • {{localize "SW5E.Reaction"}}
    • +
    • {{localize "SW5E.Equipped"}}
    • +
    + +
    +
     
    + {{#if isCharacter}} +
    {{localize "SW5E.Weight"}}
    + {{/if}} + +
    {{localize "SW5E.Charges"}}
    +
    {{localize "SW5E.Usage"}}
    +
    +
    +
      + {{#each sections as |section sid|}} +
    1. +
      +

      {{localize section.label}}

      + + {{#if ../owner}} + + {{localize "SW5E.Add"}} + + {{/if}} +
      +
        + {{#each section.items as |item iid|}} +
      1. +
        +
        +

        + {{item.name~}} + {{~#if item.isStack}} ({{item.data.quantity}}){{/if}} + {{~#if item.data.attuned}} {{/if}} +

        +
        + + {{#if ../../isCharacter}} +
        + {{#if item.totalWeight}} + {{ item.totalWeight }} {{localize "SW5E.AbbreviationLbs"}} + {{/if}} +
        + {{/if}} + +
        + {{#if item.hasUses }} + + /{{item.data.uses.max}} + {{/if}} +
        + +
        + {{#if item.data.activation.type }} + {{item.labels.activation}} + {{/if}} +
        + + {{#if ../../owner}} +
        + + + + + +
        + {{/if}} +
      2. + {{/each}} +
      +
    2. + {{/each}} +
    + + + +
    \ No newline at end of file diff --git a/templates/actors/newActor/parts/swalt-notes.html b/templates/actors/newActor/parts/swalt-notes.html new file mode 100644 index 00000000..0ffe27df --- /dev/null +++ b/templates/actors/newActor/parts/swalt-notes.html @@ -0,0 +1,33 @@ +
    +
    + + + {{editor content=data.details.notes.value target="data.details.notes.value" button=true owner=owner editable=editable}} +
    +
    + + {{editor content=data.details.notes1.value target="data.details.notes1.value" button=true owner=owner editable=editable}} +
    + +
    + + {{editor content=data.details.notes2.value target="data.details.notes2.value" button=true owner=owner editable=editable}} +
    + +
    + + {{editor content=data.details.notes3.value target="data.details.notes3.value" button=true owner=owner editable=editable}} +
    + +
    + + {{editor content=data.details.notes4.value target="data.details.notes4.value" button=true owner=owner editable=editable}} +
    + +
    + \ No newline at end of file diff --git a/templates/actors/newActor/parts/swalt-powerbook.html b/templates/actors/newActor/parts/swalt-powerbook.html new file mode 100644 index 00000000..f0fd12cc --- /dev/null +++ b/templates/actors/newActor/parts/swalt-powerbook.html @@ -0,0 +1,135 @@ +
    +
    + + {{#if isNPC}} + + {{/if}} +

    {{localize "SW5E.PowerDC"}} {{data.attributes.powerdc}}

    +
    + +
      +
    • {{localize "SW5E.Filter"}}
    • +
    • {{localize "SW5E.Action"}}
    • +
    • {{localize "SW5E.BonusAction"}}
    • +
    • {{localize "SW5E.Reaction"}}
    • +
    • {{localize "SW5E.AbbreviationConc"}}
    • +
    • {{localize "SW5E.Ritual"}}
    • +
    • {{localize "SW5E.Prepared"}}{{#if preparedPowers}} + ({{preparedPowers}}){{/if}}
    • +
    + +
    +
    +
    +
    {{localize "SW5E.PowerSchool"}}
    +
    {{localize "SW5E.PowerUsage"}}
    +
    {{localize "SW5E.PowerTarget"}}
    + +
    +
      + {{#each powerbook as |section|}} +
    1. +
      +
      +

      {{section.label}}

      + {{#if section.canCreate}} + + {{localize "SW5E.Add"}} + + {{/if}} +
      + +
      + {{#if section.usesSlots}} + + / + + {{{section.slots}}} + {{#if ../editable}} + + + + {{/if}} + {{ else }} + {{{section.uses}}} / {{{section.slots}}} + {{/if}} +
      +
      +
        + {{#each section.powers as |item i|}} +
      1. +
        +
        +

        {{item.name}}

        +
        + +
        + {{#if item.data.uses.per }} + Uses {{item.data.uses.value}} / {{item.data.uses.max}} + {{/if}} +
        + + +
        {{labels.school}}
        +
        {{labels.activation}}
        +
        + {{#if labels.target}} + {{labels.target}} + {{else}}None + {{/if}} +
        + + + {{#if ../../owner}} +
        + {{#if section.canPrepare}} + + {{/if}} + + +
        + {{/if}} +
      2. + {{/each}} +
      +
    2. + {{else}} + {{#if owner}} + {{#if filters.powerbook.size}} +
    3. +

      {{localize "SW5E.FilterNoPowers"}}

      +
    4. + {{else}} +
    5. + +
    6. +
    7. +

      {{localize "SW5E.NoPowerLevels"}}

      +
    8. + {{/if}} + {{/if}} + {{/each}} +
    +
    \ No newline at end of file diff --git a/templates/actors/newActor/parts/swalt-resources.html b/templates/actors/newActor/parts/swalt-resources.html new file mode 100644 index 00000000..79bb24ff --- /dev/null +++ b/templates/actors/newActor/parts/swalt-resources.html @@ -0,0 +1,65 @@ +{{!-- Resources, Counters, & Favorites --}} +
    +
    + {{#each resources as |res|}} +
    +

    + +

    +
    + + / + +
    +
    + + +
    +
    + {{/each}} +
    +
    +
    +

    {{ localize "SW5E.DeathSave" }}

    +
    +
    + + +
    +
    + + +
    +
    +
    +
    +

    {{ localize "SW5E.Exhaustion" }}

    +
    + +
    +
    +
    +

    {{ localize "SW5E.Inspiration" }}

    +
    + +
    +
    +
    +
    +

    Favorites

    +
    +
    +
    \ No newline at end of file diff --git a/templates/actors/newActor/parts/swalt-traits.html b/templates/actors/newActor/parts/swalt-traits.html new file mode 100644 index 00000000..57edaf99 --- /dev/null +++ b/templates/actors/newActor/parts/swalt-traits.html @@ -0,0 +1,118 @@ +
    + + +
    + + + + +
      + {{#each data.traits.languages.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    +
    + + + + +
      + {{#each data.traits.di.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    +
    + + + + +
      + {{#each data.traits.dr.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    +
    + + + + +
      + {{#each data.traits.dv.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    + +
    + + + + +
      + {{#each data.traits.ci.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    {{#if isCharacter}} +
    + + + + +
      + {{#each data.traits.weaponProf.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    +
    + + + + +
      + {{#each data.traits.armorProf.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    + +
    + + + + +
      + {{#each data.traits.toolProf.selected as |v k|}} +
    • {{v}}
    • + {{/each}} +
    +
    + {{/if}} + + {{#unless isVehicle}} +
    + + +
    + {{/unless}} +
      +
      \ No newline at end of file diff --git a/templates/actors/newActor/template.hbs b/templates/actors/newActor/template.hbs new file mode 100644 index 00000000..f94c22c2 --- /dev/null +++ b/templates/actors/newActor/template.hbs @@ -0,0 +1,67 @@ +{{#if favItems}} +
        +
      1. +
        +

        Items

        +
        Charges
        +
        Qty
        +
        +
        +
        + +
          + {{#each favItems as |item id|}} + {{> "systems/sw5e/templates/actors/newActor/parts/item.hbs" item=item}} + {{/each}} +
        +
      2. + {{#if favFeats}} +
      3. +
        +

        Features & Feats

        +
        Uses
        +
        +
        +
        +
        + +
          + {{#each favFeats as |feat lvl|}} + {{> "systems/sw5e/templates/actors/newActor/parts/item.hbs" item=feat}} + {{/each}} +
        +
      4. + {{/if}} + {{#if favPowers}} + {{#each favPowers as |section lvl|}} + {{#if section.powers}} + {{#if lvl}} +
      5. +
        +

        + {{#if section.isCantrip}}At-Will Powers{{else}}Level {{lvl}} Powers{{/if}} +

        + +
        + {{#if section.isCantrip}}  + {{else}} + {{section.value}} + / + {{section.max}} + {{/if}} +
        +
        +
        +
        +
        +
          + {{#each section.powers as |power id|}} + {{> "systems/sw5e/templates/actors/newActor/parts/item.hbs" item=power}} + {{/each}} +
        +
      6. + {{/if}}{{/if}} + {{/each}} + {{/if}} +
      +{{/if}} \ No newline at end of file diff --git a/templates/actors/character-sheet.html b/templates/actors/oldActor/character-sheet.html similarity index 96% rename from templates/actors/character-sheet.html rename to templates/actors/oldActor/character-sheet.html index cc9003be..0997fe68 100644 --- a/templates/actors/character-sheet.html +++ b/templates/actors/oldActor/character-sheet.html @@ -210,28 +210,28 @@ {{!-- Traits --}} - {{> "systems/sw5e/templates/actors/parts/actor-traits.html"}} + {{> "systems/sw5e/templates/actors/oldActor/parts/actor-traits.html"}}
      {{!-- Inventory Tab --}}
      - {{> "systems/sw5e/templates/actors/parts/actor-inventory.html" sections=inventory}} + {{> "systems/sw5e/templates/actors/oldActor/parts/actor-inventory.html" sections=inventory}}
      {{!-- Features Tab --}}
      - {{> "systems/sw5e/templates/actors/parts/actor-features.html" sections=features}} + {{> "systems/sw5e/templates/actors/oldActor/parts/actor-features.html" sections=features}}
      {{!-- Powerbook Tab --}}
      - {{> "systems/sw5e/templates/actors/parts/actor-powerbook.html"}} + {{> "systems/sw5e/templates/actors/oldActor/parts/actor-powerbook.html"}}
      {{!-- Effects Tab --}}
      - {{> "systems/sw5e/templates/actors/parts/actor-effects.html"}} + {{> "systems/sw5e/templates/actors/oldActor/parts/actor-effects.html"}}
      {{!-- Biography Tab --}} diff --git a/templates/actors/limited-sheet.html b/templates/actors/oldActor/limited-sheet.html similarity index 100% rename from templates/actors/limited-sheet.html rename to templates/actors/oldActor/limited-sheet.html diff --git a/templates/actors/npc-sheet.html b/templates/actors/oldActor/npc-sheet.html similarity index 100% rename from templates/actors/npc-sheet.html rename to templates/actors/oldActor/npc-sheet.html diff --git a/templates/actors/parts/actor-effects.html b/templates/actors/oldActor/parts/actor-effects.html similarity index 100% rename from templates/actors/parts/actor-effects.html rename to templates/actors/oldActor/parts/actor-effects.html diff --git a/templates/actors/parts/actor-features.html b/templates/actors/oldActor/parts/actor-features.html similarity index 100% rename from templates/actors/parts/actor-features.html rename to templates/actors/oldActor/parts/actor-features.html diff --git a/templates/actors/parts/actor-inventory.html b/templates/actors/oldActor/parts/actor-inventory.html similarity index 100% rename from templates/actors/parts/actor-inventory.html rename to templates/actors/oldActor/parts/actor-inventory.html diff --git a/templates/actors/parts/actor-powerbook.html b/templates/actors/oldActor/parts/actor-powerbook.html similarity index 100% rename from templates/actors/parts/actor-powerbook.html rename to templates/actors/oldActor/parts/actor-powerbook.html diff --git a/templates/actors/parts/actor-traits.html b/templates/actors/oldActor/parts/actor-traits.html similarity index 100% rename from templates/actors/parts/actor-traits.html rename to templates/actors/oldActor/parts/actor-traits.html diff --git a/templates/actors/vehicle-sheet.html b/templates/actors/oldActor/vehicle-sheet.html similarity index 100% rename from templates/actors/vehicle-sheet.html rename to templates/actors/oldActor/vehicle-sheet.html diff --git a/templates/app-window.html b/templates/app-window.html new file mode 100644 index 00000000..23d749c4 --- /dev/null +++ b/templates/app-window.html @@ -0,0 +1,11 @@ +
      +
      +

      {{title}}

      + {{#each headerButtons}} + + {{/each}} +
      + +
      +
      +
      \ No newline at end of file From b75aafd3cea4352fce615de85155ab0f61246ddc Mon Sep 17 00:00:00 2001 From: Nathanael Phillips Date: Wed, 4 Nov 2020 13:12:41 -0700 Subject: [PATCH 2/4] split styles to accomodate themes; added light/dark theme --- gulpfile.js | 16 +- lang/en.json | 6 +- less/update/_variables-dark.less | 95 +++ less/update/_variables-light.less | 93 +++ .../{variables.less => _variables.less} | 46 +- less/update/actor.less | 0 .../{forms.less => forms-global.less} | 18 +- less/update/components/forms-themes.less | 36 ++ less/update/components/sidebar-global.less | 369 +++++++++++ less/update/components/sidebar-themes.less | 295 +++++++++ less/update/components/sidebar.less | 2 +- less/update/sw5e-dark.less | 44 ++ less/update/sw5e-global.less | 108 ++++ less/update/sw5e-light.less | 44 ++ less/update/sw5e-update.less | 43 -- module/settings.js | 12 + sw5e-dark.css | 365 +++++++++++ sw5e-global.css | 598 ++++++++++++++++++ sw5e-light.css | 365 +++++++++++ sw5e.js | 3 + system.json | 2 +- 21 files changed, 2456 insertions(+), 104 deletions(-) create mode 100644 less/update/_variables-dark.less create mode 100644 less/update/_variables-light.less rename less/update/{variables.less => _variables.less} (65%) delete mode 100644 less/update/actor.less rename less/update/components/{forms.less => forms-global.less} (87%) create mode 100644 less/update/components/forms-themes.less create mode 100644 less/update/components/sidebar-global.less create mode 100644 less/update/components/sidebar-themes.less create mode 100644 less/update/sw5e-dark.less create mode 100644 less/update/sw5e-global.less create mode 100644 less/update/sw5e-light.less create mode 100644 sw5e-dark.css create mode 100644 sw5e-global.css create mode 100644 sw5e-light.css diff --git a/gulpfile.js b/gulpfile.js index 96969383..c56d2ae6 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -11,12 +11,22 @@ function compileLESS() { .pipe(less()) .pipe(gulp.dest("./")) } -function compileMORE() { - return gulp.src("less/update/sw5e-update.less") +function compileGlobalLess() { + return gulp.src("less/update/sw5e-global.less") .pipe(less()) .pipe(gulp.dest("./")) } -const css = gulp.series(compileLESS, compileMORE); +function compileLightLess() { + return gulp.src("less/update/sw5e-light.less") + .pipe(less()) + .pipe(gulp.dest("./")) +} +function compileDarkLess() { + return gulp.src("less/update/sw5e-dark.less") + .pipe(less()) + .pipe(gulp.dest("./")) +} +const css = gulp.series(compileLESS, compileGlobalLess, compileLightLess, compileDarkLess); /* ----------------------------------------- */ /* Watch Updates diff --git a/lang/en.json b/lang/en.json index b1716695..e324ecbd 100644 --- a/lang/en.json +++ b/lang/en.json @@ -855,5 +855,9 @@ "SETTINGS.5eRestN": "Rest Variant", "SETTINGS.5eRestPHB": "Player's Handbook (LR: 8 hours, SR: 1 hour)", "SETTINGS.5eRestGritty": "Gritty Realism (LR: 7 days, SR: 8 hours)", -"SETTINGS.5eRestEpic": "Epic Heroism (LR: 1 hour, SR: 1 min)" +"SETTINGS.5eRestEpic": "Epic Heroism (LR: 1 hour, SR: 1 min)", +"SETTINGS.SWColorL": "Set the color theme of the game", +"SETTINGS.SWColorN": "Display Theme", +"SETTINGS.SWColorLight": "Light Theme", +"SETTINGS.SWColorDark": "Dark Theme" } diff --git a/less/update/_variables-dark.less b/less/update/_variables-dark.less new file mode 100644 index 00000000..c8616206 --- /dev/null +++ b/less/update/_variables-dark.less @@ -0,0 +1,95 @@ +//override Primary Red +@colorRed: #E81111; +@colorDarkBg: #2b2b2b; +//Background +@primaryBackground: linear-gradient(90deg,#626262 0,#4d4d4d 30%,#4d4d4d 70%,#626262); + +//Typography +@headingColor: @colorRed; +@headerBorderColor: @colorBlue; +@bodyFontColor: white; +@linkColor: @colorRed; +@linkSecondaryColor: @colorPaleGray; + +@blockquoteBackground: @colorPaleRed; +@blockquoteBorder: @colorRed; +@blockquoteShadow: 0 0 20px rgba(@colorRed, 0.8); + +//forms +@inputBackgroundColor: @colorDarkGray; +@inputBorderNormal: @colorLightGray; +@inputBorderHover: @colorGray; +@inputBorderFocus: @colorRed; +@inputTextColor: white; + +@buttonBackground: @colorRed; +@buttonTextColor: white; +@buttonHoverBackground: lighten(@colorRed, 5); +@buttonSecondaryBackground: @colorLightGray; +@buttonSecondaryTextColor: white; +@buttonSecondaryHoverBackground: lighten(@colorLightGray, 5); + +//other bits +@hrColor: @colorBlue; +@tableTextColor: white; +@tableHeaderTextColor: @colorPaleGray; +@tableBackground: @colorGray; +@tableRowHoverBackground: lighten(@colorLightGray, 10); +@tableRowBorderColor: @colorLightGray; + +//Sidebar +@sidebarTabBackground: @colorDarkBg; +@sidebarTabLinkColor: @colorRed; +@sidebarTabLinkUnderline: @colorRed; + +@chatBackground: @colorDarkGray; +@chatHeaderColor: @colorRed; +@chatHeaderBottomBorderColor: @colorBlue; +@chatNotificationColor: @colorBlue; +@cardButtonBorder: @colorLightGray; +@cardFooterBorder: @colorLightBlue; +@cardFooterSeparator: @colorPaleGray; + +@diceFormulaBackground: @colorGray; +@diceFormualColor: white; +@diceTotalBackground: @colorPaleRed; +@diceTotalBorder: @colorRed; +@diceTotalShadow: @colorRed; +@diceSuccessColor: @colorGreen; +@diceFailureColor: @colorRed; +@diceCriticalBackground: @colorPaleGreen; +@diceCriticalColor: @colorGreen; +@diceFumbleBackground: @colorPaleRed; +@diceFumbleColor: @colorRed; + +@altRowBackground: @colorGray; + +@combatRoundColor: @colorRed; +@combatRoundBorder: @colorBlue; +@combatCombatantControlColor: @colorPaleGray; +@combatCombatantControlColorActive: @colorRed; +@combatActiveCombatantColor: @colorBlue; +@combatTokenResourceColor: white; +@combatTokenResouceBorder: @colorLightGray; +@combatControlsBorder: @colorBlue; + +@folderSearchIconColor: @colorBlue; +@folderSubdirectoryBackground: @colorDarkBg; +@folderSubdirectoryBorder: @colorLightGray; +@directoryListItemBorder: @colorBlue; +@folderHeaderBackground: @colorDarkBg; +@folderHeaderColor: white; +@folderIconColor: @colorBlue; + +@entityBackgroundColor: @colorDarkBg; +@entityNameColor: @colorBlack; + +@sceneBorderColor: @colorBlue; +@sceneBackgroundColor: @colorDarkBg; + +@playlistBackgroundColor: @colorDarkBg; +@playlistHeaderBorder: @colorBlue; +@playlistSoundColor: @colorBlack; + +@compendiumEntityBackground: @colorDarkBg; +@compendiumStatusIcon: @colorLightGray; \ No newline at end of file diff --git a/less/update/_variables-light.less b/less/update/_variables-light.less new file mode 100644 index 00000000..5465918d --- /dev/null +++ b/less/update/_variables-light.less @@ -0,0 +1,93 @@ +//Background +@primaryBackground: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6);// linear-gradient(90deg, @colorPaleBlue 0%, @colorPaleGray 30%, @colorPaleGray 70%, @colorPaleBlue); + +//Typography +@headingColor: @colorRed; +@headerBorderColor: @colorBlue; +@bodyFontColor: @colorBlack; +@linkColor: @colorRed; +@linkSecondaryColor: @colorGray; + +@blockquoteBackground: @colorPaleBlue; +@blockquoteBorder: @colorBlue; +@blockquoteShadow: 0 0 20px rgba(@colorBlue, 0.8); + +//forms +@inputBackgroundColor: white; +@inputBorderNormal: @colorLightGray; +@inputBorderHover: @colorGray; +@inputBorderFocus: @colorRed; +@inputTextColor: @colorBlack; + +@buttonBackground: @colorRed; +@buttonTextColor: white; +@buttonHoverBackground: lighten(@colorRed, 5); +@buttonSecondaryBackground: @colorPaleGray; +@buttonSecondaryTextColor: @colorBlack; +@buttonSecondaryHoverBackground: lighten(@colorPaleGray, 5); + +//other bits +@hrColor: @colorBlue; +@tableTextColor: @colorBlack; +@tableHeaderTextColor: @colorLightGray; +@tableBackground: white; +@tableRowHoverBackground: lighten(@colorPaleGray, 10); +@tableRowBorderColor: @colorPaleGray; + + +//Sidebar +@sidebarTabBackground: white; +@sidebarTabLinkColor: @colorRed; +@sidebarTabLinkUnderline: @colorRed; + +@chatBackground: white; +@chatHeaderColor: @colorRed; +@chatHeaderBottomBorderColor: @colorBlue; +@chatNotificationColor: @colorBlue; +@cardButtonBorder: @colorLightGray; +@cardFooterBorder: @colorLightBlue; +@cardFooterSeparator: @colorPaleGray; + +@diceFormulaBackground: @colorPaleGray; +@diceFormualColor: @colorBlack; +@diceTotalBackground: @colorPaleBlue; +@diceTotalBorder: @colorBlue; +@diceTotalShadow: @colorBlue; +@diceSuccessColor: @colorGreen; +@diceFailureColor: @colorRed; +@diceCriticalBackground: @colorPaleGreen; +@diceCriticalColor: @colorGreen; +@diceFumbleBackground: @colorPaleRed; +@diceFumbleColor: @colorRed; + +@altRowBackground: @colorPaleBlue; + +@combatRoundColor: @colorRed; +@combatRoundBorder: @colorBlue; +@combatCombatantControlColor: @colorLightGray; +@combatCombatantControlColorActive: @colorDarkGray; +@combatActiveCombatantColor: @colorBlue; +@combatTokenResourceColor: @colorGray; +@combatTokenResouceBorder: @colorLightGray; +@combatControlsBorder: @colorBlue; + +@folderSearchIconColor: @colorBlue; +@folderSubdirectoryBackground: white; +@folderSubdirectoryBorder: @colorBlack; +@directoryListItemBorder: @colorBlue; +@folderHeaderBackground: white; +@folderHeaderColor: @colorBlack; +@folderIconColor: @colorBlue; + +@entityBackgroundColor: white; +@entityNameColor: @colorBlack; + +@sceneBorderColor: @colorBlue; +@sceneBackgroundColor: white; + +@playlistBackgroundColor: white; +@playlistHeaderBorder: @colorBlue; +@playlistSoundColor: @colorBlack; + +@compendiumEntityBackground: white; +@compendiumStatusIcon: @colorLightGray; \ No newline at end of file diff --git a/less/update/variables.less b/less/update/_variables.less similarity index 65% rename from less/update/variables.less rename to less/update/_variables.less index 09bfa8f6..48558952 100644 --- a/less/update/variables.less +++ b/less/update/_variables.less @@ -2,56 +2,12 @@ /* ----------------------------------------- */ /* Fonts */ /* ----------------------------------------- */ - -/* russo-one-regular - latin */ -@font-face { - font-family: 'Russo One'; - font-style: normal; - font-weight: 400; - src: url('./fonts/RussoOne.ttf'); -} -@font-face { - font-family: 'Russo One'; - font-style: italic; - font-weight: 400; - src: url('./fonts/RussoOne.ttf'); -} -@font-face { - font-family: 'Russo One'; - font-style: normal; - font-weight: 700; - src: url('./fonts/RussoOne.ttf'); -} .russoOne(@size: 20px) { font-family: 'Russo One'; font-size: @size; font-weight: 400; } -/* open-sans-regular - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('./fonts/OpenSans-Regular.ttf'); -} -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: url('./fonts/OpenSans-Italic.ttf'); -} -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: url('./fonts/OpenSans-Bold.ttf'); -} -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - src: url('./fonts/OpenSans-BoldItalic.ttf'); -} + .openSans(@size: 13px, @weight: 400) { font-family: 'Open Sans'; font-size: @size; diff --git a/less/update/actor.less b/less/update/actor.less deleted file mode 100644 index e69de29b..00000000 diff --git a/less/update/components/forms.less b/less/update/components/forms-global.less similarity index 87% rename from less/update/components/forms.less rename to less/update/components/forms-global.less index eecb1a5a..9dc02f30 100644 --- a/less/update/components/forms.less +++ b/less/update/components/forms-global.less @@ -1,14 +1,10 @@ input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea { - border: 1px solid @colorLightGray; border-radius: 4px; - color: @colorBlack; transition: all 0.3s; &:hover { - border-color: @colorGray; box-shadow: none; } &:focus { - border-color: @colorRed; box-shadow: none; } } @@ -16,7 +12,6 @@ input[type=range] { -webkit-appearance: none; /* Hides the slider so that custom slider can be made */ width: 100%; /* Specific width is required for Firefox. */ background: transparent; /* Otherwise white in Chrome */ - } input[type=range]::-webkit-slider-thumb{ @@ -91,10 +86,8 @@ input[type=range]::-ms-track { color: transparent; } -button { +button, input[type="button"], input[type="submit"], input[type="reset"] { .openSans(13px, 700); - background: @colorRed; - color: white; text-align: center; border: none; border-radius: 4px; @@ -102,6 +95,11 @@ button { transition: all 0.3s; &:hover, &:focus { box-shadow: none; - background: lighten(@colorRed, 5); } -} \ No newline at end of file + &:disabled { + opacity: 0.6; + cursor: default; + + } + +} diff --git a/less/update/components/forms-themes.less b/less/update/components/forms-themes.less new file mode 100644 index 00000000..0c692b60 --- /dev/null +++ b/less/update/components/forms-themes.less @@ -0,0 +1,36 @@ +input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea { + border: 1px solid @inputBorderNormal; + color: @inputTextColor; + &:hover { + border-color: @inputBorderHover; + } + &:focus { + border-color: @inputBorderFocus; + } +} + +button, input[type="button"], input[type="submit"], input[type="reset"] { + background: @buttonBackground; + color: @buttonTextColor; + &:hover, &:focus { + background: @buttonHoverBackground; + } + &:disabled { + &:hover, &:focus { + background: @buttonBackground; + } + } + +} +input[type="reset"], button.secondary, button[type="reset"], input[type="button"].secondary, input[type="submit"].secondary { + background: @buttonSecondaryBackground; + color: @buttonSecondaryTextColor; + &:hover { + background: @buttonSecondaryHoverBackground; + } + &:disabled { + &:hover, &:focus { + background: @buttonSecondaryBackground; + } + } +} \ No newline at end of file diff --git a/less/update/components/sidebar-global.less b/less/update/components/sidebar-global.less new file mode 100644 index 00000000..3c68e11c --- /dev/null +++ b/less/update/components/sidebar-global.less @@ -0,0 +1,369 @@ +#sidebar { + border: none; //1px solid @colorBlue; +} + +#sidebar-tabs { + border: none; + box-shadow: none; + .dropShadow1(); + .item { + font-size: 16px; + } + .item.active { + border: none; + box-shadow: none; + background: none; + text-shadow: none; + } +} + +/*----------- +** Chat Tab +-----------*/ + +#chat-log { + .chat-message { + border: none; + border-radius: 4px; + margin-bottom: 8px; + .dropShadow1(); + & > header { + color: @colorRed; + border-bottom: 2px solid @colorBlue; + margin-bottom: 4px; + span { + color: @colorBlack; + } + } + + } +} +.notification-pip { + color: @colorBlue; +} + +.sw5e.chat-card { + .card-header { + padding: 0; + border: none; + img { + flex: 0 0 36px; + margin-right: 4px; + } + + h3 { + flex: 1; + margin: 0; + line-height: 36px; + .russoOne(17px); + border-bottom: none; + &:hover { + text-shadow: none; + } + } + } + + .card-content { + margin: 4px 0; + + h3 { + font-size: 12px; + margin: 0; + font-weight: bold; + } + + > * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + } + } + + .card-buttons { + margin: 4px 0; + + span { + display: block; + line-height: 28px; + text-align: center; + } + + button { + .openSans(13px, 700); + padding: 4px 0; + height: auto; + line-height: 1.6; + margin: 4px 0; + border: none; + border-radius: 4px; + &:hover, &:focus { + box-shadow: none; + } + } + } + + .card-footer { + padding: 4px 0 0; + + span { + padding: 0 4px 0 0; + font-size: 10px; + + &:last-child { + border-right: none; + padding-right: 0; + } + } + } +} +.dice-roll { + .dice-formula { + border: none; + box-shadow: none; + border-radius: 4px; + } + .dice-total { + border-radius: 0; + padding: 4px 0; + } +} +#chat-controls { + padding-top: 4px; +} +#chat-form textarea { + &:focus { + box-shadow: none; + outline: none; + } +} + +/*----------- +** Combat Tab +-----------*/ +#combat { + h3 { + border: none; + } + + #combat-tracker { + li.combatant { + padding: 4px 0; + background: none; + .token-name { + text-shadow: none; + } + h4 { + color: @colorBlack; + } + .roll { + background: none; + &::before { + content: "\f6cf"; + .fontAwesome(); + font-size: 28px; + } + + } + + + .initiative { + text-shadow: none; + } + + &.hidden { + opacity: 0.5; + } + } + } + #combat-controls { + padding-top: 0; + } + } + +/* +** Folders +*/ +.sidebar-tab { +.directory-header { + margin-bottom: 4px; + .header-search { + position: relative; + i.fa-search { + position: absolute; + left: 8px; + } + input { + text-align: left; + padding-left: 22px; + &:focus { + box-shadow: none; + } + } + } +} +.subdirectory { + border: none; + margin-left: 8px; + min-height: 8px; + +} +.directory-list { + padding-bottom: 4px; + .folder { + & > .folder-header { + line-height: default; + padding: 0 0 0 8px; + position: relative; + border: none; + h3 { + padding: 8px 4px; + .openSans(13px, 700); + line-height: 1.6; + & > i { + margin-right: 4px; + } + } + a { + position: absolute; + top: 0; + right: 4px; + height: 100%; + padding: 0 4px; + i { + margin-top: 12px; + } + + &.create-folder { + right: 28px; + } + } + } + } + .directory-item img { + flex: 0 0 32px; + height: 32px; + width: 32px; + align-self: center; + } + .actor, .item, .journal, .table { + border: none; + .entity-name { + .openSans(13px, 700); + } + + } +} +} +#scenes { + .subdirectory { + border-left: none; + } + .scene { + border: none; + box-shadow: none; + position: relative; + height: 128px; + & + .scene { + margin-top: 4px; + } + &::after { + content: ''; + display: block; + width: 100%; + height: 99px; + position: absolute; + top: 28px; + left: 0; + } + h3 { + .openSans(13px, 700); + text-align: left; + text-shadow: none; + padding: 4px 4px 4px 12px; + line-height: 1.6; + position: absolute; + top: 0; + left: 0; + width: 100%; + } + } +} + +#playlists { + .directory-list { + padding: 0 8px; + li.playlist { + padding: 8px; + border-radius: 4px; + margin-bottom: 8px; + border-top: inherit; + .dropShadow1(); + .playlist-header { + text-decoration: none; + } + li.sound { + border: none; + h4 { + .openSans(13px, 400); + } + + } + } + } + +} +#compendium { + .compendium-entity { + margin: 0 4px; + padding: 8px; + .dropShadow1(); + border-radius: 4px; + border: none; + &+ .compendium-entity { + margin-top: 4px; + } + h3 { + background: none; + border: none; + .russoOne(17px); + padding: 0; + margin-bottom: 4px; + } + ol.compendium-list { + li.compendium-pack { + margin: 0; + padding: 4px; + border: none; + .pack-title { + margin: 0; + position: relative; + a { + .openSans(13px, 700); + i { + display: none; + } + } + .status-icons { + top: 4px; + font-size: 13px; + } + } + + } + } + } +} + +#settings { + h2 { + border: none; + margin: 0 8px; + padding: 0; + background: none; + } + #game-details, #settings-game, #settings-documentation, #settings-access { + padding: 0 8px; + margin: 0 0 8px; + } +} \ No newline at end of file diff --git a/less/update/components/sidebar-themes.less b/less/update/components/sidebar-themes.less new file mode 100644 index 00000000..b7d53e7a --- /dev/null +++ b/less/update/components/sidebar-themes.less @@ -0,0 +1,295 @@ +#sidebar-tabs { + background: @sidebarTabBackground; + & > .collapse { + color: @sidebarTabLinkColor; + } + .item.active { + color: @sidebarTabLinkColor; + border-bottom: 3px solid @sidebarTabLinkUnderline; + } +} + +/*----------- +** Chat Tab +-----------*/ + +#chat-log { + .chat-message { + background: @chatBackground; + color: @bodyFontColor; + & > header { + color: @chatHeaderColor; + border-bottom: 2px solid @chatHeaderBottomBorderColor; + span { + color: @bodyFontColor; + } + } + + } +} +.notification-pip { + color: @chatNotificationColor; +} + +.sw5e.chat-card { + + .card-header { + h3 { + color: @bodyFontColor; + &:hover { + color: @bodyFontColor; + } + } + } + + + .card-buttons { + span { + border: 1px solid @cardButtonBorder; + } + + } + + .card-footer { + border-top: 1px solid @cardFooterBorder; + + span { + border-right: 1px solid @cardFooterSeparator; + &:last-child { + border-right: none; + } + } + } +} +.dice-roll { + + .dice-formula { + background: @diceFormulaBackground; + color: @diceFormualColor; + box-shadow: none; + border-radius: 4px; + } + +.dice-total { + background: @diceTotalBackground; + border: 1px solid @diceTotalBorder; + box-shadow: 0 0 12px rgba(@diceTotalShadow,.8); + &.success { + color: @diceSuccessColor; + } + &.failure { + color: @diceFailureColor; + } + &.critical { + color: @diceCriticalColor; + background: @diceCriticalBackground; + box-shadow: 0 0 12px rgba(@diceCriticalColor,.5); + } + &.fumble { + color: @diceFumbleColor; + background: @diceFumbleBackground; + box-shadow: 0 0 12px rgba(@diceFumbleColor,.5); + } +} +} +#chat-controls { + .roll-type-select { + background: @inputBackgroundColor; + } + label { + color: @bodyFontColor; + } + +} +#chat-form textarea { + background: @inputBackgroundColor; + +} + +/*----------- +** Combat Tab +-----------*/ +#combat { +#combat-round { + color: @combatRoundColor; + border-bottom: 2px solid @combatRoundColor; + .encounters { + h4 { + color: @combatRoundColor; + } + a { + color: @linkSecondaryColor; + &:hover { + color: @linkColor; + } + } + } +} + #combat-tracker { + //padding-top: 4px; + li.combatant { + color: @bodyFontColor; + &:nth-child(even) { + background: rgba(@altRowBackground, 0.5); + } + h4 { + color: @bodyFontColor + } + .roll { + color: @linkSecondaryColor; + &:hover { + color: @linkColor; + } + } + .combatant-control { + color: @combatCombatantControlColor; + &.active { + color: @combatCombatantControlColorActive; + } + } + .token-resource { + color: @combatTokenResourceColor; + border-right: 1px solid @combatTokenResouceBorder; + } + &.active { + color: @combatActiveCombatantColor; + .initiative, h4 { + color: @combatActiveCombatantColor; + } + } + &.hidden { + color: @bodyFontColor; + } + } + } + #combat-controls { + border-top: 1px solid @combatControlsBorder; + } +} + +/* +** Folders +*/ +.sidebar-tab { +.directory-header { + .header-search { + i.fa-search { + color: @folderSearchIconColor; + } + input { + background: @inputBackgroundColor; + } + } +} +.subdirectory { + background: @folderSubdirectoryBackground; + .folder { + border-left: 2px solid rgba(@folderSubdirectoryBorder, 0.4); + } +} +.directory-list { + li + li { + border-top: 1px solid @directoryListItemBorder; + } + .folder { + & > .folder-header { + background: @folderHeaderBackground; + h3 { + background: @folderHeaderBackground; + color: @folderHeaderColor; + & > i { + color: @folderIconColor; + } + } + a { + color: @linkSecondaryColor; + &:hover { + color: @linkColor; + } + } + } + &.collapsed > .folder-header { + background: @folderHeaderBackground; + } + & + .entity { + border-top: 1px solid @directoryListItemBorder; + } + } + + .actor, .item, .journal, .table { + background: @entityBackgroundColor; + .entity-name { + color: @entityNameColor; + } + &:nth-child(even) { + background: rgba(@altRowBackground, 0.3); + } + } +} +} +#scenes { + .scene { + border-top: 1px solid @sceneBorderColor; + border-left: 4px solid @sceneBorderColor; + &::after { + box-shadow: 0 0 20px @sceneBorderColor inset; + } + h3 { + background: @sceneBackgroundColor; + } + } +} + +#playlists { + .directory-list { + li.playlist { + background: @playlistBackgroundColor; + .playlist-header { + background: @playlistBackgroundColor; + color: @colorRed; + border-bottom: 2px solid @playlistHeaderBorder; + } + li.sound { + color: @playlistSoundColor; + + } + a.sound-control { + color: @linkColor; + } + } + } + +} +#compendium { + .compendium-entity { + background: @compendiumEntityBackground !important; + h3 { + border-bottom: 2px solid @headerBorderColor; + } + ol.compendium-list { + li.compendium-pack { + &:nth-child(even) { + background: rgba(@altRowBackground, 0.3); + } + .pack-title { + .status-icons { + color: @compendiumStatusIcon; + } + } + footer.compendium-footer { + color: @bodyFontColor; + } + } + } + } +} + +#settings { + h2 { + color: @headingColor; + border-bottom: 2px solid @headerBorderColor; + } + #game-details, #settings-game, #settings-documentation, #settings-access { + color: @bodyFontColor; + } +} \ No newline at end of file diff --git a/less/update/components/sidebar.less b/less/update/components/sidebar.less index 8c673ba3..2cfb6737 100644 --- a/less/update/components/sidebar.less +++ b/less/update/components/sidebar.less @@ -345,7 +345,7 @@ width: 32px; align-self: center; } - .actor, .item, .journal, .table,{ + .actor, .item, .journal, .table { background: white; border: none; .entity-name { diff --git a/less/update/sw5e-dark.less b/less/update/sw5e-dark.less new file mode 100644 index 00000000..a6ef2c8f --- /dev/null +++ b/less/update/sw5e-dark.less @@ -0,0 +1,44 @@ +@import "_variables.less"; +@import "_variables-dark.less"; + +body.dark-theme { + .app { + background: @primaryBackground; + } + h1, + h2, + h3, + h4, + h5, + h6 { + color: @headingColor; + } + h3 { + border-bottom: 2px solid @headerBorderColor; + } + + a { + color: @linkColor; + text-decoration: none; + + &:hover, + &:active { + text-shadow: none; + text-decoration: underline; + } + } + + blockquote { + padding: 4px 8px; + background-color: @blockquoteBackground; + border: 1px solid @blockquoteBorder; + box-shadow: @blockquoteShadow; + } + + hr { + border-width: 0 0 1px 0; + border-bottom: 1px solid @hrColor; + } + @import "components/forms-themes.less"; + @import "components/sidebar-themes.less"; +} \ No newline at end of file diff --git a/less/update/sw5e-global.less b/less/update/sw5e-global.less new file mode 100644 index 00000000..c57abed3 --- /dev/null +++ b/less/update/sw5e-global.less @@ -0,0 +1,108 @@ +/* open-sans-regular - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('./fonts/OpenSans-Regular.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: url('./fonts/OpenSans-Italic.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: url('./fonts/OpenSans-Bold.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: url('./fonts/OpenSans-BoldItalic.ttf'); +} +/* russo-one-regular - latin */ +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: italic; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 700; + src: url('./fonts/RussoOne.ttf'); +} +@import "_variables.less"; + +html { + box-sizing: border-box; +} +*, *:before, *:after { + box-sizing: inherit; +} +// ::-webkit-scrollbar { +// width: 6px; +// height: 6px; +// } +::-webkit-scrollbar-track { + border: 1px solid @colorBlue; + border-radius: 4px; +} +::-webkit-scrollbar-thumb { + outline: none; + border-radius: 4px; + background: @colorBlue; + border: none; +} +:root { + scrollbar-width: thin; + scrollbar-color: @colorBlue @colorPaleBlue; +} + +body { + .openSans(13px, 400); +} + +h1 { + .russoOne(34px); +} +h2 { + .russoOne(27px); +} +h3 { + .russoOne(21px); +} +h4 { + .russoOne(17px); +} +h5, h6 { + .russoOne(13px); +} + +a { + text-decoration: none; + &:hover, &:active { + text-shadow: none; + text-decoration: underline; + } +} + +.app { + border: none;// 1px solid @colorBlue; + .dropShadow1(); +} +#pause h3 { + border-bottom: 0; +} +@import "components/forms-global.less"; +@import "components/sidebar-global.less"; \ No newline at end of file diff --git a/less/update/sw5e-light.less b/less/update/sw5e-light.less new file mode 100644 index 00000000..1565c4c3 --- /dev/null +++ b/less/update/sw5e-light.less @@ -0,0 +1,44 @@ +@import "_variables.less"; +@import "_variables-light.less"; + +body.light-theme { + .app { + background: @primaryBackground; + } + h1, + h2, + h3, + h4, + h5, + h6 { + color: @headingColor; + } + h3 { + border-bottom: 2px solid @headerBorderColor; + } + + a { + color: @linkColor; + text-decoration: none; + + &:hover, + &:active { + text-shadow: none; + text-decoration: underline; + } + } + + blockquote { + padding: 4px 8px; + background-color: @blockquoteBackground; + border: 1px solid @blockquoteBorder; + box-shadow: @blockquoteShadow; + } + + hr { + border-width: 0 0 1px 0; + border-bottom: 1px solid @hrColor; + } + @import "components/forms-themes.less"; + @import "components/sidebar-themes.less"; +} \ No newline at end of file diff --git a/less/update/sw5e-update.less b/less/update/sw5e-update.less index ca8bacef..15b7badd 100644 --- a/less/update/sw5e-update.less +++ b/less/update/sw5e-update.less @@ -1,49 +1,6 @@ @import "variables.less"; -html { - box-sizing: border-box; -} -*, *:before, *:after { - box-sizing: inherit; -} -// ::-webkit-scrollbar { -// width: 6px; -// height: 6px; -// } -::-webkit-scrollbar-track { - border: 1px solid @colorBlue; - border-radius: 4px; -} -::-webkit-scrollbar-thumb { - outline: none; - border-radius: 4px; - background: @colorBlue; - border: none; -} -:root { - scrollbar-width: thin; - scrollbar-color: @colorBlue @colorPaleBlue; -} -body { - .openSans(13px, 400); -} - -h1 { - .russoOne(34px); -} -h2 { - .russoOne(27px); -} -h3 { - .russoOne(21px); -} -h4 { - .russoOne(17px); -} -h5, h6 { - .russoOne(13px); -} a { color: @colorRed; diff --git a/module/settings.js b/module/settings.js index 5c40216b..f7c6c8a4 100644 --- a/module/settings.js +++ b/module/settings.js @@ -142,4 +142,16 @@ export const registerSystemSettings = function() { transformTokens: true } }); + game.settings.register("sw5e", "colorTheme", { + name: "SETTINGS.SWColorN", + hint: "SETTINGS.SWColorL", + scope: "world", + config: true, + default: "light", + type: String, + choices: { + "light": "SETTINGS.SWColorLight", + "dark": "SETTINGS.SWColorDark" + } + }); }; diff --git a/sw5e-dark.css b/sw5e-dark.css new file mode 100644 index 00000000..f001dade --- /dev/null +++ b/sw5e-dark.css @@ -0,0 +1,365 @@ +/* ----------------------------------------- */ +/* Fonts */ +/* ----------------------------------------- */ +/* ----------------------------------------- */ +/* Sheet Styles */ +/* ----------------------------------------- */ +body.dark-theme { + /*----------- +** Chat Tab +-----------*/ + /*----------- +** Combat Tab +-----------*/ + /* +** Folders +*/ +} +body.dark-theme .app { + background: linear-gradient(90deg, #626262 0, #4d4d4d 30%, #4d4d4d 70%, #626262); +} +body.dark-theme h1, +body.dark-theme h2, +body.dark-theme h3, +body.dark-theme h4, +body.dark-theme h5, +body.dark-theme h6 { + color: #E81111; +} +body.dark-theme h3 { + border-bottom: 2px solid #0d99cc; +} +body.dark-theme a { + color: #E81111; + text-decoration: none; +} +body.dark-theme a:hover, +body.dark-theme a:active { + text-shadow: none; + text-decoration: underline; +} +body.dark-theme blockquote { + padding: 4px 8px; + background-color: #FBF4F4; + border: 1px solid #E81111; + box-shadow: 0 0 20px rgba(232, 17, 17, 0.8); +} +body.dark-theme hr { + border-width: 0 0 1px 0; + border-bottom: 1px solid #0d99cc; +} +body.dark-theme input[type="text"], +body.dark-theme input[type="number"], +body.dark-theme input[type="password"], +body.dark-theme input[type="date"], +body.dark-theme input[type="time"], +body.dark-theme select, +body.dark-theme textarea { + border: 1px solid #828282; + color: white; +} +body.dark-theme input[type="text"]:hover, +body.dark-theme input[type="number"]:hover, +body.dark-theme input[type="password"]:hover, +body.dark-theme input[type="date"]:hover, +body.dark-theme input[type="time"]:hover, +body.dark-theme select:hover, +body.dark-theme textarea:hover { + border-color: #4f4f4f; +} +body.dark-theme input[type="text"]:focus, +body.dark-theme input[type="number"]:focus, +body.dark-theme input[type="password"]:focus, +body.dark-theme input[type="date"]:focus, +body.dark-theme input[type="time"]:focus, +body.dark-theme select:focus, +body.dark-theme textarea:focus { + border-color: #E81111; +} +body.dark-theme button, +body.dark-theme input[type="button"], +body.dark-theme input[type="submit"], +body.dark-theme input[type="reset"] { + background: #E81111; + color: white; +} +body.dark-theme button:hover, +body.dark-theme input[type="button"]:hover, +body.dark-theme input[type="submit"]:hover, +body.dark-theme input[type="reset"]:hover, +body.dark-theme button:focus, +body.dark-theme input[type="button"]:focus, +body.dark-theme input[type="submit"]:focus, +body.dark-theme input[type="reset"]:focus { + background: #ef2424; +} +body.dark-theme button:disabled:hover, +body.dark-theme input[type="button"]:disabled:hover, +body.dark-theme input[type="submit"]:disabled:hover, +body.dark-theme input[type="reset"]:disabled:hover, +body.dark-theme button:disabled:focus, +body.dark-theme input[type="button"]:disabled:focus, +body.dark-theme input[type="submit"]:disabled:focus, +body.dark-theme input[type="reset"]:disabled:focus { + background: #E81111; +} +body.dark-theme input[type="reset"], +body.dark-theme button.secondary, +body.dark-theme button[type="reset"], +body.dark-theme input[type="button"].secondary, +body.dark-theme input[type="submit"].secondary { + background: #828282; + color: white; +} +body.dark-theme input[type="reset"]:hover, +body.dark-theme button.secondary:hover, +body.dark-theme button[type="reset"]:hover, +body.dark-theme input[type="button"].secondary:hover, +body.dark-theme input[type="submit"].secondary:hover { + background: #8f8f8f; +} +body.dark-theme input[type="reset"]:disabled:hover, +body.dark-theme button.secondary:disabled:hover, +body.dark-theme button[type="reset"]:disabled:hover, +body.dark-theme input[type="button"].secondary:disabled:hover, +body.dark-theme input[type="submit"].secondary:disabled:hover, +body.dark-theme input[type="reset"]:disabled:focus, +body.dark-theme button.secondary:disabled:focus, +body.dark-theme button[type="reset"]:disabled:focus, +body.dark-theme input[type="button"].secondary:disabled:focus, +body.dark-theme input[type="submit"].secondary:disabled:focus { + background: #828282; +} +body.dark-theme #sidebar-tabs { + background: #2b2b2b; +} +body.dark-theme #sidebar-tabs > .collapse { + color: #E81111; +} +body.dark-theme #sidebar-tabs .item.active { + color: #E81111; + border-bottom: 3px solid #E81111; +} +body.dark-theme #chat-log .chat-message { + background: #363636; + color: white; +} +body.dark-theme #chat-log .chat-message > header { + color: #E81111; + border-bottom: 2px solid #0d99cc; +} +body.dark-theme #chat-log .chat-message > header span { + color: white; +} +body.dark-theme .notification-pip { + color: #0d99cc; +} +body.dark-theme .sw5e.chat-card .card-header h3 { + color: white; +} +body.dark-theme .sw5e.chat-card .card-header h3:hover { + color: white; +} +body.dark-theme .sw5e.chat-card .card-buttons span { + border: 1px solid #828282; +} +body.dark-theme .sw5e.chat-card .card-footer { + border-top: 1px solid #7ed6f7; +} +body.dark-theme .sw5e.chat-card .card-footer span { + border-right: 1px solid #D6D6D6; +} +body.dark-theme .sw5e.chat-card .card-footer span:last-child { + border-right: none; +} +body.dark-theme .dice-roll .dice-formula { + background: #4f4f4f; + color: white; + box-shadow: none; + border-radius: 4px; +} +body.dark-theme .dice-roll .dice-total { + background: #FBF4F4; + border: 1px solid #E81111; + box-shadow: 0 0 12px rgba(232, 17, 17, 0.8); +} +body.dark-theme .dice-roll .dice-total.success { + color: #0dce0d; +} +body.dark-theme .dice-roll .dice-total.failure { + color: #E81111; +} +body.dark-theme .dice-roll .dice-total.critical { + color: #0dce0d; + background: #bcdcbe; + box-shadow: 0 0 12px rgba(13, 206, 13, 0.5); +} +body.dark-theme .dice-roll .dice-total.fumble { + color: #E81111; + background: #FBF4F4; + box-shadow: 0 0 12px rgba(232, 17, 17, 0.5); +} +body.dark-theme #chat-controls .roll-type-select { + background: #363636; +} +body.dark-theme #chat-controls label { + color: white; +} +body.dark-theme #chat-form textarea { + background: #363636; +} +body.dark-theme #combat #combat-round { + color: #E81111; + border-bottom: 2px solid #E81111; +} +body.dark-theme #combat #combat-round .encounters h4 { + color: #E81111; +} +body.dark-theme #combat #combat-round .encounters a { + color: #D6D6D6; +} +body.dark-theme #combat #combat-round .encounters a:hover { + color: #E81111; +} +body.dark-theme #combat #combat-tracker li.combatant { + color: white; +} +body.dark-theme #combat #combat-tracker li.combatant:nth-child(even) { + background: rgba(79, 79, 79, 0.5); +} +body.dark-theme #combat #combat-tracker li.combatant h4 { + color: white; +} +body.dark-theme #combat #combat-tracker li.combatant .roll { + color: #D6D6D6; +} +body.dark-theme #combat #combat-tracker li.combatant .roll:hover { + color: #E81111; +} +body.dark-theme #combat #combat-tracker li.combatant .combatant-control { + color: #D6D6D6; +} +body.dark-theme #combat #combat-tracker li.combatant .combatant-control.active { + color: #E81111; +} +body.dark-theme #combat #combat-tracker li.combatant .token-resource { + color: white; + border-right: 1px solid #828282; +} +body.dark-theme #combat #combat-tracker li.combatant.active { + color: #0d99cc; +} +body.dark-theme #combat #combat-tracker li.combatant.active .initiative, +body.dark-theme #combat #combat-tracker li.combatant.active h4 { + color: #0d99cc; +} +body.dark-theme #combat #combat-tracker li.combatant.hidden { + color: white; +} +body.dark-theme #combat #combat-controls { + border-top: 1px solid #0d99cc; +} +body.dark-theme .sidebar-tab .directory-header .header-search i.fa-search { + color: #0d99cc; +} +body.dark-theme .sidebar-tab .directory-header .header-search input { + background: #363636; +} +body.dark-theme .sidebar-tab .subdirectory { + background: #2b2b2b; +} +body.dark-theme .sidebar-tab .subdirectory .folder { + border-left: 2px solid rgba(130, 130, 130, 0.4); +} +body.dark-theme .sidebar-tab .directory-list li + li { + border-top: 1px solid #0d99cc; +} +body.dark-theme .sidebar-tab .directory-list .folder > .folder-header { + background: #2b2b2b; +} +body.dark-theme .sidebar-tab .directory-list .folder > .folder-header h3 { + background: #2b2b2b; + color: white; +} +body.dark-theme .sidebar-tab .directory-list .folder > .folder-header h3 > i { + color: #0d99cc; +} +body.dark-theme .sidebar-tab .directory-list .folder > .folder-header a { + color: #D6D6D6; +} +body.dark-theme .sidebar-tab .directory-list .folder > .folder-header a:hover { + color: #E81111; +} +body.dark-theme .sidebar-tab .directory-list .folder.collapsed > .folder-header { + background: #2b2b2b; +} +body.dark-theme .sidebar-tab .directory-list .folder + .entity { + border-top: 1px solid #0d99cc; +} +body.dark-theme .sidebar-tab .directory-list .actor, +body.dark-theme .sidebar-tab .directory-list .item, +body.dark-theme .sidebar-tab .directory-list .journal, +body.dark-theme .sidebar-tab .directory-list .table { + background: #2b2b2b; +} +body.dark-theme .sidebar-tab .directory-list .actor .entity-name, +body.dark-theme .sidebar-tab .directory-list .item .entity-name, +body.dark-theme .sidebar-tab .directory-list .journal .entity-name, +body.dark-theme .sidebar-tab .directory-list .table .entity-name { + color: #1C1C1C; +} +body.dark-theme .sidebar-tab .directory-list .actor:nth-child(even), +body.dark-theme .sidebar-tab .directory-list .item:nth-child(even), +body.dark-theme .sidebar-tab .directory-list .journal:nth-child(even), +body.dark-theme .sidebar-tab .directory-list .table:nth-child(even) { + background: rgba(79, 79, 79, 0.3); +} +body.dark-theme #scenes .scene { + border-top: 1px solid #0d99cc; + border-left: 4px solid #0d99cc; +} +body.dark-theme #scenes .scene::after { + box-shadow: 0 0 20px #0d99cc inset; +} +body.dark-theme #scenes .scene h3 { + background: #2b2b2b; +} +body.dark-theme #playlists .directory-list li.playlist { + background: #2b2b2b; +} +body.dark-theme #playlists .directory-list li.playlist .playlist-header { + background: #2b2b2b; + color: #E81111; + border-bottom: 2px solid #0d99cc; +} +body.dark-theme #playlists .directory-list li.playlist li.sound { + color: #1C1C1C; +} +body.dark-theme #playlists .directory-list li.playlist a.sound-control { + color: #E81111; +} +body.dark-theme #compendium .compendium-entity { + background: #2b2b2b !important; +} +body.dark-theme #compendium .compendium-entity h3 { + border-bottom: 2px solid #0d99cc; +} +body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) { + background: rgba(79, 79, 79, 0.3); +} +body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons { + color: #828282; +} +body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack footer.compendium-footer { + color: white; +} +body.dark-theme #settings h2 { + color: #E81111; + border-bottom: 2px solid #0d99cc; +} +body.dark-theme #settings #game-details, +body.dark-theme #settings #settings-game, +body.dark-theme #settings #settings-documentation, +body.dark-theme #settings #settings-access { + color: white; +} diff --git a/sw5e-global.css b/sw5e-global.css new file mode 100644 index 00000000..e9955e1b --- /dev/null +++ b/sw5e-global.css @@ -0,0 +1,598 @@ +/* open-sans-regular - latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('./fonts/OpenSans-Regular.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: url('./fonts/OpenSans-Italic.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: url('./fonts/OpenSans-Bold.ttf'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: url('./fonts/OpenSans-BoldItalic.ttf'); +} +/* russo-one-regular - latin */ +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: italic; + font-weight: 400; + src: url('./fonts/RussoOne.ttf'); +} +@font-face { + font-family: 'Russo One'; + font-style: normal; + font-weight: 700; + src: url('./fonts/RussoOne.ttf'); +} +/* ----------------------------------------- */ +/* Fonts */ +/* ----------------------------------------- */ +/* ----------------------------------------- */ +/* Sheet Styles */ +/* ----------------------------------------- */ +html { + box-sizing: border-box; +} +*, +*:before, +*:after { + box-sizing: inherit; +} +::-webkit-scrollbar-track { + border: 1px solid #0d99cc; + border-radius: 4px; +} +::-webkit-scrollbar-thumb { + outline: none; + border-radius: 4px; + background: #0d99cc; + border: none; +} +:root { + scrollbar-width: thin; + scrollbar-color: #0d99cc #afc6d6; +} +body { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 400; +} +h1 { + font-family: 'Russo One'; + font-size: 34px; + font-weight: 400; +} +h2 { + font-family: 'Russo One'; + font-size: 27px; + font-weight: 400; +} +h3 { + font-family: 'Russo One'; + font-size: 21px; + font-weight: 400; +} +h4 { + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; +} +h5, +h6 { + font-family: 'Russo One'; + font-size: 13px; + font-weight: 400; +} +a { + text-decoration: none; +} +a:hover, +a:active { + text-shadow: none; + text-decoration: underline; +} +.app { + border: none; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#pause h3 { + border-bottom: 0; +} +input[type="text"], +input[type="number"], +input[type="password"], +input[type="date"], +input[type="time"], +select, +textarea { + border-radius: 4px; + transition: all 0.3s; +} +input[type="text"]:hover, +input[type="number"]:hover, +input[type="password"]:hover, +input[type="date"]:hover, +input[type="time"]:hover, +select:hover, +textarea:hover { + box-shadow: none; +} +input[type="text"]:focus, +input[type="number"]:focus, +input[type="password"]:focus, +input[type="date"]:focus, +input[type="time"]:focus, +select:focus, +textarea:focus { + box-shadow: none; +} +input[type=range] { + -webkit-appearance: none; + /* Hides the slider so that custom slider can be made */ + width: 100%; + /* Specific width is required for Firefox. */ + background: transparent; + /* Otherwise white in Chrome */ +} +input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none; + background: #c40f0f; + width: 12px; + height: 12px; + border-radius: 32px; + cursor: pointer; + box-shadow: none; +} +input[type=range]::-moz-range-thumb { + -webkit-appearance: none; + background: #c40f0f; + width: 12px; + height: 12px; + border-radius: 32px; + cursor: pointer; + box-shadow: none; +} +input[type=range]::-ms-thumb { + -webkit-appearance: none; + background: #c40f0f; + width: 12px; + height: 12px; + border-radius: 32px; + cursor: pointer; + box-shadow: none; +} +input[type=range]::-webkit-slider-runnable-track { + width: 100%; + height: 6px; + cursor: pointer; + background: #7ed6f7; + border-radius: 4px; + border: 1px solid #0d99cc; + box-shadow: none; +} +input[type=range]:focus::-webkit-slider-runnable-track { + background: #0d99cc; +} +input[type=range]::-moz-range-track { + width: 100%; + height: 6px; + cursor: pointer; + background: #7ed6f7; + border-radius: 4px; + border: 1px solid #0d99cc; + box-shadow: none; +} +input[type=range]::-ms-track { + width: 100%; + height: 6px; + cursor: pointer; + background: #7ed6f7; + border-radius: 4px; + border: 1px solid #0d99cc; + box-shadow: none; +} +input[type=range]:focus { + outline: none; + /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */ +} +input[type=range]::-ms-track { + width: 100%; + cursor: pointer; + /* Hides the slider so custom styles can be added */ + background: transparent; + border-color: transparent; + color: transparent; +} +button, +input[type="button"], +input[type="submit"], +input[type="reset"] { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + text-align: center; + border: none; + border-radius: 4px; + cursor: pointer; + transition: all 0.3s; +} +button:hover, +input[type="button"]:hover, +input[type="submit"]:hover, +input[type="reset"]:hover, +button:focus, +input[type="button"]:focus, +input[type="submit"]:focus, +input[type="reset"]:focus { + box-shadow: none; +} +button:disabled, +input[type="button"]:disabled, +input[type="submit"]:disabled, +input[type="reset"]:disabled { + opacity: 0.6; + cursor: default; +} +#sidebar { + border: none; +} +#sidebar-tabs { + border: none; + box-shadow: none; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#sidebar-tabs .item { + font-size: 16px; +} +#sidebar-tabs .item.active { + border: none; + box-shadow: none; + background: none; + text-shadow: none; +} +/*----------- +** Chat Tab +-----------*/ +#chat-log .chat-message { + border: none; + border-radius: 4px; + margin-bottom: 8px; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#chat-log .chat-message > header { + color: #c40f0f; + border-bottom: 2px solid #0d99cc; + margin-bottom: 4px; +} +#chat-log .chat-message > header span { + color: #1C1C1C; +} +.notification-pip { + color: #0d99cc; +} +.sw5e.chat-card .card-header { + padding: 0; + border: none; +} +.sw5e.chat-card .card-header img { + flex: 0 0 36px; + margin-right: 4px; +} +.sw5e.chat-card .card-header h3 { + flex: 1; + margin: 0; + line-height: 36px; + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + border-bottom: none; +} +.sw5e.chat-card .card-header h3:hover { + text-shadow: none; +} +.sw5e.chat-card .card-content { + margin: 4px 0; +} +.sw5e.chat-card .card-content h3 { + font-size: 12px; + margin: 0; + font-weight: bold; +} +.sw5e.chat-card .card-content > * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} +.sw5e.chat-card .card-buttons { + margin: 4px 0; +} +.sw5e.chat-card .card-buttons span { + display: block; + line-height: 28px; + text-align: center; +} +.sw5e.chat-card .card-buttons button { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + padding: 4px 0; + height: auto; + line-height: 1.6; + margin: 4px 0; + border: none; + border-radius: 4px; +} +.sw5e.chat-card .card-buttons button:hover, +.sw5e.chat-card .card-buttons button:focus { + box-shadow: none; +} +.sw5e.chat-card .card-footer { + padding: 4px 0 0; +} +.sw5e.chat-card .card-footer span { + padding: 0 4px 0 0; + font-size: 10px; +} +.sw5e.chat-card .card-footer span:last-child { + border-right: none; + padding-right: 0; +} +.dice-roll .dice-formula { + border: none; + box-shadow: none; + border-radius: 4px; +} +.dice-roll .dice-total { + border-radius: 0; + padding: 4px 0; +} +#chat-controls { + padding-top: 4px; +} +#chat-form textarea:focus { + box-shadow: none; + outline: none; +} +/*----------- +** Combat Tab +-----------*/ +#combat h3 { + border: none; +} +#combat #combat-tracker li.combatant { + padding: 4px 0; + background: none; +} +#combat #combat-tracker li.combatant .token-name { + text-shadow: none; +} +#combat #combat-tracker li.combatant h4 { + color: #1C1C1C; +} +#combat #combat-tracker li.combatant .roll { + background: none; +} +#combat #combat-tracker li.combatant .roll::before { + content: "\f6cf"; + font-family: "Font Awesome 5 Free"; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + font-weight: 900; + font-size: 28px; +} +#combat #combat-tracker li.combatant .initiative { + text-shadow: none; +} +#combat #combat-tracker li.combatant.hidden { + opacity: 0.5; +} +#combat #combat-controls { + padding-top: 0; +} +/* +** Folders +*/ +.sidebar-tab .directory-header { + margin-bottom: 4px; +} +.sidebar-tab .directory-header .header-search { + position: relative; +} +.sidebar-tab .directory-header .header-search i.fa-search { + position: absolute; + left: 8px; +} +.sidebar-tab .directory-header .header-search input { + text-align: left; + padding-left: 22px; +} +.sidebar-tab .directory-header .header-search input:focus { + box-shadow: none; +} +.sidebar-tab .subdirectory { + border: none; + margin-left: 8px; + min-height: 8px; +} +.sidebar-tab .directory-list { + padding-bottom: 4px; +} +.sidebar-tab .directory-list .folder > .folder-header { + line-height: default; + padding: 0 0 0 8px; + position: relative; + border: none; +} +.sidebar-tab .directory-list .folder > .folder-header h3 { + padding: 8px 4px; + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + line-height: 1.6; +} +.sidebar-tab .directory-list .folder > .folder-header h3 > i { + margin-right: 4px; +} +.sidebar-tab .directory-list .folder > .folder-header a { + position: absolute; + top: 0; + right: 4px; + height: 100%; + padding: 0 4px; +} +.sidebar-tab .directory-list .folder > .folder-header a i { + margin-top: 12px; +} +.sidebar-tab .directory-list .folder > .folder-header a.create-folder { + right: 28px; +} +.sidebar-tab .directory-list .directory-item img { + flex: 0 0 32px; + height: 32px; + width: 32px; + align-self: center; +} +.sidebar-tab .directory-list .actor, +.sidebar-tab .directory-list .item, +.sidebar-tab .directory-list .journal, +.sidebar-tab .directory-list .table { + border: none; +} +.sidebar-tab .directory-list .actor .entity-name, +.sidebar-tab .directory-list .item .entity-name, +.sidebar-tab .directory-list .journal .entity-name, +.sidebar-tab .directory-list .table .entity-name { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; +} +#scenes .subdirectory { + border-left: none; +} +#scenes .scene { + border: none; + box-shadow: none; + position: relative; + height: 128px; +} +#scenes .scene + .scene { + margin-top: 4px; +} +#scenes .scene::after { + content: ''; + display: block; + width: 100%; + height: 99px; + position: absolute; + top: 28px; + left: 0; +} +#scenes .scene h3 { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + text-align: left; + text-shadow: none; + padding: 4px 4px 4px 12px; + line-height: 1.6; + position: absolute; + top: 0; + left: 0; + width: 100%; +} +#playlists .directory-list { + padding: 0 8px; +} +#playlists .directory-list li.playlist { + padding: 8px; + border-radius: 4px; + margin-bottom: 8px; + border-top: inherit; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +#playlists .directory-list li.playlist .playlist-header { + text-decoration: none; +} +#playlists .directory-list li.playlist li.sound { + border: none; +} +#playlists .directory-list li.playlist li.sound h4 { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 400; +} +#compendium .compendium-entity { + margin: 0 4px; + padding: 8px; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + border-radius: 4px; + border: none; +} +#compendium .compendium-entity + .compendium-entity { + margin-top: 4px; +} +#compendium .compendium-entity h3 { + background: none; + border: none; + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + padding: 0; + margin-bottom: 4px; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack { + margin: 0; + padding: 4px; + border: none; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title { + margin: 0; + position: relative; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title a { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title a i { + display: none; +} +#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons { + top: 4px; + font-size: 13px; +} +#settings h2 { + border: none; + margin: 0 8px; + padding: 0; + background: none; +} +#settings #game-details, +#settings #settings-game, +#settings #settings-documentation, +#settings #settings-access { + padding: 0 8px; + margin: 0 0 8px; +} diff --git a/sw5e-light.css b/sw5e-light.css new file mode 100644 index 00000000..a6b84694 --- /dev/null +++ b/sw5e-light.css @@ -0,0 +1,365 @@ +/* ----------------------------------------- */ +/* Fonts */ +/* ----------------------------------------- */ +/* ----------------------------------------- */ +/* Sheet Styles */ +/* ----------------------------------------- */ +body.light-theme { + /*----------- +** Chat Tab +-----------*/ + /*----------- +** Combat Tab +-----------*/ + /* +** Folders +*/ +} +body.light-theme .app { + background: linear-gradient(90deg, #afc6d6 0, #d6d6d6 30%, #d6d6d6 70%, #afc6d6); +} +body.light-theme h1, +body.light-theme h2, +body.light-theme h3, +body.light-theme h4, +body.light-theme h5, +body.light-theme h6 { + color: #c40f0f; +} +body.light-theme h3 { + border-bottom: 2px solid #0d99cc; +} +body.light-theme a { + color: #c40f0f; + text-decoration: none; +} +body.light-theme a:hover, +body.light-theme a:active { + text-shadow: none; + text-decoration: underline; +} +body.light-theme blockquote { + padding: 4px 8px; + background-color: #afc6d6; + border: 1px solid #0d99cc; + box-shadow: 0 0 20px rgba(13, 153, 204, 0.8); +} +body.light-theme hr { + border-width: 0 0 1px 0; + border-bottom: 1px solid #0d99cc; +} +body.light-theme input[type="text"], +body.light-theme input[type="number"], +body.light-theme input[type="password"], +body.light-theme input[type="date"], +body.light-theme input[type="time"], +body.light-theme select, +body.light-theme textarea { + border: 1px solid #828282; + color: #1C1C1C; +} +body.light-theme input[type="text"]:hover, +body.light-theme input[type="number"]:hover, +body.light-theme input[type="password"]:hover, +body.light-theme input[type="date"]:hover, +body.light-theme input[type="time"]:hover, +body.light-theme select:hover, +body.light-theme textarea:hover { + border-color: #4f4f4f; +} +body.light-theme input[type="text"]:focus, +body.light-theme input[type="number"]:focus, +body.light-theme input[type="password"]:focus, +body.light-theme input[type="date"]:focus, +body.light-theme input[type="time"]:focus, +body.light-theme select:focus, +body.light-theme textarea:focus { + border-color: #c40f0f; +} +body.light-theme button, +body.light-theme input[type="button"], +body.light-theme input[type="submit"], +body.light-theme input[type="reset"] { + background: #c40f0f; + color: white; +} +body.light-theme button:hover, +body.light-theme input[type="button"]:hover, +body.light-theme input[type="submit"]:hover, +body.light-theme input[type="reset"]:hover, +body.light-theme button:focus, +body.light-theme input[type="button"]:focus, +body.light-theme input[type="submit"]:focus, +body.light-theme input[type="reset"]:focus { + background: #dc1111; +} +body.light-theme button:disabled:hover, +body.light-theme input[type="button"]:disabled:hover, +body.light-theme input[type="submit"]:disabled:hover, +body.light-theme input[type="reset"]:disabled:hover, +body.light-theme button:disabled:focus, +body.light-theme input[type="button"]:disabled:focus, +body.light-theme input[type="submit"]:disabled:focus, +body.light-theme input[type="reset"]:disabled:focus { + background: #c40f0f; +} +body.light-theme input[type="reset"], +body.light-theme button.secondary, +body.light-theme button[type="reset"], +body.light-theme input[type="button"].secondary, +body.light-theme input[type="submit"].secondary { + background: #D6D6D6; + color: #1C1C1C; +} +body.light-theme input[type="reset"]:hover, +body.light-theme button.secondary:hover, +body.light-theme button[type="reset"]:hover, +body.light-theme input[type="button"].secondary:hover, +body.light-theme input[type="submit"].secondary:hover { + background: #e3e3e3; +} +body.light-theme input[type="reset"]:disabled:hover, +body.light-theme button.secondary:disabled:hover, +body.light-theme button[type="reset"]:disabled:hover, +body.light-theme input[type="button"].secondary:disabled:hover, +body.light-theme input[type="submit"].secondary:disabled:hover, +body.light-theme input[type="reset"]:disabled:focus, +body.light-theme button.secondary:disabled:focus, +body.light-theme button[type="reset"]:disabled:focus, +body.light-theme input[type="button"].secondary:disabled:focus, +body.light-theme input[type="submit"].secondary:disabled:focus { + background: #D6D6D6; +} +body.light-theme #sidebar-tabs { + background: white; +} +body.light-theme #sidebar-tabs > .collapse { + color: #c40f0f; +} +body.light-theme #sidebar-tabs .item.active { + color: #c40f0f; + border-bottom: 3px solid #c40f0f; +} +body.light-theme #chat-log .chat-message { + background: white; + color: #1C1C1C; +} +body.light-theme #chat-log .chat-message > header { + color: #c40f0f; + border-bottom: 2px solid #0d99cc; +} +body.light-theme #chat-log .chat-message > header span { + color: #1C1C1C; +} +body.light-theme .notification-pip { + color: #0d99cc; +} +body.light-theme .sw5e.chat-card .card-header h3 { + color: #1C1C1C; +} +body.light-theme .sw5e.chat-card .card-header h3:hover { + color: #1C1C1C; +} +body.light-theme .sw5e.chat-card .card-buttons span { + border: 1px solid #828282; +} +body.light-theme .sw5e.chat-card .card-footer { + border-top: 1px solid #7ed6f7; +} +body.light-theme .sw5e.chat-card .card-footer span { + border-right: 1px solid #D6D6D6; +} +body.light-theme .sw5e.chat-card .card-footer span:last-child { + border-right: none; +} +body.light-theme .dice-roll .dice-formula { + background: #D6D6D6; + color: #1C1C1C; + box-shadow: none; + border-radius: 4px; +} +body.light-theme .dice-roll .dice-total { + background: #afc6d6; + border: 1px solid #0d99cc; + box-shadow: 0 0 12px rgba(13, 153, 204, 0.8); +} +body.light-theme .dice-roll .dice-total.success { + color: #0dce0d; +} +body.light-theme .dice-roll .dice-total.failure { + color: #c40f0f; +} +body.light-theme .dice-roll .dice-total.critical { + color: #0dce0d; + background: #bcdcbe; + box-shadow: 0 0 12px rgba(13, 206, 13, 0.5); +} +body.light-theme .dice-roll .dice-total.fumble { + color: #c40f0f; + background: #FBF4F4; + box-shadow: 0 0 12px rgba(196, 15, 15, 0.5); +} +body.light-theme #chat-controls .roll-type-select { + background: white; +} +body.light-theme #chat-controls label { + color: #1C1C1C; +} +body.light-theme #chat-form textarea { + background: white; +} +body.light-theme #combat #combat-round { + color: #c40f0f; + border-bottom: 2px solid #c40f0f; +} +body.light-theme #combat #combat-round .encounters h4 { + color: #c40f0f; +} +body.light-theme #combat #combat-round .encounters a { + color: #4f4f4f; +} +body.light-theme #combat #combat-round .encounters a:hover { + color: #c40f0f; +} +body.light-theme #combat #combat-tracker li.combatant { + color: #1C1C1C; +} +body.light-theme #combat #combat-tracker li.combatant:nth-child(even) { + background: rgba(175, 198, 214, 0.5); +} +body.light-theme #combat #combat-tracker li.combatant h4 { + color: #1C1C1C; +} +body.light-theme #combat #combat-tracker li.combatant .roll { + color: #4f4f4f; +} +body.light-theme #combat #combat-tracker li.combatant .roll:hover { + color: #c40f0f; +} +body.light-theme #combat #combat-tracker li.combatant .combatant-control { + color: #828282; +} +body.light-theme #combat #combat-tracker li.combatant .combatant-control.active { + color: #363636; +} +body.light-theme #combat #combat-tracker li.combatant .token-resource { + color: #4f4f4f; + border-right: 1px solid #828282; +} +body.light-theme #combat #combat-tracker li.combatant.active { + color: #0d99cc; +} +body.light-theme #combat #combat-tracker li.combatant.active .initiative, +body.light-theme #combat #combat-tracker li.combatant.active h4 { + color: #0d99cc; +} +body.light-theme #combat #combat-tracker li.combatant.hidden { + color: #1C1C1C; +} +body.light-theme #combat #combat-controls { + border-top: 1px solid #0d99cc; +} +body.light-theme .sidebar-tab .directory-header .header-search i.fa-search { + color: #0d99cc; +} +body.light-theme .sidebar-tab .directory-header .header-search input { + background: white; +} +body.light-theme .sidebar-tab .subdirectory { + background: white; +} +body.light-theme .sidebar-tab .subdirectory .folder { + border-left: 2px solid rgba(28, 28, 28, 0.4); +} +body.light-theme .sidebar-tab .directory-list li + li { + border-top: 1px solid #0d99cc; +} +body.light-theme .sidebar-tab .directory-list .folder > .folder-header { + background: white; +} +body.light-theme .sidebar-tab .directory-list .folder > .folder-header h3 { + background: white; + color: #1C1C1C; +} +body.light-theme .sidebar-tab .directory-list .folder > .folder-header h3 > i { + color: #0d99cc; +} +body.light-theme .sidebar-tab .directory-list .folder > .folder-header a { + color: #4f4f4f; +} +body.light-theme .sidebar-tab .directory-list .folder > .folder-header a:hover { + color: #c40f0f; +} +body.light-theme .sidebar-tab .directory-list .folder.collapsed > .folder-header { + background: white; +} +body.light-theme .sidebar-tab .directory-list .folder + .entity { + border-top: 1px solid #0d99cc; +} +body.light-theme .sidebar-tab .directory-list .actor, +body.light-theme .sidebar-tab .directory-list .item, +body.light-theme .sidebar-tab .directory-list .journal, +body.light-theme .sidebar-tab .directory-list .table { + background: white; +} +body.light-theme .sidebar-tab .directory-list .actor .entity-name, +body.light-theme .sidebar-tab .directory-list .item .entity-name, +body.light-theme .sidebar-tab .directory-list .journal .entity-name, +body.light-theme .sidebar-tab .directory-list .table .entity-name { + color: #1C1C1C; +} +body.light-theme .sidebar-tab .directory-list .actor:nth-child(even), +body.light-theme .sidebar-tab .directory-list .item:nth-child(even), +body.light-theme .sidebar-tab .directory-list .journal:nth-child(even), +body.light-theme .sidebar-tab .directory-list .table:nth-child(even) { + background: rgba(175, 198, 214, 0.3); +} +body.light-theme #scenes .scene { + border-top: 1px solid #0d99cc; + border-left: 4px solid #0d99cc; +} +body.light-theme #scenes .scene::after { + box-shadow: 0 0 20px #0d99cc inset; +} +body.light-theme #scenes .scene h3 { + background: white; +} +body.light-theme #playlists .directory-list li.playlist { + background: white; +} +body.light-theme #playlists .directory-list li.playlist .playlist-header { + background: white; + color: #c40f0f; + border-bottom: 2px solid #0d99cc; +} +body.light-theme #playlists .directory-list li.playlist li.sound { + color: #1C1C1C; +} +body.light-theme #playlists .directory-list li.playlist a.sound-control { + color: #c40f0f; +} +body.light-theme #compendium .compendium-entity { + background: white !important; +} +body.light-theme #compendium .compendium-entity h3 { + border-bottom: 2px solid #0d99cc; +} +body.light-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) { + background: rgba(175, 198, 214, 0.3); +} +body.light-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons { + color: #828282; +} +body.light-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack footer.compendium-footer { + color: #1C1C1C; +} +body.light-theme #settings h2 { + color: #c40f0f; + border-bottom: 2px solid #0d99cc; +} +body.light-theme #settings #game-details, +body.light-theme #settings #settings-game, +body.light-theme #settings #settings-documentation, +body.light-theme #settings #settings-access { + color: #1C1C1C; +} diff --git a/sw5e.js b/sw5e.js index 64a16371..a1d763da 100644 --- a/sw5e.js +++ b/sw5e.js @@ -159,6 +159,9 @@ Hooks.once("setup", function() { } // add DND5E translation for module compatability game.i18n.translations.DND5E = game.i18n.translations.SW5E; + // console.log(game.settings.get("sw5e", "colorTheme")); + let theme = game.settings.get("sw5e", "colorTheme") + '-theme'; + document.body.classList.add(theme); }); /* -------------------------------------------- */ diff --git a/system.json b/system.json index 4c35a245..c6ce8988 100644 --- a/system.json +++ b/system.json @@ -6,7 +6,7 @@ "author": "Dev Team", "scripts": [], "esmodules": ["sw5e.js"], - "styles": ["sw5e.css", "sw5e-update.css"], + "styles": ["sw5e.css", "sw5e-global.css", "sw5e-light.css", "sw5e-dark.css"], "packs": [ { "name": "adventuringgear", From e7ec90c944a00e10a9df9fd329a032a8f28ba5a6 Mon Sep 17 00:00:00 2001 From: Nathanael Phillips Date: Thu, 5 Nov 2020 09:56:31 -0700 Subject: [PATCH 3/4] more ui elements updated. --- fonts/Aurebesh.ttf | Bin 0 -> 21840 bytes less/update/_variables-dark.less | 24 ++- less/update/_variables-light.less | 23 ++- less/update/_variables.less | 1 + less/update/components/forms-themes.less | 17 ++ .../components/foundry-app-window-themes.less | 42 +++++ .../update/components/foundry-nav-themes.less | 82 ++++++++++ less/update/sw5e-dark.less | 2 + less/update/sw5e-global.less | 81 +++++++++- less/update/sw5e-light.less | 2 + sw5e-dark.css | 147 ++++++++++++++++++ sw5e-global.css | 84 ++++++++++ sw5e-light.css | 147 ++++++++++++++++++ ui/pause-inner.svg | 26 ++++ ui/pause-outer.svg | 19 +++ ui/pause-spinner.afdesign | Bin 0 -> 106068 bytes 16 files changed, 688 insertions(+), 9 deletions(-) create mode 100644 fonts/Aurebesh.ttf create mode 100644 less/update/components/foundry-app-window-themes.less create mode 100644 less/update/components/foundry-nav-themes.less create mode 100644 ui/pause-inner.svg create mode 100644 ui/pause-outer.svg create mode 100644 ui/pause-spinner.afdesign diff --git a/fonts/Aurebesh.ttf b/fonts/Aurebesh.ttf new file mode 100644 index 0000000000000000000000000000000000000000..82e0cf5b73e8808ce3b9fd49b5210fcb15e4dd78 GIT binary patch literal 21840 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 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/pause-outer.svg b/ui/pause-outer.svg new file mode 100644 index 00000000..9160d5f9 --- /dev/null +++ b/ui/pause-outer.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ui/pause-spinner.afdesign b/ui/pause-spinner.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..911bf40018be4e41713e8b1b8666696e0b26d6b5 GIT binary patch literal 106068 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 Date: Thu, 5 Nov 2020 20:37:19 -0700 Subject: [PATCH 4/4] character sheet added, light theme only --- less/update/_variables-dark.less | 35 +- less/update/_variables-light.less | 35 +- less/update/components/actor-global.less | 988 ++++++++++++++++++ less/update/components/actor-themes.less | 397 +++++++ .../components/foundry-app-window-themes.less | 9 +- .../update/components/foundry-nav-themes.less | 8 +- less/update/components/sidebar-global.less | 12 + less/update/sw5e-dark.less | 1 + less/update/sw5e-global.less | 6 +- less/update/sw5e-light.less | 1 + module/actor/sheets/newSheet/character.js | 7 +- sw5e-dark.css | 229 +++- sw5e-global.css | 889 +++++++++++++++- sw5e-light.css | 229 +++- sw5e.js | 3 + templates/actors/newActor/template.hbs | 6 +- 16 files changed, 2833 insertions(+), 22 deletions(-) create mode 100644 less/update/components/actor-global.less create mode 100644 less/update/components/actor-themes.less diff --git a/less/update/_variables-dark.less b/less/update/_variables-dark.less index db200f10..97cbfd1c 100644 --- a/less/update/_variables-dark.less +++ b/less/update/_variables-dark.less @@ -110,4 +110,37 @@ @foundryNavContextShadow: darken(@colorBlue, 20); @foundryNavContextBorderColor: @colorBlue; -@foundryPlayersArrowColor: @colorLightGray; \ No newline at end of file +@foundryPlayersArrowColor: @colorLightGray; + +@actorPanelBgColor: white; +@actorNameColor: @colorRed; +@actorXPBarBorder: @colorGray; +@actorXPBarBackground: @colorPaleBlue; +@actorXPBarColor: @colorBlue; +@actorProficiencyTextColor: @colorGray; +@actorAttributeInputColor: @colorGray; +@actorSeparatorColor: @colorLightGray; +@actorAttributeButtonBorder: @colorPaleGray; +@actorAttributeButtonBorderHover: @colorRed; +@actorNavigationTabsColor: @colorGray; +@actorNavigationTabsActiveColor: @colorRed; +@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1); +@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1); +@actorFilterBorderColor: @colorLightGray; +@actorFilterHoverColor: @colorRed; +@actorFilterActiveColor: @colorRed; +@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10); +@actorGroupListTitleBorderColor: @colorBlue; +@actorGroupListColumnBorderColor: @colorPaleGray; +@actorGroupListAltRowColor: lighten(@colorPaleGray, 10); +@actorItemRollableD20Color: @colorGray; +@actorItemRollableD20HoverColor: @colorRed; +@actorItemControlToggleColor: @colorLightGray; +@actorAbilityScoreColor: @colorGray; +@actorAbilityBorderColor: @colorPaleGray; +@actorSkillsAltRowColor: lighten(@colorPaleGray, 10); +@actorEncumbranceLabelBackground: @colorPaleGray; +@actorEncumbranceTextColor: @colorBlack; +@actorEncumbranceBorderColor: @colorBlack; +@actorEncumbranceBarBgColor: @colorPaleBlue; +@actorEncumbranceBarColor: @colorBlue; \ No newline at end of file diff --git a/less/update/_variables-light.less b/less/update/_variables-light.less index dd46b2a6..8a9e849d 100644 --- a/less/update/_variables-light.less +++ b/less/update/_variables-light.less @@ -107,4 +107,37 @@ @foundryNavContextShadow: darken(@colorBlue, 20); @foundryNavContextBorderColor: @colorBlue; -@foundryPlayersArrowColor: @colorLightGray; \ No newline at end of file +@foundryPlayersArrowColor: @colorLightGray; + +@actorPanelBgColor: white; +@actorNameColor: @colorRed; +@actorXPBarBorder: @colorGray; +@actorXPBarBackground: @colorPaleBlue; +@actorXPBarColor: @colorBlue; +@actorProficiencyTextColor: @colorGray; +@actorAttributeInputColor: @colorGray; +@actorSeparatorColor: @colorLightGray; +@actorAttributeButtonBorder: @colorPaleGray; +@actorAttributeButtonBorderHover: @colorRed; +@actorNavigationTabsColor: @colorGray; +@actorNavigationTabsActiveColor: @colorRed; +@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1); +@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1); +@actorFilterBorderColor: @colorLightGray; +@actorFilterHoverColor: @colorRed; +@actorFilterActiveColor: @colorRed; +@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10); +@actorGroupListTitleBorderColor: @colorBlue; +@actorGroupListColumnBorderColor: @colorPaleGray; +@actorGroupListAltRowColor: lighten(@colorPaleGray, 10); +@actorItemRollableD20Color: @colorGray; +@actorItemRollableD20HoverColor: @colorRed; +@actorItemControlToggleColor: @colorLightGray; +@actorAbilityScoreColor: @colorGray; +@actorAbilityBorderColor: @colorPaleGray; +@actorSkillsAltRowColor: lighten(@colorPaleGray, 10); +@actorEncumbranceLabelBackground: @colorPaleGray; +@actorEncumbranceTextColor: @colorBlack; +@actorEncumbranceBorderColor: @colorBlack; +@actorEncumbranceBarBgColor: @colorPaleBlue; +@actorEncumbranceBarColor: @colorBlue; \ No newline at end of file diff --git a/less/update/components/actor-global.less b/less/update/components/actor-global.less new file mode 100644 index 00000000..ea952caa --- /dev/null +++ b/less/update/components/actor-global.less @@ -0,0 +1,988 @@ + +.panel { + padding: 8px; + border-radius: 4px; + .dropShadow1(); +} +.sw5e.sheet.actor.character { + min-width: 780px; + min-height: 720px; +} +.sw5e.sheet .window-content { + .openSans(12px); + + input, + select { + height: 24px; + line-height: 20px; + padding: 1px 4px; + &:hover { + box-shadow: none; + } + &:focus { + box-shadow: none; + } + } + + button { + cursor: pointer; + &:hover, + &:focus { + box-shadow: none; + } + } +} + +.sw5e.sheet.actor { + + .swalt-sheet { + display: grid; + grid-template-rows: 182px 40px auto; + + section>h1 { + .russoOne(17px); + text-align: left; + margin-bottom: 4px; + } + + header { + display: grid; + grid-template-rows: 1fr 26px auto; + grid-template-columns: 128px 1fr; + column-gap: 8px; + row-gap: 8px; + + img { + grid-column-start: 1; + grid-row-start: 1; + grid-row-end: 4; + } + + h1.character-name { + grid-row: 1; + grid-column: 2; + margin: 0; + border: none; + align-self: center; + height: auto; + + .russoOne(32px); + text-transform: uppercase; + height: auto; + + input[type="text"] { + .russoOne(32px); + text-transform: uppercase; + height: auto; + + &:focus { + text-transform: none; + } + } + } + + .level-experience { + grid-row: 1; + grid-column: 3; + + .charlevel { + .russoOne(17px); + text-align: right; + } + + .experience { + .russoOne(17px); + text-align: right; + line-height: 26px; + input { + display: inline-block; + width: 120px; + text-align: right; + } + } + + .xpbar { + height: 8px; + + .bar { + display: block; + height: 100%; + } + } + } + + .summary { + grid-column-start: 2; + grid-row-start: 2; + grid-column-end: 4; + display: grid; + grid-template-rows: 1fr; + grid-template-columns: repeat(4, 1fr); + + input, + .proficiency { + display: inline; + height: auto; + .russoOne(17px); + line-height: 24px; + } + + .proficiency { + line-height: 26px; + } + } + + .attributes { + grid-column-start: 2; + grid-row-start: 3; + grid-column-end: 4; + display: grid; + grid-template-columns: repeat(5, 1fr); + column-gap: 12px; + + h1 { + text-align: center; + } + + .attribute-value, + .attribute-value input { + .russoOne(22px); + text-align: center; + line-height: 1; + + } + + .attribute-value { + + &.multiple { + display: grid; + grid-template-columns: auto 14px auto; + + input { + width: 100%; + } + } + + input { + display: inline-block; + } + + .value-number { + display: inline-block; + text-align: right; + + padding: 0px 3px; + + &:last-child { + text-align: left; + } + } + + span.value-number { + padding: 1px 4px; + } + + .initiative { + padding: 1px 4px; + display: block; + } + } + + footer { + + + button { + background: none; + padding: 1px 3px; + font-size: inherit; + line-height: inherit; + display: inline-block; + width: auto; + + &:hover { + font-weight: 400; + } + } + + &.hit-points, + &.hit-dice, + &.initiative { + display: grid; + grid-template-columns: 1fr 1fr; + column-gap: 8px; + margin-top: 0; + input, + button { + //border: 1px solid @colorPaleGray; + width: 100%; + text-align: center; + } + + button { + + font-weight: 400; + margin-top: 2px; + + } + + span { + display: block; + padding: 3px 4px; + } + } + + &.speed { + margin-top: 0; + input { + text-align: center; + } + } + } + } + } + + nav.sheet-navigation { + display: grid; + grid-template-columns: repeat(6, 1fr); + column-gap: 16px; + margin: 4px 0; + + .item { + background: none; + border: none; + border-bottom: 3px solid transparent; + border-radius: 0; + margin: 0; + padding: 0 0 8px; + line-height: 1.6; + .russoOne(16px); + } + } + .editor { + position: static; + min-height: 32px; + padding: 0; + .editor-edit { + display: block; + font-size: 12px; + background: none; + border: none; + padding: 0; + box-shadow: none; + top: 0; + right: 0; + &:hover { + text-shadow: none; + } + } + .tox.tox-tinymce { + height: 250px !important; + } + } + .tab { + display: none; + + &.active { + display: block; + } + + .filter-list { + list-style: none; + margin: 0; + padding: 0 0 8px; + display: flex; + flex-direction: row; + justify-content: flex-end; + max-width: 100%; + + .filter-title { + display: none; + font-weight: bold; + width: 50px; + } + + .filter-item { + width: 100px; + text-align: center; + + &+.filter-item { + margin-left: 12px; + } + + &:hover { + text-shadow: none; + } + + } + } + + .group-list-header { + display: grid; + padding-right: 6px; + } + + .group-list-title { + h3 { + .russoOne(17px); + margin: 4px 0 0; + padding: 0 4px; + display: inline; + border: none; + } + + .item-create { + font-size: 12px; + i { + font-size: 10px; + } + &:hover { + text-shadow: none; + } + } + + } + + .group-list-header, + .group-list { + .item-detail { + text-align: left; + padding: 4px; + } + } + + .group-list { + height: 100%; + overflow-y: scroll; + & > li:first-child { + padding-top: 8px; + } + } + + .group-list, + .group-list ol { + list-style: none; + margin: 0 0 8px; + padding: 0; + + .item-uses { + input { + display: inline-block; + width: 32px; + margin-right: 0; + text-align: right; + } + span { + padding-left: 8px; + } + .slot-max-override { + margin-left: 5px; + &:hover { + text-shadow: none; + } + } + } + li.item { + display: grid; + + h4 { + .openSans(13px, 700); + letter-spacing: 0; + } + .item-name, + .item-detail { + padding: 4px; + line-height: 30px; + } + + .item-name { + display: flex; + + .item-image { + width: 30px; + height: 30px; + position: relative; + background-size: contain; + &::before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: '\f6cf'; + opacity: 0; + position: absolute; + top: 0; + left: 2px; + font-size: 26px; + } + + } + + h4 { + line-height: 30px; + display: inline-block; + height: 30px; + padding-left: 8px; + margin: 0; + } + + &.rollable:hover { + text-shadow: none; + + .item-image { + background-image: none !important; + + &::before { + opacity: 1; + } + + &:hover { + background-image: none !important; + + &::before { + opacity: 1; + } + } + } + } + } + + .item-summary { + grid-column-start: 1; + grid-column-end: -1; + padding: 4px 4px 4px 38px; + } + + .item-controls { + display: flex; + flex-direction: row; + justify-content: space-evenly; + } + + .item-control { + &:hover { + text-shadow: none; + } + + } + + } + } + + .group-grid-inventory { + grid-template-columns: auto 60px 100px 100px 100px; + + &.group-list-title { + .item-controls { + grid-column-start: 5; + } + } + } + .group-grid-features { + grid-template-columns: auto 100px 100px 100px; + &.group-list-title { + display: grid; + } + .item-controls { + grid-column-start: 4; + } + + } + .group-grid-powers { + grid-template-columns: auto repeat(5, 100px); + &.group-list-title { + display: grid; + align-items: end; + .item-detail { + padding: 0 4px; + } + } + + + } + .group-grid-fav-items { + grid-template-columns: auto 60px 30px 30px 50px; + &.group-list-title { + display: grid; + align-items: end; + .item-detail { + padding: 0 4px; + } + } + } + + } + + .tab > .panel { + height: 100%; + overflow: hidden; + display: grid; + } + + .tab.attributes { + &.active { + display: grid; + } + + grid-template-columns: 350px auto; + grid-template-rows: auto; + column-gap: 16px; + + .abilities { + display: grid; + grid-template-columns: 128px auto; + grid-template-rows: auto; + column-gap: 12px; + + ol { + list-style: none; + margin: 0; + padding: 0; + } + + .scores { + li { + border-radius: 0; + padding: 4px; + &+li { + border-top: 0 !important; + } + &:first-child { + border-radius: 4px 4px 0 0; + } + + &:last-child { + border-bottom-width: 1px; + border-radius: 0 0 4px 4px; + } + + h2 { + .russoOne(14px); + border: none; + text-align: center; + margin: 0; + + &:hover { + text-shadow: none; + } + } + + .ability-score { + .russoOne(22px); + text-align: center; + width: 48px; + margin: 0 auto; + height: 24px; + display: block; + } + + .ability-modifiers { + margin: 0 -4px -4px; + display: grid; + grid-template-columns: 28px auto 28px; + + .ability-mod, + .ability-save { + padding: 2px 4px; + display: block; + font-weight: bold; + font-size: 13px; + text-align: center; + border-style: solid; + } + + .ability-mod { + border-width: 1px 1px 0 0; + border-radius: 0 4px 0 0; + } + + .ability-save { + border-width: 1px 0 0 1px; + border-radius: 4px 0 0 0; + } + + .proficiency-toggle { + border: none; + background: none; + line-height: 1; + } + } + + } + } + + .skills { + li { + display: grid; + grid-template-columns: 28px auto 18px 28px; + align-items: center; + + + .proficiency-toggle { + border: none; + background: none; + height: 23px; + line-height: 23px; + padding: 0 4px; + } + + .skill-name { + &:hover { + text-shadow: none; + } + } + + .skill-ability { + text-transform: capitalize; + } + + .skill-mod { + text-align: right; + padding-right: 4px; + } + } + } + } + + .traits-resources { + grid-template-rows: 32px auto; + nav { + margin-bottom: 4px; + + button { + display: inline-block; + width: auto; + background: none; + border: none; + border-bottom: 3px solid transparent; + border-radius: 0; + margin: 0; + padding: 0 4px; + line-height: 1.6; + .russoOne(14px); + + &+button { + margin-left: 8px; + } + } + } + + section.traits { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 16px; + row-gap: 8px; + + input, + select { + display: block; + width: 100%; + text-align: left; + } + + label { + font-size: 13px; + } + + .trait-selector { + background: none; + border: none; + display: inline; + width: auto; + &:hover { + text-shadow: none; + } + i.fas { + float: none; + &:hover { + text-shadow: none; + } + + } + + } + + .languages { + grid-column-end: span 2; + label { + &:hover { + cursor: pointer; + } + } + } + + .traits-list { + li { + display: inline; + + &::after { + content: ','; + } + + &:last-child::after { + content: ''; + } + } + } + + ul.passives { + grid-column-end: span 2; + list-style: none; + padding: 0; + margin: 0; + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 4px; + row-gap: 4px; + + strong { + font-size: 13px; + + } + } + } + + section.resources { + .resource-items { + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 12px; + + .resource { + + h1 { + border: none; + margin: 0; + + input { + font-family: 'Russo One'; + font-size: 16px; + font-weight: 400; + text-align: center; + margin-bottom: 4px; + border-radius: 0; + } + } + + .attribute-value, + .attribute-value input { + .russoOne(22px); + text-align: center; + line-height: 1; + } + + .attribute-value { + display: grid; + grid-template-columns: auto 14px auto; + + input { + display: block; + width: 100%; + } + + .value-number { + display: block; + width: 100%; + text-align: right; + padding: 0px 3px; + &:last-child { + text-align: left; + } + } + + span.value-number { + padding: 1px 4px; + } + + } + + .attribute-footer { + display: grid; + grid-template-columns: 1fr 1fr; + + label { + text-align: center; + } + + } + } + } + + .counters { + border: none; + margin: 16px 0; + display: grid; + grid-template-columns: repeat(3, 1fr); + + .counter { + height: auto; + border: none; + text-align: center; + + h4 { + font-size: 13px; + + //display: inline; + &.rollable { + &:hover { + text-shadow: none; + } + } + } + + .counter-value { + display: inline; + text-align: left; + } + + input[type="text"] { + display: inline-block; + width: 10px; + } + + input[type="checkbox"] { + display: inline-block; + } + + .death-success, + .death-fail { + display: inline-block; + + } + + .death-success { + margin-right: 8px; + + } + + } + } + } + } + } + + .tab.inventory { + &>.panel { + grid-template-rows: 32px 32px 24px auto; + } + + .currency-encumbrance { + display: grid; + grid-template-columns: 200px auto; + margin-bottom: 8px; + align-items: center; + } + + .currency { + .russoOne(14px); + + input { + display: inline-block; + width: 128px; + .openSans(13px); + } + } + + .encumbrance-wrapper { + display: grid; + grid-template-columns: 400px 100px; + width: 500px; + justify-self: end; + + .encumbrance-label { + font-size: 12px; + line-height: 14px; + width: 100%; + text-shadow: none; + padding: 0; + margin: 0; + height: auto; + text-align: center; + margin-left: -2px; + border-radius: 0 4px 4px 0; + } + + .encumbrance { + position: relative; + border-radius: 4px; + height: 16px; + margin: 0; + width: 100%; + + .encumbrance-bar { + position: absolute; + top: 0; + left: 0; + height: 100%; + border-radius: 4px; + border: none; + } + } + } + } + .tab.features { + &>.panel { + grid-template-rows: 24px auto; + } + } + .tab.powerbook { + &>.panel { + grid-template-rows: 32px 24px 24px auto; + } + .powercasting-ability { + display: grid; + grid-template-columns: 2fr 1fr 1fr; + label, h3 { + .russoOne(13px); + border-bottom: none; + } + .power-dc { + grid-column-start: 3; + } + } + } + .tab.biography { + grid-template-columns: 1fr 2fr; + grid-template-rows: 100%; + column-gap: 16px; + padding-bottom: 8px; + max-width: 100%; + &.active { + display: grid; + } + &>.panel { + display: block; + overflow-y: auto; + } + section { + position: relative; + } + + } + .tab.notes { + &>.panel { + display: block; + overflow-y: auto; + } + section { + position: relative; + &>input { + .russoOne(16px); + text-align: left; + margin-bottom: 4px; + } + .editor .editor-edit { + top: 3px; + } + } + } + &.limited { + grid-template-rows: 144px auto; + row-gap: 8px; + header { + grid-template-rows: 1fr; + } + + .tab.biography { + grid-template-columns: 100%; + } + } + } +} \ No newline at end of file diff --git a/less/update/components/actor-themes.less b/less/update/components/actor-themes.less new file mode 100644 index 00000000..2110214e --- /dev/null +++ b/less/update/components/actor-themes.less @@ -0,0 +1,397 @@ +.panel { + background: @actorPanelBgColor; +} + +.sw5e.sheet .window-content { + color: @colorBlack; + background: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6); + input, + select { + color: @colorBlack; + &:hover { + border-color: @inputBorderHover; + } + + &:focus { + border-color: @inputBorderFocus; + } + } + + button { + + &:hover, + &:focus { + border-color: @inputBorderFocus; + } + } +} + +.sw5e.sheet.actor { + color: @colorBlack; + .swalt-sheet { + section>h1 { + border-bottom: 2px solid @colorBlue; + } + + header { + + h1.character-name { + color: @actorNameColor; + + input[type="text"] { + color: @actorNameColor; + } + } + + .level-experience { + + .xpbar { + border: 1px solid @actorXPBarBorder; + background-color: @actorXPBarBackground; + + .bar { + background-color: @actorXPBarColor; + } + } + } + + .summary { + + input, + .proficiency { + color: @actorProficiencyTextColor; + } + } + + .attributes { + + .attribute-value, + .attribute-value input { + color: @actorAttributeInputColor; + } + + .attribute-value { + + .value-separator { + color: @actorSeparatorColor; + } + } + + footer { + button { + border: 1px solid @actorAttributeButtonBorder; + + &:hover { + color: @actorAttributeButtonBorderHover; + } + } + + &.hit-points, + &.hit-dice, + &.initiative { + button { + border: 1px solid @actorAttributeButtonBorder; + color: @colorRed; + + &:hover { + border-color: @actorAttributeButtonBorderHover; + } + } + + } + + } + } + } + + nav.sheet-navigation { + .item { + color: @actorNavigationTabsColor; + + &.active { + color: @actorNavigationTabsActiveColor; + border-bottom-color: @actorNavigationTabsActiveColor; + + &:hover { + background: @actorNavigationTabsHoverBgColor; + } + } + + &:hover { + background: @actorNavigationTabsHoverBgColor; + } + } + } + + .tab { + + .filter-list { + + .filter-item { + border-bottom: 2px solid @actorFilterBorderColor; + + &:hover { + color: @actorFilterHoverColor; + } + + &.active { + color: @actorFilterActiveColor; + border-bottom-color: @actorFilterActiveColor; + } + } + } + + .group-list-header { + background: @actorGroupListHeaderBgColor; + } + + .group-list-title { + border-bottom: 1px solid @actorGroupListTitleBorderColor; + } + + .group-list-header, + .group-list { + .item-detail { + border-left: 1px solid @actorGroupListColumnBorderColor; + } + } + + .group-list, + .group-list ol { + li.item { + &:nth-child(even) { + background-color: @actorGroupListAltRowColor; + } + + h4 { + color: @colorBlack; + } + + + .item-name { + + .item-image { + + &::before { + color: @actorItemRollableD20Color; + } + + } + + + &.rollable:hover { + + .item-image { + &:hover { + &::before { + color: @actorItemRollableD20HoverColor; + } + } + } + } + } + + .item-control { + &:hover { + color: @linkColor !important; + } + + &.item-toggle { + color: @actorItemControlToggleColor; + + &.active { + color: @colorBlack; + } + } + } + + } + } + + + + } + + + .tab.attributes { + .abilities { + + .scores { + li { + border: 1px solid @actorAbilityBorderColor; + + h2 { + &:hover { + color: @linkColor; + } + } + + .ability-score { + color: @actorAbilityScoreColor; + } + + .ability-modifiers { + + .ability-mod, + .ability-save { + border-color: @actorAbilityBorderColor; + } + + } + + } + } + + .skills { + li { + &:nth-child(even) { + background-color: @actorSkillsAltRowColor; + } + + + .skill-name { + &:hover { + color: @linkColor; + } + } + } + } + } + + .traits-resources { + nav { + button { + color: @actorNavigationTabsColor; + + &.active { + color: @actorNavigationTabsActiveColor; + border-bottom-color: @actorNavigationTabsActiveColor; + + &:hover { + background: @actorNavigationTabsActiveHoverBgColor; + } + } + + &:hover { + background: @actorNavigationTabsHoverBgColor; + } + + } + } + + section.traits { + .trait-selector { + i.fas { + color: @linkColor; + } + } + + .languages { + label { + &:hover { + color: @linkColor; + } + } + } + + + } + + section.resources { + .resource-items { + .resource { + h1 { + + input { + color: @headingColor; + border-bottom: 2px solid @headerBorderColor; + } + } + + .attribute-value, + .attribute-value input { + color: @actorAttributeInputColor; + } + + .attribute-value { + .value-separator { + color: @actorSeparatorColor; + } + + } + } + } + + .counters { + .counter { + h4 { + &.rollable { + &:hover { + color: @linkColor; + } + } + } + + + .death-success { + i { + color: @colorGreen; + } + } + + .death-fail { + i { + color: @colorRed; + } + } + } + } + } + } + } + + .tab.inventory { + .currency { + color: @headingColor; + } + + .encumbrance-wrapper { + .encumbrance-label { + background: @actorEncumbranceLabelBackground; + color: @actorEncumbranceTextColor; + border: 1px solid @actorEncumbranceBorderColor; + } + + .encumbrance { + background: @actorEncumbranceBarBgColor; + .encumbrance-bar { + background: @actorEncumbranceBarColor; + } + } + } + } + + + .tab.powerbook { + .powercasting-ability { + label, + h3 { + color: @headingColor; + + span { + color: @colorBlack; + } + } + } + } + + .tab.notes { + section { + &>input { + color: @headingColor; + border-bottom: 2px solid @headerBorderColor; + } + } + } + } +} \ No newline at end of file diff --git a/less/update/components/foundry-app-window-themes.less b/less/update/components/foundry-app-window-themes.less index c43a1834..873feb1a 100644 --- a/less/update/components/foundry-app-window-themes.less +++ b/less/update/components/foundry-app-window-themes.less @@ -2,7 +2,7 @@ border-radius: 4px; border: none; .dropShadow2(); - header { + & > header { background: @windowHeaderBackground; border-radius: 4px 4px 0 0; border: none; @@ -16,6 +16,13 @@ margin-top: 8px; } } + &.minimized { + & > header, & > .window-header { + border: none; + border-radius: 4px; + margin: 0; + } + } } #client-settings { diff --git a/less/update/components/foundry-nav-themes.less b/less/update/components/foundry-nav-themes.less index daa1a47a..890e1a26 100644 --- a/less/update/components/foundry-nav-themes.less +++ b/less/update/components/foundry-nav-themes.less @@ -2,9 +2,9 @@ #nav-toggle { background: @foundryNavBgColor; color: @foundryNavTextColor; - .nav-item { + transform: rotate(-90deg); - } + } .nav-item { border: 1px solid @foundryNavBorderColor; @@ -39,6 +39,7 @@ border: 1px solid @foundryNavBorderColor; box-shadow: none; &:hover { + background: @foundryNavBgColor; box-shadow: 0 0 8px @foundryNavContextShadow; } &.active { @@ -55,8 +56,9 @@ background: @sidebarTabBackground; border: none; margin: 0; - padding: 8px; + padding: 0 8px; font-size: 17px; + line-height: 30px; .dropShadow1(); border-radius: 4px 4px 0 0; .players-mode { diff --git a/less/update/components/sidebar-global.less b/less/update/components/sidebar-global.less index 3c68e11c..9d669a4a 100644 --- a/less/update/components/sidebar-global.less +++ b/less/update/components/sidebar-global.less @@ -1,11 +1,22 @@ #sidebar { border: none; //1px solid @colorBlue; + &.collapsed { + #sidebar-tabs { + min-height: 370px; + justify-content: center; + & > .item.active { + border: none; + } + } + } } #sidebar-tabs { border: none; box-shadow: none; + justify-content: space-between; .dropShadow1(); + .item { font-size: 16px; } @@ -15,6 +26,7 @@ background: none; text-shadow: none; } + } /*----------- diff --git a/less/update/sw5e-dark.less b/less/update/sw5e-dark.less index 49b59659..aef08059 100644 --- a/less/update/sw5e-dark.less +++ b/less/update/sw5e-dark.less @@ -43,4 +43,5 @@ body.dark-theme { @import "components/sidebar-themes.less"; @import "components/foundry-nav-themes.less"; @import "components/foundry-app-window-themes.less"; + @import "components/actor-themes.less"; } \ No newline at end of file diff --git a/less/update/sw5e-global.less b/less/update/sw5e-global.less index d32716d1..6f73a9c0 100644 --- a/less/update/sw5e-global.less +++ b/less/update/sw5e-global.less @@ -154,9 +154,10 @@ a { position: absolute; font-family: "Aurebesh", sans-serif; font-size: 13px; - color: @colorBlack; + color: @colorGray; animation: none; - opacity: 0.7; + opacity: 0.8; + text-shadow: 0 0 8px @colorBlue; } &::before { content: "GAME"; @@ -172,6 +173,7 @@ a { } @import "components/forms-global.less"; @import "components/sidebar-global.less"; +@import "components/actor-global.less"; @keyframes pause-spin { from { diff --git a/less/update/sw5e-light.less b/less/update/sw5e-light.less index 9f17669a..7e36b236 100644 --- a/less/update/sw5e-light.less +++ b/less/update/sw5e-light.less @@ -43,4 +43,5 @@ body.light-theme { @import "components/sidebar-themes.less"; @import "components/foundry-nav-themes.less"; @import "components/foundry-app-window-themes.less"; + @import "components/actor-themes.less"; } \ No newline at end of file diff --git a/module/actor/sheets/newSheet/character.js b/module/actor/sheets/newSheet/character.js index 94ba7625..40ed4eaf 100644 --- a/module/actor/sheets/newSheet/character.js +++ b/module/actor/sheets/newSheet/character.js @@ -623,4 +623,9 @@ async function addSubTabs(app, html, data) { -} \ No newline at end of file +} + +Hooks.on("renderActorSheet5eCharacterNew", (app, html, data) => { + addFavorites(app, html, data); + addSubTabs(app, html, data); +}); \ No newline at end of file diff --git a/sw5e-dark.css b/sw5e-dark.css index d3d18263..629a0178 100644 --- a/sw5e-dark.css +++ b/sw5e-dark.css @@ -394,8 +394,6 @@ body.dark-theme #settings #settings-access { body.dark-theme #navigation #nav-toggle { background: rgba(126, 214, 247, 0.4); color: white; -} -body.dark-theme #navigation #nav-toggle .nav-item { transform: rotate(-90deg); } body.dark-theme #navigation .nav-item { @@ -431,6 +429,7 @@ body.dark-theme #controls .control-tool { } body.dark-theme #controls .scene-control:hover, body.dark-theme #controls .control-tool:hover { + background: rgba(126, 214, 247, 0.4); box-shadow: 0 0 8px #07516c; } body.dark-theme #controls .scene-control.active, @@ -447,8 +446,9 @@ body.dark-theme #players h3 { background: #2b2b2b; border: none; margin: 0; - padding: 8px; + padding: 0 8px; font-size: 17px; + line-height: 30px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); border-radius: 4px 4px 0 0; } @@ -476,7 +476,7 @@ body.dark-theme .window-app { border: none; box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); } -body.dark-theme .window-app header { +body.dark-theme .window-app > header { background: #2b2b2b; border-radius: 4px 4px 0 0; border: none; @@ -490,6 +490,12 @@ body.dark-theme .window-app .window-content { body.dark-theme .window-app .window-content footer { margin-top: 8px; } +body.dark-theme .window-app.minimized > header, +body.dark-theme .window-app.minimized > .window-header { + border: none; + border-radius: 4px; + margin: 0; +} body.dark-theme #client-settings nav.tabs { border: none; font-size: 17px; @@ -510,3 +516,218 @@ body.dark-theme #client-settings section.content { border: none; margin-top: 4px; } +body.dark-theme .panel { + background: white; +} +body.dark-theme .sw5e.sheet .window-content { + color: #1C1C1C; + background: linear-gradient(90deg, #afc6d6 0, #d6d6d6 30%, #d6d6d6 70%, #afc6d6); +} +body.dark-theme .sw5e.sheet .window-content input, +body.dark-theme .sw5e.sheet .window-content select { + color: #1C1C1C; +} +body.dark-theme .sw5e.sheet .window-content input:hover, +body.dark-theme .sw5e.sheet .window-content select:hover { + border-color: #4f4f4f; +} +body.dark-theme .sw5e.sheet .window-content input:focus, +body.dark-theme .sw5e.sheet .window-content select:focus { + border-color: #E81111; +} +body.dark-theme .sw5e.sheet .window-content button:hover, +body.dark-theme .sw5e.sheet .window-content button:focus { + border-color: #E81111; +} +body.dark-theme .sw5e.sheet.actor { + color: #1C1C1C; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet section > h1 { + border-bottom: 2px solid #0d99cc; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name input[type="text"] { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar { + border: 1px solid #4f4f4f; + background-color: #afc6d6; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar { + background-color: #0d99cc; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary input, +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency { + color: #4f4f4f; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value, +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input { + color: #4f4f4f; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator { + color: #828282; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button { + border: 1px solid #D6D6D6; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button:hover { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button, +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button, +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button { + border: 1px solid #D6D6D6; + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button:hover, +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button:hover, +body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button:hover { + border-color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item { + color: #4f4f4f; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active { + color: #E81111; + border-bottom-color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover { + background: rgba(79, 79, 79, 0.1); +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover { + background: rgba(79, 79, 79, 0.1); +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item { + border-bottom: 2px solid #828282; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item:hover { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item.active { + color: #E81111; + border-bottom-color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header { + background: #f0f0f0; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-title { + border-bottom: 1px solid #0d99cc; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header .item-detail, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list .item-detail { + border-left: 1px solid #D6D6D6; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item:nth-child(even), +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item:nth-child(even) { + background-color: #f0f0f0; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item h4, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item h4 { + color: #1C1C1C; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name .item-image::before, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image::before { + color: #4f4f4f; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image:hover::before, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover::before { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control:hover, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control:hover { + color: #E81111 !important; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle { + color: #828282; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle.active, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle.active { + color: #1C1C1C; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li { + border: 1px solid #D6D6D6; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li h2:hover { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score { + color: #4f4f4f; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-mod, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save { + border-color: #D6D6D6; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li:nth-child(even) { + background-color: #f0f0f0; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .skill-name:hover { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button { + color: #4f4f4f; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active { + color: #E81111; + border-bottom-color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active:hover { + background: rgba(232, 17, 17, 0.1); +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover { + background: rgba(79, 79, 79, 0.1); +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .languages label:hover { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource h1 input { + color: #E81111; + border-bottom: 2px solid #0d99cc; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input { + color: #4f4f4f; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator { + color: #828282; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter h4.rollable:hover { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-success i { + color: #0dce0d; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-fail i { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .currency { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance-label { + background: #D6D6D6; + color: #1C1C1C; + border: 1px solid #1C1C1C; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance { + background: #afc6d6; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance .encumbrance-bar { + background: #0d99cc; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 { + color: #E81111; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label span, +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 span { + color: #1C1C1C; +} +body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input { + color: #E81111; + border-bottom: 2px solid #0d99cc; +} diff --git a/sw5e-global.css b/sw5e-global.css index 59321129..a3dc9f67 100644 --- a/sw5e-global.css +++ b/sw5e-global.css @@ -176,9 +176,10 @@ a:active { position: absolute; font-family: "Aurebesh", sans-serif; font-size: 13px; - color: #1C1C1C; + color: #4f4f4f; animation: none; - opacity: 0.7; + opacity: 0.8; + text-shadow: 0 0 8px #0d99cc; } #pause h3::before { content: "GAME"; @@ -328,9 +329,17 @@ input[type="reset"]:disabled { #sidebar { border: none; } +#sidebar.collapsed #sidebar-tabs { + min-height: 370px; + justify-content: center; +} +#sidebar.collapsed #sidebar-tabs > .item.active { + border: none; +} #sidebar-tabs { border: none; box-shadow: none; + justify-content: space-between; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); } #sidebar-tabs .item { @@ -672,6 +681,882 @@ input[type="reset"]:disabled { padding: 0 8px; margin: 0 0 8px; } +.panel { + padding: 8px; + border-radius: 4px; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} +.sw5e.sheet.actor.character { + min-width: 780px; + min-height: 720px; +} +.sw5e.sheet .window-content { + font-family: 'Open Sans'; + font-size: 12px; + font-weight: 400; +} +.sw5e.sheet .window-content input, +.sw5e.sheet .window-content select { + height: 24px; + line-height: 20px; + padding: 1px 4px; +} +.sw5e.sheet .window-content input:hover, +.sw5e.sheet .window-content select:hover { + box-shadow: none; +} +.sw5e.sheet .window-content input:focus, +.sw5e.sheet .window-content select:focus { + box-shadow: none; +} +.sw5e.sheet .window-content button { + cursor: pointer; +} +.sw5e.sheet .window-content button:hover, +.sw5e.sheet .window-content button:focus { + box-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet { + display: grid; + grid-template-rows: 182px 40px auto; +} +.sw5e.sheet.actor .swalt-sheet section > h1 { + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + letter-spacing: 0.5px; + text-align: left; + margin-bottom: 4px; +} +.sw5e.sheet.actor .swalt-sheet header { + display: grid; + grid-template-rows: 1fr 26px auto; + grid-template-columns: 128px 1fr; + column-gap: 8px; + row-gap: 8px; +} +.sw5e.sheet.actor .swalt-sheet header img { + grid-column-start: 1; + grid-row-start: 1; + grid-row-end: 4; +} +.sw5e.sheet.actor .swalt-sheet header h1.character-name { + grid-row: 1; + grid-column: 2; + margin: 0; + border: none; + align-self: center; + font-family: 'Russo One'; + font-size: 32px; + font-weight: 400; + letter-spacing: 0.5px; + text-transform: uppercase; + height: auto; +} +.sw5e.sheet.actor .swalt-sheet header h1.character-name input[type="text"] { + font-family: 'Russo One'; + font-size: 32px; + font-weight: 400; + letter-spacing: 0.5px; + text-transform: uppercase; + height: auto; +} +.sw5e.sheet.actor .swalt-sheet header h1.character-name input[type="text"]:focus { + text-transform: none; +} +.sw5e.sheet.actor .swalt-sheet header .level-experience { + grid-row: 1; + grid-column: 3; +} +.sw5e.sheet.actor .swalt-sheet header .level-experience .charlevel { + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + letter-spacing: 0.5px; + text-align: right; +} +.sw5e.sheet.actor .swalt-sheet header .level-experience .experience { + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + letter-spacing: 0.5px; + text-align: right; + line-height: 26px; +} +.sw5e.sheet.actor .swalt-sheet header .level-experience .experience input { + display: inline-block; + width: 120px; + text-align: right; +} +.sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar { + height: 8px; +} +.sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar { + display: block; + height: 100%; +} +.sw5e.sheet.actor .swalt-sheet header .summary { + grid-column-start: 2; + grid-row-start: 2; + grid-column-end: 4; + display: grid; + grid-template-rows: 1fr; + grid-template-columns: repeat(4, 1fr); +} +.sw5e.sheet.actor .swalt-sheet header .summary input, +.sw5e.sheet.actor .swalt-sheet header .summary .proficiency { + display: inline; + height: auto; + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + letter-spacing: 0.5px; + line-height: 24px; +} +.sw5e.sheet.actor .swalt-sheet header .summary .proficiency { + line-height: 26px; +} +.sw5e.sheet.actor .swalt-sheet header .attributes { + grid-column-start: 2; + grid-row-start: 3; + grid-column-end: 4; + display: grid; + grid-template-columns: repeat(5, 1fr); + column-gap: 12px; +} +.sw5e.sheet.actor .swalt-sheet header .attributes h1 { + text-align: center; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value, +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input { + font-family: 'Russo One'; + font-size: 22px; + font-weight: 400; + letter-spacing: 0.5px; + text-align: center; + line-height: 1; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value.multiple { + display: grid; + grid-template-columns: auto 14px auto; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value.multiple input { + width: 100%; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input { + display: inline-block; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-number { + display: inline-block; + text-align: right; + padding: 0px 3px; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-number:last-child { + text-align: left; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value span.value-number { + padding: 1px 4px; +} +.sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .initiative { + padding: 1px 4px; + display: block; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer button { + background: none; + padding: 1px 3px; + font-size: inherit; + line-height: inherit; + display: inline-block; + width: auto; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer button:hover { + font-weight: 400; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative { + display: grid; + grid-template-columns: 1fr 1fr; + column-gap: 8px; + margin-top: 0; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points input, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice input, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative input, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button { + width: 100%; + text-align: center; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button { + font-weight: 400; + margin-top: 2px; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points span, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice span, +.sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative span { + display: block; + padding: 3px 4px; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer.speed { + margin-top: 0; +} +.sw5e.sheet.actor .swalt-sheet header .attributes footer.speed input { + text-align: center; +} +.sw5e.sheet.actor .swalt-sheet nav.sheet-navigation { + display: grid; + grid-template-columns: repeat(6, 1fr); + column-gap: 16px; + margin: 4px 0; +} +.sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item { + background: none; + border: none; + border-bottom: 3px solid transparent; + border-radius: 0; + margin: 0; + padding: 0 0 8px; + line-height: 1.6; + font-family: 'Russo One'; + font-size: 16px; + font-weight: 400; + letter-spacing: 0.5px; +} +.sw5e.sheet.actor .swalt-sheet .editor { + position: static; + min-height: 32px; + padding: 0; +} +.sw5e.sheet.actor .swalt-sheet .editor .editor-edit { + display: block; + font-size: 12px; + background: none; + border: none; + padding: 0; + box-shadow: none; + top: 0; + right: 0; +} +.sw5e.sheet.actor .swalt-sheet .editor .editor-edit:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .editor .tox.tox-tinymce { + height: 250px !important; +} +.sw5e.sheet.actor .swalt-sheet .tab { + display: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.active { + display: block; +} +.sw5e.sheet.actor .swalt-sheet .tab .filter-list { + list-style: none; + margin: 0; + padding: 0 0 8px; + display: flex; + flex-direction: row; + justify-content: flex-end; + max-width: 100%; +} +.sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-title { + display: none; + font-weight: bold; + width: 50px; +} +.sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item { + width: 100px; + text-align: center; +} +.sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item + .filter-item { + margin-left: 12px; +} +.sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list-header { + display: grid; + padding-right: 6px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list-title h3 { + font-family: 'Russo One'; + font-size: 17px; + font-weight: 400; + letter-spacing: 0.5px; + margin: 4px 0 0; + padding: 0 4px; + display: inline; + border: none; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list-title .item-create { + font-size: 12px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list-title .item-create i { + font-size: 10px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list-title .item-create:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list-header .item-detail, +.sw5e.sheet.actor .swalt-sheet .tab .group-list .item-detail { + text-align: left; + padding: 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list { + height: 100%; + overflow-y: scroll; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list > li:first-child { + padding-top: 8px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol { + list-style: none; + margin: 0 0 8px; + padding: 0; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list .item-uses input, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol .item-uses input { + display: inline-block; + width: 32px; + margin-right: 0; + text-align: right; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list .item-uses span, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol .item-uses span { + padding-left: 8px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list .item-uses .slot-max-override, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol .item-uses .slot-max-override { + margin-left: 5px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list .item-uses .slot-max-override:hover, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol .item-uses .slot-max-override:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item { + display: grid; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item h4, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item h4 { + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 700; + letter-spacing: 0; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name, +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-detail, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-detail { + padding: 4px; + line-height: 30px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name { + display: flex; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name .item-image, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image { + width: 30px; + height: 30px; + position: relative; + background-size: contain; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name .item-image::before, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image::before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: '\f6cf'; + opacity: 0; + position: absolute; + top: 0; + left: 2px; + font-size: 26px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name h4, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name h4 { + line-height: 30px; + display: inline-block; + height: 30px; + padding-left: 8px; + margin: 0; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image { + background-image: none !important; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image::before, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image::before { + opacity: 1; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image:hover, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover { + background-image: none !important; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image:hover::before, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover::before { + opacity: 1; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-summary, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-summary { + grid-column-start: 1; + grid-column-end: -1; + padding: 4px 4px 4px 38px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-controls, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-controls { + display: flex; + flex-direction: row; + justify-content: space-evenly; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control:hover, +.sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-inventory { + grid-template-columns: auto 60px 100px 100px 100px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-inventory.group-list-title .item-controls { + grid-column-start: 5; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-features { + grid-template-columns: auto 100px 100px 100px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-features.group-list-title { + display: grid; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-features .item-controls { + grid-column-start: 4; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-powers { + grid-template-columns: auto repeat(5, 100px); +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-powers.group-list-title { + display: grid; + align-items: end; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-powers.group-list-title .item-detail { + padding: 0 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-fav-items { + grid-template-columns: auto 60px 30px 30px 50px; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-fav-items.group-list-title { + display: grid; + align-items: end; +} +.sw5e.sheet.actor .swalt-sheet .tab .group-grid-fav-items.group-list-title .item-detail { + padding: 0 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab > .panel { + height: 100%; + overflow: hidden; + display: grid; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes { + grid-template-columns: 350px auto; + grid-template-rows: auto; + column-gap: 16px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes.active { + display: grid; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities { + display: grid; + grid-template-columns: 128px auto; + grid-template-rows: auto; + column-gap: 12px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities ol { + list-style: none; + margin: 0; + padding: 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li { + border-radius: 0; + padding: 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li + li { + border-top: 0 !important; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li:first-child { + border-radius: 4px 4px 0 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li:last-child { + border-bottom-width: 1px; + border-radius: 0 0 4px 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li h2 { + font-family: 'Russo One'; + font-size: 14px; + font-weight: 400; + letter-spacing: 0.5px; + border: none; + text-align: center; + margin: 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li h2:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score { + font-family: 'Russo One'; + font-size: 22px; + font-weight: 400; + letter-spacing: 0.5px; + text-align: center; + width: 48px; + margin: 0 auto; + height: 24px; + display: block; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers { + margin: 0 -4px -4px; + display: grid; + grid-template-columns: 28px auto 28px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-mod, +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save { + padding: 2px 4px; + display: block; + font-weight: bold; + font-size: 13px; + text-align: center; + border-style: solid; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-mod { + border-width: 1px 1px 0 0; + border-radius: 0 4px 0 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save { + border-width: 1px 0 0 1px; + border-radius: 4px 0 0 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .proficiency-toggle { + border: none; + background: none; + line-height: 1; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li { + display: grid; + grid-template-columns: 28px auto 18px 28px; + align-items: center; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .proficiency-toggle { + border: none; + background: none; + height: 23px; + line-height: 23px; + padding: 0 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .skill-name:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .skill-ability { + text-transform: capitalize; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .skill-mod { + text-align: right; + padding-right: 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources { + grid-template-rows: 32px auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav { + margin-bottom: 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button { + display: inline-block; + width: auto; + background: none; + border: none; + border-bottom: 3px solid transparent; + border-radius: 0; + margin: 0; + padding: 0 4px; + line-height: 1.6; + font-family: 'Russo One'; + font-size: 14px; + font-weight: 400; + letter-spacing: 0.5px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button + button { + margin-left: 8px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 16px; + row-gap: 8px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits input, +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits select { + display: block; + width: 100%; + text-align: left; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits label { + font-size: 13px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector { + background: none; + border: none; + display: inline; + width: auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas { + float: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .languages { + grid-column-end: span 2; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .languages label:hover { + cursor: pointer; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .traits-list li { + display: inline; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .traits-list li::after { + content: ','; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .traits-list li:last-child::after { + content: ''; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits ul.passives { + grid-column-end: span 2; + list-style: none; + padding: 0; + margin: 0; + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 4px; + row-gap: 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits ul.passives strong { + font-size: 13px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items { + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 12px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource h1 { + border: none; + margin: 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource h1 input { + font-family: 'Russo One'; + font-size: 16px; + font-weight: 400; + text-align: center; + margin-bottom: 4px; + border-radius: 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value, +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input { + font-family: 'Russo One'; + font-size: 22px; + font-weight: 400; + letter-spacing: 0.5px; + text-align: center; + line-height: 1; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value { + display: grid; + grid-template-columns: auto 14px auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input { + display: block; + width: 100%; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-number { + display: block; + width: 100%; + text-align: right; + padding: 0px 3px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-number:last-child { + text-align: left; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value span.value-number { + padding: 1px 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-footer { + display: grid; + grid-template-columns: 1fr 1fr; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-footer label { + text-align: center; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters { + border: none; + margin: 16px 0; + display: grid; + grid-template-columns: repeat(3, 1fr); +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter { + height: auto; + border: none; + text-align: center; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter h4 { + font-size: 13px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter h4.rollable:hover { + text-shadow: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .counter-value { + display: inline; + text-align: left; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter input[type="text"] { + display: inline-block; + width: 10px; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter input[type="checkbox"] { + display: inline-block; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-success, +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-fail { + display: inline-block; +} +.sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-success { + margin-right: 8px; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory > .panel { + grid-template-rows: 32px 32px 24px auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory .currency-encumbrance { + display: grid; + grid-template-columns: 200px auto; + margin-bottom: 8px; + align-items: center; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory .currency { + font-family: 'Russo One'; + font-size: 14px; + font-weight: 400; + letter-spacing: 0.5px; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory .currency input { + display: inline-block; + width: 128px; + font-family: 'Open Sans'; + font-size: 13px; + font-weight: 400; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper { + display: grid; + grid-template-columns: 400px 100px; + width: 500px; + justify-self: end; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance-label { + font-size: 12px; + line-height: 14px; + width: 100%; + text-shadow: none; + padding: 0; + margin: 0; + height: auto; + text-align: center; + margin-left: -2px; + border-radius: 0 4px 4px 0; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance { + position: relative; + border-radius: 4px; + height: 16px; + margin: 0; + width: 100%; +} +.sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance .encumbrance-bar { + position: absolute; + top: 0; + left: 0; + height: 100%; + border-radius: 4px; + border: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.features > .panel { + grid-template-rows: 24px auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.powerbook > .panel { + grid-template-rows: 32px 24px 24px auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability { + display: grid; + grid-template-columns: 2fr 1fr 1fr; +} +.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label, +.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 { + font-family: 'Russo One'; + font-size: 13px; + font-weight: 400; + letter-spacing: 0.5px; + border-bottom: none; +} +.sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability .power-dc { + grid-column-start: 3; +} +.sw5e.sheet.actor .swalt-sheet .tab.biography { + grid-template-columns: 1fr 2fr; + grid-template-rows: 100%; + column-gap: 16px; + padding-bottom: 8px; + max-width: 100%; +} +.sw5e.sheet.actor .swalt-sheet .tab.biography.active { + display: grid; +} +.sw5e.sheet.actor .swalt-sheet .tab.biography > .panel { + display: block; + overflow-y: auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.biography section { + position: relative; +} +.sw5e.sheet.actor .swalt-sheet .tab.notes > .panel { + display: block; + overflow-y: auto; +} +.sw5e.sheet.actor .swalt-sheet .tab.notes section { + position: relative; +} +.sw5e.sheet.actor .swalt-sheet .tab.notes section > input { + font-family: 'Russo One'; + font-size: 16px; + font-weight: 400; + letter-spacing: 0.5px; + text-align: left; + margin-bottom: 4px; +} +.sw5e.sheet.actor .swalt-sheet .tab.notes section .editor .editor-edit { + top: 3px; +} +.sw5e.sheet.actor .swalt-sheet.limited { + grid-template-rows: 144px auto; + row-gap: 8px; +} +.sw5e.sheet.actor .swalt-sheet.limited header { + grid-template-rows: 1fr; +} +.sw5e.sheet.actor .swalt-sheet.limited .tab.biography { + grid-template-columns: 100%; +} @keyframes pause-spin { from { transform: rotate(0deg); diff --git a/sw5e-light.css b/sw5e-light.css index c7e6ffb8..1f01207d 100644 --- a/sw5e-light.css +++ b/sw5e-light.css @@ -394,8 +394,6 @@ body.light-theme #settings #settings-access { body.light-theme #navigation #nav-toggle { background: rgba(126, 214, 247, 0.4); color: white; -} -body.light-theme #navigation #nav-toggle .nav-item { transform: rotate(-90deg); } body.light-theme #navigation .nav-item { @@ -431,6 +429,7 @@ body.light-theme #controls .control-tool { } body.light-theme #controls .scene-control:hover, body.light-theme #controls .control-tool:hover { + background: rgba(126, 214, 247, 0.4); box-shadow: 0 0 8px #07516c; } body.light-theme #controls .scene-control.active, @@ -447,8 +446,9 @@ body.light-theme #players h3 { background: white; border: none; margin: 0; - padding: 8px; + padding: 0 8px; font-size: 17px; + line-height: 30px; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); border-radius: 4px 4px 0 0; } @@ -476,7 +476,7 @@ body.light-theme .window-app { border: none; box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); } -body.light-theme .window-app header { +body.light-theme .window-app > header { background: white; border-radius: 4px 4px 0 0; border: none; @@ -490,6 +490,12 @@ body.light-theme .window-app .window-content { body.light-theme .window-app .window-content footer { margin-top: 8px; } +body.light-theme .window-app.minimized > header, +body.light-theme .window-app.minimized > .window-header { + border: none; + border-radius: 4px; + margin: 0; +} body.light-theme #client-settings nav.tabs { border: none; font-size: 17px; @@ -510,3 +516,218 @@ body.light-theme #client-settings section.content { border: none; margin-top: 4px; } +body.light-theme .panel { + background: white; +} +body.light-theme .sw5e.sheet .window-content { + color: #1C1C1C; + background: linear-gradient(90deg, #afc6d6 0, #d6d6d6 30%, #d6d6d6 70%, #afc6d6); +} +body.light-theme .sw5e.sheet .window-content input, +body.light-theme .sw5e.sheet .window-content select { + color: #1C1C1C; +} +body.light-theme .sw5e.sheet .window-content input:hover, +body.light-theme .sw5e.sheet .window-content select:hover { + border-color: #4f4f4f; +} +body.light-theme .sw5e.sheet .window-content input:focus, +body.light-theme .sw5e.sheet .window-content select:focus { + border-color: #c40f0f; +} +body.light-theme .sw5e.sheet .window-content button:hover, +body.light-theme .sw5e.sheet .window-content button:focus { + border-color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor { + color: #1C1C1C; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet section > h1 { + border-bottom: 2px solid #0d99cc; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name input[type="text"] { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar { + border: 1px solid #4f4f4f; + background-color: #afc6d6; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar { + background-color: #0d99cc; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary input, +body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency { + color: #4f4f4f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value, +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input { + color: #4f4f4f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator { + color: #828282; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button { + border: 1px solid #D6D6D6; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button:hover { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button, +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button, +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button { + border: 1px solid #D6D6D6; + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button:hover, +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button:hover, +body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button:hover { + border-color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item { + color: #4f4f4f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active { + color: #c40f0f; + border-bottom-color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover { + background: rgba(79, 79, 79, 0.1); +} +body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover { + background: rgba(79, 79, 79, 0.1); +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item { + border-bottom: 2px solid #828282; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item:hover { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item.active { + color: #c40f0f; + border-bottom-color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header { + background: #f0f0f0; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-title { + border-bottom: 1px solid #0d99cc; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header .item-detail, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list .item-detail { + border-left: 1px solid #D6D6D6; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item:nth-child(even), +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item:nth-child(even) { + background-color: #f0f0f0; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item h4, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item h4 { + color: #1C1C1C; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name .item-image::before, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image::before { + color: #4f4f4f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image:hover::before, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover::before { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control:hover, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control:hover { + color: #c40f0f !important; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle { + color: #828282; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle.active, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle.active { + color: #1C1C1C; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li { + border: 1px solid #D6D6D6; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li h2:hover { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score { + color: #4f4f4f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-mod, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save { + border-color: #D6D6D6; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li:nth-child(even) { + background-color: #f0f0f0; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .skill-name:hover { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button { + color: #4f4f4f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active { + color: #c40f0f; + border-bottom-color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active:hover { + background: rgba(196, 15, 15, 0.1); +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover { + background: rgba(79, 79, 79, 0.1); +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .languages label:hover { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource h1 input { + color: #c40f0f; + border-bottom: 2px solid #0d99cc; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input { + color: #4f4f4f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator { + color: #828282; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter h4.rollable:hover { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-success i { + color: #0dce0d; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-fail i { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .currency { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance-label { + background: #D6D6D6; + color: #1C1C1C; + border: 1px solid #1C1C1C; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance { + background: #afc6d6; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance .encumbrance-bar { + background: #0d99cc; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 { + color: #c40f0f; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label span, +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 span { + color: #1C1C1C; +} +body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input { + color: #c40f0f; + border-bottom: 2px solid #0d99cc; +} diff --git a/sw5e.js b/sw5e.js index a1d763da..dbb4e2a2 100644 --- a/sw5e.js +++ b/sw5e.js @@ -239,6 +239,9 @@ Hooks.on("renderJournalDirectory", (app, html, data)=> { Hooks.on("renderRollTableDirectory", (app, html, data)=> { setFolderBackground(html); }); +Hooks.on("ActorSheet5eCharacterNew", (app, html, data) => { + console.log("renderSwaltSheet"); +}); // TODO I should remove this Handlebars.registerHelper('getProperty', function (data, property) { return getProperty(data, property); diff --git a/templates/actors/newActor/template.hbs b/templates/actors/newActor/template.hbs index f94c22c2..cf93ff06 100644 --- a/templates/actors/newActor/template.hbs +++ b/templates/actors/newActor/template.hbs @@ -11,7 +11,7 @@

        {{#each favItems as |item id|}} - {{> "systems/sw5e/templates/actors/newActor/parts/item.hbs" item=item}} + {{> "systems/sw5e/templates/actors/newActor/item.hbs" item=item}} {{/each}}
      @@ -27,7 +27,7 @@
        {{#each favFeats as |feat lvl|}} - {{> "systems/sw5e/templates/actors/newActor/parts/item.hbs" item=feat}} + {{> "systems/sw5e/templates/actors/newActor/item.hbs" item=feat}} {{/each}}
      @@ -56,7 +56,7 @@
        {{#each section.powers as |power id|}} - {{> "systems/sw5e/templates/actors/newActor/parts/item.hbs" item=power}} + {{> "systems/sw5e/templates/actors/newActor/item.hbs" item=power}} {{/each}}