From d6c029516184ea306f6d8b57600ebd20fcd39562 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 24 Apr 2025 21:23:31 +0800 Subject: [PATCH] clear ht --- ht.zip | Bin 123998 -> 0 bytes ht/cdk/cdks.php | 39 - ht/cdk/config.php | 12 - ht/cdk/images/logo.png | Bin 56709 -> 0 bytes ht/cdk/images/main.css | 179 -- ht/cdk/index.php | 69 - ht/pay/config.php | 11 - ht/pay/css/style.css | 4258 ---------------------------------------- ht/pay/index.php | 448 ----- ht/pay/js/uti.js | 802 -------- ht/pay/pay.php | 43 - ht/vip/api.php | 121 -- ht/vip/config.php | 11 - ht/vip/css/style.css | 4258 ---------------------------------------- ht/vip/index.php | 506 ----- ht/vip/item.json | 53 - ht/vip/itemquery.php | 42 - ht/vip/js/uti.js | 802 -------- 18 files changed, 11654 deletions(-) delete mode 100755 ht.zip delete mode 100755 ht/cdk/cdks.php delete mode 100755 ht/cdk/config.php delete mode 100755 ht/cdk/images/logo.png delete mode 100755 ht/cdk/images/main.css delete mode 100755 ht/cdk/index.php delete mode 100755 ht/pay/config.php delete mode 100755 ht/pay/css/style.css delete mode 100755 ht/pay/index.php delete mode 100755 ht/pay/js/uti.js delete mode 100755 ht/pay/pay.php delete mode 100755 ht/vip/api.php delete mode 100755 ht/vip/config.php delete mode 100755 ht/vip/css/style.css delete mode 100755 ht/vip/index.php delete mode 100755 ht/vip/item.json delete mode 100755 ht/vip/itemquery.php delete mode 100755 ht/vip/js/uti.js diff --git a/ht.zip b/ht.zip deleted file mode 100755 index 89bf97259511743ef1cc23cb36f2c0832db23ce7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123998 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� 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 z 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'请选择类型');window.history.back(-1); ")); -$type == 2 && ($zame = 'CDK_'); -$sqm != $d_gmrz && (die("")); -$num > 100 && (die("")); -$num == '' && ($num = 1); -$mysql = mysqli_connect($PZ['DB_HOST'],$PZ['DB_USER'],$PZ['DB_PWD'],$PZ['DB_NAME'],$PZ['DB_PORT']) or die(""); -for($i=1;$i<=$num;$i++){ - $cdk = cdkey('iguozicc'); - $txt .= $cdk."\n"; - if(!$mysql->query("INSERT INTO cdk (cdk,type) VALUES ('$cdk','$type');")){die("");} -} -$ts = time().'.txt'; -Header ( "Content-type: application/octet-stream" ); -Header ( "Accept-Ranges: bytes" ); -Header ( "Content-Disposition: attachment; filename=".$zame.$ts); -die($txt); - -function cdkey($namespace = null) { - static $guid = ''; - $uid = uniqid ( "", true ); - $data = $namespace; - $data .= $_SERVER ['REQUEST_TIME']; - $data .= $_SERVER ['HTTP_USER_AGENT']; - $data .= $_SERVER ['SERVER_ADDR']; - $data .= $_SERVER ['SERVER_PORT']; - $data .= $_SERVER ['REMOTE_ADDR']; - $data .= $_SERVER ['REMOTE_PORT']; - $hash = strtoupper (substr(md5($uid.$data), 8, 16)); - $guid = substr ( $hash, 0, 4 ) . '-' . substr ( $hash, 4, 4 ) . '-' . substr ( $hash, 8, 4 ) . '-' . substr ( $hash, 12, 4 ); - return $guid; -} -?> \ No newline at end of file diff --git a/ht/cdk/config.php b/ht/cdk/config.php deleted file mode 100755 index 3a0f67a..0000000 --- a/ht/cdk/config.php +++ /dev/null @@ -1,12 +0,0 @@ -'127.0.0.1',// 服务器地址 - 'DB_NAME'=>'cdk',// 游戏数据库 - 'DB_USER'=>'root',// 用户名 - 'DB_PWD'=>'mysql_tr2Few',// 密码 - 'DB_PORT'=>'23306',// 端口 - 'DB_CHARSET'=>'utf8',// 数据库字符集 -); -$d_gmrz = "51boshao.com";//gm认证码 -?> \ No newline at end of file diff --git a/ht/cdk/images/logo.png b/ht/cdk/images/logo.png deleted file mode 100755 index 94dcc36f7dc9bccdcd8501685da134cb6d1e25ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56709 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�TvkAK@^Eb36o~fTH$a6YyJ^_O~F{0VXHJge( z!Sc{kn2jwPJcO{8#}K;sJq{tPX(T}4(R;D1l5+pC{52>v);~jnhXyiiDGW9mhZMEp z6r#<*1|u1?@-E<%hV$m%^T&(fqwp(*4Si8U?6XAg7i6v-jP+}0qvqjlL60P1$&;%W z;jw%IVpmPTcI~Oyv2G%=*U&Mw)fO8yGz!bFN!Q33FjElA&bGxm#QiVk^S9*f%ctwpHF%U6}xDfbL<0V<@pLZ{WTB8`v-T3v3tuE8Lg;1>VyCf-nMuP3qrZ zi^fk#TlWKs%=_c0)j(7bK%6xnfV+Of@n)X`dYaz|YZDr&efYh9UOmP}!wSQlD`7qy zTD8?2KE=kcA461iJc_-faKK9*!E2^N zcG_?p*e$+D#mdXeTsb5XXAHzoxUonKTi9Qc%i2|k!mZ)B*Sj9%&xFhL2^1I{Nr|b< z{H*rodW1Wz#rk#A5o0zNQKmBxt2ze9h*Iwl9*;X0%7i=~-8c{L)uXV(d^ieh$6%NF zU~JVNfdgiPaDBUEbu6`0j3<&U#$r$45+vJ85t|r;lN(kd*=`BK-Ha&Q65rb8*jfmU zs2(Cy5XWPDi^rvTtQbP{IO?m{js82$S>_EiH4MmdbSj4D|M?thNrJ??2 z(58@7co&K9V<#%iK5^Z8&;5x=>@Asq(u05?!g@I(EM$a_>IPe^MlJ6PO6mR_6i8ZL zUBlieEo3>$W2d_u@>l#B?d1-4$QN>1-z@YNZD2YQU~!XKb*Xjh!K@u#q0JD~Sho zs31f~S>f0-?o5gxx=1k}fkM-pN4*`wjVCHMD~&L4#&gniyelUe?&@<8XEGl#77O5| zITr!MGTIwHeH=#g%3Z=3hwg$g#710%Yy3X#9d8*?+-$ng0jTtNwyaY5N7l(EF!aW`uk_XWfDPw`$hx>$+`tr zN?sZru!iD(-KhxGorpNqkvQr!0Vg&uK>Z7GVc6q4SKzHS5<4x1qR4SPiYx~rU4IbH zcud68GI2u_mc0qSNH!URJl9!BA*!8iJsF35rIF^UfEVN(gmfI93F#Sd85B5l5J&4J z4Cc?}uR-Dc+b7sWppfYxg>>!F*rPWJg+^nMuy!&o?vBN^ihNu1pXNtRQe;BfFMw%57w_4 zMlui)tG`41ns2dX&CiHaHpSIGM(89k?0EkeEpP7&(p>ilE$<$q zxxNMsZ>#a{AwADXBUF{>(*FM1e z7mx7v*?qizd7t6SCJtD;vJbE{tS6310s89?j1*@eq5$k0_ zfYC|~$?;^nKu@_*PnGS3n>x`t!{s<#B>5TI%K%7h0ctL@YR&X?r0yJ-Vu)tdMa>UG8!U4o>XbjFY>QaJC>7 z+uYY6Y~>*M5jzN2@^6UJ9E@m#2?$m1hY00=MFIiAHscXU)uFgm{$CKQ{O`zG`xCY* ze1pWrKOjZwC+u9&7pY1^aU{YT=XPwy+00EinY129V%(7DtB)LeMI3Znjv|YN*sCLj zgT!tQy3EC`9Xg1&QNjj0Z*hGC(|c-{H~048Y_2=eUR$KQSRyUZ5DC7TNDnYYx|cq3 z1NE^dhK_w@5lTvtYCQ+LJQc9RO-5K%nqs{GS#JE&)C#0|C?m;532}CE$abeN#bGvL z)(t?OJ<(dden_RdB^XmEA~yt^%qgB{MOZr@-WqcdsIv$`dP@@-BcW=6zsxKaq&d;P$Uba*I@ zMWV$FL>p1utUn#4Hp6i#Llzwk4D=uHtojZ@b!K9>#c<>s_YuZ;ik!#dqR$9CI<&qw z{}0$5=Y?2}A=vFcpW0|VlJtjTpW7T47T7207q9XY#}PyaBnp?0)LI-j}aVi6_+hL9X3OA35 z+YX3(iF_*er@H*U+`ko}{Jr6H{p(tIS*(S>`Dz51$RWst`rlvywr%nx;OO}SQ0O(t zcTX-L-*Xi*iC$#e&O?FsVr;frh2~dx=>e?*y=~{M%t^tkZ=6GbTR&ykxHAi8C#wdiU4MW)KL5N#7 z7+EGmu)}gR#o>t&*kL~!1;iRoZWl+>nW1zEOodkfGB{BA1SiFHkm#SJE|M~T zevXdGPz0muJ@>xuDH7c^u*+K(83rSfXEp}gEGHpg#b7KS_9NyG`5toyeT!)Wzs8dO zUm-+^2O9ffhsF;`Qv3>gTqnY4?zfoK_bW{5_cbQ>{{~YAe2ZBFzk~VgpAo4tkaTh& z3azH$Xn-=(NvEpH#by4?3WSAkz05#jGyMCh%zrErXWKzcG{VacPQ(@hOcW4hr;I2Y z8Ep3B9k&|sKP1K|#8>3Wy4(0+ow%?shQMGEd7H&3_LV`Z{SxGF@}q0r)VbYgBIV{C ziTOWoRI$m!4DnV9$n{ji_6P?mIClcYkyLo`{cZw?&Sq@(a)jqPW#Oy54KKv+4hVyb zB;w0gl%5v`(Y?GMWT2l9t~t z@DGq0{1cW8{ROha`$B2V0IZ%i6w4+Ihs@+LSUP&BwUraz8)^r!3naLM-A0@qVke$`c#BQW+SqJ1A8DpzkYhd$MbuBx>IBXvDr9hO@bmORh?hHj4OB_j`cWOm z;)rcO6r1!TAQ=W90{;Lf3%I$s!PCPV>ph*|ZKMWM3h^RWjzEUaXzX`hNUUcmVs$3s zV!61kM_5@Y3@VDY$9BSHVv)4TpUKB`RM+&40dUYOioLExg9BC|fsmx?q&N`4vk5%(#ekV<@X}L9oYOkoJ|%vrf)PyIsi=2~O?U}Q?3BCJ zHL$ec&xh+G%w#1Z)=42qeLhTR9H=gt zMfpiVZTVt&ubhmt0dug;Y8bWCPq32ik8G=n#3F{le92H~FBptqQve8-0<&%BLTB;wp5&nVcC-$h-kwh*h%%=TJ@ylY}JfkBB z@Att2j4T9FR2D7|?+ni0x8No7&z|0A?HCG)d)Met+Y2m#+fdoIx&_J@Q7MdxR;)nBo z2fQeUXBH%sqQgm*UPYpf8Ix1c~DaP8D7_!+7q#Z?_8$vpQ? z4NZB7Nd1WxN!SA)zi(*5<&(#uE3*hDGV|c4rwSVtIT(=g>MJgXxrQ8t8B(y*Tmc6I zZJ24PK}T^hl%@^G`n9ugtt3S%&2##Fg}S$| z&`@_1w~9S**lQjFVe<2_L^gXYY)VP>H=jQfA#CEbbbMfY3j9r1A=q3AJ~~SfXs`sXhAUA0@Bxo05FL?F z67pp4o?SsftPKus(8PXMDU=5)V!M|z_NR;c%rOWE?;dpWbQ-@RD?a4H@dF6bTZC-4 zmDu8_ipMv5R}>P9V3cL0;f8+o>^VZLHIeP5h%6sCt#f}bsk%v4D9ZQ5~A^2k> ze7*in9U|8U!^_SdR$5wc(p`ru<>drauh7==7WwHhD9TP1C@dRQ{o9wQI+KI4Y)g3Q zEW)gzKf#(}=}l`#6GP~O#MM6u9hGnN3zFCT0{2<}FJg#2WUU#9^c6o~tK4_kD*GK$ zSNwuY(fnc2DMarlqjX;`>g(%?Eqy>Ug`4ZSACJJdj9b6-5L95fn+uhzUth zdV5+T4t?B5QLG=g4-bfax}TNrHNvfzW2e_L942tyXE7doorx)}nIKGIeY&4nRqt=l zT^xwjK%jD8s0{rE8dC;gtBo8=z2>0IsUHs7{fymagOQ*+2%c(V;9MM7^s%coaYZeOi}huTmShDjmAPYPRz zsqMAuhhtG|(A^>~O@IF2I{XPNO5KO!r2ky(x0#58`oAJd{#zX1!*9ikc@?DwV2kA# z9PnLCG58$hSWZO1n!(tc7WgsE-;|zed}zLcL)$js!Ij=Npneh@6&-&L3c?rD=v+JX zON#3n?68}O3lR%Z?m2;&+(<-{PL-xO+qPUo!07OioJlm7vU6tNSx9u% zKuLr)4z5>1S(FYoSSsKaDGeKS3un&hJDW(vCBOWT#}95I#6*s0ksKn;mgCl0aS;kD z4?lywhoC(Cg3@|NY;{w_UdsFG$pe&*DI9NR()+q6iAX`|eu`OzE!X*&Br`h~O3P*7 zVrGc!O(D2=;sD;ge~D8^ijfg3Zpg{+)bnr6gEH7?PJxd6Y=k;#W96tHg%@vPRer&y z<$poC>etBA{sx;@{|uYy|AsB=NK2&J%))-hS;!+gnQ1-;A=h(C}j7+yO%8}6b!FAR-!*NB4drI4XNq=$bE zbLAPr8<*R>WsvVU6-AcAP;4;*$+{!qxU4Vc4fzq;sw;5qhPY@&2;F!e0pXbI!g?Wz zUpw*i;SKWSbp#L$3RGWVjRhMDU*}Kn*P^HKCOYdbqV3%^G{3oyrkB_8{^46m2-$o0i+Y@PuWYa-7xayxdR7Az;fl9)<0eQxT&(8rMt3#b(0u-@iq}JAT`i zojHRwOFJENe|!>2dWmqqO4cguOo@iW8fkJmtB~TON1&hxXFU}Pp=t;eSoyf(yq>+M z0hbPBz(Z9UzN;1?#a<5iA^J%4GevuQvtZbbBy8NmC@3)oenE&E@7>!M*kG-OIJ0Gl zwUWnq>Ug0r!dQVgN6oVkd~RQMA~rd%#Qlmm+`r6URiesuwV<89?N8T#Gny)FrqM(O zC$99XZ)il!rbw9TYT$Uu4&1za0<|xyQGNd=GUGO(^<9%Nc*I7#ryw3{-|gLxkqn1FezV&yg@#d%wO6?sukhLaW_XNe|VPe z@8lR(XcHDOtP%!f>6#?Ol2AMbjjT{(Y%!UHeRk83vu-#k&3HuWQtbNZ92w;sTq#RN z*=AGfuTdz7u*8Y%NK6~>738Ew;{KgH+&bcbbe9oGF&&NVhLebjOTlF3FIY72JNQ`} zqpj@|eHG>N|6HC{w7q|ZvR&yoRG5j@rnf>U!DSTRd1*z<+gqru+KZb9qHrSF8s#zi z*cESv%m@Rd_^(Brs~UME6$BVAhTEE12r*rN(r^_NdCo_U-3;tC8-#O?eQ?lzIHIYp z(RTB(J7gKo#4N;FmmhFFXaaU?_QC#DUt^!)AcSg9N1VM3;w@xQ=&OK(0n>26VGQ=0 zjloWn0m!f%gfxdG*zRwDoq?*@6{3Lxl06&Np_s~69B+h!iRP%xal@e$YwSyKMwEv& z>S~EKaJ@-S1z;5VnB}*i(D>#V;%t<#%S8&O0;l54`pLvprXkUKDty$(!Cv|oIL-SO zS%$-Lz>_Js(7)@9ZS~ zLJx8`hrwM(4iOXvMcJyrdG$PUpz@!Af&dIey9wC~H<}~WNgd&OD_|!- zA2zacQJ%%?(fQM1;`)A8U@=an_>2m{2G7$ZX+hT5>ZpQric`zC@sto74Ht~(hsE~; zxNuj_9*4E=3iw*8p(J%Zs*dwZLS$H!hwwTv=f@o)+)pflfPq0lc$K^NTG_#3Z1DF$ zUglQZr#Ps!v5vfQG3sB4aXf$Ct{`tKP9OjD3A@T28{s4UBT`oVg3Og<^jbe+ujME* zm9A#=so$S2g_sy`WPC;o&J`$g*3L5xKhMHhDdArC4nTq0o)D{KdU zAD2rKut856F4AM*vtlA*%;eypJQJDW&XfmxU1CGbu=slt+=i5|1PDbVB(RWx0_B|( zZj2=J$=GE%9*69wA5({)5{%6C*054t)VqULJA_xZIj*I8H@v!zvxVU(jM5|Kr-w{0Rf@M|;cc=E zu6m2%qO%b8Yv#g1V?ONFXTp5NSXe5JLcGCff$|sm$rC6HCr}uIqh7P%sx%M|szc#N ztS#MW0B(nm!5NQ%IN~q}hYi0+iR}ouDG!IE;wX41jzh?r(MU7zhdp+qu+M4|cH50c zQNTc+C6;#n!`6?lcJH zjze+8t{;wCe~p{rV{ycP26V^&1#|oU1=C4p^!*Bx`+bes{l9?;fkK@62xRF}8>#j~ z0`+gQ^<3ont0E^@8#xhXNDOyGV*~4X2RZ9^sJe6v`*-IMXb=PCvXavgc4z(rP~hL5 z&UPdQyTR8;3DFLk2)Cg2Fj|HnJ1x}L)%AuCLgHpTy|o8N(rs}(&IBit9Kj#-j3ru8 z7_=6*kMq6=tjMA_6dQ}YCfzG}DQRy~2sRT-$njZ=18L!;+-wAVjp;u%ID1A)Usv}A z)>eiH^S8$FtRQT5)5X!fyqHOBbU}ptnI4f5u@@G~Nk+sAFog1wk+!xAn|R*6`w$&1 z?@@dIGTyyfy-J8h|X-?~$!ZhCy_5Z{P|fx+q|S z+CT~)en6(ux7cAY27dBG5oW6`tTX2qhJ*n%VhO?+48IS+({a6q-PwE_7YZy9p)mp* zRmUStb|S*%rXqaxOvIQhg1g2%fHvC~fhC++*7()I@w zJB`7Sfay5oJO&v$gOH-tAMt9xAc>SOR(Cv{2~fYpw^N3z>1wQ1mWGP#A}Gm7L0NhZfeWY1m{m7A0;oQDQO#AxryW@rWNVclh^MFzh=-s13%| z4O4O0dl)K$$K#mu_t>=ZTP&q(Qp10M^oSp^cJfaYvW~_+?*+)Un1w=5DWo_|hbh%V zcIFt!&7BCvh0~z8WHwY}=0jC}5!95HL2H#f)~PE)M@tn}hPt?Y>zV-0ZKTuuLYScE z3<^AU!mNnS@cpLEW z24CYS0p1zs0XXaQ6V7@M!igvfnd0@48SREBF9(FWI$^!HJG{-;!gwzAi}o}mX^ldb z(Ijlv9gAeEx!4!1j(Cg3Nb)g90EIw$znH73FlNR~t+k~^*uXX?EeUzKSs%ebu$hl~ zC5i+TS{vUZ*3W@-TT9rIAksz!5ti~;Z?~2};jIV?0#)yMhx>;&;6jEmQr(nW+D8;cr;2OG&Km?cQQ>~#J>9>r8LCCgFMqs(8Y)aZkBwePTX-9S`i z_#nei0|^v9q^b`<=Bl5Os`4v5Wd>7ta#qNnfkhbapkHC_1%(VEV_>Fm9c@q3kmtDw zK@=lKkOVIoji5!N5vDi^@j7!5XSxVh%F|I%ltE?TwqRhO_Tch!IT_W3{~S(;b?WJE zq<&CEmi-Lucb<*|_Ty1tF$!CBCKB!Z5w`Qb!yYq1c)fAZnbij?CJ%(-j3HP( zlYn9FXlTzL4{fQ*ShsjOG^FR@`UP=`cNcFYO66^Mc^5n5U2w4^3hqYoP*qxvRf;k& z(9wgvl_gy5Y~bbO3|AXlI9Zy*&Ds?1w#Kl~QHGE9IOMs{M5@J9>~ori9mazQK!?LY zT?y9O+OSYrh=_F~aV2sdPOP6qz%djRZoeR6#ka7e(AIw4D!A#W!bWK#HkpsaF1Pt8 zc9TU#v?kI#=E7BbE<7ytVQ;MsX9s<_I+?)3%>rH?w($3LK_IcrkdOc*Z%M$->*6~S z%mg|J6vQpqMEw)PU$zl3#N%{L@7^Jt*oBws6!<6&M!fk{ILHl$^Ga#7JUN2f1==Wg zAC6L+{@82W57*bv#tFNhaW>!=)F0EpM$@f6k5zL^ zD!HpB*E9JuMitx*ALUm){qhlVs5free0Wr2p*sM1e z`(37!VN64o)ifB+9*)_=e!x1Z?~v~`9fw_}p~QF?cItdZ9_m+YFj|aQCvTLyEy6Xw zuaMy~1WHsUqsd>RK>G)zsP#dn`j1Fc{~5Vfvk4FeV(Rd|m_BL%W{w?<*%O9i{^Ze+ znm!&2XHACu;)Tdg%@F&Z$|>&KNy_!S8cA{f@NzMM=4yGwM*8F8nUi?^;uRX3-V-qM zR5#DckPt|Bb%@OI@|nZ1Uo{FDM2mNrPDcT+zO)-ataLJ7-MJ$?r~2M`MC*;fwTQW> zbRUHZ=TSIj`ZKnu{)~rLKfR^7E6EdK>-wP3ZZd@y^Ki(E>TWR(d(y?(2mYP`?^Mij zwkVzCMR^wGuk}eBG-beJq5c+x9a`^Np5An=O|7ugUIm$%Be8tS5G^>)hz)k*Fmu3HFqRnxch#v#cGJL{hvL`2 zcxR;9MR8#c ze9cy)x_8!(?TmFuEHl-M>LQulx_Q175!Nc$Y)cH!QWhJ{9gz^d9yhO^#M1}Y@Z|n2 zyna?A3_fzY{|G3synOQ%nf~&~(-?qUHKNZN{jtxwFEXrV;^pHzNcUci_*Fk*GldXo zlqN&@XKeFOCC|Y-P?1s)GZGAf@)CfJ2U(j=q5F*wipiU~FBnWfFdiNYhr?fPEc_Kl zA%J4%z?BmbL3A+QVj*Iv0|Jc{V5g;s2e-tLZV?bDPhKa&)30>Q?29|JqxB8W=7*px zSQ&dACZfn?G7^Y(`)SEzUv?@2%w{6XVKk1oOvN$VNjPNP2NBZ$jt$1@cy;dvirtrB zoBB6!lpTnPgT9BsjGwT}XgFdOC~lSeMwkbWSvwJKTFbD1R~`xrcVW+-Jt*3@3;T<9 z;lTbP94tA6Ygcbl`NVb<`hgXZ%K7%?GdNi3Ltk4J7tS4_>l{vf-tM3E7p0dRUp`X? z3%Q{PS09FKz40ir8HR(tqYz~{4lnPEA0U4A_zJ=_2cW`zBr04-pvdG`oUrVJMD<^B z|H`Kwxb|lFV}ovg?6#YNe1nO|GarxOwL`HxO?)Bh|DSMqeTF>e?MD6P1(u zf)^UHumck5oCB9RgAlxIC_Lv3hP%{I z0t7PLRTHsZdlurIx_SRK`@Ey%B zknOVu+bMk5VKy8&Mk5iVJOIg_w!(c$e#9aS$k6rrp~PSy_M88Tc;(@EajgtxyMmBt zJQ^X=KVkWhzYrT!5Vk&J<4IoA7fIxC6V&^|V&+e%{P=R3M2Y@DxDPmNAj-=BdB?4{ zFJHpJ!T=X~x7QcED)nne8+&3-*Gs(#LdN=H~tavtAE0sOOiKiKVVOqKf<*M6zr!W zUw;C!jYcDYz^1Sl6qwbDVJnNMLlTk90*TA(Mcoo~wO69ELLN2^@9haqqe~OUAY(abP02aes87z2z0sBODN9u#og~Ha40pM!4}Z zxN9sxNpA03k`hq3e6$cb-a6Q`(V051gA}q2$-XAo9kddsVpe0{`Zajby9om`1!10@ z422*136XlRCn*S#rV2>5QAE{|-j9_^8eHfMF|80zQ2KVtr=6ZBq$A;-oSyR6f~p_k z`RnI&O{AP+2a5UpugJwiTM=V066solkg7s#Kz9h@jRvEb=qD@sW;+>d(ddKCYlk3_ zm_o|RACc?3hQbGtc8Qy*u+dV-bYDf=+d%BwNU`nA0a!0R2$2dy5wvVDyp|4z|LO^_ zQ=9-@>9JTba}33Sl$XxKj+}J7di6q3N?|b=k56zrP}_2!2<_SP z4yo>Hh|w5<4DG>4T{i?i^8Jyu-U~fM#baHUB5vLH#A?1qhWuAJN)&sC#avw2>y6yR zh45Pa7cB4p6|C1N;K7p4B#jkG(-)10@tSJ$| ziTj$zaCrN4>WlW~w|G(W7@h51Xl-u6jcb=l7uaan8&Nt203P>YMeL=k!t^Dd6Q*oG z;Od3LFq7i}&WYHvYAE(ujY6^KXe8M!#GA+BUK!Q*Pm{3^MxoJ9DA4}_`^@{`q+Nd` zYW2sRE1zCp-<9lx(6tm2+D^s}VjVjyC&FKCIP#PEJso~F>)aoMf}l^ruUIbr&#aBx zffBu^lD_e4a7FH!6+brK43Ed4^n2K#9=B_hI|Xt z<#M=phrKvY9d_be**>fq{39$T{e%nxvJCycNTpDN$F-t0Mq-Qc9Bj5A!0=YX!9+V; zC~!qpu_NwQ_~OBFf1KaxisBd}Bzr8xCdYY*@=!*Qvnc@%?`+N?8?X7Hx>0$Bwi4>t zg(u`3qny+bq&J7c%sKGaoP`LpNPf*WEvY!WA;$BrijpJJkCnVrtCXO@1f{ zP{q+OWu#j##p6rj=8gj06_7_X(vJ@&Ikqy1H@@=#6n|aS(QFjG%VvKorH$yWPnnks?-D zk3qg3ugn~RNIfa|>JP`VVPC;PNd-;sn(?Ii1_E>@5<4QpF&&3wwLaL$^Wlz4^eo;| z?o<2ym2kTY{Y{MW^g$HmW&W;xN%%kMg+OfuBjUd5?Jxe%#>sm;(*J80jv~x@2{s#z zL;AWg*lj)>+bsKHlkqIPd?*f-)jT|f2)&^wa~y(WZliF_V=O9censNC0l0PLgqSZ$ zL9!QthX@L}I{#mLZyi@vy0(x1{(s+h&XgV4ba#VvN_Tg6ih`(sAPouvDh4)ocRS87?+#S2PZ%Ns_p-&!p`b5-%1ZT^A10SF4!;|AxxUk9&jlrbWvgEKX)*Q>jG_kvM zIBNX+z?%XgXtRV7Sk}?dlQ_0Q3(IV=kqY8#Fv-899{Ek;B%!FR{Ht&`@1+$=ZD3KW6%_= zhS^?J8AHb)CqN7LACN?&`_>UD)O+{Gj8IwB2T&md48)4E5Mibvr~BjEC*&S|gCCw3 zV9N{>WSR9xf$abk+7H5bB8EKs5m;PkL#~1rOcaJ8$ioin$VY$moF(7S(|L=m?Y+CV zDUEEwB&7MCDjYW+$vOA0A3JzXnaQTJ&BrSioxq0*0c(;Y%WYACmVE z2ru!W>lr@0q3<1!@!|DTeCT{d-(TQ;=W}#DyNxYvGf|!qg1sBM7bG#*lJ@*9924@b zyS#W^4R6BBd3o;mULplO%umz7vKVbF4jzJqF@wl`P$Me4JOQK<-*?_Z=ly-Sy=OX(HMwJJz8V(A49ALuG1!uAgthS&nC&wP^XPq= zqvbHwaWGbt_~G)IbwZf?r=*102p--z7qy|ousoSu*pR+xcKr)xIe(5Ox35V(^+mD8 zm#A?cgc*S&F(Y^s8pn~V<*I~gS8`9CM`2fMG{#3-!rDj!;X#quzgLWgB@X+GZH1@S z_nfcr`q?#9<#=GcuLije8bk_OD33J2j4V%7We4H;Lvixf|Hm?s*^d)BuVxBf^Hf|( z<2|@#9j1qwV@dp);YOb7zd?nmacxqc+VGTc@~_mCMBI7mtPi z#lWA;R^s)d3=@e#SV73L>LdA2AMWG*tE;$oVIOXt-izl?#8q?5e7`gyQ5j z_u~GIXp2%Nmth1+Geyh`RK;|sAt;|1CH(*4O&1!HY^V^v#&qw&YyJc+xADc6-#h=l6f9TcGrTTybKC+lJMxEG*%y9OV8+f zC#;d^u7Dzh{uO3+N~`FzbN-9}T{^K14T)6Ia`dn!UJh$B)DUev0DD%hq%?P+CPf!( zGKOJ8$k*5%GZL$!`lBZFGfeUN47qmneu)OCD|SS4xieN*SYX$*F<2J)8J1FIobNjT zb ziTV3uQs86!4qVm}QsDntK?tP&0q0L1K$yiyv}G8eEleFNqo@%@3?NbVxg^Ut?B~49=hE?r2;(b3EmLKXRKCu)v38c*tl>3)aS_C1Nk$~VKT7!^#h86~V$SQI-1HKfAUB#}!)?^YW~*1f<(m`fw9E+#B0%|NL~f2_+G zgXK|uG0XD{)Hr^D3cD{b(|rJD2aQ6#=MXYtqfp~bp8@JrCzVj*DT|6I4Fs6V!^h47 zs}`@pXw zDZIzdl zj9Gc1L?ZTBSDAo^cQ|GOTR`@kMN7e?!`Je&L|MlD29HQ3oW=c%tBIiMaC+}z9NW19 zyEm`InKLJam*d!tqFNANQiNETLdBDO=c%63g;XEN4_;UpkGUjMTLXrpj{MkJ-bzT; z?2iMI*^ci!I#C;EfpYh+Q0hY#ixfkd)8|+?g{&w)WD$n#OhIIZC@Qyh&|3&aM)dBh!3?>N2hIp`^Gb0?;)rv(+BPif~4EM|6L zt%&6K@qO(isnxMQhZ=v}2&_z2La=s!oZ5d7ubw=_G;#%2r^{ex>|ksn`MQ6S8kXfN zqP@@yn@WnYbXpN+S0tjXG6H2(nN~%Oz&f&Eb3DF6t4AMH*?xsek5Nc6AB-3?8D!Xw zM6UHPmdZ%7QAeV!HqzY;&^$3169Vk<-EMJ6RcbtbObYC8b25=drQq#GZxqm}ET$Yg3J|B6>Kv41G~YWilsZ3@Y7- z1VYHwi%~;k&`5z4rU#5bF%w?28Zvz}5MpbHOUK1NKF()hr)kP(VRVp;C(ol{wIoPHXJfABBS>Z36RxQDyed2hjw6O2q zyh2RkO;+C-+smx5x+)S~FP;gR_>QL@3!NSaK;HL~hGIxH57dI+!WNQKTZ*9Yx_Ev0M(~46kcH_W-&3N^iB(2~| z@Jn_#D&fUhdh_rMH7HKcn|Jg)$%@4@yV_70q>DL0N?1s~+Wa6nR9 zk=%#Z&rlINfy0{AJ;- z+7DK817V{w42~KjVXHX`Hd=D9(^Z0_kvg1BwBTiH1Y2`MGKytG;3ZND)u#S zgQ7BE_lF7LeFwb{yM9zrxuceq5RW`a49A%h-=Hqr5zEFKVnMtrnnOlmCRO;Uek$ZL ziHpvzUO9z{o`bP{{1_Z8)yI|sHEc;AjAA10~`p@i8SBB6^%Q5c zjw+<$mkR0Sz%ase=hu($krXeF3UTa+Hy@u<-FqV%B|2~0>czMaJ=U$7hxQdsc=DK^OEO7tReF*FH8!r4+_TNS2hNYGY%(XRPsjmTRV{O=&>BHW_ z7*1AZaIi8*T2dU&pFb}&$d|(Eyyxin{xm7NR-psy!jTPldg~kf@P_-Pc*km94f;kT z1}Yb+u{m?%Fvk07U~#q{=EN(K&pZruA+jhZrSR~&7`E=})y?1NlQM)ld@}x8G{D0*bSkhP(TfFMYA~O{x{Ks6u8baZr!dI31 zdpX0=%9zMdpYlTs7W%5N)KMUU)Q7R!NLcC0Au-$+E0!(Cv!{8SVlt*ZzDndL zjF+&Yx)96roUo^M99B;E!`*Y77?%BF1RHUfjx7ddsKmnUTv3O%iQ}+qMhJGbW(ply z!tf*gC(1P@9dXkU4tM_X^>dtT&&B-lwy4QW#G`xN{`hP9Z^ODa^3gf!kCYU|$|Znb zM6f{5=~LY5u1iSQOI+W-6z%ES;)sLS2(l#dNH!jfbYDkwc6CY8L)Q{1REN7E!;%`m zOJ5W^`~?Npp9_kh!uKoWJA8%`B8q8_{gH1q5&?=bu#o8|SmL>JN^$n;0bIGf4_A)w z!0ij);PLfic=v+Gn3*)$H6pxaf2|8g53InlmK1DSnuqo|lhHn}98>)Y@4Wo$@KgrXDe`otTTr2o-9>NL)s zIYl^)^Jhg|ICqvLs5nX?M$&qWu2-k9Z&@LVVr@~B;)dc(U(70w#P%gq@c1rAF(S+L zK@3|j&hZe-?b`!8kl~?-1sOVMAqzh)4oOB$wpI_Fox{QXOdDm zN!0S@wy7vhQbt{(I+1}U8WQvcS7=V&IAr;mVzYF=*Pf)n9TC#b2{!c3iA0}&_cuH@8V6r-MR=fGaYfLISj3twz%}&df~WqvIi4{ z*jQL@{(uK(cVk6?9a<8sabbtpiPZW21<8A|vTxtv$hW(2`xZAE?ld7q@KaJ?w}e~^ z4$dhoToR65!Tx41EDn-KgY#(2@EV08cSVd-8H_zU#CH%#f!&!m4^SFtf^1R;6YRc3 zp4Df_8~Yh1SpOfg#{MrRxO|0pTLt*(kvbUhHOz*6jwnkRRHxdZCc_blu4529Rt8}f z@`!a%N3xq9@Lvvu(O&~WPMU~xw?Im$3!=QOaO$XJ z0uVPIeuu6Xm{;hDr8#QYkf)6Gc{)h5AW4}bc8-3tWe%p3+}xF^hCPY>u|IDxT1kRm z*emWe$d&u8L^|H4=a;&VKzrOMY)+EFM&1j8ByRrL0mva&swu;nh(j7B>enIm?GP!D z3Rpk83=5{jp(-r^*X@6R zg;~*L0V77CK6DHw`^e+Lb+N(UBvMFs9EP?C8O)C&pF4OUR)&3vY4%?TOZgYqO~TT; zV$7W!fVzkgnBhZyyw^xHg~}q&OBPES|4#RT^P3>;<6?z*>-KFT`3t{r?k|Cr>JNDF z;3`@&?XWOys5x?M!8}n0Iv+`;FKL^7kvJ_n^R60do_{g$Nmd1>vJm z8=!#lczdBPcaUqgXYWBY&727fEk&3s4I}q%1f0}HA;eY<1@UfJGIKHxY+i&Vvx;zF z$4W9NVpJ)1AB12mL=2BEZ$L|dBI-zyRfVXK+d$+HtA~a(OB6#^1M5(iM214?%uff>4Ou z!76sbbmHBUBUm`m99g!1LAv>0sG-oODG`G80OZ+^LX7cH7!3Uys{Q{DmJ0ueB-f#s z5+;ihBAiUiK}gjfgt)QF!Zu|QZh5S+CM$XGD!t zMPpeiI$u4+ohuiS6yk&9--%=I(qY%9x6h(A*9t3g6tOl>1uJrm5vt!G4HaUTv7Jkb zQRCMaTa)FmGiea^7Db@7)JMrAA@blBd{w^6LX_T`Wp1d zBzJifQ{L=f!2xQz)f`{Wz}|6ObGok8u_ja2~6VXcr^w z-y}wtdQbT*Y>3KbL%)w4+Kx0TlS&RfPwvsI$kC_`9gWfuRXn;b8igBI&mzr!IA#a* z$DGI!lwMgZ^7{-+sd8s|>LA8S4)Hdc$o3%rI8cUE(h$rKRK%AU0iBTh;m1Kf>VKM?K z@J6`HW5*C#$>7A+?%lYgd3*W9PD~{7YE4weg2*9Q96E&DLmpYM#H*)LS5$0YSI(Zt zyoPGThkC-nL=&c(vhc7qM1E!r(qaQqGi`#fkV!DQ!bl%o%d;Lk_Tih=wwRMi^*_V_ zO|iOYO43Drk}<~n8zS664~v?`ZRo}F5#Rq4Df|?l7Ec^Giu&9@tgCdxs;TzaJHK4; z-@AlN_}Hs^C$YEQ zAI(0>XmX(j=&Obd8(FyMDdNIKac;e+Qr?hnb^@DcC!#S!3Grs1kx%y-lFj}PIgUe- z={OoLa{XY?_kR$j|2Zam{RNYK2O-+DAKX>GhP`}W7!3Y`@D+4q`aomMVCX0egAw`X zR=P@XGSxtAperhi#-p{m2$KS>gw<#ne!6&eU+hq0tX{MfySHo-zDpzHTs^jlEU6A= zM+`=LmI~&k7{Xn>KiZdz!D}|v$5LhLi|r{&Wc`O@eO7u}yVC zyvFqjBk26m*pRJ_Y2G6-HBcMH!J24HFd|>o5U(Cy5GvuXkphFydDHb8`RS45`b6Q` z6Vcs!{<;&Z*RF)8gDHY7wXwJ+kLn8dEpR`Nm?l2&$o{QJb(ceJj66!Yvom}IX2mL@ zK28spkFKV3KH}z;Q%G|difWh7Q03JJ)&7IAF!*a!x%Wq~$w;J((?Ym~8hrH!qtJ68 znu3Q?d5=bOgaUGT6Pa0mpHkp@^X5Hw?sDIc*k8pP$WF@hlG1F z8NB(xb4}>nH+=q4ytwIy#Z#0pGtvibGSoN z`nLW+Y%0Zw~wMh45gWPRp|d*-BqMy8~+~WAWWASL~^>CM6=W>c@{Aqz=SM zB&-6YD&}Y4|Hysdh`sFVetdfaPmfN<`fMZA+N-17NfDFXl;NT}l-OVN?L<7sscmym z6lsfihaqHjK1Z@mU!+>gAYtr4Bs&gd9kYg(?nCS0P2?4pUML^8LSp zjgbu!5>ipsP>;pSmtftxwOF@y4cg|-MO{THCS)cdD$oP&wj`y+{s*G_c z%L>HtL!vskb?qkZ-nu4KP-$n+k&UxZM}Fp_guz&qr;4fGvT)ZMj^n3zA=O80oldSr zWFKsblf}xo;n+1@8_Ope~yOV8Yuyx@y zRK{CiVWtTtIgiBh+8p89zeNg+Cok?HG0GXm1(A6A?2b@h-Uu$?513Pzk02t%hDnil z_lD>0i^`0_-;eCuj3k#aC<`N>n;Lrq`QCF9)leU+gLN(9M!L7Io7%j08P$`c za9XmkjMo14U#J8Z#ZRzQ_)%iekv3+!a&;OHFZzh1~!S;wt)P zU2nQjTU>~;+(+bTq4;uo#geA#vmM+VTPr}fq45| ztX%KA=#$+8uHf|9)5Ylq$)%64D6M>)GNW@IE-V^{dIveobW_4KFAW6hj6k5RIi9`X zLM8w2;dLx6jYg{ZKm;2QOa~*%*b$`U0 ze*u%>{|hH$RjgaH9Csf-6W;g7>FEI;dL?3ea_<%<#&{vuNe1N+YN*L{#MY&y$c^(s zdz&=&UI)FS_}*-NR@bJIgm&Mra`GIy*`c zaW-RcR9NlU;~jnhqEdK+$>UQ|F*zIe@86>Gq+@SIL$Yn@ERy%Cn3)$u684dBKG&5` zq_BSzg3X5_k1Tu@_Xk7_M`N@+Cb*77@;F6YJhcz^Zk5vex@(mT2g#+0bBc=hsuaGv1G z3GSLmTHJ7jbuzpO(|a<4Z(rjB5gIRkdMm83eT|pTHsisWTx_f!i()q|)Q6GFkgku~ z6fIQ7sbc4XAW}evSi5Y7kPbmn@~9mT=L?4VS4e?-`Nb$hKVU&iEvCjgVr{V-=4ZL$ zs$}lD=swWR1Peixl~_|y3-q8juU_Hsfn7)p@jwpw*vqGcQ{#8Wnpxz2yq7R8ox6Yc zb|gBRVdFFxoSN^5#u$BUn=@OuKhMr$M&>Ed(v@sN@KYuV?ywO$Q+OWwJ#r&%;@#8b zxV$A8RW9U1IVhlxtkG2ZZlg2;d$x-maL0G9C(B}tSiOOWHyH>&y+N>)?SpZO{Sl%! z8sS6=QRX8NX!aGVCODw;`B7v=IU>eIA6hbhL5Py}c4H$dl8sR4PLkc94P1URnbCj!IU5!biO=C`NS~; z#B%I-cm?xwjj%j*6t*VIVrQlv@~j4-JTsUq4N^aYDU%Y>LSI8%x z$R&-@d3fJ0L|KeLMc^1z1&kusU<8%BDiSRR!d{^d63O4K$`3+qtQuxV%b<$#VS3ak zQWB$4mqylm-y*DET!ASW0Vo~sgEXHp^zL$~2-ie&rYU9@*kjikp5`o0u;a8!KZUX) zNJ&cS(%id#4A)QY#PbJ7uy^Tn6vU2$rv)j^>=^86Z^4}MG$aQaB7{gQC)%9qMkvl4 z~AZ@R1e;%i_2?>uy_vU+=|+{KLDCcz$6$j;?jW zya}?H#PvVG1kJI=s3S6{OjNR|)_E2JQ}1k6hG z{oCV5C?j0ZR^Wj}{-j#ySv=37i->^x z5k9i-#N^QR7#-JF;L3(X>?pTJ={N;cxT>I>DrJqI4q|jiqP{R2kMCY4)slo*lhKGZ z9Exbu;TWej7#hO|KwG9CJk@0oqCXt|8hwcv1|Zz1Ke4tYS%y*sSq+1?`7k7sWbNz_ zBQyU!c>DSePVTJ0ckLl4^c{{|+d-J>r-*DHvS>wdn35ic^e}(Kdt0J?Zg)uXD|;HS zD0(oO{raIPN<)Z8=%zgsrKyhC)RKfFb7HVKbQso!_rvbYA=oxa1&bzF;M{KRZ+IkB z9O-b>onu?EEJF=zQift{h9cId=px-{2-<}XrXNsWT7VQQvRL72XiHMTc$bkVPV~Ts zH%zuviODd$c}MDwtP~HI^1K7?<$l9*lm37D_z@o5y+b4@R?d@$wjs#Y0LgBusGk^4 z>3AVnz1L)kUXxGE=N#X+6Zu|Rm=Uaqxdn(pcg<|gH5Cl4y!NODz{(eCS@O6ii zy#XAom0)Q!0s++Evivnr;G>1M{6H+uA(h}alE_U4c{Ze4QZ-SNVGMT@1)M(FJ$%Xy zT&k8XojrgFe(GqY@@Nc_L1TyvrumFQag04WUWt2k^0}h2U?m{-d$7C1N>Yqu#>Vw2 zUVVQSC$^MgO`#5EhRUIo@^N;YF&d)u(Gagn>Qn`nb|vE2cT?f+u7@pKIQkd0A#OjE z4+4a?`!`8Jd^jiUX=ewfk%VqYcf!i4epp7V`My&+X3ghINkIZ81>r$dDev6EwEPVC zJKG}3!y0ADUYHW^P0TwH-#-*5LhawW3NhBYXv?z2zB(5y9j}j-NCt7ABn3Z9nT-#kMqY4kpw)9YiEw&_PJxYf9WJ1Tsw~&=TGD8;e9x`ei2F& zT}YDmMTT8JjCbgVVvix1O4eXdK9I`BHY6k!5+rgv{GDZzPl*~3!;Xg z(Vr}&pE6vP`yn^N9c3A|RKR_)Bz-W}Cy&P3uwmGqPVz8FMVOGae?9k>Qv(pJidZh^ zc2r}1K9NECP;AMN#gZ5`B$$rC(S4$F;+?(24Tqy8LK7`f%BYG`Ku(Y$TB|1D(LFJ? z0XHI^eAY$xL!D~zokzi zt+&r_WA~CNC=4^llt?qA_>yZjuND_C9>LAqw{Yg-S*%>W5-IViFi=s0uHtY6nUi}E zWb=fg-Kv|+Ive}xpda*0!s`DIov zoQ26G|J(9?(46ZdY&KHpGE3VdV!O)td$5Pf!ayhPjV2Kc+$!^g=Q8Q~r%%Z|p( z;xwE*z76l+JVR+x6tZ1(vAJ>_HkX)U%TybDR~LsZ6MS*1B?mXwmgDC7Qrz7z84tGQ z9VQUjxi{H$<6*63U4w56uolma`f%9Cc9Qqm6u5Ws_u(3gN>wG+TDXwCi7~&2evQlBBBEoh0A=aP|qICKrMxT6n{XPiM8bB&yAbivY zlA;)mFyk=@F&KtO^cY) zAtO;4IuZq5@|Y6ph@aBr8Q_t)WYlt8Df2MWekVFMs5I(lPflJ zVhC#e2VrH>2((8J#PZ02Se>bWc^SHhchbg%;}?XoVj>q5+}m3?Fh2(}IVgDxO?}xX~z$ zl*N<~4PYHPzE-FV!K|Ts{(=jnS2?gWR&`?)_8#lzQ>ln9g-9`KIW!SoD zBi657gAHp}e5`1dm~8%rro%i#AG<1H13Rt{j8flJs5|PHaVn zw>+w16j2#G1myuEk!Cj#Q)3*dJ&2?rp3CpT+un(;Jh!pVCs%Rj+f_KVbUe09v&4b~ zIm{+9uMg5dnYS`##_FRn)fjX0ZLp>>5UoViJ{G!Yspkn@q@KvIzJ160W^#L_GL#a7 zKn}m!ryyDg={E9LFP=nR7`YHr!_Yd>7l+sJib;`On018STLvBD^9As6UJ5O_=Xc*7 zMpk+wHBdF$fXb{SmD8 z1rkgK(*J!BXYd!q6EZCSf?S(E$gubtsbjxDw(S>4xBe1YHeX}BeP2v<9f1;0IZW{y zPJ}>yag;3PWSC-ZUJ&k`J%-1R9>K%I9^(u~Bj0@t7NlxmUL3K0uo@iY`y#@{nhNYa zmQ)p>hTdgmj2_ye`eRx4U_3b z@!-Z4+`4uh=TDx+(ai_2ZO&pW%u7SIg9ZY$<=}6m2rD%?6eaiwo1*Sm*@Vr@>#=uz z16DR?AbU2`!+XV=eimAc1H_Nf3t)>XOl~^kT4%754Pdx-UT?ctp)qH&Bnf+ ztvIx2KHX~`P8^trD<_uY=IM6Io8`E7W+5IN%EGxd{%D}=-up~ztGlS$v zDQcr7%!r6Z6H|QD(U@V5vUoi-6gVS2)EtgP2#aQwOD3IByCzrUy=2FD(U8+~xXwuG z&0kjv1gX{GPu>Z-rZAl>x;s`(kHo5)B)sc#4v> zM+E^+Hkegki|hA#P7EO>BXsV4z|_nX*l3J_uYnvXfe{GP8;n@PfrvBihj`<@2-p3J z$f6Ho48A~;8NuXpcNP2i>@kF6WUje_4ul-%9R7ZG5rju2CMOpi6dtax?I2$!S$)S$eiibfV~qPr6E z+_g~JrTfmZ*#(bw?_pEL;nd167gfA&&$XStO7Zj(3$M#iESyA^J%7QXw@Y zi%Fpdh_M@qOv=wG5xPjG`{ns-Vq%~sCWYu?Vvr8n9M9u0!Gc^(mWe%uJuD}Q3Ns~$HC8aEWDk~k(U&LeH)kH&iUiG zfAunMoY;=jyBg45<%5PyP0UPDLvyMD=A>DXD`bx8VWw2plqO#}lu$#ROm0P<$52$p zQG+ar#I9uxxOQY4?p`>6SI@8G%%Md{b02|zvJ!I3h`7=@28A+O$#tv`l|^+3AtD^r z;bW}@H%oo2UnYrw#*n%Uf};N?NP)qGz~Jw@wyZ-&unU%yhLK|M!}W7KG{ZOLP7hJC z2?Rpm*yz$HFM1 zGQ=7phE*BrXirkbmK+_dN!G-&7)>GsU9=|{U{AgwwocYTTeb>GQ3Hfq8^KQB0M_~> z$wLFNq-`$lKV$;qbcsFBoF*X-1o!4r8W*JAv2>K)YLTPw^WJGx5`uSt@d``nXoZgg=+OQF*3L1zOdS5@o!HDv7 zCi3OH{fI5|Q?PWxAaWOmVS0o-lH3(xtT+VA=2z1HJeh{_`7Px)`R=E7)T2IL1*>zl zu_@1zDw7j6d}Snrc;fl1S5y|I0m`U!7)6y-7qceo!O3(Cj7c5X>Z&5ymk1?C19jo5^e$Sch%~}@ zQUI~!%K4Zp!q-9p{xC6%suyk>X{63||W(nXyP5XO2{7Yh?O3Ax@BtZ%`Rsqxe zhGK%N3?@;&O$pYcG#jES)gE=34ya5tMuD#^)u(~T87D(^YZ%gp33_8 zw_+eyUOoBajztD5ebLqbJ4u0k4Ys5_H$Xi0@bP2hB?n{1cuy=N=Gw82M09FU0D@c{f^`&F|V58m_=IR4stuq+z79+^|e+3))KJe3*gSBj5_?nEtSfzomQ0WJ2 z)uB)r)(^U*NSbEXQ-c&)`p%_IxU#PZhvxWTR>E-XoN0#wzmf1TlE>w9;_x6Zvo4O+ zM03U%B-jpxmEusC5Q#0EEeU)>1$lA!B3w!3vU+}IG7tE z%Eu6y5#;LnSs>Bf1PRpWc|uc)w*fp%mFXRnU}vgL?ywmQsm@qx$&v4_L~emLxxw0~ z2%*MH)ReCF;%tJw#iQ1HFgQ6rexSOcM+eSl3PpscK9Ne)9 zkM4=f^54DZ4Uk1O|1%PhLO3q|_ba5pgutCh+>q$T!i7IzN$X7Hg}P!zMJN{3W})*H zFQnl);G!a6@I)eBzRBbusthItw#pm@xf8rJyYn3nYjIx$TS<|4q>DvPoIHrc=s>ty z8NrpvA;N}NhM8e{oI7Hzh!tHm5$~*tNJmYC*lEJiL<&>q?!N<;f$%#gkk^!Wt&p#$J+9*%0xiB7HY{&gmld*fABUToYq9UKSInE4zW?CpI%fV}^7+u_n%z<%u z!W5NT2U`)k_UhFu$Vv!6C{?ZucP&hhF&DPes|-~|v5!0oNY3XIa=leimTHR#D`j|T z$|2896%A<)m=t6Ne={{$a-*k4YeEf{8)0ljF!FOVQBhWmx{B$jn_h;hiV9RzSEH(` z0@amtthxdY}0!vpd!=hDfD6O4}^;_4X zl~iDDV-@OW)uLhc49sY*6EJH|gFw7<=2T(s+#1YntwZa)dcsW1Va#tJG@_}s1{-%Q zMJF#imNbgfM@}L+JR0_v=5QclaUg=RH`Rj!5srnCHp~q*;bvopl4(6RS_661N=Tz2W>;?8cdxSzC=ds<=U3F3=!yup^&5W}H5}^+&@) zM+TFl-Oy5$jJ+QVx+)=PjJx z-h`GcCyXD*osUYW4p&4r$@Y+OS};}~0V}nU2(lx2?QDppGpAtd;!1d%Dj>+)0nN=b z@btMjJ5xjlp58r;ZEeL^USfsy)#jKx*%G;7`gA{z9!*l0$mr=a(S;J;SCT*6-@}u{ z#2Ka>IqM;!yzOB_);Gr0j0npHg?=PseN<59sfY^l`MGbwnf}iSaYB8L1$HkE$C{=P zI2owIl!zcEG!}E3n{e>JUfjHO1D%q+JO2H_^-z)zPoHDM+VvnI7dv3utJiTE+SlX zh@>=OOUhtEdI}!ge?-Rc61qCYxkW;I`qbe0o!D@6*L~r*&^CIWBOd?Tq(CQf!(pq+ zm4|0m%_^IONl|WCHrW?j=NHk#dH+4JvI#S+80^0Y_xZ;l5`-kt1m5B2^2H0(=r`lU zvG4HBfqiIeZNcVst8w_y0X&fIo$v|W*Z!jrrjhn|c2C^CeH%Wmj?hw;g|nUl!fiDX zAucGrO`YWr&ibarky!E#2z?p5Ocq zPp*7}JEykb+~x+XC3kL4iUAhqTcJGG2(d(5u0#e-q_oCor{O`*n2|m3DZhKX_uidb z;Nv(JHe?Ya91M`>Yl1>AO%#q(Mx~cB;w+RAb4{It< zXU$PmrehH6sgAgD3QI!`IGJf9BQX+dRxZKg?;ne8?-MwUKThXAg1?&-1W2sO(fwPI5#)x2q!i|s zMC0*&F=7+TZw{>{#5efV%lVIiGg;a=x$l9$|I&FqA)d=qdnF4ye&L*7gR~;_M9=&1 zZ~nY-?J~lBU7)8%7Jy{4pP4$sh#bP~wGd;Yf&%hErv#a!iW+ZYrZ;L++)x>3kJ4~U zObanVRj@J|BGoXHz&i<-M;IZ+T^G)V3W6`~>S%#Y>$`W!o>fsI_}*?~HIU$ELzdqP z6|ttMOR~bW$gwDkvcimHXUs^lLv4%+YNL&j?O}jm8+{@JQdSODXsE5lix=WtjQ4Np z-MDNd_hM-J$cnImld(23 zV|{V=_BrvMg!iP#xcq+U-v934wDwGU&;Phy^sHynbNKg9>mF~xcJla9w6ruLkyM7O zrHMcedPM#@%A;YdG!l_iZxV=P!_5>BX{!NSb#f2sxSq;r=#zoqz6y3p9F5fx=wge) zjCibG(u(t^j}jSmE3lvDHKS)*{t^5QQeXz82heX}K0m!Q4?A{sJj1k{1k_}CV|Gad z_H7kIehVELOax2_|0F3eq%S4iV_ym>N%TC%;A{9lX~z8Yet!>o-b?zOA-yMm@_&!+ z-@>HKL>OqQPys8#Nlyu0L=F*FN=UYrLz0yZw7jyX88^X(42cA}X@EEI)aYP0l)~1-8mxGhX#I5NVZ;23irzW0_C_UB_ z-S14UqQvqY+P4$oKI33xst+$yT_k&$A=}3k#Tk*p{})dkfjd1fHz^L!pNP}Hc`m)s zXVIgae%e_6ozXMRj9;pA(*J&Zo=6nJcOjJhkMGMfLT_HZja{3!p?PLKa;Oe@Ihi29 zlGK>F8Ul?J;b*Es1gi-zXG;Y5xgjk*2^Cf4Shj32jvYUOCr`ws0X-qsdtRr+{c~b^ zr0M+WxqmNyg%tRvT$uC#`Yo_O&%34s@c&y@FF{%$`O~G*m|LBR&R1M1B#pS|@W-e7 z{bTrRFZI`6__t)juR(fWR!Pzsn!MO)!gku1Z#31y&l$up^Ri)mMOCb?HPMA*rO0k3gYP4~ z=YJ}sb?vX!H|g=e_FW3W?e6hgihbMG!p~eCQD$n0GAEbJOa=Qkt-#Z#Pw>3s^{0Nk zo)F4M@+ti0d;h{SfBO3$!LN`4qx;6vmleX0)9;7(ZX%l`W6i{1)J+J+`NKTVn@EBF z;|VmvjzH{6NUs0Shxjf%D?3N%*}P^MiYI2m%h3iF#`-YUQU5V?)rI5E_BIHKj70JD za%|eR1=nxg6dJ7bUOaC=oDIqlpTqh6j;y1t zP;^gM8r(Syu6v$K}bf~?%gw({3fPad=K?>dA3L=#z(!Pa-%{9o6_r&~?ShP13 zkjwCj2ti!D!ON({anWDC-+vy&cjkiO_v`u*;k^|)myVq{iA|fgVA+axEM2x7%a*Ue z)~(xdoQ_|)egn_D#KPrkxM0P2l1#Q#S-8>&R-E&UD}tEk(oK1#a~h=S=>FcVD7f;y z7uMc$-t#aqD+4A3zONKL&;MnJszNMlhV=N!lP9rs=@N7hN$~N94<6ys!zc8e{{K`d z`TYNv%Kcvf&UYRXmym))#dW-TjO+++#M){j!Acw1zIJ$ikNf9%IG@`Qmlc6W^n|kL zaZhQU_r#~?{WknnQV1x9qx`rrEzGS5Q@9kjtR#*1q&tZ zf&cM+|8pT)a3%zv`pvNcc=@d`g!)$(4E+?8A3{UruwK%RQFgh+Ml3d92HjIq&_VzV zp<#Z+TRQ(0{pM#2)`E$ND+{H8-40$_%i+SrZS(2g@90xfq4-`>1@OyhlY*Z|X`y>b z`*fJN-uCFARy6S{tmjmT-jE!ojQD>{DR6#pfw5W;2tkq$Vq@S!=SDAr8`dYw|LHhc z3jutL^M;64Xn5jx@fiQtUGQR_i)Fx*!k7@G8=gu7WC)$Wl5`1aLe9U|fWfDjC%B9oDjrBz1XeuGlz?r_|^ zdOnhaUCE8`L_ty@zT34LAKtzcd{ZegNJlPu-lG@2_-{l{Lg3#U*R4TvR4{H{?w%1U zg-8la2!CAL`E8^ibYy+N`O}9H8|aRyS<#rD7lqQCDBQa$&ZgrRfA@}i+Qpe+KfO;c zdhy=~q5Vim;nc|!n3$7+7f;1#U_T>;Px$$Leh>UM_km;$_dIuXzQU6Evrt!@jcK_t zn4TSlb#pmrC$HHTiJ@01^r9Et=-D0~J$i)2i`vk|F%PKm^YK5kt^CuZz~H^~c&wej z-@APs<5Oc1>*I~Aw&*6T?YQ|r}y|h@!Lp&5-m)a=`r-UXigLSyxdWg7lPuPa2(su8=lgOlMC^l z=kfEo0y*&5E6>C4C52w}LP`w3^xq$i-#`jHY{D!0M5dD-@9cPuf}CW8`fDBO0ug-Rsj{C)f!z)!hF((WMKAuH@Eb|t9YLIdB{X))LXV5*P9P%C2U#(GD9#AQ z+O}r#I)MzNtjJ`-zk5lc7rpp*!fzynE&}gdBWdhJ4AKA-tClT9khce>riEi_Ml`Mw zQ3%)4IZO)OGq!rsi(dRY;a@}w;`{?)gn?Id(RX$uit}?3>Ens<3Bj0EITi2Ua#*kr z!n_4udd$So^PauvMKAt*{L`c$bRG(>1EZT1IM#wRoY&P0XAvFfi=|=tVF7Z2SgN5Z!>D5JHI&c#ChTYp|}p9U(qmNR1A_#I#7sm+2Vx=4e&=|WH6StHqtRM>=*y{%cRhYUi9LR z#_vlCL98Etq8$E0mw{@!s%n*O3sxk0x5oeuU_<`7k>rV8d7k>`^P*PyEAay0ytX?e;Lw;5=uAG-lfo4+p*i8!Eaq4=} zi(dRu_`^xz?K^SAf%_U}HOxdxbU2!-r{T?OawCMj5kwcFmlS%@i$4dyGbymU(A`JC z;Ehw?NoF!Wefm8riV9Jfn~v?9#7#@ZO;kiu;33VP*Y=_pz4-m{2lpxb9M`X2L22<+ z)K*sD%H>PKvA11s@PTJMNPgV-N zj9QG-_~ONLtX;DbJ9liwQH}gJdiByLWG4&+Z*K zb?P`CKYk$m*Xus?q8EQG{tfyRh!`ZU0{^~p=_1aZIfV!J?g|}_z3xLVdhy5NPbUQ? z1fH-YDgtpj^vxUB@#y}2ynibyh+g!f7k?Cf!2b_A8PP5_atdky0000 li > a { color: #334455; } -.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:focus, .navbar-default .navbar-nav > .active > a:hover { color: #334455; border-bottom: 1px solid #3498db; background-color: transparent; } -.btn { outline: none; } -.btn:focus { outline: none; } -.btn-group-theme { padding-top: 8px; } -.btn-count { border: 1px solid #ddd; max-width: 40px; min-width: 40px; padding: 4px 0; cursor: default; margin-bottom: 6px; } -.dropdown-menu > li { } -.dropdown-menu > li > a { line-height: 2.5; font-weight: 100; } -/* Helpers */ - -.mt { margin-top: 40px; margin-bottom: 40px; } -i { margin: 8px; color: #3498db; } -.icon { text-align: center; } -.tar { text-align: right } -.tal { text-align: left; } -.tac { text-align: center; } -.heading-right { text-align: right; margin-top: 12px; color: #ddd; } -.explore-list > .row { border-top: 1px solid #ddd; } -.content > p, .content > a p { margin-bottom: 5px; } -.content > h5 { margin-bottom: 0; } -.content-list-wrap { padding: 0 15px; } -.content-list { padding: 15px 0; border-bottom: 1px solid #f5f5f5; } -.article-view { background-color: #333; border-radius: 5px; padding: 10px 0; opacity: .95; } -.article-view ul { padding-left: 15px; } -.article-view a, .article-view a:hover { color: #fff; } -.article-list-summary { padding-bottom: 5px; } -.article-content > h3 { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dashed #f1f1f1; } -.publish { padding-top: 30px; } -.publish-button { padding: 8px 0; } -.main-side { padding: 15px 0; } -.main-side > ul { margin: 0; padding: 0; } -.main-side > ul > li { list-style: none; } -.nav-side > li.active > a, .nav-side > li.active > a:focus, .nav-side > li.active > a:hover { background: transparent; color: #3498db; border-bottom: 1px solid #3498db; } -.nav-pills > li > a { color: #555; border-radius: 0; } -.nav-side > li > a:hover { color: #3498db; background: transparent; } -.nav-side { background: transparent; } -.panel { background-color: transparent; box-shadow: 0 1px 1px rgba(0, 0, 0, 0); margin-bottom: 0px; } -.panel-footer { padding: 5px 0; background-color: transparent; border-radius: 0; border: none; } -.panel-cpf-slide { background-color: transparent; } -.panel-cpf-slide > .panel-heading { color: #333; border-color: #ddd; padding: 15px 1px; } -.panel-cpf-slide > .panel-body { padding: 15px 1px; } -.panel-cpf-default > .panel-heading { color: #333; border-color: #ddd; padding: 20px 15px 10px 15px } -.panel-cpf-invite > .panel-heading { color: #333; border-color: #ddd; padding: 15px 0 20px 0; } -.panel-cpf-content > .panel-heading, .panel-cpf-answer > .panel-heading { padding: 15px 0; border-color: #ddd; } -.panel-cpf-content > .panel-body, .panel-cpf-answer > .panel-body { padding: 15px 0; overflow: hidden; } -.panel-message-list > .panel-heading { border-bottom: 1px dashed #ddd; } -.panel-message-list > .panel-body { padding: 5px 15px; } -.panel-border { margin: 10px 0; border: 1px solid #efefef; } -.recommend-title { font-size: 18px; font-weight: 300; } -.recommend-more { margin-top: 3px; text-align: right; } -.recommend-body { padding: 5px 15px; } -.child-topic-list { padding: 10px 0 20px 0; border-bottom: 1px solid #f5f5f5; } -.form-center-button { text-align: center; } -.form-center-button > button, .form-center-button > a { margin: 0 20px; } -.title-pagination { margin-top: 30px; } -.title-pagination > a { padding: 1px 8px; } -.editor-user-info { padding-bottom: 15px; } -.editor-user-info > .info { padding: 5px 0; } -.answer-content { margin: 3px 0; } -.answer-content > p { margin: 0; } -.answer-list { border-bottom: 1px solid #eee; padding-bottom: 12px; } -.blocked-content-list { text-align: center; padding: 10px 0; } -.blocked-content { text-decoration: line-through; font-style: oblique; } -.posts-list > .row { padding: 12px 0; border-top: 1px solid #f5f5f5; } -.posts-list > .row .col-xs-3 { vertical-align: middle; } -.reply-list, .comment-list { border-bottom: 1px solid #f5f5f5 } -.reply-list > .media-left, .comment-list > .media-left { padding-top: 5px; } -.reply-list-flag { padding-bottom: 10px; } -.reply-control-panel, .answer-control-panel { display: none; padding-left: 10px; } -.answer-control-panel > a { margin: 0 5px; } -.correlation-list { list-style: none; margin: 0; padding: 0; } -.correlation-list > li { padding: 5px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } -.content-fold-flag { max-height: 70px; overflow: hidden; } -.invite-input { float: right; max-width: 120px; } -.invite-btn { float: right; } -.invite-list { border-bottom: 1px solid #f5f5f5; padding-bottom: 6px; } -.invalid-topic { color: #b09f9f; } -.n-invalid { border: 1px solid #d00000; } -.validator-tips { text-align: center; } -.validator-tips .tip { color: #555; } -.validator-tips .error { color: #d00000; } -.user-avatar { background-color: rgba(255, 255, 255, 0.3); background-size: cover; } -.user-content-tab { margin-top: 30px; margin-bottom: 10px; border-bottom: 1px solid #ececec; } -.answer-comment-list { margin: 6px 0; padding-bottom: 6px; border-bottom: 1px solid #efefef; } -.message-content-list { margin: 10px 0; padding-bottom: 6px; } -.message-nav { margin-left: 20px; } -.message-nav > span { margin-left: 10px; } -.message-nav .active > a { color: #3498db; } -.message-content { margin-top: 10px; padding: 20px 10px; max-width: 65%; background-color: #F0F8FF; word-break: break-all; border-radius: 10px; position: relative; } -.message-content > button { display: none; position: absolute; top: 3px; border: none; outline: none; } -.message-content > button > span { border: none; outline: none; } -.answer-comment-list .col-md-12, .message-content-list .col-md-12 { padding-left: 0; padding-right: 0; } -.answer-comment-list small { color: #BFBFBF; } -.answer-comment-info, .message-list-info { border-bottom: 1px solid #efefef; padding-bottom: 10px; margin: 5px 0; } -.message-list-info > div { padding: 0; } -.answer-comment-page { margin: 10px 0; } -.search-result-list { padding: 10px 0; border-bottom: 1px solid #f7f7f7; } -#image-preview, #qr-image-preview { width: 128px; height: 128px; margin: 0 auto; border: 1px solid #ecf0f1; position: relative; overflow: hidden; background-color: #ffffff; color: #ecf0f1; } -#image-preview > input, #qr-image-preview > input { line-height: 200px; font-size: 200px; position: absolute; opacity: 0; z-index: 10; } -#image-preview > label, #qr-image-preview > label { position: absolute; z-index: 5; opacity: 0.8; cursor: pointer; width: 200px; height: 50px; font-size: 20px; line-height: 50px; text-transform: uppercase; top: 0; left: 0; right: 0; bottom: 0; margin: auto; text-align: center; } -#image-preview > label { background: url('../../../images/camera.png') no-repeat 50% 50%; } -#qr-image-preview > label { background: url('../../../images/qr.png') no-repeat 50% 50%; } -#titleListContent { right: 40px; bottom: 20px; display: none; position: absolute; opacity: 1 } -#goTop, #newMessage, #titleList { padding: 5px 0; color: #fff; text-align: center; position: fixed; _position: absolute; right: 3%; z-index: 98; cursor: pointer; filter: Alpha(opacity=75); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)"; } -#goTop img, #newMessage img, #titleList img { opacity: .75; } -#goTop > i, #newMessage > i, #titleList > i { color: #333; font-size: 42px; } -#goTop { display: none; bottom: 80px; } -#newMessage { bottom: 155px; } -#titleList { display: none; bottom: 117px; } -.new-message-flag { display: none; } -.new-message-badge { position: absolute; top: -2px; right: -8px; color: #fff; z-index: 99; background: #ee0000; } -#topic-choose-menu > a { margin-right: 5px; } -.article-content > p img { margin: 0 auto; } -.act-list { padding: 0 15px; } -.act-list > .row { padding: 10px 0; border-bottom: 1px solid #f5f5f5; } -.act-list > .row .col-md-12 { margin: 0; padding: 0; } -.act-list .content img, .explore-list .content img, .article-content-list .content img { max-width: 300px; } -.content-menu-title > h4 { display: inline-block; } -.content-menu-title > img { display: inline-block; border: none; margin-bottom: 5px; } -.content-images-list { } -.content-images-list > a { border: 1px solid #ddd; padding: 3px; display: inline-block; } -.navbar-xs-ul > li { float: left; } -.article-nav li { list-style: none; text-align: left; } -.xs-navbar-toggle { float: right; padding-right: 15px; margin: 0; border: none; } -.xs-navbar-toggle > .nickname { color: #fff; } -.xs-search { margin-top: 10px; } -.xs-publish { background-color: transparent; margin-top: 40%; } -.xs-publish .type { background-color: #fdfdfd; border-radius: 10px; margin: 20px 10px; } -.xs-publish .type > a { color: #555; padding: 15px; display: block; width: 100%; height: 100%; } - -@media (min-width: 320px) { -.act-list .media-left, .explore-list .media-left { display: none; } -.content > img, .content > p > img { max-width: 280px; } -} - -@media all and (min-width: 350px) and (max-width: 375px) { -.act-list .media-left, .explore-list .media-left { display: none; } -.content > img, .content > p > img { max-width: 340px; } -} - -@media all and (min-width: 375px) and (max-width: 450px) { -.act-list .media-left, .explore-list .media-left { display: none; } -.content > img, .content > p > img { max-width: 350px; } -} - -@media (min-width: 768px) { -.act-list .media-left, .explore-list .media-left { display: table-cell; } -.content > img, .content > p > img { max-width: 680px; } -} - -@media (min-width: 1024px) { -.act-list .media-left, .explore-list .media-left { display: table-cell; } -.act-list .content img, .explore-list .content img, .article-content-list .content img { max-width: 360px; } -.content > img, .content > p > img { max-width: 780px; } -} - -@media (min-width: 1600px) { -.act-list .media-left, .explore-list .media-left { display: table-cell; } -.navbar-default .navbar-brand { position: absolute; left: 150px; } -.navbar-default .navbar-nav-op { position: absolute; right: 150px; } -.answer-act { position: absolute; left: -50px; } -.content > img, .content > p > img { max-width: 780px; } -} diff --git a/ht/cdk/index.php b/ht/cdk/index.php deleted file mode 100755 index d038dbc..0000000 --- a/ht/cdk/index.php +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - -缥缈CDK生成 - - - - - - - - - - -

- - - \ No newline at end of file diff --git a/ht/pay/config.php b/ht/pay/config.php deleted file mode 100755 index be3a7c2..0000000 --- a/ht/pay/config.php +++ /dev/null @@ -1,11 +0,0 @@ -'127.0.0.1',// 服务器地址 - 'DB_NAME'=>'cdk',// 游戏数据库 - 'DB_USER'=>'root',// 用户名 - 'DB_PWD'=>'mysql_tr2Few',// 密码 - 'DB_PORT'=>'23306',// 端口 - 'DB_CHARSET'=>'utf8',// 数据库字符集 -); -?> \ No newline at end of file diff --git a/ht/pay/css/style.css b/ht/pay/css/style.css deleted file mode 100755 index d3603e9..0000000 --- a/ht/pay/css/style.css +++ /dev/null @@ -1,4258 +0,0 @@ -/** ---------------------------------- - * bootstrap中文后台管理系统模板 - * 基于Bootstrap v3.3.7 - * http://www.bootstrapmb.com - -------------------------------------- */ -body { - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; - color: #4d5259; - line-height: 1.5; - font-size: 14px; - overflow-x: hidden; - background-color: #f5f6fa; -} -html, -body { - height: 100%; -} -a { - color: #33cabb; - -webkit-transition: .2s linear; - transition: .2s linear -} -a:hover, -a:focus { - color: #4d5259; - text-decoration: none; - outline: none -} -a:hover, -a:focus, -a:active { - text-decoration: none; -} -a, -button, -a:focus, -a:active, -button:focus, -button:active { - outline: none !important; -} -blockquote { - font-size: 16px; -} -img { - max-width: 100%; -} -pre { - background-color: #f9fafb; - border: none; - border-left: 5px solid #ebebeb; - padding: 12px; - border-radius: 3px; - color: #616a78; -} - -/** ---------------------------------- - * 示例中用到的样式,可删除 - -------------------------------------- */ -.example-box .btn { - margin-bottom: 10px; - margin-right: 6px; -} - -/** ---------------------------------- - * 重设样式 - -------------------------------------- */ - -/* 标题 */ -h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Microsoft YaHei', 'Source Han Sans SC', 'Noto Sans CJK SC', 'WenQuanYi Micro Hei', sans-serif; - color: #313944; - line-height: 1.5; - letter-spacing: .5px; -} -.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: .5rem; -} - -/* 导航相关 */ -.navbar-toggle { - background-color: transparent; - border-color: transparent!important; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: transparent; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #4d5259; -} -.nav > li > a:focus { - background-color: transparent; -} -.nav > li > a:hover { - background-color: rgba(0,0,0,.0085); -} -.nav .open > a, -.nav .open > a:focus, -.nav .open > a:hover { - background-color: transparent; - border-color: transparent; -} - -/* 下拉 */ -.dropdown-menu { - border-radius: 0; - border: none; - /*border: 1px solid rgba(235, 235, 235, 0.4);*/ - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.075); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.075); -} -.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover { - background-color: #f9fafb; -} -.dropdown-menu .divider { - background-color: #f1f2f3; -} -.dropdown-menu > li > a { - padding-top: 8px; - padding-bottom: 8px; -} -.dropdown-menu > li > a > i { - margin-right: 10px; -} -.dropdown-menu>.active>a, -.dropdown-menu>.active>a:focus, -.dropdown-menu>.active>a:hover { - background-color: #33cabb; -} - -/* 表格 */ -.table-bordered { - border-color: #eceeef; -} -.table>tbody>tr>td, -.table>tbody>tr>th, -.table>tfoot>tr>td, -.table>tfoot>tr>th, -.table>thead>tr>td, -.table>thead>tr>th { - /*padding: .75em;*/ - padding: 10px; - line-height: 1.5; - border-color: #eceeef; -} -.table-striped tbody tr:nth-of-type(odd) { - background-color: #fafafa; -} -.table-hover > tbody > tr:hover { - background-color: #F1FBFB; -} -.table-vcenter > thead > tr > th, -.table-vcenter > thead > tr > td, -.table-vcenter > tbody > tr > th, -.table-vcenter > tbody > tr > td, -.table-vcenter > tfoot > tr > th, -.table-vcenter > tfoot > tr > td { - vertical-align: middle; -} -.table-hover tbody tr { - -webkit-transition: background-color 0.2s linear; - transition: background-color 0.2s linear; -} -.table-condensed > tbody > tr > td, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > td, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > thead > tr > th { - padding: .5em; -} - -/* 标签 */ -.label { - padding-top: .3em; - border-radius: 2px; - font-weight: 300; -} -.label-default { - background-color: #f5f6f7; - color: #8b95a5; -} -.label-primary { - background-color: #33cabb; -} -.label-success { - background-color: #15c377; -} -.label-info { - background-color: #48b0f7; -} -.label-warning { - background-color: #faa64b; -} -.label-danger { - background-color: #f96868; -} -.label-dark { - background-color: #465161; -} -.label-secondary { - background-color: #e4e7ea; - color: #4d5259; -} -.label-purple { - background-color: #926dde; -} -.label-pink { - background-color: #f96197; -} -.label-cyan { - background-color: #57c7d4; -} -.label-yellow { - background-color: #fcc525; -} -.label-brown { - background-color: #8d6658; -} - -/* well */ -.well { - border-radius: 2px; - background-color: #f7f7f7; - border-color: #f0f0f0; - -webkit-box-shadow: none; - box-shadow: none; -} - -/* 面板 */ -.panel { - border-color: #f0f0f0; - -webkit-box-shadow: none; - box-shadow: none; - margin-bottom: 30px; -} -.panel a:hover, -.panel a:focus, -.panel a:active { - color: inherit; -} -.panel-heading { - -webkit-border-radius: 0px; - border-radius: 0px; -} -.panel-default>.panel-heading, -.panel-default>.panel-heading+.panel-collapse>.panel-body { - border-color: #f0f0f0; -} -.panel-primary>.panel-heading { - background-color: #33cabb; - border-color: #33cabb; -} -.panel-primary { - border-color: #33cabb; -} -.panel-primary>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #33cabb; -} -.panel-primary > .panel-heading .badge { - color: #33cabb; -} -.panel-success>.panel-heading { - color: #fff; - background-color: #15c377; - border-color: #15c377; -} -.panel-success { - border-color: #15c377; -} -.panel-success>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #15c377; -} -.panel-success > .panel-heading .badge { - background-color: #fff; - color: #15c377; -} -.panel-info>.panel-heading { - color: #fff; - background-color: #48b0f7; - border-color: #48b0f7; -} -.panel-info { - border-color: #48b0f7; -} -.panel-info>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #48b0f7; -} -.panel-info > .panel-heading .badge { - background-color: #fff; - color: #48b0f7; -} -.panel-warning>.panel-heading { - color: #fff; - background-color: #faa64b; - border-color: #faa64b; -} -.panel-warning { - border-color: #faa64b; -} -.panel-warning>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #faa64b; -} -.panel-warning > .panel-heading .badge { - background-color: #fff; - color: #faa64b; -} -.panel-danger>.panel-heading { - color: #fff; - background-color: #f96868; - border-color: #f96868; -} -.panel-danger { - border-color: #f96868; -} -.panel-danger>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #f96868; -} -.panel-danger > .panel-heading .badge { - background-color: #fff; - color: #f96868; -} -.panel-dark>.panel-heading { - color: #fff; - background-color: #465161; - border-color: #465161; -} -.panel-dark { - border-color: #465161; -} -.panel-dark>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #465161; -} -.panel-secondary>.panel-heading { - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.panel-secondary { - border-color: #e4e7ea; -} -.panel-secondary>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #e4e7ea; -} -.panel-purple>.panel-heading { - color: #fff; - background-color: #926dde; - border-color: #926dde; -} -.panel-purple { - border-color: #926dde; -} -.panel-purple>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #926dde; -} -.panel-pink>.panel-heading { - color: #fff; - background-color: #f96197; - border-color: #f96197; -} -.panel-pink { - border-color: #f96197; -} -.panel-pink>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #f96197; -} -.panel-cyan>.panel-heading { - color: #fff; - background-color: #57c7d4; - border-color: #57c7d4; -} -.panel-cyan { - border-color: #57c7d4; -} -.panel-cyan>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #57c7d4; -} - -/* 列表组 */ -.list-group-item { - border-color: #f0f0f0; -} -a.list-group-item:focus, -a.list-group-item:hover, -button.list-group-item:focus, -button.list-group-item:hover { - background-color: #f9fafb; -} -.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { - background-color: #33cabb; - border-color: #33cabb; -} -.list-group-item:first-child { - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} -.list-group-item:last-child { - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; -} - -/* 表单 */ -.form-control { - height: 38px; - border-color: #ebebeb; - -webkit-border-radius: 2px; - border-radius: 2px; - color: #8b95a5; - padding: 5px 12px; - line-height: inherit; - -webkit-transition: 0.2s linear; - transition: 0.2s linear; - -webkit-box-shadow: none; - box-shadow: none; -} -.form-control:focus { - border-color: #33cabb; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); -} -.input-group-addon { - border-color: #ebebeb; - background-color: #f9fafb; - -webkit-border-radius: 2px; - border-radius: 2px; -} -.input-group-lg>.form-control, .input-group-lg>.input-group-addon, .input-group-lg>.input-group-btn>.btn { - -webkit-border-radius: 2px; - border-radius: 2px; -} -.input-sm { - height: 30px; -} -.input-lg { - height: 46px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label { - color: #15c377; -} -.has-success .form-control { - border-color: #15c377!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-success .form-control:focus { - border-color: #15c377!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(21, 195, 119, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(21, 195, 119, .6)!important; -} -.has-success .input-group-addon { - color: #15c377; - background-color: #dff0d8; - border-color: #15c377; -} -.has-success .form-control-feedback { - color: #15c377; -} -.has-info .help-block, -.has-info .control-label, -.has-info .radio, -.has-info .checkbox, -.has-info .radio-inline, -.has-info .checkbox-inline, -.has-info.radio label, -.has-info.checkbox label, -.has-info.radio-inline label, -.has-info.checkbox-inline label { - color: #48b0f7; -} -.has-info .form-control { - border-color: #48b0f7!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-info .form-control:focus { - border-color: #48b0f7!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(72, 176, 247, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(72, 176, 247, .6)!important; -} -.has-info .input-group-addon { - color: #48b0f7; - background-color: #dff0d8; - border-color: #48b0f7; -} -.has-info .form-control-feedback { - color: #48b0f7; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label { - color: #faa64b; -} -.has-warning .form-control { - border-color: #faa64b!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-warning .form-control:focus { - border-color: #faa64b!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(250, 166, 75, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(250, 166, 75, .6)!important; -} -.has-warning .input-group-addon { - color: #faa64b; - background-color: #fcf8e3; - border-color: #faa64b; -} -.has-warning .form-control-feedback { - color: #faa64b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label { - color: #f96868; -} -.has-error .form-control { - border-color: #f96868!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-error .form-control:focus { - border-color: #f96868!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(249, 104, 104, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(249, 104, 104, .6)!important; -} -.has-error .input-group-addon { - color: #f96868; - background-color: #f2dede; - border-color: #f96868; -} -.has-error .form-control-feedback { - color: #f96868; -} - -/* 复选框 & 单选框 */ -.checkbox, -.radio { - display: block; - position: relative; - margin-top: 0px; - margin-bottom: 0px; - cursor: pointer; - padding-left: 30px; - font-weight: 400; - min-height: 18px; - height: auto!important; - line-height: 18px!important; -} -input[type=checkbox], -input[type=radio] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} -.checkbox input, -.radio input { - position: absolute;; - /*opacity: 0;*/ - display: none; -} -.checkbox span::before, -.radio span::before { - content: ''; - position: absolute; - display: inline-block; - height: 18px; - width: 18px; - left: 0; - top: 0px; - border: 2px solid #ebebeb;; - -webkit-transition: all .1s; - -o-transition: all .1s; - transition: all .1s; -} -.checkbox span::after, -.radio span::after { - content: ''; - position: absolute; - display: none; - width: 5px; - height: 10px; - left: 7px; - top: 3px; - border: solid #4d5259; - border-width: 0 2px 2px 0; - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); -} -.checkbox span, -.radio span { - display: inline-block; -} -.checkbox input:checked~span:after, -.radio input:checked~span:after { - display: inline-block; -} -.checkbox:hover span::before, -.radio:hover span::before { - border-color: #ebebeb; -} -.checkbox.checkbox-grey span::before, -.checkbox.radio-grey span::before, -.radio.checkbox-grey span::before, -.radio.radio-grey span::before { - background-color: #ebebeb; - border-color: #ebebeb; -} -.checkbox input:disabled + span, -.radio input:disabled + span { - cursor: not-allowed; -} -.checkbox input:disabled + span::before, -.checkbox input:disabled + span::after, -.radio input:disabled + span::before, -.radio input:disabled + span::after { - opacity: .4; -} -/* checkbox */ -.checkbox-primary input:checked~span::before { - background-color: #33cabb; - border-color: #33cabb; -} -.checkbox-primary input:checked~span::after { - border-color: #fff; -} -.checkbox-success input:checked~span::before { - background-color: #15c377; - border-color: #15c377; -} -.checkbox-success input:checked~span::after { - border-color: #fff; -} -.checkbox-info input:checked~span::before { - background-color: #48b0f7; - border-color: #48b0f7; -} -.checkbox-info input:checked~span::after { - border-color: #fff; -} -.checkbox-warning input:checked~span::before { - background-color: #faa64b; - border-color: #faa64b; -} -.checkbox-warning input:checked~span::after { - border-color: #fff; -} -.checkbox-danger input:checked~span::before { - background-color: #f96868; - border-color: #f96868; -} -.checkbox-danger input:checked~span::after { - border-color: #fff; -} -.checkbox-dark input:checked~span::before { - background-color: #465161; - border-color: #465161; -} -.checkbox-dark input:checked~span::after { - border-color: #fff; -} -.checkbox-secondary input:checked~span::before { - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.checkbox-secondary input:checked~span::after { - border-color: #fff; -} -.checkbox-purple input:checked~span::before { - background-color: #926dde; - border-color: #926dde; -} -.checkbox-purple input:checked~span::after { - border-color: #fff; -} -.checkbox-pink input:checked~span::before { - background-color: #f96197; - border-color: #f96197; -} -.checkbox-pink input:checked~span::after { - border-color: #fff; -} -.checkbox-cyan input:checked~span::before { - background-color: #57c7d4; - border-color: #57c7d4; -} -.checkbox-cyan input:checked~span::after { - border-color: #fff; -} -.checkbox-yellow input:checked~span::before { - background-color: #fcc525; - border-color: #fcc525; -} -.checkbox-yellow input:checked~span::after { - border-color: #fff; -} -.checkbox-brown input:checked~span::before { - background-color: #8d6658; - border-color: #8d6658; -} -.checkbox-brown input:checked~span::after { - border-color: #fff; -} -/* radio */ -.radio span::before { - -webkit-border-radius: 50%; - border-radius: 50%; -} -.radio span::after { - border: 0; - height: 6px; - left: 6px; - top: 6px; - width: 6px; - background: #4d5259; - -webkit-border-radius: 100%; - border-radius: 100%; -} -.radio-primary input:checked~span::before { - background-color: #33cabb; - border-color: #33cabb; -} -.radio-primary input:checked~span::after { - background-color: #fff; -} -.radio-success input:checked~span::before { - background-color: #15c377; - border-color: #15c377; -} -.radio-success input:checked~span::after { - background-color: #fff; -} -.radio-info input:checked~span::before { - background-color: #48b0f7; - border-color: #48b0f7; -} -.radio-info input:checked~span::after { - background-color: #fff; -} -.radio-warning input:checked~span::before { - background-color: #faa64b; - border-color: #faa64b; -} -.radio-warning input:checked~span::after { - background-color: #fff; -} -.radio-danger input:checked~span::before { - background-color: #f96868; - border-color: #f96868; -} -.radio-danger input:checked~span::after { - background-color: #fff; -} -.radio-dark input:checked~span::before { - background-color: #465161; - border-color: #465161; -} -.radio-dark input:checked~span::after { - background-color: #fff; -} -.radio-secondary input:checked~span::before { - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.radio-secondary input:checked~span::after { - background-color: #fff; -} -.radio-purple input:checked~span::before { - background-color: #926dde; - border-color: #926dde; -} -.radio-purple input:checked~span::after { - background-color: #fff; -} -.radio-pink input:checked~span::before { - background-color: #f96197; - border-color: #f96197; -} -.radio-pink input:checked~span::after { - background-color: #fff; -} -.radio-cyan input:checked~span::before { - background-color: #57c7d4; - border-color: #57c7d4; -} -.radio-cyan input:checked~span::after { - background-color: #fff; -} -.radio-yellow input:checked~span::before { - background-color: #fcc525; - border-color: #fcc525; -} -.radio-yellow input:checked~span::after { - background-color: #fff; -} -.radio-brown input:checked~span::before { - background-color: #8d6658; - border-color: #8d6658; -} -.radio-brown input:checked~span::after { - background-color: #fff; -} - -.checkbox-inline, .radio-inline { - display: inline-block; -} -.form-horizontal .radio.radio-inline, -.form-horizontal .checkbox.checkbox-inline { - padding-top: 0px; - margin-top: 8px; -} - -/* 开关 */ -.switch { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; -} -.switch input { - height: 0; - width: 0; - position: absolute; - opacity: 0; -} -.switch span { - display: inline-block; - position: relative; - width: 40px; - height: 10px; - -webkit-border-radius: 10px; - border-radius: 10px; - background-color: #ebebeb; - border: 2px solid #ebebeb; - cursor: pointer; - -webkit-transition: all .1s ease; - -o-transition: all .1s ease; - transition: all .1s ease -} -.switch span:after { - content: ''; - height: 20px; - width: 20px; - -webkit-border-radius: 50%; - border-radius: 50%; - position: absolute; - left: 1px; - top: -7px; - color: #aaa; - -webkit-transition: all .1s ease; - -o-transition: all .1s ease; - transition: all .1s ease; - text-align: center; - font-size: 13px; - background-color: #fff; - -webkit-box-shadow: rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px; - box-shadow: rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px -} -.switch input:checked~span:after { - left: -webkit-calc(100% - 20px); - left: calc(100% - 20px); -} -.switch-primary input:checked~span:after { - background-color: #33cabb -} -.switch-success input:checked~span:after { - background-color: #15c377 -} -.switch-info input:checked~span:after { - background-color: #48b0f7 -} -.switch-warning input:checked~span:after { - background-color: #faa64b -} -.switch-danger input:checked~span:after { - background-color: #f96868 -} -.switch-secondary input:checked~span:after { - background-color: #868e96 -} -.switch-dark input:checked~span:after { - background-color: #465161 -} -.switch-purple input:checked~span:after { - background-color: #926dde -} -.switch-pink input:checked~span:after { - background-color: #f96197 -} -.switch-cyan input:checked~span:after { - background-color: #57c7d4 -} -.switch-yellow input:checked~span:after { - background-color: #fcc525 -} -.switch-brown input:checked~span:after { - background-color: #8d6658 -} - -.switch.switch-solid span, -.switch.switch-light span, -.switch.switch-outline span { - height: 20px; -} -.switch.switch-solid span:after, -.switch.switch-light span:after, -.switch.switch-outline span:after { - top: -2px; -} -.switch.switch-outline span { - background-color: #fff -} -.switch-solid.switch-primary input:checked~span { - background-color: #33cabb; - border-color: #33cabb -} -.switch-solid.switch-primary input:checked~span:after { - background-color: #fff; - color: #33cabb -} -.switch-solid.switch-success input:checked~span { - background-color: #15c377; - border-color: #15c377 -} -.switch-solid.switch-success input:checked~span:after { - background-color: #fff; - color: #15c377 -} -.switch-solid.switch-info input:checked~span { - background-color: #48b0f7; - border-color: #48b0f7 -} -.switch-solid.switch-info input:checked~span:after { - background-color: #fff; - color: #48b0f7 -} -.switch-solid.switch-warning input:checked~span { - background-color: #faa64b; - border-color: #faa64b -} -.switch-solid.switch-warning input:checked~span:after { - background-color: #fff; - color: #faa64b -} -.switch-solid.switch-danger input:checked~span { - background-color: #f96868; - border-color: #f96868 -} -.switch-solid.switch-danger input:checked~span:after { - background-color: #fff; - color: #f96868 -} -.switch-solid.switch-secondary input:checked~span { - background-color: #868e96; - border-color: #868e96 -} -.switch-solid.switch-secondary input:checked~span:after { - background-color: #fff; - color: #868e96 -} -.switch-solid.switch-dark input:checked~span { - background-color: #465161; - border-color: #465161 -} -.switch-solid.switch-dark input:checked~span:after { - background-color: #fff; - color: #465161 -} -.switch-solid.switch-purple input:checked~span { - background-color: #926dde; - border-color: #926dde -} -.switch-solid.switch-purple input:checked~span:after { - background-color: #fff; - color: #926dde -} -.switch-solid.switch-pink input:checked~span { - background-color: #f96197; - border-color: #f96197 -} -.switch-solid.switch-pink input:checked~span:after { - background-color: #fff; - color: #f96197 -} -.switch-solid.switch-cyan input:checked~span { - background-color: #57c7d4; - border-color: #57c7d4 -} -.switch-solid.switch-cyan input:checked~span:after { - background-color: #fff; - color: #57c7d4 -} -.switch-solid.switch-yellow input:checked~span { - background-color: #fcc525; - border-color: #fcc525 -} -.switch-solid.switch-yellow input:checked~span:after { - background-color: #fff; - color: #fcc525 -} -.switch-solid.switch-brown input:checked~span { - background-color: #8d6658; - border-color: #8d6658 -} -.switch-solid.switch-brown input:checked~span:after { - background-color: #fff; - color: #8d6658 -} - -/* 模态框 */ -.modal-header { - border-bottom-color: #f1f2f3; -} -.modal-footer { - border-top-color: #f1f2f3; -} -.modal-content { - -webkit-border-radius: 3px; - border-radius: 3px; - border: none; - -webkit-box-shadow: none; - box-shadow: none; -} - -/* 标签页 */ -.nav-tabs { - border-bottom-color: #ebebeb; - margin-bottom: 1rem; -} -.nav-tabs > li > a { - margin-right: 0px; - border: none; - border-bottom: 1px solid transparent; - border-radius: 0; - color: #8b95a5; - -webkit-transition: 0.5s; - transition: 0.5s; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:focus, -.nav-tabs > li.active > a:hover { - color: #4d5259; - border: none; - background-color: transparent; - border-bottom: 1px solid #33cabb; -} -.nav-tabs.nav > li > a:hover, -.nav-tabs.nav > li > a:focus { - text-decoration: none; - background-color: transparent; - border-bottom-color: #33cabb; -} -.nav-tabs.nav-justified>.active>a, -.nav-tabs.nav-justified>.active>a:focus, -.nav-tabs.nav-justified>.active>a:hover { - color: #4d5259; - border: none; - border-bottom: 1px solid #33cabb; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified>li>a { - border-bottom-color: #ebebeb; - -webkit-border-radius: 0px; - border-radius: 0px; - } -} - -/* 进度条 */ -.progress { - height: 12px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; - margin-bottom: 8px; - background-color: #f5f6f7; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress-bar { - font-size: 10px; - line-height: 12px; - background-color: #33cabb; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress-bar-success { - background-color: #15c377; -} -.progress-bar-info { - background-color: #48b0f7; -} -.progress-bar-warning { - background-color: #faa64b; -} -.progress-bar-danger { - background-color: #f96868; -} -.progress-bar-secondary { - background-color: #e4e7ea; -} -.progress-bar-pink { - background-color: #f96197; -} -.progress-bar-purple { - background-color: #926dde; -} -.progress-bar-brown { - background-color: #8d6658; -} -.progress-bar-cyan { - background-color: #57c7d4; -} -.progress-bar-yellow { - background-color: #fcc525; -} -.progress-bar-gray { - background-color: #868e96; -} -.progress-bar-dark { - background-color: #465161; -} -.progress-sm { - height: 8px; -} -.progress-lg { - height: 16px; -} - -/* 弹出框 */ -.popover { - border-color: #ebebeb; - -webkit-border-radius: 2px; - border-radius: 2px; - -webkit-box-shadow: none; - box-shadow: none; - padding: 0px; -} -.popover-title { - background-color: #fcfdfe; - padding-top: 10px; - padding-bottom: 10px; - color: #616a78; - border-bottom-color: #f1f2f3; -} -.popover.top>.arrow { - border-top-color: #ebebeb; -} -.popover.right>.arrow { - border-right-color: #ebebeb; -} -.popover.bottom>.arrow { - border-bottom-color: #ebebeb; -} -.popover.left>.arrow { - border-left-color: #ebebeb; -} - -/* 警告框 */ -.alert { - -webkit-border-radius: 2px; - border-radius: 2px; -} -.alert .alert-link:hover { - text-decoration: underline; -} - -/* 分页 */ -.pagination > li > a, -.pagination > li > span { - padding: 0px 8px; - margin: 0 3px; - color: #6c757d; - border-color: #dee2e6; - line-height: 29px; - min-width: 31px; - text-align: center; - -webkit-border-radius: 2px; - border-radius: 2px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 0; - min-width: 26px; - line-height: 24px; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 0; - min-width: 37px; - line-height: 35px; -} -.pagination > li > a:hover, -.pagination > li > a:focus -.pagination > li > span:hover, -.pagination > li > span:focus { - background-color: #f9fafb; - color: #4d5259; -} -.pagination > li:first-child a, -.pagination > li:first-child span { - -webkit-border-radius: 2px; - border-radius: 2px; -} -.pagination > li:last-child a, -.pagination > li:last-child span { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.pagination > .active > a, -.pagination > .active > a:focus, -.pagination > .active > a:hover, -.pagination > .active > span, -.pagination > .active > span:focus, -.pagination > .active > span:hover { - background-color: #33cabb; - border-color: #33cabb; -} -.pagination > .disabled > a, -.pagination > .disabled > a:focus, -.pagination > .disabled > a:hover, -.pagination > .disabled > span, -.pagination > .disabled > span:focus, -.pagination > .disabled > span:hover { - color: #6c757d; - opacity: 0.6; -} -.pagination.no-border > li a, -.pagination.no-border > li span { - border: none; -} -.pagination-circle > li a, -.pagination-circle > li span { - -webkit-border-radius: 50% !important; - border-radius: 50% !important; -} -.pagination.no-gutters > li a, -.pagination.no-gutters > li span { - margin: 0; - margin-left: -1px; - -webkit-border-radius: 0 !important; - border-radius: 0 !important; -} - -.pager li > a, -.pager li > span { - -webkit-border-radius: 2px; - border-radius: 2px; - background-color: #fcfdfe; - border-color: #ebebeb; - color: #8b95a5; -} -.pager li > a:hover, -.pager li > a:focus{ - background-color: #f9fafb; - color: #4d5259 -} -.pager li > a:active, -.pager li > a.active { - background-color: #f9fafb; - color: #4d5259 -} -.pager .disabled > a, -.pager .disabled > a:focus, -.pager .disabled > a:hover, -.pager .disabled > span { - opacity: .6; - background-color: #fcfdfe; -} - -/* 按钮 */ -.btn-w-xs { - width: 80px -} -.btn-w-sm { - width: 100px -} -.btn-w-md { - width: 120px -} -.btn-w-lg { - width: 145px -} -.btn-w-xl { - width: 180px -} -.btn { - color: #8b95a5; - padding: 8px 12px; - letter-spacing: 1px; - border-radius: 2px; - background-color: #fff; - outline: none !important; - -webkit-transition: 0.15s linear; - transition: 0.15s linear -} -.btn:focus, -.btn.focus, -.btn:active, -.btn.active { - -webkit-box-shadow: none !important; - box-shadow: none !important -} -.btn-default { - background-color: #fcfdfe; - border-color: #ebebeb; - color: #8b95a5 -} -.btn-default:hover { - background-color: #f9fafb; - border-color: #ebebeb; - color: #4d5259 -} -.btn-default:focus, -.btn-default.focus, -.btn-default:active, -.btn-default.active, -.show>.btn-default.dropdown-toggle, -.open>.btn-default.dropdown-toggle { - background-color: #f9fafb!important; - border-color: #ebebeb!important; - color: #4d5259 -} -.btn-default:not([disabled]):not(.disabled).active, -.btn-default:not([disabled]):not(.disabled):active, -.show>.btn-default.dropdown-toggle { - background-color: #f9fafb!important; - border-color: #ebebeb!important; - color: #fff; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-default.disabled, -.btn-default:disabled { - background-color: #fcfdfe; - border-color: #ebebeb; - opacity: 0.5 -} -.btn-primary { - background-color: #33cabb; - border-color: #33cabb; - color: #fff!important; -} -.btn-primary:hover { - background-color: #52d3c7; - border-color: #52d3c7; -} -.btn-primary:focus, -.btn-primary.focus, -.btn-primary.active, -.btn-primary:active, -.open>.dropdown-toggle.btn-primary { - background-color: #52d3c7!important; - border-color: #52d3c7!important; -} -.btn-primary.disabled, -.btn-primary:disabled { - background-color: #33cabb; - border-color: #33cabb; - opacity: 0.5 -} -.btn-primary:not([disabled]):not(.disabled).active, -.btn-primary:not([disabled]):not(.disabled):active, -.show>.btn-primary.dropdown-toggle { - background-color: #2ba99d!important; - border-color: #2ba99d!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-primary.disabled.focus, -.btn-primary.disabled:focus, -.btn-primary.disabled:hover, -.btn-primary[disabled].focus, -.btn-primary[disabled]:focus, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary.focus, -fieldset[disabled] .btn-primary:focus, -fieldset[disabled] .btn-primary:hover { - background-color: #26BBA8; - border-color: #26BBA8; -} -.btn-success { - background-color: #15c377; - border-color: #15c377; - color: #fff!important; -} -.btn-success:hover { - background-color: #16d17f; - border-color: #16d17f; -} -.btn-success:focus, -.btn-success.focus, -.btn-success.active, -.btn-success:active, -.open>.dropdown-toggle.btn-success { - background-color: #16d17f!important; - border-color: #16d17f!important; -} -.btn-success.disabled,.btn-success:disabled { - background-color: #15c377; - border-color: #15c377; - opacity: 0.5 -} -.btn-success:not([disabled]):not(.disabled).active, -.btn-success:not([disabled]):not(.disabled):active, -.show>.btn-success.dropdown-toggle { - background-color: #14b56f!important; - border-color: #14b56f!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-success.disabled.focus, -.btn-success.disabled:focus, -.btn-success.disabled:hover, -.btn-success[disabled].focus, -.btn-success[disabled]:focus, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success.focus, -fieldset[disabled] .btn-success:focus, -fieldset[disabled] .btn-success:hover { - background-color: #0FB25F; - border-color: #0FB25F; -} -.btn-info { - background-color: #48b0f7; - border-color: #48b0f7; - color: #fff!important; -} -.btn-info:hover { - background-color: #65bdf8; - border-color: #65bdf8; -} -.btn-info:focus, -.btn-info.focus, -.btn-info.active, -.btn-info:active, -.open>.dropdown-toggle.btn-info { - background-color: #65bdf8!important; - border-color: #65bdf8!important; -} -.btn-info.disabled, -.btn-info:disabled { - background-color: #48b0f7; - border-color: #48b0f7; - opacity: 0.5 -} -.btn-info:not([disabled]):not(.disabled).active, -.btn-info:not([disabled]):not(.disabled):active, -.show>.btn-info.dropdown-toggle { - background-color: #2ba3f6!important; - border-color: #2ba3f6!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-info.disabled.focus, -.btn-info.disabled:focus, -.btn-info.disabled:hover, -.btn-info[disabled].focus, -.btn-info[disabled]:focus, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info.focus, -fieldset[disabled] .btn-info:focus, -fieldset[disabled] .btn-info:hover { - background-color: #379BF5; - border-color: #379BF5; -} -.btn-warning { - background-color: #faa64b; - border-color: #faa64b; - color: #fff!important; -} -.btn-warning:hover { - background-color: #fbb264; - border-color: #fbb264; -} -.btn-warning:focus, -.btn-warning.focus, -.btn-warning.active, -.btn-warning:active, -.open>.dropdown-toggle.btn-warning { - background-color: #fbb264!important; - border-color: #fbb264!important; -} -.btn-warning.disabled,.btn-warning:disabled { - background-color: #faa64b; - border-color: #faa64b; - opacity: 0.5 -} -.btn-warning:not([disabled]):not(.disabled).active, -.btn-warning:not([disabled]):not(.disabled):active, -.show>.btn-warning.dropdown-toggle { - background-color: #f99a32!important; - border-color: #f99a32!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-warning.disabled.focus, -.btn-warning.disabled:focus, -.btn-warning.disabled:hover, -.btn-warning[disabled].focus, -.btn-warning[disabled]:focus, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning.focus, -fieldset[disabled] .btn-warning:focus, -fieldset[disabled] .btn-warning:hover { - background-color: #F89038; - border-color: #F89038; -} -.btn-danger { - background-color: #f96868; - border-color: #f96868; - color: #fff!important; -} -.btn-danger:hover { - background-color: #fa8181; - border-color: #fa8181; -} -.btn-danger:focus, -.btn-danger.focus, -.btn-danger.active, -.btn-danger:active, -.open>.dropdown-toggle.btn-danger { - background-color: #fa8181!important; - border-color: #fa8181!important; -} -.btn-danger.disabled, -.btn-danger:disabled { - background-color: #f96868; - border-color: #f96868; - opacity: 0.5 -} -.btn-danger:not([disabled]):not(.disabled).active, -.btn-danger:not([disabled]):not(.disabled):active, -.show>.btn-danger.dropdown-toggle { - background-color: #f84f4f!important; - border-color: #f84f4f!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-danger.disabled.focus, -.btn-danger.disabled:focus, -.btn-danger.disabled:hover, -.btn-danger[disabled].focus, -.btn-danger[disabled]:focus, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger.focus, -fieldset[disabled] .btn-danger:focus, -fieldset[disabled] .btn-danger:hover { - background-color: #F75252; - border-color: #F75252; -} -.btn-secondary { - color: #4d5259 !important; - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.btn-secondary:hover { - background-color: #edeff1; - border-color: #edeff1; -} -.btn-secondary:focus, -.btn-secondary.focus, -.btn-secondary.active, -.btn-secondary:active, -.open>.dropdown-toggle.btn-secondary { - background-color: #edeff1!important; - border-color: #edeff1!important; -} -.btn-secondary.disabled, -.btn-secondary:disabled { - background-color: #e4e7ea; - border-color: #e4e7ea; - opacity: 0.5 -} -.btn-secondary:not([disabled]):not(.disabled).active, -.btn-secondary:not([disabled]):not(.disabled):active, -.show>.btn-secondary.dropdown-toggle { - background-color: #dbdfe3!important; - border-color: #dbdfe3!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-secondary.disabled.focus, -.btn-secondary.disabled:focus, -.btn-secondary.disabled:hover, -.btn-secondary[disabled].focus, -.btn-secondary[disabled]:focus, -.btn-secondary[disabled]:hover, -fieldset[disabled] .btn-secondary.focus, -fieldset[disabled] .btn-secondary:focus, -fieldset[disabled] .btn-secondary:hover { - background-color: #DBDFE3; - border-color: #DBDFE3; -} -.btn-link { - color: #48b0f7; - background-color: transparent; - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - text-decoration: none; - color: #e4e7ea -} -.btn-purple { - background-color: #926dde; - border-color: #926dde; - color: #fff!important; -} -.btn-purple:hover { - background-color: #a282e3; - border-color: #a282e3; -} -.btn-purple:focus, -.btn-purple.focus, -.btn-purple.active, -.btn-purple:active, -.open>.dropdown-toggle.btn-purple { - background-color: #a282e3!important; - border-color: #a282e3!important; -} -.btn-purple.disabled, -.btn-purple:disabled { - background-color: #926dde; - border-color: #926dde; - opacity: 0.5 -} -.btn-purple:not([disabled]):not(.disabled).active, -.btn-purple:not([disabled]):not(.disabled):active, -.show>.btn-purple.dropdown-toggle { - background-color: #8258d9!important; - border-color: #8258d9!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-purple.disabled.focus, -.btn-purple.disabled:focus, -.btn-purple.disabled:hover, -.btn-purple[disabled].focus, -.btn-purple[disabled]:focus, -.btn-purple[disabled]:hover, -fieldset[disabled] .btn-purple.focus, -fieldset[disabled] .btn-purple:focus, -fieldset[disabled] .btn-purple:hover { - background-color: #7A56D4; - border-color: #7A56D4; -} -.btn-pink { - background-color: #f96197; - border-color: #f96197; - color: #fff!important; -} -.btn-pink:hover { - background-color: #fa75a4; - border-color: #fa75a4; -} -.btn-pink:focus, -.btn-pink.focus, -.btn-pink.active, -.btn-pink:active, -.open>.dropdown-toggle.btn-pink { - background-color: #fa75a4!important; - border-color: #fa75a4!important; -} -.btn-pink.disabled, -.btn-pink:disabled { - background-color: #f96197; - border-color: #f96197; - opacity: 0.5 -} -.btn-pink:not([disabled]):not(.disabled).active, -.btn-pink:not([disabled]):not(.disabled):active, -.show>.btn-pink.dropdown-toggle { - background-color: #f84d8a!important; - border-color: #f84d8a!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-pink.disabled.focus, -.btn-pink.disabled:focus, -.btn-pink.disabled:hover, -.btn-pink[disabled].focus, -.btn-pink[disabled]:focus, -.btn-pink[disabled]:hover, -fieldset[disabled] .btn-pink.focus, -fieldset[disabled] .btn-pink:focus, -fieldset[disabled] .btn-pink:hover { - background-color: #F74B80; - border-color: #F74B80; -} -.btn-cyan { - background-color: #57c7d4; - border-color: #57c7d4; - color: #fff!important; -} -.btn-cyan:hover { - background-color: #77d2dc; - border-color: #77d2dc; -} -.btn-cyan:focus, -.btn-cyan.focus, -.btn-cyan.active, -.btn-cyan:active, -.open>.dropdown-toggle.btn-cyan { - background-color: #77d2dc!important; - border-color: #77d2dc!important; -} -.btn-cyan.disabled, -.btn-cyan:disabled { - background-color: #57c7d4; - border-color: #57c7d4; - opacity: 0.5 -} -.btn-cyan:not([disabled]):not(.disabled).active, -.btn-cyan:not([disabled]):not(.disabled):active, -.show>.btn-cyan.dropdown-toggle { - background-color: #37bccc!important; - border-color: #37bccc!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-cyan.disabled.focus, -.btn-cyan.disabled:focus, -.btn-cyan.disabled:hover, -.btn-cyan[disabled].focus, -.btn-cyan[disabled]:focus, -.btn-cyan[disabled]:hover, -fieldset[disabled] .btn-cyan.focus, -fieldset[disabled] .btn-cyan:focus, -fieldset[disabled] .btn-cyan:hover { - background-color: #42B7C7; - border-color: #42B7C7; -} -.btn-yellow { - background-color: #fcc525; - border-color: #fcc525; - color: #fff!important; -} -.btn-yellow:hover { - background-color: #fdd04d; - border-color: #fdd04d; -} -.btn-yellow:focus, -.btn-yellow.focus, -.btn-yellow.active, -.btn-yellow:active, -.open>.dropdown-toggle.btn-yellow { - background-color: #fdd04d!important; - border-color: #fdd04d!important; -} -.btn-yellow.disabled, -.btn-yellow:disabled { - background-color: #fcc525; - border-color: #fcc525; - opacity: 0.5 -} -.btn-yellow:not([disabled]):not(.disabled).active, -.btn-yellow:not([disabled]):not(.disabled):active, -.show>.btn-yellow.dropdown-toggle { - background-color: #f5b703!important; - border-color: #f5b703!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-yellow.disabled.focus, -.btn-yellow.disabled:focus, -.btn-yellow.disabled:hover, -.btn-yellow[disabled].focus, -.btn-yellow[disabled]:focus, -.btn-yellow[disabled]:hover, -fieldset[disabled] .btn-yellow.focus, -fieldset[disabled] .btn-yellow:focus, -fieldset[disabled] .btn-yellow:hover { - background-color: #FCB41B; - border-color: #FCB41B; -} -.btn-brown { - background-color: #8d6658; - border-color: #8d6658; - color: #fff!important; -} -.btn-brown:hover { - background-color: #9d7162; - border-color: #9d7162; -} -.btn-brown:focus, -.btn-brown.focus, -.btn-brown.active, -.btn-brown:active, -.open>.dropdown-toggle.btn-brown { - background-color: #8d6658!important; - border-color: #8d6658!important; -} -.btn-brown.disabled, -.btn-brown:disabled { - background-color: #8d6658; - border-color: #8d6658; - opacity: 0.5 -} -.btn-brown:not([disabled]):not(.disabled).active, -.btn-brown:not([disabled]):not(.disabled):active, -.show>.btn-brown.dropdown-toggle { - background-color: #7d5b4e!important; - border-color: #7d5b4e!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-brown.disabled.focus, -.btn-brown.disabled:focus, -.btn-brown.disabled:hover, -.btn-brown[disabled].focus, -.btn-brown[disabled]:focus, -.btn-brown[disabled]:hover, -fieldset[disabled] .btn-brown.focus, -fieldset[disabled] .btn-brown:focus, -fieldset[disabled] .btn-brown:hover { - background-color: #755043; - border-color: #755043; -} -.btn-dark { - background-color: #465161; - border-color: #465161; - color: #fff!important; -} -.btn-dark:hover { - background-color: #515d70; - border-color: #515d70; -} -.btn-dark:focus, -.btn-dark.focus, -.btn-dark.active, -.btn-dark:active, -.open>.dropdown-toggle.btn-dark { - background-color: #515d70!important; - border-color: #515d70!important; -} -.btn-dark.disabled, -.btn-dark:disabled { - background-color: #465161; - border-color: #465161; - opacity: 0.5 -} -.btn-dark:not([disabled]):not(.disabled).active, -.btn-dark:not([disabled]):not(.disabled):active, -.show>.btn-dark.dropdown-toggle { - background-color: #3b4552!important; - border-color: #3b4552!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-dark.disabled.focus, -.btn-dark.disabled:focus, -.btn-dark.disabled:hover, -.btn-dark[disabled].focus, -.btn-dark[disabled]:focus, -.btn-dark[disabled]:hover, -fieldset[disabled] .btn-dark.focus, -fieldset[disabled] .btn-dark:focus, -fieldset[disabled] .btn-dark:hover { - background-color: #353E4B; - border-color: #353E4B; -} -.btn-round { - -webkit-border-radius: 10rem; -} -.btn-label { - position: relative; - padding-left: 52px; - overflow: hidden; -} -.btn-label label { - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 36px; - line-height: 1.5; - padding-top: 5px; - padding-bottom: 5px; - background-color: rgba(0,0,0,0.1); - cursor: pointer; - margin-bottom: 0; -} -.btn-label label i { - font-size: 16px; -} -.btn-group-xs>.btn, -.btn-xs { - font-size: 12px; - padding: 2px 8px; - line-height: 18px -} -.btn-group-sm>.btn, -.btn-sm { - font-size: 12px; - padding: 4px 12px; - line-height: 20px -} -.btn-group-lg>.btn, -.btn-lg { - font-size: 16px; - padding: 7px 20px; - line-height: 32px -} -.btn-group-justified { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; -} -.btn-group-justified .btn { - width: 100%; -} -.btn-group-round .btn:first-child { - border-top-left-radius: 10rem; - border-bottom-left-radius: 10rem; -} -.btn-group-round .btn:last-child { - border-top-right-radius: 10rem; - border-bottom-right-radius: 10rem; -} - -/* 背景色 */ -.bg-primary { - background-color: #33cabb !important; - color: #fff!important; -} -.bg-secondary { - background-color: #e4e7ea !important; - color: #fff!important; -} -.bg-success { - background-color: #15c377 !important; - color: #fff!important; -} -.bg-info { - background-color: #48b0f7 !important; - color: #fff!important; -} -.bg-warning { - background-color: #faa64b !important; - color: #fff!important; -} -.bg-danger { - background-color: #f96868 !important; - color: #fff!important; -} -.bg-pink { - background-color: #f96197 !important; - color: #fff!important; -} -.bg-purple { - background-color: #926dde !important; - color: #fff!important; -} -.bg-brown { - background-color: #8d6658 !important; - color: #fff!important; -} -.bg-cyan { - background-color: #57c7d4 !important; - color: #fff!important; -} -.bg-yellow { - background-color: #fcc525 !important; - color: #fff!important; -} -.bg-gray { - background-color: #868e96 !important; - color: #fff!important; -} -.bg-dark { - background-color: #465161 !important; - color: #fff!important; -} -.bg-white { - background-color: #fff !important -} -.bg-lightest { - background-color: #fcfdfe !important -} -.bg-lighter { - background-color: #f9fafb !important -} -.bg-light { - background-color: #f5f6f7 !important -} -.bg-translucent { - background-color: rgba(255, 255, 255, 0.175) -} -.bg-transparent { - background-color: transparent !important -} - -/* 字体颜色 */ -.text-primary { - color: #33cabb !important -} -.text-secondary { - color: #e4e7ea !important -} -.text-success { - color: #15c377 !important -} -.text-info { - color: #48b0f7 !important -} -.text-warning { - color: #faa64b !important -} -.text-danger { - color: #f96868 !important -} -.text-pink { - color: #f96197 !important -} -.text-purple { - color: #926dde !important -} -.text-brown { - color: #8d6658 !important -} -.text-cyan { - color: #57c7d4 !important -} -.text-yellow { - color: #fcc525 !important -} -.text-gray { - color: #868e96 !important -} -.text-dark { - color: #465161 !important -} -.text-default { - color: #4d5259 !important -} -.text-muted { - color: #868e96 !important -} -.text-light { - color: #616a78 !important -} -.text-lighter { - color: #a5b3c7 !important -} -.text-fade { - color: rgba(77,82,89,0.7) !important -} -.text-fader { - color: rgba(77,82,89,0.5) !important -} -.text-fadest { - color: rgba(77,82,89,0.4) !important -} -.text-white { - color: #ffffff!important -} -.text-transparent { - color: transparent !important -} -a.text-primary:hover,a.text-primary:focus { - color: #33cabb !important -} -a.text-secondary:hover,a.text-secondary:focus { - color: #e4e7ea !important -} -a.text-info:hover,a.text-info:focus { - color: #48b0f7 !important -} -a.text-success:hover,a.text-success:focus { - color: #15c377 !important -} -a.text-warning:hover,a.text-warning:focus { - color: #faa64b !important -} -a.text-danger:hover,a.text-danger:focus { - color: #f96868 !important -} - -/* 分割线 */ -.divider { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-flex: 0; - flex: 0 1; - color: #8b95a5; - font-size: 11px; - letter-spacing: .5px; - margin: 2rem auto; - width: 100%; -} -.divider::before, -.divider::after { - content: ''; - -webkit-box-flex: 1; - flex-grow: 1; - border-top: 1px solid #ebebeb; -} -.divider::before { - margin-right: 16px; -} -.divider::after { - margin-left: 16px; -} - -/* 其他 */ -hr { - border-top-color: rgba(77,82,89,0.05); - margin: 2rem auto; -} -dd, dt { - line-height: 1.75; -} -.lead { - font-size: 16px; - line-height: 1.75; -} -.irs { - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; -} - -/** ---------------------------------- - * 辅助类 - -------------------------------------- */ -/* margin */ -.m-0 { - margin: 0px!important; -} -.m-t-0 { - margin-top: 0px!important; -} -.m-b-0 { - margin-bottom: 0px!important; -} -.m-5 { - margin: 5px!important; -} -.m-t-5 { - margin-top: 5px!important; -} -.m-r-5 { - margin-right: 5px!important; -} -.m-b-5 { - margin-bottom: 5px!important; -} -.m-l-5 { - margin-left: 5px!important; -} -.m-10 { - margin: 10px!important; -} -.m-tb-10 { - margin: 10px 0px!important; -} -.m-lr-10 { - margin: 0px 10px!important; -} -.m-t-10 { - margin-top: 10px!important; -} -.m-r-10 { - margin-right: 10px!important; -} -.m-b-10 { - margin-bottom: 10px!important; -} -.m-l-10 { - margin-left: 10px!important; -} - -/* padding */ -.p-0 { - padding: 0px!important; -} -.p-t-0 { - padding-top: 0px!important; -} -.p-b-0 { - padding-bottom: 0px!important; -} -.p-10 { - padding: 10px!important; -} -.p-tb-10 { - padding: 10px 0px!important; -} -.p-lr-10 { - padding: 0px 10px!important; -} -.p-t-10 { - padding-top: 10px!important; -} -.p-r-10 { - padding-right: 10px!important; -} -.p-b-10 { - padding-bottom: 10px!important; -} -.p-l-10 { - padding-left: 10px!important; -} -.p-lr-15 { - padding: 0px 15px!important; -} -.p-l-20 { - padding-left: 20px!important; -} -.p-l-40 { - padding-left: 40px!important; -} - -/* 字体大小 */ -.fa-1-5x { - font-size: 1.5em; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-6x { - font-size: 6em; -} -.fa-7x { - font-size: 7em; -} -.fa-8x { - font-size: 8em; -} -.fa-9x { - font-size: 9em; -} -.fa-10x { - font-size: 10em; -} - -/* 宽度 */ -.w-5 { - width: 5%; -} -.w-10 { - width: 10%; -} -.w-15 { - width: 15%; -} -.w-20 { - width: 20%; -} -.w-25 { - width: 25%; -} -.w-30 { - width: 30%; -} -.w-35 { - width: 35%; -} -.w-40 { - width: 40%; -} -.w-45 { - width: 45%; -} -.w-50 { - width: 50%; -} -.w-55 { - width: 55%; -} -.w-60 { - width: 60%; -} -.w-65 { - width: 65%; -} -.w-70 { - width: 70%; -} -.w-75 { - width: 75%; -} -.w-80 { - width: 80%; -} -.w-85 { - width: 85%; -} -.w-90 { - width: 90%; -} -.w-95 { - width: 95%; -} -.w-100 { - width: 100%; -} - -/* 图库 */ -.masonry-grid { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 30px; - -moz-column-gap: 30px; - column-gap: 30px; -} -.masonry-item { - display: block; - -webkit-column-break-inside: avoid; - break-inside: avoid; - padding-bottom: 30px; -} -.masonry-grid.gap-2 { - -webkit-column-gap: 16px; - -moz-column-gap: 16px; - column-gap: 16px; -} -.masonry-grid.gap-2 .masonry-item { - padding-bottom: 16px; -} - -/** ---------------------------------- - * 滚动条样式 - -------------------------------------- */ -.ps { - overflow: hidden !important; - overflow-anchor: none; - -ms-overflow-style: none; - touch-action: auto; - -ms-touch-action: auto; -} -.ps__rail-x { - display: none; - opacity: 0; - transition: background-color .2s linear, opacity .2s linear; - -webkit-transition: background-color .2s linear, opacity .2s linear; - height: 6px; - bottom: 2px; - position: absolute; -} - -.ps__rail-y { - display: none; - opacity: 0; - transition: background-color .2s linear, opacity .2s linear; - -webkit-transition: background-color .2s linear, opacity .2s linear; - width: 6px; - right: 2px; - position: absolute; -} -.ps--active-x > .ps__rail-x, -.ps--active-y > .ps__rail-y { - display: block; - background-color: transparent; -} -.ps:hover > .ps__rail-x, -.ps:hover > .ps__rail-y, -.ps--focus > .ps__rail-x, -.ps--focus > .ps__rail-y, -.ps--scrolling-x > .ps__rail-x, -.ps--scrolling-y > .ps__rail-y { - opacity: 0.6; -} -.ps .ps__rail-x:hover, -.ps .ps__rail-y:hover, -.ps .ps__rail-x:focus, -.ps .ps__rail-y:focus, -.ps .ps__rail-x.ps--clicking, -.ps .ps__rail-y.ps--clicking { - background-color: #eee; - opacity: 0.9; -} -.ps__thumb-x { - background-color: #aaa; - border-radius: 6px; - transition: background-color .2s linear, height .2s ease-in-out; - -webkit-transition: background-color .2s linear, height .2s ease-in-out; - height: 3px; - bottom: 0px; - position: absolute; -} -.ps__thumb-y { - background-color: #aaa; - border-radius: 6px; - transition: background-color .2s linear, width .2s ease-in-out; - -webkit-transition: background-color .2s linear, width .2s ease-in-out; - width: 3px; - right: 0px; - position: absolute; -} -.ps__rail-x:hover > .ps__thumb-x, -.ps__rail-x:focus > .ps__thumb-x, -.ps__rail-x.ps--clicking .ps__thumb-x { - background-color: #999; - height: 6px; -} -.ps__rail-y:hover > .ps__thumb-y, -.ps__rail-y:focus > .ps__thumb-y, -.ps__rail-y.ps--clicking .ps__thumb-y { - background-color: #999; - width: 6px; -} -@supports (-ms-overflow-style: none) { - .ps { - overflow: auto !important; - } -} -@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .ps { - overflow: auto !important; - } -} - -/** ---------------------------------- - * 左侧导航 - -------------------------------------- */ -.layout-sidebar { - position: fixed; - top: 0; - bottom: 0; - z-index: 5; - display: block; - width: 240px; - font-weight: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: 0.3s transform; - transition: 0.3s transform; - transform: translateX(0); - -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.08); - -moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.08); - box-shadow: 0px 0px 5px rgba(0,0,0,0.08); -} -.layout-sidebar-close .layout-sidebar { - transform: translateX(-100%); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.layout-sidebar-close .layout-header, -.layout-sidebar-close .layout-content { - padding-left: 0px; -} -.layout-sidebar-scroll { - height: -moz-calc(100% - 68px); - height: -webkit-calc(100% - 68px); - height: calc(100% - 68px); - position: relative; - background-color: #fff; -} - -/* 侧边栏开关 */ -.aside-toggler { - margin-right: .25rem; - padding: .25rem .95rem .25rem .25rem; - line-height: 1.5; - cursor: pointer; -} -.aside-toggler .toggler-bar { - display: block; - height: 2px; - width: 20px; - background-color: #4d5259; - margin: 4px 0px; - -webkit-transition: 0.3s; - transition: 0.3s; -} -.aside-toggler .toggler-bar:nth-child(2) { - width: 15px; -} -.aside-toggler:hover .toggler-bar:nth-child(2) { - width: 20px; -} -.layout-sidebar-close .aside-toggler .toggler-bar { - width: 20px; -} - -/* logo */ -.sidebar-header { - position: relative; - overflow: hidden; - z-index: 999; - background-color: #fff; - width: 100%; - -webkit-box-shadow: 0 1px 1px -1px rgba(77,82,89,0.15); - box-shadow: 0 1px 1px -1px rgba(77,82,89,0.15); -} -.sidebar-header:before, .sidebar-header:after { - content: " "; - display: table; -} -.sidebar-header a { - display: block; - height: auto; - width: 100%; - text-align: center; -} -.sidebar-header a img { - max-width: 240px; - margin: 16px 0px; -} -.sidebar-main { - -webkit-transform: translateZ(0); - transform: translateZ(0); -} -.nav-drawer li a { - padding-right: 24px; - padding-left: 52.99999px; - color: inherit; - font-weight: 500; -} -.nav-drawer > li > a { - border-right: 3px solid transparent; - padding-top: 14px; - padding-bottom: 13px; -} -.nav-drawer > .active > a { - background-color: rgba(0,0,0,.0125); - border-color: #33cabb; -} -.nav-drawer > li.active > a { - background-color: rgba(0,0,0,.0125)!important; -} -.nav-drawer > .active > a:hover, -.nav-drawer > .active > a:focus, -.nav-drawer > .active > a:active { - background-color: rgba(0,0,0,.0125); - border-color: #33cabb; -} -.nav-drawer .nav-subnav > li.active > a, -.nav-drawer .nav-subnav > li > a:hover { - color: #33cabb; - background-color: transparent; -} -.nav-drawer > li > a > i { - position: absolute; - left: 21px; - top: 11px; - font-size: 1.25em; -} -.nav-drawer ul li ul { - padding-left: 15px; -} -.nav-item-has-subnav > a:after { - position: absolute; - right: 24px; - font-family: 'Material Design Icons'; - font-size: 10px; - line-height: 1.75; - content: '\f142'; - -webkit-transition: -webkit-transform 0.3s linear; - transition: -webkit-transform 0.3s linear; - transition: transform 0.3s linear; - transition: transform 0.3s linear, -webkit-transform 0.3s linear; -} -.nav-item-has-subnav.open > a:after { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} -.nav-item-has-subnav.open > .nav-subnav { - display: block; -} -.nav-subnav { - display: none; - margin-top: 8px; - margin-bottom: 8px; -} - -/* 左侧版权信息 */ -.sidebar-footer { - bottom: 0; - width: 100%; - height: 96px; - border-top: 1px solid rgba(77,82,89,0.05); - margin-top: 24px; - padding-top: 24px; - padding-right: 24px; - padding-bottom: 24px; - padding-left: 24px; - font-size: 13px; - line-height: 24px; -} - -/** ---------------------------------- - * 头部信息 - -------------------------------------- */ -.layout-header { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 4; - padding-left: 240px; - background-color: #fff; - -webkit-transition: padding 0.3s; - transition: padding 0.3s; - -webkit-box-shadow: 4px 0 5px rgba(0, 0, 0, 0.035); - -moz-box-shadow: 4px 0 5px rgba(0, 0, 0, 0.035); - box-shadow: 4px 0 5px rgba(0, 0, 0, 0.035); -} -.layout-header .navbar { - position: relative; - min-height: 64px; - margin-bottom: 0; - border: 0px; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; -} -.layout-header .navbar-default { - background-color: transparent; -} -.topbar { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - align-items: center; - min-height: 64px; - padding: 0 15px; -} -.topbar .topbar-left { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; -} -.topbar .topbar-right { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - flex-direction: row-reverse; - list-style: none; - margin: 0px; - padding: 0px; -} -.topbar-right > li > a { - position: relative; - display: block; - padding: 10px 0px 10px 15px; -} -.navbar-page-title { - display: inline-block; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - font-size: 16px; -} - -/* 头像相关 */ -.img-avatar { - display: inline-block !important; - width: 64px; - height: 64px; - line-height: 64px; - text-align: center; - vertical-align: middle; - -webkit-border-radius: 50%; - border-radius: 50%; -} -.img-avatar-48 { - width: 48px; - height: 48px; - line-height: 48px; -} -.edit-avatar { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; -} -.avatar-divider { - display: inline-block; - border-left: 1px solid rgba(77,82,89,0.07); - height: 50px; - align-self: center; - margin: 0px 20px; -} -.edit-avatar-content { - display: inline-block; -} - - -/** ---------------------------------- - * 主要内容 - -------------------------------------- */ -.layout-content { - height: 100%; - width: 100%; - padding-top: 68px; - padding-left: 240px; - -webkit-transition: padding 0.3s; - transition: padding 0.3s; -} -.layout-content .container-fluid { - padding-top: 15px; - padding-bottom: 15px; -} - -/* card */ -.card { - margin-bottom: 24px; - background-color: #fff; - -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.035); - box-shadow: 0 2px 3px rgba(0, 0, 0, 0.035); -} -.card-header { - display: table; - width: 100%; - margin: 0; - padding: 15px 24px; - border-bottom: 1px solid rgba(77,82,89,0.05); -} -.card-header > * { - margin: 0; - display: table-cell; - vertical-align: middle; -} -.card-body { - padding: 24px 24px; -} -.card-header .h4, -.card-header h4 { - font-size: 16px; -} -.card-header + .card-body { - padding-top: 15px; -} -.card-header[class*='bg'] .card-actions > li > a:not(.label), -.card-header[class*='bg'] .card-actions > li > button, -.card-header[class*='bg'] h1, -.card-header[class*='bg'] h2, -.card-header[class*='bg'] h3, -.card-header[class*='bg'] h4, -.card-header[class*='bg'] h5, -.card-header[class*='bg'] h6, -.card-header[class*='bg'] .h1, -.card-header[class*='bg'] .h2, -.card-header[class*='bg'] .h3, -.card-header[class*='bg'] .h4, -.card-header[class*='bg'] .h5, -.card-header[class*='bg'] .h6 { - color: #ffffff; -} -.card-toolbar { - padding: 24px 24px 0px 24px; - position: relative; -} -.card-toolbar .search-bar { - max-width: 280px; -} -.card-toolbar .dropdown-menu { - min-width: 100%; -} -/* card-actions */ -.card-actions { - float: right; - margin-bottom: 0; - margin-left: auto; - padding: 0; -} -.card-actions > li { - display: inline-block; - padding: 0; -} -.card-actions > li > a:not(.label), -.card-actions > li > button { - color: #86939e; - display: inline-block; - padding: 0; - line-height: 1; - opacity: .7; - vertical-align: middle; - -webkit-transition: opacity 0.15s ease-out; - transition: opacity 0.15s ease-out; -} -.card-actions > li > a:not(.label):hover, -.card-actions > li > button:hover { - text-decoration: none; - opacity: 1; -} -.card-actions > li > a:not(.label):active, -.card-actions > li > button:active { - opacity: .6; -} -.card-actions > li > span { - display: block; -} -.card-actions > li > .label { - line-height: 1.25; -} -.card-actions > li > a:focus { - text-decoration: none; - opacity: 1; -} -.card-actions > li > button { - background: none; - border: none; -} -.card-actions > li.active > a, -.card-actions > li.open > button { - text-decoration: none; - opacity: 1; -} -.card-actions > li + li { - margin-left: 10px; -} -.card .tab-content { - padding: 10px 24px; -} -/* page-tabs */ -.page-tabs.nav-tabs { - padding: 0px 10px; -} -.page-tabs.nav-tabs > li > a { - padding: 15px; -} - -/* 加载动画 */ -#loading { - position: fixed; - width: 100%; - height: 100%; - z-index: 9990; - background: rgba(0, 0, 0, 0.0325) -} -#loading .spinner-border { - z-index: 999999; - position: fixed; - left: 50%; - top: 50% -} -@-webkit-keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.spinner-border { - display: inline-block; - width: 3rem; - height: 3rem; - vertical-align: text-bottom; - border: 0.125em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: spinner-border .75s linear infinite; - animation: spinner-border .75s linear infinite; -} - -/* 步骤条 */ -.nav-step { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; - -webkit-box-align: baseline; - align-items: baseline; - padding: 0px; - margin-bottom: 1rem; -} -.step-dots .nav-step-item { - position: relative; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-flex: 1; - -webkit-box-align: center; - align-items: center; - flex: 1 1; - padding: 0 12px -} -.step-dots .nav-step-item:first-child a::before { - display: none -} -.step-dots .nav-step-item.complete a, -.step-dots .nav-step-item.complete a::before, -.step-dots .nav-step-item.active a, -.step-dots .nav-step-item.active a::before { - background-color: #dcfcfa -} -.step-dots .nav-step-item.complete a::after, -.step-dots .nav-step-item.active a::after { - background-color: #33cabb; - width: 29px; - height: 29px; - -webkit-transform: translateX(0); - transform: translateX(0); - color: #fff -} -.step-dots .nav-step-item.complete a::after { - width: 29px; - height: 29px; - -webkit-transform: translateX(0); - transform: translateX(0); - color: #fff -} -.step-dots .nav-step-item.active a::after { - width: 13px; - height: 13px; - margin-top: 8px; - -webkit-transform: translateX(8px); - transform: translateX(8px); - color: transparent -} -.step-dots a { - display: -webkit-inline-box; - display: inline-flex; - padding: 0; - margin: 10px 0; - width: 29px; - height: 29px; - max-height: 29px; - border-radius: 50%; - background-color: #f7fafc; - -webkit-transition: .5s; - transition: .5s; - z-index: 1 -} -.step-dots a::before { - content: ''; - position: absolute; - left: calc(-50% + 14.5px); - right: calc(50% + 14.5px); - height: 10px; - margin-top: 9.5px; - background-color: #f7fafc; - cursor: default; - -webkit-transition: .5s; - transition: .5s; -} -.step-dots a::after { - content: "\f12c"; - font-family: "Material Design Icons"; - width: 0; - height: 0; - text-align: center; - font-size: 15px; - position: absolute; - border-radius: 50%; - background-color: transparent; - color: transparent; - -webkit-transform: translate(14.5px, 14.5px); - transform: translate(14.5px, 14.5px); - -webkit-transition: .5s; - transition: .5s; - z-index: 1; - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center -} -.nav-step-pane.active { - display: block!important; -} -.nav-step-button { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; -} -.nav-step-button button.disabled { - opacity: 0; -} - -.nav-step.step-anchor { - justify-content: flex-start; - border: 0; - background: #fcfdfe; - border-radius: 0; - list-style: none; - overflow: hidden; -} -.step-anchor > li > a, -.step-anchor > li > a:hover { - color: #bbb; - text-decoration: none; - padding: 10px 0 10px 45px; - position: relative; - display: block; - border: 0!important; - border-radius: 0; - outline-style: none; - background: #f7fafc; -} -.step-anchor > li > a:before, -.step-anchor > li > a:after { - -webkit-transition: .2s linear; - transition: .2s linear; -} -.step-anchor > li > a:after { - content: " "; - display: block; - width: 0; - height: 0; - border-top: 50px solid transparent; - border-bottom: 50px solid transparent; - border-left: 30px solid #f7fafc; - position: absolute; - top: 50%; - margin-top: -50px; - left: 100%; - z-index: 2 -} -.step-anchor > li > a:before { - content: " "; - display: block; - width: 0; - height: 0; - border-top: 50px solid transparent; - border-bottom: 50px solid transparent; - border-left: 30px solid rgba(77,82,89,0.075); - position: absolute; - top: 50%; - margin-top: -50px; - margin-left: 1px; - left: 100%; - z-index: 1 -} -.step-anchor > li:first-child > a { - padding-left: 15px; -} -.step-anchor > li.active h6, -.step-anchor > li.complete h6 { - color: #fff!important; -} -.step-anchor > li.active > a, -.step-anchor > li.complete > a { - border-color: #33cabb!important; - color: rgba(255, 255, 255, .8)!important; - background: #33cabb!important; -} -.step-anchor > li.active > a:after, -.step-anchor > li.complete > a:after { - border-left: 30px solid #33cabb!important; -} - -/* 多图上传 */ -.uploads-pic { - display: -webkit-flex; - display: flex; - -webkit-align-items: stretch; - align-items: stretch; - margin-bottom: 0px; -} -.uploads-pic figure { - position: relative; - background: #4d5259; - overflow: hidden; - text-align: center; - cursor: pointer; -} -.uploads-pic figure img { - position: relative; - display: block; - min-height: 100%; - max-width: 100%; - width: 100%; - opacity: 1; - backface-visibility: hidden; - -webkit-backface-visibility: hidden; - -webkit-transition: opacity 0.5s; - transition: opacity 0.5s; -} -.uploads-pic figure:hover img { - opacity: 0.5; -} -.uploads-pic figure figcaption, -.uploads-pic figure figcaption > a:not(.btn) { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.uploads-pic figure figcaption { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - text-transform: none; - padding: 2em; - color: #fff; - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transition: .35s; - transition: .35s; -} -.uploads-pic figure figcaption > a { - position: static; - z-index: auto; - text-indent: 0; - white-space: nowrap; - opacity: 1; - margin-left: 2px; - margin-right: 2px -} -.uploads-pic figure figcaption > *:first-child { - margin-left: 0; -} -.uploads-pic figure:hover figcaption { - -webkit-transform: scale(1); - transform: scale(1) -} -.uploads-pic .pic-add { - display: -webkit-flex; - justify-content: center; - align-items: center; - height: 100%; - border: 1px dashed #ebebeb; - font-family: "Material Design Icons"; - font-size: 2.875rem; - color: #8b95a5; - -webkit-transition: .35s; - transition: .35s; -} -.uploads-pic .pic-add:before { - content: "\f415"; -} -.uploads-pic .pic-add:hover { - border-color: #33cabb; - color: #33cabb; -} - -/** ---------------------------------- - * 响应式处理 - -------------------------------------- */ -@media (max-width: 1024px) { - .layout-sidebar { - transform: translateX(-100%); - } - .layout-header, - .layout-content { - padding-left: 0; - } - .layout-sidebar { - -webkit-box-shadow: none; - -moz-webkit-box-shadow: none; - box-shadow: none; - } - .layout-sidebar.aside-open { - transform: translateX(0); - } - /* 遮罩层 */ - .mask-modal { - background-color: rgba(0, 0, 0, 0.5); - height: 100%; - left: 0; - opacity: 1; - top: 0; - visibility: visible; - width: 100%; - z-index: 5; - position: fixed; - -webkit-transition: visibility 0 linear 0.4s, opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1); - transition: visibility 0 linear 0.4s, opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1); - -webkit-transform: translateZ(0); - transform: translateZ(0); - } -} -@media screen and (max-width: 767px) { - .table-responsive { - border-color: #eceeef; - } -} -@media screen and (max-width: 700px) { - .card-toolbar .search-bar { - max-width: 100%; - margin-bottom: 10px; - float: none!important; - } -} -@media screen and (max-width: 420px) { - .navbar-page-title { - display: none; - } - .dropdown-skin .dropdown-menu { - width: -131px!important; - } - .nav-step .nav-step-item p { - display: none; - } -} - -/** ---------------------------------- - * 主题设置 - -------------------------------------- */ -.icon-palette { - display: block; - height: 68px; - line-height: 68px; - font-size: 1.5em; - cursor: pointer; - padding: 0 12px; - text-align: center; -} -.drop-title { - color: #4d5259; -} -.drop-title p { - padding: 5px 15px 0px 15px; -} -.drop-skin-li { - padding: 0px 12px; -} -.drop-skin-li input[type=radio] { - display: none; -} -.drop-skin-li input[type=radio]+label { - display: inline-block; - width: 20px; - height: 20px; - cursor: pointer; - margin: 3px; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - border-radius: 50%; - -webkit-transition: all .1s ease; - transition: all .1s ease; -} -.drop-skin-li input[type=radio]:checked+label { - position: relative; -} -.drop-skin-li input[type=radio]:checked+label::after { - content: "\f12c"; - font-family: "Material Design Icons"; - font-size: 1rem; - display: block; - color: #fff; - width: 100%; - text-align: center; - line-height: 20px; - position: absolute; - top: 0px; - -webkit-transition: .2s; - transition: .2s; -} -.drop-skin-li .inverse input[type=radio]:checked+label::after { - color: #4d5259; -} -.dropdown-skin .dropdown-menu { - border: none; - width: 262px; -} - -#header_bg_1+label, #logo_bg_1+label, #sidebar_bg_1+label, #site_theme_1+label { - background-color: #fff; - border: 1px solid #f0f0f0; -} -#header_bg_2+label, #logo_bg_2+label, #sidebar_bg_2+label { - background-color: #15c377; - border: 1px solid #15c377; -} -#header_bg_3+label, #logo_bg_3+label, #sidebar_bg_3+label { - background-color: #48b0f7; - border: 1px solid #48b0f7; -} -#header_bg_4+label, #logo_bg_4+label, #sidebar_bg_4+label { - background-color: #faa64b; - border: 1px solid #faa64b; -} -#header_bg_5+label, #logo_bg_5+label, #sidebar_bg_5+label { - background-color: #f96868; - border: 1px solid #f96868; -} -#header_bg_6+label, #logo_bg_6+label, #sidebar_bg_6+label { - background-color: #926dde; - border: 1px solid #926dde; -} -#header_bg_7+label, #logo_bg_7+label, #sidebar_bg_7+label { - background-color: #33cabb; - border: 1px solid #33cabb; -} -#header_bg_8+label, #logo_bg_8+label, #sidebar_bg_8+label, #site_theme_2+label { - background-color: #465161; - border: 1px solid #465161; -} -#site_theme_3+label { - background: -webkit-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -o-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -moz-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); -} - -/* 暗黑 */ -body[data-theme='dark'] { - background-color: #1c1e2f; - color: #8c909a; -} -body[data-theme='dark'] a, -[data-theme='dark'] .input-group-addon, -[data-theme='dark'] a.list-group-item, -[data-theme='dark'] button.list-group-item, -[data-theme='dark'] h1, -[data-theme='dark'] h2, -[data-theme='dark'] h3, -[data-theme='dark'] h4, -[data-theme='dark'] h5, -[data-theme='dark'] h6, -[data-theme='dark'] .h1, -[data-theme='dark'] .h2, -[data-theme='dark'] .h3, -[data-theme='dark'] .h4, -[data-theme='dark'] .h5, -[data-theme='dark'] .h6 { - color: #8c909a; -} -[data-theme='dark'] code, -[data-theme='dark'] .panel { - background-color: #292B3D; -} -[data-theme='dark'] .aside-toggler .toggler-bar { - background-color: #8c909a; -} -[data-theme='dark'] .layout-header { - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .sidebar-header { - -webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.35); - box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .layout-sidebar-scroll { - -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35) -} -[data-theme='dark'] .sidebar-header, -[data-theme='dark'] .layout-sidebar-scroll, -[data-theme='dark'] .layout-header, -[data-theme='dark'] .card, -[data-theme='dark'] .jconfirm .jconfirm-box { - background-color: #222437; -} -[data-theme='dark'] .nav-drawer > .active > a { - background-color: #202234!important; -} -[data-theme='dark'] .nav-drawer .nav-subnav > li.active > a, -[data-theme='dark'] .nav-drawer .nav-subnav > li > a:hover { - color: #bebdc2; -} -[data-theme='dark'] hr, -[data-theme='dark'] .card-header, -[data-theme='dark'] .sidebar-footer, -[data-theme='dark'] .modal-header, -[data-theme='dark'] .modal-footer, -[data-theme='dark'] .table>tbody>tr>td, -[data-theme='dark'] .table>tbody>tr>th, -[data-theme='dark'] .table>tfoot>tr>td, -[data-theme='dark'] .table>tfoot>tr>th, -[data-theme='dark'] .table>thead>tr>td, -[data-theme='dark'] .table>thead>tr>th, -[data-theme='dark'] .table-bordered { - border-color: #303243; -} -[data-theme='dark'] .table-hover > tbody > tr:hover, -[data-theme='dark'] .table-striped tbody tr:nth-of-type(odd) { - background-color: #292B3D; -} -[data-theme='dark'] .dropdown-menu, -[data-theme='dark'] .modal-content { - background-color: #222437; - border: none; - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .dropdown-menu > li > a:focus, -[data-theme='dark'] .dropdown-menu > li > a:hover, -[data-theme='dark'] .dropdown-menu>.active>a, -[data-theme='dark'] .dropdown-menu>.active>a:focus, -[data-theme='dark'] .dropdown-menu>.active>a:hover { - background-color: #292B3D; - color: #bebdc2; -} -[data-theme='dark'] .dropdown-menu .divider { - background-color: #303243; -} -[data-theme='dark'] .divider::before, -[data-theme='dark'] .divider::after { - border-color: #303243; -} - -[data-theme='dark'] .popover { - background-color: #222437; - border: none; - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .popover.top>.arrow:after { - border-top-color: #222437; -} -[data-theme='dark'] .popover.right>.arrow:after { - border-right-color: #222437; -} -[data-theme='dark'] .popover.bottom>.arrow:after { - border-bottom-color: #222437; -} -[data-theme='dark'] .popover.left>.arrow:after { - border-left-color: #222437; -} -[data-theme='dark'] .popover.top>.arrow { - border-top-color: #1D1F2F; -} -[data-theme='dark'] .popover.right>.arrow { - border-right-color: #1D1F2F; -} -[data-theme='dark'] .popover.bottom>.arrow { - border-bottom-color: #1D1F2F; -} -[data-theme='dark'] .popover.left>.arrow { - border-left-color: #1D1F2F; -} -[data-theme='dark'] .popover-title { - background-color: #222437; - border-color: #303243; -} - -[data-theme='dark'] .progress, -[data-theme='dark'] .irs--flat .irs-min, -[data-theme='dark'] .irs--flat .irs-max, -[data-theme='dark'] .irs--flat .irs-line { - background-color: #303243; -} - -[data-theme='dark'] .nav-tabs, -[data-theme='dark'] blockquote { - border-color: #303243; -} -[data-theme='dark'] .nav-tabs > li.active > a, -[data-theme='dark'] .nav-tabs > li.active > a:focus, -[data-theme='dark'] .nav-tabs > li.active > a:hover { - color: #bebdc2; -} - -@media (min-width: 768px) { - [data-theme='dark'] .nav-tabs.nav-justified>li>a { - border-bottom-color: #303243; - } -} -[data-theme='dark'] .nav-tabs.nav-justified>.active>a, -[data-theme='dark'] .nav-tabs.nav-justified>.active>a:focus, -[data-theme='dark'] .nav-tabs.nav-justified>.active>a:hover { - border-bottom-color: #33cabb; -} - -[data-theme='dark'] :not(panel-default) .panel-title a { - color: #fff; -} -[data-theme='dark'] .form-control { - border-color: #303243; - background-color: #1D1F2F; -} -[data-theme='dark'] .form-control:focus { - border-color: #33cabb; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); -} -[data-theme='dark'] div.tagsinput, -[data-theme='dark'] .input-group-addon, -[data-theme='dark'] .input-group-btn .btn-default, -[data-theme='dark'] .btn-group .btn-default, -[data-theme='dark'] .btn-group-vertical .btn-default, -[data-theme='dark'] .pagination > li > a, -[data-theme='dark'] .pagination > li > span { - border-color: #303243!important; - background-color: #1D1F2F!important; -} -[data-theme='dark'] .pagination > li > a:hover, -[data-theme='dark'] .pagination > li > a:focus -[data-theme='dark'] .pagination > li > span:hover, -[data-theme='dark'] .pagination > li > span:focus { - background-color: #191A28; - color: #8c909a; -} -[data-theme='dark'] .pagination > .active > a, -[data-theme='dark'] .pagination > .active > a:focus, -[data-theme='dark'] .pagination > .active > a:hover, -[data-theme='dark'] .pagination > .active > span, -[data-theme='dark'] .pagination > .active > span:focus, -[data-theme='dark'] .pagination > .active > span:hover { - border-color: #303243; - background-color: #191A28; - color: #fff; -} -[data-theme='dark'] .pager li > a, -[data-theme='dark'] .pager li > span { - background-color: #1D1F2F; - border-color: #303243; -} -[data-theme='dark'] .pager li > a:hover, -[data-theme='dark'] .pager li > a:focus{ - background-color: #191A28; - color: #8c909a -} -[data-theme='dark'] .pager li > a:active, -[data-theme='dark'] .pager li > a.active { - background-color: #191A28; - color: #fff -} -[data-theme='dark'] .pager .disabled > a, -[data-theme='dark'] .pager .disabled > a:focus, -[data-theme='dark'] .pager .disabled > a:hover, -[data-theme='dark'] .pager .disabled > span { - opacity: .6; - background-color: #1D1F2F; -} - -[data-theme='dark'] .well { - background-color: #292B3D; - border-color: #303243; -} - -[data-theme='dark'] .list-group-item { - background-color: transparent; - border-color: #303243; -} -[data-theme='dark'] .list-group-item.active, -[data-theme='dark'] .list-group-item.active:focus, -[data-theme='dark'] .list-group-item.active:hover { - background-color: #33cabb; - border-color: #33cabb; - color: #fff; -} -[data-theme='dark'] a.list-group-item:hover, -[data-theme='dark'] button.list-group-item:hover, -[data-theme='dark'] a.list-group-item:focus, -[data-theme='dark'] button.list-group-item:focus { - background-color: #292B3D; - color: #bebdc2; -} -[data-theme='dark'] button.list-group-item { - -webkit-transition: .2s linear; - transition: .2s linear -} -[data-theme='dark'] .list-group-item.disabled, -[data-theme='dark'] .list-group-item.disabled:focus, -[data-theme='dark'] .list-group-item.disabled:hover { - background-color: #292B3D; - color: #bebdc2; -} -[data-theme='dark'] .list-group-item-success, -[data-theme='translucent'] .list-group-item-success { - color: #155724!important; -} -[data-theme='dark'] .list-group-item-info, -[data-theme='translucent'] .list-group-item-info { - color: #0c5460!important; -} -[data-theme='dark'] .list-group-item-warning, -[data-theme='translucent'] .list-group-item-warning { - color: #856404!important; -} -[data-theme='dark'] .list-group-item-danger, -[data-theme='translucent'] .list-group-item-danger { - color: #721c24!important; -} -[data-theme='dark'] a.list-group-item .list-group-item-heading, -[data-theme='dark'] button.list-group-item .list-group-item-heading { - color: #bebdc2; -} -[data-theme='dark'] .list-group-item.active .list-group-item-heading, -[data-theme='dark'] .list-group-item.active .list-group-item-heading>.small, -[data-theme='dark'] .list-group-item.active .list-group-item-heading>small, -[data-theme='dark'] .list-group-item.active:focus .list-group-item-heading, -[data-theme='dark'] .list-group-item.active:focus .list-group-item-heading>.small, -[data-theme='dark'] .list-group-item.active:focus .list-group-item-heading>small, -[data-theme='dark'] .list-group-item.active:hover .list-group-item-heading, -[data-theme='dark'] .list-group-item.active:hover .list-group-item-heading>.small, -[data-theme='dark'] .list-group-item.active:hover .list-group-item-heading>small { - color: #fff; -} -[data-theme='dark'] .checkbox span::before, -[data-theme='dark'] .radio span::before { - border-color: #656B77; -} -[data-theme='dark'] .checkbox.checkbox-grey span::before, -[data-theme='dark'] .checkbox.radio-grey span::before, -[data-theme='dark'] .radio.checkbox-grey span::before, -[data-theme='dark'] .radio.radio-grey span::before { - background-color: #656B77; -} -[data-theme='dark'] .switch span { - background-color: #1D1F2F; - border-color: #1D1F2F; -} -[data-theme='dark'] .switch.switch-outline span { - background-color: transparent; -} -[data-theme='dark'] .input-group-btn .btn-default:focus, -[data-theme='dark'] .input-group-btn .btn-default.focus, -[data-theme='dark'] .input-group-btn .btn-default:active, -[data-theme='dark'] .input-group-btn .btn-default.active, -[data-theme='dark'] .input-group-btn .show>.btn-default.dropdown-toggle, -[data-theme='dark'] .input-group-btn .open>.btn-default.dropdown-toggle { - border-color: #303243!important; - background-color: #292B3D!important; - color: #BEBDC2; -} -[data-theme='dark'] .input-group-btn .btn-default:hover { - color: #BEBDC2; -} -[data-theme='dark'] .has-success .input-group-addon { - color: #15c377!important; - border-color: #15c377!important; -} -[data-theme='dark'] .has-info .input-group-addon { - color: #48b0f7!important; - border-color: #48b0f7!important; -} -[data-theme='dark'] .has-warning .input-group-addon { - color: #faa64b!important; - border-color: #faa64b!important; -} -[data-theme='dark'] .has-error .input-group-addon { - color: #f96868!important; - border-color: #f96868!important; -} -[data-theme='dark'] .login-center { - background-color: #222437; - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .datepicker-dropdown.datepicker-orient-top:after { - border-top-color: #222437; -} -[data-theme='dark'] .datepicker-dropdown:after { - border-bottom-color: #222437; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before { - border-bottom-color: #1D1E2F; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after { - border-bottom-color: #222437; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.top:before { - border-top-color: #1D1E2F; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.top:after { - border-top-color: #222437; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget .btn { - background-color: transparent; -} -[data-theme='dark'] .close { - text-shadow: none; - -webkit-transition: .2s linear; - transition: .2s linear -} -[data-theme='dark'] .alert-success { - background-color: #16d17f; - border-color: #16d17f; - color: #fff; -} -[data-theme='dark'] .alert-info { - background-color: #48b0f7; - border-color: #48b0f7; - color: #fff; -} -[data-theme='dark'] .alert-warning { - background-color: #faa64b; - border-color: #faa64b; - color: #fff; -} -[data-theme='dark'] .alert-danger { - background-color: #f96868; - border-color: #f96868; - color: #fff; -} -[data-theme='dark'] .alert-link { - color: #fff; -} -[data-theme='dark'] .alert h1, -[data-theme='dark'] .alert h2, -[data-theme='dark'] .alert h3, -[data-theme='dark'] .alert h4, -[data-theme='dark'] .alert h5, -[data-theme='dark'] .alert h6, -[data-theme='dark'] .alert .h1, -[data-theme='dark'] .alert .h2, -[data-theme='dark'] .alert .h3, -[data-theme='dark'] .alert .h4, -[data-theme='dark'] .alert .h5, -[data-theme='dark'] .alert .h6 { - color: #fff; -} - -/* 半透明 */ -body[data-theme='translucent'] { - color: rgba(255, 255, 255, .85); - background: -webkit-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -o-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -moz-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background-repeat: no-repeat; - background-size: cover; - background-attachment: fixed; -} -[data-theme='translucent'] ::-webkit-input-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] :-moz-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] ::-moz-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] :-ms-input-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .sidebar-footer { - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] a, -[data-theme='translucent'] h1, -[data-theme='translucent'] h2, -[data-theme='translucent'] h3, -[data-theme='translucent'] h4, -[data-theme='translucent'] h5, -[data-theme='translucent'] h6, -[data-theme='translucent'] .h1, -[data-theme='translucent'] .h2, -[data-theme='translucent'] .h3, -[data-theme='translucent'] .h4, -[data-theme='translucent'] .h5, -[data-theme='translucent'] .h6, -[data-theme='translucent'] .divider { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .h1 .small, -[data-theme='translucent'] .h1 small, -[data-theme='translucent'] .h2 .small, -[data-theme='translucent'] .h2 small, -[data-theme='translucent'] .h3 .small, -[data-theme='translucent'] .h3 small, -[data-theme='translucent'] .h4 .small, -[data-theme='translucent'] .h4 small, -[data-theme='translucent'] .h5 .small, -[data-theme='translucent'] .h5 small, -[data-theme='translucent'] .h6 .small, -[data-theme='translucent'] .h6 small, -[data-theme='translucent'] h1 .small, -[data-theme='translucent'] h1 small, -[data-theme='translucent'] h2 .small, -[data-theme='translucent'] h2 small, -[data-theme='translucent'] h3 .small, -[data-theme='translucent'] h3 small, -[data-theme='translucent'] h4 .small, -[data-theme='translucent'] h4 small, -[data-theme='translucent'] h5 .small, -[data-theme='translucent'] h5 small, -[data-theme='translucent'] h6 .small, -[data-theme='translucent'] h6 small { - color: rgba(255, 255, 255, .65); -} -[data-theme='translucent'] a:hover, -[data-theme='translucent'] .nav-drawer .nav-subnav > li.active > a, -[data-theme='translucent'] .nav-drawer .nav-subnav > li > a:hover, -[data-theme='translucent'] .card-header h1, -[data-theme='translucent'] .card-header h2, -[data-theme='translucent'] .card-header h3, -[data-theme='translucent'] .card-header h4, -[data-theme='translucent'] .card-header h5, -[data-theme='translucent'] .card-header h6, -[data-theme='translucent'] .card-header .h1, -[data-theme='translucent'] .card-header .h2, -[data-theme='translucent'] .card-header .h3, -[data-theme='translucent'] .card-header .h4, -[data-theme='translucent'] .card-header .h5, -[data-theme='translucent'] .card-header .h6 { - color: #fff; -} -[data-theme='translucent'] .card, -[data-theme='translucent'] .sidebar-header, -[data-theme='translucent'] .layout-sidebar-scroll, -[data-theme='translucent'] .layout-header { - background-color: rgba(0, 0, 0, .075); -} -[data-theme='translucent'] .card-header, -[data-theme='translucent'] .modal-header, -[data-theme='translucent'] .modal-footer, -[data-theme='translucent'] .divider::before, -[data-theme='translucent'] .divider::after { - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .aside-toggler .toggler-bar { - background-color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .table-bordered, -[data-theme='translucent'] .table>tbody>tr>td, -[data-theme='translucent'] .table>tbody>tr>th, -[data-theme='translucent'] .table>tfoot>tr>td, -[data-theme='translucent'] .table>tfoot>tr>th, -[data-theme='translucent'] .table>thead>tr>td, -[data-theme='translucent'] .table>thead>tr>th { - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, .1); -} -[data-theme='translucent'] .table-hover > tbody > tr:hover, -[data-theme='translucent'] a.list-group-item:focus, -[data-theme='translucent'] a.list-group-item:hover, -[data-theme='translucent'] button.list-group-item:focus, -[data-theme='translucent'] button.list-group-item:hover { - background-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .table>tbody>tr.active>td, -[data-theme='translucent'] .table>tbody>tr.active>th, -[data-theme='translucent'] .table>tbody>tr>td.active, -[data-theme='translucent'] .table>tbody>tr>th.active, -[data-theme='translucent'] .table>tfoot>tr.active>td, -[data-theme='translucent'] .table>tfoot>tr.active>th, -[data-theme='translucent'] .table>tfoot>tr>td.active, -[data-theme='translucent'] .table>tfoot>tr>th.active, -[data-theme='translucent'] .table>thead>tr.active>td, -[data-theme='translucent'] .table>thead>tr.active>th, -[data-theme='translucent'] .table>thead>tr>td.active, -[data-theme='translucent'] .table>thead>tr>th.active { - background-color: rgba(245, 245, 245, .35); -} -[data-theme='translucent'] .table>tbody>tr.success>td, -[data-theme='translucent'] .table>tbody>tr.success>th, -[data-theme='translucent'] .table>tbody>tr>td.success, -[data-theme='translucent'] .table>tbody>tr>th.success, -[data-theme='translucent'] .table>tfoot>tr.success>td, -[data-theme='translucent'] .table>tfoot>tr.success>th, -[data-theme='translucent'] .table>tfoot>tr>td.success, -[data-theme='translucent'] .table>tfoot>tr>th.success, -[data-theme='translucent'] .table>thead>tr.success>td, -[data-theme='translucent'] .table>thead>tr.success>th, -[data-theme='translucent'] .table>thead>tr>td.success, -[data-theme='translucent'] .table>thead>tr>th.success { - background-color: rgba(21, 195, 119, .35); -} -[data-theme='translucent'] .table>tbody>tr.info>td, -[data-theme='translucent'] .table>tbody>tr.info>th, -[data-theme='translucent'] .table>tbody>tr>td.info, -[data-theme='translucent'] .table>tbody>tr>th.info, -[data-theme='translucent'] .table>tfoot>tr.info>td, -[data-theme='translucent'] .table>tfoot>tr.info>th, -[data-theme='translucent'] .table>tfoot>tr>td.info, -[data-theme='translucent'] .table>tfoot>tr>th.info, -[data-theme='translucent'] .table>thead>tr.info>td, -[data-theme='translucent'] .table>thead>tr.info>th, -[data-theme='translucent'] .table>thead>tr>td.info, -[data-theme='translucent'] .table>thead>tr>th.info { - background-color: rgba(72, 176, 247, .35); -} -[data-theme='translucent'] .table>tbody>tr.warning>td, -[data-theme='translucent'] .table>tbody>tr.warning>th, -[data-theme='translucent'] .table>tbody>tr>td.warning, -[data-theme='translucent'] .table>tbody>tr>th.warning, -[data-theme='translucent'] .table>tfoot>tr.warning>td, -[data-theme='translucent'] .table>tfoot>tr.warning>th, -[data-theme='translucent'] .table>tfoot>tr>td.warning, -[data-theme='translucent'] .table>tfoot>tr>th.warning, -[data-theme='translucent'] .table>thead>tr.warning>td, -[data-theme='translucent'] .table>thead>tr.warning>th, -[data-theme='translucent'] .table>thead>tr>td.warning, -[data-theme='translucent'] .table>thead>tr>th.warning { - background-color: rgba(250, 166, 75, .35); -} -[data-theme='translucent'] .table>tbody>tr.danger>td, -[data-theme='translucent'] .table>tbody>tr.danger>th, -[data-theme='translucent'] .table>tbody>tr>td.danger, -[data-theme='translucent'] .table>tbody>tr>th.danger, -[data-theme='translucent'] .table>tfoot>tr.danger>td, -[data-theme='translucent'] .table>tfoot>tr.danger>th, -[data-theme='translucent'] .table>tfoot>tr>td.danger, -[data-theme='translucent'] .table>tfoot>tr>th.danger, -[data-theme='translucent'] .table>thead>tr.danger>td, -[data-theme='translucent'] .table>thead>tr.danger>th, -[data-theme='translucent'] .table>thead>tr>td.danger, -[data-theme='translucent'] .table>thead>tr>th.danger { - background-color: rgba(249, 104, 104, .35); -} -[data-theme='translucent'] .btn-default { - border-color: rgba(255, 255, 255, .075); - background-color: rgba(255, 255, 255, .075); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .btn-default:hover { - background-color: rgba(255, 255, 255, .125); - border-color: rgba(255, 255, 255, .125); - color: #fff -} -[data-theme='translucent'] .btn-default:focus, -[data-theme='translucent'] .btn-default.focus, -[data-theme='translucent'] .btn-default:active, -[data-theme='translucent'] .btn-default.active, -[data-theme='translucent'] .show>.btn-default.dropdown-toggle, -[data-theme='translucent'] .open>.btn-default.dropdown-toggle, -[data-theme='translucent'] .btn-default:not([disabled]):not(.disabled).active, -[data-theme='translucent'] .btn-default:not([disabled]):not(.disabled):active, -[data-theme='translucent'] .show>.btn-default.dropdown-toggle, -[data-theme='translucent'] .btn-default.disabled, -[data-theme='translucent'] .btn-default:disabled { - background-color: rgba(255, 255, 255, .125)!important; - border-color: rgba(255, 255, 255, .125)!important; - color: #fff -} -[data-theme='translucent'] .dropdown-menu { - border: none; -} -[data-theme='translucent'] blockquote { - border-color: rgba(255, 255, 255, .1); -} -[data-theme='translucent'] blockquote .small, -[data-theme='translucent'] blockquote footer, -[data-theme='translucent'] blockquote small { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .bg-white { - background-color: rgba(255, 255, 255, .35) !important -} -[data-theme='translucent'] .bg-lightest { - background-color: rgba(253, 252, 254, .35)!important; -} -[data-theme='translucent'] .bg-lighter { - background-color: rgba(249, 250, 251, .35) !important; -} -[data-theme='translucent'] .bg-light { - background-color: rgba(245, 246, 247, .35) !important; -} -[data-theme='translucent'] .progress { - background-color: rgba(245, 246, 247, .075); -} - -[data-theme='translucent'] .nav-tabs { - border-bottom-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .nav-tabs > li > a { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .nav-tabs > li.active > a, -[data-theme='translucent'] .nav-tabs > li.active > a:focus, -[data-theme='translucent'] .nav-tabs > li.active > a:hover, -[data-theme='translucent'] .nav-tabs.nav-justified > .active > a, -[data-theme='translucent'] .nav-tabs.nav-justified > .active > a:focus, -[data-theme='translucent'] .nav-tabs.nav-justified > .active > a:hover { - color: #fff; - border-bottom-color: rgba(255, 255, 255, .35); -} -[data-theme='translucent'] .nav-tabs.nav > li > a:hover, -[data-theme='translucent'] .nav-tabs.nav > li > a:focus { - border-bottom-color: rgba(255, 255, 255, .35); -} -@media (min-width: 768px) { - [data-theme='translucent'] .nav-tabs.nav-justified>li>a { - border-bottom-color: rgba(255, 255, 255, .075); - } -} -[data-theme='translucent'] .modal-content, -[data-theme='translucent'] .popover { - background-color: #474747; - border: none; - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .35); - -moz-box-shadow: 0 0 4px rgba(0, 0, 0, .35); - box-shadow: 0 0 4px rgba(0, 0, 0, .35); -} -[data-theme='translucent'] .popover-title { - background-color: #474747; - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .popover.top>.arrow { - border-top-color: #474747; -} -[data-theme='translucent'] .popover.right>.arrow { - border-right-color: #474747; -} -[data-theme='translucent'] .popover.bottom>.arrow { - border-bottom-color: #474747; -} -[data-theme='translucent'] .popover.left>.arrow { - border-left-color: #474747; -} -[data-theme='translucent'] .popover.top>.arrow:after, -[data-theme='translucent'] .popover.right>.arrow:after, -[data-theme='translucent'] .popover.bottom>.arrow:after, -[data-theme='translucent'] .popover.left>.arrow:after { - border-color: transparent; -} - -[data-theme='translucent'] .alert-success, -[data-theme='translucent'] .alert-info, -[data-theme='translucent'] .alert-warning, -[data-theme='translucent'] .alert-danger { - border: none; - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .alert-success a, -[data-theme='translucent'] .alert-info a, -[data-theme='translucent'] .alert-warning a, -[data-theme='translucent'] .alert-danger a { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .alert-success { - background-color: #15c377; -} -[data-theme='translucent'] .alert-info { - background-color: #48b0f7; -} -[data-theme='translucent'] .alert-warning { - background-color: #faa64b; -} -[data-theme='translucent'] .alert-danger { - background-color: #f96868; -} -[data-theme='translucent'] .pagination > li > a, -[data-theme='translucent'] .pagination > li > span, -[data-theme='translucent'] .pager li > a, -[data-theme='translucent'] .pager li > span { - color: rgba(255, 255, 255, .85); - border-color: rgba(255, 255, 255, .125); - background-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .pagination > li > a:hover, -[data-theme='translucent'] .pagination > li > a:focus -[data-theme='translucent'] .pagination > li > span:hover, -[data-theme='translucent'] .pagination > li > span:focus, -[data-theme='translucent'] .pager li > a:hover, -[data-theme='translucent'] .pager li > a:focus { - color: #fff; - background-color: rgba(255, 255, 255, .125); -} -[data-theme='translucent'] .pagination > .active > a, -[data-theme='translucent'] .pagination > .active > a:focus, -[data-theme='translucent'] .pagination > .active > a:hover, -[data-theme='translucent'] .pagination > .active > span, -[data-theme='translucent'] .pagination > .active > span:focus, -[data-theme='translucent'] .pagination > .active > span:hover, -[data-theme='translucent'] .pager li > a:active, -[data-theme='translucent'] .pager li > a.active { - background-color: rgba(255, 255, 255, .125); -} -[data-theme='translucent'] .well, -[data-theme='translucent'] .panel, -[data-theme='translucent'] code, -[data-theme='translucent'] .list-group-item { - background-color: rgba(0, 0, 0, .035); -} -[data-theme='translucent'] .well, -[data-theme='translucent'] .list-group-item { - border-color: rgba(0, 0, 0, .035); -} -[data-theme='translucent'] .list-group-item.active, -[data-theme='translucent'] .list-group-item.active:focus, -[data-theme='translucent'] .list-group-item.active:hover { - background-color: #33cabb; - border-color: #33cabb; -} -[data-theme='translucent'] .form-control, -[data-theme='translucent'] div.tagsinput { - border-color: rgba(255, 255, 255, .075); - background-color: rgba(0, 0, 0, .035); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .form-control:focus { - border-color: rgba(255, 255, 255, .35); -} -[data-theme='translucent'] .input-group-btn:first-child>.btn, -[data-theme='translucent'] .input-group-btn:first-child>.btn-group { - margin-right: 0px; -} -[data-theme='translucent'] .input-group-addon { - background-color: rgba(255, 255, 255, .075); - border-color: rgba(255, 255, 255, .075); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .help-block { - color: rgba(255, 255, 255, .5); -} -[data-theme='translucent'] .checkbox span::before, -[data-theme='translucent'] .radio span::before, -[data-theme='translucent'] .checkbox.checkbox-grey span::before, -[data-theme='translucent'] .checkbox.radio-grey span::before, -[data-theme='translucent'] .radio.checkbox-grey span::before, -[data-theme='translucent'] .radio.radio-grey span::before { - border-color: rgba(0, 0, 0, .125); -} -[data-theme='translucent'] .checkbox.checkbox-grey span::before, -[data-theme='translucent'] .checkbox.radio-grey span::before, -[data-theme='translucent'] .radio.checkbox-grey span::before, -[data-theme='translucent'] .radio.radio-grey span::before { - background-color: rgba(235, 235, 235, .35) -} -[data-theme='translucent'] .switch.switch-outline span { - background-color: transparent; - border-color: rgba(0, 0, 0, .35); -} -[data-theme='translucent'] .switch span { - border-color: rgba(0, 0, 0, .035); - background-color: rgba(0, 0, 0, .35); -} -[data-theme='translucent'] .login-center { - background-color: rgba(0, 0, 0, .125); -} -[data-theme='translucent'] .datepicker.dropdown-menu { - color: #333; -} -[data-theme='translucent'] .irs--flat .irs-min, -[data-theme='translucent'] .irs--flat .irs-max { - background-color: rgba(0, 0, 0, .035); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .irs--flat .irs-line { - background-color: rgba(0, 0, 0, .075); -} -[data-theme='translucent'] .irs--flat .irs-grid-text { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .text-muted { - color: rgba(255, 255, 255, .5)!important; -} - -@media (max-width: 1024px) { - [data-theme='translucent'].layout-sidebar-close .layout-sidebar-scroll, - [data-theme='translucent'].layout-sidebar-close .sidebar-header { - background-color: rgba(0, 0, 0, .75); - } -} - -/* 颜色搭配 */ -[data-headerbg='color_2'] .layout-header, -[data-logobg='color_2'] .sidebar-header, -[data-sidebarbg='color_2'] .layout-sidebar-scroll { - background-color: #15c377; -} -[data-headerbg='color_3'] .layout-header, -[data-logobg='color_3'] .sidebar-header, -[data-sidebarbg='color_3'] .layout-sidebar-scroll { - background-color: #48b0f7; -} -[data-headerbg='color_4'] .layout-header, -[data-logobg='color_4'] .sidebar-header, -[data-sidebarbg='color_4'] .layout-sidebar-scroll { - background-color: #faa64b; -} -[data-headerbg='color_5'] .layout-header, -[data-logobg='color_5'] .sidebar-header, -[data-sidebarbg='color_5'] .layout-sidebar-scroll { - background-color: #f96868; -} -[data-headerbg='color_6'] .layout-header, -[data-logobg='color_6'] .sidebar-header, -[data-sidebarbg='color_6'] .layout-sidebar-scroll { - background-color: #926dde; -} -[data-headerbg='color_7'] .layout-header, -[data-logobg='color_7'] .sidebar-header, -[data-sidebarbg='color_7'] .layout-sidebar-scroll { - background-color: #33cabb; -} -[data-headerbg='color_8'] .layout-header, -[data-logobg='color_8'] .sidebar-header, -[data-sidebarbg='color_8'] .layout-sidebar-scroll { - background-color: #465161; -} - -[data-logobg*='color_'] .sidebar-header img, -[data-theme='translucent'] .sidebar-header img { - position: relative; - left: -220px; - -webkit-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - -moz-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - -ms-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - -o-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - filter: drop-shadow(rgb(255, 255, 255) 220px 0px); -} -[data-headerbg*='color_'] .layout-header, -[data-headerbg*='color_'] .layout-header .topbar-right > li > a, -[data-sidebarbg*='color_'] .layout-sidebar-scroll a, -[data-sidebarbg*='color_'] .sidebar-footer { - color: rgba(255, 255, 255, .85); -} -[data-sidebarbg*='color_'] .nav-drawer .nav-subnav > li.active > a, -[data-sidebarbg*='color_'] .nav-drawer .nav-subnav > li > a:hover { - color: #fff; -} -[data-headerbg*='color_'] .aside-toggler .toggler-bar { - background-color: #fff; -} -[data-sidebarbg*='color_'] .nav-drawer > .active > a { - border-color: rgba(255, 255, 255, .35); - background-color: rgba(255, 255, 255, .075)!important; -} -[data-sidebarbg*='color_'] .nav > li > a:hover { - background-color: rgba(255, 255, 255, .035); -} -[data-sidebarbg*='color_'] .nav-drawer > .active > a:hover, -[data-sidebarbg*='color_'] .nav-drawer > .active > a:focus, -[data-sidebarbg*='color_'] .nav-drawer > .active > a:active { - border-color: rgba(255, 255, 255, .35); -} \ No newline at end of file diff --git a/ht/pay/index.php b/ht/pay/index.php deleted file mode 100755 index 57035eb..0000000 --- a/ht/pay/index.php +++ /dev/null @@ -1,448 +0,0 @@ - - - - - - -缥缈自助授权 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - \ No newline at end of file diff --git a/ht/pay/js/uti.js b/ht/pay/js/uti.js deleted file mode 100755 index c11b2f8..0000000 --- a/ht/pay/js/uti.js +++ /dev/null @@ -1,802 +0,0 @@ -// Utilities -var Vector3 = {}; -var Matrix44 = {}; -Vector3.create = function(x, y, z) { - return {'x':x, 'y':y, 'z':z}; -}; -Vector3.dot = function (v0, v1) { - return v0.x * v1.x + v0.y * v1.y + v0.z * v1.z; -}; -Vector3.cross = function (v, v0, v1) { - v.x = v0.y * v1.z - v0.z * v1.y; - v.y = v0.z * v1.x - v0.x * v1.z; - v.z = v0.x * v1.y - v0.y * v1.x; -}; -Vector3.normalize = function (v) { - var l = v.x * v.x + v.y * v.y + v.z * v.z; - if(l > 0.00001) { - l = 1.0 / Math.sqrt(l); - v.x *= l; - v.y *= l; - v.z *= l; - } -}; -Vector3.arrayForm = function(v) { - if(v.array) { - v.array[0] = v.x; - v.array[1] = v.y; - v.array[2] = v.z; - } - else { - v.array = new Float32Array([v.x, v.y, v.z]); - } - return v.array; -}; -Matrix44.createIdentity = function () { - return new Float32Array([1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]); -}; -Matrix44.loadProjection = function (m, aspect, vdeg, near, far) { - var h = near * Math.tan(vdeg * Math.PI / 180.0 * 0.5) * 2.0; - var w = h * aspect; - - m[0] = 2.0 * near / w; - m[1] = 0.0; - m[2] = 0.0; - m[3] = 0.0; - - m[4] = 0.0; - m[5] = 2.0 * near / h; - m[6] = 0.0; - m[7] = 0.0; - - m[8] = 0.0; - m[9] = 0.0; - m[10] = -(far + near) / (far - near); - m[11] = -1.0; - - m[12] = 0.0; - m[13] = 0.0; - m[14] = -2.0 * far * near / (far - near); - m[15] = 0.0; -}; -Matrix44.loadLookAt = function (m, vpos, vlook, vup) { - var frontv = Vector3.create(vpos.x - vlook.x, vpos.y - vlook.y, vpos.z - vlook.z); - Vector3.normalize(frontv); - var sidev = Vector3.create(1.0, 0.0, 0.0); - Vector3.cross(sidev, vup, frontv); - Vector3.normalize(sidev); - var topv = Vector3.create(1.0, 0.0, 0.0); - Vector3.cross(topv, frontv, sidev); - Vector3.normalize(topv); - - m[0] = sidev.x; - m[1] = topv.x; - m[2] = frontv.x; - m[3] = 0.0; - - m[4] = sidev.y; - m[5] = topv.y; - m[6] = frontv.y; - m[7] = 0.0; - - m[8] = sidev.z; - m[9] = topv.z; - m[10] = frontv.z; - m[11] = 0.0; - - m[12] = -(vpos.x * m[0] + vpos.y * m[4] + vpos.z * m[8]); - m[13] = -(vpos.x * m[1] + vpos.y * m[5] + vpos.z * m[9]); - m[14] = -(vpos.x * m[2] + vpos.y * m[6] + vpos.z * m[10]); - m[15] = 1.0; -}; - -// -var timeInfo = { - 'start':0, 'prev':0, // Date - 'delta':0, 'elapsed':0 // Number(sec) -}; - -// -var gl; -var renderSpec = { - 'width':0, - 'height':0, - 'aspect':1, - 'array':new Float32Array(3), - 'halfWidth':0, - 'halfHeight':0, - 'halfArray':new Float32Array(3) - // and some render targets. see setViewport() -}; -renderSpec.setSize = function(w, h) { - renderSpec.width = w; - renderSpec.height = h; - renderSpec.aspect = renderSpec.width / renderSpec.height; - renderSpec.array[0] = renderSpec.width; - renderSpec.array[1] = renderSpec.height; - renderSpec.array[2] = renderSpec.aspect; - - renderSpec.halfWidth = Math.floor(w / 2); - renderSpec.halfHeight = Math.floor(h / 2); - renderSpec.halfArray[0] = renderSpec.halfWidth; - renderSpec.halfArray[1] = renderSpec.halfHeight; - renderSpec.halfArray[2] = renderSpec.halfWidth / renderSpec.halfHeight; -}; - -function deleteRenderTarget(rt) { - gl.deleteFramebuffer(rt.frameBuffer); - gl.deleteRenderbuffer(rt.renderBuffer); - gl.deleteTexture(rt.texture); -} - -function createRenderTarget(w, h) { - var ret = { - 'width':w, - 'height':h, - 'sizeArray':new Float32Array([w, h, w / h]), - 'dtxArray':new Float32Array([1.0 / w, 1.0 / h]) - }; - ret.frameBuffer = gl.createFramebuffer(); - ret.renderBuffer = gl.createRenderbuffer(); - ret.texture = gl.createTexture(); - - gl.bindTexture(gl.TEXTURE_2D, ret.texture); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, w, h, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); - - gl.bindFramebuffer(gl.FRAMEBUFFER, ret.frameBuffer); - gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, ret.texture, 0); - - gl.bindRenderbuffer(gl.RENDERBUFFER, ret.renderBuffer); - gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, w, h); - gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, ret.renderBuffer); - - gl.bindTexture(gl.TEXTURE_2D, null); - gl.bindRenderbuffer(gl.RENDERBUFFER, null); - gl.bindFramebuffer(gl.FRAMEBUFFER, null); - - return ret; -} - -function compileShader(shtype, shsrc) { - var retsh = gl.createShader(shtype); - - gl.shaderSource(retsh, shsrc); - gl.compileShader(retsh); - - if(!gl.getShaderParameter(retsh, gl.COMPILE_STATUS)) { - var errlog = gl.getShaderInfoLog(retsh); - gl.deleteShader(retsh); - console.error(errlog); - return null; - } - return retsh; -} - -function createShader(vtxsrc, frgsrc, uniformlist, attrlist) { - var vsh = compileShader(gl.VERTEX_SHADER, vtxsrc); - var fsh = compileShader(gl.FRAGMENT_SHADER, frgsrc); - - if(vsh == null || fsh == null) { - return null; - } - - var prog = gl.createProgram(); - gl.attachShader(prog, vsh); - gl.attachShader(prog, fsh); - - gl.deleteShader(vsh); - gl.deleteShader(fsh); - - gl.linkProgram(prog); - if (!gl.getProgramParameter(prog, gl.LINK_STATUS)) { - var errlog = gl.getProgramInfoLog(prog); - console.error(errlog); - return null; - } - - if(uniformlist) { - prog.uniforms = {}; - for(var i = 0; i < uniformlist.length; i++) { - prog.uniforms[uniformlist[i]] = gl.getUniformLocation(prog, uniformlist[i]); - } - } - - if(attrlist) { - prog.attributes = {}; - for(var i = 0; i < attrlist.length; i++) { - var attr = attrlist[i]; - prog.attributes[attr] = gl.getAttribLocation(prog, attr); - } - } - - return prog; -} - -function useShader(prog) { - gl.useProgram(prog); - for(var attr in prog.attributes) { - gl.enableVertexAttribArray(prog.attributes[attr]);; - } -} - -function unuseShader(prog) { - for(var attr in prog.attributes) { - gl.disableVertexAttribArray(prog.attributes[attr]);; - } - gl.useProgram(null); -} - -///// -var projection = { - 'angle':60, - 'nearfar':new Float32Array([0.1, 100.0]), - 'matrix':Matrix44.createIdentity() -}; -var camera = { - 'position':Vector3.create(0, 0, 100), - 'lookat':Vector3.create(0, 0, 0), - 'up':Vector3.create(0, 1, 0), - 'dof':Vector3.create(10.0, 4.0, 8.0), - 'matrix':Matrix44.createIdentity() -}; - -var pointFlower = {}; -var meshFlower = {}; -var sceneStandBy = false; - -var BlossomParticle = function () { - this.velocity = new Array(3); - this.rotation = new Array(3); - this.position = new Array(3); - this.euler = new Array(3); - this.size = 1.0; - this.alpha = 1.0; - this.zkey = 0.0; -}; - -BlossomParticle.prototype.setVelocity = function (vx, vy, vz) { - this.velocity[0] = vx; - this.velocity[1] = vy; - this.velocity[2] = vz; -}; - -BlossomParticle.prototype.setRotation = function (rx, ry, rz) { - this.rotation[0] = rx; - this.rotation[1] = ry; - this.rotation[2] = rz; -}; - -BlossomParticle.prototype.setPosition = function (nx, ny, nz) { - this.position[0] = nx; - this.position[1] = ny; - this.position[2] = nz; -}; - -BlossomParticle.prototype.setEulerAngles = function (rx, ry, rz) { - this.euler[0] = rx; - this.euler[1] = ry; - this.euler[2] = rz; -}; - -BlossomParticle.prototype.setSize = function (s) { - this.size = s; -}; - -BlossomParticle.prototype.update = function (dt, et) { - this.position[0] += this.velocity[0] * dt; - this.position[1] += this.velocity[1] * dt; - this.position[2] += this.velocity[2] * dt; - - this.euler[0] += this.rotation[0] * dt; - this.euler[1] += this.rotation[1] * dt; - this.euler[2] += this.rotation[2] * dt; -}; - -function createPointFlowers() { - // get point sizes - var prm = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE); - renderSpec.pointSize = {'min':prm[0], 'max':prm[1]}; - - var vtxsrc = document.getElementById("sakura_point_vsh").textContent; - var frgsrc = document.getElementById("sakura_point_fsh").textContent; - - pointFlower.program = createShader( - vtxsrc, frgsrc, - ['uProjection', 'uModelview', 'uResolution', 'uOffset', 'uDOF', 'uFade'], - ['aPosition', 'aEuler', 'aMisc'] - ); - - useShader(pointFlower.program); - pointFlower.offset = new Float32Array([0.0, 0.0, 0.0]); - pointFlower.fader = Vector3.create(0.0, 10.0, 0.0); - - // paramerters: velocity[3], rotate[3] - pointFlower.numFlowers = 1600; - pointFlower.particles = new Array(pointFlower.numFlowers); - // vertex attributes {position[3], euler_xyz[3], size[1]} - pointFlower.dataArray = new Float32Array(pointFlower.numFlowers * (3 + 3 + 2)); - pointFlower.positionArrayOffset = 0; - pointFlower.eulerArrayOffset = pointFlower.numFlowers * 3; - pointFlower.miscArrayOffset = pointFlower.numFlowers * 6; - - pointFlower.buffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, pointFlower.buffer); - gl.bufferData(gl.ARRAY_BUFFER, pointFlower.dataArray, gl.DYNAMIC_DRAW); - gl.bindBuffer(gl.ARRAY_BUFFER, null); - - unuseShader(pointFlower.program); - - for(var i = 0; i < pointFlower.numFlowers; i++) { - pointFlower.particles[i] = new BlossomParticle(); - } -} - -function initPointFlowers() { - //area - pointFlower.area = Vector3.create(20.0, 20.0, 20.0); - pointFlower.area.x = pointFlower.area.y * renderSpec.aspect; - - pointFlower.fader.x = 10.0; //env fade start - pointFlower.fader.y = pointFlower.area.z; //env fade half - pointFlower.fader.z = 0.1; //near fade start - - //particles - var PI2 = Math.PI * 2.0; - var tmpv3 = Vector3.create(0, 0, 0); - var tmpv = 0; - var symmetryrand = function() {return (Math.random() * 2.0 - 1.0);}; - for(var i = 0; i < pointFlower.numFlowers; i++) { - var tmpprtcl = pointFlower.particles[i]; - - //velocity - tmpv3.x = symmetryrand() * 0.3 + 0.8; - tmpv3.y = symmetryrand() * 0.2 - 1.0; - tmpv3.z = symmetryrand() * 0.3 + 0.5; - Vector3.normalize(tmpv3); - tmpv = 2.0 + Math.random() * 1.0; - tmpprtcl.setVelocity(tmpv3.x * tmpv, tmpv3.y * tmpv, tmpv3.z * tmpv); - - //rotation - tmpprtcl.setRotation( - symmetryrand() * PI2 * 0.5, - symmetryrand() * PI2 * 0.5, - symmetryrand() * PI2 * 0.5 - ); - - //position - tmpprtcl.setPosition( - symmetryrand() * pointFlower.area.x, - symmetryrand() * pointFlower.area.y, - symmetryrand() * pointFlower.area.z - ); - - //euler - tmpprtcl.setEulerAngles( - Math.random() * Math.PI * 2.0, - Math.random() * Math.PI * 2.0, - Math.random() * Math.PI * 2.0 - ); - - //size - tmpprtcl.setSize(0.9 + Math.random() * 0.1); - } -} - -function renderPointFlowers() { - //update - var PI2 = Math.PI * 2.0; - var limit = [pointFlower.area.x, pointFlower.area.y, pointFlower.area.z]; - var repeatPos = function (prt, cmp, limit) { - if(Math.abs(prt.position[cmp]) - prt.size * 0.5 > limit) { - //out of area - if(prt.position[cmp] > 0) { - prt.position[cmp] -= limit * 2.0; - } - else { - prt.position[cmp] += limit * 2.0; - } - } - }; - var repeatEuler = function (prt, cmp) { - prt.euler[cmp] = prt.euler[cmp] % PI2; - if(prt.euler[cmp] < 0.0) { - prt.euler[cmp] += PI2; - } - }; - - for(var i = 0; i < pointFlower.numFlowers; i++) { - var prtcl = pointFlower.particles[i]; - prtcl.update(timeInfo.delta, timeInfo.elapsed); - repeatPos(prtcl, 0, pointFlower.area.x); - repeatPos(prtcl, 1, pointFlower.area.y); - repeatPos(prtcl, 2, pointFlower.area.z); - repeatEuler(prtcl, 0); - repeatEuler(prtcl, 1); - repeatEuler(prtcl, 2); - - prtcl.alpha = 1.0;//(pointFlower.area.z - prtcl.position[2]) * 0.5; - - prtcl.zkey = (camera.matrix[2] * prtcl.position[0] - + camera.matrix[6] * prtcl.position[1] - + camera.matrix[10] * prtcl.position[2] - + camera.matrix[14]); - } - - // sort - pointFlower.particles.sort(function(p0, p1){return p0.zkey - p1.zkey;}); - - // update data - var ipos = pointFlower.positionArrayOffset; - var ieuler = pointFlower.eulerArrayOffset; - var imisc = pointFlower.miscArrayOffset; - for(var i = 0; i < pointFlower.numFlowers; i++) { - var prtcl = pointFlower.particles[i]; - pointFlower.dataArray[ipos] = prtcl.position[0]; - pointFlower.dataArray[ipos + 1] = prtcl.position[1]; - pointFlower.dataArray[ipos + 2] = prtcl.position[2]; - ipos += 3; - pointFlower.dataArray[ieuler] = prtcl.euler[0]; - pointFlower.dataArray[ieuler + 1] = prtcl.euler[1]; - pointFlower.dataArray[ieuler + 2] = prtcl.euler[2]; - ieuler += 3; - pointFlower.dataArray[imisc] = prtcl.size; - pointFlower.dataArray[imisc + 1] = prtcl.alpha; - imisc += 2; - } - - //draw - gl.enable(gl.BLEND); - //gl.disable(gl.DEPTH_TEST); - gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); - - var prog = pointFlower.program; - useShader(prog); - - gl.uniformMatrix4fv(prog.uniforms.uProjection, false, projection.matrix); - gl.uniformMatrix4fv(prog.uniforms.uModelview, false, camera.matrix); - gl.uniform3fv(prog.uniforms.uResolution, renderSpec.array); - gl.uniform3fv(prog.uniforms.uDOF, Vector3.arrayForm(camera.dof)); - gl.uniform3fv(prog.uniforms.uFade, Vector3.arrayForm(pointFlower.fader)); - - gl.bindBuffer(gl.ARRAY_BUFFER, pointFlower.buffer); - gl.bufferData(gl.ARRAY_BUFFER, pointFlower.dataArray, gl.DYNAMIC_DRAW); - - gl.vertexAttribPointer(prog.attributes.aPosition, 3, gl.FLOAT, false, 0, pointFlower.positionArrayOffset * Float32Array.BYTES_PER_ELEMENT); - gl.vertexAttribPointer(prog.attributes.aEuler, 3, gl.FLOAT, false, 0, pointFlower.eulerArrayOffset * Float32Array.BYTES_PER_ELEMENT); - gl.vertexAttribPointer(prog.attributes.aMisc, 2, gl.FLOAT, false, 0, pointFlower.miscArrayOffset * Float32Array.BYTES_PER_ELEMENT); - - // doubler - for(var i = 1; i < 2; i++) { - var zpos = i * -2.0; - pointFlower.offset[0] = pointFlower.area.x * -1.0; - pointFlower.offset[1] = pointFlower.area.y * -1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - pointFlower.offset[0] = pointFlower.area.x * -1.0; - pointFlower.offset[1] = pointFlower.area.y * 1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - pointFlower.offset[0] = pointFlower.area.x * 1.0; - pointFlower.offset[1] = pointFlower.area.y * -1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - pointFlower.offset[0] = pointFlower.area.x * 1.0; - pointFlower.offset[1] = pointFlower.area.y * 1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - } - - //main - pointFlower.offset[0] = 0.0; - pointFlower.offset[1] = 0.0; - pointFlower.offset[2] = 0.0; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - gl.bindBuffer(gl.ARRAY_BUFFER, null); - unuseShader(prog); - - gl.enable(gl.DEPTH_TEST); - gl.disable(gl.BLEND); -} - -// effects -//common util -function createEffectProgram(vtxsrc, frgsrc, exunifs, exattrs) { - var ret = {}; - var unifs = ['uResolution', 'uSrc', 'uDelta']; - if(exunifs) { - unifs = unifs.concat(exunifs); - } - var attrs = ['aPosition']; - if(exattrs) { - attrs = attrs.concat(exattrs); - } - - ret.program = createShader(vtxsrc, frgsrc, unifs, attrs); - useShader(ret.program); - - ret.dataArray = new Float32Array([ - -1.0, -1.0, - 1.0, -1.0, - -1.0, 1.0, - 1.0, 1.0 - ]); - ret.buffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, ret.buffer); - gl.bufferData(gl.ARRAY_BUFFER, ret.dataArray, gl.STATIC_DRAW); - - gl.bindBuffer(gl.ARRAY_BUFFER, null); - unuseShader(ret.program); - - return ret; -} - -// basic usage -// useEffect(prog, srctex({'texture':texid, 'dtxArray':(f32)[dtx, dty]})); //basic initialize -// gl.uniform**(...); //additional uniforms -// drawEffect() -// unuseEffect(prog) -// TEXTURE0 makes src -function useEffect(fxobj, srctex) { - var prog = fxobj.program; - useShader(prog); - gl.uniform3fv(prog.uniforms.uResolution, renderSpec.array); - - if(srctex != null) { - gl.uniform2fv(prog.uniforms.uDelta, srctex.dtxArray); - gl.uniform1i(prog.uniforms.uSrc, 0); - - gl.activeTexture(gl.TEXTURE0); - gl.bindTexture(gl.TEXTURE_2D, srctex.texture); - } -} -function drawEffect(fxobj) { - gl.bindBuffer(gl.ARRAY_BUFFER, fxobj.buffer); - gl.vertexAttribPointer(fxobj.program.attributes.aPosition, 2, gl.FLOAT, false, 0, 0); - gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4); -} -function unuseEffect(fxobj) { - unuseShader(fxobj.program); -} - -var effectLib = {}; -function createEffectLib() { - - var vtxsrc, frgsrc; - //common - var cmnvtxsrc = document.getElementById("fx_common_vsh").textContent; - - //background - frgsrc = document.getElementById("bg_fsh").textContent; - effectLib.sceneBg = createEffectProgram(cmnvtxsrc, frgsrc, ['uTimes'], null); - - // make brightpixels buffer - frgsrc = document.getElementById("fx_brightbuf_fsh").textContent; - effectLib.mkBrightBuf = createEffectProgram(cmnvtxsrc, frgsrc, null, null); - - // direction blur - frgsrc = document.getElementById("fx_dirblur_r4_fsh").textContent; - effectLib.dirBlur = createEffectProgram(cmnvtxsrc, frgsrc, ['uBlurDir'], null); - - //final composite - vtxsrc = document.getElementById("pp_final_vsh").textContent; - frgsrc = document.getElementById("pp_final_fsh").textContent; - effectLib.finalComp = createEffectProgram(vtxsrc, frgsrc, ['uBloom'], null); -} - -// background -function createBackground() { - //console.log("create background"); -} -function initBackground() { - //console.log("init background"); -} -function renderBackground() { - gl.disable(gl.DEPTH_TEST); - - useEffect(effectLib.sceneBg, null); - gl.uniform2f(effectLib.sceneBg.program.uniforms.uTimes, timeInfo.elapsed, timeInfo.delta); - drawEffect(effectLib.sceneBg); - unuseEffect(effectLib.sceneBg); - - gl.enable(gl.DEPTH_TEST); -} - -// post process -var postProcess = {}; -function createPostProcess() { - //console.log("create post process"); -} -function initPostProcess() { - //console.log("init post process"); -} - -function renderPostProcess() { - gl.enable(gl.TEXTURE_2D); - gl.disable(gl.DEPTH_TEST); - var bindRT = function (rt, isclear) { - gl.bindFramebuffer(gl.FRAMEBUFFER, rt.frameBuffer); - gl.viewport(0, 0, rt.width, rt.height); - if(isclear) { - gl.clearColor(0, 0, 0, 0); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - } - }; - - //make bright buff - bindRT(renderSpec.wHalfRT0, true); - useEffect(effectLib.mkBrightBuf, renderSpec.mainRT); - drawEffect(effectLib.mkBrightBuf); - unuseEffect(effectLib.mkBrightBuf); - - // make bloom - for(var i = 0; i < 2; i++) { - var p = 1.5 + 1 * i; - var s = 2.0 + 1 * i; - bindRT(renderSpec.wHalfRT1, true); - useEffect(effectLib.dirBlur, renderSpec.wHalfRT0); - gl.uniform4f(effectLib.dirBlur.program.uniforms.uBlurDir, p, 0.0, s, 0.0); - drawEffect(effectLib.dirBlur); - unuseEffect(effectLib.dirBlur); - - bindRT(renderSpec.wHalfRT0, true); - useEffect(effectLib.dirBlur, renderSpec.wHalfRT1); - gl.uniform4f(effectLib.dirBlur.program.uniforms.uBlurDir, 0.0, p, 0.0, s); - drawEffect(effectLib.dirBlur); - unuseEffect(effectLib.dirBlur); - } - - //display - gl.bindFramebuffer(gl.FRAMEBUFFER, null); - gl.viewport(0, 0, renderSpec.width, renderSpec.height); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - - useEffect(effectLib.finalComp, renderSpec.mainRT); - gl.uniform1i(effectLib.finalComp.program.uniforms.uBloom, 1); - gl.activeTexture(gl.TEXTURE1); - gl.bindTexture(gl.TEXTURE_2D, renderSpec.wHalfRT0.texture); - drawEffect(effectLib.finalComp); - unuseEffect(effectLib.finalComp); - - gl.enable(gl.DEPTH_TEST); -} - -///// -var SceneEnv = {}; -function createScene() { - createEffectLib(); - createBackground(); - createPointFlowers(); - createPostProcess(); - sceneStandBy = true; -} - -function initScene() { - initBackground(); - initPointFlowers(); - initPostProcess(); - - //camera.position.z = 17.320508; - camera.position.z = pointFlower.area.z + projection.nearfar[0]; - projection.angle = Math.atan2(pointFlower.area.y, camera.position.z + pointFlower.area.z) * 180.0 / Math.PI * 2.0; - Matrix44.loadProjection(projection.matrix, renderSpec.aspect, projection.angle, projection.nearfar[0], projection.nearfar[1]); -} - -function renderScene() { - //draw - Matrix44.loadLookAt(camera.matrix, camera.position, camera.lookat, camera.up); - - gl.enable(gl.DEPTH_TEST); - - //gl.bindFramebuffer(gl.FRAMEBUFFER, null); - gl.bindFramebuffer(gl.FRAMEBUFFER, renderSpec.mainRT.frameBuffer); - gl.viewport(0, 0, renderSpec.mainRT.width, renderSpec.mainRT.height); - gl.clearColor(0.005, 0, 0.05, 0); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - - renderBackground(); - renderPointFlowers(); - renderPostProcess(); -} - -///// -function onResize(e) { - makeCanvasFullScreen(document.getElementById("sakura")); - setViewports(); - if(sceneStandBy) { - initScene(); - } -} - -function setViewports() { - renderSpec.setSize(gl.canvas.width, gl.canvas.height); - - gl.clearColor(0.2, 0.2, 0.5, 1.0); - gl.viewport(0, 0, renderSpec.width, renderSpec.height); - - var rtfunc = function (rtname, rtw, rth) { - var rt = renderSpec[rtname]; - if(rt) deleteRenderTarget(rt); - renderSpec[rtname] = createRenderTarget(rtw, rth); - }; - rtfunc('mainRT', renderSpec.width, renderSpec.height); - rtfunc('wFullRT0', renderSpec.width, renderSpec.height); - rtfunc('wFullRT1', renderSpec.width, renderSpec.height); - rtfunc('wHalfRT0', renderSpec.halfWidth, renderSpec.halfHeight); - rtfunc('wHalfRT1', renderSpec.halfWidth, renderSpec.halfHeight); -} - -function render() { - renderScene(); -} - -var animating = true; -function toggleAnimation(elm) { - animating ^= true; - if(animating) animate(); - if(elm) { - elm.innerHTML = animating? "Stop":"Start"; - } -} - -function stepAnimation() { - if(!animating) animate(); -} - -function animate() { - var curdate = new Date(); - timeInfo.elapsed = (curdate - timeInfo.start) / 1000.0; - timeInfo.delta = (curdate - timeInfo.prev) / 1000.0; - timeInfo.prev = curdate; - - if(animating) requestAnimationFrame(animate); - render(); -} - -function makeCanvasFullScreen(canvas) { - var b = document.body; - var d = document.documentElement; - fullw = Math.max(b.clientWidth , b.scrollWidth, d.scrollWidth, d.clientWidth); - fullh = Math.max(b.clientHeight , b.scrollHeight, d.scrollHeight, d.clientHeight); - canvas.width = fullw; - canvas.height = fullh; -} - -window.addEventListener('load', function(e) { - var canvas = document.getElementById("sakura"); - try { - makeCanvasFullScreen(canvas); - gl = canvas.getContext('experimental-webgl'); - } catch(e) { - alert("WebGL not supported." + e); - console.error(e); - return; - } - - window.addEventListener('resize', onResize); - - setViewports(); - createScene(); - initScene(); - - timeInfo.start = new Date(); - timeInfo.prev = timeInfo.start; - animate(); -}); - -//set window.requestAnimationFrame -(function (w, r) { - w['r'+r] = w['r'+r] || w['webkitR'+r] || w['mozR'+r] || w['msR'+r] || w['oR'+r] || function(c){ w.setTimeout(c, 1000 / 60); }; -})(window, 'equestAnimationFrame'); \ No newline at end of file diff --git a/ht/pay/pay.php b/ht/pay/pay.php deleted file mode 100755 index 9e5f326..0000000 --- a/ht/pay/pay.php +++ /dev/null @@ -1,43 +0,0 @@ -query('set names utf8'); -$xx = mysqli_fetch_assoc($mysql->query("SELECT * FROM tafang_center.account WHERE account = '$usr' limit 1")); -$xx['id'] =='' && (die('无此角色名,请检查后再试')); -$rid = $xx['id']; -$xxx = mysqli_fetch_assoc($mysql->query("SELECT * FROM cdk WHERE cdk = '$cdk' limit 1")); -$xxx['id'] == '' && (die('无此授权卡')); -$xxx['status'] != 0 && (die('此授权卡已被使用')); -$lx = $xxx['type'] + 100; -$ss = mysqli_fetch_assoc($mysql->query("SELECT type FROM cdk WHERE uid = '$rid' limit 1")); -$xlx = $ss['type'] + 100; - -if($xlx == 100){ - if($mysql->query("UPDATE cdk SET status = 1 , uid = '$rid', pass = '$sqm' WHERE cdk = '$cdk';")){ - die('角色授权成功!请妥善保管您设置的后台密码'); - }else{ - die('授权失败.请联系管理员'); - } -}elseif($xlx == $lx){ - die('此角色已是授权用户,无需再次开通'); -}elseif($xlx < $lx){ - $mysql->query("DELETE FROM cdk WHERE uid = '$rid' limit 1"); - if($mysql->query("UPDATE cdk SET status = 1 , uid = '$rid', pass = '$sqm' WHERE cdk = '$cdk';")){ - die('角色授权成功!请妥善保管您设置的后台密码'); - }else{ - die('授权失败.请联系管理员'); - } -}elseif($xlx > $lx){ - die('此角色已是授权用户,无需再次开通'); -} -?> \ No newline at end of file diff --git a/ht/vip/api.php b/ht/vip/api.php deleted file mode 100755 index 4a7c3f5..0000000 --- a/ht/vip/api.php +++ /dev/null @@ -1,121 +0,0 @@ -query('set names utf8'); -$xx = mysqli_fetch_assoc($mysql->query("SELECT * FROM tafang_center.account WHERE account = '$usr' limit 1")); -$xx['id'] =='' && (die('无此角色')); -$rid = $xx['id']; -$ss = mysqli_fetch_assoc($mysql->query("SELECT pass,type FROM cdk WHERE uid = '$rid' limit 1")); -//$ss['type'] < $gnxz && (die('此角色未授权此功能')); -//$ss['pass'] != $sqm && (die('后台密码错误')); -$num>999999999 && (die('数量限制1-9999')); - - -if($gnxz==1){ - $bao == 0 && (die('请选择充值项目')); - $bao > 15 && (die('错误的充值项目')); - $data = urlencode($bao); -// $re = gmmail(8800 + $rid,$item,$itemnum); - exit(""); -// $ret = json_decode(curl_https("http://127.0.0.1:7555/GM?cmd=openServer&id={$rid}&type={$data}"),true); -// if($ret['success']==1){die('发送成功');}else{die($ret['reason']);} -}elseif($gnxz==2){ - $item =='0' && (die('请选择物品')); - $find=false; - - $json_string = file_get_contents('./item.json'); - $data = json_decode($json_string, true); - foreach($data as $txts){ - if(trim($txts['resId']) == trim($item)){ - $find=true; - break; - } - } - //if($find==false){die('此物品您无权发送');} - $num =='' && ($num = 1); - $ts = time(); - $title = urlencode('系统邮件'); - $txt = urlencode('您有新的邮件,请及时查收'); -// if($item > 99){$num > 100 && ($num = 100);}else{$num > 99999999 && ($num = 99999999);} -$xx222 = mysqli_fetch_assoc($mysql->query("SELECT * FROM tafang_game_zjy.role WHERE code = '$usr' limit 1")); -$xx222['id'] =='' && (die('无此角色')); -$uid = $xx222['id']; - $re = gmmail($uid,$item,$num); - exit($re); -// $ret = json_decode(curl_https("http://127.0.0.1:7555/GM?cmd=sendMail&names={$rid}&sn={$item}&num={$num}&title={$title}&detail={$txt}&batchCode={$ts}&expiredTime=7"),true);; -// if($ret['success']==1){die('发送成功');}else{die('发送失败');} -}else{ - die('error'); -} - -function curl_https($url){ - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); - curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); - $cnt = curl_exec($ch); - curl_close($ch); - return $cnt; -} - -function curl_http_post($url,$data){ - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); - curl_setopt($ch, CURLOPT_HTTPHEADER, [ - 'Accept: application/json, text/plain, */*', - 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', - 'Connection: keep-alive', - 'Content-Type: application/json', - 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/121.0.0.0', - 'Accept-Encoding: gzip', - 'X-Mgip-sign: gzip', - ]); - - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); - - $response = curl_exec($ch); - - curl_close($ch); - return $response; -} -function gmmail($uuid,$item,$itemnum){ - - - $url = 'http://127.0.0.1:19000/center/gm'; - - $param=array( - "role"=>$uuid, - "item"=>[array($item,$itemnum) - ] - ); - $data = json_encode($param); - - $response = curl_http_post($url,$data); - - - return '发送成功'; - - -} - - - -?> \ No newline at end of file diff --git a/ht/vip/config.php b/ht/vip/config.php deleted file mode 100755 index 11de61e..0000000 --- a/ht/vip/config.php +++ /dev/null @@ -1,11 +0,0 @@ -'192.168.25.110',// 服务器地址 - 'DB_NAME'=>'cdk',// 游戏数据库 - 'DB_USER'=>'root',// 用户名 - 'DB_PWD'=>'mysql_tr2Few',// 密码 - 'DB_PORT'=>'23306',// 端口 - 'DB_CHARSET'=>'utf8',// 数据库字符集 -); -?> \ No newline at end of file diff --git a/ht/vip/css/style.css b/ht/vip/css/style.css deleted file mode 100755 index d3603e9..0000000 --- a/ht/vip/css/style.css +++ /dev/null @@ -1,4258 +0,0 @@ -/** ---------------------------------- - * bootstrap中文后台管理系统模板 - * 基于Bootstrap v3.3.7 - * http://www.bootstrapmb.com - -------------------------------------- */ -body { - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; - color: #4d5259; - line-height: 1.5; - font-size: 14px; - overflow-x: hidden; - background-color: #f5f6fa; -} -html, -body { - height: 100%; -} -a { - color: #33cabb; - -webkit-transition: .2s linear; - transition: .2s linear -} -a:hover, -a:focus { - color: #4d5259; - text-decoration: none; - outline: none -} -a:hover, -a:focus, -a:active { - text-decoration: none; -} -a, -button, -a:focus, -a:active, -button:focus, -button:active { - outline: none !important; -} -blockquote { - font-size: 16px; -} -img { - max-width: 100%; -} -pre { - background-color: #f9fafb; - border: none; - border-left: 5px solid #ebebeb; - padding: 12px; - border-radius: 3px; - color: #616a78; -} - -/** ---------------------------------- - * 示例中用到的样式,可删除 - -------------------------------------- */ -.example-box .btn { - margin-bottom: 10px; - margin-right: 6px; -} - -/** ---------------------------------- - * 重设样式 - -------------------------------------- */ - -/* 标题 */ -h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Microsoft YaHei', 'Source Han Sans SC', 'Noto Sans CJK SC', 'WenQuanYi Micro Hei', sans-serif; - color: #313944; - line-height: 1.5; - letter-spacing: .5px; -} -.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: .5rem; -} - -/* 导航相关 */ -.navbar-toggle { - background-color: transparent; - border-color: transparent!important; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: transparent; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #4d5259; -} -.nav > li > a:focus { - background-color: transparent; -} -.nav > li > a:hover { - background-color: rgba(0,0,0,.0085); -} -.nav .open > a, -.nav .open > a:focus, -.nav .open > a:hover { - background-color: transparent; - border-color: transparent; -} - -/* 下拉 */ -.dropdown-menu { - border-radius: 0; - border: none; - /*border: 1px solid rgba(235, 235, 235, 0.4);*/ - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.075); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.075); -} -.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover { - background-color: #f9fafb; -} -.dropdown-menu .divider { - background-color: #f1f2f3; -} -.dropdown-menu > li > a { - padding-top: 8px; - padding-bottom: 8px; -} -.dropdown-menu > li > a > i { - margin-right: 10px; -} -.dropdown-menu>.active>a, -.dropdown-menu>.active>a:focus, -.dropdown-menu>.active>a:hover { - background-color: #33cabb; -} - -/* 表格 */ -.table-bordered { - border-color: #eceeef; -} -.table>tbody>tr>td, -.table>tbody>tr>th, -.table>tfoot>tr>td, -.table>tfoot>tr>th, -.table>thead>tr>td, -.table>thead>tr>th { - /*padding: .75em;*/ - padding: 10px; - line-height: 1.5; - border-color: #eceeef; -} -.table-striped tbody tr:nth-of-type(odd) { - background-color: #fafafa; -} -.table-hover > tbody > tr:hover { - background-color: #F1FBFB; -} -.table-vcenter > thead > tr > th, -.table-vcenter > thead > tr > td, -.table-vcenter > tbody > tr > th, -.table-vcenter > tbody > tr > td, -.table-vcenter > tfoot > tr > th, -.table-vcenter > tfoot > tr > td { - vertical-align: middle; -} -.table-hover tbody tr { - -webkit-transition: background-color 0.2s linear; - transition: background-color 0.2s linear; -} -.table-condensed > tbody > tr > td, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > td, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > thead > tr > th { - padding: .5em; -} - -/* 标签 */ -.label { - padding-top: .3em; - border-radius: 2px; - font-weight: 300; -} -.label-default { - background-color: #f5f6f7; - color: #8b95a5; -} -.label-primary { - background-color: #33cabb; -} -.label-success { - background-color: #15c377; -} -.label-info { - background-color: #48b0f7; -} -.label-warning { - background-color: #faa64b; -} -.label-danger { - background-color: #f96868; -} -.label-dark { - background-color: #465161; -} -.label-secondary { - background-color: #e4e7ea; - color: #4d5259; -} -.label-purple { - background-color: #926dde; -} -.label-pink { - background-color: #f96197; -} -.label-cyan { - background-color: #57c7d4; -} -.label-yellow { - background-color: #fcc525; -} -.label-brown { - background-color: #8d6658; -} - -/* well */ -.well { - border-radius: 2px; - background-color: #f7f7f7; - border-color: #f0f0f0; - -webkit-box-shadow: none; - box-shadow: none; -} - -/* 面板 */ -.panel { - border-color: #f0f0f0; - -webkit-box-shadow: none; - box-shadow: none; - margin-bottom: 30px; -} -.panel a:hover, -.panel a:focus, -.panel a:active { - color: inherit; -} -.panel-heading { - -webkit-border-radius: 0px; - border-radius: 0px; -} -.panel-default>.panel-heading, -.panel-default>.panel-heading+.panel-collapse>.panel-body { - border-color: #f0f0f0; -} -.panel-primary>.panel-heading { - background-color: #33cabb; - border-color: #33cabb; -} -.panel-primary { - border-color: #33cabb; -} -.panel-primary>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #33cabb; -} -.panel-primary > .panel-heading .badge { - color: #33cabb; -} -.panel-success>.panel-heading { - color: #fff; - background-color: #15c377; - border-color: #15c377; -} -.panel-success { - border-color: #15c377; -} -.panel-success>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #15c377; -} -.panel-success > .panel-heading .badge { - background-color: #fff; - color: #15c377; -} -.panel-info>.panel-heading { - color: #fff; - background-color: #48b0f7; - border-color: #48b0f7; -} -.panel-info { - border-color: #48b0f7; -} -.panel-info>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #48b0f7; -} -.panel-info > .panel-heading .badge { - background-color: #fff; - color: #48b0f7; -} -.panel-warning>.panel-heading { - color: #fff; - background-color: #faa64b; - border-color: #faa64b; -} -.panel-warning { - border-color: #faa64b; -} -.panel-warning>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #faa64b; -} -.panel-warning > .panel-heading .badge { - background-color: #fff; - color: #faa64b; -} -.panel-danger>.panel-heading { - color: #fff; - background-color: #f96868; - border-color: #f96868; -} -.panel-danger { - border-color: #f96868; -} -.panel-danger>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #f96868; -} -.panel-danger > .panel-heading .badge { - background-color: #fff; - color: #f96868; -} -.panel-dark>.panel-heading { - color: #fff; - background-color: #465161; - border-color: #465161; -} -.panel-dark { - border-color: #465161; -} -.panel-dark>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #465161; -} -.panel-secondary>.panel-heading { - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.panel-secondary { - border-color: #e4e7ea; -} -.panel-secondary>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #e4e7ea; -} -.panel-purple>.panel-heading { - color: #fff; - background-color: #926dde; - border-color: #926dde; -} -.panel-purple { - border-color: #926dde; -} -.panel-purple>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #926dde; -} -.panel-pink>.panel-heading { - color: #fff; - background-color: #f96197; - border-color: #f96197; -} -.panel-pink { - border-color: #f96197; -} -.panel-pink>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #f96197; -} -.panel-cyan>.panel-heading { - color: #fff; - background-color: #57c7d4; - border-color: #57c7d4; -} -.panel-cyan { - border-color: #57c7d4; -} -.panel-cyan>.panel-heading+.panel-collapse>.panel-body { - border-top-color: #57c7d4; -} - -/* 列表组 */ -.list-group-item { - border-color: #f0f0f0; -} -a.list-group-item:focus, -a.list-group-item:hover, -button.list-group-item:focus, -button.list-group-item:hover { - background-color: #f9fafb; -} -.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { - background-color: #33cabb; - border-color: #33cabb; -} -.list-group-item:first-child { - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} -.list-group-item:last-child { - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; -} - -/* 表单 */ -.form-control { - height: 38px; - border-color: #ebebeb; - -webkit-border-radius: 2px; - border-radius: 2px; - color: #8b95a5; - padding: 5px 12px; - line-height: inherit; - -webkit-transition: 0.2s linear; - transition: 0.2s linear; - -webkit-box-shadow: none; - box-shadow: none; -} -.form-control:focus { - border-color: #33cabb; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); -} -.input-group-addon { - border-color: #ebebeb; - background-color: #f9fafb; - -webkit-border-radius: 2px; - border-radius: 2px; -} -.input-group-lg>.form-control, .input-group-lg>.input-group-addon, .input-group-lg>.input-group-btn>.btn { - -webkit-border-radius: 2px; - border-radius: 2px; -} -.input-sm { - height: 30px; -} -.input-lg { - height: 46px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label { - color: #15c377; -} -.has-success .form-control { - border-color: #15c377!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-success .form-control:focus { - border-color: #15c377!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(21, 195, 119, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(21, 195, 119, .6)!important; -} -.has-success .input-group-addon { - color: #15c377; - background-color: #dff0d8; - border-color: #15c377; -} -.has-success .form-control-feedback { - color: #15c377; -} -.has-info .help-block, -.has-info .control-label, -.has-info .radio, -.has-info .checkbox, -.has-info .radio-inline, -.has-info .checkbox-inline, -.has-info.radio label, -.has-info.checkbox label, -.has-info.radio-inline label, -.has-info.checkbox-inline label { - color: #48b0f7; -} -.has-info .form-control { - border-color: #48b0f7!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-info .form-control:focus { - border-color: #48b0f7!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(72, 176, 247, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(72, 176, 247, .6)!important; -} -.has-info .input-group-addon { - color: #48b0f7; - background-color: #dff0d8; - border-color: #48b0f7; -} -.has-info .form-control-feedback { - color: #48b0f7; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label { - color: #faa64b; -} -.has-warning .form-control { - border-color: #faa64b!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-warning .form-control:focus { - border-color: #faa64b!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(250, 166, 75, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(250, 166, 75, .6)!important; -} -.has-warning .input-group-addon { - color: #faa64b; - background-color: #fcf8e3; - border-color: #faa64b; -} -.has-warning .form-control-feedback { - color: #faa64b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label { - color: #f96868; -} -.has-error .form-control { - border-color: #f96868!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)!important; -} -.has-error .form-control:focus { - border-color: #f96868!important; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(249, 104, 104, .6)!important; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px rgba(249, 104, 104, .6)!important; -} -.has-error .input-group-addon { - color: #f96868; - background-color: #f2dede; - border-color: #f96868; -} -.has-error .form-control-feedback { - color: #f96868; -} - -/* 复选框 & 单选框 */ -.checkbox, -.radio { - display: block; - position: relative; - margin-top: 0px; - margin-bottom: 0px; - cursor: pointer; - padding-left: 30px; - font-weight: 400; - min-height: 18px; - height: auto!important; - line-height: 18px!important; -} -input[type=checkbox], -input[type=radio] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} -.checkbox input, -.radio input { - position: absolute;; - /*opacity: 0;*/ - display: none; -} -.checkbox span::before, -.radio span::before { - content: ''; - position: absolute; - display: inline-block; - height: 18px; - width: 18px; - left: 0; - top: 0px; - border: 2px solid #ebebeb;; - -webkit-transition: all .1s; - -o-transition: all .1s; - transition: all .1s; -} -.checkbox span::after, -.radio span::after { - content: ''; - position: absolute; - display: none; - width: 5px; - height: 10px; - left: 7px; - top: 3px; - border: solid #4d5259; - border-width: 0 2px 2px 0; - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); -} -.checkbox span, -.radio span { - display: inline-block; -} -.checkbox input:checked~span:after, -.radio input:checked~span:after { - display: inline-block; -} -.checkbox:hover span::before, -.radio:hover span::before { - border-color: #ebebeb; -} -.checkbox.checkbox-grey span::before, -.checkbox.radio-grey span::before, -.radio.checkbox-grey span::before, -.radio.radio-grey span::before { - background-color: #ebebeb; - border-color: #ebebeb; -} -.checkbox input:disabled + span, -.radio input:disabled + span { - cursor: not-allowed; -} -.checkbox input:disabled + span::before, -.checkbox input:disabled + span::after, -.radio input:disabled + span::before, -.radio input:disabled + span::after { - opacity: .4; -} -/* checkbox */ -.checkbox-primary input:checked~span::before { - background-color: #33cabb; - border-color: #33cabb; -} -.checkbox-primary input:checked~span::after { - border-color: #fff; -} -.checkbox-success input:checked~span::before { - background-color: #15c377; - border-color: #15c377; -} -.checkbox-success input:checked~span::after { - border-color: #fff; -} -.checkbox-info input:checked~span::before { - background-color: #48b0f7; - border-color: #48b0f7; -} -.checkbox-info input:checked~span::after { - border-color: #fff; -} -.checkbox-warning input:checked~span::before { - background-color: #faa64b; - border-color: #faa64b; -} -.checkbox-warning input:checked~span::after { - border-color: #fff; -} -.checkbox-danger input:checked~span::before { - background-color: #f96868; - border-color: #f96868; -} -.checkbox-danger input:checked~span::after { - border-color: #fff; -} -.checkbox-dark input:checked~span::before { - background-color: #465161; - border-color: #465161; -} -.checkbox-dark input:checked~span::after { - border-color: #fff; -} -.checkbox-secondary input:checked~span::before { - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.checkbox-secondary input:checked~span::after { - border-color: #fff; -} -.checkbox-purple input:checked~span::before { - background-color: #926dde; - border-color: #926dde; -} -.checkbox-purple input:checked~span::after { - border-color: #fff; -} -.checkbox-pink input:checked~span::before { - background-color: #f96197; - border-color: #f96197; -} -.checkbox-pink input:checked~span::after { - border-color: #fff; -} -.checkbox-cyan input:checked~span::before { - background-color: #57c7d4; - border-color: #57c7d4; -} -.checkbox-cyan input:checked~span::after { - border-color: #fff; -} -.checkbox-yellow input:checked~span::before { - background-color: #fcc525; - border-color: #fcc525; -} -.checkbox-yellow input:checked~span::after { - border-color: #fff; -} -.checkbox-brown input:checked~span::before { - background-color: #8d6658; - border-color: #8d6658; -} -.checkbox-brown input:checked~span::after { - border-color: #fff; -} -/* radio */ -.radio span::before { - -webkit-border-radius: 50%; - border-radius: 50%; -} -.radio span::after { - border: 0; - height: 6px; - left: 6px; - top: 6px; - width: 6px; - background: #4d5259; - -webkit-border-radius: 100%; - border-radius: 100%; -} -.radio-primary input:checked~span::before { - background-color: #33cabb; - border-color: #33cabb; -} -.radio-primary input:checked~span::after { - background-color: #fff; -} -.radio-success input:checked~span::before { - background-color: #15c377; - border-color: #15c377; -} -.radio-success input:checked~span::after { - background-color: #fff; -} -.radio-info input:checked~span::before { - background-color: #48b0f7; - border-color: #48b0f7; -} -.radio-info input:checked~span::after { - background-color: #fff; -} -.radio-warning input:checked~span::before { - background-color: #faa64b; - border-color: #faa64b; -} -.radio-warning input:checked~span::after { - background-color: #fff; -} -.radio-danger input:checked~span::before { - background-color: #f96868; - border-color: #f96868; -} -.radio-danger input:checked~span::after { - background-color: #fff; -} -.radio-dark input:checked~span::before { - background-color: #465161; - border-color: #465161; -} -.radio-dark input:checked~span::after { - background-color: #fff; -} -.radio-secondary input:checked~span::before { - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.radio-secondary input:checked~span::after { - background-color: #fff; -} -.radio-purple input:checked~span::before { - background-color: #926dde; - border-color: #926dde; -} -.radio-purple input:checked~span::after { - background-color: #fff; -} -.radio-pink input:checked~span::before { - background-color: #f96197; - border-color: #f96197; -} -.radio-pink input:checked~span::after { - background-color: #fff; -} -.radio-cyan input:checked~span::before { - background-color: #57c7d4; - border-color: #57c7d4; -} -.radio-cyan input:checked~span::after { - background-color: #fff; -} -.radio-yellow input:checked~span::before { - background-color: #fcc525; - border-color: #fcc525; -} -.radio-yellow input:checked~span::after { - background-color: #fff; -} -.radio-brown input:checked~span::before { - background-color: #8d6658; - border-color: #8d6658; -} -.radio-brown input:checked~span::after { - background-color: #fff; -} - -.checkbox-inline, .radio-inline { - display: inline-block; -} -.form-horizontal .radio.radio-inline, -.form-horizontal .checkbox.checkbox-inline { - padding-top: 0px; - margin-top: 8px; -} - -/* 开关 */ -.switch { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; -} -.switch input { - height: 0; - width: 0; - position: absolute; - opacity: 0; -} -.switch span { - display: inline-block; - position: relative; - width: 40px; - height: 10px; - -webkit-border-radius: 10px; - border-radius: 10px; - background-color: #ebebeb; - border: 2px solid #ebebeb; - cursor: pointer; - -webkit-transition: all .1s ease; - -o-transition: all .1s ease; - transition: all .1s ease -} -.switch span:after { - content: ''; - height: 20px; - width: 20px; - -webkit-border-radius: 50%; - border-radius: 50%; - position: absolute; - left: 1px; - top: -7px; - color: #aaa; - -webkit-transition: all .1s ease; - -o-transition: all .1s ease; - transition: all .1s ease; - text-align: center; - font-size: 13px; - background-color: #fff; - -webkit-box-shadow: rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px; - box-shadow: rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px -} -.switch input:checked~span:after { - left: -webkit-calc(100% - 20px); - left: calc(100% - 20px); -} -.switch-primary input:checked~span:after { - background-color: #33cabb -} -.switch-success input:checked~span:after { - background-color: #15c377 -} -.switch-info input:checked~span:after { - background-color: #48b0f7 -} -.switch-warning input:checked~span:after { - background-color: #faa64b -} -.switch-danger input:checked~span:after { - background-color: #f96868 -} -.switch-secondary input:checked~span:after { - background-color: #868e96 -} -.switch-dark input:checked~span:after { - background-color: #465161 -} -.switch-purple input:checked~span:after { - background-color: #926dde -} -.switch-pink input:checked~span:after { - background-color: #f96197 -} -.switch-cyan input:checked~span:after { - background-color: #57c7d4 -} -.switch-yellow input:checked~span:after { - background-color: #fcc525 -} -.switch-brown input:checked~span:after { - background-color: #8d6658 -} - -.switch.switch-solid span, -.switch.switch-light span, -.switch.switch-outline span { - height: 20px; -} -.switch.switch-solid span:after, -.switch.switch-light span:after, -.switch.switch-outline span:after { - top: -2px; -} -.switch.switch-outline span { - background-color: #fff -} -.switch-solid.switch-primary input:checked~span { - background-color: #33cabb; - border-color: #33cabb -} -.switch-solid.switch-primary input:checked~span:after { - background-color: #fff; - color: #33cabb -} -.switch-solid.switch-success input:checked~span { - background-color: #15c377; - border-color: #15c377 -} -.switch-solid.switch-success input:checked~span:after { - background-color: #fff; - color: #15c377 -} -.switch-solid.switch-info input:checked~span { - background-color: #48b0f7; - border-color: #48b0f7 -} -.switch-solid.switch-info input:checked~span:after { - background-color: #fff; - color: #48b0f7 -} -.switch-solid.switch-warning input:checked~span { - background-color: #faa64b; - border-color: #faa64b -} -.switch-solid.switch-warning input:checked~span:after { - background-color: #fff; - color: #faa64b -} -.switch-solid.switch-danger input:checked~span { - background-color: #f96868; - border-color: #f96868 -} -.switch-solid.switch-danger input:checked~span:after { - background-color: #fff; - color: #f96868 -} -.switch-solid.switch-secondary input:checked~span { - background-color: #868e96; - border-color: #868e96 -} -.switch-solid.switch-secondary input:checked~span:after { - background-color: #fff; - color: #868e96 -} -.switch-solid.switch-dark input:checked~span { - background-color: #465161; - border-color: #465161 -} -.switch-solid.switch-dark input:checked~span:after { - background-color: #fff; - color: #465161 -} -.switch-solid.switch-purple input:checked~span { - background-color: #926dde; - border-color: #926dde -} -.switch-solid.switch-purple input:checked~span:after { - background-color: #fff; - color: #926dde -} -.switch-solid.switch-pink input:checked~span { - background-color: #f96197; - border-color: #f96197 -} -.switch-solid.switch-pink input:checked~span:after { - background-color: #fff; - color: #f96197 -} -.switch-solid.switch-cyan input:checked~span { - background-color: #57c7d4; - border-color: #57c7d4 -} -.switch-solid.switch-cyan input:checked~span:after { - background-color: #fff; - color: #57c7d4 -} -.switch-solid.switch-yellow input:checked~span { - background-color: #fcc525; - border-color: #fcc525 -} -.switch-solid.switch-yellow input:checked~span:after { - background-color: #fff; - color: #fcc525 -} -.switch-solid.switch-brown input:checked~span { - background-color: #8d6658; - border-color: #8d6658 -} -.switch-solid.switch-brown input:checked~span:after { - background-color: #fff; - color: #8d6658 -} - -/* 模态框 */ -.modal-header { - border-bottom-color: #f1f2f3; -} -.modal-footer { - border-top-color: #f1f2f3; -} -.modal-content { - -webkit-border-radius: 3px; - border-radius: 3px; - border: none; - -webkit-box-shadow: none; - box-shadow: none; -} - -/* 标签页 */ -.nav-tabs { - border-bottom-color: #ebebeb; - margin-bottom: 1rem; -} -.nav-tabs > li > a { - margin-right: 0px; - border: none; - border-bottom: 1px solid transparent; - border-radius: 0; - color: #8b95a5; - -webkit-transition: 0.5s; - transition: 0.5s; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:focus, -.nav-tabs > li.active > a:hover { - color: #4d5259; - border: none; - background-color: transparent; - border-bottom: 1px solid #33cabb; -} -.nav-tabs.nav > li > a:hover, -.nav-tabs.nav > li > a:focus { - text-decoration: none; - background-color: transparent; - border-bottom-color: #33cabb; -} -.nav-tabs.nav-justified>.active>a, -.nav-tabs.nav-justified>.active>a:focus, -.nav-tabs.nav-justified>.active>a:hover { - color: #4d5259; - border: none; - border-bottom: 1px solid #33cabb; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified>li>a { - border-bottom-color: #ebebeb; - -webkit-border-radius: 0px; - border-radius: 0px; - } -} - -/* 进度条 */ -.progress { - height: 12px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - -ms-border-radius: 2px; - -o-border-radius: 2px; - border-radius: 2px; - margin-bottom: 8px; - background-color: #f5f6f7; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress-bar { - font-size: 10px; - line-height: 12px; - background-color: #33cabb; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress-bar-success { - background-color: #15c377; -} -.progress-bar-info { - background-color: #48b0f7; -} -.progress-bar-warning { - background-color: #faa64b; -} -.progress-bar-danger { - background-color: #f96868; -} -.progress-bar-secondary { - background-color: #e4e7ea; -} -.progress-bar-pink { - background-color: #f96197; -} -.progress-bar-purple { - background-color: #926dde; -} -.progress-bar-brown { - background-color: #8d6658; -} -.progress-bar-cyan { - background-color: #57c7d4; -} -.progress-bar-yellow { - background-color: #fcc525; -} -.progress-bar-gray { - background-color: #868e96; -} -.progress-bar-dark { - background-color: #465161; -} -.progress-sm { - height: 8px; -} -.progress-lg { - height: 16px; -} - -/* 弹出框 */ -.popover { - border-color: #ebebeb; - -webkit-border-radius: 2px; - border-radius: 2px; - -webkit-box-shadow: none; - box-shadow: none; - padding: 0px; -} -.popover-title { - background-color: #fcfdfe; - padding-top: 10px; - padding-bottom: 10px; - color: #616a78; - border-bottom-color: #f1f2f3; -} -.popover.top>.arrow { - border-top-color: #ebebeb; -} -.popover.right>.arrow { - border-right-color: #ebebeb; -} -.popover.bottom>.arrow { - border-bottom-color: #ebebeb; -} -.popover.left>.arrow { - border-left-color: #ebebeb; -} - -/* 警告框 */ -.alert { - -webkit-border-radius: 2px; - border-radius: 2px; -} -.alert .alert-link:hover { - text-decoration: underline; -} - -/* 分页 */ -.pagination > li > a, -.pagination > li > span { - padding: 0px 8px; - margin: 0 3px; - color: #6c757d; - border-color: #dee2e6; - line-height: 29px; - min-width: 31px; - text-align: center; - -webkit-border-radius: 2px; - border-radius: 2px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 0; - min-width: 26px; - line-height: 24px; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 0; - min-width: 37px; - line-height: 35px; -} -.pagination > li > a:hover, -.pagination > li > a:focus -.pagination > li > span:hover, -.pagination > li > span:focus { - background-color: #f9fafb; - color: #4d5259; -} -.pagination > li:first-child a, -.pagination > li:first-child span { - -webkit-border-radius: 2px; - border-radius: 2px; -} -.pagination > li:last-child a, -.pagination > li:last-child span { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.pagination > .active > a, -.pagination > .active > a:focus, -.pagination > .active > a:hover, -.pagination > .active > span, -.pagination > .active > span:focus, -.pagination > .active > span:hover { - background-color: #33cabb; - border-color: #33cabb; -} -.pagination > .disabled > a, -.pagination > .disabled > a:focus, -.pagination > .disabled > a:hover, -.pagination > .disabled > span, -.pagination > .disabled > span:focus, -.pagination > .disabled > span:hover { - color: #6c757d; - opacity: 0.6; -} -.pagination.no-border > li a, -.pagination.no-border > li span { - border: none; -} -.pagination-circle > li a, -.pagination-circle > li span { - -webkit-border-radius: 50% !important; - border-radius: 50% !important; -} -.pagination.no-gutters > li a, -.pagination.no-gutters > li span { - margin: 0; - margin-left: -1px; - -webkit-border-radius: 0 !important; - border-radius: 0 !important; -} - -.pager li > a, -.pager li > span { - -webkit-border-radius: 2px; - border-radius: 2px; - background-color: #fcfdfe; - border-color: #ebebeb; - color: #8b95a5; -} -.pager li > a:hover, -.pager li > a:focus{ - background-color: #f9fafb; - color: #4d5259 -} -.pager li > a:active, -.pager li > a.active { - background-color: #f9fafb; - color: #4d5259 -} -.pager .disabled > a, -.pager .disabled > a:focus, -.pager .disabled > a:hover, -.pager .disabled > span { - opacity: .6; - background-color: #fcfdfe; -} - -/* 按钮 */ -.btn-w-xs { - width: 80px -} -.btn-w-sm { - width: 100px -} -.btn-w-md { - width: 120px -} -.btn-w-lg { - width: 145px -} -.btn-w-xl { - width: 180px -} -.btn { - color: #8b95a5; - padding: 8px 12px; - letter-spacing: 1px; - border-radius: 2px; - background-color: #fff; - outline: none !important; - -webkit-transition: 0.15s linear; - transition: 0.15s linear -} -.btn:focus, -.btn.focus, -.btn:active, -.btn.active { - -webkit-box-shadow: none !important; - box-shadow: none !important -} -.btn-default { - background-color: #fcfdfe; - border-color: #ebebeb; - color: #8b95a5 -} -.btn-default:hover { - background-color: #f9fafb; - border-color: #ebebeb; - color: #4d5259 -} -.btn-default:focus, -.btn-default.focus, -.btn-default:active, -.btn-default.active, -.show>.btn-default.dropdown-toggle, -.open>.btn-default.dropdown-toggle { - background-color: #f9fafb!important; - border-color: #ebebeb!important; - color: #4d5259 -} -.btn-default:not([disabled]):not(.disabled).active, -.btn-default:not([disabled]):not(.disabled):active, -.show>.btn-default.dropdown-toggle { - background-color: #f9fafb!important; - border-color: #ebebeb!important; - color: #fff; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-default.disabled, -.btn-default:disabled { - background-color: #fcfdfe; - border-color: #ebebeb; - opacity: 0.5 -} -.btn-primary { - background-color: #33cabb; - border-color: #33cabb; - color: #fff!important; -} -.btn-primary:hover { - background-color: #52d3c7; - border-color: #52d3c7; -} -.btn-primary:focus, -.btn-primary.focus, -.btn-primary.active, -.btn-primary:active, -.open>.dropdown-toggle.btn-primary { - background-color: #52d3c7!important; - border-color: #52d3c7!important; -} -.btn-primary.disabled, -.btn-primary:disabled { - background-color: #33cabb; - border-color: #33cabb; - opacity: 0.5 -} -.btn-primary:not([disabled]):not(.disabled).active, -.btn-primary:not([disabled]):not(.disabled):active, -.show>.btn-primary.dropdown-toggle { - background-color: #2ba99d!important; - border-color: #2ba99d!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-primary.disabled.focus, -.btn-primary.disabled:focus, -.btn-primary.disabled:hover, -.btn-primary[disabled].focus, -.btn-primary[disabled]:focus, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary.focus, -fieldset[disabled] .btn-primary:focus, -fieldset[disabled] .btn-primary:hover { - background-color: #26BBA8; - border-color: #26BBA8; -} -.btn-success { - background-color: #15c377; - border-color: #15c377; - color: #fff!important; -} -.btn-success:hover { - background-color: #16d17f; - border-color: #16d17f; -} -.btn-success:focus, -.btn-success.focus, -.btn-success.active, -.btn-success:active, -.open>.dropdown-toggle.btn-success { - background-color: #16d17f!important; - border-color: #16d17f!important; -} -.btn-success.disabled,.btn-success:disabled { - background-color: #15c377; - border-color: #15c377; - opacity: 0.5 -} -.btn-success:not([disabled]):not(.disabled).active, -.btn-success:not([disabled]):not(.disabled):active, -.show>.btn-success.dropdown-toggle { - background-color: #14b56f!important; - border-color: #14b56f!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-success.disabled.focus, -.btn-success.disabled:focus, -.btn-success.disabled:hover, -.btn-success[disabled].focus, -.btn-success[disabled]:focus, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success.focus, -fieldset[disabled] .btn-success:focus, -fieldset[disabled] .btn-success:hover { - background-color: #0FB25F; - border-color: #0FB25F; -} -.btn-info { - background-color: #48b0f7; - border-color: #48b0f7; - color: #fff!important; -} -.btn-info:hover { - background-color: #65bdf8; - border-color: #65bdf8; -} -.btn-info:focus, -.btn-info.focus, -.btn-info.active, -.btn-info:active, -.open>.dropdown-toggle.btn-info { - background-color: #65bdf8!important; - border-color: #65bdf8!important; -} -.btn-info.disabled, -.btn-info:disabled { - background-color: #48b0f7; - border-color: #48b0f7; - opacity: 0.5 -} -.btn-info:not([disabled]):not(.disabled).active, -.btn-info:not([disabled]):not(.disabled):active, -.show>.btn-info.dropdown-toggle { - background-color: #2ba3f6!important; - border-color: #2ba3f6!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-info.disabled.focus, -.btn-info.disabled:focus, -.btn-info.disabled:hover, -.btn-info[disabled].focus, -.btn-info[disabled]:focus, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info.focus, -fieldset[disabled] .btn-info:focus, -fieldset[disabled] .btn-info:hover { - background-color: #379BF5; - border-color: #379BF5; -} -.btn-warning { - background-color: #faa64b; - border-color: #faa64b; - color: #fff!important; -} -.btn-warning:hover { - background-color: #fbb264; - border-color: #fbb264; -} -.btn-warning:focus, -.btn-warning.focus, -.btn-warning.active, -.btn-warning:active, -.open>.dropdown-toggle.btn-warning { - background-color: #fbb264!important; - border-color: #fbb264!important; -} -.btn-warning.disabled,.btn-warning:disabled { - background-color: #faa64b; - border-color: #faa64b; - opacity: 0.5 -} -.btn-warning:not([disabled]):not(.disabled).active, -.btn-warning:not([disabled]):not(.disabled):active, -.show>.btn-warning.dropdown-toggle { - background-color: #f99a32!important; - border-color: #f99a32!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-warning.disabled.focus, -.btn-warning.disabled:focus, -.btn-warning.disabled:hover, -.btn-warning[disabled].focus, -.btn-warning[disabled]:focus, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning.focus, -fieldset[disabled] .btn-warning:focus, -fieldset[disabled] .btn-warning:hover { - background-color: #F89038; - border-color: #F89038; -} -.btn-danger { - background-color: #f96868; - border-color: #f96868; - color: #fff!important; -} -.btn-danger:hover { - background-color: #fa8181; - border-color: #fa8181; -} -.btn-danger:focus, -.btn-danger.focus, -.btn-danger.active, -.btn-danger:active, -.open>.dropdown-toggle.btn-danger { - background-color: #fa8181!important; - border-color: #fa8181!important; -} -.btn-danger.disabled, -.btn-danger:disabled { - background-color: #f96868; - border-color: #f96868; - opacity: 0.5 -} -.btn-danger:not([disabled]):not(.disabled).active, -.btn-danger:not([disabled]):not(.disabled):active, -.show>.btn-danger.dropdown-toggle { - background-color: #f84f4f!important; - border-color: #f84f4f!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-danger.disabled.focus, -.btn-danger.disabled:focus, -.btn-danger.disabled:hover, -.btn-danger[disabled].focus, -.btn-danger[disabled]:focus, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger.focus, -fieldset[disabled] .btn-danger:focus, -fieldset[disabled] .btn-danger:hover { - background-color: #F75252; - border-color: #F75252; -} -.btn-secondary { - color: #4d5259 !important; - background-color: #e4e7ea; - border-color: #e4e7ea; -} -.btn-secondary:hover { - background-color: #edeff1; - border-color: #edeff1; -} -.btn-secondary:focus, -.btn-secondary.focus, -.btn-secondary.active, -.btn-secondary:active, -.open>.dropdown-toggle.btn-secondary { - background-color: #edeff1!important; - border-color: #edeff1!important; -} -.btn-secondary.disabled, -.btn-secondary:disabled { - background-color: #e4e7ea; - border-color: #e4e7ea; - opacity: 0.5 -} -.btn-secondary:not([disabled]):not(.disabled).active, -.btn-secondary:not([disabled]):not(.disabled):active, -.show>.btn-secondary.dropdown-toggle { - background-color: #dbdfe3!important; - border-color: #dbdfe3!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-secondary.disabled.focus, -.btn-secondary.disabled:focus, -.btn-secondary.disabled:hover, -.btn-secondary[disabled].focus, -.btn-secondary[disabled]:focus, -.btn-secondary[disabled]:hover, -fieldset[disabled] .btn-secondary.focus, -fieldset[disabled] .btn-secondary:focus, -fieldset[disabled] .btn-secondary:hover { - background-color: #DBDFE3; - border-color: #DBDFE3; -} -.btn-link { - color: #48b0f7; - background-color: transparent; - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - text-decoration: none; - color: #e4e7ea -} -.btn-purple { - background-color: #926dde; - border-color: #926dde; - color: #fff!important; -} -.btn-purple:hover { - background-color: #a282e3; - border-color: #a282e3; -} -.btn-purple:focus, -.btn-purple.focus, -.btn-purple.active, -.btn-purple:active, -.open>.dropdown-toggle.btn-purple { - background-color: #a282e3!important; - border-color: #a282e3!important; -} -.btn-purple.disabled, -.btn-purple:disabled { - background-color: #926dde; - border-color: #926dde; - opacity: 0.5 -} -.btn-purple:not([disabled]):not(.disabled).active, -.btn-purple:not([disabled]):not(.disabled):active, -.show>.btn-purple.dropdown-toggle { - background-color: #8258d9!important; - border-color: #8258d9!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-purple.disabled.focus, -.btn-purple.disabled:focus, -.btn-purple.disabled:hover, -.btn-purple[disabled].focus, -.btn-purple[disabled]:focus, -.btn-purple[disabled]:hover, -fieldset[disabled] .btn-purple.focus, -fieldset[disabled] .btn-purple:focus, -fieldset[disabled] .btn-purple:hover { - background-color: #7A56D4; - border-color: #7A56D4; -} -.btn-pink { - background-color: #f96197; - border-color: #f96197; - color: #fff!important; -} -.btn-pink:hover { - background-color: #fa75a4; - border-color: #fa75a4; -} -.btn-pink:focus, -.btn-pink.focus, -.btn-pink.active, -.btn-pink:active, -.open>.dropdown-toggle.btn-pink { - background-color: #fa75a4!important; - border-color: #fa75a4!important; -} -.btn-pink.disabled, -.btn-pink:disabled { - background-color: #f96197; - border-color: #f96197; - opacity: 0.5 -} -.btn-pink:not([disabled]):not(.disabled).active, -.btn-pink:not([disabled]):not(.disabled):active, -.show>.btn-pink.dropdown-toggle { - background-color: #f84d8a!important; - border-color: #f84d8a!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-pink.disabled.focus, -.btn-pink.disabled:focus, -.btn-pink.disabled:hover, -.btn-pink[disabled].focus, -.btn-pink[disabled]:focus, -.btn-pink[disabled]:hover, -fieldset[disabled] .btn-pink.focus, -fieldset[disabled] .btn-pink:focus, -fieldset[disabled] .btn-pink:hover { - background-color: #F74B80; - border-color: #F74B80; -} -.btn-cyan { - background-color: #57c7d4; - border-color: #57c7d4; - color: #fff!important; -} -.btn-cyan:hover { - background-color: #77d2dc; - border-color: #77d2dc; -} -.btn-cyan:focus, -.btn-cyan.focus, -.btn-cyan.active, -.btn-cyan:active, -.open>.dropdown-toggle.btn-cyan { - background-color: #77d2dc!important; - border-color: #77d2dc!important; -} -.btn-cyan.disabled, -.btn-cyan:disabled { - background-color: #57c7d4; - border-color: #57c7d4; - opacity: 0.5 -} -.btn-cyan:not([disabled]):not(.disabled).active, -.btn-cyan:not([disabled]):not(.disabled):active, -.show>.btn-cyan.dropdown-toggle { - background-color: #37bccc!important; - border-color: #37bccc!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-cyan.disabled.focus, -.btn-cyan.disabled:focus, -.btn-cyan.disabled:hover, -.btn-cyan[disabled].focus, -.btn-cyan[disabled]:focus, -.btn-cyan[disabled]:hover, -fieldset[disabled] .btn-cyan.focus, -fieldset[disabled] .btn-cyan:focus, -fieldset[disabled] .btn-cyan:hover { - background-color: #42B7C7; - border-color: #42B7C7; -} -.btn-yellow { - background-color: #fcc525; - border-color: #fcc525; - color: #fff!important; -} -.btn-yellow:hover { - background-color: #fdd04d; - border-color: #fdd04d; -} -.btn-yellow:focus, -.btn-yellow.focus, -.btn-yellow.active, -.btn-yellow:active, -.open>.dropdown-toggle.btn-yellow { - background-color: #fdd04d!important; - border-color: #fdd04d!important; -} -.btn-yellow.disabled, -.btn-yellow:disabled { - background-color: #fcc525; - border-color: #fcc525; - opacity: 0.5 -} -.btn-yellow:not([disabled]):not(.disabled).active, -.btn-yellow:not([disabled]):not(.disabled):active, -.show>.btn-yellow.dropdown-toggle { - background-color: #f5b703!important; - border-color: #f5b703!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-yellow.disabled.focus, -.btn-yellow.disabled:focus, -.btn-yellow.disabled:hover, -.btn-yellow[disabled].focus, -.btn-yellow[disabled]:focus, -.btn-yellow[disabled]:hover, -fieldset[disabled] .btn-yellow.focus, -fieldset[disabled] .btn-yellow:focus, -fieldset[disabled] .btn-yellow:hover { - background-color: #FCB41B; - border-color: #FCB41B; -} -.btn-brown { - background-color: #8d6658; - border-color: #8d6658; - color: #fff!important; -} -.btn-brown:hover { - background-color: #9d7162; - border-color: #9d7162; -} -.btn-brown:focus, -.btn-brown.focus, -.btn-brown.active, -.btn-brown:active, -.open>.dropdown-toggle.btn-brown { - background-color: #8d6658!important; - border-color: #8d6658!important; -} -.btn-brown.disabled, -.btn-brown:disabled { - background-color: #8d6658; - border-color: #8d6658; - opacity: 0.5 -} -.btn-brown:not([disabled]):not(.disabled).active, -.btn-brown:not([disabled]):not(.disabled):active, -.show>.btn-brown.dropdown-toggle { - background-color: #7d5b4e!important; - border-color: #7d5b4e!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-brown.disabled.focus, -.btn-brown.disabled:focus, -.btn-brown.disabled:hover, -.btn-brown[disabled].focus, -.btn-brown[disabled]:focus, -.btn-brown[disabled]:hover, -fieldset[disabled] .btn-brown.focus, -fieldset[disabled] .btn-brown:focus, -fieldset[disabled] .btn-brown:hover { - background-color: #755043; - border-color: #755043; -} -.btn-dark { - background-color: #465161; - border-color: #465161; - color: #fff!important; -} -.btn-dark:hover { - background-color: #515d70; - border-color: #515d70; -} -.btn-dark:focus, -.btn-dark.focus, -.btn-dark.active, -.btn-dark:active, -.open>.dropdown-toggle.btn-dark { - background-color: #515d70!important; - border-color: #515d70!important; -} -.btn-dark.disabled, -.btn-dark:disabled { - background-color: #465161; - border-color: #465161; - opacity: 0.5 -} -.btn-dark:not([disabled]):not(.disabled).active, -.btn-dark:not([disabled]):not(.disabled):active, -.show>.btn-dark.dropdown-toggle { - background-color: #3b4552!important; - border-color: #3b4552!important; - -webkit-box-shadow: none; - box-shadow: none -} -.btn-dark.disabled.focus, -.btn-dark.disabled:focus, -.btn-dark.disabled:hover, -.btn-dark[disabled].focus, -.btn-dark[disabled]:focus, -.btn-dark[disabled]:hover, -fieldset[disabled] .btn-dark.focus, -fieldset[disabled] .btn-dark:focus, -fieldset[disabled] .btn-dark:hover { - background-color: #353E4B; - border-color: #353E4B; -} -.btn-round { - -webkit-border-radius: 10rem; -} -.btn-label { - position: relative; - padding-left: 52px; - overflow: hidden; -} -.btn-label label { - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 36px; - line-height: 1.5; - padding-top: 5px; - padding-bottom: 5px; - background-color: rgba(0,0,0,0.1); - cursor: pointer; - margin-bottom: 0; -} -.btn-label label i { - font-size: 16px; -} -.btn-group-xs>.btn, -.btn-xs { - font-size: 12px; - padding: 2px 8px; - line-height: 18px -} -.btn-group-sm>.btn, -.btn-sm { - font-size: 12px; - padding: 4px 12px; - line-height: 20px -} -.btn-group-lg>.btn, -.btn-lg { - font-size: 16px; - padding: 7px 20px; - line-height: 32px -} -.btn-group-justified { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; -} -.btn-group-justified .btn { - width: 100%; -} -.btn-group-round .btn:first-child { - border-top-left-radius: 10rem; - border-bottom-left-radius: 10rem; -} -.btn-group-round .btn:last-child { - border-top-right-radius: 10rem; - border-bottom-right-radius: 10rem; -} - -/* 背景色 */ -.bg-primary { - background-color: #33cabb !important; - color: #fff!important; -} -.bg-secondary { - background-color: #e4e7ea !important; - color: #fff!important; -} -.bg-success { - background-color: #15c377 !important; - color: #fff!important; -} -.bg-info { - background-color: #48b0f7 !important; - color: #fff!important; -} -.bg-warning { - background-color: #faa64b !important; - color: #fff!important; -} -.bg-danger { - background-color: #f96868 !important; - color: #fff!important; -} -.bg-pink { - background-color: #f96197 !important; - color: #fff!important; -} -.bg-purple { - background-color: #926dde !important; - color: #fff!important; -} -.bg-brown { - background-color: #8d6658 !important; - color: #fff!important; -} -.bg-cyan { - background-color: #57c7d4 !important; - color: #fff!important; -} -.bg-yellow { - background-color: #fcc525 !important; - color: #fff!important; -} -.bg-gray { - background-color: #868e96 !important; - color: #fff!important; -} -.bg-dark { - background-color: #465161 !important; - color: #fff!important; -} -.bg-white { - background-color: #fff !important -} -.bg-lightest { - background-color: #fcfdfe !important -} -.bg-lighter { - background-color: #f9fafb !important -} -.bg-light { - background-color: #f5f6f7 !important -} -.bg-translucent { - background-color: rgba(255, 255, 255, 0.175) -} -.bg-transparent { - background-color: transparent !important -} - -/* 字体颜色 */ -.text-primary { - color: #33cabb !important -} -.text-secondary { - color: #e4e7ea !important -} -.text-success { - color: #15c377 !important -} -.text-info { - color: #48b0f7 !important -} -.text-warning { - color: #faa64b !important -} -.text-danger { - color: #f96868 !important -} -.text-pink { - color: #f96197 !important -} -.text-purple { - color: #926dde !important -} -.text-brown { - color: #8d6658 !important -} -.text-cyan { - color: #57c7d4 !important -} -.text-yellow { - color: #fcc525 !important -} -.text-gray { - color: #868e96 !important -} -.text-dark { - color: #465161 !important -} -.text-default { - color: #4d5259 !important -} -.text-muted { - color: #868e96 !important -} -.text-light { - color: #616a78 !important -} -.text-lighter { - color: #a5b3c7 !important -} -.text-fade { - color: rgba(77,82,89,0.7) !important -} -.text-fader { - color: rgba(77,82,89,0.5) !important -} -.text-fadest { - color: rgba(77,82,89,0.4) !important -} -.text-white { - color: #ffffff!important -} -.text-transparent { - color: transparent !important -} -a.text-primary:hover,a.text-primary:focus { - color: #33cabb !important -} -a.text-secondary:hover,a.text-secondary:focus { - color: #e4e7ea !important -} -a.text-info:hover,a.text-info:focus { - color: #48b0f7 !important -} -a.text-success:hover,a.text-success:focus { - color: #15c377 !important -} -a.text-warning:hover,a.text-warning:focus { - color: #faa64b !important -} -a.text-danger:hover,a.text-danger:focus { - color: #f96868 !important -} - -/* 分割线 */ -.divider { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-flex: 0; - flex: 0 1; - color: #8b95a5; - font-size: 11px; - letter-spacing: .5px; - margin: 2rem auto; - width: 100%; -} -.divider::before, -.divider::after { - content: ''; - -webkit-box-flex: 1; - flex-grow: 1; - border-top: 1px solid #ebebeb; -} -.divider::before { - margin-right: 16px; -} -.divider::after { - margin-left: 16px; -} - -/* 其他 */ -hr { - border-top-color: rgba(77,82,89,0.05); - margin: 2rem auto; -} -dd, dt { - line-height: 1.75; -} -.lead { - font-size: 16px; - line-height: 1.75; -} -.irs { - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; -} - -/** ---------------------------------- - * 辅助类 - -------------------------------------- */ -/* margin */ -.m-0 { - margin: 0px!important; -} -.m-t-0 { - margin-top: 0px!important; -} -.m-b-0 { - margin-bottom: 0px!important; -} -.m-5 { - margin: 5px!important; -} -.m-t-5 { - margin-top: 5px!important; -} -.m-r-5 { - margin-right: 5px!important; -} -.m-b-5 { - margin-bottom: 5px!important; -} -.m-l-5 { - margin-left: 5px!important; -} -.m-10 { - margin: 10px!important; -} -.m-tb-10 { - margin: 10px 0px!important; -} -.m-lr-10 { - margin: 0px 10px!important; -} -.m-t-10 { - margin-top: 10px!important; -} -.m-r-10 { - margin-right: 10px!important; -} -.m-b-10 { - margin-bottom: 10px!important; -} -.m-l-10 { - margin-left: 10px!important; -} - -/* padding */ -.p-0 { - padding: 0px!important; -} -.p-t-0 { - padding-top: 0px!important; -} -.p-b-0 { - padding-bottom: 0px!important; -} -.p-10 { - padding: 10px!important; -} -.p-tb-10 { - padding: 10px 0px!important; -} -.p-lr-10 { - padding: 0px 10px!important; -} -.p-t-10 { - padding-top: 10px!important; -} -.p-r-10 { - padding-right: 10px!important; -} -.p-b-10 { - padding-bottom: 10px!important; -} -.p-l-10 { - padding-left: 10px!important; -} -.p-lr-15 { - padding: 0px 15px!important; -} -.p-l-20 { - padding-left: 20px!important; -} -.p-l-40 { - padding-left: 40px!important; -} - -/* 字体大小 */ -.fa-1-5x { - font-size: 1.5em; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-6x { - font-size: 6em; -} -.fa-7x { - font-size: 7em; -} -.fa-8x { - font-size: 8em; -} -.fa-9x { - font-size: 9em; -} -.fa-10x { - font-size: 10em; -} - -/* 宽度 */ -.w-5 { - width: 5%; -} -.w-10 { - width: 10%; -} -.w-15 { - width: 15%; -} -.w-20 { - width: 20%; -} -.w-25 { - width: 25%; -} -.w-30 { - width: 30%; -} -.w-35 { - width: 35%; -} -.w-40 { - width: 40%; -} -.w-45 { - width: 45%; -} -.w-50 { - width: 50%; -} -.w-55 { - width: 55%; -} -.w-60 { - width: 60%; -} -.w-65 { - width: 65%; -} -.w-70 { - width: 70%; -} -.w-75 { - width: 75%; -} -.w-80 { - width: 80%; -} -.w-85 { - width: 85%; -} -.w-90 { - width: 90%; -} -.w-95 { - width: 95%; -} -.w-100 { - width: 100%; -} - -/* 图库 */ -.masonry-grid { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 30px; - -moz-column-gap: 30px; - column-gap: 30px; -} -.masonry-item { - display: block; - -webkit-column-break-inside: avoid; - break-inside: avoid; - padding-bottom: 30px; -} -.masonry-grid.gap-2 { - -webkit-column-gap: 16px; - -moz-column-gap: 16px; - column-gap: 16px; -} -.masonry-grid.gap-2 .masonry-item { - padding-bottom: 16px; -} - -/** ---------------------------------- - * 滚动条样式 - -------------------------------------- */ -.ps { - overflow: hidden !important; - overflow-anchor: none; - -ms-overflow-style: none; - touch-action: auto; - -ms-touch-action: auto; -} -.ps__rail-x { - display: none; - opacity: 0; - transition: background-color .2s linear, opacity .2s linear; - -webkit-transition: background-color .2s linear, opacity .2s linear; - height: 6px; - bottom: 2px; - position: absolute; -} - -.ps__rail-y { - display: none; - opacity: 0; - transition: background-color .2s linear, opacity .2s linear; - -webkit-transition: background-color .2s linear, opacity .2s linear; - width: 6px; - right: 2px; - position: absolute; -} -.ps--active-x > .ps__rail-x, -.ps--active-y > .ps__rail-y { - display: block; - background-color: transparent; -} -.ps:hover > .ps__rail-x, -.ps:hover > .ps__rail-y, -.ps--focus > .ps__rail-x, -.ps--focus > .ps__rail-y, -.ps--scrolling-x > .ps__rail-x, -.ps--scrolling-y > .ps__rail-y { - opacity: 0.6; -} -.ps .ps__rail-x:hover, -.ps .ps__rail-y:hover, -.ps .ps__rail-x:focus, -.ps .ps__rail-y:focus, -.ps .ps__rail-x.ps--clicking, -.ps .ps__rail-y.ps--clicking { - background-color: #eee; - opacity: 0.9; -} -.ps__thumb-x { - background-color: #aaa; - border-radius: 6px; - transition: background-color .2s linear, height .2s ease-in-out; - -webkit-transition: background-color .2s linear, height .2s ease-in-out; - height: 3px; - bottom: 0px; - position: absolute; -} -.ps__thumb-y { - background-color: #aaa; - border-radius: 6px; - transition: background-color .2s linear, width .2s ease-in-out; - -webkit-transition: background-color .2s linear, width .2s ease-in-out; - width: 3px; - right: 0px; - position: absolute; -} -.ps__rail-x:hover > .ps__thumb-x, -.ps__rail-x:focus > .ps__thumb-x, -.ps__rail-x.ps--clicking .ps__thumb-x { - background-color: #999; - height: 6px; -} -.ps__rail-y:hover > .ps__thumb-y, -.ps__rail-y:focus > .ps__thumb-y, -.ps__rail-y.ps--clicking .ps__thumb-y { - background-color: #999; - width: 6px; -} -@supports (-ms-overflow-style: none) { - .ps { - overflow: auto !important; - } -} -@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .ps { - overflow: auto !important; - } -} - -/** ---------------------------------- - * 左侧导航 - -------------------------------------- */ -.layout-sidebar { - position: fixed; - top: 0; - bottom: 0; - z-index: 5; - display: block; - width: 240px; - font-weight: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: 0.3s transform; - transition: 0.3s transform; - transform: translateX(0); - -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.08); - -moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.08); - box-shadow: 0px 0px 5px rgba(0,0,0,0.08); -} -.layout-sidebar-close .layout-sidebar { - transform: translateX(-100%); - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.layout-sidebar-close .layout-header, -.layout-sidebar-close .layout-content { - padding-left: 0px; -} -.layout-sidebar-scroll { - height: -moz-calc(100% - 68px); - height: -webkit-calc(100% - 68px); - height: calc(100% - 68px); - position: relative; - background-color: #fff; -} - -/* 侧边栏开关 */ -.aside-toggler { - margin-right: .25rem; - padding: .25rem .95rem .25rem .25rem; - line-height: 1.5; - cursor: pointer; -} -.aside-toggler .toggler-bar { - display: block; - height: 2px; - width: 20px; - background-color: #4d5259; - margin: 4px 0px; - -webkit-transition: 0.3s; - transition: 0.3s; -} -.aside-toggler .toggler-bar:nth-child(2) { - width: 15px; -} -.aside-toggler:hover .toggler-bar:nth-child(2) { - width: 20px; -} -.layout-sidebar-close .aside-toggler .toggler-bar { - width: 20px; -} - -/* logo */ -.sidebar-header { - position: relative; - overflow: hidden; - z-index: 999; - background-color: #fff; - width: 100%; - -webkit-box-shadow: 0 1px 1px -1px rgba(77,82,89,0.15); - box-shadow: 0 1px 1px -1px rgba(77,82,89,0.15); -} -.sidebar-header:before, .sidebar-header:after { - content: " "; - display: table; -} -.sidebar-header a { - display: block; - height: auto; - width: 100%; - text-align: center; -} -.sidebar-header a img { - max-width: 240px; - margin: 16px 0px; -} -.sidebar-main { - -webkit-transform: translateZ(0); - transform: translateZ(0); -} -.nav-drawer li a { - padding-right: 24px; - padding-left: 52.99999px; - color: inherit; - font-weight: 500; -} -.nav-drawer > li > a { - border-right: 3px solid transparent; - padding-top: 14px; - padding-bottom: 13px; -} -.nav-drawer > .active > a { - background-color: rgba(0,0,0,.0125); - border-color: #33cabb; -} -.nav-drawer > li.active > a { - background-color: rgba(0,0,0,.0125)!important; -} -.nav-drawer > .active > a:hover, -.nav-drawer > .active > a:focus, -.nav-drawer > .active > a:active { - background-color: rgba(0,0,0,.0125); - border-color: #33cabb; -} -.nav-drawer .nav-subnav > li.active > a, -.nav-drawer .nav-subnav > li > a:hover { - color: #33cabb; - background-color: transparent; -} -.nav-drawer > li > a > i { - position: absolute; - left: 21px; - top: 11px; - font-size: 1.25em; -} -.nav-drawer ul li ul { - padding-left: 15px; -} -.nav-item-has-subnav > a:after { - position: absolute; - right: 24px; - font-family: 'Material Design Icons'; - font-size: 10px; - line-height: 1.75; - content: '\f142'; - -webkit-transition: -webkit-transform 0.3s linear; - transition: -webkit-transform 0.3s linear; - transition: transform 0.3s linear; - transition: transform 0.3s linear, -webkit-transform 0.3s linear; -} -.nav-item-has-subnav.open > a:after { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} -.nav-item-has-subnav.open > .nav-subnav { - display: block; -} -.nav-subnav { - display: none; - margin-top: 8px; - margin-bottom: 8px; -} - -/* 左侧版权信息 */ -.sidebar-footer { - bottom: 0; - width: 100%; - height: 96px; - border-top: 1px solid rgba(77,82,89,0.05); - margin-top: 24px; - padding-top: 24px; - padding-right: 24px; - padding-bottom: 24px; - padding-left: 24px; - font-size: 13px; - line-height: 24px; -} - -/** ---------------------------------- - * 头部信息 - -------------------------------------- */ -.layout-header { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 4; - padding-left: 240px; - background-color: #fff; - -webkit-transition: padding 0.3s; - transition: padding 0.3s; - -webkit-box-shadow: 4px 0 5px rgba(0, 0, 0, 0.035); - -moz-box-shadow: 4px 0 5px rgba(0, 0, 0, 0.035); - box-shadow: 4px 0 5px rgba(0, 0, 0, 0.035); -} -.layout-header .navbar { - position: relative; - min-height: 64px; - margin-bottom: 0; - border: 0px; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; -} -.layout-header .navbar-default { - background-color: transparent; -} -.topbar { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - align-items: center; - min-height: 64px; - padding: 0 15px; -} -.topbar .topbar-left { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; -} -.topbar .topbar-right { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - flex-direction: row-reverse; - list-style: none; - margin: 0px; - padding: 0px; -} -.topbar-right > li > a { - position: relative; - display: block; - padding: 10px 0px 10px 15px; -} -.navbar-page-title { - display: inline-block; - margin-right: 20px; - padding-top: 20px; - padding-bottom: 20px; - font-size: 16px; -} - -/* 头像相关 */ -.img-avatar { - display: inline-block !important; - width: 64px; - height: 64px; - line-height: 64px; - text-align: center; - vertical-align: middle; - -webkit-border-radius: 50%; - border-radius: 50%; -} -.img-avatar-48 { - width: 48px; - height: 48px; - line-height: 48px; -} -.edit-avatar { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; -} -.avatar-divider { - display: inline-block; - border-left: 1px solid rgba(77,82,89,0.07); - height: 50px; - align-self: center; - margin: 0px 20px; -} -.edit-avatar-content { - display: inline-block; -} - - -/** ---------------------------------- - * 主要内容 - -------------------------------------- */ -.layout-content { - height: 100%; - width: 100%; - padding-top: 68px; - padding-left: 240px; - -webkit-transition: padding 0.3s; - transition: padding 0.3s; -} -.layout-content .container-fluid { - padding-top: 15px; - padding-bottom: 15px; -} - -/* card */ -.card { - margin-bottom: 24px; - background-color: #fff; - -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.035); - box-shadow: 0 2px 3px rgba(0, 0, 0, 0.035); -} -.card-header { - display: table; - width: 100%; - margin: 0; - padding: 15px 24px; - border-bottom: 1px solid rgba(77,82,89,0.05); -} -.card-header > * { - margin: 0; - display: table-cell; - vertical-align: middle; -} -.card-body { - padding: 24px 24px; -} -.card-header .h4, -.card-header h4 { - font-size: 16px; -} -.card-header + .card-body { - padding-top: 15px; -} -.card-header[class*='bg'] .card-actions > li > a:not(.label), -.card-header[class*='bg'] .card-actions > li > button, -.card-header[class*='bg'] h1, -.card-header[class*='bg'] h2, -.card-header[class*='bg'] h3, -.card-header[class*='bg'] h4, -.card-header[class*='bg'] h5, -.card-header[class*='bg'] h6, -.card-header[class*='bg'] .h1, -.card-header[class*='bg'] .h2, -.card-header[class*='bg'] .h3, -.card-header[class*='bg'] .h4, -.card-header[class*='bg'] .h5, -.card-header[class*='bg'] .h6 { - color: #ffffff; -} -.card-toolbar { - padding: 24px 24px 0px 24px; - position: relative; -} -.card-toolbar .search-bar { - max-width: 280px; -} -.card-toolbar .dropdown-menu { - min-width: 100%; -} -/* card-actions */ -.card-actions { - float: right; - margin-bottom: 0; - margin-left: auto; - padding: 0; -} -.card-actions > li { - display: inline-block; - padding: 0; -} -.card-actions > li > a:not(.label), -.card-actions > li > button { - color: #86939e; - display: inline-block; - padding: 0; - line-height: 1; - opacity: .7; - vertical-align: middle; - -webkit-transition: opacity 0.15s ease-out; - transition: opacity 0.15s ease-out; -} -.card-actions > li > a:not(.label):hover, -.card-actions > li > button:hover { - text-decoration: none; - opacity: 1; -} -.card-actions > li > a:not(.label):active, -.card-actions > li > button:active { - opacity: .6; -} -.card-actions > li > span { - display: block; -} -.card-actions > li > .label { - line-height: 1.25; -} -.card-actions > li > a:focus { - text-decoration: none; - opacity: 1; -} -.card-actions > li > button { - background: none; - border: none; -} -.card-actions > li.active > a, -.card-actions > li.open > button { - text-decoration: none; - opacity: 1; -} -.card-actions > li + li { - margin-left: 10px; -} -.card .tab-content { - padding: 10px 24px; -} -/* page-tabs */ -.page-tabs.nav-tabs { - padding: 0px 10px; -} -.page-tabs.nav-tabs > li > a { - padding: 15px; -} - -/* 加载动画 */ -#loading { - position: fixed; - width: 100%; - height: 100%; - z-index: 9990; - background: rgba(0, 0, 0, 0.0325) -} -#loading .spinner-border { - z-index: 999999; - position: fixed; - left: 50%; - top: 50% -} -@-webkit-keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.spinner-border { - display: inline-block; - width: 3rem; - height: 3rem; - vertical-align: text-bottom; - border: 0.125em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: spinner-border .75s linear infinite; - animation: spinner-border .75s linear infinite; -} - -/* 步骤条 */ -.nav-step { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; - -webkit-box-align: baseline; - align-items: baseline; - padding: 0px; - margin-bottom: 1rem; -} -.step-dots .nav-step-item { - position: relative; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-flex: 1; - -webkit-box-align: center; - align-items: center; - flex: 1 1; - padding: 0 12px -} -.step-dots .nav-step-item:first-child a::before { - display: none -} -.step-dots .nav-step-item.complete a, -.step-dots .nav-step-item.complete a::before, -.step-dots .nav-step-item.active a, -.step-dots .nav-step-item.active a::before { - background-color: #dcfcfa -} -.step-dots .nav-step-item.complete a::after, -.step-dots .nav-step-item.active a::after { - background-color: #33cabb; - width: 29px; - height: 29px; - -webkit-transform: translateX(0); - transform: translateX(0); - color: #fff -} -.step-dots .nav-step-item.complete a::after { - width: 29px; - height: 29px; - -webkit-transform: translateX(0); - transform: translateX(0); - color: #fff -} -.step-dots .nav-step-item.active a::after { - width: 13px; - height: 13px; - margin-top: 8px; - -webkit-transform: translateX(8px); - transform: translateX(8px); - color: transparent -} -.step-dots a { - display: -webkit-inline-box; - display: inline-flex; - padding: 0; - margin: 10px 0; - width: 29px; - height: 29px; - max-height: 29px; - border-radius: 50%; - background-color: #f7fafc; - -webkit-transition: .5s; - transition: .5s; - z-index: 1 -} -.step-dots a::before { - content: ''; - position: absolute; - left: calc(-50% + 14.5px); - right: calc(50% + 14.5px); - height: 10px; - margin-top: 9.5px; - background-color: #f7fafc; - cursor: default; - -webkit-transition: .5s; - transition: .5s; -} -.step-dots a::after { - content: "\f12c"; - font-family: "Material Design Icons"; - width: 0; - height: 0; - text-align: center; - font-size: 15px; - position: absolute; - border-radius: 50%; - background-color: transparent; - color: transparent; - -webkit-transform: translate(14.5px, 14.5px); - transform: translate(14.5px, 14.5px); - -webkit-transition: .5s; - transition: .5s; - z-index: 1; - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center -} -.nav-step-pane.active { - display: block!important; -} -.nav-step-button { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; -} -.nav-step-button button.disabled { - opacity: 0; -} - -.nav-step.step-anchor { - justify-content: flex-start; - border: 0; - background: #fcfdfe; - border-radius: 0; - list-style: none; - overflow: hidden; -} -.step-anchor > li > a, -.step-anchor > li > a:hover { - color: #bbb; - text-decoration: none; - padding: 10px 0 10px 45px; - position: relative; - display: block; - border: 0!important; - border-radius: 0; - outline-style: none; - background: #f7fafc; -} -.step-anchor > li > a:before, -.step-anchor > li > a:after { - -webkit-transition: .2s linear; - transition: .2s linear; -} -.step-anchor > li > a:after { - content: " "; - display: block; - width: 0; - height: 0; - border-top: 50px solid transparent; - border-bottom: 50px solid transparent; - border-left: 30px solid #f7fafc; - position: absolute; - top: 50%; - margin-top: -50px; - left: 100%; - z-index: 2 -} -.step-anchor > li > a:before { - content: " "; - display: block; - width: 0; - height: 0; - border-top: 50px solid transparent; - border-bottom: 50px solid transparent; - border-left: 30px solid rgba(77,82,89,0.075); - position: absolute; - top: 50%; - margin-top: -50px; - margin-left: 1px; - left: 100%; - z-index: 1 -} -.step-anchor > li:first-child > a { - padding-left: 15px; -} -.step-anchor > li.active h6, -.step-anchor > li.complete h6 { - color: #fff!important; -} -.step-anchor > li.active > a, -.step-anchor > li.complete > a { - border-color: #33cabb!important; - color: rgba(255, 255, 255, .8)!important; - background: #33cabb!important; -} -.step-anchor > li.active > a:after, -.step-anchor > li.complete > a:after { - border-left: 30px solid #33cabb!important; -} - -/* 多图上传 */ -.uploads-pic { - display: -webkit-flex; - display: flex; - -webkit-align-items: stretch; - align-items: stretch; - margin-bottom: 0px; -} -.uploads-pic figure { - position: relative; - background: #4d5259; - overflow: hidden; - text-align: center; - cursor: pointer; -} -.uploads-pic figure img { - position: relative; - display: block; - min-height: 100%; - max-width: 100%; - width: 100%; - opacity: 1; - backface-visibility: hidden; - -webkit-backface-visibility: hidden; - -webkit-transition: opacity 0.5s; - transition: opacity 0.5s; -} -.uploads-pic figure:hover img { - opacity: 0.5; -} -.uploads-pic figure figcaption, -.uploads-pic figure figcaption > a:not(.btn) { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.uploads-pic figure figcaption { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - text-transform: none; - padding: 2em; - color: #fff; - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transition: .35s; - transition: .35s; -} -.uploads-pic figure figcaption > a { - position: static; - z-index: auto; - text-indent: 0; - white-space: nowrap; - opacity: 1; - margin-left: 2px; - margin-right: 2px -} -.uploads-pic figure figcaption > *:first-child { - margin-left: 0; -} -.uploads-pic figure:hover figcaption { - -webkit-transform: scale(1); - transform: scale(1) -} -.uploads-pic .pic-add { - display: -webkit-flex; - justify-content: center; - align-items: center; - height: 100%; - border: 1px dashed #ebebeb; - font-family: "Material Design Icons"; - font-size: 2.875rem; - color: #8b95a5; - -webkit-transition: .35s; - transition: .35s; -} -.uploads-pic .pic-add:before { - content: "\f415"; -} -.uploads-pic .pic-add:hover { - border-color: #33cabb; - color: #33cabb; -} - -/** ---------------------------------- - * 响应式处理 - -------------------------------------- */ -@media (max-width: 1024px) { - .layout-sidebar { - transform: translateX(-100%); - } - .layout-header, - .layout-content { - padding-left: 0; - } - .layout-sidebar { - -webkit-box-shadow: none; - -moz-webkit-box-shadow: none; - box-shadow: none; - } - .layout-sidebar.aside-open { - transform: translateX(0); - } - /* 遮罩层 */ - .mask-modal { - background-color: rgba(0, 0, 0, 0.5); - height: 100%; - left: 0; - opacity: 1; - top: 0; - visibility: visible; - width: 100%; - z-index: 5; - position: fixed; - -webkit-transition: visibility 0 linear 0.4s, opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1); - transition: visibility 0 linear 0.4s, opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1); - -webkit-transform: translateZ(0); - transform: translateZ(0); - } -} -@media screen and (max-width: 767px) { - .table-responsive { - border-color: #eceeef; - } -} -@media screen and (max-width: 700px) { - .card-toolbar .search-bar { - max-width: 100%; - margin-bottom: 10px; - float: none!important; - } -} -@media screen and (max-width: 420px) { - .navbar-page-title { - display: none; - } - .dropdown-skin .dropdown-menu { - width: -131px!important; - } - .nav-step .nav-step-item p { - display: none; - } -} - -/** ---------------------------------- - * 主题设置 - -------------------------------------- */ -.icon-palette { - display: block; - height: 68px; - line-height: 68px; - font-size: 1.5em; - cursor: pointer; - padding: 0 12px; - text-align: center; -} -.drop-title { - color: #4d5259; -} -.drop-title p { - padding: 5px 15px 0px 15px; -} -.drop-skin-li { - padding: 0px 12px; -} -.drop-skin-li input[type=radio] { - display: none; -} -.drop-skin-li input[type=radio]+label { - display: inline-block; - width: 20px; - height: 20px; - cursor: pointer; - margin: 3px; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - border-radius: 50%; - -webkit-transition: all .1s ease; - transition: all .1s ease; -} -.drop-skin-li input[type=radio]:checked+label { - position: relative; -} -.drop-skin-li input[type=radio]:checked+label::after { - content: "\f12c"; - font-family: "Material Design Icons"; - font-size: 1rem; - display: block; - color: #fff; - width: 100%; - text-align: center; - line-height: 20px; - position: absolute; - top: 0px; - -webkit-transition: .2s; - transition: .2s; -} -.drop-skin-li .inverse input[type=radio]:checked+label::after { - color: #4d5259; -} -.dropdown-skin .dropdown-menu { - border: none; - width: 262px; -} - -#header_bg_1+label, #logo_bg_1+label, #sidebar_bg_1+label, #site_theme_1+label { - background-color: #fff; - border: 1px solid #f0f0f0; -} -#header_bg_2+label, #logo_bg_2+label, #sidebar_bg_2+label { - background-color: #15c377; - border: 1px solid #15c377; -} -#header_bg_3+label, #logo_bg_3+label, #sidebar_bg_3+label { - background-color: #48b0f7; - border: 1px solid #48b0f7; -} -#header_bg_4+label, #logo_bg_4+label, #sidebar_bg_4+label { - background-color: #faa64b; - border: 1px solid #faa64b; -} -#header_bg_5+label, #logo_bg_5+label, #sidebar_bg_5+label { - background-color: #f96868; - border: 1px solid #f96868; -} -#header_bg_6+label, #logo_bg_6+label, #sidebar_bg_6+label { - background-color: #926dde; - border: 1px solid #926dde; -} -#header_bg_7+label, #logo_bg_7+label, #sidebar_bg_7+label { - background-color: #33cabb; - border: 1px solid #33cabb; -} -#header_bg_8+label, #logo_bg_8+label, #sidebar_bg_8+label, #site_theme_2+label { - background-color: #465161; - border: 1px solid #465161; -} -#site_theme_3+label { - background: -webkit-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -o-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -moz-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); -} - -/* 暗黑 */ -body[data-theme='dark'] { - background-color: #1c1e2f; - color: #8c909a; -} -body[data-theme='dark'] a, -[data-theme='dark'] .input-group-addon, -[data-theme='dark'] a.list-group-item, -[data-theme='dark'] button.list-group-item, -[data-theme='dark'] h1, -[data-theme='dark'] h2, -[data-theme='dark'] h3, -[data-theme='dark'] h4, -[data-theme='dark'] h5, -[data-theme='dark'] h6, -[data-theme='dark'] .h1, -[data-theme='dark'] .h2, -[data-theme='dark'] .h3, -[data-theme='dark'] .h4, -[data-theme='dark'] .h5, -[data-theme='dark'] .h6 { - color: #8c909a; -} -[data-theme='dark'] code, -[data-theme='dark'] .panel { - background-color: #292B3D; -} -[data-theme='dark'] .aside-toggler .toggler-bar { - background-color: #8c909a; -} -[data-theme='dark'] .layout-header { - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .sidebar-header { - -webkit-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.35); - box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .layout-sidebar-scroll { - -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35) -} -[data-theme='dark'] .sidebar-header, -[data-theme='dark'] .layout-sidebar-scroll, -[data-theme='dark'] .layout-header, -[data-theme='dark'] .card, -[data-theme='dark'] .jconfirm .jconfirm-box { - background-color: #222437; -} -[data-theme='dark'] .nav-drawer > .active > a { - background-color: #202234!important; -} -[data-theme='dark'] .nav-drawer .nav-subnav > li.active > a, -[data-theme='dark'] .nav-drawer .nav-subnav > li > a:hover { - color: #bebdc2; -} -[data-theme='dark'] hr, -[data-theme='dark'] .card-header, -[data-theme='dark'] .sidebar-footer, -[data-theme='dark'] .modal-header, -[data-theme='dark'] .modal-footer, -[data-theme='dark'] .table>tbody>tr>td, -[data-theme='dark'] .table>tbody>tr>th, -[data-theme='dark'] .table>tfoot>tr>td, -[data-theme='dark'] .table>tfoot>tr>th, -[data-theme='dark'] .table>thead>tr>td, -[data-theme='dark'] .table>thead>tr>th, -[data-theme='dark'] .table-bordered { - border-color: #303243; -} -[data-theme='dark'] .table-hover > tbody > tr:hover, -[data-theme='dark'] .table-striped tbody tr:nth-of-type(odd) { - background-color: #292B3D; -} -[data-theme='dark'] .dropdown-menu, -[data-theme='dark'] .modal-content { - background-color: #222437; - border: none; - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .dropdown-menu > li > a:focus, -[data-theme='dark'] .dropdown-menu > li > a:hover, -[data-theme='dark'] .dropdown-menu>.active>a, -[data-theme='dark'] .dropdown-menu>.active>a:focus, -[data-theme='dark'] .dropdown-menu>.active>a:hover { - background-color: #292B3D; - color: #bebdc2; -} -[data-theme='dark'] .dropdown-menu .divider { - background-color: #303243; -} -[data-theme='dark'] .divider::before, -[data-theme='dark'] .divider::after { - border-color: #303243; -} - -[data-theme='dark'] .popover { - background-color: #222437; - border: none; - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .popover.top>.arrow:after { - border-top-color: #222437; -} -[data-theme='dark'] .popover.right>.arrow:after { - border-right-color: #222437; -} -[data-theme='dark'] .popover.bottom>.arrow:after { - border-bottom-color: #222437; -} -[data-theme='dark'] .popover.left>.arrow:after { - border-left-color: #222437; -} -[data-theme='dark'] .popover.top>.arrow { - border-top-color: #1D1F2F; -} -[data-theme='dark'] .popover.right>.arrow { - border-right-color: #1D1F2F; -} -[data-theme='dark'] .popover.bottom>.arrow { - border-bottom-color: #1D1F2F; -} -[data-theme='dark'] .popover.left>.arrow { - border-left-color: #1D1F2F; -} -[data-theme='dark'] .popover-title { - background-color: #222437; - border-color: #303243; -} - -[data-theme='dark'] .progress, -[data-theme='dark'] .irs--flat .irs-min, -[data-theme='dark'] .irs--flat .irs-max, -[data-theme='dark'] .irs--flat .irs-line { - background-color: #303243; -} - -[data-theme='dark'] .nav-tabs, -[data-theme='dark'] blockquote { - border-color: #303243; -} -[data-theme='dark'] .nav-tabs > li.active > a, -[data-theme='dark'] .nav-tabs > li.active > a:focus, -[data-theme='dark'] .nav-tabs > li.active > a:hover { - color: #bebdc2; -} - -@media (min-width: 768px) { - [data-theme='dark'] .nav-tabs.nav-justified>li>a { - border-bottom-color: #303243; - } -} -[data-theme='dark'] .nav-tabs.nav-justified>.active>a, -[data-theme='dark'] .nav-tabs.nav-justified>.active>a:focus, -[data-theme='dark'] .nav-tabs.nav-justified>.active>a:hover { - border-bottom-color: #33cabb; -} - -[data-theme='dark'] :not(panel-default) .panel-title a { - color: #fff; -} -[data-theme='dark'] .form-control { - border-color: #303243; - background-color: #1D1F2F; -} -[data-theme='dark'] .form-control:focus { - border-color: #33cabb; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51, 202, 187, .6); -} -[data-theme='dark'] div.tagsinput, -[data-theme='dark'] .input-group-addon, -[data-theme='dark'] .input-group-btn .btn-default, -[data-theme='dark'] .btn-group .btn-default, -[data-theme='dark'] .btn-group-vertical .btn-default, -[data-theme='dark'] .pagination > li > a, -[data-theme='dark'] .pagination > li > span { - border-color: #303243!important; - background-color: #1D1F2F!important; -} -[data-theme='dark'] .pagination > li > a:hover, -[data-theme='dark'] .pagination > li > a:focus -[data-theme='dark'] .pagination > li > span:hover, -[data-theme='dark'] .pagination > li > span:focus { - background-color: #191A28; - color: #8c909a; -} -[data-theme='dark'] .pagination > .active > a, -[data-theme='dark'] .pagination > .active > a:focus, -[data-theme='dark'] .pagination > .active > a:hover, -[data-theme='dark'] .pagination > .active > span, -[data-theme='dark'] .pagination > .active > span:focus, -[data-theme='dark'] .pagination > .active > span:hover { - border-color: #303243; - background-color: #191A28; - color: #fff; -} -[data-theme='dark'] .pager li > a, -[data-theme='dark'] .pager li > span { - background-color: #1D1F2F; - border-color: #303243; -} -[data-theme='dark'] .pager li > a:hover, -[data-theme='dark'] .pager li > a:focus{ - background-color: #191A28; - color: #8c909a -} -[data-theme='dark'] .pager li > a:active, -[data-theme='dark'] .pager li > a.active { - background-color: #191A28; - color: #fff -} -[data-theme='dark'] .pager .disabled > a, -[data-theme='dark'] .pager .disabled > a:focus, -[data-theme='dark'] .pager .disabled > a:hover, -[data-theme='dark'] .pager .disabled > span { - opacity: .6; - background-color: #1D1F2F; -} - -[data-theme='dark'] .well { - background-color: #292B3D; - border-color: #303243; -} - -[data-theme='dark'] .list-group-item { - background-color: transparent; - border-color: #303243; -} -[data-theme='dark'] .list-group-item.active, -[data-theme='dark'] .list-group-item.active:focus, -[data-theme='dark'] .list-group-item.active:hover { - background-color: #33cabb; - border-color: #33cabb; - color: #fff; -} -[data-theme='dark'] a.list-group-item:hover, -[data-theme='dark'] button.list-group-item:hover, -[data-theme='dark'] a.list-group-item:focus, -[data-theme='dark'] button.list-group-item:focus { - background-color: #292B3D; - color: #bebdc2; -} -[data-theme='dark'] button.list-group-item { - -webkit-transition: .2s linear; - transition: .2s linear -} -[data-theme='dark'] .list-group-item.disabled, -[data-theme='dark'] .list-group-item.disabled:focus, -[data-theme='dark'] .list-group-item.disabled:hover { - background-color: #292B3D; - color: #bebdc2; -} -[data-theme='dark'] .list-group-item-success, -[data-theme='translucent'] .list-group-item-success { - color: #155724!important; -} -[data-theme='dark'] .list-group-item-info, -[data-theme='translucent'] .list-group-item-info { - color: #0c5460!important; -} -[data-theme='dark'] .list-group-item-warning, -[data-theme='translucent'] .list-group-item-warning { - color: #856404!important; -} -[data-theme='dark'] .list-group-item-danger, -[data-theme='translucent'] .list-group-item-danger { - color: #721c24!important; -} -[data-theme='dark'] a.list-group-item .list-group-item-heading, -[data-theme='dark'] button.list-group-item .list-group-item-heading { - color: #bebdc2; -} -[data-theme='dark'] .list-group-item.active .list-group-item-heading, -[data-theme='dark'] .list-group-item.active .list-group-item-heading>.small, -[data-theme='dark'] .list-group-item.active .list-group-item-heading>small, -[data-theme='dark'] .list-group-item.active:focus .list-group-item-heading, -[data-theme='dark'] .list-group-item.active:focus .list-group-item-heading>.small, -[data-theme='dark'] .list-group-item.active:focus .list-group-item-heading>small, -[data-theme='dark'] .list-group-item.active:hover .list-group-item-heading, -[data-theme='dark'] .list-group-item.active:hover .list-group-item-heading>.small, -[data-theme='dark'] .list-group-item.active:hover .list-group-item-heading>small { - color: #fff; -} -[data-theme='dark'] .checkbox span::before, -[data-theme='dark'] .radio span::before { - border-color: #656B77; -} -[data-theme='dark'] .checkbox.checkbox-grey span::before, -[data-theme='dark'] .checkbox.radio-grey span::before, -[data-theme='dark'] .radio.checkbox-grey span::before, -[data-theme='dark'] .radio.radio-grey span::before { - background-color: #656B77; -} -[data-theme='dark'] .switch span { - background-color: #1D1F2F; - border-color: #1D1F2F; -} -[data-theme='dark'] .switch.switch-outline span { - background-color: transparent; -} -[data-theme='dark'] .input-group-btn .btn-default:focus, -[data-theme='dark'] .input-group-btn .btn-default.focus, -[data-theme='dark'] .input-group-btn .btn-default:active, -[data-theme='dark'] .input-group-btn .btn-default.active, -[data-theme='dark'] .input-group-btn .show>.btn-default.dropdown-toggle, -[data-theme='dark'] .input-group-btn .open>.btn-default.dropdown-toggle { - border-color: #303243!important; - background-color: #292B3D!important; - color: #BEBDC2; -} -[data-theme='dark'] .input-group-btn .btn-default:hover { - color: #BEBDC2; -} -[data-theme='dark'] .has-success .input-group-addon { - color: #15c377!important; - border-color: #15c377!important; -} -[data-theme='dark'] .has-info .input-group-addon { - color: #48b0f7!important; - border-color: #48b0f7!important; -} -[data-theme='dark'] .has-warning .input-group-addon { - color: #faa64b!important; - border-color: #faa64b!important; -} -[data-theme='dark'] .has-error .input-group-addon { - color: #f96868!important; - border-color: #f96868!important; -} -[data-theme='dark'] .login-center { - background-color: #222437; - -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); - -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -[data-theme='dark'] .datepicker-dropdown.datepicker-orient-top:after { - border-top-color: #222437; -} -[data-theme='dark'] .datepicker-dropdown:after { - border-bottom-color: #222437; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before { - border-bottom-color: #1D1E2F; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after { - border-bottom-color: #222437; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.top:before { - border-top-color: #1D1E2F; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget.dropdown-menu.top:after { - border-top-color: #222437; -} -[data-theme='dark'] .bootstrap-datetimepicker-widget .btn { - background-color: transparent; -} -[data-theme='dark'] .close { - text-shadow: none; - -webkit-transition: .2s linear; - transition: .2s linear -} -[data-theme='dark'] .alert-success { - background-color: #16d17f; - border-color: #16d17f; - color: #fff; -} -[data-theme='dark'] .alert-info { - background-color: #48b0f7; - border-color: #48b0f7; - color: #fff; -} -[data-theme='dark'] .alert-warning { - background-color: #faa64b; - border-color: #faa64b; - color: #fff; -} -[data-theme='dark'] .alert-danger { - background-color: #f96868; - border-color: #f96868; - color: #fff; -} -[data-theme='dark'] .alert-link { - color: #fff; -} -[data-theme='dark'] .alert h1, -[data-theme='dark'] .alert h2, -[data-theme='dark'] .alert h3, -[data-theme='dark'] .alert h4, -[data-theme='dark'] .alert h5, -[data-theme='dark'] .alert h6, -[data-theme='dark'] .alert .h1, -[data-theme='dark'] .alert .h2, -[data-theme='dark'] .alert .h3, -[data-theme='dark'] .alert .h4, -[data-theme='dark'] .alert .h5, -[data-theme='dark'] .alert .h6 { - color: #fff; -} - -/* 半透明 */ -body[data-theme='translucent'] { - color: rgba(255, 255, 255, .85); - background: -webkit-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -o-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: -moz-linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background: linear-gradient(135deg, #65FDF0 10%, #1D6FA3 100%); - background-repeat: no-repeat; - background-size: cover; - background-attachment: fixed; -} -[data-theme='translucent'] ::-webkit-input-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] :-moz-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] ::-moz-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] :-ms-input-placeholder { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .sidebar-footer { - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] a, -[data-theme='translucent'] h1, -[data-theme='translucent'] h2, -[data-theme='translucent'] h3, -[data-theme='translucent'] h4, -[data-theme='translucent'] h5, -[data-theme='translucent'] h6, -[data-theme='translucent'] .h1, -[data-theme='translucent'] .h2, -[data-theme='translucent'] .h3, -[data-theme='translucent'] .h4, -[data-theme='translucent'] .h5, -[data-theme='translucent'] .h6, -[data-theme='translucent'] .divider { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .h1 .small, -[data-theme='translucent'] .h1 small, -[data-theme='translucent'] .h2 .small, -[data-theme='translucent'] .h2 small, -[data-theme='translucent'] .h3 .small, -[data-theme='translucent'] .h3 small, -[data-theme='translucent'] .h4 .small, -[data-theme='translucent'] .h4 small, -[data-theme='translucent'] .h5 .small, -[data-theme='translucent'] .h5 small, -[data-theme='translucent'] .h6 .small, -[data-theme='translucent'] .h6 small, -[data-theme='translucent'] h1 .small, -[data-theme='translucent'] h1 small, -[data-theme='translucent'] h2 .small, -[data-theme='translucent'] h2 small, -[data-theme='translucent'] h3 .small, -[data-theme='translucent'] h3 small, -[data-theme='translucent'] h4 .small, -[data-theme='translucent'] h4 small, -[data-theme='translucent'] h5 .small, -[data-theme='translucent'] h5 small, -[data-theme='translucent'] h6 .small, -[data-theme='translucent'] h6 small { - color: rgba(255, 255, 255, .65); -} -[data-theme='translucent'] a:hover, -[data-theme='translucent'] .nav-drawer .nav-subnav > li.active > a, -[data-theme='translucent'] .nav-drawer .nav-subnav > li > a:hover, -[data-theme='translucent'] .card-header h1, -[data-theme='translucent'] .card-header h2, -[data-theme='translucent'] .card-header h3, -[data-theme='translucent'] .card-header h4, -[data-theme='translucent'] .card-header h5, -[data-theme='translucent'] .card-header h6, -[data-theme='translucent'] .card-header .h1, -[data-theme='translucent'] .card-header .h2, -[data-theme='translucent'] .card-header .h3, -[data-theme='translucent'] .card-header .h4, -[data-theme='translucent'] .card-header .h5, -[data-theme='translucent'] .card-header .h6 { - color: #fff; -} -[data-theme='translucent'] .card, -[data-theme='translucent'] .sidebar-header, -[data-theme='translucent'] .layout-sidebar-scroll, -[data-theme='translucent'] .layout-header { - background-color: rgba(0, 0, 0, .075); -} -[data-theme='translucent'] .card-header, -[data-theme='translucent'] .modal-header, -[data-theme='translucent'] .modal-footer, -[data-theme='translucent'] .divider::before, -[data-theme='translucent'] .divider::after { - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .aside-toggler .toggler-bar { - background-color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .table-bordered, -[data-theme='translucent'] .table>tbody>tr>td, -[data-theme='translucent'] .table>tbody>tr>th, -[data-theme='translucent'] .table>tfoot>tr>td, -[data-theme='translucent'] .table>tfoot>tr>th, -[data-theme='translucent'] .table>thead>tr>td, -[data-theme='translucent'] .table>thead>tr>th { - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, .1); -} -[data-theme='translucent'] .table-hover > tbody > tr:hover, -[data-theme='translucent'] a.list-group-item:focus, -[data-theme='translucent'] a.list-group-item:hover, -[data-theme='translucent'] button.list-group-item:focus, -[data-theme='translucent'] button.list-group-item:hover { - background-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .table>tbody>tr.active>td, -[data-theme='translucent'] .table>tbody>tr.active>th, -[data-theme='translucent'] .table>tbody>tr>td.active, -[data-theme='translucent'] .table>tbody>tr>th.active, -[data-theme='translucent'] .table>tfoot>tr.active>td, -[data-theme='translucent'] .table>tfoot>tr.active>th, -[data-theme='translucent'] .table>tfoot>tr>td.active, -[data-theme='translucent'] .table>tfoot>tr>th.active, -[data-theme='translucent'] .table>thead>tr.active>td, -[data-theme='translucent'] .table>thead>tr.active>th, -[data-theme='translucent'] .table>thead>tr>td.active, -[data-theme='translucent'] .table>thead>tr>th.active { - background-color: rgba(245, 245, 245, .35); -} -[data-theme='translucent'] .table>tbody>tr.success>td, -[data-theme='translucent'] .table>tbody>tr.success>th, -[data-theme='translucent'] .table>tbody>tr>td.success, -[data-theme='translucent'] .table>tbody>tr>th.success, -[data-theme='translucent'] .table>tfoot>tr.success>td, -[data-theme='translucent'] .table>tfoot>tr.success>th, -[data-theme='translucent'] .table>tfoot>tr>td.success, -[data-theme='translucent'] .table>tfoot>tr>th.success, -[data-theme='translucent'] .table>thead>tr.success>td, -[data-theme='translucent'] .table>thead>tr.success>th, -[data-theme='translucent'] .table>thead>tr>td.success, -[data-theme='translucent'] .table>thead>tr>th.success { - background-color: rgba(21, 195, 119, .35); -} -[data-theme='translucent'] .table>tbody>tr.info>td, -[data-theme='translucent'] .table>tbody>tr.info>th, -[data-theme='translucent'] .table>tbody>tr>td.info, -[data-theme='translucent'] .table>tbody>tr>th.info, -[data-theme='translucent'] .table>tfoot>tr.info>td, -[data-theme='translucent'] .table>tfoot>tr.info>th, -[data-theme='translucent'] .table>tfoot>tr>td.info, -[data-theme='translucent'] .table>tfoot>tr>th.info, -[data-theme='translucent'] .table>thead>tr.info>td, -[data-theme='translucent'] .table>thead>tr.info>th, -[data-theme='translucent'] .table>thead>tr>td.info, -[data-theme='translucent'] .table>thead>tr>th.info { - background-color: rgba(72, 176, 247, .35); -} -[data-theme='translucent'] .table>tbody>tr.warning>td, -[data-theme='translucent'] .table>tbody>tr.warning>th, -[data-theme='translucent'] .table>tbody>tr>td.warning, -[data-theme='translucent'] .table>tbody>tr>th.warning, -[data-theme='translucent'] .table>tfoot>tr.warning>td, -[data-theme='translucent'] .table>tfoot>tr.warning>th, -[data-theme='translucent'] .table>tfoot>tr>td.warning, -[data-theme='translucent'] .table>tfoot>tr>th.warning, -[data-theme='translucent'] .table>thead>tr.warning>td, -[data-theme='translucent'] .table>thead>tr.warning>th, -[data-theme='translucent'] .table>thead>tr>td.warning, -[data-theme='translucent'] .table>thead>tr>th.warning { - background-color: rgba(250, 166, 75, .35); -} -[data-theme='translucent'] .table>tbody>tr.danger>td, -[data-theme='translucent'] .table>tbody>tr.danger>th, -[data-theme='translucent'] .table>tbody>tr>td.danger, -[data-theme='translucent'] .table>tbody>tr>th.danger, -[data-theme='translucent'] .table>tfoot>tr.danger>td, -[data-theme='translucent'] .table>tfoot>tr.danger>th, -[data-theme='translucent'] .table>tfoot>tr>td.danger, -[data-theme='translucent'] .table>tfoot>tr>th.danger, -[data-theme='translucent'] .table>thead>tr.danger>td, -[data-theme='translucent'] .table>thead>tr.danger>th, -[data-theme='translucent'] .table>thead>tr>td.danger, -[data-theme='translucent'] .table>thead>tr>th.danger { - background-color: rgba(249, 104, 104, .35); -} -[data-theme='translucent'] .btn-default { - border-color: rgba(255, 255, 255, .075); - background-color: rgba(255, 255, 255, .075); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .btn-default:hover { - background-color: rgba(255, 255, 255, .125); - border-color: rgba(255, 255, 255, .125); - color: #fff -} -[data-theme='translucent'] .btn-default:focus, -[data-theme='translucent'] .btn-default.focus, -[data-theme='translucent'] .btn-default:active, -[data-theme='translucent'] .btn-default.active, -[data-theme='translucent'] .show>.btn-default.dropdown-toggle, -[data-theme='translucent'] .open>.btn-default.dropdown-toggle, -[data-theme='translucent'] .btn-default:not([disabled]):not(.disabled).active, -[data-theme='translucent'] .btn-default:not([disabled]):not(.disabled):active, -[data-theme='translucent'] .show>.btn-default.dropdown-toggle, -[data-theme='translucent'] .btn-default.disabled, -[data-theme='translucent'] .btn-default:disabled { - background-color: rgba(255, 255, 255, .125)!important; - border-color: rgba(255, 255, 255, .125)!important; - color: #fff -} -[data-theme='translucent'] .dropdown-menu { - border: none; -} -[data-theme='translucent'] blockquote { - border-color: rgba(255, 255, 255, .1); -} -[data-theme='translucent'] blockquote .small, -[data-theme='translucent'] blockquote footer, -[data-theme='translucent'] blockquote small { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .bg-white { - background-color: rgba(255, 255, 255, .35) !important -} -[data-theme='translucent'] .bg-lightest { - background-color: rgba(253, 252, 254, .35)!important; -} -[data-theme='translucent'] .bg-lighter { - background-color: rgba(249, 250, 251, .35) !important; -} -[data-theme='translucent'] .bg-light { - background-color: rgba(245, 246, 247, .35) !important; -} -[data-theme='translucent'] .progress { - background-color: rgba(245, 246, 247, .075); -} - -[data-theme='translucent'] .nav-tabs { - border-bottom-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .nav-tabs > li > a { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .nav-tabs > li.active > a, -[data-theme='translucent'] .nav-tabs > li.active > a:focus, -[data-theme='translucent'] .nav-tabs > li.active > a:hover, -[data-theme='translucent'] .nav-tabs.nav-justified > .active > a, -[data-theme='translucent'] .nav-tabs.nav-justified > .active > a:focus, -[data-theme='translucent'] .nav-tabs.nav-justified > .active > a:hover { - color: #fff; - border-bottom-color: rgba(255, 255, 255, .35); -} -[data-theme='translucent'] .nav-tabs.nav > li > a:hover, -[data-theme='translucent'] .nav-tabs.nav > li > a:focus { - border-bottom-color: rgba(255, 255, 255, .35); -} -@media (min-width: 768px) { - [data-theme='translucent'] .nav-tabs.nav-justified>li>a { - border-bottom-color: rgba(255, 255, 255, .075); - } -} -[data-theme='translucent'] .modal-content, -[data-theme='translucent'] .popover { - background-color: #474747; - border: none; - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, .35); - -moz-box-shadow: 0 0 4px rgba(0, 0, 0, .35); - box-shadow: 0 0 4px rgba(0, 0, 0, .35); -} -[data-theme='translucent'] .popover-title { - background-color: #474747; - border-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .popover.top>.arrow { - border-top-color: #474747; -} -[data-theme='translucent'] .popover.right>.arrow { - border-right-color: #474747; -} -[data-theme='translucent'] .popover.bottom>.arrow { - border-bottom-color: #474747; -} -[data-theme='translucent'] .popover.left>.arrow { - border-left-color: #474747; -} -[data-theme='translucent'] .popover.top>.arrow:after, -[data-theme='translucent'] .popover.right>.arrow:after, -[data-theme='translucent'] .popover.bottom>.arrow:after, -[data-theme='translucent'] .popover.left>.arrow:after { - border-color: transparent; -} - -[data-theme='translucent'] .alert-success, -[data-theme='translucent'] .alert-info, -[data-theme='translucent'] .alert-warning, -[data-theme='translucent'] .alert-danger { - border: none; - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .alert-success a, -[data-theme='translucent'] .alert-info a, -[data-theme='translucent'] .alert-warning a, -[data-theme='translucent'] .alert-danger a { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .alert-success { - background-color: #15c377; -} -[data-theme='translucent'] .alert-info { - background-color: #48b0f7; -} -[data-theme='translucent'] .alert-warning { - background-color: #faa64b; -} -[data-theme='translucent'] .alert-danger { - background-color: #f96868; -} -[data-theme='translucent'] .pagination > li > a, -[data-theme='translucent'] .pagination > li > span, -[data-theme='translucent'] .pager li > a, -[data-theme='translucent'] .pager li > span { - color: rgba(255, 255, 255, .85); - border-color: rgba(255, 255, 255, .125); - background-color: rgba(255, 255, 255, .075); -} -[data-theme='translucent'] .pagination > li > a:hover, -[data-theme='translucent'] .pagination > li > a:focus -[data-theme='translucent'] .pagination > li > span:hover, -[data-theme='translucent'] .pagination > li > span:focus, -[data-theme='translucent'] .pager li > a:hover, -[data-theme='translucent'] .pager li > a:focus { - color: #fff; - background-color: rgba(255, 255, 255, .125); -} -[data-theme='translucent'] .pagination > .active > a, -[data-theme='translucent'] .pagination > .active > a:focus, -[data-theme='translucent'] .pagination > .active > a:hover, -[data-theme='translucent'] .pagination > .active > span, -[data-theme='translucent'] .pagination > .active > span:focus, -[data-theme='translucent'] .pagination > .active > span:hover, -[data-theme='translucent'] .pager li > a:active, -[data-theme='translucent'] .pager li > a.active { - background-color: rgba(255, 255, 255, .125); -} -[data-theme='translucent'] .well, -[data-theme='translucent'] .panel, -[data-theme='translucent'] code, -[data-theme='translucent'] .list-group-item { - background-color: rgba(0, 0, 0, .035); -} -[data-theme='translucent'] .well, -[data-theme='translucent'] .list-group-item { - border-color: rgba(0, 0, 0, .035); -} -[data-theme='translucent'] .list-group-item.active, -[data-theme='translucent'] .list-group-item.active:focus, -[data-theme='translucent'] .list-group-item.active:hover { - background-color: #33cabb; - border-color: #33cabb; -} -[data-theme='translucent'] .form-control, -[data-theme='translucent'] div.tagsinput { - border-color: rgba(255, 255, 255, .075); - background-color: rgba(0, 0, 0, .035); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .form-control:focus { - border-color: rgba(255, 255, 255, .35); -} -[data-theme='translucent'] .input-group-btn:first-child>.btn, -[data-theme='translucent'] .input-group-btn:first-child>.btn-group { - margin-right: 0px; -} -[data-theme='translucent'] .input-group-addon { - background-color: rgba(255, 255, 255, .075); - border-color: rgba(255, 255, 255, .075); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .help-block { - color: rgba(255, 255, 255, .5); -} -[data-theme='translucent'] .checkbox span::before, -[data-theme='translucent'] .radio span::before, -[data-theme='translucent'] .checkbox.checkbox-grey span::before, -[data-theme='translucent'] .checkbox.radio-grey span::before, -[data-theme='translucent'] .radio.checkbox-grey span::before, -[data-theme='translucent'] .radio.radio-grey span::before { - border-color: rgba(0, 0, 0, .125); -} -[data-theme='translucent'] .checkbox.checkbox-grey span::before, -[data-theme='translucent'] .checkbox.radio-grey span::before, -[data-theme='translucent'] .radio.checkbox-grey span::before, -[data-theme='translucent'] .radio.radio-grey span::before { - background-color: rgba(235, 235, 235, .35) -} -[data-theme='translucent'] .switch.switch-outline span { - background-color: transparent; - border-color: rgba(0, 0, 0, .35); -} -[data-theme='translucent'] .switch span { - border-color: rgba(0, 0, 0, .035); - background-color: rgba(0, 0, 0, .35); -} -[data-theme='translucent'] .login-center { - background-color: rgba(0, 0, 0, .125); -} -[data-theme='translucent'] .datepicker.dropdown-menu { - color: #333; -} -[data-theme='translucent'] .irs--flat .irs-min, -[data-theme='translucent'] .irs--flat .irs-max { - background-color: rgba(0, 0, 0, .035); - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .irs--flat .irs-line { - background-color: rgba(0, 0, 0, .075); -} -[data-theme='translucent'] .irs--flat .irs-grid-text { - color: rgba(255, 255, 255, .85); -} -[data-theme='translucent'] .text-muted { - color: rgba(255, 255, 255, .5)!important; -} - -@media (max-width: 1024px) { - [data-theme='translucent'].layout-sidebar-close .layout-sidebar-scroll, - [data-theme='translucent'].layout-sidebar-close .sidebar-header { - background-color: rgba(0, 0, 0, .75); - } -} - -/* 颜色搭配 */ -[data-headerbg='color_2'] .layout-header, -[data-logobg='color_2'] .sidebar-header, -[data-sidebarbg='color_2'] .layout-sidebar-scroll { - background-color: #15c377; -} -[data-headerbg='color_3'] .layout-header, -[data-logobg='color_3'] .sidebar-header, -[data-sidebarbg='color_3'] .layout-sidebar-scroll { - background-color: #48b0f7; -} -[data-headerbg='color_4'] .layout-header, -[data-logobg='color_4'] .sidebar-header, -[data-sidebarbg='color_4'] .layout-sidebar-scroll { - background-color: #faa64b; -} -[data-headerbg='color_5'] .layout-header, -[data-logobg='color_5'] .sidebar-header, -[data-sidebarbg='color_5'] .layout-sidebar-scroll { - background-color: #f96868; -} -[data-headerbg='color_6'] .layout-header, -[data-logobg='color_6'] .sidebar-header, -[data-sidebarbg='color_6'] .layout-sidebar-scroll { - background-color: #926dde; -} -[data-headerbg='color_7'] .layout-header, -[data-logobg='color_7'] .sidebar-header, -[data-sidebarbg='color_7'] .layout-sidebar-scroll { - background-color: #33cabb; -} -[data-headerbg='color_8'] .layout-header, -[data-logobg='color_8'] .sidebar-header, -[data-sidebarbg='color_8'] .layout-sidebar-scroll { - background-color: #465161; -} - -[data-logobg*='color_'] .sidebar-header img, -[data-theme='translucent'] .sidebar-header img { - position: relative; - left: -220px; - -webkit-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - -moz-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - -ms-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - -o-filter: drop-shadow(rgb(255, 255, 255) 220px 0px); - filter: drop-shadow(rgb(255, 255, 255) 220px 0px); -} -[data-headerbg*='color_'] .layout-header, -[data-headerbg*='color_'] .layout-header .topbar-right > li > a, -[data-sidebarbg*='color_'] .layout-sidebar-scroll a, -[data-sidebarbg*='color_'] .sidebar-footer { - color: rgba(255, 255, 255, .85); -} -[data-sidebarbg*='color_'] .nav-drawer .nav-subnav > li.active > a, -[data-sidebarbg*='color_'] .nav-drawer .nav-subnav > li > a:hover { - color: #fff; -} -[data-headerbg*='color_'] .aside-toggler .toggler-bar { - background-color: #fff; -} -[data-sidebarbg*='color_'] .nav-drawer > .active > a { - border-color: rgba(255, 255, 255, .35); - background-color: rgba(255, 255, 255, .075)!important; -} -[data-sidebarbg*='color_'] .nav > li > a:hover { - background-color: rgba(255, 255, 255, .035); -} -[data-sidebarbg*='color_'] .nav-drawer > .active > a:hover, -[data-sidebarbg*='color_'] .nav-drawer > .active > a:focus, -[data-sidebarbg*='color_'] .nav-drawer > .active > a:active { - border-color: rgba(255, 255, 255, .35); -} \ No newline at end of file diff --git a/ht/vip/index.php b/ht/vip/index.php deleted file mode 100755 index cd394ee..0000000 --- a/ht/vip/index.php +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - -缥缈用户后台 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - \ No newline at end of file diff --git a/ht/vip/item.json b/ht/vip/item.json deleted file mode 100755 index 8baa5f3..0000000 --- a/ht/vip/item.json +++ /dev/null @@ -1,53 +0,0 @@ -[{"resId":3,"name":"经验","useType":1}, -{"resId":6,"name":"钻石","useType":1}, -{"resId":7,"name":"金币","useType":1}, -{"resId":8,"name":"洗炼石","useType":1}, -{"resId":9,"name":"体力","useType":1}, -{"resId":10,"name":"充值币","useType":1}, -{"resId":10002,"name":"发冠升级图纸","useType":1}, -{"resId":10003,"name":"道袍升级图纸","useType":1}, -{"resId":10004,"name":"项链升级图纸","useType":1}, -{"resId":10005,"name":"戒指升级图纸","useType":1}, -{"resId":10006,"name":"靴子升级图纸","useType":1}, -{"resId":10007,"name":"新手道书","useType":1}, -{"resId":10008,"name":"五色土","useType":1}, -{"resId":10009,"name":"女娲石","useType":1}, -{"resId":10010,"name":"突破丹","useType":1}, -{"resId":10011,"name":"随机装备图纸","useType":2}, -{"resId":10012,"name":"随机技能卷轴","useType":4}, -{"resId":10013,"name":"随机宝石箱子","useType":3}, -{"resId":10014,"name":"普通宝石箱","useType":3}, -{"resId":10015,"name":"璀璨宝石箱","useType":3}, -{"resId":10016,"name":"随机紫色宝石宝箱","useType":3}, -{"resId":10017,"name":"随机金色宝石宝箱","useType":3}, -{"resId":10018,"name":"随机红色宝石宝箱","useType":3}, -{"resId":10019,"name":"随机多彩宝石宝箱","useType":3}, -{"resId":10020,"name":"宝石抽取券","useType":1}, -{"resId":10021,"name":"灵宠抽取券","useType":1}, -{"resId":10022,"name":"随机宝石箱子","useType":3}, -{"resId":10023,"name":"随机稀有宝石","useType":3}, -{"resId":10024,"name":"随机宝石箱子","useType":3}, -{"resId":10101,"name":"御剑术卷轴","useType":1}, -{"resId":10102,"name":"毒气弹卷轴","useType":1}, -{"resId":10103,"name":"寒冰箭卷轴","useType":1}, -{"resId":10104,"name":"惊雷咒卷轴","useType":1}, -{"resId":10105,"name":"石狮子卷轴","useType":1}, -{"resId":10106,"name":"剑气斩卷轴","useType":1}, -{"resId":10107,"name":"万剑诀卷轴","useType":1}, -{"resId":10108,"name":"寒冰突刺卷轴","useType":1}, -{"resId":10109,"name":"连环闪电卷轴","useType":1}, -{"resId":10110,"name":"泰山压顶卷轴","useType":1}, -{"resId":10111,"name":"风暴术卷轴","useType":1}, -{"resId":10112,"name":"天雷网卷轴","useType":1}, -{"resId":10113,"name":"巨石突刺卷轴","useType":1}, -{"resId":10114,"name":"旋风术卷轴","useType":1}, -{"resId":10115,"name":"闪电球卷轴","useType":1}, -{"resId":10116,"name":"改名卡","useType":1}, -{"resId":10117,"name":"随机宝石箱子","useType":1}, -{"resId":10118,"name":"随机蓝色宝石宝箱","useType":3}, -{"resId":10119,"name":"晶石掉落","useType":1}, -{"resId":10120,"name":"技能卷轴自选宝箱","useType":5}, -{"resId":10121,"name":"灵宠口粮","useType":1}, -{"resId":10122,"name":"灵宠抽卡箱","useType":1}, -{"resId":10123,"name":"灵宠口粮","useType":1}, -{"resId":10999,"name":"1元代金券","useType":1}] \ No newline at end of file diff --git a/ht/vip/itemquery.php b/ht/vip/itemquery.php deleted file mode 100755 index 1a6dece..0000000 --- a/ht/vip/itemquery.php +++ /dev/null @@ -1,42 +0,0 @@ -0,'val'=>'请选择')); - $file = fopen("item.txt", "r"); - if($key==''){ - while(!feof($file)) - { - $line=fgets($file); - $txts=explode('|',$line); - if(count($txts)==2){ - $tmp=array( - 'key'=>$txts[0], - 'val'=>$txts[1] - ); - array_push($return,$tmp); - } - } - }else{ - while(!feof($file)) - { - $line=fgets($file); - $pos=strpos($line,$key); - if($pos){ - $txts=explode('|',$line); - if(count($txts)==2){ - $tmp=array( - 'key'=>$txts[0], - 'val'=>$txts[1] - ); - array_push($return,$tmp); - } - } - } - } - fclose($file); - echo(json_encode($return)); -}else{ - $return=array(array('key'=>0,'val'=>'请选择')); - echo(json_encode($return)); -} \ No newline at end of file diff --git a/ht/vip/js/uti.js b/ht/vip/js/uti.js deleted file mode 100755 index c11b2f8..0000000 --- a/ht/vip/js/uti.js +++ /dev/null @@ -1,802 +0,0 @@ -// Utilities -var Vector3 = {}; -var Matrix44 = {}; -Vector3.create = function(x, y, z) { - return {'x':x, 'y':y, 'z':z}; -}; -Vector3.dot = function (v0, v1) { - return v0.x * v1.x + v0.y * v1.y + v0.z * v1.z; -}; -Vector3.cross = function (v, v0, v1) { - v.x = v0.y * v1.z - v0.z * v1.y; - v.y = v0.z * v1.x - v0.x * v1.z; - v.z = v0.x * v1.y - v0.y * v1.x; -}; -Vector3.normalize = function (v) { - var l = v.x * v.x + v.y * v.y + v.z * v.z; - if(l > 0.00001) { - l = 1.0 / Math.sqrt(l); - v.x *= l; - v.y *= l; - v.z *= l; - } -}; -Vector3.arrayForm = function(v) { - if(v.array) { - v.array[0] = v.x; - v.array[1] = v.y; - v.array[2] = v.z; - } - else { - v.array = new Float32Array([v.x, v.y, v.z]); - } - return v.array; -}; -Matrix44.createIdentity = function () { - return new Float32Array([1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0]); -}; -Matrix44.loadProjection = function (m, aspect, vdeg, near, far) { - var h = near * Math.tan(vdeg * Math.PI / 180.0 * 0.5) * 2.0; - var w = h * aspect; - - m[0] = 2.0 * near / w; - m[1] = 0.0; - m[2] = 0.0; - m[3] = 0.0; - - m[4] = 0.0; - m[5] = 2.0 * near / h; - m[6] = 0.0; - m[7] = 0.0; - - m[8] = 0.0; - m[9] = 0.0; - m[10] = -(far + near) / (far - near); - m[11] = -1.0; - - m[12] = 0.0; - m[13] = 0.0; - m[14] = -2.0 * far * near / (far - near); - m[15] = 0.0; -}; -Matrix44.loadLookAt = function (m, vpos, vlook, vup) { - var frontv = Vector3.create(vpos.x - vlook.x, vpos.y - vlook.y, vpos.z - vlook.z); - Vector3.normalize(frontv); - var sidev = Vector3.create(1.0, 0.0, 0.0); - Vector3.cross(sidev, vup, frontv); - Vector3.normalize(sidev); - var topv = Vector3.create(1.0, 0.0, 0.0); - Vector3.cross(topv, frontv, sidev); - Vector3.normalize(topv); - - m[0] = sidev.x; - m[1] = topv.x; - m[2] = frontv.x; - m[3] = 0.0; - - m[4] = sidev.y; - m[5] = topv.y; - m[6] = frontv.y; - m[7] = 0.0; - - m[8] = sidev.z; - m[9] = topv.z; - m[10] = frontv.z; - m[11] = 0.0; - - m[12] = -(vpos.x * m[0] + vpos.y * m[4] + vpos.z * m[8]); - m[13] = -(vpos.x * m[1] + vpos.y * m[5] + vpos.z * m[9]); - m[14] = -(vpos.x * m[2] + vpos.y * m[6] + vpos.z * m[10]); - m[15] = 1.0; -}; - -// -var timeInfo = { - 'start':0, 'prev':0, // Date - 'delta':0, 'elapsed':0 // Number(sec) -}; - -// -var gl; -var renderSpec = { - 'width':0, - 'height':0, - 'aspect':1, - 'array':new Float32Array(3), - 'halfWidth':0, - 'halfHeight':0, - 'halfArray':new Float32Array(3) - // and some render targets. see setViewport() -}; -renderSpec.setSize = function(w, h) { - renderSpec.width = w; - renderSpec.height = h; - renderSpec.aspect = renderSpec.width / renderSpec.height; - renderSpec.array[0] = renderSpec.width; - renderSpec.array[1] = renderSpec.height; - renderSpec.array[2] = renderSpec.aspect; - - renderSpec.halfWidth = Math.floor(w / 2); - renderSpec.halfHeight = Math.floor(h / 2); - renderSpec.halfArray[0] = renderSpec.halfWidth; - renderSpec.halfArray[1] = renderSpec.halfHeight; - renderSpec.halfArray[2] = renderSpec.halfWidth / renderSpec.halfHeight; -}; - -function deleteRenderTarget(rt) { - gl.deleteFramebuffer(rt.frameBuffer); - gl.deleteRenderbuffer(rt.renderBuffer); - gl.deleteTexture(rt.texture); -} - -function createRenderTarget(w, h) { - var ret = { - 'width':w, - 'height':h, - 'sizeArray':new Float32Array([w, h, w / h]), - 'dtxArray':new Float32Array([1.0 / w, 1.0 / h]) - }; - ret.frameBuffer = gl.createFramebuffer(); - ret.renderBuffer = gl.createRenderbuffer(); - ret.texture = gl.createTexture(); - - gl.bindTexture(gl.TEXTURE_2D, ret.texture); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, w, h, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); - - gl.bindFramebuffer(gl.FRAMEBUFFER, ret.frameBuffer); - gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, ret.texture, 0); - - gl.bindRenderbuffer(gl.RENDERBUFFER, ret.renderBuffer); - gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, w, h); - gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, ret.renderBuffer); - - gl.bindTexture(gl.TEXTURE_2D, null); - gl.bindRenderbuffer(gl.RENDERBUFFER, null); - gl.bindFramebuffer(gl.FRAMEBUFFER, null); - - return ret; -} - -function compileShader(shtype, shsrc) { - var retsh = gl.createShader(shtype); - - gl.shaderSource(retsh, shsrc); - gl.compileShader(retsh); - - if(!gl.getShaderParameter(retsh, gl.COMPILE_STATUS)) { - var errlog = gl.getShaderInfoLog(retsh); - gl.deleteShader(retsh); - console.error(errlog); - return null; - } - return retsh; -} - -function createShader(vtxsrc, frgsrc, uniformlist, attrlist) { - var vsh = compileShader(gl.VERTEX_SHADER, vtxsrc); - var fsh = compileShader(gl.FRAGMENT_SHADER, frgsrc); - - if(vsh == null || fsh == null) { - return null; - } - - var prog = gl.createProgram(); - gl.attachShader(prog, vsh); - gl.attachShader(prog, fsh); - - gl.deleteShader(vsh); - gl.deleteShader(fsh); - - gl.linkProgram(prog); - if (!gl.getProgramParameter(prog, gl.LINK_STATUS)) { - var errlog = gl.getProgramInfoLog(prog); - console.error(errlog); - return null; - } - - if(uniformlist) { - prog.uniforms = {}; - for(var i = 0; i < uniformlist.length; i++) { - prog.uniforms[uniformlist[i]] = gl.getUniformLocation(prog, uniformlist[i]); - } - } - - if(attrlist) { - prog.attributes = {}; - for(var i = 0; i < attrlist.length; i++) { - var attr = attrlist[i]; - prog.attributes[attr] = gl.getAttribLocation(prog, attr); - } - } - - return prog; -} - -function useShader(prog) { - gl.useProgram(prog); - for(var attr in prog.attributes) { - gl.enableVertexAttribArray(prog.attributes[attr]);; - } -} - -function unuseShader(prog) { - for(var attr in prog.attributes) { - gl.disableVertexAttribArray(prog.attributes[attr]);; - } - gl.useProgram(null); -} - -///// -var projection = { - 'angle':60, - 'nearfar':new Float32Array([0.1, 100.0]), - 'matrix':Matrix44.createIdentity() -}; -var camera = { - 'position':Vector3.create(0, 0, 100), - 'lookat':Vector3.create(0, 0, 0), - 'up':Vector3.create(0, 1, 0), - 'dof':Vector3.create(10.0, 4.0, 8.0), - 'matrix':Matrix44.createIdentity() -}; - -var pointFlower = {}; -var meshFlower = {}; -var sceneStandBy = false; - -var BlossomParticle = function () { - this.velocity = new Array(3); - this.rotation = new Array(3); - this.position = new Array(3); - this.euler = new Array(3); - this.size = 1.0; - this.alpha = 1.0; - this.zkey = 0.0; -}; - -BlossomParticle.prototype.setVelocity = function (vx, vy, vz) { - this.velocity[0] = vx; - this.velocity[1] = vy; - this.velocity[2] = vz; -}; - -BlossomParticle.prototype.setRotation = function (rx, ry, rz) { - this.rotation[0] = rx; - this.rotation[1] = ry; - this.rotation[2] = rz; -}; - -BlossomParticle.prototype.setPosition = function (nx, ny, nz) { - this.position[0] = nx; - this.position[1] = ny; - this.position[2] = nz; -}; - -BlossomParticle.prototype.setEulerAngles = function (rx, ry, rz) { - this.euler[0] = rx; - this.euler[1] = ry; - this.euler[2] = rz; -}; - -BlossomParticle.prototype.setSize = function (s) { - this.size = s; -}; - -BlossomParticle.prototype.update = function (dt, et) { - this.position[0] += this.velocity[0] * dt; - this.position[1] += this.velocity[1] * dt; - this.position[2] += this.velocity[2] * dt; - - this.euler[0] += this.rotation[0] * dt; - this.euler[1] += this.rotation[1] * dt; - this.euler[2] += this.rotation[2] * dt; -}; - -function createPointFlowers() { - // get point sizes - var prm = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE); - renderSpec.pointSize = {'min':prm[0], 'max':prm[1]}; - - var vtxsrc = document.getElementById("sakura_point_vsh").textContent; - var frgsrc = document.getElementById("sakura_point_fsh").textContent; - - pointFlower.program = createShader( - vtxsrc, frgsrc, - ['uProjection', 'uModelview', 'uResolution', 'uOffset', 'uDOF', 'uFade'], - ['aPosition', 'aEuler', 'aMisc'] - ); - - useShader(pointFlower.program); - pointFlower.offset = new Float32Array([0.0, 0.0, 0.0]); - pointFlower.fader = Vector3.create(0.0, 10.0, 0.0); - - // paramerters: velocity[3], rotate[3] - pointFlower.numFlowers = 1600; - pointFlower.particles = new Array(pointFlower.numFlowers); - // vertex attributes {position[3], euler_xyz[3], size[1]} - pointFlower.dataArray = new Float32Array(pointFlower.numFlowers * (3 + 3 + 2)); - pointFlower.positionArrayOffset = 0; - pointFlower.eulerArrayOffset = pointFlower.numFlowers * 3; - pointFlower.miscArrayOffset = pointFlower.numFlowers * 6; - - pointFlower.buffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, pointFlower.buffer); - gl.bufferData(gl.ARRAY_BUFFER, pointFlower.dataArray, gl.DYNAMIC_DRAW); - gl.bindBuffer(gl.ARRAY_BUFFER, null); - - unuseShader(pointFlower.program); - - for(var i = 0; i < pointFlower.numFlowers; i++) { - pointFlower.particles[i] = new BlossomParticle(); - } -} - -function initPointFlowers() { - //area - pointFlower.area = Vector3.create(20.0, 20.0, 20.0); - pointFlower.area.x = pointFlower.area.y * renderSpec.aspect; - - pointFlower.fader.x = 10.0; //env fade start - pointFlower.fader.y = pointFlower.area.z; //env fade half - pointFlower.fader.z = 0.1; //near fade start - - //particles - var PI2 = Math.PI * 2.0; - var tmpv3 = Vector3.create(0, 0, 0); - var tmpv = 0; - var symmetryrand = function() {return (Math.random() * 2.0 - 1.0);}; - for(var i = 0; i < pointFlower.numFlowers; i++) { - var tmpprtcl = pointFlower.particles[i]; - - //velocity - tmpv3.x = symmetryrand() * 0.3 + 0.8; - tmpv3.y = symmetryrand() * 0.2 - 1.0; - tmpv3.z = symmetryrand() * 0.3 + 0.5; - Vector3.normalize(tmpv3); - tmpv = 2.0 + Math.random() * 1.0; - tmpprtcl.setVelocity(tmpv3.x * tmpv, tmpv3.y * tmpv, tmpv3.z * tmpv); - - //rotation - tmpprtcl.setRotation( - symmetryrand() * PI2 * 0.5, - symmetryrand() * PI2 * 0.5, - symmetryrand() * PI2 * 0.5 - ); - - //position - tmpprtcl.setPosition( - symmetryrand() * pointFlower.area.x, - symmetryrand() * pointFlower.area.y, - symmetryrand() * pointFlower.area.z - ); - - //euler - tmpprtcl.setEulerAngles( - Math.random() * Math.PI * 2.0, - Math.random() * Math.PI * 2.0, - Math.random() * Math.PI * 2.0 - ); - - //size - tmpprtcl.setSize(0.9 + Math.random() * 0.1); - } -} - -function renderPointFlowers() { - //update - var PI2 = Math.PI * 2.0; - var limit = [pointFlower.area.x, pointFlower.area.y, pointFlower.area.z]; - var repeatPos = function (prt, cmp, limit) { - if(Math.abs(prt.position[cmp]) - prt.size * 0.5 > limit) { - //out of area - if(prt.position[cmp] > 0) { - prt.position[cmp] -= limit * 2.0; - } - else { - prt.position[cmp] += limit * 2.0; - } - } - }; - var repeatEuler = function (prt, cmp) { - prt.euler[cmp] = prt.euler[cmp] % PI2; - if(prt.euler[cmp] < 0.0) { - prt.euler[cmp] += PI2; - } - }; - - for(var i = 0; i < pointFlower.numFlowers; i++) { - var prtcl = pointFlower.particles[i]; - prtcl.update(timeInfo.delta, timeInfo.elapsed); - repeatPos(prtcl, 0, pointFlower.area.x); - repeatPos(prtcl, 1, pointFlower.area.y); - repeatPos(prtcl, 2, pointFlower.area.z); - repeatEuler(prtcl, 0); - repeatEuler(prtcl, 1); - repeatEuler(prtcl, 2); - - prtcl.alpha = 1.0;//(pointFlower.area.z - prtcl.position[2]) * 0.5; - - prtcl.zkey = (camera.matrix[2] * prtcl.position[0] - + camera.matrix[6] * prtcl.position[1] - + camera.matrix[10] * prtcl.position[2] - + camera.matrix[14]); - } - - // sort - pointFlower.particles.sort(function(p0, p1){return p0.zkey - p1.zkey;}); - - // update data - var ipos = pointFlower.positionArrayOffset; - var ieuler = pointFlower.eulerArrayOffset; - var imisc = pointFlower.miscArrayOffset; - for(var i = 0; i < pointFlower.numFlowers; i++) { - var prtcl = pointFlower.particles[i]; - pointFlower.dataArray[ipos] = prtcl.position[0]; - pointFlower.dataArray[ipos + 1] = prtcl.position[1]; - pointFlower.dataArray[ipos + 2] = prtcl.position[2]; - ipos += 3; - pointFlower.dataArray[ieuler] = prtcl.euler[0]; - pointFlower.dataArray[ieuler + 1] = prtcl.euler[1]; - pointFlower.dataArray[ieuler + 2] = prtcl.euler[2]; - ieuler += 3; - pointFlower.dataArray[imisc] = prtcl.size; - pointFlower.dataArray[imisc + 1] = prtcl.alpha; - imisc += 2; - } - - //draw - gl.enable(gl.BLEND); - //gl.disable(gl.DEPTH_TEST); - gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); - - var prog = pointFlower.program; - useShader(prog); - - gl.uniformMatrix4fv(prog.uniforms.uProjection, false, projection.matrix); - gl.uniformMatrix4fv(prog.uniforms.uModelview, false, camera.matrix); - gl.uniform3fv(prog.uniforms.uResolution, renderSpec.array); - gl.uniform3fv(prog.uniforms.uDOF, Vector3.arrayForm(camera.dof)); - gl.uniform3fv(prog.uniforms.uFade, Vector3.arrayForm(pointFlower.fader)); - - gl.bindBuffer(gl.ARRAY_BUFFER, pointFlower.buffer); - gl.bufferData(gl.ARRAY_BUFFER, pointFlower.dataArray, gl.DYNAMIC_DRAW); - - gl.vertexAttribPointer(prog.attributes.aPosition, 3, gl.FLOAT, false, 0, pointFlower.positionArrayOffset * Float32Array.BYTES_PER_ELEMENT); - gl.vertexAttribPointer(prog.attributes.aEuler, 3, gl.FLOAT, false, 0, pointFlower.eulerArrayOffset * Float32Array.BYTES_PER_ELEMENT); - gl.vertexAttribPointer(prog.attributes.aMisc, 2, gl.FLOAT, false, 0, pointFlower.miscArrayOffset * Float32Array.BYTES_PER_ELEMENT); - - // doubler - for(var i = 1; i < 2; i++) { - var zpos = i * -2.0; - pointFlower.offset[0] = pointFlower.area.x * -1.0; - pointFlower.offset[1] = pointFlower.area.y * -1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - pointFlower.offset[0] = pointFlower.area.x * -1.0; - pointFlower.offset[1] = pointFlower.area.y * 1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - pointFlower.offset[0] = pointFlower.area.x * 1.0; - pointFlower.offset[1] = pointFlower.area.y * -1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - pointFlower.offset[0] = pointFlower.area.x * 1.0; - pointFlower.offset[1] = pointFlower.area.y * 1.0; - pointFlower.offset[2] = pointFlower.area.z * zpos; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - } - - //main - pointFlower.offset[0] = 0.0; - pointFlower.offset[1] = 0.0; - pointFlower.offset[2] = 0.0; - gl.uniform3fv(prog.uniforms.uOffset, pointFlower.offset); - gl.drawArrays(gl.POINT, 0, pointFlower.numFlowers); - - gl.bindBuffer(gl.ARRAY_BUFFER, null); - unuseShader(prog); - - gl.enable(gl.DEPTH_TEST); - gl.disable(gl.BLEND); -} - -// effects -//common util -function createEffectProgram(vtxsrc, frgsrc, exunifs, exattrs) { - var ret = {}; - var unifs = ['uResolution', 'uSrc', 'uDelta']; - if(exunifs) { - unifs = unifs.concat(exunifs); - } - var attrs = ['aPosition']; - if(exattrs) { - attrs = attrs.concat(exattrs); - } - - ret.program = createShader(vtxsrc, frgsrc, unifs, attrs); - useShader(ret.program); - - ret.dataArray = new Float32Array([ - -1.0, -1.0, - 1.0, -1.0, - -1.0, 1.0, - 1.0, 1.0 - ]); - ret.buffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, ret.buffer); - gl.bufferData(gl.ARRAY_BUFFER, ret.dataArray, gl.STATIC_DRAW); - - gl.bindBuffer(gl.ARRAY_BUFFER, null); - unuseShader(ret.program); - - return ret; -} - -// basic usage -// useEffect(prog, srctex({'texture':texid, 'dtxArray':(f32)[dtx, dty]})); //basic initialize -// gl.uniform**(...); //additional uniforms -// drawEffect() -// unuseEffect(prog) -// TEXTURE0 makes src -function useEffect(fxobj, srctex) { - var prog = fxobj.program; - useShader(prog); - gl.uniform3fv(prog.uniforms.uResolution, renderSpec.array); - - if(srctex != null) { - gl.uniform2fv(prog.uniforms.uDelta, srctex.dtxArray); - gl.uniform1i(prog.uniforms.uSrc, 0); - - gl.activeTexture(gl.TEXTURE0); - gl.bindTexture(gl.TEXTURE_2D, srctex.texture); - } -} -function drawEffect(fxobj) { - gl.bindBuffer(gl.ARRAY_BUFFER, fxobj.buffer); - gl.vertexAttribPointer(fxobj.program.attributes.aPosition, 2, gl.FLOAT, false, 0, 0); - gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4); -} -function unuseEffect(fxobj) { - unuseShader(fxobj.program); -} - -var effectLib = {}; -function createEffectLib() { - - var vtxsrc, frgsrc; - //common - var cmnvtxsrc = document.getElementById("fx_common_vsh").textContent; - - //background - frgsrc = document.getElementById("bg_fsh").textContent; - effectLib.sceneBg = createEffectProgram(cmnvtxsrc, frgsrc, ['uTimes'], null); - - // make brightpixels buffer - frgsrc = document.getElementById("fx_brightbuf_fsh").textContent; - effectLib.mkBrightBuf = createEffectProgram(cmnvtxsrc, frgsrc, null, null); - - // direction blur - frgsrc = document.getElementById("fx_dirblur_r4_fsh").textContent; - effectLib.dirBlur = createEffectProgram(cmnvtxsrc, frgsrc, ['uBlurDir'], null); - - //final composite - vtxsrc = document.getElementById("pp_final_vsh").textContent; - frgsrc = document.getElementById("pp_final_fsh").textContent; - effectLib.finalComp = createEffectProgram(vtxsrc, frgsrc, ['uBloom'], null); -} - -// background -function createBackground() { - //console.log("create background"); -} -function initBackground() { - //console.log("init background"); -} -function renderBackground() { - gl.disable(gl.DEPTH_TEST); - - useEffect(effectLib.sceneBg, null); - gl.uniform2f(effectLib.sceneBg.program.uniforms.uTimes, timeInfo.elapsed, timeInfo.delta); - drawEffect(effectLib.sceneBg); - unuseEffect(effectLib.sceneBg); - - gl.enable(gl.DEPTH_TEST); -} - -// post process -var postProcess = {}; -function createPostProcess() { - //console.log("create post process"); -} -function initPostProcess() { - //console.log("init post process"); -} - -function renderPostProcess() { - gl.enable(gl.TEXTURE_2D); - gl.disable(gl.DEPTH_TEST); - var bindRT = function (rt, isclear) { - gl.bindFramebuffer(gl.FRAMEBUFFER, rt.frameBuffer); - gl.viewport(0, 0, rt.width, rt.height); - if(isclear) { - gl.clearColor(0, 0, 0, 0); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - } - }; - - //make bright buff - bindRT(renderSpec.wHalfRT0, true); - useEffect(effectLib.mkBrightBuf, renderSpec.mainRT); - drawEffect(effectLib.mkBrightBuf); - unuseEffect(effectLib.mkBrightBuf); - - // make bloom - for(var i = 0; i < 2; i++) { - var p = 1.5 + 1 * i; - var s = 2.0 + 1 * i; - bindRT(renderSpec.wHalfRT1, true); - useEffect(effectLib.dirBlur, renderSpec.wHalfRT0); - gl.uniform4f(effectLib.dirBlur.program.uniforms.uBlurDir, p, 0.0, s, 0.0); - drawEffect(effectLib.dirBlur); - unuseEffect(effectLib.dirBlur); - - bindRT(renderSpec.wHalfRT0, true); - useEffect(effectLib.dirBlur, renderSpec.wHalfRT1); - gl.uniform4f(effectLib.dirBlur.program.uniforms.uBlurDir, 0.0, p, 0.0, s); - drawEffect(effectLib.dirBlur); - unuseEffect(effectLib.dirBlur); - } - - //display - gl.bindFramebuffer(gl.FRAMEBUFFER, null); - gl.viewport(0, 0, renderSpec.width, renderSpec.height); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - - useEffect(effectLib.finalComp, renderSpec.mainRT); - gl.uniform1i(effectLib.finalComp.program.uniforms.uBloom, 1); - gl.activeTexture(gl.TEXTURE1); - gl.bindTexture(gl.TEXTURE_2D, renderSpec.wHalfRT0.texture); - drawEffect(effectLib.finalComp); - unuseEffect(effectLib.finalComp); - - gl.enable(gl.DEPTH_TEST); -} - -///// -var SceneEnv = {}; -function createScene() { - createEffectLib(); - createBackground(); - createPointFlowers(); - createPostProcess(); - sceneStandBy = true; -} - -function initScene() { - initBackground(); - initPointFlowers(); - initPostProcess(); - - //camera.position.z = 17.320508; - camera.position.z = pointFlower.area.z + projection.nearfar[0]; - projection.angle = Math.atan2(pointFlower.area.y, camera.position.z + pointFlower.area.z) * 180.0 / Math.PI * 2.0; - Matrix44.loadProjection(projection.matrix, renderSpec.aspect, projection.angle, projection.nearfar[0], projection.nearfar[1]); -} - -function renderScene() { - //draw - Matrix44.loadLookAt(camera.matrix, camera.position, camera.lookat, camera.up); - - gl.enable(gl.DEPTH_TEST); - - //gl.bindFramebuffer(gl.FRAMEBUFFER, null); - gl.bindFramebuffer(gl.FRAMEBUFFER, renderSpec.mainRT.frameBuffer); - gl.viewport(0, 0, renderSpec.mainRT.width, renderSpec.mainRT.height); - gl.clearColor(0.005, 0, 0.05, 0); - gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - - renderBackground(); - renderPointFlowers(); - renderPostProcess(); -} - -///// -function onResize(e) { - makeCanvasFullScreen(document.getElementById("sakura")); - setViewports(); - if(sceneStandBy) { - initScene(); - } -} - -function setViewports() { - renderSpec.setSize(gl.canvas.width, gl.canvas.height); - - gl.clearColor(0.2, 0.2, 0.5, 1.0); - gl.viewport(0, 0, renderSpec.width, renderSpec.height); - - var rtfunc = function (rtname, rtw, rth) { - var rt = renderSpec[rtname]; - if(rt) deleteRenderTarget(rt); - renderSpec[rtname] = createRenderTarget(rtw, rth); - }; - rtfunc('mainRT', renderSpec.width, renderSpec.height); - rtfunc('wFullRT0', renderSpec.width, renderSpec.height); - rtfunc('wFullRT1', renderSpec.width, renderSpec.height); - rtfunc('wHalfRT0', renderSpec.halfWidth, renderSpec.halfHeight); - rtfunc('wHalfRT1', renderSpec.halfWidth, renderSpec.halfHeight); -} - -function render() { - renderScene(); -} - -var animating = true; -function toggleAnimation(elm) { - animating ^= true; - if(animating) animate(); - if(elm) { - elm.innerHTML = animating? "Stop":"Start"; - } -} - -function stepAnimation() { - if(!animating) animate(); -} - -function animate() { - var curdate = new Date(); - timeInfo.elapsed = (curdate - timeInfo.start) / 1000.0; - timeInfo.delta = (curdate - timeInfo.prev) / 1000.0; - timeInfo.prev = curdate; - - if(animating) requestAnimationFrame(animate); - render(); -} - -function makeCanvasFullScreen(canvas) { - var b = document.body; - var d = document.documentElement; - fullw = Math.max(b.clientWidth , b.scrollWidth, d.scrollWidth, d.clientWidth); - fullh = Math.max(b.clientHeight , b.scrollHeight, d.scrollHeight, d.clientHeight); - canvas.width = fullw; - canvas.height = fullh; -} - -window.addEventListener('load', function(e) { - var canvas = document.getElementById("sakura"); - try { - makeCanvasFullScreen(canvas); - gl = canvas.getContext('experimental-webgl'); - } catch(e) { - alert("WebGL not supported." + e); - console.error(e); - return; - } - - window.addEventListener('resize', onResize); - - setViewports(); - createScene(); - initScene(); - - timeInfo.start = new Date(); - timeInfo.prev = timeInfo.start; - animate(); -}); - -//set window.requestAnimationFrame -(function (w, r) { - w['r'+r] = w['r'+r] || w['webkitR'+r] || w['mozR'+r] || w['msR'+r] || w['oR'+r] || function(c){ w.setTimeout(c, 1000 / 60); }; -})(window, 'equestAnimationFrame'); \ No newline at end of file