From 0423fea869d4ea3019ebbdec4ff05b5946e3304e Mon Sep 17 00:00:00 2001 From: wiseaidev Date: Sat, 11 Mar 2023 17:18:10 +0200 Subject: [PATCH] init upload extension Signed-off-by: wiseaidev --- .prettierrc | 5 + data/languages.json | 58 + images/16.png | Bin 0 -> 723 bytes images/192.png | Bin 0 -> 23196 bytes images/32.png | Bin 0 -> 1779 bytes images/512.png | Bin 0 -> 99981 bytes images/favicon.ico | Bin 0 -> 15406 bytes images/logo.png | Bin 0 -> 43529 bytes ...ap-5.3.0-alpha1-dist-css-bootstrap.min.css | 11270 ++++++++++++++++ lib/bootstrap-5.3.0-alpha1.min.js | 4180 ++++++ lib/jquery-3.6.3.min.js | 5595 ++++++++ manifest.json | 37 + popup.css | 931 ++ popup.html | 795 ++ scripts/background.js | 77 + scripts/popup.js | 2106 +++ scripts/text-to-speech.js | 150 + scripts/utils.js | 110 + 18 files changed, 25314 insertions(+) create mode 100644 .prettierrc create mode 100644 data/languages.json create mode 100644 images/16.png create mode 100644 images/192.png create mode 100644 images/32.png create mode 100644 images/512.png create mode 100644 images/favicon.ico create mode 100644 images/logo.png create mode 100644 lib/bootstrap-5.3.0-alpha1-dist-css-bootstrap.min.css create mode 100644 lib/bootstrap-5.3.0-alpha1.min.js create mode 100644 lib/jquery-3.6.3.min.js create mode 100644 manifest.json create mode 100644 popup.css create mode 100644 popup.html create mode 100644 scripts/background.js create mode 100644 scripts/popup.js create mode 100644 scripts/text-to-speech.js create mode 100644 scripts/utils.js diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..9a64ca0 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "tabWidth": 2, + "useTabs": false, + "printWidth": 80 +} diff --git a/data/languages.json b/data/languages.json new file mode 100644 index 0000000..1f0a5fc --- /dev/null +++ b/data/languages.json @@ -0,0 +1,58 @@ +[ + "af", + "am", + "ar", + "bs", + "ca", + "co", + "cs", + "cy", + "da", + "de", + "el", + "en", + "eo", + "es", + "fi", + "fr", + "fy", + "gd", + "haw", + "hi", + "hr", + "hu", + "hy", + "id", + "is", + "it", + "ja", + "ko", + "ku", + "ky", + "la", + "lb", + "lv", + "mk", + "nl", + "no", + "pl", + "ps", + "pt", + "ro", + "ru", + "sd", + "sk", + "sm", + "sn", + "sq", + "sr", + "sv", + "sw", + "ta", + "th", + "tr", + "vi", + "xh", + "zh-CN", + "zh-TW" +] diff --git a/images/16.png b/images/16.png new file mode 100644 index 0000000000000000000000000000000000000000..fd13bef4dd339218df1e6278a2c4094ce7452564 GIT binary patch literal 723 zcmV;^0xbQBP)Px%jY&j7R5(vEEg@74Tp2NuQu|37;~y1I>e0Y0?Z)tN5;pMp2K6N+n<)b zWCXHqLeedcs0~W3n;cs=5Y-K}C>@w<7_uO`f@N{^;!$fQA5k18@znTVMO; z1#v1J25r)0f~rVTi3szytUMev%{M+sz=#;sB!fpld>>KWWhNOw zj3DBSFG-SBiYO&VmI@Z|{F7nKp7WV>6#0nncK64Je=UEILF|DcF|pCNb4^sVg6DaT zt;khYB5x~>^LfNH3xOM9Vgf=KoPHM5vqOs}Q{D6Z67Gw}u>%)&JKrLXd$#|Z{9>80W4_G%~xv@AswzwJS|*3dHTP*J7)c}wglhK zl}P+jkL%n81UX9NNy@g)YPyA07*naRCr$Oy$O(H$9W$3XXZPrs=NB08O#tj0RrG5vH}0qpbMDj?pN>S%a`x}{`>!vz#jV$08o2uPW#h&{jLDg z+x};N1>UeLun&M+^6K~H+AUe;UEE|J0J~VU{YzdyE3glMz5Fis1;^Ci&eZ|1{{p7| z0;YC@*TB2G_7tyu#*MDut0V!Y|6n(|Ft3m6_t*Ja@9|Xvz_q5e|NZ_7I4dwk9KS{Y zFvS(PMU?j1e}Y@IP`CItQwPBQi@(KhbpLkOwE|NI031C^ZzJ!Da>cw(Bw6eJh~f<6 zXn_U`bNcta|4Bwu90Kr5t0Jj{0_flH)Y%$W=X)ie9EfH!Drix0JvX4etO=rfvx!`_#SU2UWy_X#hoDb zS`oS-x>$GrPo6k^93klr2_OgmBUyW+E#&;(~Fiyi0uvLXPf3 zs3O$kB=iNDi#ZUc)OtTql^T0rgb^-fUW8ngRhlaxRPiVhN|scu^*!Hb1bhJQMhePmW$^L$Ul#+|5nWE4bVCGq)f*l?N?XO<%4L2zylw^qeuZjG`AXkaK)sQb%GGSBT-W$Q2+hL!WMb$7jb=t?Xb-DI{sBz(XKO zA#*89nU|$1grQtTKq*0`P@<|tnN=kMkyTtsTtf4FL{Xf9APN*7RZ1wn)*FgS2w$;? zN{KVWg@;Osf-2xj8V;ZzOi!PvB2(3%mnfksE<{Qx@rZuQdU-0Tq@;vW{7HcJ0Mw~? zasIrJ>Ljepf4TpK$JTd4)Yo&(Q~}V<-tsNMZS%iQmY3ej{Qwlx6t0&5f0rHu6);ed z2N3(9A|C*M4;X;QfLH;c=?PziLhh^oH6H^CB);YqT0q!iNI;sNkf1Cvncs0BO<`wnVe*`!aE4~3M~0P9LxMNkeAMMz13gf#HxWW}Y( zit|<4`z9}n)5xwoN@tZQL!d+|!ZxMC^JPmaRVaW9l(BWnS_KbiUMys%;mKc3uZNg- zbMB4+uscImk(Gb?yKh$ubHAaMR^BdsuO@sXYUBZgXb{wY*T3tZKGi^w?Es(?)?lDS zgTWHM5;YiVb__sJof+fsHBmMk)2Kcg01Y>t0Dx8-3;^u4hSN6$u8)tTktSqw-E@Oag029xIr7SrGF38=74iL#x zdiv6)@(2j7D3GFHMJ|aa1wil)c?G?2Wb<{4`T?^;1mg1wp4^ZC51NKP`+R7- zplv`a4sBVex85-??px}xMc*gxs~12-RTNYSty%zOsFu~_feam=L*hIb)#?f%gap2? zmwHAi=pysL6B+V)0Uo0Y!N(XOyyEGlLGsi$E^K}}&8wsu5`ki&y-f+(037e9BVJafLMjvVR}S$2u2hJ^VYMT4HI5=Qm!7kf&|E)il# zF0#IYxkDUQK*I7v3gF}QyL#|J1;>xqH2Co+kX2ks^hb|U_!FS;*~hdj-4!if<)R${ zU{@00=usN;2j1;3&3)8gTDeaHK)*o)0wV=9An>1-2(|jC?}yTX5m0Cwc(eutf&u>p z225JTu=@8%rO=YXsu7LhYXD&E3C&@xU123j^PL^bsvQO_jxjq@mqz-34Jt&ldw~`V0Eb5E7NRyEEXZ*l_z$Hgj!{Vh9#tR|L4NE>)JGIh z1rSsvpngJ`2R>sUI9{t%=qnO>0EJX(n( z{N)y_gdAQvvHAkft0AdmpprZygoH|oBAlHqt0akmG1U6GC<@=BgoK_dvVvcvEEwcz zCS;KntUJHvEzNB53+waMpx0rFnEn@~(1q^DrT; z6WO`tvjC56?QPg4GIj)jU5z~n0MD>}^vmFjW3|She@B&*qJ3bdV?a@>N#=YbA+(AV z2OwKMfRBSX9M*7V%_1Fe==m!H07Jws0JNd0udRO>>E|P3*BapUSjITTpN#=rgOMoI z^UVFNM6tw+L}~Q>k&0&2I3!afPIG?*0adkXhxbsT29~usD5_%m5bE^$su~PhvKUpZ zk$APZ&>vo}mj)Ob>;gSx0*FEhAtjL|1&ScS=kRImfB9xfgXsa_pB<&Kc;Mas;@n4r zg{AwH@9R0E8dDQJsy!nB)L@{sB+$q0d9{S7rHA<)0TX)Kct*)UP<1l8xE{wCgn%#C zFx=VzHeA$rk7}Yf$0q^c7`z$~R*kU$FotFWn1kN5(sHjaJ)1wbYcTvME^>l@hX|9*aCls1y|+rh^LtR26x_B4IQu z^5mG;3Qq|x4*R9})+)=AK{ohJMXF!#pE>gK^+<#5w3yuiU?)0}l>i8Uc?3YM0$HOM zkhA03;#jEeSZRPuXAEM^wT$OTU#B%BqcY)fybjq5%5wB3HOA}cC0S0Z0f2|C$Hn1} z`nWYZwY$>%ZCss=G;s}HtO_(D^2S4j1m|Aks$AAHqzTLz@QwEf3CIvs z12pT|GDL=8ZvbtcU#ow{b7g=w26zi3<6hN7inq}|Q5+AwT8_kXY#!Gm)_|>H8tBf| z7aF3+`PWivw6-Ir(s<6Qs&?@)e6i@~5VN9gtFS9VvoBZz(LS9&?*y3 zX|xq+?M}78F`Q@glC1te(#>6t+7Oo|AgexUXSTzw8#iXnwHxkl0AycsL%^;IqzT-{ z2wZSjb;(L2Wb5X&;Q29iw(Opk%?@G>!_Rs#!Zqzw@#Ji~u5ua8Yr6ol<^P zX2ZNJPF6)asLEww1?@R9_p&0&>bH$9yb}Nz?y5Pd z10KskjSA%I+O@i1{#n8^wgVdG)(vY7=Sc&8%w1}U)K!ff!m2?v;`BE9+{_1w-9E2l zST{D&zj{*%3P<7U*q&ZX2a2@K=WBDQ5EaFDvuZG@SCct zE(s~u3J|BIkY`n1t$Q(KoQot}o(+nW&yj*&7(DlL>(h!0+#&!h-lqd$)&{TyY&|?y zH8P@KVaka4U7{OQpKpv}D-}#2Z45wePz{0L=xB|~(@20?WvEjcj4EL51T6s!K{$3p z!(p|4hMp56)+Z%^zQzX0w$SHY70WTMuLzjA^RPCH)#Yud$V7?9B%8HqtQ4~9lJj@1 zvWz%0syHrp$LDJnP)nLg?(PN+jVo9OC^0ufCny1t#!H6)zB5bfQqIxw6b-%3#RmS|<5FJ%R z+Y(mVID~Aa1%Bry`%QX(tTDe80Q57XYt*Q2NYuED?%4X?);=-o!D~RE2el4YSl~;k zxDZ5e0+oOy?Oo=gdWoeOmqpQGK^zg!>q?NM%+iacD4r_I>N!T#N#X?^UR52RdY|l{ z`Q?|U0fMOlV1~W@Jv458B%DP6AUD7OmoZ>1x3(&dCTimiLg{Iv!!{P6_5Vq)kV&Jk zwt*Wra1Cy)E*Ro(UY>D@8pF}%3N?8_t`EJj9Sk8jfvz!Qx``)j1Asi5@>;*_ zcNgxi-Jr@O#98idb$k;K&`PCAl|VPRwh4@zRNDnkP^^&xBae`Ek!sHGs#~tx)_QWR zI^b}&S~oY|6vu!bbCFtCpp`0(`ecl0O&rEW=|rThG-$j^j*HWJt40#Ts%6Hr(u`TF zRbzg9d^R_QLj&B^;cWt4eVn0vgkG6qRDw{uKdp2$QDy+}2nBS=)Dmfw(b@?EoqX4w z4M0>CtgR;yh9Lxjhp85jrxoxj2TIBzFN;6iD2m@tU%AxweD6-u3QLw&54S!4p3OY@ z(|q;fCnT>@+U@j0P%muUekg&#`T7N(2Olbr!sX@kdVK!dsXJR8pB?~?9`!o;{qGCA zGmo={WiBu(bxi`ctFjP5Gckis_hCVu3)8u<%~9Z zYgL&hPsix_ao|`dQI%40 zjxp*Alq`A4r7yj@G(rfbfK!nrm$I@vpZ0se(B(tDOLMKxp_oO7*9V(xS%39}kbD&s zJP&dA4~w%)FYcJwUB-4jRPUTS6#(dYIRNnHmsYG1Tzhy-Fw1gvS9P($F`cMx2w9)+ zc!V?%91yr(A-vuIt5%~-3bt9SF@JcI_dme_by}9uVU5pvl=3{0{?Kqv*M(?2G>x<| zDHU#tgaKre3T@}os6i%W!42+7)Ugo&^&EUc^>U&LLNO(RS6UhbR6(Z|18@$*;ZTR4 zD4|doQYCJKUCA^4C;dA3LjCi7yJ zP?C9EoG$X>B$H&_C$Ksg_DjV@CeX!6NSgs$6p|OrqZjhE^@`3d^jM4aFn390*(?aE zlqY(Wl2rQDdfI|jc=A_qme=^)1j;vexJdxmVnQwe<{SW6&Tfg*0zz|cL)2E$bkA`k z#Q1#^8!(c?`2L%$Qtfgzv4e@iGaW#3(xSD9cU1rjfW{7RbN&qgte$=a0Gxo9i3&GF zZq<{Q%5kr`2ZA&oIX~W5LJ+-<%#EeqtZ45~q5IDTtQ9fgW6Z*w3 zzjFS!p8x8Zvm_I9g%Imio~?uD-`|Pj`@Q-2`I5qu$@8xO46-f-Rw^pbF_~|K-B8RP znH9%hKCfWrkb=)1SMcyWg|$Nr;3UAEcW`}7r#oY+Gk!i~Xiuj;Tlst~%D*Y!yVQD< z0ISTA z1OPdg@bq(MV5S|a11s|cv-1zlx4_06ZH97;$VH*&SC|(9`4O2|3;( z%{nGrpIS|tNUhe!vQe|PQk8TTBWZq5M*=J<%gDYZQ!2d5v)WCR+e-4>|?c+{liZ%_`(+g@MaaXj!P&HlI38*=lOXi zIirjnD_x%Vd&18|)}t#KoOrCz*FXHI2Y=&`fXA*cU3%&Oh}!MPy@ll!Ooh-~ z+;Mx>DGP?!-7HaCI_U<;r~;|;gq#!!4T#z`+C+sNyTN*mwCmMM7pwcBx?x;G6_%`LKNqOl``SLYi!KKL3~ zqhMQY0GmWKlZ=L$rn+c`*Y*(F3s`zdRRvM#gAcsoQl8ES=^3hEGs(nin(;#s3+@XQ z=@5^e?6q44Mna*&+&Fo1>Ck;5$TfE*!&wn8r`(>z%tKq{#OrcdJwR!ovh zapa#6VL-CA-hEyiC1sX9OO-muJrCsi>b)LicTHy8(yu+e#{kfJ-0LoBH>i#+Hu*fp zTVvgvjbt$O0Itu!0m>+jprwh80$V9yU7oHKuy%nCz&W`@`h}ttKu?JA|6A9i;lz{N zx~czdJVZ7D&5;0>i(8_10WcBhvJ$|pAZy&AHWF*+VuNU=qeTNSy$}=e0`wGNFBk2> zvV}A@@aNPROr~q-Ihz=UO`NkXUA&KW9@reTT5=OCe5p)vjwW`zp8>DQe)TAJnE(*z zhQbOSJ!c6XP!&YJ5@m(1EW(w9nK+h3QDkYFWOPVHk(AGo5e6YMQ9kc|POi zi)T*0^pYrx7ilR@^VUq_2~zaWe60`g*(-W1T@4VoKmxQL*ERswq&Cr6W87+E^-8yB zL#UQ>YwgJv&ztkDj&BWO*A;3CY8o3udyH(l#Hj9AztBpI3}Pq9HC6*)h`_BouKngV z6{3EjHY;+J2V{a!6B0m=)0A>LwFph&iEgssbfGXrZi8S>9>4Y+;j_D-v@r*#!b~qd zs$=N#tW1@eURJGi)bqi$G)Z!rFf2gu50mPktJ5$rV1jRT!Am^{>+Kpz4)kK_I_0{n z1qRjdU7%4;3A$jR<$0QG` zi!;k}f6&hdpIP02Re0#38jTk(m9@n-&DT^tX%)yC zybZA#&hPs7CkTnIa}$GOVBL0I|C-Z%c; z#-ud3H2|1dSdq-6$7%rB{y@e!wFNIurl-yevatbO3TfP;PQ9?E3D+xRBg>}bQga&} zShHg?}a$9%Ut$vMP#fvn;c`$n(CU^y{kK`ma9Y&-Rw0^YDd#o!xo> zv|5k*vo!#;_|)DWL)>np)^h5`eQEQ8oY(-qz=p_2aROaX@3=x6Nie1sO%&8vbqo{1 z5CGVob1M&!F&eGIO-q*xn6({+6|ze`=)jL$~1QtR#!C4iBWyeu`b z$BIE&6oAdJB5Vr4B@|@|{eG%zO91O`b)mZek5ULcPdC6S3#of5X{=|NmICuL0d!*z z?mp0kg&7Yv3klD>cu6gHXGl>BxOip=d9L&KfdPl^@+=f72ahrs^b*L?@HNtcU?Kzv zP)7fwy8hQV_l&tP7l-P;w;Yt`Ppr{1=hhphi&DYIb}m35^q5SGbiGo1l?v4fh`(4C zd5rgo;z$m&w8%uc*$!JYq~7ds(DN9jloPVn=gFt%Tdgx?r55|^ms&-Yf0I-3S?0yh zC#~gmIR2q(yF|L_O8^8wXKqD$z5#&A?KkNUBe&>yW@nQpq>0{ups5^ls>db+WD|k5 zMhckY+5|J+BAY6KIxNNHFpRz$-M2AJwWr49${0Pm$pz8|rU8J78oN0?P419B#Uzut zfi));!5;-pczmnh)1tDdy)M`T^ISdAUSel!MPV9+(FQx12nf#6-o~V?G}RynFuaNB|v1-XmYl0 zSz#bgV%wIast84JGluOYI0pN|DDpZ{&`$#K2d6hLe{PNi?^_$LssI2W07*naRANK< zK2`BRd9=5GXJzplb&Ggc2bsiK$><-E}l_Q^ojiBcb~fRk!SqgsXW}6 z-$-|sQek4ylVahf{B0t^Q5-++cji}=4TNdpGg81reMh>xQCVCy#|>yTQUb3>X);Q8 zn5-77ZG};HiJI_DqFf^_Os)_bhXrp^53C`mRU+ddvYeuk0NOw_#-{_CQ4zV*RLcNo ztORnxR?xvY!9(F4OM#iTM2ywZkpfQ*Hp$`sZ4K}y0f$#v(vAPk|% z3LOJjnhoKuLo;yyat9WegagZSu+(j-)r}$ahAC8BK^XYZq7pb^YQ3Km1_B~4F_u*QM)>I<_l*^c<@06{XT;r2|ykyOfYQ15ZM_OZzBP2LPQ$@klg#eD2g8s z&nqZdWCat5qI!9nk$9IEa^*NU49phJLo0_~M4YV3` zXav%tsy!M_l~(OWY>L_4q7~Qg;BtSH(%@!sj!Gb1zyCxGzye^b1hO_tZET=UTQ>T) zHGoa(bKUjA7NperxXv0iu{tbAihKewR6wgjEzX9z`9d)$fC7d2IS(GVYl-}&x84OO z&#c19v+J-JGxb*=c^f&r(uK>L31meD?N)?^UGV&g%TN|VEiTQHBF|yiPvOAQtXf{| z=8%_{zi|A_@lSu|`Hd4Vt)}NrTxL?KB@klC6Jm)0jcJRVzWaf@E^J)v-BncTG;g#2 z(3=ULPM$dxsm=9wQ0fglpZ?kUiwi@5#|&%O8Bt&TtZ~|&t_rky=MRNZ>zBfXl|vW^ zLnBIeaIijp`@2y~+yI$1la!${nvAO}92xn6&Y?_2yj)@);B%}<9 zL)3<&`7~-w;{`It@gx9jP)l?BQE+X{W^gl19qH0Y2CHH@E=E&cHL3%U5(3`?^qph- zb~I_P$XhZE_)w*@u1x)+kqMiqv(5rFE>tBHp-QP)D4`Wl;F6KFs?@wE;rqV(E#&qi z^XmDRFUdP@o275QV~NB8gV|233m>0<=^Wg9*FjjB33FQVOF0)$ofstl^~Lj-|G(e- z%F7pD{QN6L_53-SZze%GtlD(8vjk8clqFw?Iy2uvvg|(P2md*^_wa9A{M6q!8!;#X zM?XZaH?3he@R&XTLIl9_p+*I=glIcAI9zzrjcHpZ+U{|h!<+VrS^_jG&dAf#s5%od zhA~Ov#t@9Egd9?q5(s)bY{9q=KPl3G|rtJ_%KV5nQ1Y=Ae?g zmz6e_wNrp=mt~9+gL+W#0-M7@JEp*7sbb%QJMTOQvmHiGJaf59(JN`ey+DBAh@8SY~>J1i$f%$C)1O^ zdckB<)k%}Pq2^s&b87%FzkI0a4eI3Uj{;scO6z2c8qTdjV7xr8`&6q?+6FKQa+48d zJmHEOVmC={lthQwrkZ#w0j!rn%uC%NAE`-mSo=D3Yj&y2TkF0x*e}o)hwBss-Cab# zKy2q}i*9tMxcZf%7Y23fI(mynqj4X46e8(CmE#^4sOpUNEO@}cI4&L8+qQ#hfL7krOgeY z6y{>6B<=STDDwpTphu$c40!BRwb?rlQgK2_8MWJI!?!$e^4uprF!grmlNiwpH5Ify za@1?xd+4vn3-kXjoLf4iyt*}F6UcH?6KuYYbz5F7LTr8fwp`LJjA^RJY!Qs@CgJuW z9TnMFcPtvvNboE#`OIK=s@>asg-D%Lvju}d_eb559lPA??PE+oXVj%poxlxMWTgm6 z^!^j$9}N)g*RT0CHg+zml7Uj)nR&m;GFfr1N_5OSpJpJ9VX7hz^Fp;sV>;myRSCr& zIDCMdxOllL1$KgFFdIZN%?o<@(m)l%Qg6xOK2(~QS$cYX9V*cyLWaa6C5fY~)s8Qv zY2Jo@c8D<&^GYa*suEFHDT&esJ+Xum!o5~72*U_bC-aoA&$RqrmR1;1BW!La+B|V~ zo^Ng*1|faYZY78Ax?_Fg^hutquPR_c!P@N;?6##Z55D}rt?hz|-_Rw~lmIk3zW808 zBg?-YEUnySRiLI`*AV%rK48@MXJouOT-r(jo6mDaMVM)^K4w6V3TJFUtWl?2TL7c3 zAfQ#`>z$(bd76rk34d6L&EQG`*2_JFnVwL5fa#S0VN~~o6Fwt&%$xBf(|d?*|DmN& zFdP7MW&nT6z$0+)L4XTGpzE6|DXeI?_WM1I^}EZl+PIvNd*8Gut2`xs)N1a(mZzlO z19R@YFE|Vz#CenGz7adQE7kKo$g8SAvgz z>ux&gl>>9+i8XcD9#m->(Qz!BlpLk75fY%o7?TOh=9RTe( z`bc!}zymrEW*TFS{Pebi!$`epN*PV$w%H(~=_D~Sa7T@Fty*MKo*ke62vAPywT%il zZP`&|C`GgM#knN;Ur+tuyFNXQCQM^*d|y<&fdFvezytLL8MS(%IXix=Cukz|!39AL zfKf}tW`hl*LfOqWMyU^@&eD1uH@VJqlBnk~YP6+6qLd24OM+vmsKI>{QyR>f($!I|Va zt0uWUg_^*bHL7iq4W??}3;;~$CG8Ri`vRqjMg@2 zq(jpPYl2%lY12B;rE`k5Xs0p;7N-&K7NwS2dLRzV>~$dlcJSU`rBiMKgSZJpxDP*N z033dIJB~jREiFF)HXGD-a2RWhW%5*-I)PE`ZVim_2ywHYSOW&T*O;>drKvx*336jS zg|=$7j=PT*`SEtv|G=dme9xc1N))nx+grQ>QwG41cWWcq0l=tVPwfTL9N#H!uTvka zem>sgvq^b&-J&+Lw5bA{>~n>$4tp%llJV!0o;AVZ0Vzu zCQ-XiG4*2P8EW#1TwB0)mXk_V!{ivr29IVx@||DYr^q+P3QP|GaFoV>v-_^j;==zO zt*kgIkSR(rF33@<5~IE}T_PNJ=VWX^6R@*Uo?GqJWQ^A8y}%MD2ETZZ^ByDrMU76kU;3YCS_X zD(s#+=@zwMLJ5$h$4Gu765x6T@Eeij_SQ4sTmVdftM$l-A8y}+09bkef}r-;G?iVb z?$~yTP8)Nluw|^B;iOl{i48OnWIO&?v5VQ##IY5|I!V|r(^47$4EI%_y+xx_oz1NS z00zQL&d-?3)8_q8Y=deIUbmZDQxIdz8k<(@?tWvV+5#OU({0twtu2VgHsdyN2dR|E zvSYH?2f$P*ZjTKJQ=f8%$ye9}#pYuu$1sSmaatg!=3)EBiaw^qP-n3@84 zlmL0Y4}htXo2iz&$@kbfOjuEi=dMWm@BD{%v}o{K@#5kG%Jc@+YLIndjy1}y z>jawEfZMsDQIBl1thy1_R$ZpGonZlGRG>QN=*rG=+7__JHv*u@_f?>szu?!!nbQTp z-~E-hw;=fK*4)wqXz(`0FE(4#Rf%lJH@7{ajRH4?@J@u-8oIW4#)1kn`?VCXJI6R1 zZdedt+r=?sySC4Ho*z^DHo$9uuy2ItPty%LHnt+Of92=zX)P@N$ME36Z_}IPH69?R zacyG+BT?ECNMo3~{(iU7mCgT|Xnm*)#gXvs#v3jOn&`5P3?nd%N>-P#t11~B6KDhc z=zI4AVXpxg+>9wsQ33$z{Ln8w)S793EM8c8yTZMyY#OwQ2#?q28eJa0YYOHK5E`Qv zE6R+jq`_j#9i3fcnrLyY^AlFL?iK{^Zz9fG^)h`*vFigK$3R%x{|2wJN3;Lod%kot z7I%M)y}ts}1OUX396d7IS$Hg5ntddW!?`lV4mI^hcMu^eFS*Q!R8lcQq>qhh3{fKp zG*Idu_EK+FOK_9gy0I2x_4#^0lNIU&z>F=Rbk`7%DNMPp_X{8Zn3aM1hU&s${7=tD ziX{1l9OVBr`Gkpg%E>0 z8xVm#g#mbIi-X4>O|=7(&&A^hF}u{}7j3f=+@v4bOjP%@Xg*{R6T&N{_(mZ-DF{h; zmSuxy;a~pP;ASlD{uq0I1*Qyuy}tmj` zJ-fM+ef3`cHUPLe6Z&BQ_DCGxRw{K*BK@xJ=1D-#fv9>40@V}(+}!1i^v*?Fb#=S; zeJUUdt%V4LniD1N0dvy{2+i`s8ZOS1LI7!xGsbWO7j4{NwOXaOz|gx;c&7WJzLMz< zpY?eZ0QVhA7$G_S9RR2{V`mQ(#mn!luiyVntiUuS0R6Gq2jBJ1cP!C1~I*e$F z$2~=`js6u~*R;L6i&r#x4Xgb+`tam;+OvvAFDTq_T3~xmpae??(8^X)N$kmw*UNfu zL$sZVY3rfiQkE~g6|nQ#Uj5u0hP#`m+YP<#=srgQyg2T@?@eX$f83_j!9Ypk z83J)xs*3^(fcocXYVIWK-|LOwCXeGa_ItMnrruY|G?T`CZnf9P4ubt{wWA5QkJim= zN9e(=xAYdZ*alYaHZg2D3O8e+EE($TZHr`EqPWWU%K?nkoPm;`n_Bi{h7# zNO=&Gp|`u)Bq3i33KtIbnj!}`+wNU4F5SYJq<3GwhJ1u{(XLlPsRGKff{=^3 z5SKtHj=PCTAgM>8WB>!9R6(fT51weoYrPvdULOWBnw>pYDfLvI z<>v~)3n`%lqIy!1VI_G_5;E`z$+71%C1fat7zO~mVhrt`H@66xL%l~}X13=&%Q=5h z0N}1Ej4D4MOw4hVn3VRZQmjxa@F~r(kqlQVD3n5m4;3NljFcM`$F9325zq7bNf>5v zmd)l;wpdZ%7Iv4v10cu8JpmAW1)zFAfczrBOad@-7@&VYK%!e)zrjDd1HcZzjw;aI zLGZUCA%A&A$pv5c#Wx9|*Wkn>!XJM-RyC@B)@sn?N2@Ut2ko&*IWh@4y{(XQJz9;L z^?F`K6eOTjsW*bD4|4(7F&rwzs3f>eB5tBViK3L0R7$iR0t%!>@mEF?LG+&LeJ*4n zv@xp!pHR;y&=OL4LExuMO0VL=la%Iq7XYPvrIhFSzT^N2RALY?B1)k=phSdm^bGO5 zlUbHMB#QDb<*`*i41cevsy|npFO>jqQ%W5VeE)*S*u!4bdS^LI`b_a-6{XL-pL^N?_&kOye#-^XaHc>*{UyASKmqv+G=uE8rZEXCeNW0 z_QBY=jzqBYz>Q`sU~t0~yYURh(2zYMWmw%~QZ=*3iQXTe-cwgwFK9Q^c80bu>P_nP z-Wl5V&^sXM0JI`LZhB{+EGbcS%o^{jJ6z)i9JK|G#M_oj zLLpm{(Q4@V-^{pp%J=9JVg7vqg>M!@J@3a+w;e}sPFL4%&#SVRQTm5WsgJ&+ET2Q? z#OoddTM+CG0pMy2_A3B>;QN1jR>;Sfr0AdxfP}D>%yqf0JLXoLd>klbjN4n{cXj>k z9?-QDEYZ8y={Y%@K$`vLn)@LU>W%Mle=&0tE4gqS`<(U|B7x~Gi0sZr_0BN3Cb+M! z-doQg3dh9VA?tB!Nr%9}prQmyoEM-s%11dQKQaq!PapSJl_|wx?)1@VssS>_Gd`GerO}-~S(H6#VOD1b~z} z1!t?zb}Em1ZbL}hxHhc^$f`!$>}=5tsfo%lmi747Q?!G%w(6V<8YJ+oK1~+(HOAFo z(wx60X59Elt6&CbX!qb=WyYyh14wVxWaOy1y>>?7y(j~r$Ej7%k`N^*)jOf(Kx9JH zAW`Z|im~6Vvh0t)3t;1lDem-z?_kaL;wje+fSo=B0>JbAztaZtzb^^iK@|uAU^Wr2 zjZ$YYS0CRI@m|#pYWC0D#!lE0SPmG_W3-cnnUq}3HORpy2B^7s{jmf&`J9^bYXxZZ zvGj)ojT_Z@c#f7F_1^6GJ-U}s<>Hh=PCaeB*Woj%IX{j`1y>tNJx3V(W^WiK_iWJ00KMDtrpQ9!*RDx@f$e=v=l+EZ-~EEhoqKJ_#Y}rI&_DG zj)sBR69ha@6bcFs3O!H-5HHC9E(ERcgs5bndE{ax#08(RSzs*g4Tpa$vh3^c0=VUy z(d~+eZox&j1ON+CbkGZA17TZn;O!)WJ=gNZttPyciZKp^k;iB&sdL4AjIpc<{2D-T zC6`r)+kmr3V zSA|lSMNtfLfV=?cV+zDEfZ#Gf@L7QLv76=k+@l=*dNH#*0PNu5T?v2y@T3Ia7Fa8Hl?amYA)k4#JnM<;AP*Z$As^%)2hmp=e5G3 zfV?Qqy-_5<4#;#zs_ylIN}s*4q_D zXDJ9t2*xHn!9~Esu*{VrrSB6?Xpxr11tR$QRH}{GW0!=4+Y-q$AK>x7T2)WJaf4vv zu-Kgh*a0NI3gAEM`+wI5@~=<=ptl15>5ZkY5*40QBPLa&af04D=ruY1B!?ZTE%k4; zj$M0BtV)7EjsL#(wlJoA&x4{Y(f`;O@!P3nXsn`tRAPdJ`IxN`G(n?Ej~*Guyh;fk zQXzcFn36%51)-m+EbsVSgdXnj-tMGnSso*doXT?UD2)2H;C8Rr)VXa;kRMWmTfY6%?>fe>H*UVuw`Kegg&M79&&z5^n?MnHCFBW!cl z697T!`~R~C{O(_cp>iNvu{qLI9v@F$Nq= z57k($6W;>gQ-S9}S`-=pX6IJ0IYzF5kKQhuFsFU>6T!65_muQ}bWx@(@H1If9m;tW zw%d|3R!GjX5Mai`WVs*!5rvlrT>MEtNlti*9HESQO3Hu`_?EWkEtj01O_lt5zmglJ zQoVJMpM#?K%nt%!Wt*lJ^rU_qfc$VBhS=kIMJ}70?o_8H0T2M(_dh^^{G7D`kQjAs zuVV|;smbHqcRL_hLf%TnsX6%;Io8f#lVF;>j|GIyGqO@aC*d1gqCR%zOF_L|pj|;I zgxUo;%64Pu->(hZy1OF~QZkBp(Mk~_F-4j%R-(Jo4??1(kOAk)r-U%yr$T}3F*X02kjf0NBXp z6-0-D90LG6XRFkRNzT7r7U;DI+>SF+fohjXlhWXT$eg1%5XmV;{aaCmeJBWtC?$mu z7^K3?&`c;OB>{nn{R?5}m1RkCDRHlN9x&SO`T9YN=Ok<$|xaiOnYOVcOgyFHOxZ_80$&K223fI3ek=!Ejj0Di3xO! z<-Or>@Lm926tn-i`U*@B00aW=)e>M{$quSN*SeXN2AW$MNwL*6E&;nby9<=Eax%+8dG|{RhAb3Aj9lY_f?_(j(;x$&{F^;1`wYG zkUGD=K5=)t!Oc^jUl-UKDZaZ~&Mg-K2mM`F1u_8G$%?slfhKOFB3%s#Td6E<)WD3Qic&B70+4GY6G-Z{7IhkljD3HY3?Sj%ARU!PnuHQuySEWj+5|ftW zIL;DYU5+?kD}nM3rRyD(927#y`CTC)4+=s&-}g_YMVSNY^PqY@rRNBxXRAsu>d`2q zlvYBt3n6av2x}97qEsqpl+cjUE|(%wK+C8VrKJ$-im`J6V`1JOKIp|UFUtHGf;s{^w`GBf;pJ3GO(FejIo&{|iKM*;n0*ffA&TS)DTug}&x^*6Ulq!lPHj-#t z2Qy{1DH}$iFJ;9S!>aN~RT7+x3<50H0a})%Vw6*D zd@CTHPiPqOQh^Xc$TZKhbtTSSmhwx0Y91jy3h?>6tLmA(q`KW~VYG97VKeoHPsT55x7+Um-*Ad>~SQ)N5Ifh!PaDK)r5PmQ@K-2&`4Z zq8UPi04hogCFLOF{B$Md^FT;e0bTC2qC*wur-9OAd0AdA%JMAtypz2&z1RmxJb*F- zD5jbrdYv>ijnk(J06+jJ@pHGODZzRG_hyaiVN{@+Q`R3Ob}aZn5H$akIc~i0+DD$ey zyug=LUKIU`{|P1Vsmk-dNI5^BD}`>@@A4RXUqHx-l#ovh`u%6l0i??S1daKJQ9GUR zGCcvn4g)Nf*!qpRFQowh61(nDK^4W4GXYAQ;Pm+r}ptBo0 zvt)DgpP&RlmBC2)W*%GJ+$GwP-ac+7qb$+aPOvHW+N~aTE8Czc zrgCzW#@D-^C5~O`(nS-vLxS^sS&&}vcUd7|{#z{j+@ zG>fT{RJ2+$A|#Og0mbVoj|uDyPlW)kAi$nR8K~TgT3Jq@q@3qM@G>JrC7hp2rTnwD zl%MM{cKYz^AhYzA0N_xTX&YetW~09?_ixl0<0{=QdVD36c2>c)owvzo=MCLi4cl^G z%av00Kt>kx)tMZ3PJ zs>6e#$O}UL0vP+;Fil_lYuKG)Pv#U|zo?ix0AO?TpCACV3S`uaNlt9#zOM0}2yt#L zCAOaSRw~xk%~P%>k?X`bRCyqZK+VqJ{=uqX9%S9F>O6SAfV=OJMLJ) zvUu+KJ6oQ&(mH%lsnvBRH~aI9bLNL(kt%gAXJoUi_;NQ0ZVQVdW@U-?hVDRz$#ObB z3JF~QAyA!?pwlh@fl?DWV^DOvc^L!+OOq%{vyj(@xTFfWKus(R8J(S#C8d|RluuvY z?4R;L9*HUY&K9rQQb7it_6voSC;NGR+VlPAJ&re|hYL~N#U;#fCB72-{(osF$@6Of zbY^CzMF)fOUVs!^!Q7ZGv-hr^0sv|fe&xAD+jDcKSkbGfb$ZtDziu+;DYsKKd=?E7<^Zr-9^10#DPah{jR8>`- z$*bx#c5Mp)LO%>=p(uu{0BhLV@JWD}h2h~ArSmC(A5nU{r__A~=TZ=F4M1RzEG8K_ z;S+LM3NfpcdaDoQ-Bif~KBWtavIC4zUzLT=09YACyw9sYS4#a}2yj41`G`;HbApin zJWP@oGS9n%F!tZYK(jasey7#zz1RcDUIvh_t+ePVymT|<)By0p!on<#+efQ@@24~X zq%@wA(Zg)ls_^ ziVC~FmA=1OG4IQnRF?!V7dxIe1f^a{h1x7Y_6VgqO(9V#rb?Y@D|IHLv|!i)MQ5D? zMtrHHwDgi>5E&gDvqRqoKu-h2wB7bYrEc#D_3fpC)hJ+}{_f!r(~I^$J6M6K0pP3i z^WFJ&`!T-R`-zn-BW|MFcqQ1)0>Q`xZkWA!x+`6d^|_YNtx-Oiu#Ij@8AeL@9tfqh zuU)rHOf#K~p{0Sxph#09nWut7=467(od74TlrD6(b=rR1B7k(gQ6jhai zYM3NM1OWpf*5jGZr6Ni4j0=($Id;(~+wHbrNSRigpJJ45mQrpoAz-yLJ8&-x{8Y1EFtuIP%Noc*mGahF)GWoca0?Uq~IW!YlGev{CE{tL}1fFDzL-9 zkV1Hr>dXXebE?$|h6U_Q@uDP*Q8m-)a2wFWLZk&uoEI0mycz!^`1NZUE5PcALxskkuq< zD}WZSJFSQrfaEfS-WtdS2Fjy8$(AV{c%C;rkR)sGs#C4@Kd%-5?0t98O6P`O61u^6 zN&ge~p1#<OabyN99z;`T@)YyupIgn#WDr>Ymj)7wjm>#%qqoS)avd3<9-0Xz&3 zV-4c`%LL%TW*v_|qxWNx@Ys8`zO^e+aXuM0Lp&KT}l~Pi_uhNUAcyA^;S5>o5NP+rm4R zexrByp?6eh0obh@joe0^#qO+V-7@G{@@Ujwc z?$Tcrr`G;K@)JMs)Q#Ns)?d4mSAFYe^;)>&^Z@Y06YNlb_WR_$hki9*UVc+SYe(p) ze}CQaxIR{I12KAyb$YUPOIj`0(y(^JU?L5o$Cyw?F+Akm-p(-@%06^=>g#A6T#v`2Y-ycY55n5&g@J{ObN>L?s#o_*vf9O z33^g0x;Z%R_j`}7|BZKl{@R1>pYeKFfvJ(>y`TJK2(bLq`TWd>H(Rp=^V4%*H- z2X~Nm0I*Xh{&wft<2N$SguyJN5=rv<1i))nf0_QocL#tS%nNM*RDloxJ-@B<>&Nmn z&7Ix&Z8PjPv%2EktId9k>N4YU8s{>09vqvM509xqZ(jo3az6a(-EemR*ui`?0Oaz| zZc~#0 z@WioTNp1W+MxtLV+A~B>Zk@ij)H?4 z=~3dNzv4&tEdOY*vh)jnySprz$pyj`=Ihud={lBm2d8f5D3yRluqcybCF}!W2MhVS zIc0hPIC|8Z2_O1?vbglP-(9@DR)H+@-)k+J6i~^PtkP#$S^W6r|LJ@GbiXR{bwlG< zeUNDafX4E{_xMZm9|;zg?z7pT4G{Lw`r;x`C4i=bi$SmVQ>SmwpMdwje@ERY_RwSO zPh}S?FkJxf2j1;3&3!ajSiTSY?M&w8?_$2wxumWK0Ix{bf^_qzPaR7C<30eUv($TS z)ae31zU5o}`MKW+=W7XIZJ*t`tfsek^)4@dk*xW7e;)wTTj)JE^7H_p6q) zcRt4EmL9|%PWJRi10Y=ss=-g6xGo7W4VT6=#@y4Z|Ef)HdH?`LR{rsCzYXT*f0NA4 zzrFDSy=oqyZPwTn-D6=s0)X-4gQsrGKDMs{y=pXhOK&_y003G12fybLg+a7*d%RlC_V0RVG9{job*-P!*nyK@gK zW&nWHzgM)OiLe06hL=>b`N8uKsNdNK!2jRg`GrVw)N%Y*RsDauXJ+Rvx0mE{&4{N`nco%-{uZ~Z=1zv`~;nwd`)TJcl? zxc!M24#Um0U%H15o)!uN#(fCl*P|5G%#Zmo;+Z{bCjPzwedL7RE2R5xI9*(s2FJbjSp!grt+*fx4kah8_m|;fB>WsZK5>gSm@^j z!2XRn@}pJr#&yy(jQVrLG#!$BfqBZBqxS+OP660??rZOZ@ll$+n;pWP7rWy9$kx68 zm#4mvZhKwy-fOl_mI;7Cj#3T>nuvj-Gw&l=N;k}A>4O(uR{r5#{fc5(Kj4OSpnRL) z`t6c40P(igd9PC_0O-cqd@HY9IRP-Z8xKGE!h^)D{FKxWtOyz%tg`c&=po+p66~G< zqI`R+rt**&zrD`AVgX3s3QRc-1#$vluxX8N{^B-E*Pkb~#u=^}iKD`jamm!p7^+=( ze5>F9z4p3*ZlN>4G&*$}WiIMWHFeKB(p)utxBZlAJKqJ%sfVv34-d`mzn62?TO&dd zL;%9;taI8!0H#4uNz0r%0C3>~z4^+~Q#Mh5X4&RFB0euN1|Xy%g&FZpw6sDd%TJL< zF0=#gt+}4peCw2syFpWEwg^d5c;4jAJa*>!ph^FibKd7TT!WVR^zn;0HbM4$x zx6?3!AUt(l?u+1z$R#L|>jEZUlqDCX1?nju(&;cJ-mTWJ^lbb5hyVT7i}F2o1)6|W zjZ`3SkBllTW(J5ZJJQ#y)%%rz|L_p!ry6cokpP63C<%Z(Ktq02xPS&Q=mLIIFw3jp@2 zqC8Mh)$cC{!6y&&dg1x0LHP1q0*rHrf}#CC(J#?Bn}_jo^p|zZzt?PMt!G;kg+Tdr z4VF}d0(tn**mhn5(1d9|Vg>wrOG2D913!FVQZ9a@_`knZVXuKnx6dm~lFsiD0@s`> z0x))O&Uc2H03aoM4WO!9)|U-J&)?*_cQ}Dh~E{NS)Dc(@Ffj^CdNNccT6bQA>HR6qc->9z>D zW(h#3-<$P%U2)y78=RkOaDL1R0wyno#&f{leVciOJ-bf~25R9%WpS$rr( zvEwJX1YmbG?Nb#>pRIFoza99R+&e9=3Mq*#68#`3-*5;47{AZTog*D=r2%03$`5%{ zRqxXYebyxKP&Eh~i*u@mAyIz~5MK)2FC0ofJULDWApqm3wK!=@1%Q-w6@cBT>&Jzv zK5ly67a9S-%jSV0XMy-GvHTKmmWZDA65*AitNZ%mn~(SoA7@q3imsK-g)O2cI_x z`G_re!{%Jk0=c0t1CHOjO%qU2L^vyi+bZPfFaM_bNB}lW>zyqk&VB#^NF&)oq$xiD zLu3wjmR74Z+UXqAfUPhp?yCUYs|h%vaK5C2Fm%o-B?PE^&?ekl)DM}GMfV7WD`w?w zS7T4yxw-kuLi8>+Vx$6d4M3uGoxvqt`R!#Uc;jx&UZB1klC>@F*o0=l4YVD0>f~eK{yFc$7#501h%a^Z^!8N(E8@ zkgMfLQ?7DiVUsCPJOGo~i@8yOToo7-fZ?%Jx=jbU+K+{y0uw1PCIA!FH6Sy_MAJ|e z%S@+02>?iAC_<7(B}_BE0&@bu_zlAx`6{reLl6Rx(NBgt#G-mjMy<-64FM=~@1Sid z6qszZK>$)nj7b((ff55S8QF{5W!SPj6(}(Pc{UTvLIw6$00Ai6GjL`rT=F3mA^>IT z4YZ|j1rUIw1fWd4fwmN`KyCmm>J(Xck6?v`Dv%oh zg<3tW%8=q|DO=id5rEQm4H`C<0vQJ{1Yj(cG4WspGJ4>QB}D*c+yPkqY!&z)dYKiz T^(Cn#00000NkvXXu0mjfd{-2b literal 0 HcmV?d00001 diff --git a/images/32.png b/images/32.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a06128780f326274359b8cfa0842059dc8a399 GIT binary patch literal 1779 zcmVPx*tw}^dR9Hu)S6Pf4M;ZS9sy^oQG0xg->_o!Bju!=)rwCz$fJ8_Z5(tSGzd(rd z#3O_t@v`s|1@RCGB@Y1{BM>42MS${vkT~Q7j4c^LNaVy=a_l|4-ksgq*_r9-s}88@ zIl5=YOGHX@bXQmX|My?tUriVc0-)^=ko^sA%=6r(U2g8p(8Jy1HIqy8+ldI;?ip_! ziW*5;`2Cgn(tQmtCmM(W^v#b()Q*s>HQbP8Wg|O^`Z@ZO<}=S%O0T;Xcz}7#Pi9YR_{4}d|TB@uBy0DRTrx4L6sbkP*yNm07keRDKmh) zM4~381)};%+~4Zo;c?n$iC77nTT5wcYq`_!{5BNLYkK8Z;V@TvU)G!0l3 zMnZ|L&GnT(wO3#G7lCZvkH=Hz>IdhKwRElI$g&4*01UjKeFv-;fd#3Jb*4N4izWP6 z!HW~HM4+l97Vhyi7liGN07)mo=JIw=hAEOT_=^_l)iCJXY(vTNO6@gU2N{Wl@;!|DT5N}6AEWqz zxw3nx=54(Ei&y`+(+$J^@^gP5*WjqwbH)Fa^QHNtN7}kx@=ffAVX&d7cwka|x%0?_ zKg-Y-pcfpOFEMLco@6Fg+7Os>umtg`#nRzZA8V_6*_Rc^#(oUKg_7b-@AQXXDiraM zQzjTFpJaKynq;+N4xIjhf8?Q~JK6#;AsBuQ5C>8wXL?^aIR-GvCIx29teR%V;>-jS zF0vDk9X_i)a)j?GS>+^s7mn{j)Lk@gTz~Bw&wl;pP;Ym@BPD<~4Oal_NuY03@8b1A z05d`^0QeqIf0$^)*V^SEZ~z<{4iOxCO-MQ05=!0Xj714^ZV4^dIZ;n)TG0y2)lzx6 z9kg$Jg3u*BWc{h`GKxe2z_WyXAJw!~0+>;p0RY_0x)BIFPq4r&P|_gAH-x6kaM&B` zQoj69n*MVtS7tP|EC~mt_;X%ot?7Htpz%8xR+mXhbEssy4@|UU(*a^uZAkjg;-KbtX+0IBZD8dwzMbL6v=* znz5;)n%SV@_)PG{lP}F6yaKsQY1{>1QPFo^sWgtxx52q7{i(LW!{DpUCrz-Y@`t^VYsU~qRsY|q{{S5v Va#&;<-C_U$002ovPDHLkV1ltwbH)Gw literal 0 HcmV?d00001 diff --git a/images/512.png b/images/512.png new file mode 100644 index 0000000000000000000000000000000000000000..f930b73c9d7a8801f77a77953265c628cf23c707 GIT binary patch literal 99981 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

LqLAJfCSV$A93zX?j)!Dmd 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 UV`F8j3UIKGoRqR;9l$u`e;p!)qyPW_ literal 0 HcmV?d00001 diff --git a/lib/bootstrap-5.3.0-alpha1-dist-css-bootstrap.min.css b/lib/bootstrap-5.3.0-alpha1-dist-css-bootstrap.min.css new file mode 100644 index 0000000..8a16e74 --- /dev/null +++ b/lib/bootstrap-5.3.0-alpha1-dist-css-bootstrap.min.css @@ -0,0 +1,11270 @@ +@charset "UTF-8"; /*! + * Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme="light"] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text: #0a58ca; + --bs-secondary-text: #6c757d; + --bs-success-text: #146c43; + --bs-info-text: #087990; + --bs-warning-text: #997404; + --bs-danger-text: #b02a37; + --bs-light-text: #6c757d; + --bs-dark-text: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #f8f9fa; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #e9ecef; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, + "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, + "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient( + 180deg, + rgba(255, 255, 255, 0.15), + rgba(255, 255, 255, 0) + ); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-2xl: 2rem; + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(var(--bs-body-color-rgb), 0.075); + --bs-emphasis-color: #000; + --bs-form-control-bg: var(--bs-body-bg); + --bs-form-control-disabled-bg: var(--bs-secondary-bg); + --bs-highlight-bg: #fff3cd; + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} +[data-bs-theme="dark"] { + --bs-body-color: #adb5bd; + --bs-body-color-rgb: 173, 181, 189; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #f8f9fa; + --bs-emphasis-color-rgb: 248, 249, 250; + --bs-secondary-color: rgba(173, 181, 189, 0.75); + --bs-secondary-color-rgb: 173, 181, 189; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(173, 181, 189, 0.5); + --bs-tertiary-color-rgb: 173, 181, 189; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-emphasis-color: #fff; + --bs-primary-text: #6ea8fe; + --bs-secondary-text: #dee2e6; + --bs-success-text: #75b798; + --bs-info-text: #6edff6; + --bs-warning-text: #ffda6a; + --bs-danger-text: #ea868f; + --bs-light-text: #f8f9fa; + --bs-dark-text: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #212529; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #495057; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #055160; + --bs-warning-border-subtle: #664d03; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: #fff; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #9ec5fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 158, 197, 254; + --bs-code-color: #e685b5; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); +} +*, +::after, +::before { + box-sizing: border-box; +} +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color, inherit); +} +.h1, +h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .h1, + h1 { + font-size: 2.5rem; + } +} +.h2, +h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + .h2, + h2 { + font-size: 2rem; + } +} +.h3, +h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + .h3, + h3 { + font-size: 1.75rem; + } +} +.h4, +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + .h4, + h4 { + font-size: 1.5rem; + } +} +.h5, +h5 { + font-size: 1.25rem; +} +.h6, +h6 { + font-size: 1rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} +ol, +ul { + padding-left: 2rem; +} +dl, +ol, +ul { + margin-top: 0; + margin-bottom: 1rem; +} +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0; +} +dt { + font-weight: 700; +} +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} +blockquote { + margin: 0 0 1rem; +} +b, +strong { + font-weight: bolder; +} +.small, +small { + font-size: 0.875em; +} +.mark, +mark { + padding: 0.1875em; + background-color: var(--bs-highlight-bg); +} +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} +a:not([href]):not([class]), +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} +code, +kbd, +pre, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} +figure { + margin: 0 0 1rem; +} +img, +svg { + vertical-align: middle; +} +table { + caption-side: bottom; + border-collapse: collapse; +} +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} +th { + text-align: inherit; + text-align: -webkit-match-parent; +} +tbody, +td, +tfoot, +th, +thead, +tr { + border-color: inherit; + border-style: solid; + border-width: 0; +} +label { + display: inline-block; +} +button { + border-radius: 0; +} +button:focus:not(:focus-visible) { + outline: 0; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +button, +select { + text-transform: none; +} +[role="button"] { + cursor: pointer; +} +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} +[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not( + [type="week"] + ):not([type="time"])::-webkit-calendar-picker-indicator { + display: none !important; +} +[type="button"], +[type="reset"], +[type="submit"], +button { + -webkit-appearance: button; +} +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled), +button:not(:disabled) { + cursor: pointer; +} +::-moz-focus-inner { + padding: 0; + border-style: none; +} +textarea { + resize: vertical; +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-year-field { + padding: 0; +} +::-webkit-inner-spin-button { + height: auto; +} +[type="search"] { + outline-offset: -2px; + -webkit-appearance: textfield; +} +::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-color-swatch-wrapper { + padding: 0; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} +output { + display: inline-block; +} +iframe { + border: 0; +} +summary { + display: list-item; + cursor: pointer; +} +progress { + vertical-align: baseline; +} +[hidden] { + display: none !important; +} +.lead { + font-size: 1.25rem; + font-weight: 300; +} +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; +} +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} +.img-fluid { + max-width: 100%; + height: auto; +} +.img-thumbnail { + padding: 0.25rem; + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + max-width: 100%; + height: auto; +} +.figure { + display: inline-block; +} +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} +.figure-caption { + font-size: 0.875em; + color: var(--bs-secondary-color); +} +.container, +.container-fluid, +.container-lg, +.container-md, +.container-sm, +.container-xl, +.container-xxl { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} +@media (min-width: 576px) { + .container, + .container-sm { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container, + .container-md, + .container-sm { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container, + .container-lg, + .container-md, + .container-sm { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl, + .container-xxl { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} +.col { + flex: 1 0 0%; +} +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} +.col-auto { + flex: 0 0 auto; + width: auto; +} +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} +.col-3 { + flex: 0 0 auto; + width: 25%; +} +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} +.col-6 { + flex: 0 0 auto; + width: 50%; +} +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} +.col-9 { + flex: 0 0 auto; + width: 75%; +} +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} +.col-12 { + flex: 0 0 auto; + width: 100%; +} +.offset-1 { + margin-left: 8.33333333%; +} +.offset-2 { + margin-left: 16.66666667%; +} +.offset-3 { + margin-left: 25%; +} +.offset-4 { + margin-left: 33.33333333%; +} +.offset-5 { + margin-left: 41.66666667%; +} +.offset-6 { + margin-left: 50%; +} +.offset-7 { + margin-left: 58.33333333%; +} +.offset-8 { + margin-left: 66.66666667%; +} +.offset-9 { + margin-left: 75%; +} +.offset-10 { + margin-left: 83.33333333%; +} +.offset-11 { + margin-left: 91.66666667%; +} +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: transparent; + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-body-color); + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: var(--bs-body-color); + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: var(--bs-body-color); + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--bs-table-color); + vertical-align: top; + border-color: var(--bs-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: var(--bs-border-width); + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table-group-divider { + border-top: calc(var(--bs-border-width) * 2) solid currentcolor; +} +.caption-top { + caption-side: top; +} +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} +.table-bordered > :not(caption) > * { + border-width: var(--bs-border-width) 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 var(--bs-border-width); +} +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} +.table-striped-columns > :not(caption) > tr > :nth-child(2n) { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} +.table-primary { + --bs-table-color: #000; + --bs-table-bg: #cfe2ff; + --bs-table-border-color: #bacbe6; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: #e2e3e5; + --bs-table-border-color: #cbccce; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-success { + --bs-table-color: #000; + --bs-table-bg: #d1e7dd; + --bs-table-border-color: #bcd0c7; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-info { + --bs-table-color: #000; + --bs-table-bg: #cff4fc; + --bs-table-border-color: #badce3; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-warning { + --bs-table-color: #000; + --bs-table-bg: #fff3cd; + --bs-table-border-color: #e6dbb9; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-danger { + --bs-table-color: #000; + --bs-table-bg: #f8d7da; + --bs-table-border-color: #dfc2c4; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: #dfe0e1; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #212529; + --bs-table-border-color: #373b3e; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} +.col-form-label { + padding-top: calc(0.375rem + var(--bs-border-width)); + padding-bottom: calc(0.375rem + var(--bs-border-width)); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} +.col-form-label-lg { + padding-top: calc(0.5rem + var(--bs-border-width)); + padding-bottom: calc(0.5rem + var(--bs-border-width)); + font-size: 1.25rem; +} +.col-form-label-sm { + padding-top: calc(0.25rem + var(--bs-border-width)); + padding-bottom: calc(0.25rem + var(--bs-border-width)); + font-size: 0.875rem; +} +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-secondary-color); +} +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + background-color: var(--bs-form-control-bg); + background-clip: padding-box; + border: var(--bs-border-width) solid var(--bs-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type="file"] { + overflow: hidden; +} +.form-control[type="file"]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: var(--bs-body-color); + background-color: var(--bs-form-control-bg); + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::-moz-placeholder { + color: var(--bs-secondary-color); + opacity: 1; +} +.form-control::placeholder { + color: var(--bs-secondary-color); + opacity: 1; +} +.form-control:disabled { + background-color: var(--bs-form-control-disabled-bg); + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: var(--bs-body-color); + background-color: var(--bs-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: var(--bs-body-color); + background-color: var(--bs-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--bs-secondary-bg); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--bs-secondary-bg); +} +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: var(--bs-body-color); + background-color: transparent; + border: solid transparent; + border-width: var(--bs-border-width) 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm { + padding-right: 0; + padding-left: 0; +} +.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +textarea.form-control { + min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} +.form-control-color { + width: 3rem; + height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: 0.375rem; +} +.form-control-color::-webkit-color-swatch { + border-radius: 0.375rem; +} +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} +.form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + background-color: var(--bs-form-control-bg); + background-image: var(--bs-form-select-bg-img), + var(--bs-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], +.form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: var(--bs-form-control-disabled-bg); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--bs-body-color); +} +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +[data-bs-theme="dark"] .form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} +.form-check-input { + --bs-form-check-bg: var(--bs-form-control-bg); + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type="checkbox"] { + border-radius: 0.25em; +} +.form-check-input[type="radio"] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type="checkbox"] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type="radio"] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type="checkbox"]:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input:disabled ~ .form-check-label, +.form-check-input[disabled] ~ .form-check-label { + cursor: default; + opacity: 0.5; +} +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + width: 2em; + margin-left: -2.5em; + background-image: var(--bs-form-switch-bg); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check:disabled + .btn, +.btn-check[disabled] + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} +[data-bs-theme="dark"] + .form-switch + .form-check-input:not(:checked):not(:focus) { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); +} +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-tertiary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-tertiary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--bs-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--bs-secondary-color); +} +.form-floating { + position: relative; +} +.form-floating::before:not(.form-control:disabled) { + position: absolute; + top: var(--bs-border-width); + left: var(--bs-border-width); + width: calc( + 100% - (calc(calc(0.375em + 0.1875rem) + calc(0.75em + 0.375rem))) + ); + height: 1.875em; + content: ""; + background-color: var(--bs-form-control-bg); + border-radius: 0.375rem; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: var(--bs-border-width) solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control-plaintext::-moz-placeholder, +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control-plaintext::placeholder, +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control-plaintext:not(:-moz-placeholder-shown), +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown), +.form-floating > .form-control:focus, +.form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control-plaintext:-webkit-autofill, +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: var(--bs-border-width) 0; +} +.form-floating > .form-control:disabled ~ label { + color: #6c757d; +} +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-floating, +.input-group > .form-select { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-floating:focus-within, +.input-group > .form-select:focus { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-tertiary-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: 0.375rem; +} +.input-group-lg > .btn, +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +.input-group-sm > .btn, +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), +.input-group:not(.has-validation) + > .form-floating:not(:last-child) + > .form-control, +.input-group:not(.has-validation) + > .form-floating:not(:last-child) + > .form-select, +.input-group:not(.has-validation) + > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not( + .form-floating + ) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), +.input-group.has-validation + > .form-floating:nth-last-child(n + 3) + > .form-control, +.input-group.has-validation + > .form-floating:nth-last-child(n + 3) + > .form-select, +.input-group.has-validation + > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not( + .form-floating + ) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group + > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not( + .valid-feedback + ):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: calc(var(--bs-border-width) * -1); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-success-text); +} +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-success); + border-radius: var(--bs-border-radius); +} +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip, +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip { + display: block; +} +.form-control.is-valid, +.was-validated .form-control:valid { + border-color: var(--bs-success); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-valid:focus, +.was-validated .form-control:valid:focus { + border-color: var(--bs-success); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-valid, +.was-validated .form-select:valid { + border-color: var(--bs-success); +} +.form-select.is-valid:not([multiple]):not([size]), +.form-select.is-valid:not([multiple])[size="1"], +.was-validated .form-select:valid:not([multiple]):not([size]), +.was-validated .form-select:valid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-valid:focus, +.was-validated .form-select:valid:focus { + border-color: var(--bs-success); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.form-control-color.is-valid, +.was-validated .form-control-color:valid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} +.form-check-input.is-valid, +.was-validated .form-check-input:valid { + border-color: var(--bs-success); +} +.form-check-input.is-valid:checked, +.was-validated .form-check-input:valid:checked { + background-color: var(--bs-success-text); +} +.form-check-input.is-valid:focus, +.was-validated .form-check-input:valid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.form-check-input.is-valid ~ .form-check-label, +.was-validated .form-check-input:valid ~ .form-check-label { + color: var(--bs-success-text); +} +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} +.input-group > .form-control:not(:focus).is-valid, +.input-group > .form-floating:not(:focus-within).is-valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-control:not(:focus):valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.was-validated .input-group > .form-select:not(:focus):valid { + z-index: 3; +} +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-danger-text); +} +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-danger); + border-radius: var(--bs-border-radius); +} +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip, +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip { + display: block; +} +.form-control.is-invalid, +.was-validated .form-control:invalid { + border-color: var(--bs-danger); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: var(--bs-danger); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-invalid, +.was-validated .form-select:invalid { + border-color: var(--bs-danger); +} +.form-select.is-invalid:not([multiple]):not([size]), +.form-select.is-invalid:not([multiple])[size="1"], +.was-validated .form-select:invalid:not([multiple]):not([size]), +.was-validated .form-select:invalid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-invalid:focus, +.was-validated .form-select:invalid:focus { + border-color: var(--bs-danger); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.form-control-color.is-invalid, +.was-validated .form-control-color:invalid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} +.form-check-input.is-invalid, +.was-validated .form-check-input:invalid { + border-color: var(--bs-danger); +} +.form-check-input.is-invalid:checked, +.was-validated .form-check-input:invalid:checked { + background-color: var(--bs-danger-text); +} +.form-check-input.is-invalid:focus, +.was-validated .form-check-input:invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.form-check-input.is-invalid ~ .form-check-label, +.was-validated .form-check-input:invalid ~ .form-check-label { + color: var(--bs-danger-text); +} +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} +.input-group > .form-control:not(:focus).is-invalid, +.input-group > .form-floating:not(:focus-within).is-invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-control:not(:focus):invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.was-validated .input-group > .form-select:not(:focus):invalid { + z-index: 4; +} +.btn { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: #212529; + --bs-btn-bg: transparent; + --bs-btn-border-width: var(--bs-border-width); + --bs-btn-border-color: transparent; + --bs-btn-border-radius: 0.375rem; + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), + 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem + rgba(var(--bs-btn-focus-shadow-rgb), 0.5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, +.btn.active, +.btn.show, +.btn:first-child:active, +:not(.btn-check) + .btn:active { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, +.btn.active:focus-visible, +.btn.show:focus-visible, +.btn:first-child:active:focus-visible, +:not(.btn-check) + .btn:active:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn.disabled, +.btn:disabled, +fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0b5ed7; + --bs-btn-hover-border-color: #0a58ca; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0a58ca; + --bs-btn-active-border-color: #0a53be; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #0d6efd; + --bs-btn-disabled-border-color: #0d6efd; +} +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #5c636a; + --bs-btn-hover-border-color: #565e64; + --bs-btn-focus-shadow-rgb: 130, 138, 145; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #565e64; + --bs-btn-active-border-color: #51585e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #6c757d; + --bs-btn-disabled-border-color: #6c757d; +} +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #157347; + --bs-btn-hover-border-color: #146c43; + --bs-btn-focus-shadow-rgb: 60, 153, 110; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #146c43; + --bs-btn-active-border-color: #13653f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #198754; + --bs-btn-disabled-border-color: #198754; +} +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #31d2f2; + --bs-btn-hover-border-color: #25cff2; + --bs-btn-focus-shadow-rgb: 11, 172, 204; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #3dd5f3; + --bs-btn-active-border-color: #25cff2; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #0dcaf0; + --bs-btn-disabled-border-color: #0dcaf0; +} +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffca2c; + --bs-btn-hover-border-color: #ffc720; + --bs-btn-focus-shadow-rgb: 217, 164, 6; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffcd39; + --bs-btn-active-border-color: #ffc720; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffc107; + --bs-btn-disabled-border-color: #ffc107; +} +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #bb2d3b; + --bs-btn-hover-border-color: #b02a37; + --bs-btn-focus-shadow-rgb: 225, 83, 97; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #b02a37; + --bs-btn-active-border-color: #a52834; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #dc3545; + --bs-btn-disabled-border-color: #dc3545; +} +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #d3d4d5; + --bs-btn-hover-border-color: #c6c7c8; + --bs-btn-focus-shadow-rgb: 211, 212, 213; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #c6c7c8; + --bs-btn-active-border-color: #babbbc; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f8f9fa; + --bs-btn-disabled-border-color: #f8f9fa; +} +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #424649; + --bs-btn-hover-border-color: #373b3e; + --bs-btn-focus-shadow-rgb: 66, 70, 73; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #4d5154; + --bs-btn-active-border-color: #373b3e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #212529; + --bs-btn-disabled-border-color: #212529; +} +.btn-outline-primary { + --bs-btn-color: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0d6efd; + --bs-btn-hover-border-color: #0d6efd; + --bs-btn-focus-shadow-rgb: 13, 110, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0d6efd; + --bs-btn-active-border-color: #0d6efd; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0d6efd; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0d6efd; + --bs-gradient: none; +} +.btn-outline-secondary { + --bs-btn-color: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #6c757d; + --bs-btn-hover-border-color: #6c757d; + --bs-btn-focus-shadow-rgb: 108, 117, 125; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #6c757d; + --bs-btn-active-border-color: #6c757d; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #6c757d; + --bs-gradient: none; +} +.btn-outline-success { + --bs-btn-color: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #198754; + --bs-btn-hover-border-color: #198754; + --bs-btn-focus-shadow-rgb: 25, 135, 84; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #198754; + --bs-btn-active-border-color: #198754; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #198754; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #198754; + --bs-gradient: none; +} +.btn-outline-info { + --bs-btn-color: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #0dcaf0; + --bs-btn-hover-border-color: #0dcaf0; + --bs-btn-focus-shadow-rgb: 13, 202, 240; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #0dcaf0; + --bs-btn-active-border-color: #0dcaf0; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0dcaf0; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0dcaf0; + --bs-gradient: none; +} +.btn-outline-warning { + --bs-btn-color: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffc107; + --bs-btn-hover-border-color: #ffc107; + --bs-btn-focus-shadow-rgb: 255, 193, 7; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffc107; + --bs-btn-active-border-color: #ffc107; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffc107; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffc107; + --bs-gradient: none; +} +.btn-outline-danger { + --bs-btn-color: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #dc3545; + --bs-btn-hover-border-color: #dc3545; + --bs-btn-focus-shadow-rgb: 220, 53, 69; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #dc3545; + --bs-btn-active-border-color: #dc3545; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #dc3545; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #dc3545; + --bs-gradient: none; +} +.btn-outline-light { + --bs-btn-color: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f8f9fa; + --bs-btn-hover-border-color: #f8f9fa; + --bs-btn-focus-shadow-rgb: 248, 249, 250; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f8f9fa; + --bs-btn-active-border-color: #f8f9fa; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f8f9fa; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f8f9fa; + --bs-gradient: none; +} +.btn-outline-dark { + --bs-btn-color: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #212529; + --bs-btn-hover-border-color: #212529; + --bs-btn-focus-shadow-rgb: 33, 37, 41; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #212529; + --bs-btn-active-border-color: #212529; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #212529; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #212529; + --bs-gradient: none; +} +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} +.btn-group-lg > .btn, +.btn-lg { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: 0.5rem; +} +.btn-group-sm > .btn, +.btn-sm { + --bs-btn-padding-y: 0.25rem; + --bs-btn-padding-x: 0.5rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: 0.25rem; +} +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} +.collapse:not(.show) { + display: none; +} +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} +.dropdown, +.dropdown-center, +.dropend, +.dropstart, +.dropup, +.dropup-center { + position: relative; +} +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: var(--bs-body-color); + --bs-dropdown-bg: var(--bs-body-bg); + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: 0.375rem; + --bs-dropdown-border-width: var(--bs-border-width); + --bs-dropdown-inner-border-radius: calc(0.375rem - var(--bs-border-width)); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); + --bs-dropdown-link-color: var(--bs-body-color); + --bs-dropdown-link-hover-color: var(--bs-body-color); + --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #6c757d; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--bs-dropdown-item-border-radius, 0); +} +.dropdown-item:focus, +.dropdown-item:hover { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} +.dropdown-item.active, +.dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} +.dropdown-item.disabled, +.dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} +.dropdown-menu.show { + display: block; +} +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) + var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} +.dropdown-menu-dark { + --bs-dropdown-color: #dee2e6; + --bs-dropdown-bg: #343a40; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #dee2e6; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group-vertical > .btn, +.btn-group > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn.active, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:hover, +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn.active, +.btn-group > .btn:active, +.btn-group > .btn:focus, +.btn-group > .btn:hover { + z-index: 1; +} +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} +.btn-group { + border-radius: 0.375rem; +} +.btn-group > .btn-group:not(:first-child), +.btn-group > :not(.btn-check:first-child) + .btn { + margin-left: calc(var(--bs-border-width) * -1); +} +.btn-group > .btn-group:not(:last-child) > .btn, +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:not(:first-child) > .btn, +.btn-group > .btn:nth-child(n + 3), +.btn-group > :not(.btn-check) + .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, +.dropend .dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} +.btn-group-sm > .btn + .dropdown-toggle-split, +.btn-sm + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} +.btn-group-lg > .btn + .dropdown-toggle-split, +.btn-lg + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn-group:not(:first-child), +.btn-group-vertical > .btn:not(:first-child) { + margin-top: calc(var(--bs-border-width) * -1); +} +.btn-group-vertical > .btn-group:not(:last-child) > .btn, +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child) > .btn, +.btn-group-vertical > .btn ~ .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:focus, +.nav-link:hover { + color: var(--bs-nav-link-hover-color); +} +.nav-link.disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} +.nav-tabs { + --bs-nav-tabs-border-width: var(--bs-border-width); + --bs-nav-tabs-border-color: var(--bs-border-color); + --bs-nav-tabs-border-radius: var(--bs-border-radius); + --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) + var(--bs-secondary-bg) var(--bs-border-color); + --bs-nav-tabs-link-active-color: var(--bs-emphasis-color); + --bs-nav-tabs-link-active-bg: var(--bs-body-bg); + --bs-nav-tabs-link-active-border-color: var(--bs-border-color) + var(--bs-border-color) var(--bs-body-bg); + border-bottom: var(--bs-nav-tabs-border-width) solid + var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + background: 0 0; + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.disabled, +.nav-tabs .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav-pills { + --bs-nav-pills-border-radius: 0.375rem; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #0d6efd; +} +.nav-pills .nav-link { + background: 0 0; + border: 0; + border-radius: var(--bs-nav-pills-border-radius); +} +.nav-pills .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} +.nav-fill .nav-item, +.nav-fill > .nav-link { + flex: 1 1 auto; + text-align: center; +} +.nav-justified .nav-item, +.nav-justified > .nav-link { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65); + --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8); + --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3); + --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); + --bs-navbar-toggler-border-radius: 0.375rem; + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-lg, +.navbar > .container-md, +.navbar > .container-sm, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +.navbar-brand:focus, +.navbar-brand:hover { + color: var(--bs-navbar-brand-hover-color); +} +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, +.navbar-nav .show > .nav-link { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} +.navbar-text a, +.navbar-text a:focus, +.navbar-text a:hover { + color: var(--bs-navbar-active-color); +} +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} +.navbar-dark { + --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +[data-bs-theme="dark"] .navbar { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-title-color: ; + --bs-card-subtitle-color: ; + --bs-card-border-width: var(--bs-border-width); + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: var(--bs-border-radius); + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc( + var(--bs-border-radius) - (var(--bs-border-width)) + ); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: var(--bs-body-bg); + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); + color: var(--bs-card-title-color); +} +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; + color: var(--bs-card-subtitle-color); +} +.card-text:last-child { + margin-bottom: 0; +} +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) + var(--bs-card-inner-border-radius) 0 0; +} +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) + var(--bs-card-inner-border-radius); +} +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} +.card-img, +.card-img-bottom, +.card-img-top { + width: 100%; +} +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-header, + .card-group > .card:not(:last-child) .card-img-top { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-footer, + .card-group > .card:not(:last-child) .card-img-bottom { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-header, + .card-group > .card:not(:first-child) .card-img-top { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-footer, + .card-group > .card:not(:first-child) .card-img-bottom { + border-bottom-left-radius: 0; + } +} +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: var(--bs-body-bg); + --bs-accordion-transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: var(--bs-border-width); + --bs-accordion-border-radius: var(--bs-border-radius); + --bs-accordion-inner-border-radius: calc( + var(--bs-border-radius) - (var(--bs-border-width)) + ); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: var(--bs-body-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230a58ca'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-border-color: #86b7fe; + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-primary-text); + --bs-accordion-active-bg: var(--bs-primary-bg-subtle); +} +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 + var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: var(--bs-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} +.accordion-header { + margin-bottom: 0; +} +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid + var(--bs-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button, +.accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} +[data-bs-theme="dark"] .accordion-button::after { + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/"); +} +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: var(--bs-link-color); + --bs-pagination-bg: var(--bs-body-bg); + --bs-pagination-border-width: var(--bs-border-width); + --bs-pagination-border-color: var(--bs-border-color); + --bs-pagination-border-radius: var(--bs-border-radius); + --bs-pagination-hover-color: var(--bs-link-hover-color); + --bs-pagination-hover-bg: var(--bs-tertiary-bg); + --bs-pagination-hover-border-color: var(--bs-border-color); + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: var(--bs-secondary-bg); + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #0d6efd; + --bs-pagination-active-border-color: #0d6efd; + --bs-pagination-disabled-color: var(--bs-secondary-color); + --bs-pagination-disabled-bg: var(--bs-secondary-bg); + --bs-pagination-disabled-border-color: var(--bs-border-color); + display: flex; + padding-left: 0; + list-style: none; +} +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid + var(--bs-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} +.active > .page-link, +.page-link.active { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} +.disabled > .page-link, +.page-link.disabled { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} +.page-item:not(:first-child) .page-link { + margin-left: calc(var(--bs-border-width) * -1); +} +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: 0.5rem; +} +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: 0.25rem; +} +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: 0.375rem; + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); + --bs-alert-border-radius: 0.375rem; + --bs-alert-link-color: inherit; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} +.alert-heading { + color: inherit; +} +.alert-link { + font-weight: 700; + color: var(--bs-alert-link-color); +} +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} +.alert-primary { + --bs-alert-color: var(--bs-primary-text); + --bs-alert-bg: var(--bs-primary-bg-subtle); + --bs-alert-border-color: var(--bs-primary-border-subtle); + --bs-alert-link-color: var(--bs-primary-text); +} +.alert-secondary { + --bs-alert-color: var(--bs-secondary-text); + --bs-alert-bg: var(--bs-secondary-bg-subtle); + --bs-alert-border-color: var(--bs-secondary-border-subtle); + --bs-alert-link-color: var(--bs-secondary-text); +} +.alert-success { + --bs-alert-color: var(--bs-success-text); + --bs-alert-bg: var(--bs-success-bg-subtle); + --bs-alert-border-color: var(--bs-success-border-subtle); + --bs-alert-link-color: var(--bs-success-text); +} +.alert-info { + --bs-alert-color: var(--bs-info-text); + --bs-alert-bg: var(--bs-info-bg-subtle); + --bs-alert-border-color: var(--bs-info-border-subtle); + --bs-alert-link-color: var(--bs-info-text); +} +.alert-warning { + --bs-alert-color: var(--bs-warning-text); + --bs-alert-bg: var(--bs-warning-bg-subtle); + --bs-alert-border-color: var(--bs-warning-border-subtle); + --bs-alert-link-color: var(--bs-warning-text); +} +.alert-danger { + --bs-alert-color: var(--bs-danger-text); + --bs-alert-bg: var(--bs-danger-bg-subtle); + --bs-alert-border-color: var(--bs-danger-border-subtle); + --bs-alert-link-color: var(--bs-danger-text); +} +.alert-light { + --bs-alert-color: var(--bs-light-text); + --bs-alert-bg: var(--bs-light-bg-subtle); + --bs-alert-border-color: var(--bs-light-border-subtle); + --bs-alert-link-color: var(--bs-light-text); +} +.alert-dark { + --bs-alert-color: var(--bs-dark-text); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-dark-text); +} +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress, +.progress-stacked { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: var(--bs-secondary-bg); + --bs-progress-border-radius: var(--bs-border-radius); + --bs-progress-box-shadow: var(--bs-box-shadow-inset); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #0d6efd; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); +} +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} +.progress-bar-striped { + background-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} +.progress-stacked > .progress { + overflow: visible; +} +.progress-stacked > .progress > .progress-bar { + width: 100%; +} +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} +.list-group { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: var(--bs-body-bg); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-border-width: var(--bs-border-width); + --bs-list-group-border-radius: var(--bs-border-radius); + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: var(--bs-secondary-color); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); + --bs-list-group-action-active-color: var(--bs-body-color); + --bs-list-group-action-active-bg: var(--bs-secondary-bg); + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: var(--bs-body-bg); + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #0d6efd; + --bs-list-group-active-border-color: #0d6efd; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:focus, +.list-group-item-action:hover { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} +.list-group-item-action:active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) + var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid + var(--bs-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, +.list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} +.list-group-item-primary { + --bs-list-group-color: var(--bs-primary-text); + --bs-list-group-bg: var(--bs-primary-bg-subtle); + --bs-list-group-border-color: var(--bs-primary-border-subtle); +} +.list-group-item-primary.list-group-item-action:focus, +.list-group-item-primary.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); +} +.list-group-item-primary.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-primary-text); + --bs-list-group-active-border-color: var(--bs-primary-text); +} +.list-group-item-secondary { + --bs-list-group-color: var(--bs-secondary-text); + --bs-list-group-bg: var(--bs-secondary-bg-subtle); + --bs-list-group-border-color: var(--bs-secondary-border-subtle); +} +.list-group-item-secondary.list-group-item-action:focus, +.list-group-item-secondary.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); +} +.list-group-item-secondary.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-secondary-text); + --bs-list-group-active-border-color: var(--bs-secondary-text); +} +.list-group-item-success { + --bs-list-group-color: var(--bs-success-text); + --bs-list-group-bg: var(--bs-success-bg-subtle); + --bs-list-group-border-color: var(--bs-success-border-subtle); +} +.list-group-item-success.list-group-item-action:focus, +.list-group-item-success.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); +} +.list-group-item-success.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-success-text); + --bs-list-group-active-border-color: var(--bs-success-text); +} +.list-group-item-info { + --bs-list-group-color: var(--bs-info-text); + --bs-list-group-bg: var(--bs-info-bg-subtle); + --bs-list-group-border-color: var(--bs-info-border-subtle); +} +.list-group-item-info.list-group-item-action:focus, +.list-group-item-info.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); +} +.list-group-item-info.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-info-text); + --bs-list-group-active-border-color: var(--bs-info-text); +} +.list-group-item-warning { + --bs-list-group-color: var(--bs-warning-text); + --bs-list-group-bg: var(--bs-warning-bg-subtle); + --bs-list-group-border-color: var(--bs-warning-border-subtle); +} +.list-group-item-warning.list-group-item-action:focus, +.list-group-item-warning.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); +} +.list-group-item-warning.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-warning-text); + --bs-list-group-active-border-color: var(--bs-warning-text); +} +.list-group-item-danger { + --bs-list-group-color: var(--bs-danger-text); + --bs-list-group-bg: var(--bs-danger-bg-subtle); + --bs-list-group-border-color: var(--bs-danger-border-subtle); +} +.list-group-item-danger.list-group-item-action:focus, +.list-group-item-danger.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); +} +.list-group-item-danger.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-danger-text); + --bs-list-group-active-border-color: var(--bs-danger-text); +} +.list-group-item-light { + --bs-list-group-color: var(--bs-light-text); + --bs-list-group-bg: var(--bs-light-bg-subtle); + --bs-list-group-border-color: var(--bs-light-border-subtle); +} +.list-group-item-light.list-group-item-action:focus, +.list-group-item-light.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); +} +.list-group-item-light.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-light-text); + --bs-list-group-active-border-color: var(--bs-light-text); +} +.list-group-item-dark { + --bs-list-group-color: var(--bs-dark-text); + --bs-list-group-bg: var(--bs-dark-bg-subtle); + --bs-list-group-border-color: var(--bs-dark-border-subtle); +} +.list-group-item-dark.list-group-item-action:focus, +.list-group-item-dark.list-group-item-action:hover { + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); +} +.list-group-item-dark.list-group-item-action:active { + --bs-list-group-active-color: var(--bs-emphasis-color); + --bs-list-group-active-bg: var(--bs-dark-text); + --bs-list-group-active-border-color: var(--bs-dark-text); +} +.btn-close { + --bs-btn-close-color: #000; + --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); + --bs-btn-close-opacity: 0.5; + --bs-btn-close-hover-opacity: 0.75; + --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-btn-close-focus-opacity: 1; + --bs-btn-close-disabled-opacity: 0.25; + --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: var(--bs-btn-close-color); + background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; + border: 0; + border-radius: 0.375rem; + opacity: var(--bs-btn-close-opacity); +} +.btn-close:hover { + color: var(--bs-btn-close-color); + text-decoration: none; + opacity: var(--bs-btn-close-hover-opacity); +} +.btn-close:focus { + outline: 0; + box-shadow: var(--bs-btn-close-focus-shadow); + opacity: var(--bs-btn-close-focus-opacity); +} +.btn-close.disabled, +.btn-close:disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: var(--bs-btn-close-disabled-opacity); +} +.btn-close-white { + filter: var(--bs-btn-close-white-filter); +} +[data-bs-theme="dark"] .btn-close { + filter: var(--bs-btn-close-white-filter); +} +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid + var(--bs-toast-header-border-color); + border-top-left-radius: calc( + var(--bs-toast-border-radius) - var(--bs-toast-border-width) + ); + border-top-right-radius: calc( + var(--bs-toast-border-radius) - var(--bs-toast-border-width) + ); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: ; + --bs-modal-bg: var(--bs-body-bg); + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: var(--bs-border-width); + --bs-modal-border-radius: var(--bs-border-radius-lg); + --bs-modal-box-shadow: 0 0.125rem 0.25rem + rgba(var(--bs-body-color-rgb), 0.075); + --bs-modal-inner-border-radius: calc( + var(--bs-border-radius-lg) - (var(--bs-border-width)) + ); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-header-border-width: var(--bs-border-width); + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color); + --bs-modal-footer-border-width: var(--bs-border-width); + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + outline: 0; +} +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid + var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) + calc(var(--bs-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--bs-modal-header-padding-y)) + calc(-0.5 * var(--bs-modal-header-padding-x)) + calc(-0.5 * var(--bs-modal-header-padding-y)) auto; +} +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid + var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --bs-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-footer, +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-footer, + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-footer, + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-footer, + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-footer, + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-footer, + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: var(--bs-body-bg); + --bs-tooltip-bg: var(--bs-emphasis-color); + --bs-tooltip-border-radius: var(--bs-border-radius); + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + padding: var(--bs-tooltip-arrow-height); + margin: var(--bs-tooltip-margin); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} +.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow, +.bs-tooltip-top .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before, +.bs-tooltip-top .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) + calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} +.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow, +.bs-tooltip-end .tooltip-arrow { + left: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before, +.bs-tooltip-end .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) + var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} +.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow, +.bs-tooltip-bottom .tooltip-arrow { + top: 0; +} +.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before, +.bs-tooltip-bottom .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) + var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} +.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow, +.bs-tooltip-start .tooltip-arrow { + right: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before, +.bs-tooltip-start .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 + calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); +} +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: var(--bs-body-bg); + --bs-popover-border-width: var(--bs-border-width); + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: var(--bs-border-radius-lg); + --bs-popover-inner-border-radius: calc( + var(--bs-border-radius-lg) - var(--bs-border-width) + ); + --bs-popover-box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: ; + --bs-popover-header-bg: var(--bs-secondary-bg); + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: var(--bs-body-color); + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} +.popover .popover-arrow::after, +.popover .popover-arrow::before { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} +.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow, +.bs-popover-top > .popover-arrow { + bottom: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); +} +.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::after, +.bs-popover-top > .popover-arrow::before { + border-width: var(--bs-popover-arrow-height) + calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after, +.bs-popover-top > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} +.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow, +.bs-popover-end > .popover-arrow { + left: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::after, +.bs-popover-end > .popover-arrow::before { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) + var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after, +.bs-popover-end > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} +.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow, +.bs-popover-bottom > .popover-arrow { + top: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); +} +.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::after, +.bs-popover-bottom > .popover-arrow::before { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) + var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after, +.bs-popover-bottom > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} +.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before, +.bs-popover-bottom .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid + var(--bs-popover-header-bg); +} +.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow, +.bs-popover-start > .popover-arrow { + right: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, +.bs-popover-start > .popover-arrow::after, +.bs-popover-start > .popover-arrow::before { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 + calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, +.bs-popover-start > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after, +.bs-popover-start > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid + var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} +.carousel { + position: relative; +} +.carousel.pointer-event { + touch-action: pan-y; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block; +} +.active.carousel-item-end, +.carousel-item-next:not(.carousel-item-start) { + transform: translateX(100%); +} +.active.carousel-item-start, +.carousel-item-prev:not(.carousel-item-end) { + transform: translateX(-100%); +} +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end, +.carousel-fade .carousel-item.active { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-end, +.carousel-fade .active.carousel-item-start { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-end, + .carousel-fade .active.carousel-item-start { + transition: none; + } +} +.carousel-control-next, +.carousel-control-prev { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: 0 0; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-next, + .carousel-control-prev { + transition: none; + } +} +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} +.carousel-control-prev { + left: 0; +} +.carousel-control-next { + right: 0; +} +.carousel-control-next-icon, +.carousel-control-prev-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} +.carousel-dark .carousel-control-next-icon, +.carousel-dark .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} +[data-bs-theme="dark"] .carousel .carousel-control-next-icon, +[data-bs-theme="dark"] .carousel .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +[data-bs-theme="dark"] .carousel .carousel-indicators [data-bs-target] { + background-color: #000; +} +[data-bs-theme="dark"] .carousel .carousel-caption { + color: #000; +} +.spinner-border, +.spinner-grow { + display: inline-block; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + animation: var(--bs-spinner-animation-speed) linear infinite + var(--bs-spinner-animation-name); +} +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} +.offcanvas, +.offcanvas-lg, +.offcanvas-md, +.offcanvas-sm, +.offcanvas-xl, +.offcanvas-xxl { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: var(--bs-body-color); + --bs-offcanvas-bg: var(--bs-body-bg); + --bs-offcanvas-border-width: var(--bs-border-width); + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem + rgba(var(--bs-body-color-rgb), 0.075); + --bs-offcanvas-transition: transform 0.3s ease-in-out; + --bs-offcanvas-title-line-height: 1.5; +} +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.show:not(.hiding), + .offcanvas-sm.showing { + transform: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.hiding, + .offcanvas-sm.show, + .offcanvas-sm.showing { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.show:not(.hiding), + .offcanvas-md.showing { + transform: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.hiding, + .offcanvas-md.show, + .offcanvas-md.showing { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.show:not(.hiding), + .offcanvas-lg.showing { + transform: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.hiding, + .offcanvas-lg.show, + .offcanvas-lg.showing { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.show:not(.hiding), + .offcanvas-xl.showing { + transform: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.hiding, + .offcanvas-xl.show, + .offcanvas-xl.showing { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.show:not(.hiding), + .offcanvas-xxl.showing { + transform: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.hiding, + .offcanvas-xxl.show, + .offcanvas-xxl.showing { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.show:not(.hiding), +.offcanvas.showing { + transform: none; +} +.offcanvas.hiding, +.offcanvas.show, +.offcanvas.showing { + visibility: visible; +} +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) + calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); +} +.offcanvas-title { + margin-bottom: 0; + line-height: var(--bs-offcanvas-title-line-height); +} +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} +.placeholder-xs { + min-height: 0.6em; +} +.placeholder-sm { + min-height: 0.8em; +} +.placeholder-lg { + min-height: 1.2em; +} +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} +.text-bg-primary { + color: #fff !important; + background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-success { + color: #fff !important; + background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-info { + color: #000 !important; + background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-warning { + color: #000 !important; + background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-danger { + color: #fff !important; + background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-light { + color: #000 !important; + background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-dark { + color: #fff !important; + background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; +} +.link-primary { + color: #0d6efd !important; +} +.link-primary:focus, +.link-primary:hover { + color: #0a58ca !important; +} +.link-secondary { + color: #6c757d !important; +} +.link-secondary:focus, +.link-secondary:hover { + color: #565e64 !important; +} +.link-success { + color: #198754 !important; +} +.link-success:focus, +.link-success:hover { + color: #146c43 !important; +} +.link-info { + color: #0dcaf0 !important; +} +.link-info:focus, +.link-info:hover { + color: #3dd5f3 !important; +} +.link-warning { + color: #ffc107 !important; +} +.link-warning:focus, +.link-warning:hover { + color: #ffcd39 !important; +} +.link-danger { + color: #dc3545 !important; +} +.link-danger:focus, +.link-danger:hover { + color: #b02a37 !important; +} +.link-light { + color: #f8f9fa !important; +} +.link-light:focus, +.link-light:hover { + color: #f9fafb !important; +} +.link-dark { + color: #212529 !important; +} +.link-dark:focus, +.link-dark:hover { + color: #1a1e21 !important; +} +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} +.align-baseline { + vertical-align: baseline !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.align-bottom { + vertical-align: bottom !important; +} +.align-text-bottom { + vertical-align: text-bottom !important; +} +.align-text-top { + vertical-align: text-top !important; +} +.float-start { + float: left !important; +} +.float-end { + float: right !important; +} +.float-none { + float: none !important; +} +.object-fit-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} +.object-fit-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} +.object-fit-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} +.object-fit-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} +.object-fit-none { + -o-object-fit: none !important; + object-fit: none !important; +} +.opacity-0 { + opacity: 0 !important; +} +.opacity-25 { + opacity: 0.25 !important; +} +.opacity-50 { + opacity: 0.5 !important; +} +.opacity-75 { + opacity: 0.75 !important; +} +.opacity-100 { + opacity: 1 !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.overflow-visible { + overflow: visible !important; +} +.overflow-scroll { + overflow: scroll !important; +} +.overflow-x-auto { + overflow-x: auto !important; +} +.overflow-x-hidden { + overflow-x: hidden !important; +} +.overflow-x-visible { + overflow-x: visible !important; +} +.overflow-x-scroll { + overflow-x: scroll !important; +} +.overflow-y-auto { + overflow-y: auto !important; +} +.overflow-y-hidden { + overflow-y: hidden !important; +} +.overflow-y-visible { + overflow-y: visible !important; +} +.overflow-y-scroll { + overflow-y: scroll !important; +} +.d-inline { + display: inline !important; +} +.d-inline-block { + display: inline-block !important; +} +.d-block { + display: block !important; +} +.d-grid { + display: grid !important; +} +.d-table { + display: table !important; +} +.d-table-row { + display: table-row !important; +} +.d-table-cell { + display: table-cell !important; +} +.d-flex { + display: flex !important; +} +.d-inline-flex { + display: inline-flex !important; +} +.d-none { + display: none !important; +} +.shadow { + box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15) !important; +} +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075) !important; +} +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(var(--bs-body-color-rgb), 0.175) !important; +} +.shadow-none { + box-shadow: none !important; +} +.position-static { + position: static !important; +} +.position-relative { + position: relative !important; +} +.position-absolute { + position: absolute !important; +} +.position-fixed { + position: fixed !important; +} +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} +.top-0 { + top: 0 !important; +} +.top-50 { + top: 50% !important; +} +.top-100 { + top: 100% !important; +} +.bottom-0 { + bottom: 0 !important; +} +.bottom-50 { + bottom: 50% !important; +} +.bottom-100 { + bottom: 100% !important; +} +.start-0 { + left: 0 !important; +} +.start-50 { + left: 50% !important; +} +.start-100 { + left: 100% !important; +} +.end-0 { + right: 0 !important; +} +.end-50 { + right: 50% !important; +} +.end-100 { + right: 100% !important; +} +.translate-middle { + transform: translate(-50%, -50%) !important; +} +.translate-middle-x { + transform: translateX(-50%) !important; +} +.translate-middle-y { + transform: translateY(-50%) !important; +} +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} +.border-0 { + border: 0 !important; +} +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-top-0 { + border-top: 0 !important; +} +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-end-0 { + border-right: 0 !important; +} +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-bottom-0 { + border-bottom: 0 !important; +} +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-start-0 { + border-left: 0 !important; +} +.border-primary { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-primary-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-secondary-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-success { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-success-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} +.border-warning { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-warning-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} +.border-1 { + --bs-border-width: 1px; +} +.border-2 { + --bs-border-width: 2px; +} +.border-3 { + --bs-border-width: 3px; +} +.border-4 { + --bs-border-width: 4px; +} +.border-5 { + --bs-border-width: 5px; +} +.border-opacity-10 { + --bs-border-opacity: 0.1; +} +.border-opacity-25 { + --bs-border-opacity: 0.25; +} +.border-opacity-50 { + --bs-border-opacity: 0.5; +} +.border-opacity-75 { + --bs-border-opacity: 0.75; +} +.border-opacity-100 { + --bs-border-opacity: 1; +} +.w-25 { + width: 25% !important; +} +.w-50 { + width: 50% !important; +} +.w-75 { + width: 75% !important; +} +.w-100 { + width: 100% !important; +} +.w-auto { + width: auto !important; +} +.mw-100 { + max-width: 100% !important; +} +.vw-100 { + width: 100vw !important; +} +.min-vw-100 { + min-width: 100vw !important; +} +.h-25 { + height: 25% !important; +} +.h-50 { + height: 50% !important; +} +.h-75 { + height: 75% !important; +} +.h-100 { + height: 100% !important; +} +.h-auto { + height: auto !important; +} +.mh-100 { + max-height: 100% !important; +} +.vh-100 { + height: 100vh !important; +} +.min-vh-100 { + min-height: 100vh !important; +} +.flex-fill { + flex: 1 1 auto !important; +} +.flex-row { + flex-direction: row !important; +} +.flex-column { + flex-direction: column !important; +} +.flex-row-reverse { + flex-direction: row-reverse !important; +} +.flex-column-reverse { + flex-direction: column-reverse !important; +} +.flex-grow-0 { + flex-grow: 0 !important; +} +.flex-grow-1 { + flex-grow: 1 !important; +} +.flex-shrink-0 { + flex-shrink: 0 !important; +} +.flex-shrink-1 { + flex-shrink: 1 !important; +} +.flex-wrap { + flex-wrap: wrap !important; +} +.flex-nowrap { + flex-wrap: nowrap !important; +} +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} +.justify-content-start { + justify-content: flex-start !important; +} +.justify-content-end { + justify-content: flex-end !important; +} +.justify-content-center { + justify-content: center !important; +} +.justify-content-between { + justify-content: space-between !important; +} +.justify-content-around { + justify-content: space-around !important; +} +.justify-content-evenly { + justify-content: space-evenly !important; +} +.align-items-start { + align-items: flex-start !important; +} +.align-items-end { + align-items: flex-end !important; +} +.align-items-center { + align-items: center !important; +} +.align-items-baseline { + align-items: baseline !important; +} +.align-items-stretch { + align-items: stretch !important; +} +.align-content-start { + align-content: flex-start !important; +} +.align-content-end { + align-content: flex-end !important; +} +.align-content-center { + align-content: center !important; +} +.align-content-between { + align-content: space-between !important; +} +.align-content-around { + align-content: space-around !important; +} +.align-content-stretch { + align-content: stretch !important; +} +.align-self-auto { + align-self: auto !important; +} +.align-self-start { + align-self: flex-start !important; +} +.align-self-end { + align-self: flex-end !important; +} +.align-self-center { + align-self: center !important; +} +.align-self-baseline { + align-self: baseline !important; +} +.align-self-stretch { + align-self: stretch !important; +} +.order-first { + order: -1 !important; +} +.order-0 { + order: 0 !important; +} +.order-1 { + order: 1 !important; +} +.order-2 { + order: 2 !important; +} +.order-3 { + order: 3 !important; +} +.order-4 { + order: 4 !important; +} +.order-5 { + order: 5 !important; +} +.order-last { + order: 6 !important; +} +.m-0 { + margin: 0 !important; +} +.m-1 { + margin: 0.25rem !important; +} +.m-2 { + margin: 0.5rem !important; +} +.m-3 { + margin: 1rem !important; +} +.m-4 { + margin: 1.5rem !important; +} +.m-5 { + margin: 3rem !important; +} +.m-auto { + margin: auto !important; +} +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mt-1 { + margin-top: 0.25rem !important; +} +.mt-2 { + margin-top: 0.5rem !important; +} +.mt-3 { + margin-top: 1rem !important; +} +.mt-4 { + margin-top: 1.5rem !important; +} +.mt-5 { + margin-top: 3rem !important; +} +.mt-auto { + margin-top: auto !important; +} +.me-0 { + margin-right: 0 !important; +} +.me-1 { + margin-right: 0.25rem !important; +} +.me-2 { + margin-right: 0.5rem !important; +} +.me-3 { + margin-right: 1rem !important; +} +.me-4 { + margin-right: 1.5rem !important; +} +.me-5 { + margin-right: 3rem !important; +} +.me-auto { + margin-right: auto !important; +} +.mb-0 { + margin-bottom: 0 !important; +} +.mb-1 { + margin-bottom: 0.25rem !important; +} +.mb-2 { + margin-bottom: 0.5rem !important; +} +.mb-3 { + margin-bottom: 1rem !important; +} +.mb-4 { + margin-bottom: 1.5rem !important; +} +.mb-5 { + margin-bottom: 3rem !important; +} +.mb-auto { + margin-bottom: auto !important; +} +.ms-0 { + margin-left: 0 !important; +} +.ms-1 { + margin-left: 0.25rem !important; +} +.ms-2 { + margin-left: 0.5rem !important; +} +.ms-3 { + margin-left: 1rem !important; +} +.ms-4 { + margin-left: 1.5rem !important; +} +.ms-5 { + margin-left: 3rem !important; +} +.ms-auto { + margin-left: auto !important; +} +.p-0 { + padding: 0 !important; +} +.p-1 { + padding: 0.25rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.p-3 { + padding: 1rem !important; +} +.p-4 { + padding: 1.5rem !important; +} +.p-5 { + padding: 3rem !important; +} +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pt-1 { + padding-top: 0.25rem !important; +} +.pt-2 { + padding-top: 0.5rem !important; +} +.pt-3 { + padding-top: 1rem !important; +} +.pt-4 { + padding-top: 1.5rem !important; +} +.pt-5 { + padding-top: 3rem !important; +} +.pe-0 { + padding-right: 0 !important; +} +.pe-1 { + padding-right: 0.25rem !important; +} +.pe-2 { + padding-right: 0.5rem !important; +} +.pe-3 { + padding-right: 1rem !important; +} +.pe-4 { + padding-right: 1.5rem !important; +} +.pe-5 { + padding-right: 3rem !important; +} +.pb-0 { + padding-bottom: 0 !important; +} +.pb-1 { + padding-bottom: 0.25rem !important; +} +.pb-2 { + padding-bottom: 0.5rem !important; +} +.pb-3 { + padding-bottom: 1rem !important; +} +.pb-4 { + padding-bottom: 1.5rem !important; +} +.pb-5 { + padding-bottom: 3rem !important; +} +.ps-0 { + padding-left: 0 !important; +} +.ps-1 { + padding-left: 0.25rem !important; +} +.ps-2 { + padding-left: 0.5rem !important; +} +.ps-3 { + padding-left: 1rem !important; +} +.ps-4 { + padding-left: 1.5rem !important; +} +.ps-5 { + padding-left: 3rem !important; +} +.gap-0 { + gap: 0 !important; +} +.gap-1 { + gap: 0.25rem !important; +} +.gap-2 { + gap: 0.5rem !important; +} +.gap-3 { + gap: 1rem !important; +} +.gap-4 { + gap: 1.5rem !important; +} +.gap-5 { + gap: 3rem !important; +} +.row-gap-0 { + row-gap: 0 !important; +} +.row-gap-1 { + row-gap: 0.25rem !important; +} +.row-gap-2 { + row-gap: 0.5rem !important; +} +.row-gap-3 { + row-gap: 1rem !important; +} +.row-gap-4 { + row-gap: 1.5rem !important; +} +.row-gap-5 { + row-gap: 3rem !important; +} +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} +.column-gap-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} +.column-gap-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} +.column-gap-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} +.column-gap-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} +.column-gap-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} +.fs-5 { + font-size: 1.25rem !important; +} +.fs-6 { + font-size: 1rem !important; +} +.fst-italic { + font-style: italic !important; +} +.fst-normal { + font-style: normal !important; +} +.fw-lighter { + font-weight: lighter !important; +} +.fw-light { + font-weight: 300 !important; +} +.fw-normal { + font-weight: 400 !important; +} +.fw-medium { + font-weight: 500 !important; +} +.fw-semibold { + font-weight: 600 !important; +} +.fw-bold { + font-weight: 700 !important; +} +.fw-bolder { + font-weight: bolder !important; +} +.lh-1 { + line-height: 1 !important; +} +.lh-sm { + line-height: 1.25 !important; +} +.lh-base { + line-height: 1.5 !important; +} +.lh-lg { + line-height: 2 !important; +} +.text-start { + text-align: left !important; +} +.text-end { + text-align: right !important; +} +.text-center { + text-align: center !important; +} +.text-decoration-none { + text-decoration: none !important; +} +.text-decoration-underline { + text-decoration: underline !important; +} +.text-decoration-line-through { + text-decoration: line-through !important; +} +.text-lowercase { + text-transform: lowercase !important; +} +.text-uppercase { + text-transform: uppercase !important; +} +.text-capitalize { + text-transform: capitalize !important; +} +.text-wrap { + white-space: normal !important; +} +.text-nowrap { + white-space: nowrap !important; +} +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} +.text-opacity-25 { + --bs-text-opacity: 0.25; +} +.text-opacity-50 { + --bs-text-opacity: 0.5; +} +.text-opacity-75 { + --bs-text-opacity: 0.75; +} +.text-opacity-100 { + --bs-text-opacity: 1; +} +.text-primary-emphasis { + color: var(--bs-primary-text) !important; +} +.text-secondary-emphasis { + color: var(--bs-secondary-text) !important; +} +.text-success-emphasis { + color: var(--bs-success-text) !important; +} +.text-info-emphasis { + color: var(--bs-info-text) !important; +} +.text-warning-emphasis { + color: var(--bs-warning-text) !important; +} +.text-danger-emphasis { + color: var(--bs-danger-text) !important; +} +.text-light-emphasis { + color: var(--bs-light-text) !important; +} +.text-dark-emphasis { + color: var(--bs-dark-text) !important; +} +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-primary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-secondary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-success-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-warning-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-body-bg-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-secondary-bg-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-tertiary-bg-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-body-emphasis { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-emphasis-bg-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} +.bg-opacity-100 { + --bs-bg-opacity: 1; +} +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} +.bg-gradient { + background-image: var(--bs-gradient) !important; +} +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} +.pe-none { + pointer-events: none !important; +} +.pe-auto { + pointer-events: auto !important; +} +.rounded { + border-radius: var(--bs-border-radius) !important; +} +.rounded-0 { + border-radius: 0 !important; +} +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} +.rounded-5 { + border-radius: var(--bs-border-radius-2xl) !important; +} +.rounded-circle { + border-radius: 50% !important; +} +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-2xl) !important; + border-top-right-radius: var(--bs-border-radius-2xl) !important; +} +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.rounded-end-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} +.rounded-end-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} +.rounded-end-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} +.rounded-end-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} +.rounded-end-5 { + border-top-right-radius: var(--bs-border-radius-2xl) !important; + border-bottom-right-radius: var(--bs-border-radius-2xl) !important; +} +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} +.rounded-end-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.rounded-bottom-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} +.rounded-bottom-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} +.rounded-bottom-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} +.rounded-bottom-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} +.rounded-bottom-5 { + border-bottom-right-radius: var(--bs-border-radius-2xl) !important; + border-bottom-left-radius: var(--bs-border-radius-2xl) !important; +} +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} +.rounded-bottom-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-2xl) !important; + border-top-left-radius: var(--bs-border-radius-2xl) !important; +} +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +.z-n1 { + z-index: -1 !important; +} +.z-0 { + z-index: 0 !important; +} +.z-1 { + z-index: 1 !important; +} +.z-2 { + z-index: 2 !important; +} +.z-3 { + z-index: 3 !important; +} +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-sm-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-sm-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-sm-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-sm-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 3rem !important; + } + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-sm-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-sm-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-md-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-md-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-md-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-md-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 3rem !important; + } + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-md-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-md-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-lg-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-lg-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-lg-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-lg-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 3rem !important; + } + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-lg-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-lg-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 3rem !important; + } + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xxl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xxl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xxl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xxl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 3rem !important; + } + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xxl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.min.css.map */ diff --git a/lib/bootstrap-5.3.0-alpha1.min.js b/lib/bootstrap-5.3.0-alpha1.min.js new file mode 100644 index 0000000..ddd96a0 --- /dev/null +++ b/lib/bootstrap-5.3.0-alpha1.min.js @@ -0,0 +1,4180 @@ +/*! + * Bootstrap v5.3.0-alpha1 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!(function (t, e) { + "object" == typeof exports && "undefined" != typeof module + ? (module.exports = e()) + : "function" == typeof define && define.amd + ? define(e) + : ((t = + "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = + e()); +})(this, function () { + "use strict"; + const t = "transitionend", + e = (t) => ( + t && + window.CSS && + window.CSS.escape && + (t = t.replace(/#([^\s"#']+)/g, (t, e) => `#${CSS.escape(e)}`)), + t + ), + i = (e) => { + e.dispatchEvent(new Event(t)); + }, + n = (t) => + !(!t || "object" != typeof t) && + (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType), + s = (t) => + n(t) + ? t.jquery + ? t[0] + : t + : "string" == typeof t && t.length > 0 + ? document.querySelector(e(t)) + : null, + o = (t) => { + if (!n(t) || 0 === t.getClientRects().length) return !1; + const e = + "visible" === getComputedStyle(t).getPropertyValue("visibility"), + i = t.closest("details:not([open])"); + if (!i) return e; + if (i !== t) { + const e = t.closest("summary"); + if (e && e.parentNode !== i) return !1; + if (null === e) return !1; + } + return e; + }, + r = (t) => + !t || + t.nodeType !== Node.ELEMENT_NODE || + !!t.classList.contains("disabled") || + (void 0 !== t.disabled + ? t.disabled + : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")), + a = (t) => { + if (!document.documentElement.attachShadow) return null; + if ("function" == typeof t.getRootNode) { + const e = t.getRootNode(); + return e instanceof ShadowRoot ? e : null; + } + return t instanceof ShadowRoot + ? t + : t.parentNode + ? a(t.parentNode) + : null; + }, + l = () => {}, + c = (t) => { + t.offsetHeight; + }, + h = () => + window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") + ? window.jQuery + : null, + d = [], + u = () => "rtl" === document.documentElement.dir, + f = (t) => { + var e; + (e = () => { + const e = h(); + if (e) { + const i = t.NAME, + n = e.fn[i]; + (e.fn[i] = t.jQueryInterface), + (e.fn[i].Constructor = t), + (e.fn[i].noConflict = () => ((e.fn[i] = n), t.jQueryInterface)); + } + }), + "loading" === document.readyState + ? (d.length || + document.addEventListener("DOMContentLoaded", () => { + for (const t of d) t(); + }), + d.push(e)) + : e(); + }, + p = (t, e = [], i = t) => ("function" == typeof t ? t(...e) : i), + m = (e, n, s = !0) => { + if (!s) return void p(e); + const o = + ((t) => { + if (!t) return 0; + let { transitionDuration: e, transitionDelay: i } = + window.getComputedStyle(t); + const n = Number.parseFloat(e), + s = Number.parseFloat(i); + return n || s + ? ((e = e.split(",")[0]), + (i = i.split(",")[0]), + 1e3 * (Number.parseFloat(e) + Number.parseFloat(i))) + : 0; + })(n) + 5; + let r = !1; + const a = ({ target: i }) => { + i === n && ((r = !0), n.removeEventListener(t, a), p(e)); + }; + n.addEventListener(t, a), + setTimeout(() => { + r || i(n); + }, o); + }, + g = (t, e, i, n) => { + const s = t.length; + let o = t.indexOf(e); + return -1 === o + ? !i && n + ? t[s - 1] + : t[0] + : ((o += i ? 1 : -1), + n && (o = (o + s) % s), + t[Math.max(0, Math.min(o, s - 1))]); + }, + _ = /[^.]*(?=\..*)\.|.*/, + b = /\..*/, + v = /::\d+$/, + y = {}; + let w = 1; + const A = { mouseenter: "mouseover", mouseleave: "mouseout" }, + E = new Set([ + "click", + "dblclick", + "mouseup", + "mousedown", + "contextmenu", + "mousewheel", + "DOMMouseScroll", + "mouseover", + "mouseout", + "mousemove", + "selectstart", + "selectend", + "keydown", + "keypress", + "keyup", + "orientationchange", + "touchstart", + "touchmove", + "touchend", + "touchcancel", + "pointerdown", + "pointermove", + "pointerup", + "pointerleave", + "pointercancel", + "gesturestart", + "gesturechange", + "gestureend", + "focus", + "blur", + "change", + "reset", + "select", + "submit", + "focusin", + "focusout", + "load", + "unload", + "beforeunload", + "resize", + "move", + "DOMContentLoaded", + "readystatechange", + "error", + "abort", + "scroll", + ]); + function T(t, e) { + return (e && `${e}::${w++}`) || t.uidEvent || w++; + } + function C(t) { + const e = T(t); + return (t.uidEvent = e), (y[e] = y[e] || {}), y[e]; + } + function O(t, e, i = null) { + return Object.values(t).find( + (t) => t.callable === e && t.delegationSelector === i + ); + } + function x(t, e, i) { + const n = "string" == typeof e, + s = n ? i : e || i; + let o = D(t); + return E.has(o) || (o = t), [n, s, o]; + } + function k(t, e, i, n, s) { + if ("string" != typeof e || !t) return; + let [o, r, a] = x(e, i, n); + if (e in A) { + const t = (t) => + function (e) { + if ( + !e.relatedTarget || + (e.relatedTarget !== e.delegateTarget && + !e.delegateTarget.contains(e.relatedTarget)) + ) + return t.call(this, e); + }; + r = t(r); + } + const l = C(t), + c = l[a] || (l[a] = {}), + h = O(c, r, o ? i : null); + if (h) return void (h.oneOff = h.oneOff && s); + const d = T(r, e.replace(_, "")), + u = o + ? (function (t, e, i) { + return function n(s) { + const o = t.querySelectorAll(e); + for (let { target: r } = s; r && r !== this; r = r.parentNode) + for (const a of o) + if (a === r) + return ( + N(s, { delegateTarget: r }), + n.oneOff && I.off(t, s.type, e, i), + i.apply(r, [s]) + ); + }; + })(t, i, r) + : (function (t, e) { + return function i(n) { + return ( + N(n, { delegateTarget: t }), + i.oneOff && I.off(t, n.type, e), + e.apply(t, [n]) + ); + }; + })(t, r); + (u.delegationSelector = o ? i : null), + (u.callable = r), + (u.oneOff = s), + (u.uidEvent = d), + (c[d] = u), + t.addEventListener(a, u, o); + } + function L(t, e, i, n, s) { + const o = O(e[i], n, s); + o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]); + } + function S(t, e, i, n) { + const s = e[i] || {}; + for (const [o, r] of Object.entries(s)) + o.includes(n) && L(t, e, i, r.callable, r.delegationSelector); + } + function D(t) { + return (t = t.replace(b, "")), A[t] || t; + } + const I = { + on(t, e, i, n) { + k(t, e, i, n, !1); + }, + one(t, e, i, n) { + k(t, e, i, n, !0); + }, + off(t, e, i, n) { + if ("string" != typeof e || !t) return; + const [s, o, r] = x(e, i, n), + a = r !== e, + l = C(t), + c = l[r] || {}, + h = e.startsWith("."); + if (void 0 === o) { + if (h) for (const i of Object.keys(l)) S(t, l, i, e.slice(1)); + for (const [i, n] of Object.entries(c)) { + const s = i.replace(v, ""); + (a && !e.includes(s)) || L(t, l, r, n.callable, n.delegationSelector); + } + } else { + if (!Object.keys(c).length) return; + L(t, l, r, o, s ? i : null); + } + }, + trigger(t, e, i) { + if ("string" != typeof e || !t) return null; + const n = h(); + let s = null, + o = !0, + r = !0, + a = !1; + e !== D(e) && + n && + ((s = n.Event(e, i)), + n(t).trigger(s), + (o = !s.isPropagationStopped()), + (r = !s.isImmediatePropagationStopped()), + (a = s.isDefaultPrevented())); + let l = new Event(e, { bubbles: o, cancelable: !0 }); + return ( + (l = N(l, i)), + a && l.preventDefault(), + r && t.dispatchEvent(l), + l.defaultPrevented && s && s.preventDefault(), + l + ); + }, + }; + function N(t, e = {}) { + for (const [i, n] of Object.entries(e)) + try { + t[i] = n; + } catch (e) { + Object.defineProperty(t, i, { configurable: !0, get: () => n }); + } + return t; + } + const P = new Map(), + j = { + set(t, e, i) { + P.has(t) || P.set(t, new Map()); + const n = P.get(t); + n.has(e) || 0 === n.size + ? n.set(e, i) + : console.error( + `Bootstrap doesn't allow more than one instance per element. Bound instance: ${ + Array.from(n.keys())[0] + }.` + ); + }, + get: (t, e) => (P.has(t) && P.get(t).get(e)) || null, + remove(t, e) { + if (!P.has(t)) return; + const i = P.get(t); + i.delete(e), 0 === i.size && P.delete(t); + }, + }; + function M(t) { + if ("true" === t) return !0; + if ("false" === t) return !1; + if (t === Number(t).toString()) return Number(t); + if ("" === t || "null" === t) return null; + if ("string" != typeof t) return t; + try { + return JSON.parse(decodeURIComponent(t)); + } catch (e) { + return t; + } + } + function F(t) { + return t.replace(/[A-Z]/g, (t) => `-${t.toLowerCase()}`); + } + const H = { + setDataAttribute(t, e, i) { + t.setAttribute(`data-bs-${F(e)}`, i); + }, + removeDataAttribute(t, e) { + t.removeAttribute(`data-bs-${F(e)}`); + }, + getDataAttributes(t) { + if (!t) return {}; + const e = {}, + i = Object.keys(t.dataset).filter( + (t) => t.startsWith("bs") && !t.startsWith("bsConfig") + ); + for (const n of i) { + let i = n.replace(/^bs/, ""); + (i = i.charAt(0).toLowerCase() + i.slice(1, i.length)), + (e[i] = M(t.dataset[n])); + } + return e; + }, + getDataAttribute: (t, e) => M(t.getAttribute(`data-bs-${F(e)}`)), + }; + class $ { + static get Default() { + return {}; + } + static get DefaultType() { + return {}; + } + static get NAME() { + throw new Error( + 'You have to implement the static method "NAME", for each component!' + ); + } + _getConfig(t) { + return ( + (t = this._mergeConfigObj(t)), + (t = this._configAfterMerge(t)), + this._typeCheckConfig(t), + t + ); + } + _configAfterMerge(t) { + return t; + } + _mergeConfigObj(t, e) { + const i = n(e) ? H.getDataAttribute(e, "config") : {}; + return { + ...this.constructor.Default, + ...("object" == typeof i ? i : {}), + ...(n(e) ? H.getDataAttributes(e) : {}), + ...("object" == typeof t ? t : {}), + }; + } + _typeCheckConfig(t, e = this.constructor.DefaultType) { + for (const [s, o] of Object.entries(e)) { + const e = t[s], + r = n(e) + ? "element" + : null == (i = e) + ? `${i}` + : Object.prototype.toString + .call(i) + .match(/\s([a-z]+)/i)[1] + .toLowerCase(); + if (!new RegExp(o).test(r)) + throw new TypeError( + `${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${r}" but expected type "${o}".` + ); + } + var i; + } + } + class W extends $ { + constructor(t, e) { + super(), + (t = s(t)) && + ((this._element = t), + (this._config = this._getConfig(e)), + j.set(this._element, this.constructor.DATA_KEY, this)); + } + dispose() { + j.remove(this._element, this.constructor.DATA_KEY), + I.off(this._element, this.constructor.EVENT_KEY); + for (const t of Object.getOwnPropertyNames(this)) this[t] = null; + } + _queueCallback(t, e, i = !0) { + m(t, e, i); + } + _getConfig(t) { + return ( + (t = this._mergeConfigObj(t, this._element)), + (t = this._configAfterMerge(t)), + this._typeCheckConfig(t), + t + ); + } + static getInstance(t) { + return j.get(s(t), this.DATA_KEY); + } + static getOrCreateInstance(t, e = {}) { + return ( + this.getInstance(t) || new this(t, "object" == typeof e ? e : null) + ); + } + static get VERSION() { + return "5.3.0-alpha1"; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(t) { + return `${t}${this.EVENT_KEY}`; + } + } + const B = (t) => { + let i = t.getAttribute("data-bs-target"); + if (!i || "#" === i) { + let e = t.getAttribute("href"); + if (!e || (!e.includes("#") && !e.startsWith("."))) return null; + e.includes("#") && !e.startsWith("#") && (e = `#${e.split("#")[1]}`), + (i = e && "#" !== e ? e.trim() : null); + } + return e(i); + }, + z = { + find: (t, e = document.documentElement) => + [].concat(...Element.prototype.querySelectorAll.call(e, t)), + findOne: (t, e = document.documentElement) => + Element.prototype.querySelector.call(e, t), + children: (t, e) => [].concat(...t.children).filter((t) => t.matches(e)), + parents(t, e) { + const i = []; + let n = t.parentNode.closest(e); + for (; n; ) i.push(n), (n = n.parentNode.closest(e)); + return i; + }, + prev(t, e) { + let i = t.previousElementSibling; + for (; i; ) { + if (i.matches(e)) return [i]; + i = i.previousElementSibling; + } + return []; + }, + next(t, e) { + let i = t.nextElementSibling; + for (; i; ) { + if (i.matches(e)) return [i]; + i = i.nextElementSibling; + } + return []; + }, + focusableChildren(t) { + const e = [ + "a", + "button", + "input", + "textarea", + "select", + "details", + "[tabindex]", + '[contenteditable="true"]', + ] + .map((t) => `${t}:not([tabindex^="-"])`) + .join(","); + return this.find(e, t).filter((t) => !r(t) && o(t)); + }, + getSelectorFromElement(t) { + const e = B(t); + return e && z.findOne(e) ? e : null; + }, + getElementFromSelector(t) { + const e = B(t); + return e ? z.findOne(e) : null; + }, + getMultipleElementsFromSelector(t) { + const e = B(t); + return e ? z.find(e) : []; + }, + }, + R = (t, e = "hide") => { + const i = `click.dismiss${t.EVENT_KEY}`, + n = t.NAME; + I.on(document, i, `[data-bs-dismiss="${n}"]`, function (i) { + if ( + (["A", "AREA"].includes(this.tagName) && i.preventDefault(), r(this)) + ) + return; + const s = z.getElementFromSelector(this) || this.closest(`.${n}`); + t.getOrCreateInstance(s)[e](); + }); + }; + class q extends W { + static get NAME() { + return "alert"; + } + close() { + if (I.trigger(this._element, "close.bs.alert").defaultPrevented) return; + this._element.classList.remove("show"); + const t = this._element.classList.contains("fade"); + this._queueCallback(() => this._destroyElement(), this._element, t); + } + _destroyElement() { + this._element.remove(), + I.trigger(this._element, "closed.bs.alert"), + this.dispose(); + } + static jQueryInterface(t) { + return this.each(function () { + const e = q.getOrCreateInstance(this); + if ("string" == typeof t) { + if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) + throw new TypeError(`No method named "${t}"`); + e[t](this); + } + }); + } + } + R(q, "close"), f(q); + const V = '[data-bs-toggle="button"]'; + class K extends W { + static get NAME() { + return "button"; + } + toggle() { + this._element.setAttribute( + "aria-pressed", + this._element.classList.toggle("active") + ); + } + static jQueryInterface(t) { + return this.each(function () { + const e = K.getOrCreateInstance(this); + "toggle" === t && e[t](); + }); + } + } + I.on(document, "click.bs.button.data-api", V, (t) => { + t.preventDefault(); + const e = t.target.closest(V); + K.getOrCreateInstance(e).toggle(); + }), + f(K); + const Q = { endCallback: null, leftCallback: null, rightCallback: null }, + X = { + endCallback: "(function|null)", + leftCallback: "(function|null)", + rightCallback: "(function|null)", + }; + class Y extends $ { + constructor(t, e) { + super(), + (this._element = t), + t && + Y.isSupported() && + ((this._config = this._getConfig(e)), + (this._deltaX = 0), + (this._supportPointerEvents = Boolean(window.PointerEvent)), + this._initEvents()); + } + static get Default() { + return Q; + } + static get DefaultType() { + return X; + } + static get NAME() { + return "swipe"; + } + dispose() { + I.off(this._element, ".bs.swipe"); + } + _start(t) { + this._supportPointerEvents + ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX) + : (this._deltaX = t.touches[0].clientX); + } + _end(t) { + this._eventIsPointerPenTouch(t) && + (this._deltaX = t.clientX - this._deltaX), + this._handleSwipe(), + p(this._config.endCallback); + } + _move(t) { + this._deltaX = + t.touches && t.touches.length > 1 + ? 0 + : t.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const t = Math.abs(this._deltaX); + if (t <= 40) return; + const e = t / this._deltaX; + (this._deltaX = 0), + e && p(e > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + this._supportPointerEvents + ? (I.on(this._element, "pointerdown.bs.swipe", (t) => this._start(t)), + I.on(this._element, "pointerup.bs.swipe", (t) => this._end(t)), + this._element.classList.add("pointer-event")) + : (I.on(this._element, "touchstart.bs.swipe", (t) => this._start(t)), + I.on(this._element, "touchmove.bs.swipe", (t) => this._move(t)), + I.on(this._element, "touchend.bs.swipe", (t) => this._end(t))); + } + _eventIsPointerPenTouch(t) { + return ( + this._supportPointerEvents && + ("pen" === t.pointerType || "touch" === t.pointerType) + ); + } + static isSupported() { + return ( + "ontouchstart" in document.documentElement || + navigator.maxTouchPoints > 0 + ); + } + } + const U = "next", + G = "prev", + J = "left", + Z = "right", + tt = "slid.bs.carousel", + et = "carousel", + it = "active", + nt = { ArrowLeft: Z, ArrowRight: J }, + st = { + interval: 5e3, + keyboard: !0, + pause: "hover", + ride: !1, + touch: !0, + wrap: !0, + }, + ot = { + interval: "(number|boolean)", + keyboard: "boolean", + pause: "(string|boolean)", + ride: "(boolean|string)", + touch: "boolean", + wrap: "boolean", + }; + class rt extends W { + constructor(t, e) { + super(t, e), + (this._interval = null), + (this._activeElement = null), + (this._isSliding = !1), + (this.touchTimeout = null), + (this._swipeHelper = null), + (this._indicatorsElement = z.findOne( + ".carousel-indicators", + this._element + )), + this._addEventListeners(), + this._config.ride === et && this.cycle(); + } + static get Default() { + return st; + } + static get DefaultType() { + return ot; + } + static get NAME() { + return "carousel"; + } + next() { + this._slide(U); + } + nextWhenVisible() { + !document.hidden && o(this._element) && this.next(); + } + prev() { + this._slide(G); + } + pause() { + this._isSliding && i(this._element), this._clearInterval(); + } + cycle() { + this._clearInterval(), + this._updateInterval(), + (this._interval = setInterval( + () => this.nextWhenVisible(), + this._config.interval + )); + } + _maybeEnableCycle() { + this._config.ride && + (this._isSliding + ? I.one(this._element, tt, () => this.cycle()) + : this.cycle()); + } + to(t) { + const e = this._getItems(); + if (t > e.length - 1 || t < 0) return; + if (this._isSliding) + return void I.one(this._element, tt, () => this.to(t)); + const i = this._getItemIndex(this._getActive()); + if (i === t) return; + const n = t > i ? U : G; + this._slide(n, e[t]); + } + dispose() { + this._swipeHelper && this._swipeHelper.dispose(), super.dispose(); + } + _configAfterMerge(t) { + return (t.defaultInterval = t.interval), t; + } + _addEventListeners() { + this._config.keyboard && + I.on(this._element, "keydown.bs.carousel", (t) => this._keydown(t)), + "hover" === this._config.pause && + (I.on(this._element, "mouseenter.bs.carousel", () => this.pause()), + I.on(this._element, "mouseleave.bs.carousel", () => + this._maybeEnableCycle() + )), + this._config.touch && Y.isSupported() && this._addTouchEventListeners(); + } + _addTouchEventListeners() { + for (const t of z.find(".carousel-item img", this._element)) + I.on(t, "dragstart.bs.carousel", (t) => t.preventDefault()); + const t = { + leftCallback: () => this._slide(this._directionToOrder(J)), + rightCallback: () => this._slide(this._directionToOrder(Z)), + endCallback: () => { + "hover" === this._config.pause && + (this.pause(), + this.touchTimeout && clearTimeout(this.touchTimeout), + (this.touchTimeout = setTimeout( + () => this._maybeEnableCycle(), + 500 + this._config.interval + ))); + }, + }; + this._swipeHelper = new Y(this._element, t); + } + _keydown(t) { + if (/input|textarea/i.test(t.target.tagName)) return; + const e = nt[t.key]; + e && (t.preventDefault(), this._slide(this._directionToOrder(e))); + } + _getItemIndex(t) { + return this._getItems().indexOf(t); + } + _setActiveIndicatorElement(t) { + if (!this._indicatorsElement) return; + const e = z.findOne(".active", this._indicatorsElement); + e.classList.remove(it), e.removeAttribute("aria-current"); + const i = z.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement); + i && (i.classList.add(it), i.setAttribute("aria-current", "true")); + } + _updateInterval() { + const t = this._activeElement || this._getActive(); + if (!t) return; + const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10); + this._config.interval = e || this._config.defaultInterval; + } + _slide(t, e = null) { + if (this._isSliding) return; + const i = this._getActive(), + n = t === U, + s = e || g(this._getItems(), i, n, this._config.wrap); + if (s === i) return; + const o = this._getItemIndex(s), + r = (e) => + I.trigger(this._element, e, { + relatedTarget: s, + direction: this._orderToDirection(t), + from: this._getItemIndex(i), + to: o, + }); + if (r("slide.bs.carousel").defaultPrevented) return; + if (!i || !s) return; + const a = Boolean(this._interval); + this.pause(), + (this._isSliding = !0), + this._setActiveIndicatorElement(o), + (this._activeElement = s); + const l = n ? "carousel-item-start" : "carousel-item-end", + h = n ? "carousel-item-next" : "carousel-item-prev"; + s.classList.add(h), + c(s), + i.classList.add(l), + s.classList.add(l), + this._queueCallback( + () => { + s.classList.remove(l, h), + s.classList.add(it), + i.classList.remove(it, h, l), + (this._isSliding = !1), + r(tt); + }, + i, + this._isAnimated() + ), + a && this.cycle(); + } + _isAnimated() { + return this._element.classList.contains("slide"); + } + _getActive() { + return z.findOne(".active.carousel-item", this._element); + } + _getItems() { + return z.find(".carousel-item", this._element); + } + _clearInterval() { + this._interval && + (clearInterval(this._interval), (this._interval = null)); + } + _directionToOrder(t) { + return u() ? (t === J ? G : U) : t === J ? U : G; + } + _orderToDirection(t) { + return u() ? (t === G ? J : Z) : t === G ? Z : J; + } + static jQueryInterface(t) { + return this.each(function () { + const e = rt.getOrCreateInstance(this, t); + if ("number" != typeof t) { + if ("string" == typeof t) { + if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) + throw new TypeError(`No method named "${t}"`); + e[t](); + } + } else e.to(t); + }); + } + } + I.on( + document, + "click.bs.carousel.data-api", + "[data-bs-slide], [data-bs-slide-to]", + function (t) { + const e = z.getElementFromSelector(this); + if (!e || !e.classList.contains(et)) return; + t.preventDefault(); + const i = rt.getOrCreateInstance(e), + n = this.getAttribute("data-bs-slide-to"); + return n + ? (i.to(n), void i._maybeEnableCycle()) + : "next" === H.getDataAttribute(this, "slide") + ? (i.next(), void i._maybeEnableCycle()) + : (i.prev(), void i._maybeEnableCycle()); + } + ), + I.on(window, "load.bs.carousel.data-api", () => { + const t = z.find('[data-bs-ride="carousel"]'); + for (const e of t) rt.getOrCreateInstance(e); + }), + f(rt); + const at = "show", + lt = "collapse", + ct = "collapsing", + ht = '[data-bs-toggle="collapse"]', + dt = { parent: null, toggle: !0 }, + ut = { parent: "(null|element)", toggle: "boolean" }; + class ft extends W { + constructor(t, e) { + super(t, e), (this._isTransitioning = !1), (this._triggerArray = []); + const i = z.find(ht); + for (const t of i) { + const e = z.getSelectorFromElement(t), + i = z.find(e).filter((t) => t === this._element); + null !== e && i.length && this._triggerArray.push(t); + } + this._initializeChildren(), + this._config.parent || + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), + this._config.toggle && this.toggle(); + } + static get Default() { + return dt; + } + static get DefaultType() { + return ut; + } + static get NAME() { + return "collapse"; + } + toggle() { + this._isShown() ? this.hide() : this.show(); + } + show() { + if (this._isTransitioning || this._isShown()) return; + let t = []; + if ( + (this._config.parent && + (t = this._getFirstLevelChildren( + ".collapse.show, .collapse.collapsing" + ) + .filter((t) => t !== this._element) + .map((t) => ft.getOrCreateInstance(t, { toggle: !1 }))), + t.length && t[0]._isTransitioning) + ) + return; + if (I.trigger(this._element, "show.bs.collapse").defaultPrevented) return; + for (const e of t) e.hide(); + const e = this._getDimension(); + this._element.classList.remove(lt), + this._element.classList.add(ct), + (this._element.style[e] = 0), + this._addAriaAndCollapsedClass(this._triggerArray, !0), + (this._isTransitioning = !0); + const i = `scroll${e[0].toUpperCase() + e.slice(1)}`; + this._queueCallback( + () => { + (this._isTransitioning = !1), + this._element.classList.remove(ct), + this._element.classList.add(lt, at), + (this._element.style[e] = ""), + I.trigger(this._element, "shown.bs.collapse"); + }, + this._element, + !0 + ), + (this._element.style[e] = `${this._element[i]}px`); + } + hide() { + if (this._isTransitioning || !this._isShown()) return; + if (I.trigger(this._element, "hide.bs.collapse").defaultPrevented) return; + const t = this._getDimension(); + (this._element.style[t] = `${ + this._element.getBoundingClientRect()[t] + }px`), + c(this._element), + this._element.classList.add(ct), + this._element.classList.remove(lt, at); + for (const t of this._triggerArray) { + const e = z.getElementFromSelector(t); + e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1); + } + (this._isTransitioning = !0), + (this._element.style[t] = ""), + this._queueCallback( + () => { + (this._isTransitioning = !1), + this._element.classList.remove(ct), + this._element.classList.add(lt), + I.trigger(this._element, "hidden.bs.collapse"); + }, + this._element, + !0 + ); + } + _isShown(t = this._element) { + return t.classList.contains(at); + } + _configAfterMerge(t) { + return (t.toggle = Boolean(t.toggle)), (t.parent = s(t.parent)), t; + } + _getDimension() { + return this._element.classList.contains("collapse-horizontal") + ? "width" + : "height"; + } + _initializeChildren() { + if (!this._config.parent) return; + const t = this._getFirstLevelChildren(ht); + for (const e of t) { + const t = z.getElementFromSelector(e); + t && this._addAriaAndCollapsedClass([e], this._isShown(t)); + } + } + _getFirstLevelChildren(t) { + const e = z.find(":scope .collapse .collapse", this._config.parent); + return z.find(t, this._config.parent).filter((t) => !e.includes(t)); + } + _addAriaAndCollapsedClass(t, e) { + if (t.length) + for (const i of t) + i.classList.toggle("collapsed", !e), + i.setAttribute("aria-expanded", e); + } + static jQueryInterface(t) { + const e = {}; + return ( + "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1), + this.each(function () { + const i = ft.getOrCreateInstance(this, e); + if ("string" == typeof t) { + if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`); + i[t](); + } + }) + ); + } + } + I.on(document, "click.bs.collapse.data-api", ht, function (t) { + ("A" === t.target.tagName || + (t.delegateTarget && "A" === t.delegateTarget.tagName)) && + t.preventDefault(); + for (const t of z.getMultipleElementsFromSelector(this)) + ft.getOrCreateInstance(t, { toggle: !1 }).toggle(); + }), + f(ft); + var pt = "top", + mt = "bottom", + gt = "right", + _t = "left", + bt = "auto", + vt = [pt, mt, gt, _t], + yt = "start", + wt = "end", + At = "clippingParents", + Et = "viewport", + Tt = "popper", + Ct = "reference", + Ot = vt.reduce(function (t, e) { + return t.concat([e + "-" + yt, e + "-" + wt]); + }, []), + xt = [].concat(vt, [bt]).reduce(function (t, e) { + return t.concat([e, e + "-" + yt, e + "-" + wt]); + }, []), + kt = "beforeRead", + Lt = "read", + St = "afterRead", + Dt = "beforeMain", + It = "main", + Nt = "afterMain", + Pt = "beforeWrite", + jt = "write", + Mt = "afterWrite", + Ft = [kt, Lt, St, Dt, It, Nt, Pt, jt, Mt]; + function Ht(t) { + return t ? (t.nodeName || "").toLowerCase() : null; + } + function $t(t) { + if (null == t) return window; + if ("[object Window]" !== t.toString()) { + var e = t.ownerDocument; + return (e && e.defaultView) || window; + } + return t; + } + function Wt(t) { + return t instanceof $t(t).Element || t instanceof Element; + } + function Bt(t) { + return t instanceof $t(t).HTMLElement || t instanceof HTMLElement; + } + function zt(t) { + return ( + "undefined" != typeof ShadowRoot && + (t instanceof $t(t).ShadowRoot || t instanceof ShadowRoot) + ); + } + const Rt = { + name: "applyStyles", + enabled: !0, + phase: "write", + fn: function (t) { + var e = t.state; + Object.keys(e.elements).forEach(function (t) { + var i = e.styles[t] || {}, + n = e.attributes[t] || {}, + s = e.elements[t]; + Bt(s) && + Ht(s) && + (Object.assign(s.style, i), + Object.keys(n).forEach(function (t) { + var e = n[t]; + !1 === e + ? s.removeAttribute(t) + : s.setAttribute(t, !0 === e ? "" : e); + })); + }); + }, + effect: function (t) { + var e = t.state, + i = { + popper: { + position: e.options.strategy, + left: "0", + top: "0", + margin: "0", + }, + arrow: { position: "absolute" }, + reference: {}, + }; + return ( + Object.assign(e.elements.popper.style, i.popper), + (e.styles = i), + e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow), + function () { + Object.keys(e.elements).forEach(function (t) { + var n = e.elements[t], + s = e.attributes[t] || {}, + o = Object.keys( + e.styles.hasOwnProperty(t) ? e.styles[t] : i[t] + ).reduce(function (t, e) { + return (t[e] = ""), t; + }, {}); + Bt(n) && + Ht(n) && + (Object.assign(n.style, o), + Object.keys(s).forEach(function (t) { + n.removeAttribute(t); + })); + }); + } + ); + }, + requires: ["computeStyles"], + }; + function qt(t) { + return t.split("-")[0]; + } + var Vt = Math.max, + Kt = Math.min, + Qt = Math.round; + function Xt() { + var t = navigator.userAgentData; + return null != t && t.brands + ? t.brands + .map(function (t) { + return t.brand + "/" + t.version; + }) + .join(" ") + : navigator.userAgent; + } + function Yt() { + return !/^((?!chrome|android).)*safari/i.test(Xt()); + } + function Ut(t, e, i) { + void 0 === e && (e = !1), void 0 === i && (i = !1); + var n = t.getBoundingClientRect(), + s = 1, + o = 1; + e && + Bt(t) && + ((s = (t.offsetWidth > 0 && Qt(n.width) / t.offsetWidth) || 1), + (o = (t.offsetHeight > 0 && Qt(n.height) / t.offsetHeight) || 1)); + var r = (Wt(t) ? $t(t) : window).visualViewport, + a = !Yt() && i, + l = (n.left + (a && r ? r.offsetLeft : 0)) / s, + c = (n.top + (a && r ? r.offsetTop : 0)) / o, + h = n.width / s, + d = n.height / o; + return { + width: h, + height: d, + top: c, + right: l + h, + bottom: c + d, + left: l, + x: l, + y: c, + }; + } + function Gt(t) { + var e = Ut(t), + i = t.offsetWidth, + n = t.offsetHeight; + return ( + Math.abs(e.width - i) <= 1 && (i = e.width), + Math.abs(e.height - n) <= 1 && (n = e.height), + { x: t.offsetLeft, y: t.offsetTop, width: i, height: n } + ); + } + function Jt(t, e) { + var i = e.getRootNode && e.getRootNode(); + if (t.contains(e)) return !0; + if (i && zt(i)) { + var n = e; + do { + if (n && t.isSameNode(n)) return !0; + n = n.parentNode || n.host; + } while (n); + } + return !1; + } + function Zt(t) { + return $t(t).getComputedStyle(t); + } + function te(t) { + return ["table", "td", "th"].indexOf(Ht(t)) >= 0; + } + function ee(t) { + return ( + (Wt(t) ? t.ownerDocument : t.document) || window.document + ).documentElement; + } + function ie(t) { + return "html" === Ht(t) + ? t + : t.assignedSlot || t.parentNode || (zt(t) ? t.host : null) || ee(t); + } + function ne(t) { + return Bt(t) && "fixed" !== Zt(t).position ? t.offsetParent : null; + } + function se(t) { + for (var e = $t(t), i = ne(t); i && te(i) && "static" === Zt(i).position; ) + i = ne(i); + return i && + ("html" === Ht(i) || ("body" === Ht(i) && "static" === Zt(i).position)) + ? e + : i || + (function (t) { + var e = /firefox/i.test(Xt()); + if (/Trident/i.test(Xt()) && Bt(t) && "fixed" === Zt(t).position) + return null; + var i = ie(t); + for ( + zt(i) && (i = i.host); + Bt(i) && ["html", "body"].indexOf(Ht(i)) < 0; + + ) { + var n = Zt(i); + if ( + "none" !== n.transform || + "none" !== n.perspective || + "paint" === n.contain || + -1 !== ["transform", "perspective"].indexOf(n.willChange) || + (e && "filter" === n.willChange) || + (e && n.filter && "none" !== n.filter) + ) + return i; + i = i.parentNode; + } + return null; + })(t) || + e; + } + function oe(t) { + return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y"; + } + function re(t, e, i) { + return Vt(t, Kt(e, i)); + } + function ae(t) { + return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, t); + } + function le(t, e) { + return e.reduce(function (e, i) { + return (e[i] = t), e; + }, {}); + } + const ce = { + name: "arrow", + enabled: !0, + phase: "main", + fn: function (t) { + var e, + i = t.state, + n = t.name, + s = t.options, + o = i.elements.arrow, + r = i.modifiersData.popperOffsets, + a = qt(i.placement), + l = oe(a), + c = [_t, gt].indexOf(a) >= 0 ? "height" : "width"; + if (o && r) { + var h = (function (t, e) { + return ae( + "number" != + typeof (t = + "function" == typeof t + ? t(Object.assign({}, e.rects, { placement: e.placement })) + : t) + ? t + : le(t, vt) + ); + })(s.padding, i), + d = Gt(o), + u = "y" === l ? pt : _t, + f = "y" === l ? mt : gt, + p = + i.rects.reference[c] + + i.rects.reference[l] - + r[l] - + i.rects.popper[c], + m = r[l] - i.rects.reference[l], + g = se(o), + _ = g ? ("y" === l ? g.clientHeight || 0 : g.clientWidth || 0) : 0, + b = p / 2 - m / 2, + v = h[u], + y = _ - d[c] - h[f], + w = _ / 2 - d[c] / 2 + b, + A = re(v, w, y), + E = l; + i.modifiersData[n] = (((e = {})[E] = A), (e.centerOffset = A - w), e); + } + }, + effect: function (t) { + var e = t.state, + i = t.options.element, + n = void 0 === i ? "[data-popper-arrow]" : i; + null != n && + ("string" != typeof n || (n = e.elements.popper.querySelector(n))) && + Jt(e.elements.popper, n) && + (e.elements.arrow = n); + }, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"], + }; + function he(t) { + return t.split("-")[1]; + } + var de = { top: "auto", right: "auto", bottom: "auto", left: "auto" }; + function ue(t) { + var e, + i = t.popper, + n = t.popperRect, + s = t.placement, + o = t.variation, + r = t.offsets, + a = t.position, + l = t.gpuAcceleration, + c = t.adaptive, + h = t.roundOffsets, + d = t.isFixed, + u = r.x, + f = void 0 === u ? 0 : u, + p = r.y, + m = void 0 === p ? 0 : p, + g = "function" == typeof h ? h({ x: f, y: m }) : { x: f, y: m }; + (f = g.x), (m = g.y); + var _ = r.hasOwnProperty("x"), + b = r.hasOwnProperty("y"), + v = _t, + y = pt, + w = window; + if (c) { + var A = se(i), + E = "clientHeight", + T = "clientWidth"; + A === $t(i) && + "static" !== Zt((A = ee(i))).position && + "absolute" === a && + ((E = "scrollHeight"), (T = "scrollWidth")), + (s === pt || ((s === _t || s === gt) && o === wt)) && + ((y = mt), + (m -= + (d && A === w && w.visualViewport + ? w.visualViewport.height + : A[E]) - n.height), + (m *= l ? 1 : -1)), + (s !== _t && ((s !== pt && s !== mt) || o !== wt)) || + ((v = gt), + (f -= + (d && A === w && w.visualViewport ? w.visualViewport.width : A[T]) - + n.width), + (f *= l ? 1 : -1)); + } + var C, + O = Object.assign({ position: a }, c && de), + x = + !0 === h + ? (function (t) { + var e = t.x, + i = t.y, + n = window.devicePixelRatio || 1; + return { x: Qt(e * n) / n || 0, y: Qt(i * n) / n || 0 }; + })({ x: f, y: m }) + : { x: f, y: m }; + return ( + (f = x.x), + (m = x.y), + l + ? Object.assign( + {}, + O, + (((C = {})[y] = b ? "0" : ""), + (C[v] = _ ? "0" : ""), + (C.transform = + (w.devicePixelRatio || 1) <= 1 + ? "translate(" + f + "px, " + m + "px)" + : "translate3d(" + f + "px, " + m + "px, 0)"), + C) + ) + : Object.assign( + {}, + O, + (((e = {})[y] = b ? m + "px" : ""), + (e[v] = _ ? f + "px" : ""), + (e.transform = ""), + e) + ) + ); + } + const fe = { + name: "computeStyles", + enabled: !0, + phase: "beforeWrite", + fn: function (t) { + var e = t.state, + i = t.options, + n = i.gpuAcceleration, + s = void 0 === n || n, + o = i.adaptive, + r = void 0 === o || o, + a = i.roundOffsets, + l = void 0 === a || a, + c = { + placement: qt(e.placement), + variation: he(e.placement), + popper: e.elements.popper, + popperRect: e.rects.popper, + gpuAcceleration: s, + isFixed: "fixed" === e.options.strategy, + }; + null != e.modifiersData.popperOffsets && + (e.styles.popper = Object.assign( + {}, + e.styles.popper, + ue( + Object.assign({}, c, { + offsets: e.modifiersData.popperOffsets, + position: e.options.strategy, + adaptive: r, + roundOffsets: l, + }) + ) + )), + null != e.modifiersData.arrow && + (e.styles.arrow = Object.assign( + {}, + e.styles.arrow, + ue( + Object.assign({}, c, { + offsets: e.modifiersData.arrow, + position: "absolute", + adaptive: !1, + roundOffsets: l, + }) + ) + )), + (e.attributes.popper = Object.assign({}, e.attributes.popper, { + "data-popper-placement": e.placement, + })); + }, + data: {}, + }; + var pe = { passive: !0 }; + const me = { + name: "eventListeners", + enabled: !0, + phase: "write", + fn: function () {}, + effect: function (t) { + var e = t.state, + i = t.instance, + n = t.options, + s = n.scroll, + o = void 0 === s || s, + r = n.resize, + a = void 0 === r || r, + l = $t(e.elements.popper), + c = [].concat(e.scrollParents.reference, e.scrollParents.popper); + return ( + o && + c.forEach(function (t) { + t.addEventListener("scroll", i.update, pe); + }), + a && l.addEventListener("resize", i.update, pe), + function () { + o && + c.forEach(function (t) { + t.removeEventListener("scroll", i.update, pe); + }), + a && l.removeEventListener("resize", i.update, pe); + } + ); + }, + data: {}, + }; + var ge = { left: "right", right: "left", bottom: "top", top: "bottom" }; + function _e(t) { + return t.replace(/left|right|bottom|top/g, function (t) { + return ge[t]; + }); + } + var be = { start: "end", end: "start" }; + function ve(t) { + return t.replace(/start|end/g, function (t) { + return be[t]; + }); + } + function ye(t) { + var e = $t(t); + return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset }; + } + function we(t) { + return Ut(ee(t)).left + ye(t).scrollLeft; + } + function Ae(t) { + var e = Zt(t), + i = e.overflow, + n = e.overflowX, + s = e.overflowY; + return /auto|scroll|overlay|hidden/.test(i + s + n); + } + function Ee(t) { + return ["html", "body", "#document"].indexOf(Ht(t)) >= 0 + ? t.ownerDocument.body + : Bt(t) && Ae(t) + ? t + : Ee(ie(t)); + } + function Te(t, e) { + var i; + void 0 === e && (e = []); + var n = Ee(t), + s = n === (null == (i = t.ownerDocument) ? void 0 : i.body), + o = $t(n), + r = s ? [o].concat(o.visualViewport || [], Ae(n) ? n : []) : n, + a = e.concat(r); + return s ? a : a.concat(Te(ie(r))); + } + function Ce(t) { + return Object.assign({}, t, { + left: t.x, + top: t.y, + right: t.x + t.width, + bottom: t.y + t.height, + }); + } + function Oe(t, e, i) { + return e === Et + ? Ce( + (function (t, e) { + var i = $t(t), + n = ee(t), + s = i.visualViewport, + o = n.clientWidth, + r = n.clientHeight, + a = 0, + l = 0; + if (s) { + (o = s.width), (r = s.height); + var c = Yt(); + (c || (!c && "fixed" === e)) && + ((a = s.offsetLeft), (l = s.offsetTop)); + } + return { width: o, height: r, x: a + we(t), y: l }; + })(t, i) + ) + : Wt(e) + ? (function (t, e) { + var i = Ut(t, !1, "fixed" === e); + return ( + (i.top = i.top + t.clientTop), + (i.left = i.left + t.clientLeft), + (i.bottom = i.top + t.clientHeight), + (i.right = i.left + t.clientWidth), + (i.width = t.clientWidth), + (i.height = t.clientHeight), + (i.x = i.left), + (i.y = i.top), + i + ); + })(e, i) + : Ce( + (function (t) { + var e, + i = ee(t), + n = ye(t), + s = null == (e = t.ownerDocument) ? void 0 : e.body, + o = Vt( + i.scrollWidth, + i.clientWidth, + s ? s.scrollWidth : 0, + s ? s.clientWidth : 0 + ), + r = Vt( + i.scrollHeight, + i.clientHeight, + s ? s.scrollHeight : 0, + s ? s.clientHeight : 0 + ), + a = -n.scrollLeft + we(t), + l = -n.scrollTop; + return ( + "rtl" === Zt(s || i).direction && + (a += Vt(i.clientWidth, s ? s.clientWidth : 0) - o), + { width: o, height: r, x: a, y: l } + ); + })(ee(t)) + ); + } + function xe(t) { + var e, + i = t.reference, + n = t.element, + s = t.placement, + o = s ? qt(s) : null, + r = s ? he(s) : null, + a = i.x + i.width / 2 - n.width / 2, + l = i.y + i.height / 2 - n.height / 2; + switch (o) { + case pt: + e = { x: a, y: i.y - n.height }; + break; + case mt: + e = { x: a, y: i.y + i.height }; + break; + case gt: + e = { x: i.x + i.width, y: l }; + break; + case _t: + e = { x: i.x - n.width, y: l }; + break; + default: + e = { x: i.x, y: i.y }; + } + var c = o ? oe(o) : null; + if (null != c) { + var h = "y" === c ? "height" : "width"; + switch (r) { + case yt: + e[c] = e[c] - (i[h] / 2 - n[h] / 2); + break; + case wt: + e[c] = e[c] + (i[h] / 2 - n[h] / 2); + } + } + return e; + } + function ke(t, e) { + void 0 === e && (e = {}); + var i = e, + n = i.placement, + s = void 0 === n ? t.placement : n, + o = i.strategy, + r = void 0 === o ? t.strategy : o, + a = i.boundary, + l = void 0 === a ? At : a, + c = i.rootBoundary, + h = void 0 === c ? Et : c, + d = i.elementContext, + u = void 0 === d ? Tt : d, + f = i.altBoundary, + p = void 0 !== f && f, + m = i.padding, + g = void 0 === m ? 0 : m, + _ = ae("number" != typeof g ? g : le(g, vt)), + b = u === Tt ? Ct : Tt, + v = t.rects.popper, + y = t.elements[p ? b : u], + w = (function (t, e, i, n) { + var s = + "clippingParents" === e + ? (function (t) { + var e = Te(ie(t)), + i = + ["absolute", "fixed"].indexOf(Zt(t).position) >= 0 && + Bt(t) + ? se(t) + : t; + return Wt(i) + ? e.filter(function (t) { + return Wt(t) && Jt(t, i) && "body" !== Ht(t); + }) + : []; + })(t) + : [].concat(e), + o = [].concat(s, [i]), + r = o[0], + a = o.reduce(function (e, i) { + var s = Oe(t, i, n); + return ( + (e.top = Vt(s.top, e.top)), + (e.right = Kt(s.right, e.right)), + (e.bottom = Kt(s.bottom, e.bottom)), + (e.left = Vt(s.left, e.left)), + e + ); + }, Oe(t, r, n)); + return ( + (a.width = a.right - a.left), + (a.height = a.bottom - a.top), + (a.x = a.left), + (a.y = a.top), + a + ); + })(Wt(y) ? y : y.contextElement || ee(t.elements.popper), l, h, r), + A = Ut(t.elements.reference), + E = xe({ reference: A, element: v, strategy: "absolute", placement: s }), + T = Ce(Object.assign({}, v, E)), + C = u === Tt ? T : A, + O = { + top: w.top - C.top + _.top, + bottom: C.bottom - w.bottom + _.bottom, + left: w.left - C.left + _.left, + right: C.right - w.right + _.right, + }, + x = t.modifiersData.offset; + if (u === Tt && x) { + var k = x[s]; + Object.keys(O).forEach(function (t) { + var e = [gt, mt].indexOf(t) >= 0 ? 1 : -1, + i = [pt, mt].indexOf(t) >= 0 ? "y" : "x"; + O[t] += k[i] * e; + }); + } + return O; + } + function Le(t, e) { + void 0 === e && (e = {}); + var i = e, + n = i.placement, + s = i.boundary, + o = i.rootBoundary, + r = i.padding, + a = i.flipVariations, + l = i.allowedAutoPlacements, + c = void 0 === l ? xt : l, + h = he(n), + d = h + ? a + ? Ot + : Ot.filter(function (t) { + return he(t) === h; + }) + : vt, + u = d.filter(function (t) { + return c.indexOf(t) >= 0; + }); + 0 === u.length && (u = d); + var f = u.reduce(function (e, i) { + return ( + (e[i] = ke(t, { + placement: i, + boundary: s, + rootBoundary: o, + padding: r, + })[qt(i)]), + e + ); + }, {}); + return Object.keys(f).sort(function (t, e) { + return f[t] - f[e]; + }); + } + const Se = { + name: "flip", + enabled: !0, + phase: "main", + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name; + if (!e.modifiersData[n]._skip) { + for ( + var s = i.mainAxis, + o = void 0 === s || s, + r = i.altAxis, + a = void 0 === r || r, + l = i.fallbackPlacements, + c = i.padding, + h = i.boundary, + d = i.rootBoundary, + u = i.altBoundary, + f = i.flipVariations, + p = void 0 === f || f, + m = i.allowedAutoPlacements, + g = e.options.placement, + _ = qt(g), + b = + l || + (_ !== g && p + ? (function (t) { + if (qt(t) === bt) return []; + var e = _e(t); + return [ve(t), e, ve(e)]; + })(g) + : [_e(g)]), + v = [g].concat(b).reduce(function (t, i) { + return t.concat( + qt(i) === bt + ? Le(e, { + placement: i, + boundary: h, + rootBoundary: d, + padding: c, + flipVariations: p, + allowedAutoPlacements: m, + }) + : i + ); + }, []), + y = e.rects.reference, + w = e.rects.popper, + A = new Map(), + E = !0, + T = v[0], + C = 0; + C < v.length; + C++ + ) { + var O = v[C], + x = qt(O), + k = he(O) === yt, + L = [pt, mt].indexOf(x) >= 0, + S = L ? "width" : "height", + D = ke(e, { + placement: O, + boundary: h, + rootBoundary: d, + altBoundary: u, + padding: c, + }), + I = L ? (k ? gt : _t) : k ? mt : pt; + y[S] > w[S] && (I = _e(I)); + var N = _e(I), + P = []; + if ( + (o && P.push(D[x] <= 0), + a && P.push(D[I] <= 0, D[N] <= 0), + P.every(function (t) { + return t; + })) + ) { + (T = O), (E = !1); + break; + } + A.set(O, P); + } + if (E) + for ( + var j = function (t) { + var e = v.find(function (e) { + var i = A.get(e); + if (i) + return i.slice(0, t).every(function (t) { + return t; + }); + }); + if (e) return (T = e), "break"; + }, + M = p ? 3 : 1; + M > 0 && "break" !== j(M); + M-- + ); + e.placement !== T && + ((e.modifiersData[n]._skip = !0), (e.placement = T), (e.reset = !0)); + } + }, + requiresIfExists: ["offset"], + data: { _skip: !1 }, + }; + function De(t, e, i) { + return ( + void 0 === i && (i = { x: 0, y: 0 }), + { + top: t.top - e.height - i.y, + right: t.right - e.width + i.x, + bottom: t.bottom - e.height + i.y, + left: t.left - e.width - i.x, + } + ); + } + function Ie(t) { + return [pt, gt, mt, _t].some(function (e) { + return t[e] >= 0; + }); + } + const Ne = { + name: "hide", + enabled: !0, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: function (t) { + var e = t.state, + i = t.name, + n = e.rects.reference, + s = e.rects.popper, + o = e.modifiersData.preventOverflow, + r = ke(e, { elementContext: "reference" }), + a = ke(e, { altBoundary: !0 }), + l = De(r, n), + c = De(a, s, o), + h = Ie(l), + d = Ie(c); + (e.modifiersData[i] = { + referenceClippingOffsets: l, + popperEscapeOffsets: c, + isReferenceHidden: h, + hasPopperEscaped: d, + }), + (e.attributes.popper = Object.assign({}, e.attributes.popper, { + "data-popper-reference-hidden": h, + "data-popper-escaped": d, + })); + }, + }, + Pe = { + name: "offset", + enabled: !0, + phase: "main", + requires: ["popperOffsets"], + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name, + s = i.offset, + o = void 0 === s ? [0, 0] : s, + r = xt.reduce(function (t, i) { + return ( + (t[i] = (function (t, e, i) { + var n = qt(t), + s = [_t, pt].indexOf(n) >= 0 ? -1 : 1, + o = + "function" == typeof i + ? i(Object.assign({}, e, { placement: t })) + : i, + r = o[0], + a = o[1]; + return ( + (r = r || 0), + (a = (a || 0) * s), + [_t, gt].indexOf(n) >= 0 ? { x: a, y: r } : { x: r, y: a } + ); + })(i, e.rects, o)), + t + ); + }, {}), + a = r[e.placement], + l = a.x, + c = a.y; + null != e.modifiersData.popperOffsets && + ((e.modifiersData.popperOffsets.x += l), + (e.modifiersData.popperOffsets.y += c)), + (e.modifiersData[n] = r); + }, + }, + je = { + name: "popperOffsets", + enabled: !0, + phase: "read", + fn: function (t) { + var e = t.state, + i = t.name; + e.modifiersData[i] = xe({ + reference: e.rects.reference, + element: e.rects.popper, + strategy: "absolute", + placement: e.placement, + }); + }, + data: {}, + }, + Me = { + name: "preventOverflow", + enabled: !0, + phase: "main", + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name, + s = i.mainAxis, + o = void 0 === s || s, + r = i.altAxis, + a = void 0 !== r && r, + l = i.boundary, + c = i.rootBoundary, + h = i.altBoundary, + d = i.padding, + u = i.tether, + f = void 0 === u || u, + p = i.tetherOffset, + m = void 0 === p ? 0 : p, + g = ke(e, { + boundary: l, + rootBoundary: c, + padding: d, + altBoundary: h, + }), + _ = qt(e.placement), + b = he(e.placement), + v = !b, + y = oe(_), + w = "x" === y ? "y" : "x", + A = e.modifiersData.popperOffsets, + E = e.rects.reference, + T = e.rects.popper, + C = + "function" == typeof m + ? m(Object.assign({}, e.rects, { placement: e.placement })) + : m, + O = + "number" == typeof C + ? { mainAxis: C, altAxis: C } + : Object.assign({ mainAxis: 0, altAxis: 0 }, C), + x = e.modifiersData.offset + ? e.modifiersData.offset[e.placement] + : null, + k = { x: 0, y: 0 }; + if (A) { + if (o) { + var L, + S = "y" === y ? pt : _t, + D = "y" === y ? mt : gt, + I = "y" === y ? "height" : "width", + N = A[y], + P = N + g[S], + j = N - g[D], + M = f ? -T[I] / 2 : 0, + F = b === yt ? E[I] : T[I], + H = b === yt ? -T[I] : -E[I], + $ = e.elements.arrow, + W = f && $ ? Gt($) : { width: 0, height: 0 }, + B = e.modifiersData["arrow#persistent"] + ? e.modifiersData["arrow#persistent"].padding + : { top: 0, right: 0, bottom: 0, left: 0 }, + z = B[S], + R = B[D], + q = re(0, E[I], W[I]), + V = v + ? E[I] / 2 - M - q - z - O.mainAxis + : F - q - z - O.mainAxis, + K = v + ? -E[I] / 2 + M + q + R + O.mainAxis + : H + q + R + O.mainAxis, + Q = e.elements.arrow && se(e.elements.arrow), + X = Q ? ("y" === y ? Q.clientTop || 0 : Q.clientLeft || 0) : 0, + Y = null != (L = null == x ? void 0 : x[y]) ? L : 0, + U = N + K - Y, + G = re(f ? Kt(P, N + V - Y - X) : P, N, f ? Vt(j, U) : j); + (A[y] = G), (k[y] = G - N); + } + if (a) { + var J, + Z = "x" === y ? pt : _t, + tt = "x" === y ? mt : gt, + et = A[w], + it = "y" === w ? "height" : "width", + nt = et + g[Z], + st = et - g[tt], + ot = -1 !== [pt, _t].indexOf(_), + rt = null != (J = null == x ? void 0 : x[w]) ? J : 0, + at = ot ? nt : et - E[it] - T[it] - rt + O.altAxis, + lt = ot ? et + E[it] + T[it] - rt - O.altAxis : st, + ct = + f && ot + ? (function (t, e, i) { + var n = re(t, e, i); + return n > i ? i : n; + })(at, et, lt) + : re(f ? at : nt, et, f ? lt : st); + (A[w] = ct), (k[w] = ct - et); + } + e.modifiersData[n] = k; + } + }, + requiresIfExists: ["offset"], + }; + function Fe(t, e, i) { + void 0 === i && (i = !1); + var n, + s, + o = Bt(e), + r = + Bt(e) && + (function (t) { + var e = t.getBoundingClientRect(), + i = Qt(e.width) / t.offsetWidth || 1, + n = Qt(e.height) / t.offsetHeight || 1; + return 1 !== i || 1 !== n; + })(e), + a = ee(e), + l = Ut(t, r, i), + c = { scrollLeft: 0, scrollTop: 0 }, + h = { x: 0, y: 0 }; + return ( + (o || (!o && !i)) && + (("body" !== Ht(e) || Ae(a)) && + (c = + (n = e) !== $t(n) && Bt(n) + ? { scrollLeft: (s = n).scrollLeft, scrollTop: s.scrollTop } + : ye(n)), + Bt(e) + ? (((h = Ut(e, !0)).x += e.clientLeft), (h.y += e.clientTop)) + : a && (h.x = we(a))), + { + x: l.left + c.scrollLeft - h.x, + y: l.top + c.scrollTop - h.y, + width: l.width, + height: l.height, + } + ); + } + function He(t) { + var e = new Map(), + i = new Set(), + n = []; + function s(t) { + i.add(t.name), + [] + .concat(t.requires || [], t.requiresIfExists || []) + .forEach(function (t) { + if (!i.has(t)) { + var n = e.get(t); + n && s(n); + } + }), + n.push(t); + } + return ( + t.forEach(function (t) { + e.set(t.name, t); + }), + t.forEach(function (t) { + i.has(t.name) || s(t); + }), + n + ); + } + var $e = { placement: "bottom", modifiers: [], strategy: "absolute" }; + function We() { + for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) + e[i] = arguments[i]; + return !e.some(function (t) { + return !(t && "function" == typeof t.getBoundingClientRect); + }); + } + function Be(t) { + void 0 === t && (t = {}); + var e = t, + i = e.defaultModifiers, + n = void 0 === i ? [] : i, + s = e.defaultOptions, + o = void 0 === s ? $e : s; + return function (t, e, i) { + void 0 === i && (i = o); + var s, + r, + a = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, $e, o), + modifiersData: {}, + elements: { reference: t, popper: e }, + attributes: {}, + styles: {}, + }, + l = [], + c = !1, + h = { + state: a, + setOptions: function (i) { + var s = "function" == typeof i ? i(a.options) : i; + d(), + (a.options = Object.assign({}, o, a.options, s)), + (a.scrollParents = { + reference: Wt(t) + ? Te(t) + : t.contextElement + ? Te(t.contextElement) + : [], + popper: Te(e), + }); + var r, + c, + u = (function (t) { + var e = He(t); + return Ft.reduce(function (t, i) { + return t.concat( + e.filter(function (t) { + return t.phase === i; + }) + ); + }, []); + })( + ((r = [].concat(n, a.options.modifiers)), + (c = r.reduce(function (t, e) { + var i = t[e.name]; + return ( + (t[e.name] = i + ? Object.assign({}, i, e, { + options: Object.assign({}, i.options, e.options), + data: Object.assign({}, i.data, e.data), + }) + : e), + t + ); + }, {})), + Object.keys(c).map(function (t) { + return c[t]; + })) + ); + return ( + (a.orderedModifiers = u.filter(function (t) { + return t.enabled; + })), + a.orderedModifiers.forEach(function (t) { + var e = t.name, + i = t.options, + n = void 0 === i ? {} : i, + s = t.effect; + if ("function" == typeof s) { + var o = s({ state: a, name: e, instance: h, options: n }); + l.push(o || function () {}); + } + }), + h.update() + ); + }, + forceUpdate: function () { + if (!c) { + var t = a.elements, + e = t.reference, + i = t.popper; + if (We(e, i)) { + (a.rects = { + reference: Fe(e, se(i), "fixed" === a.options.strategy), + popper: Gt(i), + }), + (a.reset = !1), + (a.placement = a.options.placement), + a.orderedModifiers.forEach(function (t) { + return (a.modifiersData[t.name] = Object.assign( + {}, + t.data + )); + }); + for (var n = 0; n < a.orderedModifiers.length; n++) + if (!0 !== a.reset) { + var s = a.orderedModifiers[n], + o = s.fn, + r = s.options, + l = void 0 === r ? {} : r, + d = s.name; + "function" == typeof o && + (a = + o({ state: a, options: l, name: d, instance: h }) || a); + } else (a.reset = !1), (n = -1); + } + } + }, + update: + ((s = function () { + return new Promise(function (t) { + h.forceUpdate(), t(a); + }); + }), + function () { + return ( + r || + (r = new Promise(function (t) { + Promise.resolve().then(function () { + (r = void 0), t(s()); + }); + })), + r + ); + }), + destroy: function () { + d(), (c = !0); + }, + }; + if (!We(t, e)) return h; + function d() { + l.forEach(function (t) { + return t(); + }), + (l = []); + } + return ( + h.setOptions(i).then(function (t) { + !c && i.onFirstUpdate && i.onFirstUpdate(t); + }), + h + ); + }; + } + var ze = Be(), + Re = Be({ defaultModifiers: [me, je, fe, Rt] }), + qe = Be({ defaultModifiers: [me, je, fe, Rt, Pe, Se, Me, ce, Ne] }); + const Ve = Object.freeze( + Object.defineProperty( + { + __proto__: null, + popperGenerator: Be, + detectOverflow: ke, + createPopperBase: ze, + createPopper: qe, + createPopperLite: Re, + top: pt, + bottom: mt, + right: gt, + left: _t, + auto: bt, + basePlacements: vt, + start: yt, + end: wt, + clippingParents: At, + viewport: Et, + popper: Tt, + reference: Ct, + variationPlacements: Ot, + placements: xt, + beforeRead: kt, + read: Lt, + afterRead: St, + beforeMain: Dt, + main: It, + afterMain: Nt, + beforeWrite: Pt, + write: jt, + afterWrite: Mt, + modifierPhases: Ft, + applyStyles: Rt, + arrow: ce, + computeStyles: fe, + eventListeners: me, + flip: Se, + hide: Ne, + offset: Pe, + popperOffsets: je, + preventOverflow: Me, + }, + Symbol.toStringTag, + { value: "Module" } + ) + ), + Ke = "dropdown", + Qe = "ArrowUp", + Xe = "ArrowDown", + Ye = "click.bs.dropdown.data-api", + Ue = "keydown.bs.dropdown.data-api", + Ge = "show", + Je = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)', + Ze = `${Je}.show`, + ti = ".dropdown-menu", + ei = u() ? "top-end" : "top-start", + ii = u() ? "top-start" : "top-end", + ni = u() ? "bottom-end" : "bottom-start", + si = u() ? "bottom-start" : "bottom-end", + oi = u() ? "left-start" : "right-start", + ri = u() ? "right-start" : "left-start", + ai = { + autoClose: !0, + boundary: "clippingParents", + display: "dynamic", + offset: [0, 2], + popperConfig: null, + reference: "toggle", + }, + li = { + autoClose: "(boolean|string)", + boundary: "(string|element)", + display: "string", + offset: "(array|string|function)", + popperConfig: "(null|object|function)", + reference: "(string|element|object)", + }; + class ci extends W { + constructor(t, e) { + super(t, e), + (this._popper = null), + (this._parent = this._element.parentNode), + (this._menu = + z.next(this._element, ti)[0] || + z.prev(this._element, ti)[0] || + z.findOne(ti, this._parent)), + (this._inNavbar = this._detectNavbar()); + } + static get Default() { + return ai; + } + static get DefaultType() { + return li; + } + static get NAME() { + return Ke; + } + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + show() { + if (r(this._element) || this._isShown()) return; + const t = { relatedTarget: this._element }; + if (!I.trigger(this._element, "show.bs.dropdown", t).defaultPrevented) { + if ( + (this._createPopper(), + "ontouchstart" in document.documentElement && + !this._parent.closest(".navbar-nav")) + ) + for (const t of [].concat(...document.body.children)) + I.on(t, "mouseover", l); + this._element.focus(), + this._element.setAttribute("aria-expanded", !0), + this._menu.classList.add(Ge), + this._element.classList.add(Ge), + I.trigger(this._element, "shown.bs.dropdown", t); + } + } + hide() { + if (r(this._element) || !this._isShown()) return; + const t = { relatedTarget: this._element }; + this._completeHide(t); + } + dispose() { + this._popper && this._popper.destroy(), super.dispose(); + } + update() { + (this._inNavbar = this._detectNavbar()), + this._popper && this._popper.update(); + } + _completeHide(t) { + if (!I.trigger(this._element, "hide.bs.dropdown", t).defaultPrevented) { + if ("ontouchstart" in document.documentElement) + for (const t of [].concat(...document.body.children)) + I.off(t, "mouseover", l); + this._popper && this._popper.destroy(), + this._menu.classList.remove(Ge), + this._element.classList.remove(Ge), + this._element.setAttribute("aria-expanded", "false"), + H.removeDataAttribute(this._menu, "popper"), + I.trigger(this._element, "hidden.bs.dropdown", t); + } + } + _getConfig(t) { + if ( + "object" == typeof (t = super._getConfig(t)).reference && + !n(t.reference) && + "function" != typeof t.reference.getBoundingClientRect + ) + throw new TypeError( + `${Ke.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.` + ); + return t; + } + _createPopper() { + if (void 0 === Ve) + throw new TypeError( + "Bootstrap's dropdowns require Popper (https://popper.js.org)" + ); + let t = this._element; + "parent" === this._config.reference + ? (t = this._parent) + : n(this._config.reference) + ? (t = s(this._config.reference)) + : "object" == typeof this._config.reference && + (t = this._config.reference); + const e = this._getPopperConfig(); + this._popper = qe(t, this._menu, e); + } + _isShown() { + return this._menu.classList.contains(Ge); + } + _getPlacement() { + const t = this._parent; + if (t.classList.contains("dropend")) return oi; + if (t.classList.contains("dropstart")) return ri; + if (t.classList.contains("dropup-center")) return "top"; + if (t.classList.contains("dropdown-center")) return "bottom"; + const e = + "end" === + getComputedStyle(this._menu).getPropertyValue("--bs-position").trim(); + return t.classList.contains("dropup") ? (e ? ii : ei) : e ? si : ni; + } + _detectNavbar() { + return null !== this._element.closest(".navbar"); + } + _getOffset() { + const { offset: t } = this._config; + return "string" == typeof t + ? t.split(",").map((t) => Number.parseInt(t, 10)) + : "function" == typeof t + ? (e) => t(e, this._element) + : t; + } + _getPopperConfig() { + const t = { + placement: this._getPlacement(), + modifiers: [ + { + name: "preventOverflow", + options: { boundary: this._config.boundary }, + }, + { name: "offset", options: { offset: this._getOffset() } }, + ], + }; + return ( + (this._inNavbar || "static" === this._config.display) && + (H.setDataAttribute(this._menu, "popper", "static"), + (t.modifiers = [{ name: "applyStyles", enabled: !1 }])), + { ...t, ...p(this._config.popperConfig, [t]) } + ); + } + _selectMenuItem({ key: t, target: e }) { + const i = z + .find( + ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", + this._menu + ) + .filter((t) => o(t)); + i.length && g(i, e, t === Xe, !i.includes(e)).focus(); + } + static jQueryInterface(t) { + return this.each(function () { + const e = ci.getOrCreateInstance(this, t); + if ("string" == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + static clearMenus(t) { + if (2 === t.button || ("keyup" === t.type && "Tab" !== t.key)) return; + const e = z.find(Ze); + for (const i of e) { + const e = ci.getInstance(i); + if (!e || !1 === e._config.autoClose) continue; + const n = t.composedPath(), + s = n.includes(e._menu); + if ( + n.includes(e._element) || + ("inside" === e._config.autoClose && !s) || + ("outside" === e._config.autoClose && s) + ) + continue; + if ( + e._menu.contains(t.target) && + (("keyup" === t.type && "Tab" === t.key) || + /input|select|option|textarea|form/i.test(t.target.tagName)) + ) + continue; + const o = { relatedTarget: e._element }; + "click" === t.type && (o.clickEvent = t), e._completeHide(o); + } + } + static dataApiKeydownHandler(t) { + const e = /input|textarea/i.test(t.target.tagName), + i = "Escape" === t.key, + n = [Qe, Xe].includes(t.key); + if (!n && !i) return; + if (e && !i) return; + t.preventDefault(); + const s = this.matches(Je) + ? this + : z.prev(this, Je)[0] || + z.next(this, Je)[0] || + z.findOne(Je, t.delegateTarget.parentNode), + o = ci.getOrCreateInstance(s); + if (n) return t.stopPropagation(), o.show(), void o._selectMenuItem(t); + o._isShown() && (t.stopPropagation(), o.hide(), s.focus()); + } + } + I.on(document, Ue, Je, ci.dataApiKeydownHandler), + I.on(document, Ue, ti, ci.dataApiKeydownHandler), + I.on(document, Ye, ci.clearMenus), + I.on(document, "keyup.bs.dropdown.data-api", ci.clearMenus), + I.on(document, Ye, Je, function (t) { + t.preventDefault(), ci.getOrCreateInstance(this).toggle(); + }), + f(ci); + const hi = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", + di = ".sticky-top", + ui = "padding-right", + fi = "margin-right"; + class pi { + constructor() { + this._element = document.body; + } + getWidth() { + const t = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - t); + } + hide() { + const t = this.getWidth(); + this._disableOverFlow(), + this._setElementAttributes(this._element, ui, (e) => e + t), + this._setElementAttributes(hi, ui, (e) => e + t), + this._setElementAttributes(di, fi, (e) => e - t); + } + reset() { + this._resetElementAttributes(this._element, "overflow"), + this._resetElementAttributes(this._element, ui), + this._resetElementAttributes(hi, ui), + this._resetElementAttributes(di, fi); + } + isOverflowing() { + return this.getWidth() > 0; + } + _disableOverFlow() { + this._saveInitialAttribute(this._element, "overflow"), + (this._element.style.overflow = "hidden"); + } + _setElementAttributes(t, e, i) { + const n = this.getWidth(); + this._applyManipulationCallback(t, (t) => { + if (t !== this._element && window.innerWidth > t.clientWidth + n) + return; + this._saveInitialAttribute(t, e); + const s = window.getComputedStyle(t).getPropertyValue(e); + t.style.setProperty(e, `${i(Number.parseFloat(s))}px`); + }); + } + _saveInitialAttribute(t, e) { + const i = t.style.getPropertyValue(e); + i && H.setDataAttribute(t, e, i); + } + _resetElementAttributes(t, e) { + this._applyManipulationCallback(t, (t) => { + const i = H.getDataAttribute(t, e); + null !== i + ? (H.removeDataAttribute(t, e), t.style.setProperty(e, i)) + : t.style.removeProperty(e); + }); + } + _applyManipulationCallback(t, e) { + if (n(t)) e(t); + else for (const i of z.find(t, this._element)) e(i); + } + } + const mi = "show", + gi = "mousedown.bs.backdrop", + _i = { + className: "modal-backdrop", + clickCallback: null, + isAnimated: !1, + isVisible: !0, + rootElement: "body", + }, + bi = { + className: "string", + clickCallback: "(function|null)", + isAnimated: "boolean", + isVisible: "boolean", + rootElement: "(element|string)", + }; + class vi extends $ { + constructor(t) { + super(), + (this._config = this._getConfig(t)), + (this._isAppended = !1), + (this._element = null); + } + static get Default() { + return _i; + } + static get DefaultType() { + return bi; + } + static get NAME() { + return "backdrop"; + } + show(t) { + if (!this._config.isVisible) return void p(t); + this._append(); + const e = this._getElement(); + this._config.isAnimated && c(e), + e.classList.add(mi), + this._emulateAnimation(() => { + p(t); + }); + } + hide(t) { + this._config.isVisible + ? (this._getElement().classList.remove(mi), + this._emulateAnimation(() => { + this.dispose(), p(t); + })) + : p(t); + } + dispose() { + this._isAppended && + (I.off(this._element, gi), + this._element.remove(), + (this._isAppended = !1)); + } + _getElement() { + if (!this._element) { + const t = document.createElement("div"); + (t.className = this._config.className), + this._config.isAnimated && t.classList.add("fade"), + (this._element = t); + } + return this._element; + } + _configAfterMerge(t) { + return (t.rootElement = s(t.rootElement)), t; + } + _append() { + if (this._isAppended) return; + const t = this._getElement(); + this._config.rootElement.append(t), + I.on(t, gi, () => { + p(this._config.clickCallback); + }), + (this._isAppended = !0); + } + _emulateAnimation(t) { + m(t, this._getElement(), this._config.isAnimated); + } + } + const yi = ".bs.focustrap", + wi = "backward", + Ai = { autofocus: !0, trapElement: null }, + Ei = { autofocus: "boolean", trapElement: "element" }; + class Ti extends $ { + constructor(t) { + super(), + (this._config = this._getConfig(t)), + (this._isActive = !1), + (this._lastTabNavDirection = null); + } + static get Default() { + return Ai; + } + static get DefaultType() { + return Ei; + } + static get NAME() { + return "focustrap"; + } + activate() { + this._isActive || + (this._config.autofocus && this._config.trapElement.focus(), + I.off(document, yi), + I.on(document, "focusin.bs.focustrap", (t) => this._handleFocusin(t)), + I.on(document, "keydown.tab.bs.focustrap", (t) => + this._handleKeydown(t) + ), + (this._isActive = !0)); + } + deactivate() { + this._isActive && ((this._isActive = !1), I.off(document, yi)); + } + _handleFocusin(t) { + const { trapElement: e } = this._config; + if (t.target === document || t.target === e || e.contains(t.target)) + return; + const i = z.focusableChildren(e); + 0 === i.length + ? e.focus() + : this._lastTabNavDirection === wi + ? i[i.length - 1].focus() + : i[0].focus(); + } + _handleKeydown(t) { + "Tab" === t.key && + (this._lastTabNavDirection = t.shiftKey ? wi : "forward"); + } + } + const Ci = "hidden.bs.modal", + Oi = "show.bs.modal", + xi = "modal-open", + ki = "show", + Li = "modal-static", + Si = { backdrop: !0, focus: !0, keyboard: !0 }, + Di = { + backdrop: "(boolean|string)", + focus: "boolean", + keyboard: "boolean", + }; + class Ii extends W { + constructor(t, e) { + super(t, e), + (this._dialog = z.findOne(".modal-dialog", this._element)), + (this._backdrop = this._initializeBackDrop()), + (this._focustrap = this._initializeFocusTrap()), + (this._isShown = !1), + (this._isTransitioning = !1), + (this._scrollBar = new pi()), + this._addEventListeners(); + } + static get Default() { + return Si; + } + static get DefaultType() { + return Di; + } + static get NAME() { + return "modal"; + } + toggle(t) { + return this._isShown ? this.hide() : this.show(t); + } + show(t) { + this._isShown || + this._isTransitioning || + I.trigger(this._element, Oi, { relatedTarget: t }).defaultPrevented || + ((this._isShown = !0), + (this._isTransitioning = !0), + this._scrollBar.hide(), + document.body.classList.add(xi), + this._adjustDialog(), + this._backdrop.show(() => this._showElement(t))); + } + hide() { + this._isShown && + !this._isTransitioning && + (I.trigger(this._element, "hide.bs.modal").defaultPrevented || + ((this._isShown = !1), + (this._isTransitioning = !0), + this._focustrap.deactivate(), + this._element.classList.remove(ki), + this._queueCallback( + () => this._hideModal(), + this._element, + this._isAnimated() + ))); + } + dispose() { + for (const t of [window, this._dialog]) I.off(t, ".bs.modal"); + this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + _initializeBackDrop() { + return new vi({ + isVisible: Boolean(this._config.backdrop), + isAnimated: this._isAnimated(), + }); + } + _initializeFocusTrap() { + return new Ti({ trapElement: this._element }); + } + _showElement(t) { + document.body.contains(this._element) || + document.body.append(this._element), + (this._element.style.display = "block"), + this._element.removeAttribute("aria-hidden"), + this._element.setAttribute("aria-modal", !0), + this._element.setAttribute("role", "dialog"), + (this._element.scrollTop = 0); + const e = z.findOne(".modal-body", this._dialog); + e && (e.scrollTop = 0), + c(this._element), + this._element.classList.add(ki), + this._queueCallback( + () => { + this._config.focus && this._focustrap.activate(), + (this._isTransitioning = !1), + I.trigger(this._element, "shown.bs.modal", { relatedTarget: t }); + }, + this._dialog, + this._isAnimated() + ); + } + _addEventListeners() { + I.on(this._element, "keydown.dismiss.bs.modal", (t) => { + if ("Escape" === t.key) + return this._config.keyboard + ? (t.preventDefault(), void this.hide()) + : void this._triggerBackdropTransition(); + }), + I.on(window, "resize.bs.modal", () => { + this._isShown && !this._isTransitioning && this._adjustDialog(); + }), + I.on(this._element, "mousedown.dismiss.bs.modal", (t) => { + I.one(this._element, "click.dismiss.bs.modal", (e) => { + this._element === t.target && + this._element === e.target && + ("static" !== this._config.backdrop + ? this._config.backdrop && this.hide() + : this._triggerBackdropTransition()); + }); + }); + } + _hideModal() { + (this._element.style.display = "none"), + this._element.setAttribute("aria-hidden", !0), + this._element.removeAttribute("aria-modal"), + this._element.removeAttribute("role"), + (this._isTransitioning = !1), + this._backdrop.hide(() => { + document.body.classList.remove(xi), + this._resetAdjustments(), + this._scrollBar.reset(), + I.trigger(this._element, Ci); + }); + } + _isAnimated() { + return this._element.classList.contains("fade"); + } + _triggerBackdropTransition() { + if (I.trigger(this._element, "hidePrevented.bs.modal").defaultPrevented) + return; + const t = + this._element.scrollHeight > document.documentElement.clientHeight, + e = this._element.style.overflowY; + "hidden" === e || + this._element.classList.contains(Li) || + (t || (this._element.style.overflowY = "hidden"), + this._element.classList.add(Li), + this._queueCallback(() => { + this._element.classList.remove(Li), + this._queueCallback(() => { + this._element.style.overflowY = e; + }, this._dialog); + }, this._dialog), + this._element.focus()); + } + _adjustDialog() { + const t = + this._element.scrollHeight > document.documentElement.clientHeight, + e = this._scrollBar.getWidth(), + i = e > 0; + if (i && !t) { + const t = u() ? "paddingLeft" : "paddingRight"; + this._element.style[t] = `${e}px`; + } + if (!i && t) { + const t = u() ? "paddingRight" : "paddingLeft"; + this._element.style[t] = `${e}px`; + } + } + _resetAdjustments() { + (this._element.style.paddingLeft = ""), + (this._element.style.paddingRight = ""); + } + static jQueryInterface(t, e) { + return this.each(function () { + const i = Ii.getOrCreateInstance(this, t); + if ("string" == typeof t) { + if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`); + i[t](e); + } + }); + } + } + I.on( + document, + "click.bs.modal.data-api", + '[data-bs-toggle="modal"]', + function (t) { + const e = z.getElementFromSelector(this); + ["A", "AREA"].includes(this.tagName) && t.preventDefault(), + I.one(e, Oi, (t) => { + t.defaultPrevented || + I.one(e, Ci, () => { + o(this) && this.focus(); + }); + }); + const i = z.findOne(".modal.show"); + i && Ii.getInstance(i).hide(), Ii.getOrCreateInstance(e).toggle(this); + } + ), + R(Ii), + f(Ii); + const Ni = "show", + Pi = "showing", + ji = "hiding", + Mi = ".offcanvas.show", + Fi = "hidePrevented.bs.offcanvas", + Hi = "hidden.bs.offcanvas", + $i = { backdrop: !0, keyboard: !0, scroll: !1 }, + Wi = { + backdrop: "(boolean|string)", + keyboard: "boolean", + scroll: "boolean", + }; + class Bi extends W { + constructor(t, e) { + super(t, e), + (this._isShown = !1), + (this._backdrop = this._initializeBackDrop()), + (this._focustrap = this._initializeFocusTrap()), + this._addEventListeners(); + } + static get Default() { + return $i; + } + static get DefaultType() { + return Wi; + } + static get NAME() { + return "offcanvas"; + } + toggle(t) { + return this._isShown ? this.hide() : this.show(t); + } + show(t) { + this._isShown || + I.trigger(this._element, "show.bs.offcanvas", { relatedTarget: t }) + .defaultPrevented || + ((this._isShown = !0), + this._backdrop.show(), + this._config.scroll || new pi().hide(), + this._element.setAttribute("aria-modal", !0), + this._element.setAttribute("role", "dialog"), + this._element.classList.add(Pi), + this._queueCallback( + () => { + (this._config.scroll && !this._config.backdrop) || + this._focustrap.activate(), + this._element.classList.add(Ni), + this._element.classList.remove(Pi), + I.trigger(this._element, "shown.bs.offcanvas", { + relatedTarget: t, + }); + }, + this._element, + !0 + )); + } + hide() { + this._isShown && + (I.trigger(this._element, "hide.bs.offcanvas").defaultPrevented || + (this._focustrap.deactivate(), + this._element.blur(), + (this._isShown = !1), + this._element.classList.add(ji), + this._backdrop.hide(), + this._queueCallback( + () => { + this._element.classList.remove(Ni, ji), + this._element.removeAttribute("aria-modal"), + this._element.removeAttribute("role"), + this._config.scroll || new pi().reset(), + I.trigger(this._element, Hi); + }, + this._element, + !0 + ))); + } + dispose() { + this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose(); + } + _initializeBackDrop() { + const t = Boolean(this._config.backdrop); + return new vi({ + className: "offcanvas-backdrop", + isVisible: t, + isAnimated: !0, + rootElement: this._element.parentNode, + clickCallback: t + ? () => { + "static" !== this._config.backdrop + ? this.hide() + : I.trigger(this._element, Fi); + } + : null, + }); + } + _initializeFocusTrap() { + return new Ti({ trapElement: this._element }); + } + _addEventListeners() { + I.on(this._element, "keydown.dismiss.bs.offcanvas", (t) => { + "Escape" === t.key && + (this._config.keyboard ? this.hide() : I.trigger(this._element, Fi)); + }); + } + static jQueryInterface(t) { + return this.each(function () { + const e = Bi.getOrCreateInstance(this, t); + if ("string" == typeof t) { + if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) + throw new TypeError(`No method named "${t}"`); + e[t](this); + } + }); + } + } + I.on( + document, + "click.bs.offcanvas.data-api", + '[data-bs-toggle="offcanvas"]', + function (t) { + const e = z.getElementFromSelector(this); + if ((["A", "AREA"].includes(this.tagName) && t.preventDefault(), r(this))) + return; + I.one(e, Hi, () => { + o(this) && this.focus(); + }); + const i = z.findOne(Mi); + i && i !== e && Bi.getInstance(i).hide(), + Bi.getOrCreateInstance(e).toggle(this); + } + ), + I.on(window, "load.bs.offcanvas.data-api", () => { + for (const t of z.find(Mi)) Bi.getOrCreateInstance(t).show(); + }), + I.on(window, "resize.bs.offcanvas", () => { + for (const t of z.find("[aria-modal][class*=show][class*=offcanvas-]")) + "fixed" !== getComputedStyle(t).position && + Bi.getOrCreateInstance(t).hide(); + }), + R(Bi), + f(Bi); + const zi = new Set([ + "background", + "cite", + "href", + "itemtype", + "longdesc", + "poster", + "src", + "xlink:href", + ]), + Ri = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i, + qi = + /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i, + Vi = (t, e) => { + const i = t.nodeName.toLowerCase(); + return e.includes(i) + ? !zi.has(i) || Boolean(Ri.test(t.nodeValue) || qi.test(t.nodeValue)) + : e.filter((t) => t instanceof RegExp).some((t) => t.test(i)); + }, + Ki = { + "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], + a: ["target", "href", "title", "rel"], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ["src", "srcset", "alt", "title", "width", "height"], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [], + }, + Qi = { + allowList: Ki, + content: {}, + extraClass: "", + html: !1, + sanitize: !0, + sanitizeFn: null, + template: "

", + }, + Xi = { + allowList: "object", + content: "object", + extraClass: "(string|function)", + html: "boolean", + sanitize: "boolean", + sanitizeFn: "(null|function)", + template: "string", + }, + Yi = { + entry: "(string|element|function|null)", + selector: "(string|element)", + }; + class Ui extends $ { + constructor(t) { + super(), (this._config = this._getConfig(t)); + } + static get Default() { + return Qi; + } + static get DefaultType() { + return Xi; + } + static get NAME() { + return "TemplateFactory"; + } + getContent() { + return Object.values(this._config.content) + .map((t) => this._resolvePossibleFunction(t)) + .filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(t) { + return ( + this._checkContent(t), + (this._config.content = { ...this._config.content, ...t }), + this + ); + } + toHtml() { + const t = document.createElement("div"); + t.innerHTML = this._maybeSanitize(this._config.template); + for (const [e, i] of Object.entries(this._config.content)) + this._setContent(t, i, e); + const e = t.children[0], + i = this._resolvePossibleFunction(this._config.extraClass); + return i && e.classList.add(...i.split(" ")), e; + } + _typeCheckConfig(t) { + super._typeCheckConfig(t), this._checkContent(t.content); + } + _checkContent(t) { + for (const [e, i] of Object.entries(t)) + super._typeCheckConfig({ selector: e, entry: i }, Yi); + } + _setContent(t, e, i) { + const o = z.findOne(i, t); + o && + ((e = this._resolvePossibleFunction(e)) + ? n(e) + ? this._putElementInTemplate(s(e), o) + : this._config.html + ? (o.innerHTML = this._maybeSanitize(e)) + : (o.textContent = e) + : o.remove()); + } + _maybeSanitize(t) { + return this._config.sanitize + ? (function (t, e, i) { + if (!t.length) return t; + if (i && "function" == typeof i) return i(t); + const n = new window.DOMParser().parseFromString(t, "text/html"), + s = [].concat(...n.body.querySelectorAll("*")); + for (const t of s) { + const i = t.nodeName.toLowerCase(); + if (!Object.keys(e).includes(i)) { + t.remove(); + continue; + } + const n = [].concat(...t.attributes), + s = [].concat(e["*"] || [], e[i] || []); + for (const e of n) Vi(e, s) || t.removeAttribute(e.nodeName); + } + return n.body.innerHTML; + })(t, this._config.allowList, this._config.sanitizeFn) + : t; + } + _resolvePossibleFunction(t) { + return p(t, [this]); + } + _putElementInTemplate(t, e) { + if (this._config.html) return (e.innerHTML = ""), void e.append(t); + e.textContent = t.textContent; + } + } + const Gi = new Set(["sanitize", "allowList", "sanitizeFn"]), + Ji = "fade", + Zi = "show", + tn = ".modal", + en = "hide.bs.modal", + nn = "hover", + sn = "focus", + on = { + AUTO: "auto", + TOP: "top", + RIGHT: u() ? "left" : "right", + BOTTOM: "bottom", + LEFT: u() ? "right" : "left", + }, + rn = { + allowList: Ki, + animation: !0, + boundary: "clippingParents", + container: !1, + customClass: "", + delay: 0, + fallbackPlacements: ["top", "right", "bottom", "left"], + html: !1, + offset: [0, 0], + placement: "top", + popperConfig: null, + sanitize: !0, + sanitizeFn: null, + selector: !1, + template: + '', + title: "", + trigger: "hover focus", + }, + an = { + allowList: "object", + animation: "boolean", + boundary: "(string|element)", + container: "(string|element|boolean)", + customClass: "(string|function)", + delay: "(number|object)", + fallbackPlacements: "array", + html: "boolean", + offset: "(array|string|function)", + placement: "(string|function)", + popperConfig: "(null|object|function)", + sanitize: "boolean", + sanitizeFn: "(null|function)", + selector: "(string|boolean)", + template: "string", + title: "(string|element|function)", + trigger: "string", + }; + class ln extends W { + constructor(t, e) { + if (void 0 === Ve) + throw new TypeError( + "Bootstrap's tooltips require Popper (https://popper.js.org)" + ); + super(t, e), + (this._isEnabled = !0), + (this._timeout = 0), + (this._isHovered = null), + (this._activeTrigger = {}), + (this._popper = null), + (this._templateFactory = null), + (this._newContent = null), + (this.tip = null), + this._setListeners(), + this._config.selector || this._fixTitle(); + } + static get Default() { + return rn; + } + static get DefaultType() { + return an; + } + static get NAME() { + return "tooltip"; + } + enable() { + this._isEnabled = !0; + } + disable() { + this._isEnabled = !1; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + this._isEnabled && + ((this._activeTrigger.click = !this._activeTrigger.click), + this._isShown() ? this._leave() : this._enter()); + } + dispose() { + clearTimeout(this._timeout), + I.off(this._element.closest(tn), en, this._hideModalHandler), + this._element.getAttribute("data-bs-original-title") && + this._element.setAttribute( + "title", + this._element.getAttribute("data-bs-original-title") + ), + this._disposePopper(), + super.dispose(); + } + show() { + if ("none" === this._element.style.display) + throw new Error("Please use show on visible elements"); + if (!this._isWithContent() || !this._isEnabled) return; + const t = I.trigger(this._element, this.constructor.eventName("show")), + e = ( + a(this._element) || this._element.ownerDocument.documentElement + ).contains(this._element); + if (t.defaultPrevented || !e) return; + this._disposePopper(); + const i = this._getTipElement(); + this._element.setAttribute("aria-describedby", i.getAttribute("id")); + const { container: n } = this._config; + if ( + (this._element.ownerDocument.documentElement.contains(this.tip) || + (n.append(i), + I.trigger(this._element, this.constructor.eventName("inserted"))), + (this._popper = this._createPopper(i)), + i.classList.add(Zi), + "ontouchstart" in document.documentElement) + ) + for (const t of [].concat(...document.body.children)) + I.on(t, "mouseover", l); + this._queueCallback( + () => { + I.trigger(this._element, this.constructor.eventName("shown")), + !1 === this._isHovered && this._leave(), + (this._isHovered = !1); + }, + this.tip, + this._isAnimated() + ); + } + hide() { + if ( + this._isShown() && + !I.trigger(this._element, this.constructor.eventName("hide")) + .defaultPrevented + ) { + if ( + (this._getTipElement().classList.remove(Zi), + "ontouchstart" in document.documentElement) + ) + for (const t of [].concat(...document.body.children)) + I.off(t, "mouseover", l); + (this._activeTrigger.click = !1), + (this._activeTrigger.focus = !1), + (this._activeTrigger.hover = !1), + (this._isHovered = null), + this._queueCallback( + () => { + this._isWithActiveTrigger() || + (this._isHovered || this._disposePopper(), + this._element.removeAttribute("aria-describedby"), + I.trigger(this._element, this.constructor.eventName("hidden"))); + }, + this.tip, + this._isAnimated() + ); + } + } + update() { + this._popper && this._popper.update(); + } + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + return ( + this.tip || + (this.tip = this._createTipElement( + this._newContent || this._getContentForTemplate() + )), + this.tip + ); + } + _createTipElement(t) { + const e = this._getTemplateFactory(t).toHtml(); + if (!e) return null; + e.classList.remove(Ji, Zi), + e.classList.add(`bs-${this.constructor.NAME}-auto`); + const i = ((t) => { + do { + t += Math.floor(1e6 * Math.random()); + } while (document.getElementById(t)); + return t; + })(this.constructor.NAME).toString(); + return ( + e.setAttribute("id", i), this._isAnimated() && e.classList.add(Ji), e + ); + } + setContent(t) { + (this._newContent = t), + this._isShown() && (this._disposePopper(), this.show()); + } + _getTemplateFactory(t) { + return ( + this._templateFactory + ? this._templateFactory.changeContent(t) + : (this._templateFactory = new Ui({ + ...this._config, + content: t, + extraClass: this._resolvePossibleFunction( + this._config.customClass + ), + })), + this._templateFactory + ); + } + _getContentForTemplate() { + return { ".tooltip-inner": this._getTitle() }; + } + _getTitle() { + return ( + this._resolvePossibleFunction(this._config.title) || + this._element.getAttribute("data-bs-original-title") + ); + } + _initializeOnDelegatedTarget(t) { + return this.constructor.getOrCreateInstance( + t.delegateTarget, + this._getDelegateConfig() + ); + } + _isAnimated() { + return ( + this._config.animation || (this.tip && this.tip.classList.contains(Ji)) + ); + } + _isShown() { + return this.tip && this.tip.classList.contains(Zi); + } + _createPopper(t) { + const e = p(this._config.placement, [this, t, this._element]), + i = on[e.toUpperCase()]; + return qe(this._element, t, this._getPopperConfig(i)); + } + _getOffset() { + const { offset: t } = this._config; + return "string" == typeof t + ? t.split(",").map((t) => Number.parseInt(t, 10)) + : "function" == typeof t + ? (e) => t(e, this._element) + : t; + } + _resolvePossibleFunction(t) { + return p(t, [this._element]); + } + _getPopperConfig(t) { + const e = { + placement: t, + modifiers: [ + { + name: "flip", + options: { fallbackPlacements: this._config.fallbackPlacements }, + }, + { name: "offset", options: { offset: this._getOffset() } }, + { + name: "preventOverflow", + options: { boundary: this._config.boundary }, + }, + { + name: "arrow", + options: { element: `.${this.constructor.NAME}-arrow` }, + }, + { + name: "preSetPlacement", + enabled: !0, + phase: "beforeMain", + fn: (t) => { + this._getTipElement().setAttribute( + "data-popper-placement", + t.state.placement + ); + }, + }, + ], + }; + return { ...e, ...p(this._config.popperConfig, [e]) }; + } + _setListeners() { + const t = this._config.trigger.split(" "); + for (const e of t) + if ("click" === e) + I.on( + this._element, + this.constructor.eventName("click"), + this._config.selector, + (t) => { + this._initializeOnDelegatedTarget(t).toggle(); + } + ); + else if ("manual" !== e) { + const t = + e === nn + ? this.constructor.eventName("mouseenter") + : this.constructor.eventName("focusin"), + i = + e === nn + ? this.constructor.eventName("mouseleave") + : this.constructor.eventName("focusout"); + I.on(this._element, t, this._config.selector, (t) => { + const e = this._initializeOnDelegatedTarget(t); + (e._activeTrigger["focusin" === t.type ? sn : nn] = !0), e._enter(); + }), + I.on(this._element, i, this._config.selector, (t) => { + const e = this._initializeOnDelegatedTarget(t); + (e._activeTrigger["focusout" === t.type ? sn : nn] = + e._element.contains(t.relatedTarget)), + e._leave(); + }); + } + (this._hideModalHandler = () => { + this._element && this.hide(); + }), + I.on(this._element.closest(tn), en, this._hideModalHandler); + } + _fixTitle() { + const t = this._element.getAttribute("title"); + t && + (this._element.getAttribute("aria-label") || + this._element.textContent.trim() || + this._element.setAttribute("aria-label", t), + this._element.setAttribute("data-bs-original-title", t), + this._element.removeAttribute("title")); + } + _enter() { + this._isShown() || this._isHovered + ? (this._isHovered = !0) + : ((this._isHovered = !0), + this._setTimeout(() => { + this._isHovered && this.show(); + }, this._config.delay.show)); + } + _leave() { + this._isWithActiveTrigger() || + ((this._isHovered = !1), + this._setTimeout(() => { + this._isHovered || this.hide(); + }, this._config.delay.hide)); + } + _setTimeout(t, e) { + clearTimeout(this._timeout), (this._timeout = setTimeout(t, e)); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(!0); + } + _getConfig(t) { + const e = H.getDataAttributes(this._element); + for (const t of Object.keys(e)) Gi.has(t) && delete e[t]; + return ( + (t = { ...e, ...("object" == typeof t && t ? t : {}) }), + (t = this._mergeConfigObj(t)), + (t = this._configAfterMerge(t)), + this._typeCheckConfig(t), + t + ); + } + _configAfterMerge(t) { + return ( + (t.container = !1 === t.container ? document.body : s(t.container)), + "number" == typeof t.delay && + (t.delay = { show: t.delay, hide: t.delay }), + "number" == typeof t.title && (t.title = t.title.toString()), + "number" == typeof t.content && (t.content = t.content.toString()), + t + ); + } + _getDelegateConfig() { + const t = {}; + for (const [e, i] of Object.entries(this._config)) + this.constructor.Default[e] !== i && (t[e] = i); + return (t.selector = !1), (t.trigger = "manual"), t; + } + _disposePopper() { + this._popper && (this._popper.destroy(), (this._popper = null)), + this.tip && (this.tip.remove(), (this.tip = null)); + } + static jQueryInterface(t) { + return this.each(function () { + const e = ln.getOrCreateInstance(this, t); + if ("string" == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + f(ln); + const cn = { + ...ln.Default, + content: "", + offset: [0, 8], + placement: "right", + template: + '', + trigger: "click", + }, + hn = { ...ln.DefaultType, content: "(null|string|element|function)" }; + class dn extends ln { + static get Default() { + return cn; + } + static get DefaultType() { + return hn; + } + static get NAME() { + return "popover"; + } + _isWithContent() { + return this._getTitle() || this._getContent(); + } + _getContentForTemplate() { + return { + ".popover-header": this._getTitle(), + ".popover-body": this._getContent(), + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + static jQueryInterface(t) { + return this.each(function () { + const e = dn.getOrCreateInstance(this, t); + if ("string" == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + f(dn); + const un = "click.bs.scrollspy", + fn = "active", + pn = "[href]", + mn = { + offset: null, + rootMargin: "0px 0px -25%", + smoothScroll: !1, + target: null, + threshold: [0.1, 0.5, 1], + }, + gn = { + offset: "(number|null)", + rootMargin: "string", + smoothScroll: "boolean", + target: "element", + threshold: "array", + }; + class _n extends W { + constructor(t, e) { + super(t, e), + (this._targetLinks = new Map()), + (this._observableSections = new Map()), + (this._rootElement = + "visible" === getComputedStyle(this._element).overflowY + ? null + : this._element), + (this._activeTarget = null), + (this._observer = null), + (this._previousScrollData = { visibleEntryTop: 0, parentScrollTop: 0 }), + this.refresh(); + } + static get Default() { + return mn; + } + static get DefaultType() { + return gn; + } + static get NAME() { + return "scrollspy"; + } + refresh() { + this._initializeTargetsAndObservables(), + this._maybeEnableSmoothScroll(), + this._observer + ? this._observer.disconnect() + : (this._observer = this._getNewObserver()); + for (const t of this._observableSections.values()) + this._observer.observe(t); + } + dispose() { + this._observer.disconnect(), super.dispose(); + } + _configAfterMerge(t) { + return ( + (t.target = s(t.target) || document.body), + (t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin), + "string" == typeof t.threshold && + (t.threshold = t.threshold + .split(",") + .map((t) => Number.parseFloat(t))), + t + ); + } + _maybeEnableSmoothScroll() { + this._config.smoothScroll && + (I.off(this._config.target, un), + I.on(this._config.target, un, pn, (t) => { + const e = this._observableSections.get(t.target.hash); + if (e) { + t.preventDefault(); + const i = this._rootElement || window, + n = e.offsetTop - this._element.offsetTop; + if (i.scrollTo) + return void i.scrollTo({ top: n, behavior: "smooth" }); + i.scrollTop = n; + } + })); + } + _getNewObserver() { + const t = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin, + }; + return new IntersectionObserver((t) => this._observerCallback(t), t); + } + _observerCallback(t) { + const e = (t) => this._targetLinks.get(`#${t.target.id}`), + i = (t) => { + (this._previousScrollData.visibleEntryTop = t.target.offsetTop), + this._process(e(t)); + }, + n = (this._rootElement || document.documentElement).scrollTop, + s = n >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = n; + for (const o of t) { + if (!o.isIntersecting) { + (this._activeTarget = null), this._clearActiveClass(e(o)); + continue; + } + const t = + o.target.offsetTop >= this._previousScrollData.visibleEntryTop; + if (s && t) { + if ((i(o), !n)) return; + } else s || t || i(o); + } + } + _initializeTargetsAndObservables() { + (this._targetLinks = new Map()), (this._observableSections = new Map()); + const t = z.find(pn, this._config.target); + for (const e of t) { + if (!e.hash || r(e)) continue; + const t = z.findOne(e.hash, this._element); + o(t) && + (this._targetLinks.set(e.hash, e), + this._observableSections.set(e.hash, t)); + } + } + _process(t) { + this._activeTarget !== t && + (this._clearActiveClass(this._config.target), + (this._activeTarget = t), + t.classList.add(fn), + this._activateParents(t), + I.trigger(this._element, "activate.bs.scrollspy", { + relatedTarget: t, + })); + } + _activateParents(t) { + if (t.classList.contains("dropdown-item")) + z.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(fn); + else + for (const e of z.parents(t, ".nav, .list-group")) + for (const t of z.prev( + e, + ".nav-link, .nav-item > .nav-link, .list-group-item" + )) + t.classList.add(fn); + } + _clearActiveClass(t) { + t.classList.remove(fn); + const e = z.find("[href].active", t); + for (const t of e) t.classList.remove(fn); + } + static jQueryInterface(t) { + return this.each(function () { + const e = _n.getOrCreateInstance(this, t); + if ("string" == typeof t) { + if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) + throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + I.on(window, "load.bs.scrollspy.data-api", () => { + for (const t of z.find('[data-bs-spy="scroll"]')) _n.getOrCreateInstance(t); + }), + f(_n); + const bn = "ArrowLeft", + vn = "ArrowRight", + yn = "ArrowUp", + wn = "ArrowDown", + An = "active", + En = "fade", + Tn = "show", + Cn = + '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', + On = `.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Cn}`; + class xn extends W { + constructor(t) { + super(t), + (this._parent = this._element.closest( + '.list-group, .nav, [role="tablist"]' + )), + this._parent && + (this._setInitialAttributes(this._parent, this._getChildren()), + I.on(this._element, "keydown.bs.tab", (t) => this._keydown(t))); + } + static get NAME() { + return "tab"; + } + show() { + const t = this._element; + if (this._elemIsActive(t)) return; + const e = this._getActiveElem(), + i = e ? I.trigger(e, "hide.bs.tab", { relatedTarget: t }) : null; + I.trigger(t, "show.bs.tab", { relatedTarget: e }).defaultPrevented || + (i && i.defaultPrevented) || + (this._deactivate(e, t), this._activate(t, e)); + } + _activate(t, e) { + t && + (t.classList.add(An), + this._activate(z.getElementFromSelector(t)), + this._queueCallback( + () => { + "tab" === t.getAttribute("role") + ? (t.removeAttribute("tabindex"), + t.setAttribute("aria-selected", !0), + this._toggleDropDown(t, !0), + I.trigger(t, "shown.bs.tab", { relatedTarget: e })) + : t.classList.add(Tn); + }, + t, + t.classList.contains(En) + )); + } + _deactivate(t, e) { + t && + (t.classList.remove(An), + t.blur(), + this._deactivate(z.getElementFromSelector(t)), + this._queueCallback( + () => { + "tab" === t.getAttribute("role") + ? (t.setAttribute("aria-selected", !1), + t.setAttribute("tabindex", "-1"), + this._toggleDropDown(t, !1), + I.trigger(t, "hidden.bs.tab", { relatedTarget: e })) + : t.classList.remove(Tn); + }, + t, + t.classList.contains(En) + )); + } + _keydown(t) { + if (![bn, vn, yn, wn].includes(t.key)) return; + t.stopPropagation(), t.preventDefault(); + const e = [vn, wn].includes(t.key), + i = g( + this._getChildren().filter((t) => !r(t)), + t.target, + e, + !0 + ); + i && (i.focus({ preventScroll: !0 }), xn.getOrCreateInstance(i).show()); + } + _getChildren() { + return z.find(On, this._parent); + } + _getActiveElem() { + return this._getChildren().find((t) => this._elemIsActive(t)) || null; + } + _setInitialAttributes(t, e) { + this._setAttributeIfNotExists(t, "role", "tablist"); + for (const t of e) this._setInitialAttributesOnChild(t); + } + _setInitialAttributesOnChild(t) { + t = this._getInnerElement(t); + const e = this._elemIsActive(t), + i = this._getOuterElement(t); + t.setAttribute("aria-selected", e), + i !== t && this._setAttributeIfNotExists(i, "role", "presentation"), + e || t.setAttribute("tabindex", "-1"), + this._setAttributeIfNotExists(t, "role", "tab"), + this._setInitialAttributesOnTargetPanel(t); + } + _setInitialAttributesOnTargetPanel(t) { + const e = z.getElementFromSelector(t); + e && + (this._setAttributeIfNotExists(e, "role", "tabpanel"), + t.id && + this._setAttributeIfNotExists(e, "aria-labelledby", `#${t.id}`)); + } + _toggleDropDown(t, e) { + const i = this._getOuterElement(t); + if (!i.classList.contains("dropdown")) return; + const n = (t, n) => { + const s = z.findOne(t, i); + s && s.classList.toggle(n, e); + }; + n(".dropdown-toggle", An), + n(".dropdown-menu", Tn), + i.setAttribute("aria-expanded", e); + } + _setAttributeIfNotExists(t, e, i) { + t.hasAttribute(e) || t.setAttribute(e, i); + } + _elemIsActive(t) { + return t.classList.contains(An); + } + _getInnerElement(t) { + return t.matches(On) ? t : z.findOne(On, t); + } + _getOuterElement(t) { + return t.closest(".nav-item, .list-group-item") || t; + } + static jQueryInterface(t) { + return this.each(function () { + const e = xn.getOrCreateInstance(this); + if ("string" == typeof t) { + if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) + throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + I.on(document, "click.bs.tab", Cn, function (t) { + ["A", "AREA"].includes(this.tagName) && t.preventDefault(), + r(this) || xn.getOrCreateInstance(this).show(); + }), + I.on(window, "load.bs.tab", () => { + for (const t of z.find( + '.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]' + )) + xn.getOrCreateInstance(t); + }), + f(xn); + const kn = "hide", + Ln = "show", + Sn = "showing", + Dn = { animation: "boolean", autohide: "boolean", delay: "number" }, + In = { animation: !0, autohide: !0, delay: 5e3 }; + class Nn extends W { + constructor(t, e) { + super(t, e), + (this._timeout = null), + (this._hasMouseInteraction = !1), + (this._hasKeyboardInteraction = !1), + this._setListeners(); + } + static get Default() { + return In; + } + static get DefaultType() { + return Dn; + } + static get NAME() { + return "toast"; + } + show() { + I.trigger(this._element, "show.bs.toast").defaultPrevented || + (this._clearTimeout(), + this._config.animation && this._element.classList.add("fade"), + this._element.classList.remove(kn), + c(this._element), + this._element.classList.add(Ln, Sn), + this._queueCallback( + () => { + this._element.classList.remove(Sn), + I.trigger(this._element, "shown.bs.toast"), + this._maybeScheduleHide(); + }, + this._element, + this._config.animation + )); + } + hide() { + this.isShown() && + (I.trigger(this._element, "hide.bs.toast").defaultPrevented || + (this._element.classList.add(Sn), + this._queueCallback( + () => { + this._element.classList.add(kn), + this._element.classList.remove(Sn, Ln), + I.trigger(this._element, "hidden.bs.toast"); + }, + this._element, + this._config.animation + ))); + } + dispose() { + this._clearTimeout(), + this.isShown() && this._element.classList.remove(Ln), + super.dispose(); + } + isShown() { + return this._element.classList.contains(Ln); + } + _maybeScheduleHide() { + this._config.autohide && + (this._hasMouseInteraction || + this._hasKeyboardInteraction || + (this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay))); + } + _onInteraction(t, e) { + switch (t.type) { + case "mouseover": + case "mouseout": + this._hasMouseInteraction = e; + break; + case "focusin": + case "focusout": + this._hasKeyboardInteraction = e; + } + if (e) return void this._clearTimeout(); + const i = t.relatedTarget; + this._element === i || + this._element.contains(i) || + this._maybeScheduleHide(); + } + _setListeners() { + I.on(this._element, "mouseover.bs.toast", (t) => + this._onInteraction(t, !0) + ), + I.on(this._element, "mouseout.bs.toast", (t) => + this._onInteraction(t, !1) + ), + I.on(this._element, "focusin.bs.toast", (t) => + this._onInteraction(t, !0) + ), + I.on(this._element, "focusout.bs.toast", (t) => + this._onInteraction(t, !1) + ); + } + _clearTimeout() { + clearTimeout(this._timeout), (this._timeout = null); + } + static jQueryInterface(t) { + return this.each(function () { + const e = Nn.getOrCreateInstance(this, t); + if ("string" == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](this); + } + }); + } + } + return ( + R(Nn), + f(Nn), + { + Alert: q, + Button: K, + Carousel: rt, + Collapse: ft, + Dropdown: ci, + Modal: Ii, + Offcanvas: Bi, + Popover: dn, + ScrollSpy: _n, + Tab: xn, + Toast: Nn, + Tooltip: ln, + } + ); +}); +//# sourceMappingURL=bootstrap.bundle.min.js.map diff --git a/lib/jquery-3.6.3.min.js b/lib/jquery-3.6.3.min.js new file mode 100644 index 0000000..78846cc --- /dev/null +++ b/lib/jquery-3.6.3.min.js @@ -0,0 +1,5595 @@ +// @ts-nocheck +/*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!(function (e, t) { + "use strict"; + "object" == typeof module && "object" == typeof module.exports + ? (module.exports = e.document + ? t(e, !0) + : function (e) { + if (!e.document) + throw new Error("jQuery requires a window with a document"); + return t(e); + }) + : t(e); +})("undefined" != typeof window ? window : this, function (C, e) { + "use strict"; + var t = [], + r = Object.getPrototypeOf, + s = t.slice, + g = t.flat + ? function (e) { + return t.flat.call(e); + } + : function (e) { + return t.concat.apply([], e); + }, + u = t.push, + i = t.indexOf, + n = {}, + o = n.toString, + y = n.hasOwnProperty, + a = y.toString, + l = a.call(Object), + v = {}, + m = function (e) { + return ( + "function" == typeof e && + "number" != typeof e.nodeType && + "function" != typeof e.item + ); + }, + x = function (e) { + return null != e && e === e.window; + }, + S = C.document, + c = { type: !0, src: !0, nonce: !0, noModule: !0 }; + function b(e, t, n) { + var r, + i, + o = (n = n || S).createElement("script"); + if (((o.text = e), t)) + for (r in c) + (i = t[r] || (t.getAttribute && t.getAttribute(r))) && + o.setAttribute(r, i); + n.head.appendChild(o).parentNode.removeChild(o); + } + function w(e) { + return null == e + ? e + "" + : "object" == typeof e || "function" == typeof e + ? n[o.call(e)] || "object" + : typeof e; + } + var f = "3.6.3", + E = function (e, t) { + return new E.fn.init(e, t); + }; + function p(e) { + var t = !!e && "length" in e && e.length, + n = w(e); + return ( + !m(e) && + !x(e) && + ("array" === n || + 0 === t || + ("number" == typeof t && 0 < t && t - 1 in e)) + ); + } + (E.fn = E.prototype = + { + jquery: f, + constructor: E, + length: 0, + toArray: function () { + return s.call(this); + }, + get: function (e) { + return null == e + ? s.call(this) + : e < 0 + ? this[e + this.length] + : this[e]; + }, + pushStack: function (e) { + var t = E.merge(this.constructor(), e); + return (t.prevObject = this), t; + }, + each: function (e) { + return E.each(this, e); + }, + map: function (n) { + return this.pushStack( + E.map(this, function (e, t) { + return n.call(e, t, e); + }) + ); + }, + slice: function () { + return this.pushStack(s.apply(this, arguments)); + }, + first: function () { + return this.eq(0); + }, + last: function () { + return this.eq(-1); + }, + even: function () { + return this.pushStack( + E.grep(this, function (e, t) { + return (t + 1) % 2; + }) + ); + }, + odd: function () { + return this.pushStack( + E.grep(this, function (e, t) { + return t % 2; + }) + ); + }, + eq: function (e) { + var t = this.length, + n = +e + (e < 0 ? t : 0); + return this.pushStack(0 <= n && n < t ? [this[n]] : []); + }, + end: function () { + return this.prevObject || this.constructor(); + }, + push: u, + sort: t.sort, + splice: t.splice, + }), + (E.extend = E.fn.extend = + function () { + var e, + t, + n, + r, + i, + o, + a = arguments[0] || {}, + s = 1, + u = arguments.length, + l = !1; + for ( + "boolean" == typeof a && ((l = a), (a = arguments[s] || {}), s++), + "object" == typeof a || m(a) || (a = {}), + s === u && ((a = this), s--); + s < u; + s++ + ) + if (null != (e = arguments[s])) + for (t in e) + (r = e[t]), + "__proto__" !== t && + a !== r && + (l && r && (E.isPlainObject(r) || (i = Array.isArray(r))) + ? ((n = a[t]), + (o = + i && !Array.isArray(n) + ? [] + : i || E.isPlainObject(n) + ? n + : {}), + (i = !1), + (a[t] = E.extend(l, o, r))) + : void 0 !== r && (a[t] = r)); + return a; + }), + E.extend({ + expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), + isReady: !0, + error: function (e) { + throw new Error(e); + }, + noop: function () {}, + isPlainObject: function (e) { + var t, n; + return ( + !(!e || "[object Object]" !== o.call(e)) && + (!(t = r(e)) || + ("function" == + typeof (n = y.call(t, "constructor") && t.constructor) && + a.call(n) === l)) + ); + }, + isEmptyObject: function (e) { + var t; + for (t in e) return !1; + return !0; + }, + globalEval: function (e, t, n) { + b(e, { nonce: t && t.nonce }, n); + }, + each: function (e, t) { + var n, + r = 0; + if (p(e)) { + for (n = e.length; r < n; r++) + if (!1 === t.call(e[r], r, e[r])) break; + } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; + return e; + }, + makeArray: function (e, t) { + var n = t || []; + return ( + null != e && + (p(Object(e)) + ? E.merge(n, "string" == typeof e ? [e] : e) + : u.call(n, e)), + n + ); + }, + inArray: function (e, t, n) { + return null == t ? -1 : i.call(t, e, n); + }, + merge: function (e, t) { + for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r]; + return (e.length = i), e; + }, + grep: function (e, t, n) { + for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) + !t(e[i], i) !== a && r.push(e[i]); + return r; + }, + map: function (e, t, n) { + var r, + i, + o = 0, + a = []; + if (p(e)) + for (r = e.length; o < r; o++) + null != (i = t(e[o], o, n)) && a.push(i); + else for (o in e) null != (i = t(e[o], o, n)) && a.push(i); + return g(a); + }, + guid: 1, + support: v, + }), + "function" == typeof Symbol && (E.fn[Symbol.iterator] = t[Symbol.iterator]), + E.each( + "Boolean Number String Function Array Date RegExp Object Error Symbol".split( + " " + ), + function (e, t) { + n["[object " + t + "]"] = t.toLowerCase(); + } + ); + var d = (function (n) { + var e, + d, + b, + o, + i, + h, + f, + g, + w, + u, + l, + T, + C, + a, + S, + y, + s, + c, + v, + E = "sizzle" + 1 * new Date(), + p = n.document, + k = 0, + r = 0, + m = ue(), + x = ue(), + A = ue(), + N = ue(), + j = function (e, t) { + return e === t && (l = !0), 0; + }, + D = {}.hasOwnProperty, + t = [], + q = t.pop, + L = t.push, + H = t.push, + O = t.slice, + P = function (e, t) { + for (var n = 0, r = e.length; n < r; n++) if (e[n] === t) return n; + return -1; + }, + R = + "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + M = "[\\x20\\t\\r\\n\\f]", + I = + "(?:\\\\[\\da-fA-F]{1,6}" + + M + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + W = + "\\[" + + M + + "*(" + + I + + ")(?:" + + M + + "*([*^$|!~]?=)" + + M + + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + + I + + "))|)" + + M + + "*\\]", + F = + ":(" + + I + + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + + W + + ")*)|.*)\\)|)", + $ = new RegExp(M + "+", "g"), + B = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), + _ = new RegExp("^" + M + "*," + M + "*"), + z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), + U = new RegExp(M + "|>"), + X = new RegExp(F), + V = new RegExp("^" + I + "$"), + G = { + ID: new RegExp("^#(" + I + ")"), + CLASS: new RegExp("^\\.(" + I + ")"), + TAG: new RegExp("^(" + I + "|[*])"), + ATTR: new RegExp("^" + W), + PSEUDO: new RegExp("^" + F), + CHILD: new RegExp( + "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + M + + "*(even|odd|(([+-]|)(\\d*)n|)" + + M + + "*(?:([+-]|)" + + M + + "*(\\d+)|))" + + M + + "*\\)|)", + "i" + ), + bool: new RegExp("^(?:" + R + ")$", "i"), + needsContext: new RegExp( + "^" + + M + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + M + + "*((?:-\\d)?\\d*)" + + M + + "*\\)|)(?=[^-]|$)", + "i" + ), + }, + Y = /HTML$/i, + Q = /^(?:input|select|textarea|button)$/i, + J = /^h\d$/i, + K = /^[^{]+\{\s*\[native \w/, + Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + ee = /[+~]/, + te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), + ne = function (e, t) { + var n = "0x" + e.slice(1) - 65536; + return ( + t || + (n < 0 + ? String.fromCharCode(n + 65536) + : String.fromCharCode((n >> 10) | 55296, (1023 & n) | 56320)) + ); + }, + re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + ie = function (e, t) { + return t + ? "\0" === e + ? "\ufffd" + : e.slice(0, -1) + + "\\" + + e.charCodeAt(e.length - 1).toString(16) + + " " + : "\\" + e; + }, + oe = function () { + T(); + }, + ae = be( + function (e) { + return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase(); + }, + { dir: "parentNode", next: "legend" } + ); + try { + H.apply((t = O.call(p.childNodes)), p.childNodes), + t[p.childNodes.length].nodeType; + } catch (e) { + H = { + apply: t.length + ? function (e, t) { + L.apply(e, O.call(t)); + } + : function (e, t) { + var n = e.length, + r = 0; + while ((e[n++] = t[r++])); + e.length = n - 1; + }, + }; + } + function se(t, e, n, r) { + var i, + o, + a, + s, + u, + l, + c, + f = e && e.ownerDocument, + p = e ? e.nodeType : 9; + if ( + ((n = n || []), + "string" != typeof t || !t || (1 !== p && 9 !== p && 11 !== p)) + ) + return n; + if (!r && (T(e), (e = e || C), S)) { + if (11 !== p && (u = Z.exec(t))) + if ((i = u[1])) { + if (9 === p) { + if (!(a = e.getElementById(i))) return n; + if (a.id === i) return n.push(a), n; + } else if (f && (a = f.getElementById(i)) && v(e, a) && a.id === i) + return n.push(a), n; + } else { + if (u[2]) return H.apply(n, e.getElementsByTagName(t)), n; + if ( + (i = u[3]) && + d.getElementsByClassName && + e.getElementsByClassName + ) + return H.apply(n, e.getElementsByClassName(i)), n; + } + if ( + d.qsa && + !N[t + " "] && + (!y || !y.test(t)) && + (1 !== p || "object" !== e.nodeName.toLowerCase()) + ) { + if (((c = t), (f = e), 1 === p && (U.test(t) || z.test(t)))) { + ((f = (ee.test(t) && ve(e.parentNode)) || e) === e && d.scope) || + ((s = e.getAttribute("id")) + ? (s = s.replace(re, ie)) + : e.setAttribute("id", (s = E))), + (o = (l = h(t)).length); + while (o--) l[o] = (s ? "#" + s : ":scope") + " " + xe(l[o]); + c = l.join(","); + } + try { + if ( + d.cssSupportsSelector && + !CSS.supports("selector(:is(" + c + "))") + ) + throw new Error(); + return H.apply(n, f.querySelectorAll(c)), n; + } catch (e) { + N(t, !0); + } finally { + s === E && e.removeAttribute("id"); + } + } + } + return g(t.replace(B, "$1"), e, n, r); + } + function ue() { + var r = []; + return function e(t, n) { + return ( + r.push(t + " ") > b.cacheLength && delete e[r.shift()], + (e[t + " "] = n) + ); + }; + } + function le(e) { + return (e[E] = !0), e; + } + function ce(e) { + var t = C.createElement("fieldset"); + try { + return !!e(t); + } catch (e) { + return !1; + } finally { + t.parentNode && t.parentNode.removeChild(t), (t = null); + } + } + function fe(e, t) { + var n = e.split("|"), + r = n.length; + while (r--) b.attrHandle[n[r]] = t; + } + function pe(e, t) { + var n = t && e, + r = + n && + 1 === e.nodeType && + 1 === t.nodeType && + e.sourceIndex - t.sourceIndex; + if (r) return r; + if (n) while ((n = n.nextSibling)) if (n === t) return -1; + return e ? 1 : -1; + } + function de(t) { + return function (e) { + return "input" === e.nodeName.toLowerCase() && e.type === t; + }; + } + function he(n) { + return function (e) { + var t = e.nodeName.toLowerCase(); + return ("input" === t || "button" === t) && e.type === n; + }; + } + function ge(t) { + return function (e) { + return "form" in e + ? e.parentNode && !1 === e.disabled + ? "label" in e + ? "label" in e.parentNode + ? e.parentNode.disabled === t + : e.disabled === t + : e.isDisabled === t || (e.isDisabled !== !t && ae(e) === t) + : e.disabled === t + : "label" in e && e.disabled === t; + }; + } + function ye(a) { + return le(function (o) { + return ( + (o = +o), + le(function (e, t) { + var n, + r = a([], e.length, o), + i = r.length; + while (i--) e[(n = r[i])] && (e[n] = !(t[n] = e[n])); + }) + ); + }); + } + function ve(e) { + return e && "undefined" != typeof e.getElementsByTagName && e; + } + for (e in ((d = se.support = {}), + (i = se.isXML = + function (e) { + var t = e && e.namespaceURI, + n = e && (e.ownerDocument || e).documentElement; + return !Y.test(t || (n && n.nodeName) || "HTML"); + }), + (T = se.setDocument = + function (e) { + var t, + n, + r = e ? e.ownerDocument || e : p; + return ( + r != C && + 9 === r.nodeType && + r.documentElement && + ((a = (C = r).documentElement), + (S = !i(C)), + p != C && + (n = C.defaultView) && + n.top !== n && + (n.addEventListener + ? n.addEventListener("unload", oe, !1) + : n.attachEvent && n.attachEvent("onunload", oe)), + (d.scope = ce(function (e) { + return ( + a.appendChild(e).appendChild(C.createElement("div")), + "undefined" != typeof e.querySelectorAll && + !e.querySelectorAll(":scope fieldset div").length + ); + })), + (d.cssSupportsSelector = ce(function () { + return ( + CSS.supports("selector(*)") && + C.querySelectorAll(":is(:jqfake)") && + !CSS.supports("selector(:is(*,:jqfake))") + ); + })), + (d.attributes = ce(function (e) { + return (e.className = "i"), !e.getAttribute("className"); + })), + (d.getElementsByTagName = ce(function (e) { + return ( + e.appendChild(C.createComment("")), + !e.getElementsByTagName("*").length + ); + })), + (d.getElementsByClassName = K.test(C.getElementsByClassName)), + (d.getById = ce(function (e) { + return ( + (a.appendChild(e).id = E), + !C.getElementsByName || !C.getElementsByName(E).length + ); + })), + d.getById + ? ((b.filter.ID = function (e) { + var t = e.replace(te, ne); + return function (e) { + return e.getAttribute("id") === t; + }; + }), + (b.find.ID = function (e, t) { + if ("undefined" != typeof t.getElementById && S) { + var n = t.getElementById(e); + return n ? [n] : []; + } + })) + : ((b.filter.ID = function (e) { + var n = e.replace(te, ne); + return function (e) { + var t = + "undefined" != typeof e.getAttributeNode && + e.getAttributeNode("id"); + return t && t.value === n; + }; + }), + (b.find.ID = function (e, t) { + if ("undefined" != typeof t.getElementById && S) { + var n, + r, + i, + o = t.getElementById(e); + if (o) { + if ((n = o.getAttributeNode("id")) && n.value === e) + return [o]; + (i = t.getElementsByName(e)), (r = 0); + while ((o = i[r++])) + if ((n = o.getAttributeNode("id")) && n.value === e) + return [o]; + } + return []; + } + })), + (b.find.TAG = d.getElementsByTagName + ? function (e, t) { + return "undefined" != typeof t.getElementsByTagName + ? t.getElementsByTagName(e) + : d.qsa + ? t.querySelectorAll(e) + : void 0; + } + : function (e, t) { + var n, + r = [], + i = 0, + o = t.getElementsByTagName(e); + if ("*" === e) { + while ((n = o[i++])) 1 === n.nodeType && r.push(n); + return r; + } + return o; + }), + (b.find.CLASS = + d.getElementsByClassName && + function (e, t) { + if ("undefined" != typeof t.getElementsByClassName && S) + return t.getElementsByClassName(e); + }), + (s = []), + (y = []), + (d.qsa = K.test(C.querySelectorAll)) && + (ce(function (e) { + var t; + (a.appendChild(e).innerHTML = + ""), + e.querySelectorAll("[msallowcapture^='']").length && + y.push("[*^$]=" + M + "*(?:''|\"\")"), + e.querySelectorAll("[selected]").length || + y.push("\\[" + M + "*(?:value|" + R + ")"), + e.querySelectorAll("[id~=" + E + "-]").length || y.push("~="), + (t = C.createElement("input")).setAttribute("name", ""), + e.appendChild(t), + e.querySelectorAll("[name='']").length || + y.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), + e.querySelectorAll(":checked").length || y.push(":checked"), + e.querySelectorAll("a#" + E + "+*").length || + y.push(".#.+[+~]"), + e.querySelectorAll("\\\f"), + y.push("[\\r\\n\\f]"); + }), + ce(function (e) { + e.innerHTML = + ""; + var t = C.createElement("input"); + t.setAttribute("type", "hidden"), + e.appendChild(t).setAttribute("name", "D"), + e.querySelectorAll("[name=d]").length && + y.push("name" + M + "*[*^$|!~]?="), + 2 !== e.querySelectorAll(":enabled").length && + y.push(":enabled", ":disabled"), + (a.appendChild(e).disabled = !0), + 2 !== e.querySelectorAll(":disabled").length && + y.push(":enabled", ":disabled"), + e.querySelectorAll("*,:x"), + y.push(",.*:"); + })), + (d.matchesSelector = K.test( + (c = + a.matches || + a.webkitMatchesSelector || + a.mozMatchesSelector || + a.oMatchesSelector || + a.msMatchesSelector) + )) && + ce(function (e) { + (d.disconnectedMatch = c.call(e, "*")), + c.call(e, "[s!='']:x"), + s.push("!=", F); + }), + d.cssSupportsSelector || y.push(":has"), + (y = y.length && new RegExp(y.join("|"))), + (s = s.length && new RegExp(s.join("|"))), + (t = K.test(a.compareDocumentPosition)), + (v = + t || K.test(a.contains) + ? function (e, t) { + var n = (9 === e.nodeType && e.documentElement) || e, + r = t && t.parentNode; + return ( + e === r || + !( + !r || + 1 !== r.nodeType || + !(n.contains + ? n.contains(r) + : e.compareDocumentPosition && + 16 & e.compareDocumentPosition(r)) + ) + ); + } + : function (e, t) { + if (t) while ((t = t.parentNode)) if (t === e) return !0; + return !1; + }), + (j = t + ? function (e, t) { + if (e === t) return (l = !0), 0; + var n = + !e.compareDocumentPosition - !t.compareDocumentPosition; + return ( + n || + (1 & + (n = + (e.ownerDocument || e) == (t.ownerDocument || t) + ? e.compareDocumentPosition(t) + : 1) || + (!d.sortDetached && t.compareDocumentPosition(e) === n) + ? e == C || (e.ownerDocument == p && v(p, e)) + ? -1 + : t == C || (t.ownerDocument == p && v(p, t)) + ? 1 + : u + ? P(u, e) - P(u, t) + : 0 + : 4 & n + ? -1 + : 1) + ); + } + : function (e, t) { + if (e === t) return (l = !0), 0; + var n, + r = 0, + i = e.parentNode, + o = t.parentNode, + a = [e], + s = [t]; + if (!i || !o) + return e == C + ? -1 + : t == C + ? 1 + : i + ? -1 + : o + ? 1 + : u + ? P(u, e) - P(u, t) + : 0; + if (i === o) return pe(e, t); + n = e; + while ((n = n.parentNode)) a.unshift(n); + n = t; + while ((n = n.parentNode)) s.unshift(n); + while (a[r] === s[r]) r++; + return r + ? pe(a[r], s[r]) + : a[r] == p + ? -1 + : s[r] == p + ? 1 + : 0; + })), + C + ); + }), + (se.matches = function (e, t) { + return se(e, null, null, t); + }), + (se.matchesSelector = function (e, t) { + if ( + (T(e), + d.matchesSelector && + S && + !N[t + " "] && + (!s || !s.test(t)) && + (!y || !y.test(t))) + ) + try { + var n = c.call(e, t); + if ( + n || + d.disconnectedMatch || + (e.document && 11 !== e.document.nodeType) + ) + return n; + } catch (e) { + N(t, !0); + } + return 0 < se(t, C, null, [e]).length; + }), + (se.contains = function (e, t) { + return (e.ownerDocument || e) != C && T(e), v(e, t); + }), + (se.attr = function (e, t) { + (e.ownerDocument || e) != C && T(e); + var n = b.attrHandle[t.toLowerCase()], + r = n && D.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !S) : void 0; + return void 0 !== r + ? r + : d.attributes || !S + ? e.getAttribute(t) + : (r = e.getAttributeNode(t)) && r.specified + ? r.value + : null; + }), + (se.escape = function (e) { + return (e + "").replace(re, ie); + }), + (se.error = function (e) { + throw new Error("Syntax error, unrecognized expression: " + e); + }), + (se.uniqueSort = function (e) { + var t, + n = [], + r = 0, + i = 0; + if ( + ((l = !d.detectDuplicates), + (u = !d.sortStable && e.slice(0)), + e.sort(j), + l) + ) { + while ((t = e[i++])) t === e[i] && (r = n.push(i)); + while (r--) e.splice(n[r], 1); + } + return (u = null), e; + }), + (o = se.getText = + function (e) { + var t, + n = "", + r = 0, + i = e.nodeType; + if (i) { + if (1 === i || 9 === i || 11 === i) { + if ("string" == typeof e.textContent) return e.textContent; + for (e = e.firstChild; e; e = e.nextSibling) n += o(e); + } else if (3 === i || 4 === i) return e.nodeValue; + } else while ((t = e[r++])) n += o(t); + return n; + }), + ((b = se.selectors = + { + cacheLength: 50, + createPseudo: le, + match: G, + attrHandle: {}, + find: {}, + relative: { + ">": { dir: "parentNode", first: !0 }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: !0 }, + "~": { dir: "previousSibling" }, + }, + preFilter: { + ATTR: function (e) { + return ( + (e[1] = e[1].replace(te, ne)), + (e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne)), + "~=" === e[2] && (e[3] = " " + e[3] + " "), + e.slice(0, 4) + ); + }, + CHILD: function (e) { + return ( + (e[1] = e[1].toLowerCase()), + "nth" === e[1].slice(0, 3) + ? (e[3] || se.error(e[0]), + (e[4] = +(e[4] + ? e[5] + (e[6] || 1) + : 2 * ("even" === e[3] || "odd" === e[3]))), + (e[5] = +(e[7] + e[8] || "odd" === e[3]))) + : e[3] && se.error(e[0]), + e + ); + }, + PSEUDO: function (e) { + var t, + n = !e[6] && e[2]; + return G.CHILD.test(e[0]) + ? null + : (e[3] + ? (e[2] = e[4] || e[5] || "") + : n && + X.test(n) && + (t = h(n, !0)) && + (t = n.indexOf(")", n.length - t) - n.length) && + ((e[0] = e[0].slice(0, t)), (e[2] = n.slice(0, t))), + e.slice(0, 3)); + }, + }, + filter: { + TAG: function (e) { + var t = e.replace(te, ne).toLowerCase(); + return "*" === e + ? function () { + return !0; + } + : function (e) { + return e.nodeName && e.nodeName.toLowerCase() === t; + }; + }, + CLASS: function (e) { + var t = m[e + " "]; + return ( + t || + ((t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && + m(e, function (e) { + return t.test( + ("string" == typeof e.className && e.className) || + ("undefined" != typeof e.getAttribute && + e.getAttribute("class")) || + "" + ); + })) + ); + }, + ATTR: function (n, r, i) { + return function (e) { + var t = se.attr(e, n); + return null == t + ? "!=" === r + : !r || + ((t += ""), + "=" === r + ? t === i + : "!=" === r + ? t !== i + : "^=" === r + ? i && 0 === t.indexOf(i) + : "*=" === r + ? i && -1 < t.indexOf(i) + : "$=" === r + ? i && t.slice(-i.length) === i + : "~=" === r + ? -1 < (" " + t.replace($, " ") + " ").indexOf(i) + : "|=" === r && + (t === i || t.slice(0, i.length + 1) === i + "-")); + }; + }, + CHILD: function (h, e, t, g, y) { + var v = "nth" !== h.slice(0, 3), + m = "last" !== h.slice(-4), + x = "of-type" === e; + return 1 === g && 0 === y + ? function (e) { + return !!e.parentNode; + } + : function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l = v !== m ? "nextSibling" : "previousSibling", + c = e.parentNode, + f = x && e.nodeName.toLowerCase(), + p = !n && !x, + d = !1; + if (c) { + if (v) { + while (l) { + a = e; + while ((a = a[l])) + if ( + x + ? a.nodeName.toLowerCase() === f + : 1 === a.nodeType + ) + return !1; + u = l = "only" === h && !u && "nextSibling"; + } + return !0; + } + if (((u = [m ? c.firstChild : c.lastChild]), m && p)) { + (d = + (s = + (r = + (i = + (o = (a = c)[E] || (a[E] = {}))[a.uniqueID] || + (o[a.uniqueID] = {}))[h] || [])[0] === k && + r[1]) && r[2]), + (a = s && c.childNodes[s]); + while ((a = (++s && a && a[l]) || (d = s = 0) || u.pop())) + if (1 === a.nodeType && ++d && a === e) { + i[h] = [k, s, d]; + break; + } + } else if ( + (p && + (d = s = + (r = + (i = + (o = (a = e)[E] || (a[E] = {}))[a.uniqueID] || + (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), + !1 === d) + ) + while ((a = (++s && a && a[l]) || (d = s = 0) || u.pop())) + if ( + (x + ? a.nodeName.toLowerCase() === f + : 1 === a.nodeType) && + ++d && + (p && + ((i = + (o = a[E] || (a[E] = {}))[a.uniqueID] || + (o[a.uniqueID] = {}))[h] = [k, d]), + a === e) + ) + break; + return (d -= y) === g || (d % g == 0 && 0 <= d / g); + } + }; + }, + PSEUDO: function (e, o) { + var t, + a = + b.pseudos[e] || + b.setFilters[e.toLowerCase()] || + se.error("unsupported pseudo: " + e); + return a[E] + ? a(o) + : 1 < a.length + ? ((t = [e, e, "", o]), + b.setFilters.hasOwnProperty(e.toLowerCase()) + ? le(function (e, t) { + var n, + r = a(e, o), + i = r.length; + while (i--) e[(n = P(e, r[i]))] = !(t[n] = r[i]); + }) + : function (e) { + return a(e, 0, t); + }) + : a; + }, + }, + pseudos: { + not: le(function (e) { + var r = [], + i = [], + s = f(e.replace(B, "$1")); + return s[E] + ? le(function (e, t, n, r) { + var i, + o = s(e, null, r, []), + a = e.length; + while (a--) (i = o[a]) && (e[a] = !(t[a] = i)); + }) + : function (e, t, n) { + return (r[0] = e), s(r, null, n, i), (r[0] = null), !i.pop(); + }; + }), + has: le(function (t) { + return function (e) { + return 0 < se(t, e).length; + }; + }), + contains: le(function (t) { + return ( + (t = t.replace(te, ne)), + function (e) { + return -1 < (e.textContent || o(e)).indexOf(t); + } + ); + }), + lang: le(function (n) { + return ( + V.test(n || "") || se.error("unsupported lang: " + n), + (n = n.replace(te, ne).toLowerCase()), + function (e) { + var t; + do { + if ( + (t = S + ? e.lang + : e.getAttribute("xml:lang") || e.getAttribute("lang")) + ) + return ( + (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") + ); + } while ((e = e.parentNode) && 1 === e.nodeType); + return !1; + } + ); + }), + target: function (e) { + var t = n.location && n.location.hash; + return t && t.slice(1) === e.id; + }, + root: function (e) { + return e === a; + }, + focus: function (e) { + return ( + e === C.activeElement && + (!C.hasFocus || C.hasFocus()) && + !!(e.type || e.href || ~e.tabIndex) + ); + }, + enabled: ge(!1), + disabled: ge(!0), + checked: function (e) { + var t = e.nodeName.toLowerCase(); + return ( + ("input" === t && !!e.checked) || ("option" === t && !!e.selected) + ); + }, + selected: function (e) { + return ( + e.parentNode && e.parentNode.selectedIndex, !0 === e.selected + ); + }, + empty: function (e) { + for (e = e.firstChild; e; e = e.nextSibling) + if (e.nodeType < 6) return !1; + return !0; + }, + parent: function (e) { + return !b.pseudos.empty(e); + }, + header: function (e) { + return J.test(e.nodeName); + }, + input: function (e) { + return Q.test(e.nodeName); + }, + button: function (e) { + var t = e.nodeName.toLowerCase(); + return ("input" === t && "button" === e.type) || "button" === t; + }, + text: function (e) { + var t; + return ( + "input" === e.nodeName.toLowerCase() && + "text" === e.type && + (null == (t = e.getAttribute("type")) || + "text" === t.toLowerCase()) + ); + }, + first: ye(function () { + return [0]; + }), + last: ye(function (e, t) { + return [t - 1]; + }), + eq: ye(function (e, t, n) { + return [n < 0 ? n + t : n]; + }), + even: ye(function (e, t) { + for (var n = 0; n < t; n += 2) e.push(n); + return e; + }), + odd: ye(function (e, t) { + for (var n = 1; n < t; n += 2) e.push(n); + return e; + }), + lt: ye(function (e, t, n) { + for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r; ) e.push(r); + return e; + }), + gt: ye(function (e, t, n) { + for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r); + return e; + }), + }, + }).pseudos.nth = b.pseudos.eq), + { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })) + b.pseudos[e] = de(e); + for (e in { submit: !0, reset: !0 }) b.pseudos[e] = he(e); + function me() {} + function xe(e) { + for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; + return r; + } + function be(s, e, t) { + var u = e.dir, + l = e.next, + c = l || u, + f = t && "parentNode" === c, + p = r++; + return e.first + ? function (e, t, n) { + while ((e = e[u])) if (1 === e.nodeType || f) return s(e, t, n); + return !1; + } + : function (e, t, n) { + var r, + i, + o, + a = [k, p]; + if (n) { + while ((e = e[u])) + if ((1 === e.nodeType || f) && s(e, t, n)) return !0; + } else + while ((e = e[u])) + if (1 === e.nodeType || f) + if ( + ((i = + (o = e[E] || (e[E] = {}))[e.uniqueID] || + (o[e.uniqueID] = {})), + l && l === e.nodeName.toLowerCase()) + ) + e = e[u] || e; + else { + if ((r = i[c]) && r[0] === k && r[1] === p) + return (a[2] = r[2]); + if (((i[c] = a)[2] = s(e, t, n))) return !0; + } + return !1; + }; + } + function we(i) { + return 1 < i.length + ? function (e, t, n) { + var r = i.length; + while (r--) if (!i[r](e, t, n)) return !1; + return !0; + } + : i[0]; + } + function Te(e, t, n, r, i) { + for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++) + (o = e[s]) && ((n && !n(o, r, i)) || (a.push(o), l && t.push(s))); + return a; + } + function Ce(d, h, g, y, v, e) { + return ( + y && !y[E] && (y = Ce(y)), + v && !v[E] && (v = Ce(v, e)), + le(function (e, t, n, r) { + var i, + o, + a, + s = [], + u = [], + l = t.length, + c = + e || + (function (e, t, n) { + for (var r = 0, i = t.length; r < i; r++) se(e, t[r], n); + return n; + })(h || "*", n.nodeType ? [n] : n, []), + f = !d || (!e && h) ? c : Te(c, s, d, n, r), + p = g ? (v || (e ? d : l || y) ? [] : t) : f; + if ((g && g(f, p, n, r), y)) { + (i = Te(p, u)), y(i, [], n, r), (o = i.length); + while (o--) (a = i[o]) && (p[u[o]] = !(f[u[o]] = a)); + } + if (e) { + if (v || d) { + if (v) { + (i = []), (o = p.length); + while (o--) (a = p[o]) && i.push((f[o] = a)); + v(null, (p = []), i, r); + } + o = p.length; + while (o--) + (a = p[o]) && + -1 < (i = v ? P(e, a) : s[o]) && + (e[i] = !(t[i] = a)); + } + } else (p = Te(p === t ? p.splice(l, p.length) : p)), v ? v(null, t, p, r) : H.apply(t, p); + }) + ); + } + function Se(e) { + for ( + var i, + t, + n, + r = e.length, + o = b.relative[e[0].type], + a = o || b.relative[" "], + s = o ? 1 : 0, + u = be( + function (e) { + return e === i; + }, + a, + !0 + ), + l = be( + function (e) { + return -1 < P(i, e); + }, + a, + !0 + ), + c = [ + function (e, t, n) { + var r = + (!o && (n || t !== w)) || + ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); + return (i = null), r; + }, + ]; + s < r; + s++ + ) + if ((t = b.relative[e[s].type])) c = [be(we(c), t)]; + else { + if ((t = b.filter[e[s].type].apply(null, e[s].matches))[E]) { + for (n = ++s; n < r; n++) if (b.relative[e[n].type]) break; + return Ce( + 1 < s && we(c), + 1 < s && + xe( + e + .slice(0, s - 1) + .concat({ value: " " === e[s - 2].type ? "*" : "" }) + ).replace(B, "$1"), + t, + s < n && Se(e.slice(s, n)), + n < r && Se((e = e.slice(n))), + n < r && xe(e) + ); + } + c.push(t); + } + return we(c); + } + return ( + (me.prototype = b.filters = b.pseudos), + (b.setFilters = new me()), + (h = se.tokenize = + function (e, t) { + var n, + r, + i, + o, + a, + s, + u, + l = x[e + " "]; + if (l) return t ? 0 : l.slice(0); + (a = e), (s = []), (u = b.preFilter); + while (a) { + for (o in ((n && !(r = _.exec(a))) || + (r && (a = a.slice(r[0].length) || a), s.push((i = []))), + (n = !1), + (r = z.exec(a)) && + ((n = r.shift()), + i.push({ value: n, type: r[0].replace(B, " ") }), + (a = a.slice(n.length))), + b.filter)) + !(r = G[o].exec(a)) || + (u[o] && !(r = u[o](r))) || + ((n = r.shift()), + i.push({ value: n, type: o, matches: r }), + (a = a.slice(n.length))); + if (!n) break; + } + return t ? a.length : a ? se.error(e) : x(e, s).slice(0); + }), + (f = se.compile = + function (e, t) { + var n, + y, + v, + m, + x, + r, + i = [], + o = [], + a = A[e + " "]; + if (!a) { + t || (t = h(e)), (n = t.length); + while (n--) (a = Se(t[n]))[E] ? i.push(a) : o.push(a); + (a = A( + e, + ((y = o), + (m = 0 < (v = i).length), + (x = 0 < y.length), + (r = function (e, t, n, r, i) { + var o, + a, + s, + u = 0, + l = "0", + c = e && [], + f = [], + p = w, + d = e || (x && b.find.TAG("*", i)), + h = (k += null == p ? 1 : Math.random() || 0.1), + g = d.length; + for ( + i && (w = t == C || t || i); + l !== g && null != (o = d[l]); + l++ + ) { + if (x && o) { + (a = 0), t || o.ownerDocument == C || (T(o), (n = !S)); + while ((s = y[a++])) + if (s(o, t || C, n)) { + r.push(o); + break; + } + i && (k = h); + } + m && ((o = !s && o) && u--, e && c.push(o)); + } + if (((u += l), m && l !== u)) { + a = 0; + while ((s = v[a++])) s(c, f, t, n); + if (e) { + if (0 < u) while (l--) c[l] || f[l] || (f[l] = q.call(r)); + f = Te(f); + } + H.apply(r, f), + i && + !e && + 0 < f.length && + 1 < u + v.length && + se.uniqueSort(r); + } + return i && ((k = h), (w = p)), c; + }), + m ? le(r) : r) + )).selector = e; + } + return a; + }), + (g = se.select = + function (e, t, n, r) { + var i, + o, + a, + s, + u, + l = "function" == typeof e && e, + c = !r && h((e = l.selector || e)); + if (((n = n || []), 1 === c.length)) { + if ( + 2 < (o = c[0] = c[0].slice(0)).length && + "ID" === (a = o[0]).type && + 9 === t.nodeType && + S && + b.relative[o[1].type] + ) { + if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) + return n; + l && (t = t.parentNode), (e = e.slice(o.shift().value.length)); + } + i = G.needsContext.test(e) ? 0 : o.length; + while (i--) { + if (((a = o[i]), b.relative[(s = a.type)])) break; + if ( + (u = b.find[s]) && + (r = u( + a.matches[0].replace(te, ne), + (ee.test(o[0].type) && ve(t.parentNode)) || t + )) + ) { + if ((o.splice(i, 1), !(e = r.length && xe(o)))) + return H.apply(n, r), n; + break; + } + } + } + return ( + (l || f(e, c))( + r, + t, + !S, + n, + !t || (ee.test(e) && ve(t.parentNode)) || t + ), + n + ); + }), + (d.sortStable = E.split("").sort(j).join("") === E), + (d.detectDuplicates = !!l), + T(), + (d.sortDetached = ce(function (e) { + return 1 & e.compareDocumentPosition(C.createElement("fieldset")); + })), + ce(function (e) { + return ( + (e.innerHTML = ""), + "#" === e.firstChild.getAttribute("href") + ); + }) || + fe("type|href|height|width", function (e, t, n) { + if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2); + }), + (d.attributes && + ce(function (e) { + return ( + (e.innerHTML = ""), + e.firstChild.setAttribute("value", ""), + "" === e.firstChild.getAttribute("value") + ); + })) || + fe("value", function (e, t, n) { + if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue; + }), + ce(function (e) { + return null == e.getAttribute("disabled"); + }) || + fe(R, function (e, t, n) { + var r; + if (!n) + return !0 === e[t] + ? t.toLowerCase() + : (r = e.getAttributeNode(t)) && r.specified + ? r.value + : null; + }), + se + ); + })(C); + (E.find = d), + (E.expr = d.selectors), + (E.expr[":"] = E.expr.pseudos), + (E.uniqueSort = E.unique = d.uniqueSort), + (E.text = d.getText), + (E.isXMLDoc = d.isXML), + (E.contains = d.contains), + (E.escapeSelector = d.escape); + var h = function (e, t, n) { + var r = [], + i = void 0 !== n; + while ((e = e[t]) && 9 !== e.nodeType) + if (1 === e.nodeType) { + if (i && E(e).is(n)) break; + r.push(e); + } + return r; + }, + T = function (e, t) { + for (var n = []; e; e = e.nextSibling) + 1 === e.nodeType && e !== t && n.push(e); + return n; + }, + k = E.expr.match.needsContext; + function A(e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); + } + var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + function j(e, n, r) { + return m(n) + ? E.grep(e, function (e, t) { + return !!n.call(e, t, e) !== r; + }) + : n.nodeType + ? E.grep(e, function (e) { + return (e === n) !== r; + }) + : "string" != typeof n + ? E.grep(e, function (e) { + return -1 < i.call(n, e) !== r; + }) + : E.filter(n, e, r); + } + (E.filter = function (e, t, n) { + var r = t[0]; + return ( + n && (e = ":not(" + e + ")"), + 1 === t.length && 1 === r.nodeType + ? E.find.matchesSelector(r, e) + ? [r] + : [] + : E.find.matches( + e, + E.grep(t, function (e) { + return 1 === e.nodeType; + }) + ) + ); + }), + E.fn.extend({ + find: function (e) { + var t, + n, + r = this.length, + i = this; + if ("string" != typeof e) + return this.pushStack( + E(e).filter(function () { + for (t = 0; t < r; t++) if (E.contains(i[t], this)) return !0; + }) + ); + for (n = this.pushStack([]), t = 0; t < r; t++) E.find(e, i[t], n); + return 1 < r ? E.uniqueSort(n) : n; + }, + filter: function (e) { + return this.pushStack(j(this, e || [], !1)); + }, + not: function (e) { + return this.pushStack(j(this, e || [], !0)); + }, + is: function (e) { + return !!j(this, "string" == typeof e && k.test(e) ? E(e) : e || [], !1) + .length; + }, + }); + var D, + q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + ((E.fn.init = function (e, t, n) { + var r, i; + if (!e) return this; + if (((n = n || D), "string" == typeof e)) { + if ( + !(r = + "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length + ? [null, e, null] + : q.exec(e)) || + (!r[1] && t) + ) + return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); + if (r[1]) { + if ( + ((t = t instanceof E ? t[0] : t), + E.merge( + this, + E.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : S, !0) + ), + N.test(r[1]) && E.isPlainObject(t)) + ) + for (r in t) m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); + return this; + } + return ( + (i = S.getElementById(r[2])) && ((this[0] = i), (this.length = 1)), this + ); + } + return e.nodeType + ? ((this[0] = e), (this.length = 1), this) + : m(e) + ? void 0 !== n.ready + ? n.ready(e) + : e(E) + : E.makeArray(e, this); + }).prototype = E.fn), + (D = E(S)); + var L = /^(?:parents|prev(?:Until|All))/, + H = { children: !0, contents: !0, next: !0, prev: !0 }; + function O(e, t) { + while ((e = e[t]) && 1 !== e.nodeType); + return e; + } + E.fn.extend({ + has: function (e) { + var t = E(e, this), + n = t.length; + return this.filter(function () { + for (var e = 0; e < n; e++) if (E.contains(this, t[e])) return !0; + }); + }, + closest: function (e, t) { + var n, + r = 0, + i = this.length, + o = [], + a = "string" != typeof e && E(e); + if (!k.test(e)) + for (; r < i; r++) + for (n = this[r]; n && n !== t; n = n.parentNode) + if ( + n.nodeType < 11 && + (a + ? -1 < a.index(n) + : 1 === n.nodeType && E.find.matchesSelector(n, e)) + ) { + o.push(n); + break; + } + return this.pushStack(1 < o.length ? E.uniqueSort(o) : o); + }, + index: function (e) { + return e + ? "string" == typeof e + ? i.call(E(e), this[0]) + : i.call(this, e.jquery ? e[0] : e) + : this[0] && this[0].parentNode + ? this.first().prevAll().length + : -1; + }, + add: function (e, t) { + return this.pushStack(E.uniqueSort(E.merge(this.get(), E(e, t)))); + }, + addBack: function (e) { + return this.add(null == e ? this.prevObject : this.prevObject.filter(e)); + }, + }), + E.each( + { + parent: function (e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null; + }, + parents: function (e) { + return h(e, "parentNode"); + }, + parentsUntil: function (e, t, n) { + return h(e, "parentNode", n); + }, + next: function (e) { + return O(e, "nextSibling"); + }, + prev: function (e) { + return O(e, "previousSibling"); + }, + nextAll: function (e) { + return h(e, "nextSibling"); + }, + prevAll: function (e) { + return h(e, "previousSibling"); + }, + nextUntil: function (e, t, n) { + return h(e, "nextSibling", n); + }, + prevUntil: function (e, t, n) { + return h(e, "previousSibling", n); + }, + siblings: function (e) { + return T((e.parentNode || {}).firstChild, e); + }, + children: function (e) { + return T(e.firstChild); + }, + contents: function (e) { + return null != e.contentDocument && r(e.contentDocument) + ? e.contentDocument + : (A(e, "template") && (e = e.content || e), + E.merge([], e.childNodes)); + }, + }, + function (r, i) { + E.fn[r] = function (e, t) { + var n = E.map(this, i, e); + return ( + "Until" !== r.slice(-5) && (t = e), + t && "string" == typeof t && (n = E.filter(t, n)), + 1 < this.length && + (H[r] || E.uniqueSort(n), L.test(r) && n.reverse()), + this.pushStack(n) + ); + }; + } + ); + var P = /[^\x20\t\r\n\f]+/g; + function R(e) { + return e; + } + function M(e) { + throw e; + } + function I(e, t, n, r) { + var i; + try { + e && m((i = e.promise)) + ? i.call(e).done(t).fail(n) + : e && m((i = e.then)) + ? i.call(e, t, n) + : t.apply(void 0, [e].slice(r)); + } catch (e) { + n.apply(void 0, [e]); + } + } + (E.Callbacks = function (r) { + var e, n; + r = + "string" == typeof r + ? ((e = r), + (n = {}), + E.each(e.match(P) || [], function (e, t) { + n[t] = !0; + }), + n) + : E.extend({}, r); + var i, + t, + o, + a, + s = [], + u = [], + l = -1, + c = function () { + for (a = a || r.once, o = i = !0; u.length; l = -1) { + t = u.shift(); + while (++l < s.length) + !1 === s[l].apply(t[0], t[1]) && + r.stopOnFalse && + ((l = s.length), (t = !1)); + } + r.memory || (t = !1), (i = !1), a && (s = t ? [] : ""); + }, + f = { + add: function () { + return ( + s && + (t && !i && ((l = s.length - 1), u.push(t)), + (function n(e) { + E.each(e, function (e, t) { + m(t) + ? (r.unique && f.has(t)) || s.push(t) + : t && t.length && "string" !== w(t) && n(t); + }); + })(arguments), + t && !i && c()), + this + ); + }, + remove: function () { + return ( + E.each(arguments, function (e, t) { + var n; + while (-1 < (n = E.inArray(t, s, n))) + s.splice(n, 1), n <= l && l--; + }), + this + ); + }, + has: function (e) { + return e ? -1 < E.inArray(e, s) : 0 < s.length; + }, + empty: function () { + return s && (s = []), this; + }, + disable: function () { + return (a = u = []), (s = t = ""), this; + }, + disabled: function () { + return !s; + }, + lock: function () { + return (a = u = []), t || i || (s = t = ""), this; + }, + locked: function () { + return !!a; + }, + fireWith: function (e, t) { + return ( + a || + ((t = [e, (t = t || []).slice ? t.slice() : t]), + u.push(t), + i || c()), + this + ); + }, + fire: function () { + return f.fireWith(this, arguments), this; + }, + fired: function () { + return !!o; + }, + }; + return f; + }), + E.extend({ + Deferred: function (e) { + var o = [ + [ + "notify", + "progress", + E.Callbacks("memory"), + E.Callbacks("memory"), + 2, + ], + [ + "resolve", + "done", + E.Callbacks("once memory"), + E.Callbacks("once memory"), + 0, + "resolved", + ], + [ + "reject", + "fail", + E.Callbacks("once memory"), + E.Callbacks("once memory"), + 1, + "rejected", + ], + ], + i = "pending", + a = { + state: function () { + return i; + }, + always: function () { + return s.done(arguments).fail(arguments), this; + }, + catch: function (e) { + return a.then(null, e); + }, + pipe: function () { + var i = arguments; + return E.Deferred(function (r) { + E.each(o, function (e, t) { + var n = m(i[t[4]]) && i[t[4]]; + s[t[1]](function () { + var e = n && n.apply(this, arguments); + e && m(e.promise) + ? e + .promise() + .progress(r.notify) + .done(r.resolve) + .fail(r.reject) + : r[t[0] + "With"](this, n ? [e] : arguments); + }); + }), + (i = null); + }).promise(); + }, + then: function (t, n, r) { + var u = 0; + function l(i, o, a, s) { + return function () { + var n = this, + r = arguments, + e = function () { + var e, t; + if (!(i < u)) { + if ((e = a.apply(n, r)) === o.promise()) + throw new TypeError("Thenable self-resolution"); + (t = + e && + ("object" == typeof e || "function" == typeof e) && + e.then), + m(t) + ? s + ? t.call(e, l(u, o, R, s), l(u, o, M, s)) + : (u++, + t.call( + e, + l(u, o, R, s), + l(u, o, M, s), + l(u, o, R, o.notifyWith) + )) + : (a !== R && ((n = void 0), (r = [e])), + (s || o.resolveWith)(n, r)); + } + }, + t = s + ? e + : function () { + try { + e(); + } catch (e) { + E.Deferred.exceptionHook && + E.Deferred.exceptionHook(e, t.stackTrace), + u <= i + 1 && + (a !== M && ((n = void 0), (r = [e])), + o.rejectWith(n, r)); + } + }; + i + ? t() + : (E.Deferred.getStackHook && + (t.stackTrace = E.Deferred.getStackHook()), + C.setTimeout(t)); + }; + } + return E.Deferred(function (e) { + o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), + o[1][3].add(l(0, e, m(t) ? t : R)), + o[2][3].add(l(0, e, m(n) ? n : M)); + }).promise(); + }, + promise: function (e) { + return null != e ? E.extend(e, a) : a; + }, + }, + s = {}; + return ( + E.each(o, function (e, t) { + var n = t[2], + r = t[5]; + (a[t[1]] = n.add), + r && + n.add( + function () { + i = r; + }, + o[3 - e][2].disable, + o[3 - e][3].disable, + o[0][2].lock, + o[0][3].lock + ), + n.add(t[3].fire), + (s[t[0]] = function () { + return ( + s[t[0] + "With"](this === s ? void 0 : this, arguments), this + ); + }), + (s[t[0] + "With"] = n.fireWith); + }), + a.promise(s), + e && e.call(s, s), + s + ); + }, + when: function (e) { + var n = arguments.length, + t = n, + r = Array(t), + i = s.call(arguments), + o = E.Deferred(), + a = function (t) { + return function (e) { + (r[t] = this), + (i[t] = 1 < arguments.length ? s.call(arguments) : e), + --n || o.resolveWith(r, i); + }; + }; + if ( + n <= 1 && + (I(e, o.done(a(t)).resolve, o.reject, !n), + "pending" === o.state() || m(i[t] && i[t].then)) + ) + return o.then(); + while (t--) I(i[t], a(t), o.reject); + return o.promise(); + }, + }); + var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + (E.Deferred.exceptionHook = function (e, t) { + C.console && + C.console.warn && + e && + W.test(e.name) && + C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t); + }), + (E.readyException = function (e) { + C.setTimeout(function () { + throw e; + }); + }); + var F = E.Deferred(); + function $() { + S.removeEventListener("DOMContentLoaded", $), + C.removeEventListener("load", $), + E.ready(); + } + (E.fn.ready = function (e) { + return ( + F.then(e)["catch"](function (e) { + E.readyException(e); + }), + this + ); + }), + E.extend({ + isReady: !1, + readyWait: 1, + ready: function (e) { + (!0 === e ? --E.readyWait : E.isReady) || + ((E.isReady = !0) !== e && 0 < --E.readyWait) || + F.resolveWith(S, [E]); + }, + }), + (E.ready.then = F.then), + "complete" === S.readyState || + ("loading" !== S.readyState && !S.documentElement.doScroll) + ? C.setTimeout(E.ready) + : (S.addEventListener("DOMContentLoaded", $), + C.addEventListener("load", $)); + var B = function (e, t, n, r, i, o, a) { + var s = 0, + u = e.length, + l = null == n; + if ("object" === w(n)) + for (s in ((i = !0), n)) B(e, t, s, n[s], !0, o, a); + else if ( + void 0 !== r && + ((i = !0), + m(r) || (a = !0), + l && + (a + ? (t.call(e, r), (t = null)) + : ((l = t), + (t = function (e, t, n) { + return l.call(E(e), n); + }))), + t) + ) + for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); + return i ? e : l ? t.call(e) : u ? t(e[0], n) : o; + }, + _ = /^-ms-/, + z = /-([a-z])/g; + function U(e, t) { + return t.toUpperCase(); + } + function X(e) { + return e.replace(_, "ms-").replace(z, U); + } + var V = function (e) { + return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; + }; + function G() { + this.expando = E.expando + G.uid++; + } + (G.uid = 1), + (G.prototype = { + cache: function (e) { + var t = e[this.expando]; + return ( + t || + ((t = {}), + V(e) && + (e.nodeType + ? (e[this.expando] = t) + : Object.defineProperty(e, this.expando, { + value: t, + configurable: !0, + }))), + t + ); + }, + set: function (e, t, n) { + var r, + i = this.cache(e); + if ("string" == typeof t) i[X(t)] = n; + else for (r in t) i[X(r)] = t[r]; + return i; + }, + get: function (e, t) { + return void 0 === t + ? this.cache(e) + : e[this.expando] && e[this.expando][X(t)]; + }, + access: function (e, t, n) { + return void 0 === t || (t && "string" == typeof t && void 0 === n) + ? this.get(e, t) + : (this.set(e, t, n), void 0 !== n ? n : t); + }, + remove: function (e, t) { + var n, + r = e[this.expando]; + if (void 0 !== r) { + if (void 0 !== t) { + n = (t = Array.isArray(t) + ? t.map(X) + : (t = X(t)) in r + ? [t] + : t.match(P) || []).length; + while (n--) delete r[t[n]]; + } + (void 0 === t || E.isEmptyObject(r)) && + (e.nodeType ? (e[this.expando] = void 0) : delete e[this.expando]); + } + }, + hasData: function (e) { + var t = e[this.expando]; + return void 0 !== t && !E.isEmptyObject(t); + }, + }); + var Y = new G(), + Q = new G(), + J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + K = /[A-Z]/g; + function Z(e, t, n) { + var r, i; + if (void 0 === n && 1 === e.nodeType) + if ( + ((r = "data-" + t.replace(K, "-$&").toLowerCase()), + "string" == typeof (n = e.getAttribute(r))) + ) { + try { + n = + "true" === (i = n) || + ("false" !== i && + ("null" === i + ? null + : i === +i + "" + ? +i + : J.test(i) + ? JSON.parse(i) + : i)); + } catch (e) {} + Q.set(e, t, n); + } else n = void 0; + return n; + } + E.extend({ + hasData: function (e) { + return Q.hasData(e) || Y.hasData(e); + }, + data: function (e, t, n) { + return Q.access(e, t, n); + }, + removeData: function (e, t) { + Q.remove(e, t); + }, + _data: function (e, t, n) { + return Y.access(e, t, n); + }, + _removeData: function (e, t) { + Y.remove(e, t); + }, + }), + E.fn.extend({ + data: function (n, e) { + var t, + r, + i, + o = this[0], + a = o && o.attributes; + if (void 0 === n) { + if ( + this.length && + ((i = Q.get(o)), 1 === o.nodeType && !Y.get(o, "hasDataAttrs")) + ) { + t = a.length; + while (t--) + a[t] && + 0 === (r = a[t].name).indexOf("data-") && + ((r = X(r.slice(5))), Z(o, r, i[r])); + Y.set(o, "hasDataAttrs", !0); + } + return i; + } + return "object" == typeof n + ? this.each(function () { + Q.set(this, n); + }) + : B( + this, + function (e) { + var t; + if (o && void 0 === e) + return void 0 !== (t = Q.get(o, n)) + ? t + : void 0 !== (t = Z(o, n)) + ? t + : void 0; + this.each(function () { + Q.set(this, n, e); + }); + }, + null, + e, + 1 < arguments.length, + null, + !0 + ); + }, + removeData: function (e) { + return this.each(function () { + Q.remove(this, e); + }); + }, + }), + E.extend({ + queue: function (e, t, n) { + var r; + if (e) + return ( + (t = (t || "fx") + "queue"), + (r = Y.get(e, t)), + n && + (!r || Array.isArray(n) + ? (r = Y.access(e, t, E.makeArray(n))) + : r.push(n)), + r || [] + ); + }, + dequeue: function (e, t) { + t = t || "fx"; + var n = E.queue(e, t), + r = n.length, + i = n.shift(), + o = E._queueHooks(e, t); + "inprogress" === i && ((i = n.shift()), r--), + i && + ("fx" === t && n.unshift("inprogress"), + delete o.stop, + i.call( + e, + function () { + E.dequeue(e, t); + }, + o + )), + !r && o && o.empty.fire(); + }, + _queueHooks: function (e, t) { + var n = t + "queueHooks"; + return ( + Y.get(e, n) || + Y.access(e, n, { + empty: E.Callbacks("once memory").add(function () { + Y.remove(e, [t + "queue", n]); + }), + }) + ); + }, + }), + E.fn.extend({ + queue: function (t, n) { + var e = 2; + return ( + "string" != typeof t && ((n = t), (t = "fx"), e--), + arguments.length < e + ? E.queue(this[0], t) + : void 0 === n + ? this + : this.each(function () { + var e = E.queue(this, t, n); + E._queueHooks(this, t), + "fx" === t && "inprogress" !== e[0] && E.dequeue(this, t); + }) + ); + }, + dequeue: function (e) { + return this.each(function () { + E.dequeue(this, e); + }); + }, + clearQueue: function (e) { + return this.queue(e || "fx", []); + }, + promise: function (e, t) { + var n, + r = 1, + i = E.Deferred(), + o = this, + a = this.length, + s = function () { + --r || i.resolveWith(o, [o]); + }; + "string" != typeof e && ((t = e), (e = void 0)), (e = e || "fx"); + while (a--) + (n = Y.get(o[a], e + "queueHooks")) && + n.empty && + (r++, n.empty.add(s)); + return s(), i.promise(t); + }, + }); + var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), + ne = ["Top", "Right", "Bottom", "Left"], + re = S.documentElement, + ie = function (e) { + return E.contains(e.ownerDocument, e); + }, + oe = { composed: !0 }; + re.getRootNode && + (ie = function (e) { + return ( + E.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument + ); + }); + var ae = function (e, t) { + return ( + "none" === (e = t || e).style.display || + ("" === e.style.display && ie(e) && "none" === E.css(e, "display")) + ); + }; + function se(e, t, n, r) { + var i, + o, + a = 20, + s = r + ? function () { + return r.cur(); + } + : function () { + return E.css(e, t, ""); + }, + u = s(), + l = (n && n[3]) || (E.cssNumber[t] ? "" : "px"), + c = + e.nodeType && + (E.cssNumber[t] || ("px" !== l && +u)) && + te.exec(E.css(e, t)); + if (c && c[3] !== l) { + (u /= 2), (l = l || c[3]), (c = +u || 1); + while (a--) + E.style(e, t, c + l), + (1 - o) * (1 - (o = s() / u || 0.5)) <= 0 && (a = 0), + (c /= o); + (c *= 2), E.style(e, t, c + l), (n = n || []); + } + return ( + n && + ((c = +c || +u || 0), + (i = n[1] ? c + (n[1] + 1) * n[2] : +n[2]), + r && ((r.unit = l), (r.start = c), (r.end = i))), + i + ); + } + var ue = {}; + function le(e, t) { + for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++) + (r = e[c]).style && + ((n = r.style.display), + t + ? ("none" === n && + ((l[c] = Y.get(r, "display") || null), + l[c] || (r.style.display = "")), + "" === r.style.display && + ae(r) && + (l[c] = + ((u = a = o = void 0), + (a = (i = r).ownerDocument), + (s = i.nodeName), + (u = ue[s]) || + ((o = a.body.appendChild(a.createElement(s))), + (u = E.css(o, "display")), + o.parentNode.removeChild(o), + "none" === u && (u = "block"), + (ue[s] = u))))) + : "none" !== n && ((l[c] = "none"), Y.set(r, "display", n))); + for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]); + return e; + } + E.fn.extend({ + show: function () { + return le(this, !0); + }, + hide: function () { + return le(this); + }, + toggle: function (e) { + return "boolean" == typeof e + ? e + ? this.show() + : this.hide() + : this.each(function () { + ae(this) ? E(this).show() : E(this).hide(); + }); + }, + }); + var ce, + fe, + pe = /^(?:checkbox|radio)$/i, + de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, + he = /^$|^module$|\/(?:java|ecma)script/i; + (ce = S.createDocumentFragment().appendChild(S.createElement("div"))), + (fe = S.createElement("input")).setAttribute("type", "radio"), + fe.setAttribute("checked", "checked"), + fe.setAttribute("name", "t"), + ce.appendChild(fe), + (v.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked), + (ce.innerHTML = ""), + (v.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue), + (ce.innerHTML = ""), + (v.option = !!ce.lastChild); + var ge = { + thead: [1, "", "
"], + col: [2, "", "
"], + tr: [2, "", "
"], + td: [3, "", "
"], + _default: [0, "", ""], + }; + function ye(e, t) { + var n; + return ( + (n = + "undefined" != typeof e.getElementsByTagName + ? e.getElementsByTagName(t || "*") + : "undefined" != typeof e.querySelectorAll + ? e.querySelectorAll(t || "*") + : []), + void 0 === t || (t && A(e, t)) ? E.merge([e], n) : n + ); + } + function ve(e, t) { + for (var n = 0, r = e.length; n < r; n++) + Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")); + } + (ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead), + (ge.th = ge.td), + v.option || + (ge.optgroup = ge.option = + [1, ""]); + var me = /<|&#?\w+;/; + function xe(e, t, n, r, i) { + for ( + var o, + a, + s, + u, + l, + c, + f = t.createDocumentFragment(), + p = [], + d = 0, + h = e.length; + d < h; + d++ + ) + if ((o = e[d]) || 0 === o) + if ("object" === w(o)) E.merge(p, o.nodeType ? [o] : o); + else if (me.test(o)) { + (a = a || f.appendChild(t.createElement("div"))), + (s = (de.exec(o) || ["", ""])[1].toLowerCase()), + (u = ge[s] || ge._default), + (a.innerHTML = u[1] + E.htmlPrefilter(o) + u[2]), + (c = u[0]); + while (c--) a = a.lastChild; + E.merge(p, a.childNodes), ((a = f.firstChild).textContent = ""); + } else p.push(t.createTextNode(o)); + (f.textContent = ""), (d = 0); + while ((o = p[d++])) + if (r && -1 < E.inArray(o, r)) i && i.push(o); + else if ( + ((l = ie(o)), (a = ye(f.appendChild(o), "script")), l && ve(a), n) + ) { + c = 0; + while ((o = a[c++])) he.test(o.type || "") && n.push(o); + } + return f; + } + var be = /^([^.]*)(?:\.(.+)|)/; + function we() { + return !0; + } + function Te() { + return !1; + } + function Ce(e, t) { + return ( + (e === + (function () { + try { + return S.activeElement; + } catch (e) {} + })()) == + ("focus" === t) + ); + } + function Se(e, t, n, r, i, o) { + var a, s; + if ("object" == typeof t) { + for (s in ("string" != typeof n && ((r = r || n), (n = void 0)), t)) + Se(e, s, n, r, t[s], o); + return e; + } + if ( + (null == r && null == i + ? ((i = n), (r = n = void 0)) + : null == i && + ("string" == typeof n + ? ((i = r), (r = void 0)) + : ((i = r), (r = n), (n = void 0))), + !1 === i) + ) + i = Te; + else if (!i) return e; + return ( + 1 === o && + ((a = i), + ((i = function (e) { + return E().off(e), a.apply(this, arguments); + }).guid = a.guid || (a.guid = E.guid++))), + e.each(function () { + E.event.add(this, t, i, r, n); + }) + ); + } + function Ee(e, i, o) { + o + ? (Y.set(e, i, !1), + E.event.add(e, i, { + namespace: !1, + handler: function (e) { + var t, + n, + r = Y.get(this, i); + if (1 & e.isTrigger && this[i]) { + if (r.length) + (E.event.special[i] || {}).delegateType && e.stopPropagation(); + else if ( + ((r = s.call(arguments)), + Y.set(this, i, r), + (t = o(this, i)), + this[i](), + r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : (n = {}), + r !== n) + ) + return ( + e.stopImmediatePropagation(), e.preventDefault(), n && n.value + ); + } else + r.length && + (Y.set(this, i, { + value: E.event.trigger( + E.extend(r[0], E.Event.prototype), + r.slice(1), + this + ), + }), + e.stopImmediatePropagation()); + }, + })) + : void 0 === Y.get(e, i) && E.event.add(e, i, we); + } + (E.event = { + global: {}, + add: function (t, e, n, r, i) { + var o, + a, + s, + u, + l, + c, + f, + p, + d, + h, + g, + y = Y.get(t); + if (V(t)) { + n.handler && ((n = (o = n).handler), (i = o.selector)), + i && E.find.matchesSelector(re, i), + n.guid || (n.guid = E.guid++), + (u = y.events) || (u = y.events = Object.create(null)), + (a = y.handle) || + (a = y.handle = + function (e) { + return "undefined" != typeof E && E.event.triggered !== e.type + ? E.event.dispatch.apply(t, arguments) + : void 0; + }), + (l = (e = (e || "").match(P) || [""]).length); + while (l--) + (d = g = (s = be.exec(e[l]) || [])[1]), + (h = (s[2] || "").split(".").sort()), + d && + ((f = E.event.special[d] || {}), + (d = (i ? f.delegateType : f.bindType) || d), + (f = E.event.special[d] || {}), + (c = E.extend( + { + type: d, + origType: g, + data: r, + handler: n, + guid: n.guid, + selector: i, + needsContext: i && E.expr.match.needsContext.test(i), + namespace: h.join("."), + }, + o + )), + (p = u[d]) || + (((p = u[d] = []).delegateCount = 0), + (f.setup && !1 !== f.setup.call(t, r, h, a)) || + (t.addEventListener && t.addEventListener(d, a))), + f.add && + (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), + i ? p.splice(p.delegateCount++, 0, c) : p.push(c), + (E.event.global[d] = !0)); + } + }, + remove: function (e, t, n, r, i) { + var o, + a, + s, + u, + l, + c, + f, + p, + d, + h, + g, + y = Y.hasData(e) && Y.get(e); + if (y && (u = y.events)) { + l = (t = (t || "").match(P) || [""]).length; + while (l--) + if ( + ((d = g = (s = be.exec(t[l]) || [])[1]), + (h = (s[2] || "").split(".").sort()), + d) + ) { + (f = E.event.special[d] || {}), + (p = u[(d = (r ? f.delegateType : f.bindType) || d)] || []), + (s = + s[2] && + new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)")), + (a = o = p.length); + while (o--) + (c = p[o]), + (!i && g !== c.origType) || + (n && n.guid !== c.guid) || + (s && !s.test(c.namespace)) || + (r && r !== c.selector && ("**" !== r || !c.selector)) || + (p.splice(o, 1), + c.selector && p.delegateCount--, + f.remove && f.remove.call(e, c)); + a && + !p.length && + ((f.teardown && !1 !== f.teardown.call(e, h, y.handle)) || + E.removeEvent(e, d, y.handle), + delete u[d]); + } else for (d in u) E.event.remove(e, d + t[l], n, r, !0); + E.isEmptyObject(u) && Y.remove(e, "handle events"); + } + }, + dispatch: function (e) { + var t, + n, + r, + i, + o, + a, + s = new Array(arguments.length), + u = E.event.fix(e), + l = (Y.get(this, "events") || Object.create(null))[u.type] || [], + c = E.event.special[u.type] || {}; + for (s[0] = u, t = 1; t < arguments.length; t++) s[t] = arguments[t]; + if ( + ((u.delegateTarget = this), + !c.preDispatch || !1 !== c.preDispatch.call(this, u)) + ) { + (a = E.event.handlers.call(this, u, l)), (t = 0); + while ((i = a[t++]) && !u.isPropagationStopped()) { + (u.currentTarget = i.elem), (n = 0); + while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) + (u.rnamespace && + !1 !== o.namespace && + !u.rnamespace.test(o.namespace)) || + ((u.handleObj = o), + (u.data = o.data), + void 0 !== + (r = ( + (E.event.special[o.origType] || {}).handle || o.handler + ).apply(i.elem, s)) && + !1 === (u.result = r) && + (u.preventDefault(), u.stopPropagation())); + } + return c.postDispatch && c.postDispatch.call(this, u), u.result; + } + }, + handlers: function (e, t) { + var n, + r, + i, + o, + a, + s = [], + u = t.delegateCount, + l = e.target; + if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) + for (; l !== this; l = l.parentNode || this) + if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { + for (o = [], a = {}, n = 0; n < u; n++) + void 0 === a[(i = (r = t[n]).selector + " ")] && + (a[i] = r.needsContext + ? -1 < E(i, this).index(l) + : E.find(i, this, null, [l]).length), + a[i] && o.push(r); + o.length && s.push({ elem: l, handlers: o }); + } + return ( + (l = this), u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s + ); + }, + addProp: function (t, e) { + Object.defineProperty(E.Event.prototype, t, { + enumerable: !0, + configurable: !0, + get: m(e) + ? function () { + if (this.originalEvent) return e(this.originalEvent); + } + : function () { + if (this.originalEvent) return this.originalEvent[t]; + }, + set: function (e) { + Object.defineProperty(this, t, { + enumerable: !0, + configurable: !0, + writable: !0, + value: e, + }); + }, + }); + }, + fix: function (e) { + return e[E.expando] ? e : new E.Event(e); + }, + special: { + load: { noBubble: !0 }, + click: { + setup: function (e) { + var t = this || e; + return ( + pe.test(t.type) && t.click && A(t, "input") && Ee(t, "click", we), + !1 + ); + }, + trigger: function (e) { + var t = this || e; + return ( + pe.test(t.type) && t.click && A(t, "input") && Ee(t, "click"), !0 + ); + }, + _default: function (e) { + var t = e.target; + return ( + (pe.test(t.type) && + t.click && + A(t, "input") && + Y.get(t, "click")) || + A(t, "a") + ); + }, + }, + beforeunload: { + postDispatch: function (e) { + void 0 !== e.result && + e.originalEvent && + (e.originalEvent.returnValue = e.result); + }, + }, + }, + }), + (E.removeEvent = function (e, t, n) { + e.removeEventListener && e.removeEventListener(t, n); + }), + (E.Event = function (e, t) { + if (!(this instanceof E.Event)) return new E.Event(e, t); + e && e.type + ? ((this.originalEvent = e), + (this.type = e.type), + (this.isDefaultPrevented = + e.defaultPrevented || + (void 0 === e.defaultPrevented && !1 === e.returnValue) + ? we + : Te), + (this.target = + e.target && 3 === e.target.nodeType + ? e.target.parentNode + : e.target), + (this.currentTarget = e.currentTarget), + (this.relatedTarget = e.relatedTarget)) + : (this.type = e), + t && E.extend(this, t), + (this.timeStamp = (e && e.timeStamp) || Date.now()), + (this[E.expando] = !0); + }), + (E.Event.prototype = { + constructor: E.Event, + isDefaultPrevented: Te, + isPropagationStopped: Te, + isImmediatePropagationStopped: Te, + isSimulated: !1, + preventDefault: function () { + var e = this.originalEvent; + (this.isDefaultPrevented = we), + e && !this.isSimulated && e.preventDefault(); + }, + stopPropagation: function () { + var e = this.originalEvent; + (this.isPropagationStopped = we), + e && !this.isSimulated && e.stopPropagation(); + }, + stopImmediatePropagation: function () { + var e = this.originalEvent; + (this.isImmediatePropagationStopped = we), + e && !this.isSimulated && e.stopImmediatePropagation(), + this.stopPropagation(); + }, + }), + E.each( + { + altKey: !0, + bubbles: !0, + cancelable: !0, + changedTouches: !0, + ctrlKey: !0, + detail: !0, + eventPhase: !0, + metaKey: !0, + pageX: !0, + pageY: !0, + shiftKey: !0, + view: !0, + char: !0, + code: !0, + charCode: !0, + key: !0, + keyCode: !0, + button: !0, + buttons: !0, + clientX: !0, + clientY: !0, + offsetX: !0, + offsetY: !0, + pointerId: !0, + pointerType: !0, + screenX: !0, + screenY: !0, + targetTouches: !0, + toElement: !0, + touches: !0, + which: !0, + }, + E.event.addProp + ), + E.each({ focus: "focusin", blur: "focusout" }, function (t, e) { + E.event.special[t] = { + setup: function () { + return Ee(this, t, Ce), !1; + }, + trigger: function () { + return Ee(this, t), !0; + }, + _default: function (e) { + return Y.get(e.target, t); + }, + delegateType: e, + }; + }), + E.each( + { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout", + }, + function (e, i) { + E.event.special[e] = { + delegateType: i, + bindType: i, + handle: function (e) { + var t, + n = e.relatedTarget, + r = e.handleObj; + return ( + (n && (n === this || E.contains(this, n))) || + ((e.type = r.origType), + (t = r.handler.apply(this, arguments)), + (e.type = i)), + t + ); + }, + }; + } + ), + E.fn.extend({ + on: function (e, t, n, r) { + return Se(this, e, t, n, r); + }, + one: function (e, t, n, r) { + return Se(this, e, t, n, r, 1); + }, + off: function (e, t, n) { + var r, i; + if (e && e.preventDefault && e.handleObj) + return ( + (r = e.handleObj), + E(e.delegateTarget).off( + r.namespace ? r.origType + "." + r.namespace : r.origType, + r.selector, + r.handler + ), + this + ); + if ("object" == typeof e) { + for (i in e) this.off(i, t, e[i]); + return this; + } + return ( + (!1 !== t && "function" != typeof t) || ((n = t), (t = void 0)), + !1 === n && (n = Te), + this.each(function () { + E.event.remove(this, e, n, t); + }) + ); + }, + }); + var ke = /\s*$/g; + function je(e, t) { + return ( + (A(e, "table") && + A(11 !== t.nodeType ? t : t.firstChild, "tr") && + E(e).children("tbody")[0]) || + e + ); + } + function De(e) { + return (e.type = (null !== e.getAttribute("type")) + "/" + e.type), e; + } + function qe(e) { + return ( + "true/" === (e.type || "").slice(0, 5) + ? (e.type = e.type.slice(5)) + : e.removeAttribute("type"), + e + ); + } + function Le(e, t) { + var n, r, i, o, a, s; + if (1 === t.nodeType) { + if (Y.hasData(e) && (s = Y.get(e).events)) + for (i in (Y.remove(t, "handle events"), s)) + for (n = 0, r = s[i].length; n < r; n++) E.event.add(t, i, s[i][n]); + Q.hasData(e) && ((o = Q.access(e)), (a = E.extend({}, o)), Q.set(t, a)); + } + } + function He(n, r, i, o) { + r = g(r); + var e, + t, + a, + s, + u, + l, + c = 0, + f = n.length, + p = f - 1, + d = r[0], + h = m(d); + if (h || (1 < f && "string" == typeof d && !v.checkClone && Ae.test(d))) + return n.each(function (e) { + var t = n.eq(e); + h && (r[0] = d.call(this, e, t.html())), He(t, r, i, o); + }); + if ( + f && + ((t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild), + 1 === e.childNodes.length && (e = t), + t || o) + ) { + for (s = (a = E.map(ye(e, "script"), De)).length; c < f; c++) + (u = e), + c !== p && + ((u = E.clone(u, !0, !0)), s && E.merge(a, ye(u, "script"))), + i.call(n[c], u, c); + if (s) + for (l = a[a.length - 1].ownerDocument, E.map(a, qe), c = 0; c < s; c++) + (u = a[c]), + he.test(u.type || "") && + !Y.access(u, "globalEval") && + E.contains(l, u) && + (u.src && "module" !== (u.type || "").toLowerCase() + ? E._evalUrl && + !u.noModule && + E._evalUrl( + u.src, + { nonce: u.nonce || u.getAttribute("nonce") }, + l + ) + : b(u.textContent.replace(Ne, ""), u, l)); + } + return n; + } + function Oe(e, t, n) { + for (var r, i = t ? E.filter(t, e) : e, o = 0; null != (r = i[o]); o++) + n || 1 !== r.nodeType || E.cleanData(ye(r)), + r.parentNode && + (n && ie(r) && ve(ye(r, "script")), r.parentNode.removeChild(r)); + return e; + } + E.extend({ + htmlPrefilter: function (e) { + return e; + }, + clone: function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l, + c = e.cloneNode(!0), + f = ie(e); + if ( + !( + v.noCloneChecked || + (1 !== e.nodeType && 11 !== e.nodeType) || + E.isXMLDoc(e) + ) + ) + for (a = ye(c), r = 0, i = (o = ye(e)).length; r < i; r++) + (s = o[r]), + (u = a[r]), + void 0, + "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) + ? (u.checked = s.checked) + : ("input" !== l && "textarea" !== l) || + (u.defaultValue = s.defaultValue); + if (t) + if (n) + for (o = o || ye(e), a = a || ye(c), r = 0, i = o.length; r < i; r++) + Le(o[r], a[r]); + else Le(e, c); + return ( + 0 < (a = ye(c, "script")).length && ve(a, !f && ye(e, "script")), c + ); + }, + cleanData: function (e) { + for (var t, n, r, i = E.event.special, o = 0; void 0 !== (n = e[o]); o++) + if (V(n)) { + if ((t = n[Y.expando])) { + if (t.events) + for (r in t.events) + i[r] ? E.event.remove(n, r) : E.removeEvent(n, r, t.handle); + n[Y.expando] = void 0; + } + n[Q.expando] && (n[Q.expando] = void 0); + } + }, + }), + E.fn.extend({ + detach: function (e) { + return Oe(this, e, !0); + }, + remove: function (e) { + return Oe(this, e); + }, + text: function (e) { + return B( + this, + function (e) { + return void 0 === e + ? E.text(this) + : this.empty().each(function () { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + (this.textContent = e); + }); + }, + null, + e, + arguments.length + ); + }, + append: function () { + return He(this, arguments, function (e) { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + je(this, e).appendChild(e); + }); + }, + prepend: function () { + return He(this, arguments, function (e) { + if ( + 1 === this.nodeType || + 11 === this.nodeType || + 9 === this.nodeType + ) { + var t = je(this, e); + t.insertBefore(e, t.firstChild); + } + }); + }, + before: function () { + return He(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this); + }); + }, + after: function () { + return He(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this.nextSibling); + }); + }, + empty: function () { + for (var e, t = 0; null != (e = this[t]); t++) + 1 === e.nodeType && (E.cleanData(ye(e, !1)), (e.textContent = "")); + return this; + }, + clone: function (e, t) { + return ( + (e = null != e && e), + (t = null == t ? e : t), + this.map(function () { + return E.clone(this, e, t); + }) + ); + }, + html: function (e) { + return B( + this, + function (e) { + var t = this[0] || {}, + n = 0, + r = this.length; + if (void 0 === e && 1 === t.nodeType) return t.innerHTML; + if ( + "string" == typeof e && + !ke.test(e) && + !ge[(de.exec(e) || ["", ""])[1].toLowerCase()] + ) { + e = E.htmlPrefilter(e); + try { + for (; n < r; n++) + 1 === (t = this[n] || {}).nodeType && + (E.cleanData(ye(t, !1)), (t.innerHTML = e)); + t = 0; + } catch (e) {} + } + t && this.empty().append(e); + }, + null, + e, + arguments.length + ); + }, + replaceWith: function () { + var n = []; + return He( + this, + arguments, + function (e) { + var t = this.parentNode; + E.inArray(this, n) < 0 && + (E.cleanData(ye(this)), t && t.replaceChild(e, this)); + }, + n + ); + }, + }), + E.each( + { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith", + }, + function (e, a) { + E.fn[e] = function (e) { + for (var t, n = [], r = E(e), i = r.length - 1, o = 0; o <= i; o++) + (t = o === i ? this : this.clone(!0)), + E(r[o])[a](t), + u.apply(n, t.get()); + return this.pushStack(n); + }; + } + ); + var Pe = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), + Re = /^--/, + Me = function (e) { + var t = e.ownerDocument.defaultView; + return (t && t.opener) || (t = C), t.getComputedStyle(e); + }, + Ie = function (e, t, n) { + var r, + i, + o = {}; + for (i in t) (o[i] = e.style[i]), (e.style[i] = t[i]); + for (i in ((r = n.call(e)), t)) e.style[i] = o[i]; + return r; + }, + We = new RegExp(ne.join("|"), "i"), + Fe = "[\\x20\\t\\r\\n\\f]", + $e = new RegExp("^" + Fe + "+|((?:^|[^\\\\])(?:\\\\.)*)" + Fe + "+$", "g"); + function Be(e, t, n) { + var r, + i, + o, + a, + s = Re.test(t), + u = e.style; + return ( + (n = n || Me(e)) && + ((a = n.getPropertyValue(t) || n[t]), + s && a && (a = a.replace($e, "$1") || void 0), + "" !== a || ie(e) || (a = E.style(e, t)), + !v.pixelBoxStyles() && + Pe.test(a) && + We.test(t) && + ((r = u.width), + (i = u.minWidth), + (o = u.maxWidth), + (u.minWidth = u.maxWidth = u.width = a), + (a = n.width), + (u.width = r), + (u.minWidth = i), + (u.maxWidth = o))), + void 0 !== a ? a + "" : a + ); + } + function _e(e, t) { + return { + get: function () { + if (!e()) return (this.get = t).apply(this, arguments); + delete this.get; + }, + }; + } + !(function () { + function e() { + if (l) { + (u.style.cssText = + "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"), + (l.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"), + re.appendChild(u).appendChild(l); + var e = C.getComputedStyle(l); + (n = "1%" !== e.top), + (s = 12 === t(e.marginLeft)), + (l.style.right = "60%"), + (o = 36 === t(e.right)), + (r = 36 === t(e.width)), + (l.style.position = "absolute"), + (i = 12 === t(l.offsetWidth / 3)), + re.removeChild(u), + (l = null); + } + } + function t(e) { + return Math.round(parseFloat(e)); + } + var n, + r, + i, + o, + a, + s, + u = S.createElement("div"), + l = S.createElement("div"); + l.style && + ((l.style.backgroundClip = "content-box"), + (l.cloneNode(!0).style.backgroundClip = ""), + (v.clearCloneStyle = "content-box" === l.style.backgroundClip), + E.extend(v, { + boxSizingReliable: function () { + return e(), r; + }, + pixelBoxStyles: function () { + return e(), o; + }, + pixelPosition: function () { + return e(), n; + }, + reliableMarginLeft: function () { + return e(), s; + }, + scrollboxSize: function () { + return e(), i; + }, + reliableTrDimensions: function () { + var e, t, n, r; + return ( + null == a && + ((e = S.createElement("table")), + (t = S.createElement("tr")), + (n = S.createElement("div")), + (e.style.cssText = + "position:absolute;left:-11111px;border-collapse:separate"), + (t.style.cssText = "border:1px solid"), + (t.style.height = "1px"), + (n.style.height = "9px"), + (n.style.display = "block"), + re.appendChild(e).appendChild(t).appendChild(n), + (r = C.getComputedStyle(t)), + (a = + parseInt(r.height, 10) + + parseInt(r.borderTopWidth, 10) + + parseInt(r.borderBottomWidth, 10) === + t.offsetHeight), + re.removeChild(e)), + a + ); + }, + })); + })(); + var ze = ["Webkit", "Moz", "ms"], + Ue = S.createElement("div").style, + Xe = {}; + function Ve(e) { + var t = E.cssProps[e] || Xe[e]; + return ( + t || + (e in Ue + ? e + : (Xe[e] = + (function (e) { + var t = e[0].toUpperCase() + e.slice(1), + n = ze.length; + while (n--) if ((e = ze[n] + t) in Ue) return e; + })(e) || e)) + ); + } + var Ge = /^(none|table(?!-c[ea]).+)/, + Ye = { position: "absolute", visibility: "hidden", display: "block" }, + Qe = { letterSpacing: "0", fontWeight: "400" }; + function Je(e, t, n) { + var r = te.exec(t); + return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t; + } + function Ke(e, t, n, r, i, o) { + var a = "width" === t ? 1 : 0, + s = 0, + u = 0; + if (n === (r ? "border" : "content")) return 0; + for (; a < 4; a += 2) + "margin" === n && (u += E.css(e, n + ne[a], !0, i)), + r + ? ("content" === n && (u -= E.css(e, "padding" + ne[a], !0, i)), + "margin" !== n && + (u -= E.css(e, "border" + ne[a] + "Width", !0, i))) + : ((u += E.css(e, "padding" + ne[a], !0, i)), + "padding" !== n + ? (u += E.css(e, "border" + ne[a] + "Width", !0, i)) + : (s += E.css(e, "border" + ne[a] + "Width", !0, i))); + return ( + !r && + 0 <= o && + (u += + Math.max( + 0, + Math.ceil( + e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - 0.5 + ) + ) || 0), + u + ); + } + function Ze(e, t, n) { + var r = Me(e), + i = + (!v.boxSizingReliable() || n) && + "border-box" === E.css(e, "boxSizing", !1, r), + o = i, + a = Be(e, t, r), + s = "offset" + t[0].toUpperCase() + t.slice(1); + if (Pe.test(a)) { + if (!n) return a; + a = "auto"; + } + return ( + ((!v.boxSizingReliable() && i) || + (!v.reliableTrDimensions() && A(e, "tr")) || + "auto" === a || + (!parseFloat(a) && "inline" === E.css(e, "display", !1, r))) && + e.getClientRects().length && + ((i = "border-box" === E.css(e, "boxSizing", !1, r)), + (o = s in e) && (a = e[s])), + (a = parseFloat(a) || 0) + + Ke(e, t, n || (i ? "border" : "content"), o, r, a) + + "px" + ); + } + function et(e, t, n, r, i) { + return new et.prototype.init(e, t, n, r, i); + } + E.extend({ + cssHooks: { + opacity: { + get: function (e, t) { + if (t) { + var n = Be(e, "opacity"); + return "" === n ? "1" : n; + } + }, + }, + }, + cssNumber: { + animationIterationCount: !0, + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + gridArea: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnStart: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowStart: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0, + }, + cssProps: {}, + style: function (e, t, n, r) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var i, + o, + a, + s = X(t), + u = Re.test(t), + l = e.style; + if ( + (u || (t = Ve(s)), (a = E.cssHooks[t] || E.cssHooks[s]), void 0 === n) + ) + return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; + "string" === (o = typeof n) && + (i = te.exec(n)) && + i[1] && + ((n = se(e, t, i)), (o = "number")), + null != n && + n == n && + ("number" !== o || + u || + (n += (i && i[3]) || (E.cssNumber[s] ? "" : "px")), + v.clearCloneStyle || + "" !== n || + 0 !== t.indexOf("background") || + (l[t] = "inherit"), + (a && "set" in a && void 0 === (n = a.set(e, n, r))) || + (u ? l.setProperty(t, n) : (l[t] = n))); + } + }, + css: function (e, t, n, r) { + var i, + o, + a, + s = X(t); + return ( + Re.test(t) || (t = Ve(s)), + (a = E.cssHooks[t] || E.cssHooks[s]) && + "get" in a && + (i = a.get(e, !0, n)), + void 0 === i && (i = Be(e, t, r)), + "normal" === i && t in Qe && (i = Qe[t]), + "" === n || n + ? ((o = parseFloat(i)), !0 === n || isFinite(o) ? o || 0 : i) + : i + ); + }, + }), + E.each(["height", "width"], function (e, u) { + E.cssHooks[u] = { + get: function (e, t, n) { + if (t) + return !Ge.test(E.css(e, "display")) || + (e.getClientRects().length && e.getBoundingClientRect().width) + ? Ze(e, u, n) + : Ie(e, Ye, function () { + return Ze(e, u, n); + }); + }, + set: function (e, t, n) { + var r, + i = Me(e), + o = !v.scrollboxSize() && "absolute" === i.position, + a = (o || n) && "border-box" === E.css(e, "boxSizing", !1, i), + s = n ? Ke(e, u, n, a, i) : 0; + return ( + a && + o && + (s -= Math.ceil( + e["offset" + u[0].toUpperCase() + u.slice(1)] - + parseFloat(i[u]) - + Ke(e, u, "border", !1, i) - + 0.5 + )), + s && + (r = te.exec(t)) && + "px" !== (r[3] || "px") && + ((e.style[u] = t), (t = E.css(e, u))), + Je(0, t, s) + ); + }, + }; + }), + (E.cssHooks.marginLeft = _e(v.reliableMarginLeft, function (e, t) { + if (t) + return ( + (parseFloat(Be(e, "marginLeft")) || + e.getBoundingClientRect().left - + Ie(e, { marginLeft: 0 }, function () { + return e.getBoundingClientRect().left; + })) + "px" + ); + })), + E.each({ margin: "", padding: "", border: "Width" }, function (i, o) { + (E.cssHooks[i + o] = { + expand: function (e) { + for ( + var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; + t < 4; + t++ + ) + n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; + return n; + }, + }), + "margin" !== i && (E.cssHooks[i + o].set = Je); + }), + E.fn.extend({ + css: function (e, t) { + return B( + this, + function (e, t, n) { + var r, + i, + o = {}, + a = 0; + if (Array.isArray(t)) { + for (r = Me(e), i = t.length; a < i; a++) + o[t[a]] = E.css(e, t[a], !1, r); + return o; + } + return void 0 !== n ? E.style(e, t, n) : E.css(e, t); + }, + e, + t, + 1 < arguments.length + ); + }, + }), + (((E.Tween = et).prototype = { + constructor: et, + init: function (e, t, n, r, i, o) { + (this.elem = e), + (this.prop = n), + (this.easing = i || E.easing._default), + (this.options = t), + (this.start = this.now = this.cur()), + (this.end = r), + (this.unit = o || (E.cssNumber[n] ? "" : "px")); + }, + cur: function () { + var e = et.propHooks[this.prop]; + return e && e.get ? e.get(this) : et.propHooks._default.get(this); + }, + run: function (e) { + var t, + n = et.propHooks[this.prop]; + return ( + this.options.duration + ? (this.pos = t = + E.easing[this.easing]( + e, + this.options.duration * e, + 0, + 1, + this.options.duration + )) + : (this.pos = t = e), + (this.now = (this.end - this.start) * t + this.start), + this.options.step && + this.options.step.call(this.elem, this.now, this), + n && n.set ? n.set(this) : et.propHooks._default.set(this), + this + ); + }, + }).init.prototype = et.prototype), + ((et.propHooks = { + _default: { + get: function (e) { + var t; + return 1 !== e.elem.nodeType || + (null != e.elem[e.prop] && null == e.elem.style[e.prop]) + ? e.elem[e.prop] + : (t = E.css(e.elem, e.prop, "")) && "auto" !== t + ? t + : 0; + }, + set: function (e) { + E.fx.step[e.prop] + ? E.fx.step[e.prop](e) + : 1 !== e.elem.nodeType || + (!E.cssHooks[e.prop] && null == e.elem.style[Ve(e.prop)]) + ? (e.elem[e.prop] = e.now) + : E.style(e.elem, e.prop, e.now + e.unit); + }, + }, + }).scrollTop = et.propHooks.scrollLeft = + { + set: function (e) { + e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now); + }, + }), + (E.easing = { + linear: function (e) { + return e; + }, + swing: function (e) { + return 0.5 - Math.cos(e * Math.PI) / 2; + }, + _default: "swing", + }), + (E.fx = et.prototype.init), + (E.fx.step = {}); + var tt, + nt, + rt, + it, + ot = /^(?:toggle|show|hide)$/, + at = /queueHooks$/; + function st() { + nt && + (!1 === S.hidden && C.requestAnimationFrame + ? C.requestAnimationFrame(st) + : C.setTimeout(st, E.fx.interval), + E.fx.tick()); + } + function ut() { + return ( + C.setTimeout(function () { + tt = void 0; + }), + (tt = Date.now()) + ); + } + function lt(e, t) { + var n, + r = 0, + i = { height: e }; + for (t = t ? 1 : 0; r < 4; r += 2 - t) + i["margin" + (n = ne[r])] = i["padding" + n] = e; + return t && (i.opacity = i.width = e), i; + } + function ct(e, t, n) { + for ( + var r, + i = (ft.tweeners[t] || []).concat(ft.tweeners["*"]), + o = 0, + a = i.length; + o < a; + o++ + ) + if ((r = i[o].call(n, t, e))) return r; + } + function ft(o, e, t) { + var n, + a, + r = 0, + i = ft.prefilters.length, + s = E.Deferred().always(function () { + delete u.elem; + }), + u = function () { + if (a) return !1; + for ( + var e = tt || ut(), + t = Math.max(0, l.startTime + l.duration - e), + n = 1 - (t / l.duration || 0), + r = 0, + i = l.tweens.length; + r < i; + r++ + ) + l.tweens[r].run(n); + return ( + s.notifyWith(o, [l, n, t]), + n < 1 && i + ? t + : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1) + ); + }, + l = s.promise({ + elem: o, + props: E.extend({}, e), + opts: E.extend(!0, { specialEasing: {}, easing: E.easing._default }, t), + originalProperties: e, + originalOptions: t, + startTime: tt || ut(), + duration: t.duration, + tweens: [], + createTween: function (e, t) { + var n = E.Tween( + o, + l.opts, + e, + t, + l.opts.specialEasing[e] || l.opts.easing + ); + return l.tweens.push(n), n; + }, + stop: function (e) { + var t = 0, + n = e ? l.tweens.length : 0; + if (a) return this; + for (a = !0; t < n; t++) l.tweens[t].run(1); + return ( + e + ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) + : s.rejectWith(o, [l, e]), + this + ); + }, + }), + c = l.props; + for ( + !(function (e, t) { + var n, r, i, o, a; + for (n in e) + if ( + ((i = t[(r = X(n))]), + (o = e[n]), + Array.isArray(o) && ((i = o[1]), (o = e[n] = o[0])), + n !== r && ((e[r] = o), delete e[n]), + (a = E.cssHooks[r]) && ("expand" in a)) + ) + for (n in ((o = a.expand(o)), delete e[r], o)) + (n in e) || ((e[n] = o[n]), (t[n] = i)); + else t[r] = i; + })(c, l.opts.specialEasing); + r < i; + r++ + ) + if ((n = ft.prefilters[r].call(l, o, c, l.opts))) + return ( + m(n.stop) && + (E._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), + n + ); + return ( + E.map(c, ct, l), + m(l.opts.start) && l.opts.start.call(o, l), + l + .progress(l.opts.progress) + .done(l.opts.done, l.opts.complete) + .fail(l.opts.fail) + .always(l.opts.always), + E.fx.timer(E.extend(u, { elem: o, anim: l, queue: l.opts.queue })), + l + ); + } + (E.Animation = E.extend(ft, { + tweeners: { + "*": [ + function (e, t) { + var n = this.createTween(e, t); + return se(n.elem, e, te.exec(t), n), n; + }, + ], + }, + tweener: function (e, t) { + m(e) ? ((t = e), (e = ["*"])) : (e = e.match(P)); + for (var n, r = 0, i = e.length; r < i; r++) + (n = e[r]), + (ft.tweeners[n] = ft.tweeners[n] || []), + ft.tweeners[n].unshift(t); + }, + prefilters: [ + function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l, + c, + f = "width" in t || "height" in t, + p = this, + d = {}, + h = e.style, + g = e.nodeType && ae(e), + y = Y.get(e, "fxshow"); + for (r in (n.queue || + (null == (a = E._queueHooks(e, "fx")).unqueued && + ((a.unqueued = 0), + (s = a.empty.fire), + (a.empty.fire = function () { + a.unqueued || s(); + })), + a.unqueued++, + p.always(function () { + p.always(function () { + a.unqueued--, E.queue(e, "fx").length || a.empty.fire(); + }); + })), + t)) + if (((i = t[r]), ot.test(i))) { + if ( + (delete t[r], + (o = o || "toggle" === i), + i === (g ? "hide" : "show")) + ) { + if ("show" !== i || !y || void 0 === y[r]) continue; + g = !0; + } + d[r] = (y && y[r]) || E.style(e, r); + } + if ((u = !E.isEmptyObject(t)) || !E.isEmptyObject(d)) + for (r in (f && + 1 === e.nodeType && + ((n.overflow = [h.overflow, h.overflowX, h.overflowY]), + null == (l = y && y.display) && (l = Y.get(e, "display")), + "none" === (c = E.css(e, "display")) && + (l + ? (c = l) + : (le([e], !0), + (l = e.style.display || l), + (c = E.css(e, "display")), + le([e]))), + ("inline" === c || ("inline-block" === c && null != l)) && + "none" === E.css(e, "float") && + (u || + (p.done(function () { + h.display = l; + }), + null == l && ((c = h.display), (l = "none" === c ? "" : c))), + (h.display = "inline-block"))), + n.overflow && + ((h.overflow = "hidden"), + p.always(function () { + (h.overflow = n.overflow[0]), + (h.overflowX = n.overflow[1]), + (h.overflowY = n.overflow[2]); + })), + (u = !1), + d)) + u || + (y + ? "hidden" in y && (g = y.hidden) + : (y = Y.access(e, "fxshow", { display: l })), + o && (y.hidden = !g), + g && le([e], !0), + p.done(function () { + for (r in (g || le([e]), Y.remove(e, "fxshow"), d)) + E.style(e, r, d[r]); + })), + (u = ct(g ? y[r] : 0, r, p)), + r in y || + ((y[r] = u.start), g && ((u.end = u.start), (u.start = 0))); + }, + ], + prefilter: function (e, t) { + t ? ft.prefilters.unshift(e) : ft.prefilters.push(e); + }, + })), + (E.speed = function (e, t, n) { + var r = + e && "object" == typeof e + ? E.extend({}, e) + : { + complete: n || (!n && t) || (m(e) && e), + duration: e, + easing: (n && t) || (t && !m(t) && t), + }; + return ( + E.fx.off + ? (r.duration = 0) + : "number" != typeof r.duration && + (r.duration in E.fx.speeds + ? (r.duration = E.fx.speeds[r.duration]) + : (r.duration = E.fx.speeds._default)), + (null != r.queue && !0 !== r.queue) || (r.queue = "fx"), + (r.old = r.complete), + (r.complete = function () { + m(r.old) && r.old.call(this), r.queue && E.dequeue(this, r.queue); + }), + r + ); + }), + E.fn.extend({ + fadeTo: function (e, t, n, r) { + return this.filter(ae) + .css("opacity", 0) + .show() + .end() + .animate({ opacity: t }, e, n, r); + }, + animate: function (t, e, n, r) { + var i = E.isEmptyObject(t), + o = E.speed(e, n, r), + a = function () { + var e = ft(this, E.extend({}, t), o); + (i || Y.get(this, "finish")) && e.stop(!0); + }; + return ( + (a.finish = a), + i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) + ); + }, + stop: function (i, e, o) { + var a = function (e) { + var t = e.stop; + delete e.stop, t(o); + }; + return ( + "string" != typeof i && ((o = e), (e = i), (i = void 0)), + e && this.queue(i || "fx", []), + this.each(function () { + var e = !0, + t = null != i && i + "queueHooks", + n = E.timers, + r = Y.get(this); + if (t) r[t] && r[t].stop && a(r[t]); + else for (t in r) r[t] && r[t].stop && at.test(t) && a(r[t]); + for (t = n.length; t--; ) + n[t].elem !== this || + (null != i && n[t].queue !== i) || + (n[t].anim.stop(o), (e = !1), n.splice(t, 1)); + (!e && o) || E.dequeue(this, i); + }) + ); + }, + finish: function (a) { + return ( + !1 !== a && (a = a || "fx"), + this.each(function () { + var e, + t = Y.get(this), + n = t[a + "queue"], + r = t[a + "queueHooks"], + i = E.timers, + o = n ? n.length : 0; + for ( + t.finish = !0, + E.queue(this, a, []), + r && r.stop && r.stop.call(this, !0), + e = i.length; + e--; + + ) + i[e].elem === this && + i[e].queue === a && + (i[e].anim.stop(!0), i.splice(e, 1)); + for (e = 0; e < o; e++) + n[e] && n[e].finish && n[e].finish.call(this); + delete t.finish; + }) + ); + }, + }), + E.each(["toggle", "show", "hide"], function (e, r) { + var i = E.fn[r]; + E.fn[r] = function (e, t, n) { + return null == e || "boolean" == typeof e + ? i.apply(this, arguments) + : this.animate(lt(r, !0), e, t, n); + }; + }), + E.each( + { + slideDown: lt("show"), + slideUp: lt("hide"), + slideToggle: lt("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" }, + }, + function (e, r) { + E.fn[e] = function (e, t, n) { + return this.animate(r, e, t, n); + }; + } + ), + (E.timers = []), + (E.fx.tick = function () { + var e, + t = 0, + n = E.timers; + for (tt = Date.now(); t < n.length; t++) + (e = n[t])() || n[t] !== e || n.splice(t--, 1); + n.length || E.fx.stop(), (tt = void 0); + }), + (E.fx.timer = function (e) { + E.timers.push(e), E.fx.start(); + }), + (E.fx.interval = 13), + (E.fx.start = function () { + nt || ((nt = !0), st()); + }), + (E.fx.stop = function () { + nt = null; + }), + (E.fx.speeds = { slow: 600, fast: 200, _default: 400 }), + (E.fn.delay = function (r, e) { + return ( + (r = (E.fx && E.fx.speeds[r]) || r), + (e = e || "fx"), + this.queue(e, function (e, t) { + var n = C.setTimeout(e, r); + t.stop = function () { + C.clearTimeout(n); + }; + }) + ); + }), + (rt = S.createElement("input")), + (it = S.createElement("select").appendChild(S.createElement("option"))), + (rt.type = "checkbox"), + (v.checkOn = "" !== rt.value), + (v.optSelected = it.selected), + ((rt = S.createElement("input")).value = "t"), + (rt.type = "radio"), + (v.radioValue = "t" === rt.value); + var pt, + dt = E.expr.attrHandle; + E.fn.extend({ + attr: function (e, t) { + return B(this, E.attr, e, t, 1 < arguments.length); + }, + removeAttr: function (e) { + return this.each(function () { + E.removeAttr(this, e); + }); + }, + }), + E.extend({ + attr: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return "undefined" == typeof e.getAttribute + ? E.prop(e, t, n) + : ((1 === o && E.isXMLDoc(e)) || + (i = + E.attrHooks[t.toLowerCase()] || + (E.expr.match.bool.test(t) ? pt : void 0)), + void 0 !== n + ? null === n + ? void E.removeAttr(e, t) + : i && "set" in i && void 0 !== (r = i.set(e, n, t)) + ? r + : (e.setAttribute(t, n + ""), n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : null == (r = E.find.attr(e, t)) + ? void 0 + : r); + }, + attrHooks: { + type: { + set: function (e, t) { + if (!v.radioValue && "radio" === t && A(e, "input")) { + var n = e.value; + return e.setAttribute("type", t), n && (e.value = n), t; + } + }, + }, + }, + removeAttr: function (e, t) { + var n, + r = 0, + i = t && t.match(P); + if (i && 1 === e.nodeType) while ((n = i[r++])) e.removeAttribute(n); + }, + }), + (pt = { + set: function (e, t, n) { + return !1 === t ? E.removeAttr(e, n) : e.setAttribute(n, n), n; + }, + }), + E.each(E.expr.match.bool.source.match(/\w+/g), function (e, t) { + var a = dt[t] || E.find.attr; + dt[t] = function (e, t, n) { + var r, + i, + o = t.toLowerCase(); + return ( + n || + ((i = dt[o]), + (dt[o] = r), + (r = null != a(e, t, n) ? o : null), + (dt[o] = i)), + r + ); + }; + }); + var ht = /^(?:input|select|textarea|button)$/i, + gt = /^(?:a|area)$/i; + function yt(e) { + return (e.match(P) || []).join(" "); + } + function vt(e) { + return (e.getAttribute && e.getAttribute("class")) || ""; + } + function mt(e) { + return Array.isArray(e) ? e : ("string" == typeof e && e.match(P)) || []; + } + E.fn.extend({ + prop: function (e, t) { + return B(this, E.prop, e, t, 1 < arguments.length); + }, + removeProp: function (e) { + return this.each(function () { + delete this[E.propFix[e] || e]; + }); + }, + }), + E.extend({ + prop: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return ( + (1 === o && E.isXMLDoc(e)) || + ((t = E.propFix[t] || t), (i = E.propHooks[t])), + void 0 !== n + ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) + ? r + : (e[t] = n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : e[t] + ); + }, + propHooks: { + tabIndex: { + get: function (e) { + var t = E.find.attr(e, "tabindex"); + return t + ? parseInt(t, 10) + : ht.test(e.nodeName) || (gt.test(e.nodeName) && e.href) + ? 0 + : -1; + }, + }, + }, + propFix: { for: "htmlFor", class: "className" }, + }), + v.optSelected || + (E.propHooks.selected = { + get: function (e) { + var t = e.parentNode; + return t && t.parentNode && t.parentNode.selectedIndex, null; + }, + set: function (e) { + var t = e.parentNode; + t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex); + }, + }), + E.each( + [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable", + ], + function () { + E.propFix[this.toLowerCase()] = this; + } + ), + E.fn.extend({ + addClass: function (t) { + var e, n, r, i, o, a; + return m(t) + ? this.each(function (e) { + E(this).addClass(t.call(this, e, vt(this))); + }) + : (e = mt(t)).length + ? this.each(function () { + if ( + ((r = vt(this)), (n = 1 === this.nodeType && " " + yt(r) + " ")) + ) { + for (o = 0; o < e.length; o++) + (i = e[o]), n.indexOf(" " + i + " ") < 0 && (n += i + " "); + (a = yt(n)), r !== a && this.setAttribute("class", a); + } + }) + : this; + }, + removeClass: function (t) { + var e, n, r, i, o, a; + return m(t) + ? this.each(function (e) { + E(this).removeClass(t.call(this, e, vt(this))); + }) + : arguments.length + ? (e = mt(t)).length + ? this.each(function () { + if ( + ((r = vt(this)), + (n = 1 === this.nodeType && " " + yt(r) + " ")) + ) { + for (o = 0; o < e.length; o++) { + i = e[o]; + while (-1 < n.indexOf(" " + i + " ")) + n = n.replace(" " + i + " ", " "); + } + (a = yt(n)), r !== a && this.setAttribute("class", a); + } + }) + : this + : this.attr("class", ""); + }, + toggleClass: function (t, n) { + var e, + r, + i, + o, + a = typeof t, + s = "string" === a || Array.isArray(t); + return m(t) + ? this.each(function (e) { + E(this).toggleClass(t.call(this, e, vt(this), n), n); + }) + : "boolean" == typeof n && s + ? n + ? this.addClass(t) + : this.removeClass(t) + : ((e = mt(t)), + this.each(function () { + if (s) + for (o = E(this), i = 0; i < e.length; i++) + (r = e[i]), o.hasClass(r) ? o.removeClass(r) : o.addClass(r); + else + (void 0 !== t && "boolean" !== a) || + ((r = vt(this)) && Y.set(this, "__className__", r), + this.setAttribute && + this.setAttribute( + "class", + r || !1 === t ? "" : Y.get(this, "__className__") || "" + )); + })); + }, + hasClass: function (e) { + var t, + n, + r = 0; + t = " " + e + " "; + while ((n = this[r++])) + if (1 === n.nodeType && -1 < (" " + yt(vt(n)) + " ").indexOf(t)) + return !0; + return !1; + }, + }); + var xt = /\r/g; + E.fn.extend({ + val: function (n) { + var r, + e, + i, + t = this[0]; + return arguments.length + ? ((i = m(n)), + this.each(function (e) { + var t; + 1 === this.nodeType && + (null == (t = i ? n.call(this, e, E(this).val()) : n) + ? (t = "") + : "number" == typeof t + ? (t += "") + : Array.isArray(t) && + (t = E.map(t, function (e) { + return null == e ? "" : e + ""; + })), + ((r = + E.valHooks[this.type] || + E.valHooks[this.nodeName.toLowerCase()]) && + "set" in r && + void 0 !== r.set(this, t, "value")) || + (this.value = t)); + })) + : t + ? (r = E.valHooks[t.type] || E.valHooks[t.nodeName.toLowerCase()]) && + "get" in r && + void 0 !== (e = r.get(t, "value")) + ? e + : "string" == typeof (e = t.value) + ? e.replace(xt, "") + : null == e + ? "" + : e + : void 0; + }, + }), + E.extend({ + valHooks: { + option: { + get: function (e) { + var t = E.find.attr(e, "value"); + return null != t ? t : yt(E.text(e)); + }, + }, + select: { + get: function (e) { + var t, + n, + r, + i = e.options, + o = e.selectedIndex, + a = "select-one" === e.type, + s = a ? null : [], + u = a ? o + 1 : i.length; + for (r = o < 0 ? u : a ? o : 0; r < u; r++) + if ( + ((n = i[r]).selected || r === o) && + !n.disabled && + (!n.parentNode.disabled || !A(n.parentNode, "optgroup")) + ) { + if (((t = E(n).val()), a)) return t; + s.push(t); + } + return s; + }, + set: function (e, t) { + var n, + r, + i = e.options, + o = E.makeArray(t), + a = i.length; + while (a--) + ((r = i[a]).selected = + -1 < E.inArray(E.valHooks.option.get(r), o)) && (n = !0); + return n || (e.selectedIndex = -1), o; + }, + }, + }, + }), + E.each(["radio", "checkbox"], function () { + (E.valHooks[this] = { + set: function (e, t) { + if (Array.isArray(t)) + return (e.checked = -1 < E.inArray(E(e).val(), t)); + }, + }), + v.checkOn || + (E.valHooks[this].get = function (e) { + return null === e.getAttribute("value") ? "on" : e.value; + }); + }), + (v.focusin = "onfocusin" in C); + var bt = /^(?:focusinfocus|focusoutblur)$/, + wt = function (e) { + e.stopPropagation(); + }; + E.extend(E.event, { + trigger: function (e, t, n, r) { + var i, + o, + a, + s, + u, + l, + c, + f, + p = [n || S], + d = y.call(e, "type") ? e.type : e, + h = y.call(e, "namespace") ? e.namespace.split(".") : []; + if ( + ((o = f = a = n = n || S), + 3 !== n.nodeType && + 8 !== n.nodeType && + !bt.test(d + E.event.triggered) && + (-1 < d.indexOf(".") && ((d = (h = d.split(".")).shift()), h.sort()), + (u = d.indexOf(":") < 0 && "on" + d), + ((e = e[E.expando] + ? e + : new E.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3), + (e.namespace = h.join(".")), + (e.rnamespace = e.namespace + ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") + : null), + (e.result = void 0), + e.target || (e.target = n), + (t = null == t ? [e] : E.makeArray(t, [e])), + (c = E.event.special[d] || {}), + r || !c.trigger || !1 !== c.trigger.apply(n, t))) + ) { + if (!r && !c.noBubble && !x(n)) { + for ( + s = c.delegateType || d, bt.test(s + d) || (o = o.parentNode); + o; + o = o.parentNode + ) + p.push(o), (a = o); + a === (n.ownerDocument || S) && + p.push(a.defaultView || a.parentWindow || C); + } + i = 0; + while ((o = p[i++]) && !e.isPropagationStopped()) + (f = o), + (e.type = 1 < i ? s : c.bindType || d), + (l = + (Y.get(o, "events") || Object.create(null))[e.type] && + Y.get(o, "handle")) && l.apply(o, t), + (l = u && o[u]) && + l.apply && + V(o) && + ((e.result = l.apply(o, t)), + !1 === e.result && e.preventDefault()); + return ( + (e.type = d), + r || + e.isDefaultPrevented() || + (c._default && !1 !== c._default.apply(p.pop(), t)) || + !V(n) || + (u && + m(n[d]) && + !x(n) && + ((a = n[u]) && (n[u] = null), + (E.event.triggered = d), + e.isPropagationStopped() && f.addEventListener(d, wt), + n[d](), + e.isPropagationStopped() && f.removeEventListener(d, wt), + (E.event.triggered = void 0), + a && (n[u] = a))), + e.result + ); + } + }, + simulate: function (e, t, n) { + var r = E.extend(new E.Event(), n, { type: e, isSimulated: !0 }); + E.event.trigger(r, null, t); + }, + }), + E.fn.extend({ + trigger: function (e, t) { + return this.each(function () { + E.event.trigger(e, t, this); + }); + }, + triggerHandler: function (e, t) { + var n = this[0]; + if (n) return E.event.trigger(e, t, n, !0); + }, + }), + v.focusin || + E.each({ focus: "focusin", blur: "focusout" }, function (n, r) { + var i = function (e) { + E.event.simulate(r, e.target, E.event.fix(e)); + }; + E.event.special[r] = { + setup: function () { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r); + t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1); + }, + teardown: function () { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r) - 1; + t + ? Y.access(e, r, t) + : (e.removeEventListener(n, i, !0), Y.remove(e, r)); + }, + }; + }); + var Tt = C.location, + Ct = { guid: Date.now() }, + St = /\?/; + E.parseXML = function (e) { + var t, n; + if (!e || "string" != typeof e) return null; + try { + t = new C.DOMParser().parseFromString(e, "text/xml"); + } catch (e) {} + return ( + (n = t && t.getElementsByTagName("parsererror")[0]), + (t && !n) || + E.error( + "Invalid XML: " + + (n + ? E.map(n.childNodes, function (e) { + return e.textContent; + }).join("\n") + : e) + ), + t + ); + }; + var Et = /\[\]$/, + kt = /\r?\n/g, + At = /^(?:submit|button|image|reset|file)$/i, + Nt = /^(?:input|select|textarea|keygen)/i; + function jt(n, e, r, i) { + var t; + if (Array.isArray(e)) + E.each(e, function (e, t) { + r || Et.test(n) + ? i(n, t) + : jt( + n + "[" + ("object" == typeof t && null != t ? e : "") + "]", + t, + r, + i + ); + }); + else if (r || "object" !== w(e)) i(n, e); + else for (t in e) jt(n + "[" + t + "]", e[t], r, i); + } + (E.param = function (e, t) { + var n, + r = [], + i = function (e, t) { + var n = m(t) ? t() : t; + r[r.length] = + encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n); + }; + if (null == e) return ""; + if (Array.isArray(e) || (e.jquery && !E.isPlainObject(e))) + E.each(e, function () { + i(this.name, this.value); + }); + else for (n in e) jt(n, e[n], t, i); + return r.join("&"); + }), + E.fn.extend({ + serialize: function () { + return E.param(this.serializeArray()); + }, + serializeArray: function () { + return this.map(function () { + var e = E.prop(this, "elements"); + return e ? E.makeArray(e) : this; + }) + .filter(function () { + var e = this.type; + return ( + this.name && + !E(this).is(":disabled") && + Nt.test(this.nodeName) && + !At.test(e) && + (this.checked || !pe.test(e)) + ); + }) + .map(function (e, t) { + var n = E(this).val(); + return null == n + ? null + : Array.isArray(n) + ? E.map(n, function (e) { + return { name: t.name, value: e.replace(kt, "\r\n") }; + }) + : { name: t.name, value: n.replace(kt, "\r\n") }; + }) + .get(); + }, + }); + var Dt = /%20/g, + qt = /#.*$/, + Lt = /([?&])_=[^&]*/, + Ht = /^(.*?):[ \t]*([^\r\n]*)$/gm, + Ot = /^(?:GET|HEAD)$/, + Pt = /^\/\//, + Rt = {}, + Mt = {}, + It = "*/".concat("*"), + Wt = S.createElement("a"); + function Ft(o) { + return function (e, t) { + "string" != typeof e && ((t = e), (e = "*")); + var n, + r = 0, + i = e.toLowerCase().match(P) || []; + if (m(t)) + while ((n = i[r++])) + "+" === n[0] + ? ((n = n.slice(1) || "*"), (o[n] = o[n] || []).unshift(t)) + : (o[n] = o[n] || []).push(t); + }; + } + function $t(t, i, o, a) { + var s = {}, + u = t === Mt; + function l(e) { + var r; + return ( + (s[e] = !0), + E.each(t[e] || [], function (e, t) { + var n = t(i, o, a); + return "string" != typeof n || u || s[n] + ? u + ? !(r = n) + : void 0 + : (i.dataTypes.unshift(n), l(n), !1); + }), + r + ); + } + return l(i.dataTypes[0]) || (!s["*"] && l("*")); + } + function Bt(e, t) { + var n, + r, + i = E.ajaxSettings.flatOptions || {}; + for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); + return r && E.extend(!0, e, r), e; + } + (Wt.href = Tt.href), + E.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: Tt.href, + type: "GET", + isLocal: + /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test( + Tt.protocol + ), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": It, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript", + }, + contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON", + }, + converters: { + "* text": String, + "text html": !0, + "text json": JSON.parse, + "text xml": E.parseXML, + }, + flatOptions: { url: !0, context: !0 }, + }, + ajaxSetup: function (e, t) { + return t ? Bt(Bt(e, E.ajaxSettings), t) : Bt(E.ajaxSettings, e); + }, + ajaxPrefilter: Ft(Rt), + ajaxTransport: Ft(Mt), + ajax: function (e, t) { + "object" == typeof e && ((t = e), (e = void 0)), (t = t || {}); + var c, + f, + p, + n, + d, + r, + h, + g, + i, + o, + y = E.ajaxSetup({}, t), + v = y.context || y, + m = y.context && (v.nodeType || v.jquery) ? E(v) : E.event, + x = E.Deferred(), + b = E.Callbacks("once memory"), + w = y.statusCode || {}, + a = {}, + s = {}, + u = "canceled", + T = { + readyState: 0, + getResponseHeader: function (e) { + var t; + if (h) { + if (!n) { + n = {}; + while ((t = Ht.exec(p))) + n[t[1].toLowerCase() + " "] = ( + n[t[1].toLowerCase() + " "] || [] + ).concat(t[2]); + } + t = n[e.toLowerCase() + " "]; + } + return null == t ? null : t.join(", "); + }, + getAllResponseHeaders: function () { + return h ? p : null; + }, + setRequestHeader: function (e, t) { + return ( + null == h && + ((e = s[e.toLowerCase()] = s[e.toLowerCase()] || e), + (a[e] = t)), + this + ); + }, + overrideMimeType: function (e) { + return null == h && (y.mimeType = e), this; + }, + statusCode: function (e) { + var t; + if (e) + if (h) T.always(e[T.status]); + else for (t in e) w[t] = [w[t], e[t]]; + return this; + }, + abort: function (e) { + var t = e || u; + return c && c.abort(t), l(0, t), this; + }, + }; + if ( + (x.promise(T), + (y.url = ((e || y.url || Tt.href) + "").replace( + Pt, + Tt.protocol + "//" + )), + (y.type = t.method || t.type || y.method || y.type), + (y.dataTypes = (y.dataType || "*").toLowerCase().match(P) || [""]), + null == y.crossDomain) + ) { + r = S.createElement("a"); + try { + (r.href = y.url), + (r.href = r.href), + (y.crossDomain = + Wt.protocol + "//" + Wt.host != r.protocol + "//" + r.host); + } catch (e) { + y.crossDomain = !0; + } + } + if ( + (y.data && + y.processData && + "string" != typeof y.data && + (y.data = E.param(y.data, y.traditional)), + $t(Rt, y, t, T), + h) + ) + return T; + for (i in ((g = E.event && y.global) && + 0 == E.active++ && + E.event.trigger("ajaxStart"), + (y.type = y.type.toUpperCase()), + (y.hasContent = !Ot.test(y.type)), + (f = y.url.replace(qt, "")), + y.hasContent + ? y.data && + y.processData && + 0 === + (y.contentType || "").indexOf( + "application/x-www-form-urlencoded" + ) && + (y.data = y.data.replace(Dt, "+")) + : ((o = y.url.slice(f.length)), + y.data && + (y.processData || "string" == typeof y.data) && + ((f += (St.test(f) ? "&" : "?") + y.data), delete y.data), + !1 === y.cache && + ((f = f.replace(Lt, "$1")), + (o = (St.test(f) ? "&" : "?") + "_=" + Ct.guid++ + o)), + (y.url = f + o)), + y.ifModified && + (E.lastModified[f] && + T.setRequestHeader("If-Modified-Since", E.lastModified[f]), + E.etag[f] && T.setRequestHeader("If-None-Match", E.etag[f])), + ((y.data && y.hasContent && !1 !== y.contentType) || t.contentType) && + T.setRequestHeader("Content-Type", y.contentType), + T.setRequestHeader( + "Accept", + y.dataTypes[0] && y.accepts[y.dataTypes[0]] + ? y.accepts[y.dataTypes[0]] + + ("*" !== y.dataTypes[0] ? ", " + It + "; q=0.01" : "") + : y.accepts["*"] + ), + y.headers)) + T.setRequestHeader(i, y.headers[i]); + if (y.beforeSend && (!1 === y.beforeSend.call(v, T, y) || h)) + return T.abort(); + if ( + ((u = "abort"), + b.add(y.complete), + T.done(y.success), + T.fail(y.error), + (c = $t(Mt, y, t, T))) + ) { + if (((T.readyState = 1), g && m.trigger("ajaxSend", [T, y]), h)) + return T; + y.async && + 0 < y.timeout && + (d = C.setTimeout(function () { + T.abort("timeout"); + }, y.timeout)); + try { + (h = !1), c.send(a, l); + } catch (e) { + if (h) throw e; + l(-1, e); + } + } else l(-1, "No Transport"); + function l(e, t, n, r) { + var i, + o, + a, + s, + u, + l = t; + h || + ((h = !0), + d && C.clearTimeout(d), + (c = void 0), + (p = r || ""), + (T.readyState = 0 < e ? 4 : 0), + (i = (200 <= e && e < 300) || 304 === e), + n && + (s = (function (e, t, n) { + var r, + i, + o, + a, + s = e.contents, + u = e.dataTypes; + while ("*" === u[0]) + u.shift(), + void 0 === r && + (r = e.mimeType || t.getResponseHeader("Content-Type")); + if (r) + for (i in s) + if (s[i] && s[i].test(r)) { + u.unshift(i); + break; + } + if (u[0] in n) o = u[0]; + else { + for (i in n) { + if (!u[0] || e.converters[i + " " + u[0]]) { + o = i; + break; + } + a || (a = i); + } + o = o || a; + } + if (o) return o !== u[0] && u.unshift(o), n[o]; + })(y, T, n)), + !i && + -1 < E.inArray("script", y.dataTypes) && + E.inArray("json", y.dataTypes) < 0 && + (y.converters["text script"] = function () {}), + (s = (function (e, t, n, r) { + var i, + o, + a, + s, + u, + l = {}, + c = e.dataTypes.slice(); + if (c[1]) + for (a in e.converters) l[a.toLowerCase()] = e.converters[a]; + o = c.shift(); + while (o) + if ( + (e.responseFields[o] && (n[e.responseFields[o]] = t), + !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), + (u = o), + (o = c.shift())) + ) + if ("*" === o) o = u; + else if ("*" !== u && u !== o) { + if (!(a = l[u + " " + o] || l["* " + o])) + for (i in l) + if ( + (s = i.split(" "))[1] === o && + (a = l[u + " " + s[0]] || l["* " + s[0]]) + ) { + !0 === a + ? (a = l[i]) + : !0 !== l[i] && ((o = s[0]), c.unshift(s[1])); + break; + } + if (!0 !== a) + if (a && e["throws"]) t = a(t); + else + try { + t = a(t); + } catch (e) { + return { + state: "parsererror", + error: a + ? e + : "No conversion from " + u + " to " + o, + }; + } + } + return { state: "success", data: t }; + })(y, s, T, i)), + i + ? (y.ifModified && + ((u = T.getResponseHeader("Last-Modified")) && + (E.lastModified[f] = u), + (u = T.getResponseHeader("etag")) && (E.etag[f] = u)), + 204 === e || "HEAD" === y.type + ? (l = "nocontent") + : 304 === e + ? (l = "notmodified") + : ((l = s.state), (o = s.data), (i = !(a = s.error)))) + : ((a = l), (!e && l) || ((l = "error"), e < 0 && (e = 0))), + (T.status = e), + (T.statusText = (t || l) + ""), + i ? x.resolveWith(v, [o, l, T]) : x.rejectWith(v, [T, l, a]), + T.statusCode(w), + (w = void 0), + g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, y, i ? o : a]), + b.fireWith(v, [T, l]), + g && + (m.trigger("ajaxComplete", [T, y]), + --E.active || E.event.trigger("ajaxStop"))); + } + return T; + }, + getJSON: function (e, t, n) { + return E.get(e, t, n, "json"); + }, + getScript: function (e, t) { + return E.get(e, void 0, t, "script"); + }, + }), + E.each(["get", "post"], function (e, i) { + E[i] = function (e, t, n, r) { + return ( + m(t) && ((r = r || n), (n = t), (t = void 0)), + E.ajax( + E.extend( + { url: e, type: i, dataType: r, data: t, success: n }, + E.isPlainObject(e) && e + ) + ) + ); + }; + }), + E.ajaxPrefilter(function (e) { + var t; + for (t in e.headers) + "content-type" === t.toLowerCase() && + (e.contentType = e.headers[t] || ""); + }), + (E._evalUrl = function (e, t, n) { + return E.ajax({ + url: e, + type: "GET", + dataType: "script", + cache: !0, + async: !1, + global: !1, + converters: { "text script": function () {} }, + dataFilter: function (e) { + E.globalEval(e, t, n); + }, + }); + }), + E.fn.extend({ + wrapAll: function (e) { + var t; + return ( + this[0] && + (m(e) && (e = e.call(this[0])), + (t = E(e, this[0].ownerDocument).eq(0).clone(!0)), + this[0].parentNode && t.insertBefore(this[0]), + t + .map(function () { + var e = this; + while (e.firstElementChild) e = e.firstElementChild; + return e; + }) + .append(this)), + this + ); + }, + wrapInner: function (n) { + return m(n) + ? this.each(function (e) { + E(this).wrapInner(n.call(this, e)); + }) + : this.each(function () { + var e = E(this), + t = e.contents(); + t.length ? t.wrapAll(n) : e.append(n); + }); + }, + wrap: function (t) { + var n = m(t); + return this.each(function (e) { + E(this).wrapAll(n ? t.call(this, e) : t); + }); + }, + unwrap: function (e) { + return ( + this.parent(e) + .not("body") + .each(function () { + E(this).replaceWith(this.childNodes); + }), + this + ); + }, + }), + (E.expr.pseudos.hidden = function (e) { + return !E.expr.pseudos.visible(e); + }), + (E.expr.pseudos.visible = function (e) { + return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length); + }), + (E.ajaxSettings.xhr = function () { + try { + return new C.XMLHttpRequest(); + } catch (e) {} + }); + var _t = { 0: 200, 1223: 204 }, + zt = E.ajaxSettings.xhr(); + (v.cors = !!zt && "withCredentials" in zt), + (v.ajax = zt = !!zt), + E.ajaxTransport(function (i) { + var o, a; + if (v.cors || (zt && !i.crossDomain)) + return { + send: function (e, t) { + var n, + r = i.xhr(); + if ( + (r.open(i.type, i.url, i.async, i.username, i.password), + i.xhrFields) + ) + for (n in i.xhrFields) r[n] = i.xhrFields[n]; + for (n in (i.mimeType && + r.overrideMimeType && + r.overrideMimeType(i.mimeType), + i.crossDomain || + e["X-Requested-With"] || + (e["X-Requested-With"] = "XMLHttpRequest"), + e)) + r.setRequestHeader(n, e[n]); + (o = function (e) { + return function () { + o && + ((o = + a = + r.onload = + r.onerror = + r.onabort = + r.ontimeout = + r.onreadystatechange = + null), + "abort" === e + ? r.abort() + : "error" === e + ? "number" != typeof r.status + ? t(0, "error") + : t(r.status, r.statusText) + : t( + _t[r.status] || r.status, + r.statusText, + "text" !== (r.responseType || "text") || + "string" != typeof r.responseText + ? { binary: r.response } + : { text: r.responseText }, + r.getAllResponseHeaders() + )); + }; + }), + (r.onload = o()), + (a = r.onerror = r.ontimeout = o("error")), + void 0 !== r.onabort + ? (r.onabort = a) + : (r.onreadystatechange = function () { + 4 === r.readyState && + C.setTimeout(function () { + o && a(); + }); + }), + (o = o("abort")); + try { + r.send((i.hasContent && i.data) || null); + } catch (e) { + if (o) throw e; + } + }, + abort: function () { + o && o(); + }, + }; + }), + E.ajaxPrefilter(function (e) { + e.crossDomain && (e.contents.script = !1); + }), + E.ajaxSetup({ + accepts: { + script: + "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript", + }, + contents: { script: /\b(?:java|ecma)script\b/ }, + converters: { + "text script": function (e) { + return E.globalEval(e), e; + }, + }, + }), + E.ajaxPrefilter("script", function (e) { + void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET"); + }), + E.ajaxTransport("script", function (n) { + var r, i; + if (n.crossDomain || n.scriptAttrs) + return { + send: function (e, t) { + (r = E(" + + + + + + + + +
+
+
+
+

Available Modes

+
+ +
+
+ +
+
+ + palette Color Blind Friendly +
+
+ Shift red and green towards blue. +
+
+
+
+ +
+
+ +
+
+ + title Dyslexia Friendly +
+
+ Increase readability and improve visuals. +
+
+
+
+
+
+ +
+
+ + auto_awesome + + Visually Impaired +
+
+ Improve website's visuals. +
+
+
+
+
+
+ +
+
+ + neurology Epilepsy Safe +
+
+ Remove blinking animations. +
+
+
+
+
+
+ +
+
+ + space_dashboard + + Cognitive Disability +
+
+ Help to focus on links, buttons, titles. +
+
+
+
+
+
+ +
+
+ + center_focus_strong ADHD Friendly +
+
+ Reduce distractions and improve focus. +
+
+
+
+ +
+
+ +
+
+ + tips_and_updates Text Magnifier +
+
+ Help to read small text. Hover over text. +
+
+
+
+
+ Coming Soon! +
+ +
+
+ + blind Blind Friendly +
+
+ Turn on text to speech. +
+
+
+
+
+

Readability Tools

+ +
+

+ + text_fields Font Size +

+
+
+ + remove + +
+

+
+ + add + +
+
+
+
+

+ + height Line Height +

+
+
+ + remove + +
+

+
+ + add + +
+
+
+
+

+ + text_rotation_none Letter Space +

+
+
+ + remove + +
+

+
+ + add + +
+
+
+ +
+ + + + + +
+ +
+

Visuals Tools

+ +
+
+ +
+
+ + light_mode High Contrast +
+
+ Turn on high contrast. +
+
+
+
+ +
+
+ +
+
+ + dark_mode Dark Contrast +
+
+ Turn on dark contrast. +
+
+
+
+ +
+
+ +
+
+ + monochrome_photos Monochrome +
+
Turn on black and white.
+
+
+
+ +
+
+ +
+
+ + humidity_high High Saturation +
+
+ Turn on high saturation mode. +
+
+
+
+
+
+ +
+
+ + opacity Low Saturation +
+
+ Turn on low saturation. +
+
+
+
+ +
+
+
+
+ + contrast Contrast +
+
+ +
+
+
+
+
+
+ + humidity_high Saturation +
+
+ +
+
+ +
+
+
+
+ + brightness_7 Brightness +
+
+ +
+
+ +
+
+
+
+ + image Sepia +
+
+ +
+
+ +
+
+
Change Text Color
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ Change Background Color +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + diff --git a/scripts/background.js b/scripts/background.js new file mode 100644 index 0000000..5ef9b62 --- /dev/null +++ b/scripts/background.js @@ -0,0 +1,77 @@ +import { textToSpeech } from "./text-to-speech.js"; +import { executeScriptFuncSync } from "./utils.js"; + +const addPlayButtonOnHighlight = (selection) => { + const range = selection.getRangeAt(0); + const rect = range.getBoundingClientRect(); + const x = rect.left + window.pageXOffset; + const y = rect.top + window.pageYOffset; + const button = document.createElement("button"); + button.style.position = "absolute"; + button.className = "speech-text"; + button.style.top = y - 10 + "px"; + button.style.left = x + 10 + "px"; + button.innerHTML = ""; + document.body.appendChild(button); + button.addEventListener("click", () => { + document.querySelectorAll(".speech-text").forEach((el) => el.remove()); + const selectedText = selection.toString(); + if (selectedText) { + // chrome.tabs.query( + // { active: true, currentWindow: true }, + // (/** @type {{ id: any; }[]} */ tabs) => { + // chrome.scripting.executeScript({ + // target: { tabId: tabs[0].id }, + // func: textToSpeech.startTextToSpeech, + // args: [selectedText], + // }); + // } + // ); + textToSpeech.startTextToSpeech(selectedText); + } + }); +}; + +chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + //TODO: This is not working + if (textToSpeech.data.player == null) { + switch (request.msg) { + case "initialize_text_to_speech": + console.log("initialize_text_to_speech"); + 4; + textToSpeech.initialize(); + // executeScriptFuncSync( + // textToSpeech.initialize + // ) + break; + case "speak_hello_message": + console.log("speak_hello_message"); + textToSpeech.startTextToSpeech( + "Highlight a piece of text and click play to listen." + ); + // executeScriptFuncSync( + // textToSpeech.startTextToSpeech, + // "Highlight a piece of text and click play to listen." + // ); + break; + case "add_play_button": + console.log("add_play_button"); + const selectedText = request.data.content.toString(); + if (selectedText) { + executeScriptFuncSync(addPlayButtonOnHighlight, selectedText); + } + break; + + default: + // code block + } + } else { + console.log("Stop current audio"); + + textToSpeech.data.isPlaying = false; + + textToSpeech.data.player.pause(); + + textToSpeech.data.player = null; + } +}); diff --git a/scripts/popup.js b/scripts/popup.js new file mode 100644 index 0000000..0cad0e6 --- /dev/null +++ b/scripts/popup.js @@ -0,0 +1,2106 @@ +// @ts-nocheck +import { executeScriptFunc } from "./utils.js"; +import { textToSpeech } from "./text-to-speech.js"; + +let storage = chrome.storage.local; +const storageItems = { + leftAlignButton: false, + centerAlignButton: false, + rightAlignButton: false, + monochromeModeToggle: false, + highContrastToggle: false, + darkContrastToggle: false, + highSaturationToggle: false, + lowSaturationToggle: false, + visuallyImpairedToggle: false, + epilepsyToggle: false, + cognitiveDisabilityModeToggle: false, + adhdFriendlyModeToggle: false, + magnifyToggle: false, + colorBlindToggle: false, + dyslexiaFriendlyToggle: false, + redTextButton: false, + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, +}; + +window.onbeforeunload = (/** @type {any} */ _e) => { + // TODO: + chrome.runtime.sendMessage({ msg: "page-leave" }); +}; + +window.onload = async (/** @type {any} */ _e) => { + const toggleFunctions = { + leftAlignButton: "leftAlignMode", + centerAlignButton: "centerAlignMode", + rightAlignButton: "rightAlignMode", + monochromeModeToggle: "monochromeMode", + highContrastToggle: "highContrast", + darkContrastToggle: "darkContrast", + highSaturationToggle: "highSaturation", + lowSaturationToggle: "lowSaturation", + visuallyImpairedToggle: "adjustColors", + epilepsyToggle: "toggleEpilepsySwitchFunction", + cognitiveDisabilityModeToggle: "highlightElements", + adhdFriendlyModeToggle: "toggleAdhdMode", + magnifyToggle: "toggleTooltip", + colorBlindToggle: "toggleColorBlindMode", + dyslexiaFriendlyToggle: "toggleDyslexiaMode", + }; + storage.get( + storageItems, + async (/** @type {{ [x: string]: any; }} */ items) => { + for (let key in items) { + if (items[key]) { + await executeScriptFunc(window[toggleFunctions[key]], true); + } + } + } + ); + + // const textColors = { + // redTextButton: "red", + // greenTextButton: "green", + // yellowTextButton: "yellow", + // blackTextButton: "black", + // whiteTextButton: "white", + // orangeTextButton: "orange", + // tealTextButton: "teal", + // blueTextButton: "blue", + // violetTextButton: "violet", + // purpleTextButton: "purple", + // pinkTextButton: "pink", + // }; + // storage.get( + // storageItems, + // async (/** @type {{ [x: string]: any; }} */ items) => { + // for (let key in items) { + // if (items[key]) { + // + // await executeScriptFunc(setTextColor, true, textColors[key]); + // } + // } + // } + // ); +}; + +const addPlayButtonOnHighlight = (selection) => { + const range = selection.getRangeAt(0); + const rect = range.getBoundingClientRect(); + const x = rect.left + window.pageXOffset; + const y = rect.top + window.pageYOffset; + const button = document.createElement("button"); + button.style.position = "absolute"; + button.className = "speech-text"; + button.style.top = y - 10 + "px"; + button.style.left = x + 10 + "px"; + button.innerHTML = + "play_circle"; + document.body.appendChild(button); + button.addEventListener("click", () => { + // Do something with the highlighted text + document.querySelectorAll(".speech-text").forEach((el) => el.remove()); + const selectedText = selection.toString(); + if (selectedText) { + // TODO: apply to document + // chrome.tabs.query( + // { active: true, currentWindow: true }, + // (/** @type {{ id: any; }[]} */ tabs) => { + // chrome.scripting.executeScript({ + // target: { tabId: tabs[0].id }, + // func: textToSpeech.startTextToSpeech, + // args: [selectedText], + // }); + // } + // ); + textToSpeech.startTextToSpeech(selectedText); + } + }); +}; +document.addEventListener("DOMContentLoaded", async (_e) => { + // TODO: use messaging. + // chrome.runtime.sendMessage({ + // msg: "initialize_text_to_speech", + // data: { textToSpeech: textToSpeech }, + // }); + // let textToSpeachPlay = document.getElementById("play"); + // textToSpeachPlay?.addEventListener("click", async (e) => { + // chrome.runtime.sendMessage({ + // msg: "speak_hello_message", + // data: {}, + // }); + // document.addEventListener("mouseup", async (e) => { + // chrome.runtime.sendMessage({ + // msg: "add_play_button", + // data: { + // content: window.getSelection(), + // }, + // }); + // }); + // }); + let textToSpeachPlay = document.getElementById("blind-friendly-mode-toggle"); + textToSpeech.initialize(); + // await executeScriptFunc(textToSpeech.initialize, ""); + textToSpeachPlay?.addEventListener("change", async (e) => { + // if (textToSpeech.data.player == null) { + if (e.target.checked) { + textToSpeech.startTextToSpeech( + "Highlight a piece of text and click play to listen." + ); + document.addEventListener("mouseup", async (e) => { + const selectedText = window.getSelection().toString(); + + if (selectedText) { + addPlayButtonOnHighlight(window.getSelection()); + } + }); + } else { + console.log("Stop current audio"); + + textToSpeech.data.isPlaying = false; + + if (textToSpeech.data.player) { + textToSpeech.data.player.pause(); + } + + textToSpeech.data.player = null; + document.removeEventListener("mouseup", addPlayButtonOnHighlight); + } + }); + // TODO: Refactor to a for loop/map + document + .getElementById("font-size-decrease-btn") + ?.addEventListener("click", decreaseFontSize); + document + .getElementById("font-size-increase-btn") + ?.addEventListener("click", increaseFontSize); + document + .getElementById("line-height-decrease-btn") + ?.addEventListener("click", decreaseLineHeight); + document + .getElementById("line-height-increase-btn") + ?.addEventListener("click", increaseLineHeight); + document + .getElementById("letter-spacing-increase-btn") + ?.addEventListener("click", increaseLetterSpacing); + document + .getElementById("letter-spacing-decrease-btn") + ?.addEventListener("click", decreaseLetterSpacing); + const highContrastToggle = document.getElementById( + "high-contrast-mode-toggle" + ); + const darkContrastToggle = document.getElementById( + "dark-contrast-mode-toggle" + ); + const highSaturationToggle = document.getElementById( + "high-saturation-mode-toggle" + ); + const lowSaturationToggle = document.getElementById( + "low-saturation-mode-toggle" + ); + const monochromeModeToggle = document.getElementById( + "monochrome-mode-toggle" + ); + const dyslexiaFriendlyToggle = document.getElementById( + "dyslexia-friendly-mode-toggle" + ); + const visuallyImpairedToggle = document.getElementById( + "visually-impaired-mode-toggle" + ); + const epilepsyToggle = document.getElementById("epilepsy-toggle"); + + const cognitiveDisabilityModeToggle = document.getElementById( + "cognitive-disability-mode-toggle" + ); + + const adhdFriendlyModeToggle = document.getElementById( + "adhd-friendly-mode-toggle" + ); + + const leftAlignButton = document.getElementById("left-align"); + const centerAlignButton = document.getElementById("center-align"); + const rightAlignButton = document.getElementById("right-align"); + + const magnifyToggle = document.getElementById("text-magnifier-mode-toggle"); + const colorBlindToggle = document.getElementById( + "color-blind-friendly-mode-toggle" + ); + + const redTextButton = document.getElementById("text-red"); + const greenTextButton = document.getElementById("text-green"); + const yellowTextButton = document.getElementById("text-yellow"); + const blackTextButton = document.getElementById("text-black"); + const whiteTextButton = document.getElementById("text-white"); + const orangeTextButton = document.getElementById("text-orange"); + const tealTextButton = document.getElementById("text-teal"); + const blueTextButton = document.getElementById("text-blue"); + const violetTextButton = document.getElementById("text-violet"); + const purpleTextButton = document.getElementById("text-purple"); + const pinkTextButton = document.getElementById("text-pink"); + + const redBackgroundButton = document.getElementById("background-red"); + const greenBackgroundButton = document.getElementById("background-green"); + const yellowBackgroundButton = document.getElementById("background-yellow"); + const blackBackgroundButton = document.getElementById("background-black"); + const whiteBackgroundButton = document.getElementById("background-white"); + const orangeBackgroundButton = document.getElementById("background-orange"); + const tealBackgroundButton = document.getElementById("background-teal"); + const blueBackgroundButton = document.getElementById("background-blue"); + const violetBackgroundButton = document.getElementById("background-violet"); + const purpleBackgroundButton = document.getElementById("background-purple"); + const pinkBackgroundButton = document.getElementById("background-pink"); + + let inputGreyScaleRange = document.getElementById("grey-scale-range"); + let inputSaturationRange = document.getElementById("saturation-range"); + let inputBrightnessRange = document.getElementById("brightness-range"); + let inputSepiaRange = document.getElementById("sepia-range"); + + function getSetStorage() { + storage.get( + storageItems, + ( + /** @type {{ colorBlindToggle: any; epilepsyToggle: any; magnifyToggle: any; cognitiveDisabilityModeToggle: any; adhdFriendlyModeToggle: any; visuallyImpairedToggle: any; highContrastToggle: any; dyslexiaFriendlyToggle: any; darkContrastToggle: any; monochromeModeToggle: any; lowSaturationToggle: any; highSaturationToggle: any; leftAlignButton: any; centerAlignButton: any; rightAlignButton: any; redTextButton: any; greenTextButton: any; yellowTextButton: any; blackTextButton: any; whiteTextButton: any; orangeTextButton: any; tealTextButton: any; blueTextButton: any; violetTextButton: any; purpleTextButton: any; pinkTextButton: any; redBackgroundButton: any; greenBackgroundButton: any; yellowBackgroundButton: any; blackBackgroundButton: any; whiteBackgroundButton: any; orangeBackgroundButton: any; tealBackgroundButton: any; blueBackgroundButton: any; violetBackgroundButton: any; purpleBackgroundButton: any; pinkBackgroundButton: any; }} */ items + ) => { + // for (let key in storageItems) { + // console.log(key, window["magnifyToggle"]); + // // window[key].checked = items[key]; + // } + + // TODO: convert to the abpve loop + + colorBlindToggle.checked = items.colorBlindToggle; + + epilepsyToggle.checked = items.epilepsyToggle; + + magnifyToggle.checked = items.magnifyToggle; + + cognitiveDisabilityModeToggle.checked = + items.cognitiveDisabilityModeToggle; + + adhdFriendlyModeToggle.checked = items.adhdFriendlyModeToggle; + + visuallyImpairedToggle.checked = items.visuallyImpairedToggle; + + highContrastToggle.checked = items.highContrastToggle; + + dyslexiaFriendlyToggle.checked = items.dyslexiaFriendlyToggle; + + darkContrastToggle.checked = items.darkContrastToggle; + + monochromeModeToggle.checked = items.monochromeModeToggle; + + lowSaturationToggle.checked = items.lowSaturationToggle; + + highSaturationToggle.checked = items.highSaturationToggle; + + leftAlignButton.checked = items.leftAlignButton; + + centerAlignButton.checked = items.centerAlignButton; + + rightAlignButton.checked = items.rightAlignButton; + + redTextButton.checked = items.redTextButton; + + greenTextButton.checked = items.greenTextButton; + + yellowTextButton.checked = items.yellowTextButton; + + blackTextButton.checked = items.blackTextButton; + + whiteTextButton.checked = items.whiteTextButton; + + orangeTextButton.checked = items.orangeTextButton; + + tealTextButton.checked = items.tealTextButton; + + blueTextButton.checked = items.blueTextButton; + + violetTextButton.checked = items.violetTextButton; + + purpleTextButton.checked = items.purpleTextButton; + + pinkTextButton.checked = items.pinkTextButton; + + redBackgroundButton.checked = items.redBackgroundButton; + + greenBackgroundButton.checked = items.greenBackgroundButton; + + yellowBackgroundButton.checked = items.yellowBackgroundButton; + + blackBackgroundButton.checked = items.blackBackgroundButton; + + whiteBackgroundButton.checked = items.whiteBackgroundButton; + + orangeBackgroundButton.checked = items.orangeBackgroundButton; + + whiteBackgroundButton.checked = items.whiteBackgroundButton; + + tealBackgroundButton.checked = items.tealBackgroundButton; + + blueBackgroundButton.checked = items.blueBackgroundButton; + + violetBackgroundButton.checked = items.violetBackgroundButton; + + purpleBackgroundButton.checked = items.purpleBackgroundButton; + + pinkBackgroundButton.checked = items.pinkBackgroundButton; + } + ); + } + + getSetStorage(); + + inputSaturationRange.addEventListener("input", async (e) => { + //Change slide thumb color on way up + + if (e.target.value > 120) { + inputSaturationRange.classList.add("ltpurple"); + } + + if (e.target.value > 140) { + inputSaturationRange.classList.add("purple"); + } + + if (e.target.value > 160) { + inputSaturationRange.classList.add("pink"); + } + + //Change slide thumb color on way down + + if (e.target.value < 120) { + inputSaturationRange.classList.remove("ltpurple"); + } + + if (e.target.value < 140) { + inputSaturationRange.classList.remove("purple"); + } + + if (e.target.value < 160) { + inputSaturationRange.classList.remove("pink"); + } + + await executeScriptFunc(setSaturation, true, e.target.value); + }); + + inputGreyScaleRange.addEventListener("input", async (e) => { + //Change slide thumb color on way up + + if (e.target.value > 20) { + inputGreyScaleRange.classList.add("ltpurple"); + } + + if (e.target.value > 40) { + inputGreyScaleRange.classList.add("purple"); + } + + if (e.target.value > 60) { + inputGreyScaleRange.classList.add("pink"); + } + + //Change slide thumb color on way down + + if (e.target.value < 20) { + inputGreyScaleRange.classList.remove("ltpurple"); + } + + if (e.target.value < 40) { + inputGreyScaleRange.classList.remove("purple"); + } + + if (e.target.value < 60) { + inputGreyScaleRange.classList.remove("pink"); + } + + await executeScriptFunc(setGreyScale, true, e.target.value); + }); + + inputBrightnessRange.addEventListener("input", async (e) => { + //Change slide thumb color on way up + + if (e.target.value > 20) { + inputBrightnessRange.classList.add("ltpurple"); + } + + if (e.target.value > 100) { + inputBrightnessRange.classList.add("purple"); + } + + if (e.target.value > 120) { + inputBrightnessRange.classList.add("pink"); + } + + //Change slide thumb color on way down + + if (e.target.value < 20) { + inputBrightnessRange.classList.remove("ltpurple"); + } + + if (e.target.value < 100) { + inputBrightnessRange.classList.remove("purple"); + } + + if (e.target.value < 120) { + inputBrightnessRange.classList.remove("pink"); + } + + await executeScriptFunc(setBrightnessScale, true, e.target.value); + }); + + inputSepiaRange.addEventListener("input", async (e) => { + //Change slide thumb color on way up + + if (e.target.value > 20) { + inputSepiaRange.classList.add("ltpurple"); + } + + if (e.target.value > 60) { + inputSepiaRange.classList.add("purple"); + } + + if (e.target.value > 80) { + inputSepiaRange.classList.add("pink"); + } + + //Change slide thumb color on way down + + if (e.target.value < 20) { + inputSepiaRange.classList.remove("ltpurple"); + } + + if (e.target.value < 60) { + inputSepiaRange.classList.remove("purple"); + } + + if (e.target.value < 80) { + inputSepiaRange.classList.remove("pink"); + } + + await executeScriptFunc(setSepiaScale, true, e.target.value); + }); + + // TODO: Refactor to a for loop/map + leftAlignButton?.addEventListener("change", async (e) => { + storage.set({ + rightAlignButton: false, + centerAlignButton: false, + }); + + if (e.target.checked) { + storage.set({ + leftAlignButton: true, + }); + + await executeScriptFunc(leftAlignMode, true); + } + }); + + centerAlignButton?.addEventListener("change", async (e) => { + storage.set({ + rightAlignButton: false, + leftAlignButton: false, + }); + + if (e.target.checked) { + storage.set({ + centerAlignButton: true, + }); + + await executeScriptFunc(centerAlignMode, true); + } + }); + + rightAlignButton?.addEventListener("change", async (e) => { + storage.set({ + leftAlignButton: false, + centerAlignButton: false, + }); + + if (e.target.checked) { + storage.set({ + rightAlignButton: true, + }); + await executeScriptFunc(rightAlignMode, true); + } + }); + // TODO: use executeScriptFunc + + colorBlindToggle?.addEventListener("change", function (e) { + storage.set({ + colorBlindToggle: this.checked, + }); + + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleColorBlindMode, + + args: [this.checked], + }); + } + ); + }); + + // TODO: Refactor for (let button in [redTextButton, greenTextButton, ...]) + // TODO: Define the object at the start of the script and replace repetitive code. + redTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: e.target.checked, + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "red"); + }); + + greenTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: e.target.checked, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "green"); + }); + + yellowTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + + yellowTextButton: e.target.checked, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "yellow"); + }); + + blackTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + + blackTextButton: e.target.checked, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "black"); + }); + + whiteTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + + whiteTextButton: e.target.checked, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "white"); + }); + orangeTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + + orangeTextButton: e.target.checked, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "orange"); + }); + + tealTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + + tealTextButton: e.target.checked, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "teal"); + }); + blueTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + + blueTextButton: e.target.checked, + violetTextButton: false, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "blue"); + }); + violetTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + + violetTextButton: e.target.checked, + purpleTextButton: false, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "violet"); + }); + purpleTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + + purpleTextButton: e.target.checked, + pinkTextButton: false, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "purple"); + }); + pinkTextButton?.addEventListener("change", async (e) => { + storage.set({ + redTextButton: false, + + greenTextButton: false, + yellowTextButton: false, + blackTextButton: false, + whiteTextButton: false, + orangeTextButton: false, + tealTextButton: false, + blueTextButton: false, + violetTextButton: false, + purpleTextButton: false, + + pinkTextButton: e.target.checked, + }); + + await executeScriptFunc(setTextColor, e.target.checked, "pink"); + }); + + // Background color + + redBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: e.target.checked, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "red"); + }); + + greenBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + + greenBackgroundButton: e.target.checked, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "green"); + }); + + yellowBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + + yellowBackgroundButton: e.target.checked, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "yellow"); + }); + + blackBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + + blackBackgroundButton: e.target.checked, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "black"); + }); + + whiteBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + + whiteBackgroundButton: e.target.checked, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "white"); + }); + orangeBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + + orangeBackgroundButton: e.target.checked, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "orange"); + }); + + tealBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + + tealBackgroundButton: e.target.checked, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "teal"); + }); + blueBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + + blueBackgroundButton: e.target.checked, + violetBackgroundButton: false, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "blue"); + }); + violetBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + + violetBackgroundButton: e.target.checked, + purpleBackgroundButton: false, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "violet"); + }); + purpleBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + + purpleBackgroundButton: e.target.checked, + pinkBackgroundButton: false, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "purple"); + }); + pinkBackgroundButton?.addEventListener("change", async (e) => { + storage.set({ + redBackgroundButton: false, + greenBackgroundButton: false, + yellowBackgroundButton: false, + blackBackgroundButton: false, + whiteBackgroundButton: false, + orangeBackgroundButton: false, + tealBackgroundButton: false, + blueBackgroundButton: false, + violetBackgroundButton: false, + purpleBackgroundButton: false, + + pinkBackgroundButton: e.target.checked, + }); + + await executeScriptFunc(setBackgroundColor, e.target.checked, "pink"); + }); + monochromeModeToggle?.addEventListener("change", function () { + storage.set({ + monochromeModeToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: monochromeMode, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: monochromeMode, + args: [false], + }); + } + ); + } + }); + + highContrastToggle?.addEventListener("change", function () { + storage.set({ + highContrastToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: highContrast, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: highContrast, + args: [false], + }); + } + ); + } + }); + darkContrastToggle?.addEventListener("change", function () { + storage.set({ + darkContrastToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: darkContrast, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: darkContrast, + args: [false], + }); + } + ); + } + }); + + highSaturationToggle?.addEventListener("change", function () { + storage.set({ + highSaturationToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: highSaturation, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: highSaturation, + args: [false], + }); + } + ); + } + }); + lowSaturationToggle?.addEventListener("change", function () { + storage.set({ + lowSaturationToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: lowSaturation, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: lowSaturation, + args: [false], + }); + } + ); + } + }); + + visuallyImpairedToggle?.addEventListener("change", function () { + storage.set({ + visuallyImpairedToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: adjustColors, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: adjustColors, + args: [false], + }); + } + ); + } + }); + + epilepsyToggle?.addEventListener("change", function () { + storage.set({ + epilepsyToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleEpilepsySwitchFunction, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleEpilepsySwitchFunction, + args: [false], + }); + } + ); + } + }); + cognitiveDisabilityModeToggle?.addEventListener("change", function () { + /* ZC91L28vbS9oL2EvbQ */ + storage.set({ + cognitiveDisabilityModeToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: highlightElements, + args: [true], + }); + } + ); + } else { + /* aC9jL3Uvby9tL3IvYS9o */ + + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: highlightElements, + args: [false], + }); + } + ); + } + }); + + adhdFriendlyModeToggle?.addEventListener("change", function () { + storage.set({ + adhdFriendlyModeToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleAdhdMode, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleAdhdMode, + args: [false], + }); + } + ); + } + }); + + magnifyToggle?.addEventListener("change", function (_e) { + storage.set({ + magnifyToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleTooltip, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleTooltip, + args: [false], + }); + } + ); + } + }); + + dyslexiaFriendlyToggle?.addEventListener("change", function (_e) { + storage.set({ + dyslexiaFriendlyToggle: this.checked, + }); + + if (this.checked) { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleDyslexiaMode, + args: [true], + }); + } + ); + } else { + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: toggleDyslexiaMode, + args: [false], + }); + } + ); + } + }); +}); + +/** + * @param {Boolean} on + */ +function toggleAdhdMode(on) { + const flashlight = document.createElement("div"); + flashlight.className = "flashlight"; + + flashlight.style = + "position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999999;"; + + flashlight.setAttribute("id", "flashlight"); + const overlay = document.createElement("div"); + + overlay.style = + "position:absolute;width:100%;height:100%;background-color:rgba(0,0,0,0.8);mix-blend-mode:difference;z-index:9999;"; + const rectangle = document.createElement("div"); + + rectangle.style = + "position:absolute;width:200px;height:200px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 9999px rgba(0,0,0,0.8);z-index:99999;"; + rectangle.classList.add("rectangle"); + overlay.classList.add("overlay"); + flashlight.appendChild(overlay); + flashlight.appendChild(rectangle); + + /** + * @param {{ clientX: any; clientY: any; }} e + */ + function moveFlashlight(e) { + const x = e.clientX; + const y = e.clientY; + const rectangleSize = 150; + const screenWidth = window.innerWidth; + const screenHeight = window.innerHeight; + + let left = x - rectangleSize / 2; + let top = y - rectangleSize / 2; + let right = x + rectangleSize / 2; + let bottom = y + rectangleSize / 2; + + if (left < 0) { + right = right - left; + left = 0; + } + + if (right > screenWidth) { + left = left - (right - screenWidth); + right = screenWidth; + } + + if (top < 0) { + bottom = bottom - top; + top = 0; + } + + if (bottom > screenHeight) { + top = top - (bottom - screenHeight); + bottom = screenHeight; + } + + rectangle.style.left = left + "px"; + rectangle.style.top = top + "px"; + rectangle.style.width = rectangleSize + "px"; + rectangle.style.height = rectangleSize + "px"; + overlay.style.clipPath = `circle(0px at ${x}px ${y}px)`; + } + + function removeFlashlight() { + document.querySelectorAll(".flashlight").forEach((el) => el.remove()); + document + .getElementsByTagName("body")[0] + .removeEventListener("mousemove", removeFlashlight); + document + .getElementsByTagName("body")[0] + .removeEventListener("mouseover", removeFlashlight); + } + + function showFlashlight() { + document.getElementsByTagName("body")[0].appendChild(flashlight); + document + .getElementsByTagName("body")[0] + .removeEventListener("mouseover", showFlashlight); + } + if (on) { + document + .getElementsByTagName("body")[0] + .addEventListener("mousemove", moveFlashlight); + document + .getElementsByTagName("body")[0] + .addEventListener("mouseover", showFlashlight); + } else { + document + .getElementsByTagName("body")[0] + .addEventListener("mousemove", removeFlashlight); + document + .getElementsByTagName("body")[0] + .addEventListener("mouseover", removeFlashlight); + } +} + +/** + * @param {any} size + */ +function updateFontSizeIndicator(size) { + const fontSizeIndicator = document.getElementById("font-size-indicator"); + if (fontSizeIndicator) { + fontSizeIndicator.textContent = `${size}px`; + } +} +async function decreaseFontSize() { + await chrome.tabs.query( + { active: true, currentWindow: true }, + async (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: decreaseFontSizeFunction, + args: [""], + }); + + await chrome.tabs.sendMessage( + tabs[0].id, + { type: "getFontSize" }, + function (/** @type {{ fontSize: any; }} */ response) { + if (response) { + updateFontSizeIndicator(response.fontSize); + } + } + ); + } + ); +} + +// Increase font size of all text on current webpage +async function increaseFontSize() { + await chrome.tabs.query( + { active: true, currentWindow: true }, + async (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: increaseFontSizeFunction, + args: [""], + }); + + await chrome.tabs.sendMessage( + tabs[0].id, + { type: "getFontSize" }, + function (/** @type {{ fontSize: any; }} */ response) { + if (response) { + updateFontSizeIndicator(response.fontSize); + } + } + ); + } + ); +} + +// Increase line height of all text on current webpage +async function increaseLineHeight() { + await chrome.tabs.query( + { active: true, currentWindow: true }, + async (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: increaseLineHeightFunction, + args: [""], + }); + + await chrome.tabs.sendMessage( + tabs[0].id, + { type: "getLineHeight" }, + function (/** @type {any} */ response) { + if (response) { + // TODO: update indicator + } + } + ); + } + ); +} + +// Decrease line height of all text on current webpage +async function decreaseLineHeight() { + await chrome.tabs.query( + { active: true, currentWindow: true }, + async (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: decreaseLineHeightFunction, + args: [""], + }); + + await chrome.tabs.sendMessage( + tabs[0].id, + { type: "getLineHeight" }, + function (/** @type {any} */ response) { + if (response) { + // TODO: update indicator + } + } + ); + } + ); +} +// Increase letter spacing of all text on current webpage +async function increaseLetterSpacing() { + await chrome.tabs.query( + { active: true, currentWindow: true }, + async (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: increaseLetterSpacingFunction, + args: [""], + }); + + await chrome.tabs.sendMessage( + tabs[0].id, + { type: "getLetterSpacing" }, + function (/** @type {any} */ response) { + if (response) { + // TODO: update indicator + } + } + ); + } + ); +} + +// Decrease letter spacing of all text on current webpage +async function decreaseLetterSpacing() { + await chrome.tabs.query( + { active: true, currentWindow: true }, + async (/** @type {{ id: any; }[]} */ tabs) => { + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: decreaseLetterSpacingFunction, + args: [""], + }); + + await chrome.tabs.sendMessage( + tabs[0].id, + { type: "getLetterSpacing" }, + function (/** @type {any} */ response) { + if (response) { + // TODO: update indicator + } + } + ); + } + ); +} +/** + * @param {Boolean} on + */ +function toggleEpilepsySwitchFunction(on) { + if (on) { + let style = document.createElement("style"); + style.innerHTML = + "body.no-transition *{ -webkit-transition: none !important; -moz-transition: none !important; -ms-transition: none !important; -o-transition: none !important; transition: none !important; -webkit-animation-fill-mode: forwards !important; -moz-animation-fill-mode: forwards !important; -ms-animation-fill-mode: forwards !important; -o-animation-fill-mode: forwards !important; animation-fill-mode: forwards !important; -webkit-animation-iteration-count: 1 !important; -moz-animation-iteration-count: 1 !important; -ms-animation-iteration-count: 1 !important; -o-animation-iteration-count: 1 !important; animation-iteration-count: 1 !important; -webkit-animation-duration: .01s !important; -moz-animation-duration: .01s !important; -ms-animation-duration: .01s !important; -o-animation-duration: .01s !important; animation-duration: .01s !important; } "; + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("no-transition"); + // TODO: add collapsable help text on toggle. + // document + // .querySelector(".checkboxfeedback") + // ?.insertAdjacentHTML( + // "beforeend", + // "
Event occurred on checkbox! Type: " + " checkbox state now: " + // ); + document.querySelectorAll("video").forEach((element) => { + !1 === element.paused && + (element.pause(), (element.dataset.pausedByReadabler = "true")); + }); + document.querySelectorAll("iframe").forEach((element) => { + "undefined" === element.dataset.pausedByReadabler + ? (element.dataset.pausedByReadabler = "true") + : setTimeout(function () { + let t = element.src; + t.includes("www.youtube.com/embed") && + ((element.src = t), (element.dataset.pausedByReadabler = "true")); + }, 300); + }); + } else { + document.body.classList.remove("no-transition"); + } +} + +/** + * @param {Boolean} on + */ +function toggleDyslexiaMode(on) { + if (on) { + let style = document.createElement("style"); + style.innerHTML = + "@font-face {font-family: 'opendyslexic';src: url('http://dyslexicfonts.com/fonts/OpenDyslexic-Regular.otf');font-style: normal;font-weight: normal;}@font-face {font-family: 'opendyslexic';src: url('http://dyslexicfonts.com/fonts/OpenDyslexic-Italic.ttf');font-style: italic;font-weight: normal;}@font-face {font-family: 'opendyslexic';src: url('http://dyslexicfonts.com/fonts/OpenDyslexic-Bold.ttf');font-weight: bold;font-style: normal;}@font-face {font-family: 'opendyslexic';src: url('http://dyslexicfonts.com/fonts/OpenDyslexic-BoldItalic.ttf');font-weight: bold;font-style: italic;}@font-face {font-family: eulexia;src: url('http://dyslexicfonts.com/fonts/eulexia.ttf');} body.dyslexia-mode * {line-height:150%;font-family:opendyslexic, serif !important;letter-spacing: 0.1ch;font-variant-ligatures: none;word-spacing: 0.5ch;}"; + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("dyslexia-mode"); + } else { + document.body.classList.remove("dyslexia-mode"); + } +} + +function decreaseFontSizeFunction() { + let elements = document.getElementsByTagName("*"); + let newFontSize = 0; + for (let i = 0; i < elements.length; i++) { + let fontSize = window + .getComputedStyle(elements[i], null) + .getPropertyValue("font-size"); + const currentFontSize = parseFloat(fontSize); + if (fontSize.includes("px")) { + newFontSize = currentFontSize / 1.025; + } else if (fontSize.includes("em")) { + const fontSizeComputed = parseFloat( + getComputedStyle(elements[i]).fontSize + ); + newFontSize = (currentFontSize * fontSizeComputed) / 1.025; + } else if (fontSize.includes("rem")) { + const rootFontSize = parseFloat( + getComputedStyle(document.documentElement).fontSize + ); + newFontSize = (currentFontSize * rootFontSize) / 1.025; + } + + elements[i].style.fontSize = newFontSize + "px"; + } + // Get the current font size + newFontSize = parseFloat( + window.getComputedStyle(document.body, null).getPropertyValue("font-size") + ); + + document.querySelector("#font-size-indicator").innerText = `${newFontSize}px`; + + // Return the new font size value + return { fontSize: newFontSize }; +} + +function increaseFontSizeFunction() { + let elements = document.getElementsByTagName("*"); + let newFontSize = 0; + for (let i = 0; i < elements.length; i++) { + let fontSize = window + .getComputedStyle(elements[i], null) + .getPropertyValue("font-size"); + const currentFontSize = parseFloat(fontSize); + if (fontSize.includes("px")) { + newFontSize = currentFontSize * 1.025; + } else if (fontSize.includes("em")) { + const fontSizeComputed = parseFloat( + getComputedStyle(elements[i]).fontSize + ); + newFontSize = currentFontSize * fontSizeComputed * 1.025; + } else if (fontSize.includes("rem")) { + const rootFontSize = parseFloat( + getComputedStyle(document.documentElement).fontSize + ); + newFontSize = currentFontSize * rootFontSize * 1.025; + } + + elements[i].style.fontSize = newFontSize + "px"; + } + // Get the current font size + newFontSize = parseFloat( + window.getComputedStyle(document.body, null).getPropertyValue("font-size") + ); + + document.querySelector("#font-size-indicator").innerText = `${newFontSize}px`; + + // Return the new font size value + return { fontSize: newFontSize }; +} + +function increaseLineHeightFunction() { + const els = document.getElementsByTagName("*"); + for (let i = 0; i < els.length; i++) { + const el = els[i]; + const lineHeight = getComputedStyle(el).lineHeight; + if (lineHeight === "normal") { + el.style.lineHeight = 1.5; + } else if (lineHeight.includes("px")) { + const currentLineHeight = parseFloat(lineHeight); + const newLineHeight = currentLineHeight * 1.025; + + el.style.lineHeight = newLineHeight + "px"; + } else if (lineHeight.includes("em")) { + const currentLineHeight = parseFloat(lineHeight); + const fontSize = parseFloat(getComputedStyle(el).fontSize); + const newLineHeight = currentLineHeight * fontSize * 1.025; + + el.style.lineHeight = newLineHeight + "px"; + } else if (lineHeight.includes("rem")) { + const currentLineHeight = parseFloat(lineHeight); + const rootFontSize = parseFloat( + getComputedStyle(document.documentElement).fontSize + ); + const newLineHeight = currentLineHeight * rootFontSize * 1.025; + + el.style.lineHeight = newLineHeight + "px"; + } + } +} +function decreaseLineHeightFunction() { + const els = document.getElementsByTagName("*"); + for (let i = 0; i < els.length; i++) { + const el = els[i]; + const lineHeight = getComputedStyle(el).lineHeight; + if (lineHeight === "normal") { + el.style.lineHeight = 1.0; + } else if (lineHeight.includes("px")) { + const currentLineHeight = parseFloat(lineHeight); + const newLineHeight = currentLineHeight / 1.025; + + el.style.lineHeight = newLineHeight + "px"; + } else if (lineHeight.includes("em")) { + const currentLineHeight = parseFloat(lineHeight); + const fontSize = parseFloat(getComputedStyle(el).fontSize); + const newLineHeight = (currentLineHeight * fontSize) / 1.025; + + el.style.lineHeight = newLineHeight + "px"; + } else if (lineHeight.includes("rem")) { + const currentLineHeight = parseFloat(lineHeight); + const rootFontSize = parseFloat( + getComputedStyle(document.documentElement).fontSize + ); + const newLineHeight = (currentLineHeight * rootFontSize) / 1.025; + + el.style.lineHeight = newLineHeight + "px"; + } + } +} + +function increaseLetterSpacingFunction() { + const currentLetterSpacing = + parseFloat(document.body.style.letterSpacing) || 0; + const newLetterSpacing = currentLetterSpacing + 1; + document.body.style.letterSpacing = `${newLetterSpacing}px`; + + const styleElement = document.createElement("style"); + styleElement.innerHTML = `* { letter-spacing: ${newLetterSpacing}px !important; }`; + document.head.appendChild(styleElement); +} +function decreaseLetterSpacingFunction() { + const currentLetterSpacing = + parseFloat(document.body.style.letterSpacing) || 0; + const newLetterSpacing = currentLetterSpacing - 1; + document.body.style.letterSpacing = `${newLetterSpacing}px`; + + const styleElement = document.createElement("style"); + styleElement.innerHTML = `* { letter-spacing: ${newLetterSpacing}px !important; }`; + document.head.appendChild(styleElement); +} +// Adjusts the background color and text color of the website for visually impaired users +/** + * @param {Boolean} on + */ +function adjustColors(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.visually-impaired * {filter: saturate(105%) !important;font-family: Arial, Helvetica, sans-serif !important;}"; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("visually-impaired"); + } else { + document.body.classList.remove("visually-impaired"); + } +} +/** + * @param {Boolean} on + */ +function leftAlignMode(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.align-left, body.align-left h1, body.align-left h1 span, body.align-left h2, body.align-left h2 span, body.align-left h3, body.align-left h3 span, body.align-left h4, body.align-left h4 span, body.align-left h5, body.align-left h5 span, body.align-left h6, body.align-left h6 span, body.align-left p, body.align-left li, body.align-left label, body.align-left input, body.align-left select, body.align-left textarea, body.align-left legend, body.align-left code, body.align-left pre, body.align-left dd, body.align-left dt, body.align-left span, body.align-left blockquote { text-align: left !important; } "; + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("align-left"); + } else { + document.body.classList.remove("align-left"); + } +} +/** + * @param {Boolean} on + */ +function centerAlignMode(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.align-center,body.align-center h1,body.align-center h1 span,body.align-center h2,body.align-center h2 span,body.align-center h3,body.align-center h3 span,body.align-center h4,body.align-center h4 span,body.align-center h5,body.align-center h5 span,body.align-center h6,body.align-center h6 span,\nbody.align-center p,body.align-center li,body.align-center label,body.align-center input,body.align-center select,body.align-center textarea,body.align-center legend,body.align-center code,body.align-center pre,body.align-center dd,body.align-center dt,body.align-center span,body.align-center blockquote {text-align: center !important;}"; + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("align-center"); + } else { + document.body.classList.remove("align-center"); + } +} +/** + * @param {Boolean} on + */ +function rightAlignMode(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.align-right,body.align-right h1,body.align-right h1 span,body.align-right h2,body.align-right h2 span,body.align-right h3,body.align-right h3 span,body.align-right h4,body.align-right h4 span,body.align-right h5,body.align-right h5 span,body.align-right h6,body.align-right h6 span,\nbody.align-right p,body.align-right li,body.align-right label,body.align-right input,body.align-right select,body.align-right textarea,body.align-right legend,body.align-right code,body.align-right pre,body.align-right dd,body.align-right dt,body.align-right span,body.align-right blockquote {text-align: right !important;}"; + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("align-right"); + } else { + document.body.classList.remove("align-right"); + } +} + +/** + * @param {Boolean} on + */ +function highContrast(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.high-contrast * { filter: contrast(135%) !important; }"; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("high-contrast"); + } else { + document.body.classList.remove("high-contrast"); + } +} + +/** + * @param {Boolean} on + */ +function darkContrast(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.dark-contrast * { background-color: #131212 !important; color: white !important; }"; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("dark-contrast"); + } else { + document.body.classList.remove("dark-contrast"); + } +} + +/** + * @param {Boolean} on + */ +function monochromeMode(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.monochrome * { filter: grayscale(100%) !important; }"; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("monochrome"); + } else { + document.body.classList.remove("monochrome"); + } +} + +/** + * @param {Boolean} on + */ +function highSaturation(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.high-saturation * { filter: saturate(110%) !important; }"; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("high-saturation"); + } else { + document.body.classList.remove("high-saturation"); + } +} + +/** + * @param {Boolean} on + * @param {Number} value + */ +function setSaturation(on, value) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = `body.saturation * { filter: saturate(${value}%)!important; }`; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("saturation"); + } else { + document.body.classList.remove("saturation"); + } +} + +/** + * @param {Boolean} on + * @param {Number} value + */ +function setGreyScale(on, value) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = `body.grey-scale * { filter: grayscale(${value}%) !important; }`; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("grey-scale"); + } else { + document.body.classList.remove("grey-scale"); + } +} +/** + * @param {Boolean} on + * @param {Number} value + */ +function setBrightnessScale(on, value) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = `body.brightness * { filter: brightness(${value}%) !important; }`; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("brightness"); + } else { + document.body.classList.remove("brightness"); + } +} + +/** + * @param {Boolean} on + * @param {Number} value + */ +function setSepiaScale(on, value) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = `body.sepia * { filter: sepia(${value}%) !important; }`; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("sepia"); + } else { + document.body.classList.remove("sepia"); + } +} + +/** + * @param {Boolean} on + */ +function lowSaturation(on) { + if (on) { + // Set the new background color + let style = document.createElement("style"); + style.innerHTML = + "body.low-saturation * { filter: saturate(50%) !important; }"; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("low-saturation"); + } else { + document.body.classList.remove("low-saturation"); + } +} + +/** + * @param {Boolean} on + * @param {String} color + */ +function setTextColor(on, color) { + if (on) { + let style = document.createElement("style"); + style.innerHTML = `body.set-text-colors a,body.set-text-colors p,body.set-text-colors li,body.set-text-colors label,body.set-text-colors input,body.set-text-colors select,body.set-text-colors textarea,body.set-text-colors legend,body.set-text-colors code,body.set-text-colors pre,body.set-text-colors dd,body.set-text-colors dt,body.set-text-colors span,body.set-text-colors blockquote {color: ${color} !important;}`; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("set-text-colors"); + } else { + document.body.classList.remove("set-text-colors"); + } +} + +/** + * @param {Boolean} on + * @param {String} color + */ +function setBackgroundColor(on, color) { + if (on) { + let style = document.createElement("style"); + style.innerHTML = `body.set-background-colors *, body.set-background-colors h1, body.set-background-colors h1 span, body.set-background-colors h2, body.set-background-colors h2 span, body.set-background-colors h3, body.set-background-colors h3 span, body.set-background-colors h4, body.set-background-colors h4 span, body.set-background-colors h5, body.set-background-colors h5 span, body.set-background-colors h6, body.set-background-colors h6 span, body.set-background-colors p, body.set-background-colors a, body.set-background-colors li, body.set-background-colors label, body.set-background-colors input, body.set-background-colors select, body.set-background-colors textarea, body.set-background-colors legend, body.set-background-colors code, body.set-background-colors pre, body.set-background-colors dd, body.set-background-colors dt, body.set-background-colors span, body.set-background-colors blockquote {background: ${color}!important;}`; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("set-background-colors"); + } else { + document.body.classList.remove("set-background-colors"); + } +} + +/** + * @param {Boolean} _on + */ +function highlightElements(_on) { + const body = document.body; + const elementsToHighlight = document.querySelectorAll( + "button, a, h1, h2, h3, h4, h5, h6" + ); + if (body.classList.contains("cognitive-disability-mode")) { + body.classList.remove("cognitive-disability-mode"); + elementsToHighlight.forEach((element) => { + element.style.removeProperty("border"); + }); + } else { + body.classList.add("cognitive-disability-mode"); + elementsToHighlight.forEach((element) => { + element.style.border = "3px solid red"; + }); + } +} + +/** + * @param {Boolean} on + */ +function toggleColorBlindMode(on) { + if (on) { + // Shift the hue of the red and green colors towards the blue end of the spectrum. This makes them appear less similar to someone with protanopia. + let style = document.createElement("style"); + style.innerHTML = + 'body.color-blind h1, body.color-blind h2, body.color-blind h3, body.color-blind h4, body.color-blind h5, body.color-blind h6, body.color-blind a, body.color-blind button, body.color-blind input, body.color-blind label, body.color-blind legend, body.color-blind progress, body.color-blind select, body.color-blind textarea, body.color-blind [role="button"], body.color-blind [role="checkbox"], body.color-blind [role="radio"], body.color-blind [role="switch"], body.color-blind [role="textbox"], body.color-blind blockquote {background-color: #f5f5f5 !important;color: #333333 !important;}body.color-blind h1, body.color-blind h2, body.color-blind h3, body.color-blind h4, body.color-blind h5, body.color-blind h6 {color: #3773b0 !important;;border-color: #8ab6d6 !important;}body.color-blind a {color: #0073cf !important;border-color: #8ab6d6 !important;}body.color-blind input[type="text"], body.color-blind input[type="email"], body.color-blind input[type="password"], body.color-blind textarea, body.color-blind select {border-color: #8ab6d6 !important;}body.color-blind [role="button"], body.color-blind [role="checkbox"], body.color-blind [role="radio"], body.color-blind [role="switch"], body.color-blind [role="textbox"], body.color-blind legend, body.color-blind progress {color: #333333 !important;}body.color-blind ::-moz-selection {background-color: #0073cf !important;color: #ffffff !important;}body.color-blind ::selection {background-color: #0073cf !important;color: #ffffff !important;}body.color-blind img {filter: hue-rotate(-30deg) !important;}'; + + document.getElementsByTagName("head")[0].appendChild(style); + document.body.classList.add("color-blind"); + } else { + // Remove the 'blind' class from the body of the document + document.body.classList.remove("color-blind"); + } +} + +/** + * @param {Boolean} on + */ +function toggleTooltip(on) { + let tagsToMagnify = [ + "SPAN", + "P", + "H1", + "H2", + "H3", + "H4", + "H5", + "H6", + "LI", + "A", + ]; + + // Create a tooltip element + const tooltip = document.createElement("div"); + tooltip.className = "tooltip"; + + tooltip.style = + "position:absolute;background:#fff;color:black;border:2px solid blue;padding:10px;box-shadow:2px 2px 5px rgba(0,0,0,.5);z-index:9999999999;"; + + /** + * @param {any} _event + */ + function removeTooltip(_event) { + document.querySelectorAll(".tooltip").forEach((el) => el.remove()); + document + .getElementsByTagName("body")[0] + .removeEventListener("mouseover", showTooltip); + } + /** + * @param {any} _enent + */ + function showTooltip(_enent) { + const target = event?.target; + + if (tagsToMagnify.indexOf(target?.tagName) > -1) { + tooltip.innerText = target?.innerText.trim(); + + tooltip.style.top = event?.pageY + "px"; + + tooltip.style.left = event?.pageX + "px"; + tooltip.style.fontSize = "36px"; + tooltip.style.lineHeight = "42px"; + document.body.appendChild(tooltip); + } + } + if (on) { + document + .getElementsByTagName("body")[0] + .addEventListener("mouseover", showTooltip); + } else { + document + .getElementsByTagName("body")[0] + .addEventListener("mouseover", removeTooltip); + } +} diff --git a/scripts/text-to-speech.js b/scripts/text-to-speech.js new file mode 100644 index 0000000..7411e69 --- /dev/null +++ b/scripts/text-to-speech.js @@ -0,0 +1,150 @@ +// @ts-nocheck +import { generateChunks, generateToken } from "./utils.js"; + +export let textToSpeech = { + data: { + googleTtsLink: + "http://translate.google.com/translate_tts?ie=UTF-8" + + "&q={{text}}&tl={{lang}}&total={{textparts}}&idx=0&textlen={{textlen}}" + + "&client=dict-chrome-ex&prev=input&ttsspeed={{dictation_speed}}", + maxTtsLength: 160, + isPlaying: false, + player: null, + languagesData: null, + highlightedText: "", + }, + initialize: () => { + const url = chrome.runtime.getURL("../data/languages.json"); + fetch(url) + .then((response) => response.json()) // file contains json + + .then((json) => (textToSpeech.data.languagesData = json)); + }, + detectLanguage: ( + /** @type {string} */ text, + /** @type {(arg0: any) => void} */ callback + ) => { + $.ajax({ + type: "GET", + url: + "https://translate.googleapis.com/translate_a/single?dt=t&dt=bd&dt=qc&dt=rm&client=gtx&sl=auto&tl=en&q=" + + text + + "&hl=en-US&dj=1&tk=" + + generateToken(text), + cache: true, + async: true, + headers: { "Content-type": "application/json; charset=utf-8" }, + success: function (responseText) { + let lang = responseText.src; + callback(lang); + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + callback(); + }, + }); + }, + loadAudio: ( + /** @type {string | URL} */ link, + /** @type {(arg0: string | ArrayBuffer | null) => void} */ on_loaded_callback + ) => { + $.ajax({ + type: "GET", + url: link, + cache: true, + xhr: function () { + var xhr = new XMLHttpRequest(); + xhr.responseType = "blob"; + return xhr; + }, + headers: { "Content-type": "application/json; charset=utf-8" }, + success: function (responseText) { + let blob = new Blob([responseText], { type: "audio/mpeg" }); + let reader = new FileReader(); + reader.addEventListener("loadend", function () { + on_loaded_callback(reader.result); + }); + reader.readAsDataURL(blob); + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + on_loaded_callback(); + }, + }); + }, + + startTextToSpeech: (/** @type {string} */ text) => { + textToSpeech.detectLanguage(text, function (/** @type {string} */ lang) { + if (textToSpeech.data.languagesData?.indexOf(lang) > -1) { + let chunks = generateChunks(text, textToSpeech.data.maxTtsLength); + let audios = []; + + let startPlayingChunks = function (/** @type {number} */ i) { + if (i >= chunks.length) { + textToSpeech.onAudioStopCallback(); + return; + } + + if (!textToSpeech.data.isPlaying) { + return; + } + + while (i >= audios.length); + + textToSpeech.speak(audios[i], function () { + startPlayingChunks(i + 1); + }); + }; + + let loadAudios = function (/** @type {string | number} */ i) { + if (i >= chunks.length) { + return; + } + + textToSpeech.loadAudio( + textToSpeech.getTextToSpeechLink(chunks[i], lang), + function (/** @type {any} */ audio) { + audios.push(audio); + + if (i === 0) { + textToSpeech.data.isPlaying = true; + startPlayingChunks(0); + } + + loadAudios(i + 1); + } + ); + }; + + loadAudios(0); + } + }); + }, + speak: ( + /** @type {string | undefined} */ audio, + /** @type {() => void} */ on_end_callback + ) => { + textToSpeech.data.player = new Audio(audio); + + textToSpeech.data.player.onerror = function () {}; + + textToSpeech.data.player.onended = function () { + on_end_callback(); + textToSpeech.data.player = null; + }; + + textToSpeech.data.player.play(); + }, + getTextToSpeechLink: ( + /** @type {{ split: (arg0: string) => { (): any; new (): any; length: any; }; length: any; }} */ text, + /** @type {any} */ lang + ) => { + return textToSpeech.data.googleTtsLink + .replace("{{text}}", text) + .replace("{{lang}}", lang) + + .replace("{{textparts}}", text.split(" ").length) + + .replace("{{textlen}}", text.length) + .replace("{{dictation_speed}}", "1.0"); + }, + onAudioStopCallback: () => {}, +}; diff --git a/scripts/utils.js b/scripts/utils.js new file mode 100644 index 0000000..c3e36d6 --- /dev/null +++ b/scripts/utils.js @@ -0,0 +1,110 @@ +export const executeScriptFunc = async ( + /** @type {Function} */ func, + /** @type {any} */ ...args +) => { + // @ts-ignore + await chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + // @ts-ignore + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: func, + args: [...args], + }); + } + ); +}; +export const executeScriptFuncSync = ( + /** @type {Function} */ func, + /** @type {any} */ ...args +) => { + // @ts-ignore + chrome.tabs.query( + { active: true, currentWindow: true }, + (/** @type {{ id: any; }[]} */ tabs) => { + // @ts-ignore + chrome.scripting.executeScript({ + target: { tabId: tabs[0].id }, + func: func, + args: [...args], + }); + } + ); +}; + +/** + * @param {string} text + * @param {number} max_len + */ +export const generateChunks = (text, max_len) => { + let words = text.split(" "); + let chunks = [""]; + + for (let i = 0, len = words.length, j = 0; i < len; ++i) { + let nw = chunks[j] + " " + words[i]; + + if (nw.length < max_len) { + chunks[j] = nw.trim(); + } else { + ++j; + chunks[j] = words[i]; + } + } + + return chunks; +}; + +/** + * + * @param {number} hash - the initial value of the hash + * @param {string | any[]} text - the input string that is used to update the hash. + */ +export const encrypt = (hash, text) => { + for (let i = 0; i < text.length - 2; i += 3) { + let charCode = text[i + 2]; + charCode = "a" <= charCode ? charCode.charCodeAt(0) - 87 : Number(charCode); + charCode = "+" == text[i + 1] ? hash >>> charCode : hash << charCode; + hash = "+" == text[i] ? (hash + charCode) & 4294967295 : hash ^ charCode; + } + return hash; +}; +/** + * @param {string} text + */ +export const generateToken = (text) => { + let charCodeList = []; + + for (let i = 0, byteCount = 0; i < text.length; ++i) { + let charCode = text.charCodeAt(i); + + if (charCode < 128) { + charCodeList[byteCount++] = charCode; + } else { + if (charCode < 2048) { + charCodeList[byteCount++] = (charCode >> 6) | 192; + } else { + charCodeList[byteCount++] = (charCode >> 12) | 224; + charCodeList[byteCount++] = ((charCode >> 6) & 63) | 128; + } + charCodeList[byteCount++] = (charCode & 63) | 128; + } + } + + let tokenSum = 0; + let tokenFunctionName = 0; + + for (let byteCount = 0; byteCount < charCodeList.length; byteCount++) { + tokenSum += charCodeList[byteCount]; + tokenSum = encrypt(tokenSum, "+-a^+6"); + } + + tokenSum = encrypt(tokenSum, "+-3^+b+-f"); + + if (0 > tokenSum) { + tokenSum = (tokenSum & 2147483647) + 2147483648; + } + tokenSum %= 1e6; + + return tokenSum.toString() + "." + (tokenSum ^ tokenFunctionName).toString(); +};