From 5946ee495acaec4e50d5bb7d915199dad65a7587 Mon Sep 17 00:00:00 2001 From: Matt Walsh Date: Thu, 15 May 2025 16:04:57 -0500 Subject: [PATCH] initial data and graph --- gulp/publish-frontend.mjs | 1 + server/images/backgrounds/6.png | Bin 0 -> 8912 bytes server/images/gimp/Background 6.xcf | Bin 0 -> 397902 bytes server/scripts/modules/icons/icons-small.mjs | 2 + server/scripts/modules/radar.mjs | 2 +- server/scripts/modules/spc-outlook.mjs | 115 +++++++++++++++++++ server/scripts/modules/utils/polygon.mjs | 51 ++++++++ server/styles/main.css | 2 +- server/styles/main.css.map | 2 +- server/styles/scss/_spc-outlook.scss | 61 ++++++++++ server/styles/scss/main.scss | 3 +- views/index.ejs | 4 + views/partials/spc-outlook.ejs | 20 ++++ 13 files changed, 259 insertions(+), 4 deletions(-) create mode 100644 server/images/backgrounds/6.png create mode 100644 server/images/gimp/Background 6.xcf create mode 100644 server/scripts/modules/spc-outlook.mjs create mode 100644 server/scripts/modules/utils/polygon.mjs create mode 100644 server/styles/scss/_spc-outlook.scss create mode 100644 views/partials/spc-outlook.ejs diff --git a/gulp/publish-frontend.mjs b/gulp/publish-frontend.mjs index 2e41f17..8ef3c2a 100644 --- a/gulp/publish-frontend.mjs +++ b/gulp/publish-frontend.mjs @@ -76,6 +76,7 @@ const mjsSources = [ 'server/scripts/modules/hazards.mjs', 'server/scripts/modules/currentweather.mjs', 'server/scripts/modules/almanac.mjs', + 'server/scripts/modules/spc-outlook.mjs', 'server/scripts/modules/icons.mjs', 'server/scripts/modules/extendedforecast.mjs', 'server/scripts/modules/hourly.mjs', diff --git a/server/images/backgrounds/6.png b/server/images/backgrounds/6.png new file mode 100644 index 0000000000000000000000000000000000000000..79fca0e38a4268a031f103a1f8007ec52f50a305 GIT binary patch literal 8912 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�weQQp3 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
SlomVtWnuGn{OZLK%>og`_8M+YhHQ~U z1&zwh0ujXa8g6}#Y>`9-z0%DB5ybWyZoQgpkwgXk-pv9L#P%9)>w;{NLog` z_8M**i)@iZ+LE)VZWf3jw%2f5nq-S4hT{{SwGAMG*j|Hz96U5nGaQicaJZWgL2R!< zAr2mzrx}h%csSfmh#&_yoX$U*d$CUTK%uaRu8 zQA8+$YRUE*9CgseEMY6p{vb}~|skK_r zW|HkSVDjKRB-?9P85h~JYeu_`YK0cQiDY{XIAm}hlI=C%p2K-aw%35O7Uv<^UIX|C z&O@@j1`rUy7H$+FdP@_itWP1&OAvg~UvI?LB30jcE z@W~-Vvb_fI5S)i|XnT#XMc7HhlWM_7dh#D4r&B~8;Q2sL{zGI?BJu#w2S&#&+#?bc zqqBF&ojeh>gck{V1Pt|Vhp(xD5ADH4-L8VC!)4G4-dK1C!)5J zO~OlX4BY<{6eB?~MD!f4hGdg)cs+0)l1;)9U5oROY!VKyD9%H&NjSXZI1kAt;Yj1a zd03it=R!npY35=iCH~K{0qHg=RhmzKiCpJ0T)^OEVz@G9)Ml;!toN z7G>Qz5z$+kIT?^4K{1fgf%C91TVi=d%(IBd?)^B(kf0by>cDwOHVH>s2hM|)i;=zu z3rM{l@BZ9Czuu7^$Ylrgj&wFRnAJPdgSn%FdPn-`K+1f>QN2TR_#57+d1wxQ{z(fQV)x4l*8 z=zQDI+ux>h;3oTa+*%*N`>*hR5bt;7-uVu_BmK_YyWXjHq~Dc$_q+6t^t*HKdAHt? zeoyY9_vjtzhXzua_dcX|Xbykx`!o;D;qQCD=Ak+K{SRv%n!_LdfaXCi;H}`K!LNK- zcKI^BLvuJ}Sf1@zu6Jk-hYTIr6&-qq=5WZcBD->h-k~`hGOWy|SLz*_!y!XDn@Q^( zn!_POCfk|OJ2ZzwhR$qPr{1AC95QreS9R$fn!_Q(s_g%7@5{F2IF2lf0g?a+F5m|4 zAV`qxe(tyCmYGEY+)04@qL1juc^XtCrd!Qz9z?C(;-c;uu9CQF7Ooi;KQv#^np@$K zQRP z`S^4nfK&Jur|XAK`-XEmFg#R0{E%-rrvt;o^&=1ahI9J-k@~K`@eSv6JcYaJJMZ!h z=X7AWv%cd_-*8S}+_8P~4$r`sI9cC*(l?ybf#LT0w%dKfIUN{ot54kK8_wy#aH78T zgl{;f1H-NL@mqbvIUN{|*S8$^4d--VxTU`N7T<7A2Zo#Ln{M_E=X7AWslM?h-*8R` zh8yb}ZuAZ3bYQrlzWxT^a83t?>+9>T_YLQCV7P8;W9!&;zTupH?A+0fKkv#ojY-7G z2hFz{lZKNIn%9jQxFkzh-?08V^MI3%rk$ju}C;X=b69WSTr0W^vvIA zEFun3dggC778Qp`JrHj82|0~P#>ofG-)c-MPCjV<^Ts6Nf{5xvT!8TqV3@=nQxFk;hzl?t1`LzlV+tbL4{^;N0SJ@i zV+tbj4{_mH+yxjW)yEV>6d>XPj5`6tB>b3yhzLYn^E(=g@pYwlNMwOBDxT90mdzWVUmMPK|~rNF2J}MFieV&DTt^;#03~P0ftEwG6fNVh`0db zM!+!XLZ%?15fK+)+yEFRX~+~rWFq1MjOzizqz;*ah*CscfMFJhd>YcR>xhc9S0Jj- zZRfQgi)XR5otJ(ro<+T#SAHy>#d13@{8&7Tzd(PFS2iNDjY$zQ1+fot>ORit|43vT zlOkjaVjtqveVo&ON@N?8B4i38A2NG&WzmLM%=x zb7j$oSPXvC3xTNq*>+z0v3M45ZRe#Qi)Zok?Y#11@hpC^ofm#Ap2aV>^SY14vw$`< zbILx>>AxbXjY$wP1+fot%0ABNzagrPNf0sxu@51#kEQcxRlYMzJOgDu?*1OHWCRTE z{vNMh1Pt!}9{vNMJ1Pt!}9kc1_Sd)%fclcP;nsm&%!^a}mq+`(G zQ~gJ$!g!?^(!ryo4*H5$ieV}Z_l4dYuM|T%c$CyZU-3#YOr_zz(0k*RVn_#%k~-)s zUMYsCG(7dt-$Ochn1J)zt3!Ve>EL1d&FilX{XL|Ehsif@ygu~zkPaTE-n{w7(BDHk zc$j$e-`~V9`F-+D=L9Opl^7<{a9`-W@hUN-e@96j@*m!5JP%*cxphnXW2Dl3_0pY%7C%|}B7}Br9 zQv<^N%T9msiZG;Cho=UF*|L*gyc!JY)8VNBVZQ9t7q0|EdUSYdKv*n0@x`makp3K= z8W1*@o%Z4tU`THcPYnnUEIaANtG|%G9G)5w9$a?Hi&uUjJvlrzAe`Fn#FBA}31%%$ zEqw|4HXPE8!?EEzoL+Xai&uLgoj5!-AUw3}R2Q%GLb`BxYCw2+*@-S*<%M+M@YL9n zEodoT*@Y-FJT)G|UCT~z@v1JQ^@gVgggcj=-r^NqNZSohJv8Nzwi_nZoV){H;^eYZ zTfCABX}RI40pa##C$@MM7t(ISQvQ9@YH~C!?M#@yh00UrQxXo;reAKv3PYB(niBm141v* zcx4vSLZhVKE6_|Q>Ff$N(@8oIhZGS-^{WBO2mJN)nV{Y%B8n=%r~%3ca1llKj@D;F z>ggn%H{X~}(n;$xJ9np(bO!O}uP4w1`9@JuRQ*K_P(I+VC(s1>X1qWXW=<#R^xDj5 zi6#g*kfYt5HusL!Xo7+R4DL>w`$mg2LBatBcc;z$qg9%q;Q)iX(`GhWrU@brFt|Hy z=A(6*pyB|7yVGVdTBr#!4luYoZ8k?MH9^M#26v~;1EZyyAmjjpyVK^u(OOMVa)9AS z&}lQBq|*yEqxG7g=HO4$-D&giXu&4PInzlxJBkkeB;0K_caD~9f}k^6fsVM_NNd);SKizXUjO7|Xn z-Dk7h)nvLWVM_NNJAaan(j23<)u;ixACPRZN#5iQGm$qkc(SCzlDt_U))a&$C7k3< z-Y^q+BZDVPDlEyH1!7G>Xi}s}-YgJn3POiYo4B2(pzmhrw29kk3i@t_PMf%$rl9X; z=(LI3X$tyohEAKfou;7gX8%TMTR%&mq?7KdN!?v{+Po#&XoM-TV^6}WbkB3i6wcn zK&>eVO=>vFo4jQv@PH`AM^rBBi+=)A%I!?P#p@D>@}ThM(27}=9_c$`6MjWk&ZF=sbXtJxPbR&FJ0&sRuCT z*rhtzC6l~aAmJ2*0!H>E9o{~pdkX{~z{sAY!&_){Z-M3m7}=9_cpHuGEs%WxBYTn# zZ>7<_17}=9_*7DBS{}#wXfRQ~(hxgp*-U4L^FizlaSF*(>d9y(A zDF_9O>`6Mj_eS>?=tF>!JxPc6-{{@~i3l*VC+YAW9Nk->5&=f`Bpu#|qk9X4BEZO= zq{Dl0bZ>!H1Q^+qba+3G?k$ju03&;n4)4j)y#Q433 z^DKr7LOb4nq5=+e?np<~Kc8nYy1K;A&{5T$>eYtD=<3oxYiH=hVo}O^RXal`R*O>B zYuXt)v0Rk0Uf0ghiS?qC^@etaPAnLuENsHI{|ucrrT47w{cL@a`|svkEz^MZ2tetu z&7ZeS0TL3>{?N@|v`qimBmShrHhNn?E3>SiSyuYTx4R!8FM%BNZXEC~}#1GF=Rh{Zz&$AdV1nqeLC9U!Fcd2tnGP>Zm z{O}yP&DwtZ?@`%vcgutwRnn>MX;=))9ej5K!#yoibyPj4y0>95EO+qT0}S`JOwv)s zoa(-Y#jxDLcP}v9*D^gvRdTBP8y3TI2j6|baDU6h9971tW(|vBxr6V1V3@T`$x$_& zYTmFImOJ=nz%Xx_$fF84)uLfBEO+qDfnm`y4M$aPs?CPQu-w770EW$$2{@{BQ$5hI z7?wNuHi6-RmZ>+YZc{zjuo#v*_#Oa;2U{lHsG?1Es$nrKckn$347{aBms?KHPqj?c zQ8QGh8y3TI2j3}ti_NM3O4U1v9gYV(lBimGnq0SwVr@E_QF$Nt7kKwMC2{o!jQ{CCH7?wNux}KhvX*jAr zQ{B<97?wNu?$nOXiRGS@h27ZdlP%L|RCT7hya2ZrlfDWUAORpq5R*0PwrxsulxB#+KfrI}sHMug^CdWcvf zT)CDWBG(94uBC?vHo~=gbPf|>gin}Kj8Sb7pvp5+e<_|I5=c|mSKswjcbG&m5hj$}_vN zjR?&(^bo;DxN;3WM6waCTtg2LZG5SW z4pU)-Pnfz!BO+oG5c;EYmx+{G#KF%rmoP4h}Z;#{^%Sg!3du) zb%91i#3ms0N9QmFM)-uO>oX!EHUXhOI)@1`!Y52!o)HnT2?+hsIZS^MK4I$WjEIO$ zKE zU5gPBu?YzM(K$?P5k6t+QjCa*O+e_6&S6@M@Cj2_Vnjr20z!Xu4wG7hPnfz8BO+oG z5c;EYn9?GA!qjyb5fPh!&>x+{gcjiwrY^&Xh}Z;#{^%U0vk0FsbrnWL#3ms0N9Qn^ zMfilNi!dT0HUXhOI)|w&!Y9n6?!sckguN{_)6qG*tv1uqIZ$kbXi{t!PY@p{M3Z6- zrg(z*Kp~nGYcRzV#0SQrNx9_|ZKk7hrlWKAch&6PnU2mG#2TTRScH}+CNf4O6RJtE z2va;ke4tQGiba^>3E~5#3R7xNN9Xi{jZ?RQ96cSK1Jwu5VLCbox(}YiypF|_a?2^+ z0K;^24x}GEhw11Xh(CA^yw4^UN0Qe3RGqwEpvx45ralVa;&dHrDCL$@!vThe>R3c6 zx11slFic11{0*MMU3Dy@lv_?22N z4ul{)hw11XNI`fG)6qE)gYX=tqjMk!;W=b?Mq@IJ@Cj3hG`e?^adxGfy;qZrGs!q! z73Qbj1m(g_JY$k^7H@3FjWeaz;?3>2Z>H43?|IQ@v-PvpZU@b{tJzzt^v-AYyR)CK zb_JPnSCfo0$vC~7BUF`QRi=1?_`p)xM#fJv&LrbRJvWgNchgub{MMgjoJqzRT6ggG zVY80AV9G6L7Y;B?GR`F9>=k<^8K>XyEbgW$wa|SNH^Y=$&So6^e|wT~(8{y8V>@oA zDYft*Pu6ieOu045IQ?#CaYs$5g+GfEb=(nCZaF)0fMJqxCK+ew<-y;FNyeFEoS~lw ze;1h%Rk|_n9%f4d--Vc%pvt3Eyx|2Zkr>r=Ii;=X79rsy_3SZ#bs| z!gS*H4d--Vc)ot&dEanO2Zk5w7hmuV=X79rarM%RzJY&+9ILNA<{QrG z_#)TV*Ierx&gsB#O?~w>zTun>3|H4zUF{pr>A-MRedSfY;hYW(SJp?b^bO~9U^rS| zanv`Q(}CfN`tmD$!#N!oE?-@Cxo^xat1rFGH=NV)H7>1>TA-NLzT}8+IHv={ zCH3J;e8V{%7!KEm4*Q04Ixrln4<7Oj=X78=SYLe5H=NUf;o_afimi>6iIFEkCO+O2 zM7Vk4n!nvx2zkQV&);b*j69+3=kGQaN}llc^Yj=F2HySFicFnDTuK4#03~#c!LYotpDYYqxd$}QxGBbi3>2U1`HFI zZwey3K5+rYRe)il^G!j7+9xi+xDqf-jJ_#|u=~UX7)JraMCzM@2*FQWfN=$2n0S3t z5aIZV3otHkOvHXZXnq;Kh>6)Z1re5?xbQ_T1q>6pZwewrKXC!Z5x_9<`=%hm^%ECh zTml#-ir*AO=zih?jKhFoV);!$gz+aXz&HdLCZgXIL`Z+)0*r%zVdDBtL4@}wF2GpR z{c43hq58YIPAcCy{kOBXR~EXT#mwGWS@?byGkbSsA^cg)?7fwR@nhHZe0O8?H6u&8meTb9D zcTWEU;o(gbzbS})h?B^7PXBcF*~&upvzXcED+}AtVrE~gEObAMnSHsk@ck@i_SMQl z__G-NwoEYo=!|z#`OfK&K#O-*;(KKPU~pIBdo=)Ha984c1pr`hSK@owe_(J|;(Muo zU~pIBdwG9g_zP6x|0mM!rqre&%I*6r@x7cs{v_O$_+G*v7~GZkUbY_?+?DuVsvj8K zmH1ws9~j(~_+FA97~GZkUWOkSUTg?MZ>iBo4tF8Gm)!>jcOkx)+6M-AA-cNxBy z!3PF+8NQdk2L^W;zL&cP26q|0m$(N8cNxBywFd@w8NQdY-{s|h2)w*TzUTd+Lf*@+ zlRA5zdZ@xDb@q&tf9LI?3ZK;3GfMv5cZMo_QfJQ?`S;!(s_;pjJtO3Q_a6RMB`Nt( zg>PZs(=qERd<*@aj#*dXTln{M%(@ESLcphE)>Zfx20k6LQ-%LuJ7V3-u9GTzC3T?8 zz3e(8-nlQ-$9vgzQf05C4wSi;2A@>fGfw{V&xRU&Qf1F5 z`7b^nYVb*wJ!9m*{9>rVCsp>0kpJq-p$4B+*)u-=Pha7eWs;F!c9go8S0@$rJoUMa z<)h1vQTNj7q`ID`2873!9ii@J)k$SNPYno+Etx|dTY747<69rv`+lmmQPtrPE3MJWmY>&n!D4-OHwv+IgND5T0FjJi3=mCw22YH6T2< z>}Yf^mriQtd1^p-e%Z0;UMii`%k$KL@WQeq(Y;JMsg>uc0imbh$Mf*`XUMT-$Dw

Fn$j|T>K4g6E1 zDfd9g1H)gS2Hv|H{InbW(`WG~;jV#ydNk`EIC)@j*T6qBnsyJQJTSOx;GZ4My9ZVt z7~D1R&y6PD11%2>?i%>#M>Fq%mj?!S4g3qEsrNw41A}oZ8&VCAIyiR`{ISvGd!Xj= zMchU3*N$f212+#0?jrbWM$_+soCgMX5&YGo`S-xi1B1H={;JUge4yun!CeG@H;!CeM_ z$!H=z(DcCIE`vWjnu!lQJutY-;17+a;sa3+4DK@cgQL0lz|;f7dV88=fqU|1dLx@; zm3s1KL8*H|=uihA7rPf!#SeAxaj|pFOONbD}-u3hDKqgRU8 z)v|XrVD|%(CGg3cyr4buMg~uoB+QdH3%K`!&?FFQ|(jD&gaD_kz0kp%OkWcQ2@mA1dMFa`%F|`1Ia1vq!LZT(VX@ zd9$G4y&x3Ovb)hUHs0bZVC(@SyBj?(WY@g~q&;9{ccbUU?7Fvrw+D>uZuGpMUH2AH z_kfYzjh+{^>)rzP9x$@I(euJ~-CIE514ec?dR|(tdq-ET_o?+y;1LC%kH?VRjh>gc z>)wLOdBDi-M$b#!b#DQW4;b0q=y{pD?k%A50VBH`Juh|Fy#;JOU}Sfr=jHCYw}8+G zjO=doyyRW?7I6B2k=>1+m%Z!W0$Lw1G8BG6O+AuiccbUE@4B~u*$0g5ZuGqVUH2A{ z`+$+%jh@%Q>)rx>A271J(epZZ-CIEM14ec?dR_~!dka{8z{u`K&+FlJZvoK{7}?$E zc}=|TE#UeABfA?tuZ!2c1#~}PWOk!Z7u2Wj=69p#weh;QpzI!BB)c0uuaDQg1)M)% zWOt+IHS)T*fc6KB>~8eDPG0vGF#mv&-Ho2t%In?&@*gm=yV3J{dEHyU{{u#LH+o(( zuX_t50Kn+z{$-lN@9$D)rwIHj<>je!M-iyrZdi;i8mN2G#~MJ&dRyCzJ{AE|);ro> z^sx$%vfkD9qK{>Ol!c9N(tFXjDHeZyFI#-S4%qylO>y|^dr}41XK#MkrWpM7J*ffg zvo}9#Q~dqTz#*_$7?jLDb$|2}*3lXjPG-+!fY_0{jsvzYxE<(*F`9Z#J*+ok z7?wNut^|goE#ur(w!ONdVKFRs@Erw)D_Talt5kb+dBb8@?%=xu7%p#9y!-mzX2{8P~3|?A4_Wi($Eg?=pOcOIt>?s}y^6q+u~Ecko>b3`bhVva9@hbxFfwSnl9E z0t}b5jAB>G_3CiLVp#6ry95{xw~Sv`nf2;W!(v$O;5!TqhgwFitF(G`uwgMQckmqo zhJ!6*)>Tfuy0~F6EO+o7TyybT8~qOSI_*A03>Tq3pONWFU-G6-yAKh=MVBa3d7on4 zhkL_CSD&A$yibwt!@c36tIy9=-lsVC;ofl3)#qm_?^BffaBsNi>htlpitIqIGVW{U z{e$;KXs+^pALqU%=Rf>FxN?>E`&joiJ^#^%!j-GM-^aVJ3Hpye60Th3{XXV>m$nzK z-5ux|vo3tXlq|byivY%{CwP60oK+gzu;S;7#w~L6_1cZJEdd8;B1*Woog2nu?YzM4)lyn7d~O?RJ(|XO+e^(pl4jV@Cj3A+C@Zc0z$t7 zJ)_cvPnbH>?sI0ioZ4o>Az+Crq7S7ZI@u2>lN9j6oMZVe0(4 zh=@%<=y#xJ1iJ7EQ>WKOL~H^=zXLtv&xKEzI=e0+ViOQD#qor47q0aV^o&3kK4I$g zx`>EPe2IPsdd8m%pD=ZHT|~qtAoM%XGx}WkgsGG3A|f^cq2Ga?vFE}kOr2X75wQsf zhrvp z;NBP04)lU&-zDIu9q4yS_-O}vQ1F5UFSd&(hz}GjcrmG7JVAV5%z~F&P8NRJfqvS7 zJ|@Yf<)q;8?}BLudJy<{4$}_wpz!e=rXA=5g&q^(<(89($DhR6I%dMlEhiHX4ATzu z;PLSsrXA?PG^(D`_n(+>0?^zj^~9q2*n<2g(_ z(1X;+bC`CZ?@4(lH;+d-?LZG^AJ1XhfgapGp2Lr52m0wu*ol#!7bq}!WA@$Z`|o^X_WjlcTR(j78_wxJtenF+ebqRJb9#eH5&U~->(g^b<|mti z3X@dz34Y3Nv`BtqTz9;LJX-P5#k;RF)OiPj}h%8RTwdXJA$(3nIB0)&@ z5{?}Jvp&~9o zx(F~#>ys&ntX0GX7#9MDX^Aogk>!fG0OJ5)m{uuM5LvN^YqoEpnt#2WUxO^3#W&me zCCK7ge7l`rfh?ZIciZ^|$l_UGkvivGf1K05C(DOvWikb^4{@$P&gm=sA7prKTBY8F zO77v`gzony@7e_n?)N6|!UYWO_a^VEg+ExiG?7)qv>=&+$cNyuxL=*TOBOJ=U!A<` z6)?D8oxF=xYDEgKPL{rXmn=hZ2!O5U}Fyc#K~ z!-C;mTiCM0ec`3XyS9*5BPI3TRjCOp5P3D?OB6Pid1=|LD&D1qycY4)fbjCNTU5L& z3wb5tsR7}YWw)ky7Z&n5#8czfUbG_BVX5%0DrCXosqsiIT6XJ+cTpklK|D1eT)6C( z6YrWr-hp^(Ksd1MRuk`%Lf(IP>J*JPsY~nCX;PQ44l3(~>Q@7l4~Q0|(MwTSsPKEx z{g(97=(Q-URKVbVOL}?qVicAtU~s=By)t?=3TxHAHHj}7x_9(y6jB3^`xWV;(aTX- ztboD&ige-V^(d@Xz~FvGIxu=c3d>b$SxT!*>DQsu-SsPytb0hm4yEp{Uy)?lL;7_n zb$9)WB�Q3y%KZyt<^k*QjqqYQXLXB;SsbH~G6x*1)+PFq_nzJ zuudUaR$b!nHoCW9sRE3wy2RgabZ^0G1sGX%iNE9M-hu@SFrpWxoVuj1N<5-q%>tyX zy2M{~bZ^131sGX%iNEgX-h!12FtX|rf927=1&ddT%WG4s&-$KPxVQODn_7F;_vGre z&))pDO|3lZdvfjCXK#MjvQI?J@7vvlV*i!8%2Yp`XEFOT$~#iby34&_`bg>0*svIuJNPaFh6`J^w5W?pb)aD}EO+o-2n+{Wwyx+aO4YC!mOJP7hy6nhxrFeo!AWZz~8fqPSRY_lbhKS*!d#wU(-m6M%T@gNE>Z^{3 zh)qD~RVB8p2%j+ZMMp%$CLr{x5?fV-Pni0eBO+oGzxJY+q+V5Gi;D0GQ(tmKL~P=b z^r{kDQ-n{L`idhWViOR0Rf#Pr!Y539!4VO$2?)Ka#8wpH6Q;i2h=|xs(RY)ov|gYl zRSAoeSRab*;tApdqXnset&5kUVBz=Rq$*)`!*iHaC9$O8nM|q@7C1bIAEl}^Elbm~ zwC7z(tP;hmOz{Nqfzz^-cuPv$irBqS&ojbH~53pMSv5 rpMPxj#>NHnjg5`}ho7DQy@#LwvU7p|ox#t&-POj%-{QZ=cdq|G>cwwi literal 0 HcmV?d00001 diff --git a/server/scripts/modules/icons/icons-small.mjs b/server/scripts/modules/icons/icons-small.mjs index 117d563..5d24445 100644 --- a/server/scripts/modules/icons/icons-small.mjs +++ b/server/scripts/modules/icons/icons-small.mjs @@ -113,9 +113,11 @@ const smallIcon = (link, _isNightTime) => { return addPath('Thunderstorm.gif'); case 'wind': + case 'wind_': case 'wind_few': case 'wind_sct': case 'wind-n': + case 'wind_-n': case 'wind_few-n': return addPath('Wind.gif'); diff --git a/server/scripts/modules/radar.mjs b/server/scripts/modules/radar.mjs index 63d0db9..4f1a3a9 100644 --- a/server/scripts/modules/radar.mjs +++ b/server/scripts/modules/radar.mjs @@ -224,4 +224,4 @@ class Radar extends WeatherDisplay { } // register display -registerDisplay(new Radar(10, 'radar')); +registerDisplay(new Radar(11, 'radar')); diff --git a/server/scripts/modules/spc-outlook.mjs b/server/scripts/modules/spc-outlook.mjs new file mode 100644 index 0000000..4a6b0ab --- /dev/null +++ b/server/scripts/modules/spc-outlook.mjs @@ -0,0 +1,115 @@ +// display spc outlook in a bar graph + +import STATUS from './status.mjs'; +import { json } from './utils/fetch.mjs'; +import { DateTime } from '../vendor/auto/luxon.mjs'; +import WeatherDisplay from './weatherdisplay.mjs'; +import { registerDisplay } from './navigation.mjs'; +import testPolygon from './utils/polygon.mjs'; + +// list of interesting files ordered [0] = today, [1] = tomorrow... +const urlPattern = (day) => `https://www.spc.noaa.gov/products/outlook/day${day}otlk_cat.nolyr.geojson`; + +const testAllPoints = (point, data) => { + // returns all points where the data matches as an array of days and then matches of the properties of the data + + const result = []; + // start with a loop of days + data.forEach((day, index) => { + // initialize the result + result[index] = false; + // loop through each category + day.features.forEach((feature) => { + if (!feature.geometry.coordinates) return; + const inPolygon = testPolygon(point, feature.geometry); + if (inPolygon) result[index] = feature.properties; + }); + }); + + return result; +}; + +const barSizes = { + TSTM: 60, + MRGL: 150, + SLGT: 210, + ENH: 270, + MDT: 330, + HIGH: 390, +}; + +class SpcOutlook extends WeatherDisplay { + constructor(navId, elemId) { + super(navId, elemId, 'SPC Outlook', true); + + // calculate file names + this.files = [null, null, null].map((v, i) => urlPattern(i + 1)); + + // set timings + this.timing.totalScreens = 1; + } + + async getData(weatherParameters, refresh) { + if (!super.getData(weatherParameters, refresh)) return; + + let initialData; + try { + // get the three categorical files to get started + const filePromises = await Promise.allSettled(this.files.map((file) => json(file))); + // store the data, promise will always be fulfilled + initialData = filePromises.map((outlookDay) => outlookDay.value); + } catch (error) { + console.error('Unable to get spc outlook'); + console.error(error.status, error.responseJSON); + // if there's no previous data, fail + if (!this.data) { + this.setStatus(STATUS.failed); + return; + } + } + // do the initial parsing of the data + this.data = testAllPoints([weatherParameters.longitude, weatherParameters.latitude], initialData); + + // we only get here if there was no error above + this.screenIndex = 0; + this.setStatus(STATUS.loaded); + } + + async drawCanvas() { + super.drawCanvas(); + + // analyze each day + const days = this.data.map((day, index) => { + // get the day name + const dayName = DateTime.now().plus({ days: index }).toLocaleString({ weekday: 'long' }); + + // fill the name + const fill = {}; + fill['day-name'] = dayName; + + // create the element + const elem = this.fillTemplate('day', fill); + + // update the bar length + const bar = elem.querySelector('.risk-bar'); + if (day.LABEL) { + bar.style.width = `${barSizes[day.LABEL]}px`; + } else { + bar.style.display = 'none'; + } + + return elem; + }); + + // add the days to the display + const dayContainer = this.elem.querySelector('.days'); + dayContainer.innerHTML = ''; + dayContainer.append(...days); + + // finish drawing + this.finishDraw(); + } +} + +// register display +registerDisplay(new SpcOutlook(10, 'spc-outlook')); diff --git a/server/scripts/modules/utils/polygon.mjs b/server/scripts/modules/utils/polygon.mjs new file mode 100644 index 0000000..176a5a1 --- /dev/null +++ b/server/scripts/modules/utils/polygon.mjs @@ -0,0 +1,51 @@ +// handle multi-polygon and holes +const testPolygon = (point, _polygons) => { + // turn everything into a multi polygon for ease of processing + let polygons = [[..._polygons.coordinates]]; + if (_polygons.type === 'MultiPolygon') polygons = [..._polygons.coordinates]; + + let inArea = false; + + polygons.forEach((_polygon) => { + // copy the polygon + const polygon = [..._polygon]; + // if a match has been found don't do anything more + if (inArea) return; + + // polygons are defined as [[area], [optional hole 1], [optional hole 2], ...] + const area = polygon.shift(); + // test if inside the initial area + inArea = pointInPolygon(point, area); + + // if not in the area return false + if (!inArea) return; + + // test the holes, if in any hole return false + polygon.forEach((hole) => { + if (pointInPolygon(point, hole)) { + inArea = false; + } + }); + }); + return inArea; +}; + +const pointInPolygon = (point, polygon) => { + // ray casting method from https://github.com/substack/point-in-polygon + const x = point[0]; + const y = point[1]; + let inside = false; + // eslint-disable-next-line no-plusplus + for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) { + const xi = polygon[i][0]; + const yi = polygon[i][1]; + const xj = polygon[j][0]; + const yj = polygon[j][1]; + const intersect = ((yi > y) !== (yj > y)) + && (x < ((xj - xi) * (y - yi)) / (yj - yi) + xi); + if (intersect) inside = !inside; + } + return inside; +}; + +export default testPolygon; diff --git a/server/styles/main.css b/server/styles/main.css index 285119c..df07fc3 100644 --- a/server/styles/main.css +++ b/server/styles/main.css @@ -1 +1 @@ -@font-face{font-family:"Star4000";src:url("../fonts/Star4000.woff") format("woff")}body{font-family:"Star4000"}@media(prefers-color-scheme: dark){body{background-color:#000;color:#fff}}@media(prefers-color-scheme: dark){body a{color:#add8e6}}body.kiosk{margin:0px}#divQuery{max-width:640px}#divQuery .buttons{display:inline-block;width:150px;text-align:right}#divQuery .buttons #imgGetGps{height:13px;vertical-align:middle}#divQuery .buttons button{font-size:16pt;border:1px solid #a9a9a9}@media(prefers-color-scheme: dark){#divQuery .buttons button{background-color:#000;color:#fff}}#divQuery .buttons #btnGetGps img.dark{display:none}@media(prefers-color-scheme: dark){#divQuery .buttons #btnGetGps img.dark{display:inline-block}}@media(prefers-color-scheme: dark){#divQuery .buttons #btnGetGps img.light{display:none}}#divQuery .buttons #btnGetGps.active{background-color:#000}@media(prefers-color-scheme: dark){#divQuery .buttons #btnGetGps.active{background-color:#fff}}#divQuery .buttons #btnGetGps.active img{filter:invert(1)}#divQuery input,#divQuery button{font-family:"Star4000"}#divQuery #txtAddress{width:calc(100% - 170px);max-width:490px;font-size:16pt;min-width:200px;display:inline-block}@media(prefers-color-scheme: dark){#divQuery #txtAddress{background-color:#000;color:#fff;border:1px solid #a9a9a9}}.autocomplete-suggestions{background-color:#fff;border:1px solid #000;position:absolute;z-index:9999}@media(prefers-color-scheme: dark){.autocomplete-suggestions{background-color:#000}}.autocomplete-suggestions div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16pt}.autocomplete-suggestions div.selected{background-color:blue;color:#fff}#divTwc{display:block;background-color:#000;color:#fff;width:100%;max-width:640px}#divTwc.wide{max-width:854px}#divTwcLeft{display:none;text-align:right;flex-direction:column;vertical-align:middle}#divTwcLeft>div{flex:1;padding-right:12px;display:flex;flex-direction:column;justify-content:center}#divTwcRight{text-align:left;display:none;flex-direction:column;vertical-align:middle}#divTwcRight>div{flex:1;padding-left:12px;display:flex;flex-direction:column;justify-content:center}#divTwcBottom{display:flex;flex-direction:row;background-color:#000;color:#fff;width:100%}@media(prefers-color-scheme: dark){#divTwcBottom{background-color:#303030}}#divTwcBottom>div{padding-left:6px;padding-right:6px}#divTwcBottomLeft{flex:1;text-align:left}#divTwcBottomMiddle{flex:0;text-align:center}#divTwcBottomRight{flex:1;text-align:right}#divTwcNavContainer{display:none}#divTwcNav{width:100%;display:flex;flex-direction:row;background-color:#000;color:#fff;max-width:640px}#divTwcNav>div{padding-left:6px;padding-right:6px}#divTwcNavLeft{flex:1;text-align:left}#divTwcNavMiddle{flex:0;text-align:center}#divTwcNavRight{flex:1;text-align:right}#imgPause1x{visibility:hidden;position:absolute}.HideCursor{cursor:none !important}#txtScrollText{width:475px}@font-face{font-family:"Star4000";src:url("../fonts/Star4000.woff") format("woff")}@font-face{font-family:"Star 4 Radar";src:url("../fonts/Star 4 Radar.woff") format("woff")}@font-face{font-family:"Star4000 Extended";src:url("../fonts/Star4000 Extended.woff") format("woff")}@font-face{font-family:"Star4000LCN";src:url("../fonts/Star4000LCN.woff") format("woff")}@font-face{font-family:"Star4000 Large Compressed";src:url("../fonts/Star4000 Large Compressed.woff") format("woff")}@font-face{font-family:"Star4000 Large";src:url("../fonts/Star4000 Large.ttf") format("truetype")}@font-face{font-family:"Star4000 Small";src:url("../fonts/Star4000 Small.woff") format("woff")}#display{font-family:"Star4000";margin:0 0 0 0;width:100%}#container{position:relative;width:640px;height:480px;background-image:url(../images/backgrounds/1.png);transform-origin:0 0}.wide #container{padding-left:107px;padding-right:107px;background-repeat:no-repeat;background:url(../images/backgrounds/1-wide.png)}#divTwc:-webkit-full-screen #container{width:unset;height:unset;transform-origin:unset}#divTwc:fullscreen #container,.kiosk #divTwc #container{width:unset;height:unset;transform-origin:unset}.kiosk #divTwc #container{transform-origin:0 0}#loading{width:640px;height:480px;max-width:100%;text-shadow:4px 4px #000;display:flex;align-items:center;text-align:center;justify-content:center}#loading .title{font-family:Star4000 Large;font-size:36px;color:#ff0;margin-bottom:0px}#loading .version{margin-bottom:35px}#loading .instructions{font-size:18pt}.heading{font-weight:bold;margin-top:15px}#settings{margin-bottom:15px}#enabledDisplays,#settings{margin-bottom:15px}#enabledDisplays .loading,#enabledDisplays .retrying,#settings .loading,#settings .retrying{color:#ff0}#enabledDisplays .press-here,#settings .press-here{color:lime;cursor:pointer}#enabledDisplays .failed,#settings .failed{color:red}#enabledDisplays .no-data,#settings .no-data{color:silver}#enabledDisplays .disabled,#settings .disabled{color:silver}#enabledDisplays .press-here,#settings .press-here{color:#fff}@media(prefers-color-scheme: light){#enabledDisplays .loading,#enabledDisplays .retrying,#settings .loading,#settings .retrying{color:#990}#enabledDisplays .press-here,#settings .press-here{color:#000;cursor:pointer}#enabledDisplays .failed,#settings .failed{color:#900}#enabledDisplays .no-data,#settings .no-data{color:#4d4d4d}#enabledDisplays .disabled,#settings .disabled{color:#4d4d4d}}#enabledDisplays label,#settings label{display:block;max-width:300px}#enabledDisplays label .alert,#settings label .alert{display:none}#enabledDisplays label .alert.show,#settings label .alert.show{display:inline;color:red}#divTwcBottom img{transform:scale(0.75)}#divTwc:-webkit-full-screen{display:flex;align-items:center;justify-content:center;align-content:center}#divTwc:fullscreen,.kiosk #divTwc{display:flex;align-items:center;justify-content:center;align-content:center}#divTwc:-webkit-full-screen.no-cursor{cursor:none}#divTwc:fullscreen.no-cursor,.kiosk #divTwc.no-cursor{cursor:none}.kiosk #divTwc{justify-content:unset}#divTwc:-webkit-full-screen #display{position:relative}#divTwc:fullscreen #display,.kiosk #divTwc #display{position:relative}#divTwc:-webkit-full-screen #divTwcBottom{display:flex;flex-direction:row;background-color:rgba(0,0,0,.5);color:#fff;width:100%;position:absolute;bottom:0px}#divTwc:fullscreen #divTwcBottom,.kiosk #divTwc #divTwcBottom{display:flex;flex-direction:row;background-color:rgba(0,0,0,.5);color:#fff;width:100%;position:absolute;bottom:0px}.kiosk #divTwc #divTwcBottom>div{display:none}.navButton{cursor:pointer}.visible{visibility:visible;opacity:1;transition:opacity .1s linear}#divTwc:-webkit-full-screen .hidden{visibility:hidden;opacity:0;-webkit-transition:visibility 0s 1s,opacity 1s linear;transition:visibility 0s 1s,opacity 1s linear}#divTwc:fullscreen .hidden{visibility:hidden;opacity:0;transition:visibility 0s 1s,opacity 1s linear}.github-links{width:610px;max-width:calc(100vw - 30px);display:flex;justify-content:space-evenly;flex-wrap:wrap}.github-links span a{text-decoration:none;outline:0}.github-links span .widget{display:inline-block;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:0;line-height:0;white-space:nowrap}.github-links span .btn,.github-links span .social-count{position:relative;display:inline-block;display:inline-flex;height:14px;padding:2px 5px;font-size:11px;font-weight:600;line-height:14px;vertical-align:bottom;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-repeat:repeat-x;background-position:-1px -1px;background-size:110% 110%;border:1px solid}.github-links span .btn{border-radius:.25em}.github-links span .btn:not(:last-child){border-radius:.25em 0 0 .25em}.github-links span .social-count{border-left:0;border-radius:0 .25em .25em 0}.github-links span .widget-lg .btn,.github-links span .widget-lg .social-count{height:16px;padding:5px 10px;font-size:12px;line-height:16px}.github-links span .octicon{display:inline-block;vertical-align:text-top;fill:currentColor;overflow:visible}.github-links span .btn:focus-visible,.github-links span .social-count:focus-visible{outline:2px solid #0969da;outline-offset:-2px}.github-links span .btn{color:#24292f;background-color:#ebf0f4;border-color:#ccd1d5;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f6f8fa'/%3e%3cstop offset='90%25' stop-color='%23ebf0f4'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f6f8fa, #ebf0f4 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF6F8FA", endColorstr="#FFEAEFF3")}.github-links span :root .btn{filter:none}.github-links span .btn:hover,.github-links span .btn:focus{background-color:#e9ebef;background-position:0 -0.5em;border-color:#caccd1;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f3f4f6'/%3e%3cstop offset='90%25' stop-color='%23e9ebef'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f3f4f6, #e9ebef 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF3F4F6", endColorstr="#FFE8EAEE")}.github-links span :root .btn:hover,.github-links span :root .btn:focus{filter:none}.github-links span .btn:active{background-color:#e5e9ed;border-color:#c7cbcf;border-color:rgba(27,31,36,.15);box-shadow:inset 0 .15em .3em rgba(27,31,36,.15);background-image:none;filter:none}.github-links span .social-count{color:#24292f;background-color:#fff;border-color:#ddddde;border-color:rgba(27,31,36,.15)}.github-links span .social-count:hover,.github-links span .social-count:focus{color:#0969da}.github-links span .octicon-heart{color:#bf3989}@media(prefers-color-scheme: light){.github-links span .btn:focus-visible,.github-links span .social-count:focus-visible{outline:2px solid #0969da;outline-offset:-2px}.github-links span .btn{color:#24292f;background-color:#ebf0f4;border-color:#ccd1d5;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f6f8fa'/%3e%3cstop offset='90%25' stop-color='%23ebf0f4'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f6f8fa, #ebf0f4 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF6F8FA", endColorstr="#FFEAEFF3")}.github-links span :root .btn{filter:none}.github-links span .btn:hover,.github-links span .btn:focus{background-color:#e9ebef;background-position:0 -0.5em;border-color:#caccd1;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f3f4f6'/%3e%3cstop offset='90%25' stop-color='%23e9ebef'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f3f4f6, #e9ebef 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF3F4F6", endColorstr="#FFE8EAEE")}.github-links span :root .btn:hover,.github-links span :root .btn:focus{filter:none}.github-links span .btn:active{background-color:#e5e9ed;border-color:#c7cbcf;border-color:rgba(27,31,36,.15);box-shadow:inset 0 .15em .3em rgba(27,31,36,.15);background-image:none;filter:none}.github-links span .social-count{color:#24292f;background-color:#fff;border-color:#ddddde;border-color:rgba(27,31,36,.15)}.github-links span .social-count:hover,.github-links span .social-count:focus{color:#0969da}.github-links span .octicon-heart{color:#bf3989}}@media(prefers-color-scheme: dark){.github-links span .btn:focus-visible,.github-links span .social-count:focus-visible{outline:2px solid #58a6ff;outline-offset:-2px}.github-links span .btn{color:#c9d1d9;background-color:#1a1e23;border-color:#2f3439;border-color:rgba(240,246,252,.1);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%2321262d'/%3e%3cstop offset='90%25' stop-color='%231a1e23'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #21262d, #1a1e23 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FF21262D", endColorstr="#FF191D22")}.github-links span :root .btn{filter:none}.github-links span .btn:hover,.github-links span .btn:focus{background-color:#292e33;background-position:0 -0.5em;border-color:#8b949e;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%2330363d'/%3e%3cstop offset='90%25' stop-color='%23292e33'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #30363d, #292e33 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FF30363D", endColorstr="#FF282D32")}.github-links span :root .btn:hover,.github-links span :root .btn:focus{filter:none}.github-links span .btn:active{background-color:#161719;border-color:#8b949e;box-shadow:inset 0 .15em .3em rgba(1,4,9,.15);background-image:none;filter:none}.github-links span .social-count{color:#c9d1d9;background-color:#0d1117;border-color:#24282e;border-color:rgba(240,246,252,.1)}.github-links span .social-count:hover,.github-links span .social-count:focus{color:#58a6ff}.github-links span .octicon-heart{color:#db61a2}}#share-link-copied{color:#ff0;display:none}#share-link-instructions{display:none}.kiosk #divQuery,.kiosk>.info,.kiosk>.heading,.kiosk #enabledDisplays,.kiosk #settings,.kiosk #divInfo{display:none}.weather-display{width:640px;height:480px;overflow:hidden;position:relative;background-image:url(../images/backgrounds/1.png);height:0px}.weather-display.show{height:480px}.weather-display .template{display:none}.weather-display .header{width:640px;height:60px;padding-top:30px}.weather-display .header .title{color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;font-family:"Star4000";font-size:24pt;position:absolute;width:250px}.weather-display .header .title.single{left:170px;top:25px}.weather-display .header .title.dual{left:170px}.weather-display .header .title.dual>div{position:absolute}.weather-display .header .title.dual .top{top:-3px}.weather-display .header .title.dual .bottom{top:26px}.weather-display .header .logo{top:30px;left:50px;position:absolute;z-index:10}.weather-display .header .noaa-logo{position:absolute;top:39px;left:356px}.weather-display .header .title.single{top:40px}.weather-display .header .date-time{white-space:pre;color:#fff;font-family:"Star4000 Small";font-size:24pt;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;left:415px;width:170px;text-align:right;position:absolute}.weather-display .header .date-time.date{padding-top:22px}.weather-display .main{position:relative}.weather-display .main.has-scroll{width:640px;height:310px;overflow:hidden}.weather-display .main.has-scroll.no-header{height:400px}.weather-display .main.has-box{margin-left:64px;margin-right:64px;width:calc(100% - 128px)}.weather-display .scroll{text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;width:640px;height:70px;overflow:hidden;margin-top:10px}.weather-display .scroll .fixed{font-family:"Star4000";font-size:24pt;margin-left:55px}.weather-display .main.current-weather.main .col{height:50px;width:255px;display:inline-block;margin-top:10px;position:absolute;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.current-weather.main .col.left{font-family:"Star4000 Extended";font-size:24pt}.weather-display .main.current-weather.main .col.right{right:0px;font-family:"Star4000 Large";font-size:16pt;font-weight:bold}.weather-display .main.current-weather.main .col.right .row{margin-bottom:12px}.weather-display .main.current-weather.main .col.right .row .label,.weather-display .main.current-weather.main .col.right .row .value{display:inline-block}.weather-display .main.current-weather.main .col.right .row .label{margin-left:20px}.weather-display .main.current-weather.main .col.right .row .value{float:right;margin-right:10px}.weather-display .main.current-weather.main .center{text-align:center}.weather-display .main.current-weather.main .temp{font-family:"Star4000 Large";font-size:24pt}.weather-display .main.current-weather.main .icon{height:100px}.weather-display .main.current-weather.main .icon img{max-width:126px}.weather-display .main.current-weather.main .wind-container{margin-bottom:10px}.weather-display .main.current-weather.main .wind-container>div{width:45%;display:inline-block;margin:0px}.weather-display .main.current-weather.main .wind-container .wind-label{margin-left:5px}.weather-display .main.current-weather.main .wind-container .wind{text-align:right}.weather-display .main.current-weather.main .wind-gusts{margin-left:5px}.weather-display .main.current-weather.main .location{color:#ff0;margin-bottom:10px}#extended-forecast-html.weather-display{background-image:url("../images/backgrounds/2.png")}.weather-display .main.extended-forecast .day-container{margin-top:16px;margin-left:27px}.weather-display .main.extended-forecast .day{text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;padding:5px;height:285px;width:155px;display:inline-block;margin:0px 15px;font-family:"Star4000";font-size:24pt}.weather-display .main.extended-forecast .day .date{text-transform:uppercase;text-align:center;color:#ff0}.weather-display .main.extended-forecast .day .condition{text-align:center;height:74px;margin-top:10px}.weather-display .main.extended-forecast .day .icon{text-align:center;height:75px}.weather-display .main.extended-forecast .day .icon img{max-height:75px}.weather-display .main.extended-forecast .day .temperatures{width:100%;margin-top:5px}.weather-display .main.extended-forecast .day .temperatures .temperature-block{display:inline-block;width:44%;vertical-align:top}.weather-display .main.extended-forecast .day .temperatures .temperature-block>div{text-align:center}.weather-display .main.extended-forecast .day .temperatures .temperature-block .value{font-family:"Star4000 Large";margin-top:4px}.weather-display .main.extended-forecast .day .temperatures .temperature-block.lo .label{color:#8080ff}.weather-display .main.extended-forecast .day .temperatures .temperature-block.hi .label{color:#ff0}.weather-display .main.hourly.main{overflow-y:hidden}.weather-display .main.hourly.main .column-headers{background-color:#200057;height:20px;position:absolute;width:100%}.weather-display .main.hourly.main .column-headers{position:sticky;top:0px;z-index:5}.weather-display .main.hourly.main .column-headers div{display:inline-block;font-family:"Star4000 Small";font-size:24pt;color:#ff0;position:absolute;top:-14px;z-index:5;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.hourly.main .column-headers .temp{left:355px}.weather-display .main.hourly.main .column-headers .like{left:435px}.weather-display .main.hourly.main .column-headers .wind{left:535px}.weather-display .main.hourly.main .hourly-lines{min-height:338px;padding-top:10px;background:repeating-linear-gradient(0deg, #001040 0px, #102080 136px, #102080 202px, #001040 338px)}.weather-display .main.hourly.main .hourly-lines .hourly-row{font-family:"Star4000 Large";font-size:24pt;height:72px;color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative}.weather-display .main.hourly.main .hourly-lines .hourly-row>div{position:absolute;white-space:pre;top:8px}.weather-display .main.hourly.main .hourly-lines .hourly-row .hour{left:25px}.weather-display .main.hourly.main .hourly-lines .hourly-row .icon{left:255px;width:70px;text-align:center;top:unset}.weather-display .main.hourly.main .hourly-lines .hourly-row .temp{left:355px}.weather-display .main.hourly.main .hourly-lines .hourly-row .like{left:425px}.weather-display .main.hourly.main .hourly-lines .hourly-row .like.heat-index{color:#e00}.weather-display .main.hourly.main .hourly-lines .hourly-row .like.wind-chill{color:#8080ff}.weather-display .main.hourly.main .hourly-lines .hourly-row .wind{left:505px;width:100px;text-align:right}#hourly-graph-html{background-image:url(../images/backgrounds/1-chart.png)}#hourly-graph-html .header .right{position:absolute;top:35px;right:60px;width:360px;font-family:"Star4000 Small";font-size:32px;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;text-align:right}#hourly-graph-html .header .right div{margin-top:-18px}#hourly-graph-html .header .right .temperature{color:red}#hourly-graph-html .header .right .cloud{color:#d3d3d3}#hourly-graph-html .header .right .rain{color:aqua}.weather-display .main.hourly-graph.main>div{position:absolute}.weather-display .main.hourly-graph.main .label{font-family:"Star4000 Small";font-size:24pt;color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;margin-top:-15px;position:absolute}.weather-display .main.hourly-graph.main .x-axis{bottom:0px;left:0px;width:640px;height:20px}.weather-display .main.hourly-graph.main .x-axis .label{text-align:center;width:50px}.weather-display .main.hourly-graph.main .x-axis .label.l-1{left:25px}.weather-display .main.hourly-graph.main .x-axis .label.l-2{left:158px}.weather-display .main.hourly-graph.main .x-axis .label.l-3{left:291px}.weather-display .main.hourly-graph.main .x-axis .label.l-4{left:424px}.weather-display .main.hourly-graph.main .x-axis .label.l-5{left:557px}.weather-display .main.hourly-graph.main .chart{top:0px;left:50px}.weather-display .main.hourly-graph.main .chart img{width:532px;height:285px}.weather-display .main.hourly-graph.main .y-axis{top:0px;left:0px;width:50px;height:285px}.weather-display .main.hourly-graph.main .y-axis .label{text-align:right;right:0px}.weather-display .main.hourly-graph.main .y-axis .label.l-1{top:0px}.weather-display .main.hourly-graph.main .y-axis .label.l-2{top:140px}.weather-display .main.hourly-graph.main .y-axis .label.l-3{bottom:0px}.weather-display .main.hourly-graph.main .column-headers{background-color:#200057;height:20px;position:absolute;width:100%}.weather-display .main.hourly-graph.main .column-headers{position:sticky;top:0px;z-index:5}.weather-display .main.hourly-graph.main .column-headers .temp{left:355px}.weather-display .main.hourly-graph.main .column-headers .like{left:435px}.weather-display .main.hourly-graph.main .column-headers .wind{left:535px}.weather-display .main.travel.main{overflow-y:hidden}.weather-display .main.travel.main .column-headers{background-color:#200057;height:20px;position:absolute;width:100%}.weather-display .main.travel.main .column-headers{position:sticky;top:0px;z-index:5}.weather-display .main.travel.main .column-headers div{display:inline-block;font-family:"Star4000 Small";font-size:24pt;color:#ff0;position:absolute;top:-14px;z-index:5;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.travel.main .column-headers .temp{width:50px;text-align:center}.weather-display .main.travel.main .column-headers .temp.low{left:455px}.weather-display .main.travel.main .column-headers .temp.high{left:510px;width:60px}.weather-display .main.travel.main .travel-lines{min-height:338px;padding-top:10px;background:repeating-linear-gradient(0deg, #001040 0px, #102080 136px, #102080 202px, #001040 338px)}.weather-display .main.travel.main .travel-lines .travel-row{font-family:"Star4000 Large";font-size:24pt;height:72px;color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative}.weather-display .main.travel.main .travel-lines .travel-row>div{position:absolute;white-space:pre;top:8px}.weather-display .main.travel.main .travel-lines .travel-row .city{left:80px}.weather-display .main.travel.main .travel-lines .travel-row .icon{left:330px;width:70px;text-align:center;top:unset}.weather-display .main.travel.main .travel-lines .travel-row .icon img{max-width:47px}.weather-display .main.travel.main .travel-lines .travel-row .temp{width:50px;text-align:center}.weather-display .main.travel.main .travel-lines .travel-row .temp.low{left:455px}.weather-display .main.travel.main .travel-lines .travel-row .temp.high{left:510px;width:60px}.weather-display .latest-observations.main{overflow-y:hidden}.weather-display .latest-observations.main .column-headers{height:20px;position:absolute;width:100%}.weather-display .latest-observations.main .column-headers{top:0px}.weather-display .latest-observations.main .column-headers div{display:inline-block;font-family:"Star4000 Small";font-size:24pt;position:absolute;top:-14px;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .latest-observations.main .column-headers .temp{display:none}.weather-display .latest-observations.main .column-headers .temp.show{display:inline-block}.weather-display .latest-observations.main .temp{left:230px}.weather-display .latest-observations.main .weather{left:280px}.weather-display .latest-observations.main .wind{left:430px}.weather-display .latest-observations.main .observation-lines{min-height:338px;padding-top:10px}.weather-display .latest-observations.main .observation-lines .observation-row{font-family:"Star4000";font-size:24pt;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative;height:40px}.weather-display .latest-observations.main .observation-lines .observation-row>div{position:absolute;top:8px}.weather-display .latest-observations.main .observation-lines .observation-row .wind{white-space:pre;text-align:right}.weather-display .local-forecast .container{position:relative;top:15px;margin:0px 10px;box-sizing:border-box;height:280px;overflow:hidden}.weather-display .local-forecast .forecasts{position:relative}.weather-display .local-forecast .forecast{font-family:"Star4000";font-size:24pt;text-transform:uppercase;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;min-height:280px;line-height:40px}.weather-display .progress{text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;font-family:"Star4000 Extended";font-size:19pt}.weather-display .progress .container{position:relative;top:15px;margin:0px 10px;box-sizing:border-box;height:310px;overflow:hidden}.weather-display .progress .container .item{position:relative}.weather-display .progress .container .item .name{white-space:nowrap}.weather-display .progress .container .item .name::after{content:"........................................................................"}.weather-display .progress .container .item .links{position:absolute;text-align:right;right:0px;top:0px}.weather-display .progress .container .item .links>div{background-color:#26235a;display:none;padding-left:4px}.weather-display .progress .container .item .links .loading,.weather-display .progress .container .item .links .retrying{color:#ff0}.weather-display .progress .container .item .links .press-here{color:lime;cursor:pointer}.weather-display .progress .container .item .links .failed{color:red}.weather-display .progress .container .item .links .no-data{color:silver}.weather-display .progress .container .item .links .disabled{color:silver}.weather-display .progress .container .item .links.loading .loading,.weather-display .progress .container .item .links.press-here .press-here,.weather-display .progress .container .item .links.failed .failed,.weather-display .progress .container .item .links.no-data .no-data,.weather-display .progress .container .item .links.disabled .disabled,.weather-display .progress .container .item .links.retrying .retrying{display:block}@keyframes progress-scroll{0%{background-position:-40px 0}100%{background-position:40px 0}}#progress-html.weather-display .scroll .progress-bar-container{border:2px solid #000;background-color:#fff;margin:20px auto;width:524px;position:relative;display:none}#progress-html.weather-display .scroll .progress-bar-container.show{display:block}#progress-html.weather-display .scroll .progress-bar-container .progress-bar{height:20px;margin:2px;width:520px;background:repeating-linear-gradient(90deg, #09246f 0px, #09246f 5px, #364ac0 5px, #364ac0 10px, #4f99f9 10px, #4f99f9 15px, #8ffdfa 15px, #8ffdfa 20px, #4f99f9 20px, #4f99f9 25px, #364ac0 25px, #364ac0 30px, #09246f 30px, #09246f 40px);animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:progress-scroll;animation-timing-function:steps(8, end)}#progress-html.weather-display .scroll .progress-bar-container .cover{position:absolute;top:0px;right:0px;background-color:#fff;width:100%;height:24px;transition:width 1s steps(6)}#radar-html.weather-display{background-image:url("../images/backgrounds/4.png")}#radar-html.weather-display .header{height:83px}#radar-html.weather-display .header .title.dual{color:#fff;font-family:"Arial",sans-serif;font-weight:bold;font-size:28pt;left:155px}#radar-html.weather-display .header .title.dual .top{top:-4px}#radar-html.weather-display .header .title.dual .bottom{top:31px}#radar-html.weather-display .header .right{position:absolute;right:0px;width:360px;margin-top:2px;font-family:"Star4000";font-size:18pt;font-weight:bold;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;text-align:center}#radar-html.weather-display .header .right .scale>div{display:inline-block}#radar-html.weather-display .header .right .scale-table{display:table-row;border-collapse:collapse}#radar-html.weather-display .header .right .scale-table .box{display:table-cell;border:2px solid #000;width:17px;height:24px;padding:0}#radar-html.weather-display .header .right .scale-table .box-1{background-color:#31d216}#radar-html.weather-display .header .right .scale-table .box-2{background-color:#1c8a12}#radar-html.weather-display .header .right .scale-table .box-3{background-color:#145a0f}#radar-html.weather-display .header .right .scale-table .box-4{background-color:#0a280a}#radar-html.weather-display .header .right .scale-table .box-5{background-color:#c4b346}#radar-html.weather-display .header .right .scale-table .box-6{background-color:#be4813}#radar-html.weather-display .header .right .scale-table .box-7{background-color:#ab0e0e}#radar-html.weather-display .header .right .scale-table .box-8{background-color:#731f04}#radar-html.weather-display .header .right .scale .text{position:relative;top:-5px}#radar-html.weather-display .header .right .time{position:relative;font-weight:normal;top:-14px;font-family:"Star4000 Small";font-size:24pt}.weather-display .main.radar{overflow:hidden;height:367px}.weather-display .main.radar .container .scroll-area{position:relative}.wide.radar #container{background:url(../images/backgrounds/4-wide.png)}#regional-forecast-html.weather-display{background-image:url("../images/backgrounds/5.png")}.weather-display .main.regional-forecast{position:relative}.weather-display .main.regional-forecast .map{position:absolute;transform-origin:0 0}.weather-display .main.regional-forecast .location{position:absolute;width:140px;margin-left:-40px;margin-top:-35px}.weather-display .main.regional-forecast .location>div{position:absolute;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.regional-forecast .location .icon{top:26px;left:44px}.weather-display .main.regional-forecast .location .icon img{max-height:32px}.weather-display .main.regional-forecast .location .temp{font-family:"Star4000 Large";font-size:28px;color:#ff0;top:28px;text-align:right;width:40px}.weather-display .main.regional-forecast .location .city{font-family:Star4000;font-size:20px}#almanac-html.weather-display{background-image:url("../images/backgrounds/3.png")}.weather-display .main.almanac{font-family:"Star4000";font-size:24pt;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.almanac .sun{display:table;margin-left:50px;height:100px}.weather-display .main.almanac .sun>div{display:table-row;position:relative}.weather-display .main.almanac .sun>div>div{display:table-cell}.weather-display .main.almanac .sun .days{color:#ff0;text-align:right;top:-5px}.weather-display .main.almanac .sun .days .day{padding-right:10px}.weather-display .main.almanac .sun .times{text-align:right}.weather-display .main.almanac .sun .times .sun-time{width:200px}.weather-display .main.almanac .sun .times.times-1{top:-10px}.weather-display .main.almanac .sun .times.times-2{top:-15px}.weather-display .main.almanac .moon{position:relative;top:-10px;padding:0px 60px}.weather-display .main.almanac .moon .title{color:#ff0}.weather-display .main.almanac .moon .day{display:inline-block;text-align:center;width:130px}.weather-display .main.almanac .moon .day .icon{padding-left:10px}.weather-display .main.almanac .moon .day .date{position:relative;top:-10px}.weather-display .main.hazards.main{overflow-y:hidden}.weather-display .main.hazards.main .hazard-lines{min-height:400px;padding-top:10px;background-color:#702323}.weather-display .main.hazards.main .hazard-lines .hazard{font-family:"Star4000";font-size:24pt;color:#fff;text-shadow:0px 0px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative;text-transform:uppercase;margin-top:110px;margin-left:80px;margin-right:80px}.media{display:none}#ToggleMedia{display:none}#ToggleMedia.available{display:inline-block}#ToggleMedia.available img.on{display:none}#ToggleMedia.available img.off{display:block}#ToggleMedia.available.playing img.on{display:block}#ToggleMedia.available.playing img.off{display:none}/*# sourceMappingURL=main.css.map */ \ No newline at end of file +@font-face{font-family:"Star4000";src:url("../fonts/Star4000.woff") format("woff")}body{font-family:"Star4000"}@media(prefers-color-scheme: dark){body{background-color:#000;color:#fff}}@media(prefers-color-scheme: dark){body a{color:#add8e6}}body.kiosk{margin:0px}#divQuery{max-width:640px}#divQuery .buttons{display:inline-block;width:150px;text-align:right}#divQuery .buttons #imgGetGps{height:13px;vertical-align:middle}#divQuery .buttons button{font-size:16pt;border:1px solid #a9a9a9}@media(prefers-color-scheme: dark){#divQuery .buttons button{background-color:#000;color:#fff}}#divQuery .buttons #btnGetGps img.dark{display:none}@media(prefers-color-scheme: dark){#divQuery .buttons #btnGetGps img.dark{display:inline-block}}@media(prefers-color-scheme: dark){#divQuery .buttons #btnGetGps img.light{display:none}}#divQuery .buttons #btnGetGps.active{background-color:#000}@media(prefers-color-scheme: dark){#divQuery .buttons #btnGetGps.active{background-color:#fff}}#divQuery .buttons #btnGetGps.active img{filter:invert(1)}#divQuery input,#divQuery button{font-family:"Star4000"}#divQuery #txtAddress{width:calc(100% - 170px);max-width:490px;font-size:16pt;min-width:200px;display:inline-block}@media(prefers-color-scheme: dark){#divQuery #txtAddress{background-color:#000;color:#fff;border:1px solid #a9a9a9}}.autocomplete-suggestions{background-color:#fff;border:1px solid #000;position:absolute;z-index:9999}@media(prefers-color-scheme: dark){.autocomplete-suggestions{background-color:#000}}.autocomplete-suggestions div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16pt}.autocomplete-suggestions div.selected{background-color:blue;color:#fff}#divTwc{display:block;background-color:#000;color:#fff;width:100%;max-width:640px}#divTwc.wide{max-width:854px}#divTwcLeft{display:none;text-align:right;flex-direction:column;vertical-align:middle}#divTwcLeft>div{flex:1;padding-right:12px;display:flex;flex-direction:column;justify-content:center}#divTwcRight{text-align:left;display:none;flex-direction:column;vertical-align:middle}#divTwcRight>div{flex:1;padding-left:12px;display:flex;flex-direction:column;justify-content:center}#divTwcBottom{display:flex;flex-direction:row;background-color:#000;color:#fff;width:100%}@media(prefers-color-scheme: dark){#divTwcBottom{background-color:#303030}}#divTwcBottom>div{padding-left:6px;padding-right:6px}#divTwcBottomLeft{flex:1;text-align:left}#divTwcBottomMiddle{flex:0;text-align:center}#divTwcBottomRight{flex:1;text-align:right}#divTwcNavContainer{display:none}#divTwcNav{width:100%;display:flex;flex-direction:row;background-color:#000;color:#fff;max-width:640px}#divTwcNav>div{padding-left:6px;padding-right:6px}#divTwcNavLeft{flex:1;text-align:left}#divTwcNavMiddle{flex:0;text-align:center}#divTwcNavRight{flex:1;text-align:right}#imgPause1x{visibility:hidden;position:absolute}.HideCursor{cursor:none !important}#txtScrollText{width:475px}@font-face{font-family:"Star4000";src:url("../fonts/Star4000.woff") format("woff")}@font-face{font-family:"Star 4 Radar";src:url("../fonts/Star 4 Radar.woff") format("woff")}@font-face{font-family:"Star4000 Extended";src:url("../fonts/Star4000 Extended.woff") format("woff")}@font-face{font-family:"Star4000LCN";src:url("../fonts/Star4000LCN.woff") format("woff")}@font-face{font-family:"Star4000 Large Compressed";src:url("../fonts/Star4000 Large Compressed.woff") format("woff")}@font-face{font-family:"Star4000 Large";src:url("../fonts/Star4000 Large.ttf") format("truetype")}@font-face{font-family:"Star4000 Small";src:url("../fonts/Star4000 Small.woff") format("woff")}#display{font-family:"Star4000";margin:0 0 0 0;width:100%}#container{position:relative;width:640px;height:480px;background-image:url(../images/backgrounds/1.png);transform-origin:0 0}.wide #container{padding-left:107px;padding-right:107px;background-repeat:no-repeat;background:url(../images/backgrounds/1-wide.png)}#divTwc:-webkit-full-screen #container{width:unset;height:unset;transform-origin:unset}#divTwc:fullscreen #container,.kiosk #divTwc #container{width:unset;height:unset;transform-origin:unset}.kiosk #divTwc #container{transform-origin:0 0}#loading{width:640px;height:480px;max-width:100%;text-shadow:4px 4px #000;display:flex;align-items:center;text-align:center;justify-content:center}#loading .title{font-family:Star4000 Large;font-size:36px;color:#ff0;margin-bottom:0px}#loading .version{margin-bottom:35px}#loading .instructions{font-size:18pt}.heading{font-weight:bold;margin-top:15px}#settings{margin-bottom:15px}#enabledDisplays,#settings{margin-bottom:15px}#enabledDisplays .loading,#enabledDisplays .retrying,#settings .loading,#settings .retrying{color:#ff0}#enabledDisplays .press-here,#settings .press-here{color:lime;cursor:pointer}#enabledDisplays .failed,#settings .failed{color:red}#enabledDisplays .no-data,#settings .no-data{color:silver}#enabledDisplays .disabled,#settings .disabled{color:silver}#enabledDisplays .press-here,#settings .press-here{color:#fff}@media(prefers-color-scheme: light){#enabledDisplays .loading,#enabledDisplays .retrying,#settings .loading,#settings .retrying{color:#990}#enabledDisplays .press-here,#settings .press-here{color:#000;cursor:pointer}#enabledDisplays .failed,#settings .failed{color:#900}#enabledDisplays .no-data,#settings .no-data{color:#4d4d4d}#enabledDisplays .disabled,#settings .disabled{color:#4d4d4d}}#enabledDisplays label,#settings label{display:block;max-width:300px}#enabledDisplays label .alert,#settings label .alert{display:none}#enabledDisplays label .alert.show,#settings label .alert.show{display:inline;color:red}#divTwcBottom img{transform:scale(0.75)}#divTwc:-webkit-full-screen{display:flex;align-items:center;justify-content:center;align-content:center}#divTwc:fullscreen,.kiosk #divTwc{display:flex;align-items:center;justify-content:center;align-content:center}#divTwc:-webkit-full-screen.no-cursor{cursor:none}#divTwc:fullscreen.no-cursor,.kiosk #divTwc.no-cursor{cursor:none}.kiosk #divTwc{justify-content:unset}#divTwc:-webkit-full-screen #display{position:relative}#divTwc:fullscreen #display,.kiosk #divTwc #display{position:relative}#divTwc:-webkit-full-screen #divTwcBottom{display:flex;flex-direction:row;background-color:rgba(0,0,0,.5);color:#fff;width:100%;position:absolute;bottom:0px}#divTwc:fullscreen #divTwcBottom,.kiosk #divTwc #divTwcBottom{display:flex;flex-direction:row;background-color:rgba(0,0,0,.5);color:#fff;width:100%;position:absolute;bottom:0px}.kiosk #divTwc #divTwcBottom>div{display:none}.navButton{cursor:pointer}.visible{visibility:visible;opacity:1;transition:opacity .1s linear}#divTwc:-webkit-full-screen .hidden{visibility:hidden;opacity:0;-webkit-transition:visibility 0s 1s,opacity 1s linear;transition:visibility 0s 1s,opacity 1s linear}#divTwc:fullscreen .hidden{visibility:hidden;opacity:0;transition:visibility 0s 1s,opacity 1s linear}.github-links{width:610px;max-width:calc(100vw - 30px);display:flex;justify-content:space-evenly;flex-wrap:wrap}.github-links span a{text-decoration:none;outline:0}.github-links span .widget{display:inline-block;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:0;line-height:0;white-space:nowrap}.github-links span .btn,.github-links span .social-count{position:relative;display:inline-block;display:inline-flex;height:14px;padding:2px 5px;font-size:11px;font-weight:600;line-height:14px;vertical-align:bottom;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-repeat:repeat-x;background-position:-1px -1px;background-size:110% 110%;border:1px solid}.github-links span .btn{border-radius:.25em}.github-links span .btn:not(:last-child){border-radius:.25em 0 0 .25em}.github-links span .social-count{border-left:0;border-radius:0 .25em .25em 0}.github-links span .widget-lg .btn,.github-links span .widget-lg .social-count{height:16px;padding:5px 10px;font-size:12px;line-height:16px}.github-links span .octicon{display:inline-block;vertical-align:text-top;fill:currentColor;overflow:visible}.github-links span .btn:focus-visible,.github-links span .social-count:focus-visible{outline:2px solid #0969da;outline-offset:-2px}.github-links span .btn{color:#24292f;background-color:#ebf0f4;border-color:#ccd1d5;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f6f8fa'/%3e%3cstop offset='90%25' stop-color='%23ebf0f4'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f6f8fa, #ebf0f4 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF6F8FA", endColorstr="#FFEAEFF3")}.github-links span :root .btn{filter:none}.github-links span .btn:hover,.github-links span .btn:focus{background-color:#e9ebef;background-position:0 -0.5em;border-color:#caccd1;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f3f4f6'/%3e%3cstop offset='90%25' stop-color='%23e9ebef'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f3f4f6, #e9ebef 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF3F4F6", endColorstr="#FFE8EAEE")}.github-links span :root .btn:hover,.github-links span :root .btn:focus{filter:none}.github-links span .btn:active{background-color:#e5e9ed;border-color:#c7cbcf;border-color:rgba(27,31,36,.15);box-shadow:inset 0 .15em .3em rgba(27,31,36,.15);background-image:none;filter:none}.github-links span .social-count{color:#24292f;background-color:#fff;border-color:#ddddde;border-color:rgba(27,31,36,.15)}.github-links span .social-count:hover,.github-links span .social-count:focus{color:#0969da}.github-links span .octicon-heart{color:#bf3989}@media(prefers-color-scheme: light){.github-links span .btn:focus-visible,.github-links span .social-count:focus-visible{outline:2px solid #0969da;outline-offset:-2px}.github-links span .btn{color:#24292f;background-color:#ebf0f4;border-color:#ccd1d5;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f6f8fa'/%3e%3cstop offset='90%25' stop-color='%23ebf0f4'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f6f8fa, #ebf0f4 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF6F8FA", endColorstr="#FFEAEFF3")}.github-links span :root .btn{filter:none}.github-links span .btn:hover,.github-links span .btn:focus{background-color:#e9ebef;background-position:0 -0.5em;border-color:#caccd1;border-color:rgba(27,31,36,.15);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f3f4f6'/%3e%3cstop offset='90%25' stop-color='%23e9ebef'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #f3f4f6, #e9ebef 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FFF3F4F6", endColorstr="#FFE8EAEE")}.github-links span :root .btn:hover,.github-links span :root .btn:focus{filter:none}.github-links span .btn:active{background-color:#e5e9ed;border-color:#c7cbcf;border-color:rgba(27,31,36,.15);box-shadow:inset 0 .15em .3em rgba(27,31,36,.15);background-image:none;filter:none}.github-links span .social-count{color:#24292f;background-color:#fff;border-color:#ddddde;border-color:rgba(27,31,36,.15)}.github-links span .social-count:hover,.github-links span .social-count:focus{color:#0969da}.github-links span .octicon-heart{color:#bf3989}}@media(prefers-color-scheme: dark){.github-links span .btn:focus-visible,.github-links span .social-count:focus-visible{outline:2px solid #58a6ff;outline-offset:-2px}.github-links span .btn{color:#c9d1d9;background-color:#1a1e23;border-color:#2f3439;border-color:rgba(240,246,252,.1);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%2321262d'/%3e%3cstop offset='90%25' stop-color='%231a1e23'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #21262d, #1a1e23 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FF21262D", endColorstr="#FF191D22")}.github-links span :root .btn{filter:none}.github-links span .btn:hover,.github-links span .btn:focus{background-color:#292e33;background-position:0 -0.5em;border-color:#8b949e;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%2330363d'/%3e%3cstop offset='90%25' stop-color='%23292e33'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:linear-gradient(180deg, #30363d, #292e33 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr="#FF30363D", endColorstr="#FF282D32")}.github-links span :root .btn:hover,.github-links span :root .btn:focus{filter:none}.github-links span .btn:active{background-color:#161719;border-color:#8b949e;box-shadow:inset 0 .15em .3em rgba(1,4,9,.15);background-image:none;filter:none}.github-links span .social-count{color:#c9d1d9;background-color:#0d1117;border-color:#24282e;border-color:rgba(240,246,252,.1)}.github-links span .social-count:hover,.github-links span .social-count:focus{color:#58a6ff}.github-links span .octicon-heart{color:#db61a2}}#share-link-copied{color:#ff0;display:none}#share-link-instructions{display:none}.kiosk #divQuery,.kiosk>.info,.kiosk>.heading,.kiosk #enabledDisplays,.kiosk #settings,.kiosk #divInfo{display:none}.weather-display{width:640px;height:480px;overflow:hidden;position:relative;background-image:url(../images/backgrounds/1.png);height:0px}.weather-display.show{height:480px}.weather-display .template{display:none}.weather-display .header{width:640px;height:60px;padding-top:30px}.weather-display .header .title{color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;font-family:"Star4000";font-size:24pt;position:absolute;width:250px}.weather-display .header .title.single{left:170px;top:25px}.weather-display .header .title.dual{left:170px}.weather-display .header .title.dual>div{position:absolute}.weather-display .header .title.dual .top{top:-3px}.weather-display .header .title.dual .bottom{top:26px}.weather-display .header .logo{top:30px;left:50px;position:absolute;z-index:10}.weather-display .header .noaa-logo{position:absolute;top:39px;left:356px}.weather-display .header .title.single{top:40px}.weather-display .header .date-time{white-space:pre;color:#fff;font-family:"Star4000 Small";font-size:24pt;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;left:415px;width:170px;text-align:right;position:absolute}.weather-display .header .date-time.date{padding-top:22px}.weather-display .main{position:relative}.weather-display .main.has-scroll{width:640px;height:310px;overflow:hidden}.weather-display .main.has-scroll.no-header{height:400px}.weather-display .main.has-box{margin-left:64px;margin-right:64px;width:calc(100% - 128px)}.weather-display .scroll{text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;width:640px;height:70px;overflow:hidden;margin-top:10px}.weather-display .scroll .fixed{font-family:"Star4000";font-size:24pt;margin-left:55px}.weather-display .main.current-weather.main .col{height:50px;width:255px;display:inline-block;margin-top:10px;position:absolute;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.current-weather.main .col.left{font-family:"Star4000 Extended";font-size:24pt}.weather-display .main.current-weather.main .col.right{right:0px;font-family:"Star4000 Large";font-size:16pt;font-weight:bold}.weather-display .main.current-weather.main .col.right .row{margin-bottom:12px}.weather-display .main.current-weather.main .col.right .row .label,.weather-display .main.current-weather.main .col.right .row .value{display:inline-block}.weather-display .main.current-weather.main .col.right .row .label{margin-left:20px}.weather-display .main.current-weather.main .col.right .row .value{float:right;margin-right:10px}.weather-display .main.current-weather.main .center{text-align:center}.weather-display .main.current-weather.main .temp{font-family:"Star4000 Large";font-size:24pt}.weather-display .main.current-weather.main .icon{height:100px}.weather-display .main.current-weather.main .icon img{max-width:126px}.weather-display .main.current-weather.main .wind-container{margin-bottom:10px}.weather-display .main.current-weather.main .wind-container>div{width:45%;display:inline-block;margin:0px}.weather-display .main.current-weather.main .wind-container .wind-label{margin-left:5px}.weather-display .main.current-weather.main .wind-container .wind{text-align:right}.weather-display .main.current-weather.main .wind-gusts{margin-left:5px}.weather-display .main.current-weather.main .location{color:#ff0;margin-bottom:10px}#extended-forecast-html.weather-display{background-image:url("../images/backgrounds/2.png")}.weather-display .main.extended-forecast .day-container{margin-top:16px;margin-left:27px}.weather-display .main.extended-forecast .day{text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;padding:5px;height:285px;width:155px;display:inline-block;margin:0px 15px;font-family:"Star4000";font-size:24pt}.weather-display .main.extended-forecast .day .date{text-transform:uppercase;text-align:center;color:#ff0}.weather-display .main.extended-forecast .day .condition{text-align:center;height:74px;margin-top:10px}.weather-display .main.extended-forecast .day .icon{text-align:center;height:75px}.weather-display .main.extended-forecast .day .icon img{max-height:75px}.weather-display .main.extended-forecast .day .temperatures{width:100%;margin-top:5px}.weather-display .main.extended-forecast .day .temperatures .temperature-block{display:inline-block;width:44%;vertical-align:top}.weather-display .main.extended-forecast .day .temperatures .temperature-block>div{text-align:center}.weather-display .main.extended-forecast .day .temperatures .temperature-block .value{font-family:"Star4000 Large";margin-top:4px}.weather-display .main.extended-forecast .day .temperatures .temperature-block.lo .label{color:#8080ff}.weather-display .main.extended-forecast .day .temperatures .temperature-block.hi .label{color:#ff0}.weather-display .main.hourly.main{overflow-y:hidden}.weather-display .main.hourly.main .column-headers{background-color:#200057;height:20px;position:absolute;width:100%}.weather-display .main.hourly.main .column-headers{position:sticky;top:0px;z-index:5}.weather-display .main.hourly.main .column-headers div{display:inline-block;font-family:"Star4000 Small";font-size:24pt;color:#ff0;position:absolute;top:-14px;z-index:5;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.hourly.main .column-headers .temp{left:355px}.weather-display .main.hourly.main .column-headers .like{left:435px}.weather-display .main.hourly.main .column-headers .wind{left:535px}.weather-display .main.hourly.main .hourly-lines{min-height:338px;padding-top:10px;background:repeating-linear-gradient(0deg, #001040 0px, #102080 136px, #102080 202px, #001040 338px)}.weather-display .main.hourly.main .hourly-lines .hourly-row{font-family:"Star4000 Large";font-size:24pt;height:72px;color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative}.weather-display .main.hourly.main .hourly-lines .hourly-row>div{position:absolute;white-space:pre;top:8px}.weather-display .main.hourly.main .hourly-lines .hourly-row .hour{left:25px}.weather-display .main.hourly.main .hourly-lines .hourly-row .icon{left:255px;width:70px;text-align:center;top:unset}.weather-display .main.hourly.main .hourly-lines .hourly-row .temp{left:355px}.weather-display .main.hourly.main .hourly-lines .hourly-row .like{left:425px}.weather-display .main.hourly.main .hourly-lines .hourly-row .like.heat-index{color:#e00}.weather-display .main.hourly.main .hourly-lines .hourly-row .like.wind-chill{color:#8080ff}.weather-display .main.hourly.main .hourly-lines .hourly-row .wind{left:505px;width:100px;text-align:right}#hourly-graph-html{background-image:url(../images/backgrounds/1-chart.png)}#hourly-graph-html .header .right{position:absolute;top:35px;right:60px;width:360px;font-family:"Star4000 Small";font-size:32px;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;text-align:right}#hourly-graph-html .header .right div{margin-top:-18px}#hourly-graph-html .header .right .temperature{color:red}#hourly-graph-html .header .right .cloud{color:#d3d3d3}#hourly-graph-html .header .right .rain{color:aqua}.weather-display .main.hourly-graph.main>div{position:absolute}.weather-display .main.hourly-graph.main .label{font-family:"Star4000 Small";font-size:24pt;color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;margin-top:-15px;position:absolute}.weather-display .main.hourly-graph.main .x-axis{bottom:0px;left:0px;width:640px;height:20px}.weather-display .main.hourly-graph.main .x-axis .label{text-align:center;width:50px}.weather-display .main.hourly-graph.main .x-axis .label.l-1{left:25px}.weather-display .main.hourly-graph.main .x-axis .label.l-2{left:158px}.weather-display .main.hourly-graph.main .x-axis .label.l-3{left:291px}.weather-display .main.hourly-graph.main .x-axis .label.l-4{left:424px}.weather-display .main.hourly-graph.main .x-axis .label.l-5{left:557px}.weather-display .main.hourly-graph.main .chart{top:0px;left:50px}.weather-display .main.hourly-graph.main .chart img{width:532px;height:285px}.weather-display .main.hourly-graph.main .y-axis{top:0px;left:0px;width:50px;height:285px}.weather-display .main.hourly-graph.main .y-axis .label{text-align:right;right:0px}.weather-display .main.hourly-graph.main .y-axis .label.l-1{top:0px}.weather-display .main.hourly-graph.main .y-axis .label.l-2{top:140px}.weather-display .main.hourly-graph.main .y-axis .label.l-3{bottom:0px}.weather-display .main.hourly-graph.main .column-headers{background-color:#200057;height:20px;position:absolute;width:100%}.weather-display .main.hourly-graph.main .column-headers{position:sticky;top:0px;z-index:5}.weather-display .main.hourly-graph.main .column-headers .temp{left:355px}.weather-display .main.hourly-graph.main .column-headers .like{left:435px}.weather-display .main.hourly-graph.main .column-headers .wind{left:535px}.weather-display .main.travel.main{overflow-y:hidden}.weather-display .main.travel.main .column-headers{background-color:#200057;height:20px;position:absolute;width:100%}.weather-display .main.travel.main .column-headers{position:sticky;top:0px;z-index:5}.weather-display .main.travel.main .column-headers div{display:inline-block;font-family:"Star4000 Small";font-size:24pt;color:#ff0;position:absolute;top:-14px;z-index:5;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.travel.main .column-headers .temp{width:50px;text-align:center}.weather-display .main.travel.main .column-headers .temp.low{left:455px}.weather-display .main.travel.main .column-headers .temp.high{left:510px;width:60px}.weather-display .main.travel.main .travel-lines{min-height:338px;padding-top:10px;background:repeating-linear-gradient(0deg, #001040 0px, #102080 136px, #102080 202px, #001040 338px)}.weather-display .main.travel.main .travel-lines .travel-row{font-family:"Star4000 Large";font-size:24pt;height:72px;color:#ff0;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative}.weather-display .main.travel.main .travel-lines .travel-row>div{position:absolute;white-space:pre;top:8px}.weather-display .main.travel.main .travel-lines .travel-row .city{left:80px}.weather-display .main.travel.main .travel-lines .travel-row .icon{left:330px;width:70px;text-align:center;top:unset}.weather-display .main.travel.main .travel-lines .travel-row .icon img{max-width:47px}.weather-display .main.travel.main .travel-lines .travel-row .temp{width:50px;text-align:center}.weather-display .main.travel.main .travel-lines .travel-row .temp.low{left:455px}.weather-display .main.travel.main .travel-lines .travel-row .temp.high{left:510px;width:60px}.weather-display .latest-observations.main{overflow-y:hidden}.weather-display .latest-observations.main .column-headers{height:20px;position:absolute;width:100%}.weather-display .latest-observations.main .column-headers{top:0px}.weather-display .latest-observations.main .column-headers div{display:inline-block;font-family:"Star4000 Small";font-size:24pt;position:absolute;top:-14px;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .latest-observations.main .column-headers .temp{display:none}.weather-display .latest-observations.main .column-headers .temp.show{display:inline-block}.weather-display .latest-observations.main .temp{left:230px}.weather-display .latest-observations.main .weather{left:280px}.weather-display .latest-observations.main .wind{left:430px}.weather-display .latest-observations.main .observation-lines{min-height:338px;padding-top:10px}.weather-display .latest-observations.main .observation-lines .observation-row{font-family:"Star4000";font-size:24pt;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative;height:40px}.weather-display .latest-observations.main .observation-lines .observation-row>div{position:absolute;top:8px}.weather-display .latest-observations.main .observation-lines .observation-row .wind{white-space:pre;text-align:right}.weather-display .local-forecast .container{position:relative;top:15px;margin:0px 10px;box-sizing:border-box;height:280px;overflow:hidden}.weather-display .local-forecast .forecasts{position:relative}.weather-display .local-forecast .forecast{font-family:"Star4000";font-size:24pt;text-transform:uppercase;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;min-height:280px;line-height:40px}.weather-display .progress{text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;font-family:"Star4000 Extended";font-size:19pt}.weather-display .progress .container{position:relative;top:15px;margin:0px 10px;box-sizing:border-box;height:310px;overflow:hidden}.weather-display .progress .container .item{position:relative}.weather-display .progress .container .item .name{white-space:nowrap}.weather-display .progress .container .item .name::after{content:"........................................................................"}.weather-display .progress .container .item .links{position:absolute;text-align:right;right:0px;top:0px}.weather-display .progress .container .item .links>div{background-color:#26235a;display:none;padding-left:4px}.weather-display .progress .container .item .links .loading,.weather-display .progress .container .item .links .retrying{color:#ff0}.weather-display .progress .container .item .links .press-here{color:lime;cursor:pointer}.weather-display .progress .container .item .links .failed{color:red}.weather-display .progress .container .item .links .no-data{color:silver}.weather-display .progress .container .item .links .disabled{color:silver}.weather-display .progress .container .item .links.loading .loading,.weather-display .progress .container .item .links.press-here .press-here,.weather-display .progress .container .item .links.failed .failed,.weather-display .progress .container .item .links.no-data .no-data,.weather-display .progress .container .item .links.disabled .disabled,.weather-display .progress .container .item .links.retrying .retrying{display:block}@keyframes progress-scroll{0%{background-position:-40px 0}100%{background-position:40px 0}}#progress-html.weather-display .scroll .progress-bar-container{border:2px solid #000;background-color:#fff;margin:20px auto;width:524px;position:relative;display:none}#progress-html.weather-display .scroll .progress-bar-container.show{display:block}#progress-html.weather-display .scroll .progress-bar-container .progress-bar{height:20px;margin:2px;width:520px;background:repeating-linear-gradient(90deg, #09246f 0px, #09246f 5px, #364ac0 5px, #364ac0 10px, #4f99f9 10px, #4f99f9 15px, #8ffdfa 15px, #8ffdfa 20px, #4f99f9 20px, #4f99f9 25px, #364ac0 25px, #364ac0 30px, #09246f 30px, #09246f 40px);animation-duration:2s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:progress-scroll;animation-timing-function:steps(8, end)}#progress-html.weather-display .scroll .progress-bar-container .cover{position:absolute;top:0px;right:0px;background-color:#fff;width:100%;height:24px;transition:width 1s steps(6)}#radar-html.weather-display{background-image:url("../images/backgrounds/4.png")}#radar-html.weather-display .header{height:83px}#radar-html.weather-display .header .title.dual{color:#fff;font-family:"Arial",sans-serif;font-weight:bold;font-size:28pt;left:155px}#radar-html.weather-display .header .title.dual .top{top:-4px}#radar-html.weather-display .header .title.dual .bottom{top:31px}#radar-html.weather-display .header .right{position:absolute;right:0px;width:360px;margin-top:2px;font-family:"Star4000";font-size:18pt;font-weight:bold;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;text-align:center}#radar-html.weather-display .header .right .scale>div{display:inline-block}#radar-html.weather-display .header .right .scale-table{display:table-row;border-collapse:collapse}#radar-html.weather-display .header .right .scale-table .box{display:table-cell;border:2px solid #000;width:17px;height:24px;padding:0}#radar-html.weather-display .header .right .scale-table .box-1{background-color:#31d216}#radar-html.weather-display .header .right .scale-table .box-2{background-color:#1c8a12}#radar-html.weather-display .header .right .scale-table .box-3{background-color:#145a0f}#radar-html.weather-display .header .right .scale-table .box-4{background-color:#0a280a}#radar-html.weather-display .header .right .scale-table .box-5{background-color:#c4b346}#radar-html.weather-display .header .right .scale-table .box-6{background-color:#be4813}#radar-html.weather-display .header .right .scale-table .box-7{background-color:#ab0e0e}#radar-html.weather-display .header .right .scale-table .box-8{background-color:#731f04}#radar-html.weather-display .header .right .scale .text{position:relative;top:-5px}#radar-html.weather-display .header .right .time{position:relative;font-weight:normal;top:-14px;font-family:"Star4000 Small";font-size:24pt}.weather-display .main.radar{overflow:hidden;height:367px}.weather-display .main.radar .container .scroll-area{position:relative}.wide.radar #container{background:url(../images/backgrounds/4-wide.png)}#regional-forecast-html.weather-display{background-image:url("../images/backgrounds/5.png")}.weather-display .main.regional-forecast{position:relative}.weather-display .main.regional-forecast .map{position:absolute;transform-origin:0 0}.weather-display .main.regional-forecast .location{position:absolute;width:140px;margin-left:-40px;margin-top:-35px}.weather-display .main.regional-forecast .location>div{position:absolute;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.regional-forecast .location .icon{top:26px;left:44px}.weather-display .main.regional-forecast .location .icon img{max-height:32px}.weather-display .main.regional-forecast .location .temp{font-family:"Star4000 Large";font-size:28px;color:#ff0;top:28px;text-align:right;width:40px}.weather-display .main.regional-forecast .location .city{font-family:Star4000;font-size:20px}#almanac-html.weather-display{background-image:url("../images/backgrounds/3.png")}.weather-display .main.almanac{font-family:"Star4000";font-size:24pt;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .main.almanac .sun{display:table;margin-left:50px;height:100px}.weather-display .main.almanac .sun>div{display:table-row;position:relative}.weather-display .main.almanac .sun>div>div{display:table-cell}.weather-display .main.almanac .sun .days{color:#ff0;text-align:right;top:-5px}.weather-display .main.almanac .sun .days .day{padding-right:10px}.weather-display .main.almanac .sun .times{text-align:right}.weather-display .main.almanac .sun .times .sun-time{width:200px}.weather-display .main.almanac .sun .times.times-1{top:-10px}.weather-display .main.almanac .sun .times.times-2{top:-15px}.weather-display .main.almanac .moon{position:relative;top:-10px;padding:0px 60px}.weather-display .main.almanac .moon .title{color:#ff0}.weather-display .main.almanac .moon .day{display:inline-block;text-align:center;width:130px}.weather-display .main.almanac .moon .day .icon{padding-left:10px}.weather-display .main.almanac .moon .day .date{position:relative;top:-10px}.weather-display .main.hazards.main{overflow-y:hidden}.weather-display .main.hazards.main .hazard-lines{min-height:400px;padding-top:10px;background-color:#702323}.weather-display .main.hazards.main .hazard-lines .hazard{font-family:"Star4000";font-size:24pt;color:#fff;text-shadow:0px 0px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;position:relative;text-transform:uppercase;margin-top:110px;margin-left:80px;margin-right:80px}.media{display:none}#ToggleMedia{display:none}#ToggleMedia.available{display:inline-block}#ToggleMedia.available img.on{display:none}#ToggleMedia.available img.off{display:block}#ToggleMedia.available.playing img.on{display:block}#ToggleMedia.available.playing img.off{display:none}#spc-outlook-html.weather-display{background-image:url("../images/backgrounds/6.png")}.weather-display .spc-outlook .container{position:relative;top:0px;margin:0px 10px;box-sizing:border-box;height:300px;overflow:hidden}.weather-display .spc-outlook .risk-levels{position:absolute;left:206px;font-family:"Star4000 Small";font-size:32px;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000}.weather-display .spc-outlook .risk-levels .risk-level{position:relative;top:-14px;height:20px}.weather-display .spc-outlook .days{position:absolute;top:120px}.weather-display .spc-outlook .days .day{height:60px}.weather-display .spc-outlook .days .day .day-name{position:absolute;font-family:"Star4000";font-size:24pt;width:200px;text-align:right;text-shadow:3px 3px 0 #000,-1.5px -1.5px 0 #000,0 -1.5px 0 #000,1.5px -1.5px 0 #000,1.5px 0 0 #000,1.5px 1.5px 0 #000,0 1.5px 0 #000,-1.5px 1.5px 0 #000,-1.5px 0 0 #000;padding-top:20px}.weather-display .spc-outlook .days .day .risk-bar{position:absolute;width:150px;height:40px;left:210px;margin-top:20px;border:3px outset #b3b3b3;background:linear-gradient(0deg, hsl(0, 0%, 40%) 0%, hsl(0, 0%, 60%) 50%, hsl(0, 0%, 40%) 100%)}/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/server/styles/main.css.map b/server/styles/main.css.map index cb98dba..ce369d9 100644 --- a/server/styles/main.css.map +++ b/server/styles/main.css.map @@ -1 +1 @@ -{"version":3,"sources":["scss/_page.scss","scss/shared/_utils.scss","scss/shared/_colors.scss","scss/_weather-display.scss","scss/_current-weather.scss","scss/_extended-forecast.scss","scss/_hourly.scss","scss/_hourly-graph.scss","scss/_travel.scss","scss/_latest-observations.scss","scss/_local-forecast.scss","scss/_progress.scss","scss/_radar.scss","scss/_regional-forecast.scss","scss/_almanac.scss","scss/_hazards.scss","scss/_media.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file +{"version":3,"sources":["scss/_page.scss","scss/shared/_utils.scss","scss/shared/_colors.scss","scss/_weather-display.scss","scss/_current-weather.scss","scss/_extended-forecast.scss","scss/_hourly.scss","scss/_hourly-graph.scss","scss/_travel.scss","scss/_latest-observations.scss","scss/_local-forecast.scss","scss/_progress.scss","scss/_radar.scss","scss/_regional-forecast.scss","scss/_almanac.scss","scss/_hazards.scss","scss/_media.scss","scss/_spc-outlook.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file diff --git a/server/styles/scss/_spc-outlook.scss b/server/styles/scss/_spc-outlook.scss new file mode 100644 index 0000000..9ae6db0 --- /dev/null +++ b/server/styles/scss/_spc-outlook.scss @@ -0,0 +1,61 @@ +@use 'shared/_colors'as c; +@use 'shared/_utils'as u; + +#spc-outlook-html.weather-display { + background-image: url('../images/backgrounds/6.png'); +} + +.weather-display .spc-outlook { + + .container { + position: relative; + top: 0px; + margin: 0px 10px; + box-sizing: border-box; + height: 300px; + overflow: hidden; + } + + .risk-levels { + position: absolute; + left: 206px; + font-family: 'Star4000 Small'; + font-size: 32px; + @include u.text-shadow(); + + .risk-level { + position: relative; + top: -14px; + height: 20px; + } + } + + .days { + position: absolute; + top: 120px; + + .day { + height: 60px; + + .day-name { + position: absolute; + font-family: 'Star4000'; + font-size: 24pt; + width: 200px; + text-align: right; + @include u.text-shadow(); + padding-top: 20px; + } + + .risk-bar { + position: absolute; + width: 150px; + height: 40px; + left: 210px; + margin-top: 20px; + border: 3px outset hsl(0, 0%, 70%); + background: linear-gradient(0deg, hsl(0, 0%, 40%) 0%, hsl(0, 0%, 60%) 50%, hsl(0, 0%, 40%) 100%); + } + } + } +} \ No newline at end of file diff --git a/server/styles/scss/main.scss b/server/styles/scss/main.scss index 978c262..260081a 100644 --- a/server/styles/scss/main.scss +++ b/server/styles/scss/main.scss @@ -12,4 +12,5 @@ @use 'regional-forecast'; @use 'almanac'; @use 'hazards'; -@use 'media'; \ No newline at end of file +@use 'media'; +@use 'spc-outlook'; \ No newline at end of file diff --git a/views/index.ejs b/views/index.ejs index e90435f..924147e 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -33,6 +33,7 @@ + @@ -109,6 +110,9 @@

<%- include('partials/almanac.ejs') %>
+
+ <%- include('partials/spc-outlook.ejs') %> +
<%- include('partials/extended-forecast.ejs') %>
diff --git a/views/partials/spc-outlook.ejs b/views/partials/spc-outlook.ejs new file mode 100644 index 0000000..3a8ff45 --- /dev/null +++ b/views/partials/spc-outlook.ejs @@ -0,0 +1,20 @@ +<%- include('header.ejs', {title: 'SPC Outlook', hasTime: true, noaaLogo: true}) %> +
+
+
+
High
+
Moderate
+
Enhanced
+
Slight
+
Marginal
+
T'Storm
+
+
+
+
Monday
+
+
+
+
+
+ <%- include('scroll.ejs') %> \ No newline at end of file