v0.1
After Width: | Height: | Size: 63 MiB |
After Width: | Height: | Size: 589 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 364 KiB |
|
@ -0,0 +1,3 @@
|
|||
import httpx
|
||||
|
||||
httpx.post("http://127.0.0.1:9999", data='[{"capacity":1,"decisions":[{"duration":"24h","origin":"crowdsec","scenario":"crowdsecurity/http-bad-user-agent","scope":"Ip","type":"ban","value":"208.127.89.241"}],"events":[{"meta":[{"key":"ASNNumber","value":"19817"},{"key":"ASNOrg","value":"DSL Extreme"},{"key":"IsInEU","value":"false"},{"key":"IsoCode","value":"US"},{"key":"SourceRange","value":"208.127.0.0/16"},{"key":"datasource_path","value":"/var/log/nginx/access.log"},{"key":"datasource_type","value":"file"},{"key":"http_path","value":"/"},{"key":"http_status","value":"200"},{"key":"http_user_agent","value":"Nmap"},{"key":"http_verb","value":"GET"},{"key":"log_type","value":"http_access-log"},{"key":"service","value":"http"},{"key":"source_ip","value":"208.127.89.241"},{"key":"timestamp","value":"2022-08-07T13:33:42Z"}],"timestamp":"2022-08-07T13:33:42Z"},{"meta":[{"key":"ASNNumber","value":"19817"},{"key":"ASNOrg","value":"DSL Extreme"},{"key":"IsInEU","value":"false"},{"key":"IsoCode","value":"US"},{"key":"SourceRange","value":"208.127.0.0/16"},{"key":"datasource_path","value":"/var/log/nginx/access.log"},{"key":"datasource_type","value":"file"},{"key":"http_path","value":"/"},{"key":"http_status","value":"200"},{"key":"http_user_agent","value":"Nmap"},{"key":"http_verb","value":"GET"},{"key":"log_type","value":"http_access-log"},{"key":"service","value":"http"},{"key":"source_ip","value":"208.127.89.241"},{"key":"timestamp","value":"2022-08-07T13:33:42Z"}],"timestamp":"2022-08-07T13:33:42Z"}],"events_count":2,"labels":null,"leakspeed":"1m0s","machine_id":"cdc028b6ed9949249b893deb59b3b0acMt6eX9sLpNW0HLmG","message":"Ip 208.127.89.241 performed \'crowdsecurity/http-bad-user-agent\' (2 events over 24.646533ms) at 2022-08-07 13:33:42.761890255 +0000 UTC","remediation":true,"scenario":"crowdsecurity/http-bad-user-agent","scenario_hash":"51360ad64c9672e5d3ba9c1786e6fc380c8752871a977a5dddac0d08551aa66a","scenario_version":"0.7","simulated":false,"source":{"as_name":"DSL Extreme","as_number":"19817","cn":"US","ip":"208.127.89.241","latitude":33.9571,"longitude":-118.4041,"range":"208.127.0.0/16","scope":"Ip","value":"208.127.89.241"},"start_at":"2022-08-07T13:33:42.737244995Z","stop_at":"2022-08-07T13:33:42.761891528Z"}]')
|
|
@ -0,0 +1,14 @@
|
|||
module nostalgia
|
||||
|
||||
go 1.17
|
||||
|
||||
require (
|
||||
github.com/gorilla/mux v1.8.0
|
||||
github.com/gorilla/websocket v1.5.0
|
||||
github.com/oschwald/geoip2-golang v1.8.0
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/oschwald/maxminddb-golang v1.10.0 // indirect
|
||||
golang.org/x/sys v0.0.0-20220804214406-8e32c043e418 // indirect
|
||||
)
|
|
@ -0,0 +1,25 @@
|
|||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
|
||||
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
|
||||
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
|
||||
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/oschwald/geoip2-golang v1.8.0 h1:KfjYB8ojCEn/QLqsDU0AzrJ3R5Qa9vFlx3z6SLNcKTs=
|
||||
github.com/oschwald/geoip2-golang v1.8.0/go.mod h1:R7bRvYjOeaoenAp9sKRS8GX5bJWcZ0laWO5+DauEktw=
|
||||
github.com/oschwald/maxminddb-golang v1.10.0 h1:Xp1u0ZhqkSuopaKmk1WwHtjF0H9Hd9181uj2MQ5Vndg=
|
||||
github.com/oschwald/maxminddb-golang v1.10.0/go.mod h1:Y2ELenReaLAZ0b400URyGwvYxHV1dLIxBuyOsyYjHK0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.3/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
golang.org/x/sys v0.0.0-20220804214406-8e32c043e418 h1:9vYwv7OjYaky/tlAeD7C4oC9EsPTlaFl1H2jS++V+ME=
|
||||
golang.org/x/sys v0.0.0-20220804214406-8e32c043e418/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
|
@ -0,0 +1,61 @@
|
|||
# 实时网络攻击地图 #
|
||||
|
||||
Realtime Attack Trackers
|
||||
|
||||
## Norse - IPViking Map 源码改进与解析 ##
|
||||
|
||||
Demo截图
|
||||
|
||||
![](doc/全球网络攻击截图.png)
|
||||
|
||||
Websocket实时通讯协议
|
||||
|
||||
Browser设置示例:
|
||||
|
||||
wsHost: "ws://64.19.78.244:443/", //WebSocket API主机
|
||||
psk: "18c989796c61724d4661b019f2779848dd69ae62", //Sec-WebSocket-Key
|
||||
|
||||
![](doc/实时通讯协议.png)
|
||||
|
||||
Server推送数据示例:
|
||||
|
||||
{
|
||||
"latitude": "30.58", //源纬度
|
||||
"longitude": "114.27", //源经度
|
||||
"countrycode": "CN", //源国家地区编码,参见 country-codes.csv
|
||||
"country": "CN", //源国家,参见 country-codes.csv
|
||||
"city": "Wuhan", //源城市
|
||||
"org": "CHINANET HUBEI PROVINCE NETWORK", //源组织
|
||||
"latitude2": "38.62", //目标纬度
|
||||
"longitude2": "-90.35", //目标经度
|
||||
"countrycode2": "US", //目标国家地区编码,参见 country-codes.csv
|
||||
"country2": "US", //目标国家,参见 country-codes.csv
|
||||
"city2": "Saint Louis", //目标城市
|
||||
"type": "ipviking.honey", //仅标识地图类型,参见 [HoneyMap]("http://map.honeynet.org/")
|
||||
"md5": "221.235.189.244", //源IP地址
|
||||
"dport": "22", //攻击的端口,参见port-names.tsv
|
||||
"svc": "ssh", //攻击类型(服务)名称,参见port-names.tsv
|
||||
"zerg": "rush" //?
|
||||
}
|
||||
|
||||
|
||||
![](doc/实时通讯响应数据.png)
|
||||
|
||||
|
||||
## 参考 ##
|
||||
|
||||
|
||||
1. [http://map.norsecorp.com/](http://map.norsecorp.com/)
|
||||
|
||||
2. [http://map.ipviking.com/](http://map.ipviking.com/)
|
||||
|
||||
3. [Norse](http://www.norse-corp.com/): 实时、清晰地清晰地了解全球网络攻击
|
||||
|
||||
4. [Norse 博客](http://blog.norsecorp.com/)
|
||||
|
||||
5. [HoneyMap](http://map.honeynet.org/)
|
||||
|
||||
6. [Who’s Attacking Whom? Realtime Attack Trackers](http://krebsonsecurity.com/2015/01/whos-attacking-whom-realtime-attack-trackers/)
|
||||
|
||||
7. [Faux-3D Arcs](http://bl.ocks.org/dwtkns/4973620)
|
||||
|
|
@ -0,0 +1,256 @@
|
|||
euname,modified,linked_country,iso3,iso2,grc,isonum,country,imperitive
|
||||
,,Georgia,,,ABK,,阿布哈兹事实上的;货币 ,De Facto; Currency
|
||||
AFGHANISTAN,,,AFG,AF,AFG,4,阿富汗,
|
||||
,Added 26th October 2010,Finland,ALA,AX,ALA,248,奥兰群岛,Postal
|
||||
Albania,,,ALB,AL,ALB,8,阿尔巴尼亚,
|
||||
ALGERIA,,,DZA,DZ,ALG,12,阿尔及利亚,
|
||||
,,United States of America,ASM,AS,AMS,16,美属萨摩亚,Geographical
|
||||
ANDORRA,,,AND,AD,AND,20,安道尔,
|
||||
ANGOLA,,,AGO,AO,ANG,24,安哥拉,
|
||||
,,United Kingdom,AIA,AI,ANU,660,安圭拉,Geographical; Postal; Currency; Telephone
|
||||
ANTIGUA AND BARBUDA,,,ATG,AG,ANT,28,安提瓜和巴布达,
|
||||
Argentina,,,ARG,AR,ARG,32,阿根廷,
|
||||
Armenia,,,ARM,AM,ARM,51,亚美尼亚,
|
||||
ARUBA,,Netherlands,ABW,AW,ARU,533,阿鲁巴,Geographical; Postal; Currency; Telephone
|
||||
Australia,,,AUS,AU,AST,36,澳大利亚,
|
||||
Austria,,,AUT,AT,AUS,40,奥地利,
|
||||
AZERBAIJAN,,,AZE,AZ,AZE,31,阿塞拜疆,
|
||||
BAHAMAS,,,BHS,BS,BAH,44,巴哈马,
|
||||
BAHRAIN,,,BHR,BH,BAR,48,巴林,
|
||||
BANGLADESH,,,BGD,BD,BAN,50,孟加拉国,
|
||||
Barbados,,,BRB,BB,BAB,52,巴巴多斯,
|
||||
BELARUS,,,BLR,BY,BEO,112,白俄罗斯,
|
||||
Belgium,,,BEL,BE,BEL,56,比利时,
|
||||
BELIZE,,,BLZ,BZ,BEI,84,伯利兹,
|
||||
Benin,,,BEN,BJ,BEN,204,贝宁,
|
||||
,,United Kingdom,BMU,BM,BER,60,百慕达,Geographical; Postal; Currency; Telephone
|
||||
BHUTAN,,,BTN,BT,BHU,64,不丹,
|
||||
BOLIVIA,,,BOL,BO,BOL,68,玻利维亚,
|
||||
,ISO codes added 28th Dec. 2010,Netherlands,BES,BQ,BON,535,博内尔岛,Geographical; Postal; Currency; Telephone
|
||||
Bosnia-Herzegovina,,,BIH,BA,BOS,70,波斯尼亚 - 黑塞哥维那,
|
||||
BOTSWANA,,,BWA,BW,BOT,72,博茨瓦纳,
|
||||
Brazil,,,BRA,BR,BRA,76,巴西,
|
||||
,,"United Kingdom, United States of America",IOT,IO,BIO,86,86,Geographical; Postal; Telephone
|
||||
British Virgin Islands,,United Kingdom,VGB,VG,BVI,92,英属维尔京群岛,Geographical; Postal; Currency; Telephone
|
||||
BRUNEI,,,BRN,BN,BRU,96,文莱达鲁萨兰国,
|
||||
Bulgaria,,,BGR,BG,BUL,100,保加利亚,
|
||||
BURKINA FASO,,,BFA,BF,BUK,854,布基纳法索,
|
||||
BURUNDI,,,BDI,BI,BUU,108,布隆迪,
|
||||
Cambodia,,,KHM,KH,CAM,116,柬埔寨,
|
||||
Cameroon,,,CMR,CM,CAE,120,喀麦隆,
|
||||
Canada,,,CAN,CA,CAN,124,加拿大,
|
||||
CAPE VERDE,,,CPV,CV,CAP,132,佛得角群岛,
|
||||
,,United Kingdom,CYM,KY,CAY,136,开曼群岛,Geographical; Postal; Currency; Telephone
|
||||
"CENTRAL AFRICAN, REPUBLIC",,,CAF,CF,CEN,140,中非共和国,
|
||||
Chad,,,TCD,TD,CHA,148,乍得,
|
||||
CHILE,,,CHL,CL,CHI,152,智利,
|
||||
CHINA,,,CHN,CN,CHN,156,中国(大陆),
|
||||
,,Australia,CXR,CX,CHR,162,圣诞岛,Geographical
|
||||
,,Australia,CCK,CC,COC,166,科科斯(基灵)群岛,Geographical
|
||||
Colombia,,,COL,CO,CLO,170,哥伦比亚,
|
||||
COMOROS,,,COM,KM,COM,174,科摩罗,
|
||||
CONGO,,,COG,CG,CNG,178,刚果(布),
|
||||
"CONGO, DEMOCRATIC REPUBLIC OF",,,ZAR,CD,ZAI,180,刚果(金),
|
||||
COOK ISLANDS,,New Zealand,COK,CK,COO,184,库克群岛,Geographical; Postal; Telephone
|
||||
Costa Rica,,,CRI,CR,COS,188,哥斯达黎加,
|
||||
Croatia,,,HRV,HR,CRO,191,克罗地亚,
|
||||
CUBA,,,CUB,CU,CUB,192,古巴,
|
||||
,ISO codes added 28th Dec. 2010,Netherlands,CUW,CW,CUR,531,库拉索岛,Geographical; Postal; Currency; Telephone
|
||||
Cyprus,,,CYP,CY,CYP,196,塞浦路斯,
|
||||
Czech Republic,,,CZE,CZ,CZE,203,捷克共和国,
|
||||
Denmark,,,DNK,DK,DEN,208,丹麦,
|
||||
DJIBOUTI,,,DJI,DJ,DJI,262,吉布提,
|
||||
DOMINIQUE,,,DMA,DM,DOI,212,多米尼加,
|
||||
Dominican Republic,,,DOM,DO,DOM,214,多明尼加共和国,
|
||||
EAST TIMOR,,,TLS,TL,ETI,626,东帝汶,
|
||||
Ecuador,,,ECU,EC,ECU,218,厄瓜多尔,
|
||||
EGYPT,,,EGY,EG,EGY,818,埃及,
|
||||
El Salvador,,,SLV,SV,ELS,222,萨尔瓦多,
|
||||
EQUATORIAL GUINEA,,,GNQ,GQ,EQA,226,赤道几内亚,
|
||||
ERITREA,,,ERI,ER,ERI,232,厄立特里亚,
|
||||
Estonia,,,EST,EE,EST,233,爱沙尼亚,
|
||||
ETHIOPIA,,,ETH,ET,ETH,231,埃塞俄比亚,
|
||||
FAROE ISLANDS,,,FRO,FO,FAE,234,法罗群岛,
|
||||
,,United Kingdom,FLK,FK,FAL,238,福克兰群岛,Geographical; Postal; Currency; Telephone
|
||||
FIJI,,,FJI,FJ,FIJ,242,斐济,
|
||||
Finland,,,FIN,FI,FIN,246,芬兰,
|
||||
France,,,FRA,FR,FRA,250,法国,
|
||||
FRENCH GUYANA,,France,GUF,GF,FGU,254,法属圭亚那,Geographical; Telephone
|
||||
FRENCH POLYNESIA,Corrected 13th November 2010,France,PYF,PF,FPO,258,法属波利尼西亚,Geographical; Currency; Telephone
|
||||
,,France,ATF,TF,FST,260,法国南方的领土,Geographical; Postal; Telephone
|
||||
GABON,,,GAB,GA,GAB,266,加蓬,
|
||||
GAMBIA,,,GMB,GM,GAM,270,冈比亚,
|
||||
GEORGIA,,,GEO,GE,GEO,268,格鲁吉亚,
|
||||
Germany,,,DEU,DE,GER,276,德国,
|
||||
Ghana,,,GHA,GH,GHA,288,加纳,
|
||||
GIBRALTAR,,United Kingdom,GIB,GI,GIB,292,直布罗陀,Geographical; Postal; Currency; Telephone
|
||||
Greece,,,GRC,GR,GRE,300,希腊,
|
||||
GREENLAND,,Denmark,GRL,GL,GRN,304,格陵兰岛,Geographical; Postal; Telephone
|
||||
GRENADA,,,GRD,GD,GRA,308,格林纳达,
|
||||
GUADELOUPE,,France,GLP,GP,GUD,312,瓜德罗普岛,Geographical; Postal; Telephone
|
||||
,,United States of America,GUM,GU,GUM,316,,Geographical
|
||||
Guatemala,,,GTM,GT,GUA,320,危地马拉,
|
||||
,,United Kingdom,GGY,GG,GUE,831,根西岛,Postal
|
||||
Guinea,,,GIN,GN,GUI,324,几内亚,
|
||||
GUINEA BISSAU,,,GNB,GW,GUB,624,几内亚比绍,
|
||||
GUYANA,,,GUY,GY,GUY,328,圭亚那,
|
||||
HAITI,,,HTI,HT,HAI,332,海地,
|
||||
HOLY SEE (VATICAN CITY STATE),,,VAT,VA,VAT,336,罗马教廷,
|
||||
Honduras,,,HND,HN,HON,340,洪都拉斯,
|
||||
Hong Kong,,China,HKG,HK,HOK,344,香港,Postal; Currency; Telephone
|
||||
Hungary,,,HUN,HU,HUN,348,匈牙利,
|
||||
Iceland,,,ISL,IS,ICE,352,冰岛,
|
||||
India,,,IND,IN,IND,356,印度,
|
||||
INDONESIA,,,IDN,ID,INO,360,印度尼西亚,
|
||||
"IRAN, ISLAMIC REPUBLIC OF",,,IRN,IR,IRA,364,伊朗,
|
||||
IRAQ,,,IRQ,IQ,IRQ,368,伊拉克,
|
||||
Ireland,,,IRL,IE,IRE,372,爱尔兰,
|
||||
,,United Kingdom,IMN,IM,ISL,833,马恩岛,Postal
|
||||
Israel,,,ISR,IL,ISR,376,以色列,
|
||||
Italy,,,ITA,IT,ITA,380,意大利,
|
||||
COTE D'IVOIRE,,,CIV,CI,IVO,384,象牙海岸,
|
||||
Jamaica,,,JAM,JM,JAM,388,牙买加,
|
||||
Japan,,,JPN,JP,JAP,392,日本,
|
||||
JERSEY,,United Kingdom,JEY,JE,JER,832,泽西岛,Postal
|
||||
JORDAN,,,JOR,JO,JOR,400,乔丹,
|
||||
KAZAKHSTAN,,,KAZ,KZ,KAZ,398,哈萨克斯坦,
|
||||
Kenya,,,KEN,KE,KEN,404,肯尼亚,
|
||||
KIRIBATI,,,KIR,KI,KII,296,基里巴斯,
|
||||
,,Serbia,,,KOS,,科索沃,Postal; Currency; Telephone
|
||||
KUWAIT,,,KWT,KW,KUW,414,科威特,
|
||||
KYRGYZSTAN,,,KGZ,KG,KIR,417,吉尔吉斯斯坦,
|
||||
"LAOS, PEOPLE'S DEMOCRATIC REPUBLIC",,,LAO,LA,LAO,418,老挝,
|
||||
Latvia,,,LVA,LV,LAT,428,拉脱维亚,
|
||||
LEBANON,,,LBN,LB,LEB,422,黎巴嫩,
|
||||
LESOTHO,,,LSO,LS,LES,426,莱索托,
|
||||
LIBERIA,,,LBR,LR,LIR,430,利比里亚,
|
||||
LIBYA,,,LBY,LY,LIB,434,利比亚,
|
||||
LIECHTENSTEIN,,,LIE,LI,LIE,438,列支敦士登,
|
||||
LITUANIA,,,LTU,LT,LIT,440,立陶宛,
|
||||
Luxembourg,,,LUX,LU,LUX,442,卢森堡,
|
||||
MACAO,,China,MAC,MO,MCA,446,澳门,Postal; Currency; Telephone
|
||||
"MACEDONIA, FORMER YUGOSLAV REPUBLIC OF",,,MKD,MK,MCE,807,807,
|
||||
MADAGASCAR,,,MDG,MG,MAD,450,马达加斯加,
|
||||
MALAWI,,,MWI,MW,MAW,454,马拉维,
|
||||
Malaysia,,,MYS,MY,MAA,458,马来西亚,
|
||||
MALDIVES,,,MDV,MV,MAV,462,马尔代夫,
|
||||
MALI,,,MLI,ML,MAI,466,马里,
|
||||
Malta,,,MLT,MT,MAL,470,马耳他,
|
||||
MARSHALL ISLANDS,,,MHL,MH,MAR,584,马绍尔群岛,
|
||||
MARTINIQUE,,France,MTQ,MQ,MAN,474,马提尼克岛,Geographical; Postal; Telephone
|
||||
Mauritania,,,MRT,MR,MAU,478,毛里塔尼亚,
|
||||
MAURITIUS,,,MUS,MU,MAT,480,毛里求斯,
|
||||
MAYOTTE,,France,MYT,YT,MAY,175,马约特岛,Geographical; Postal; Telephone
|
||||
Mexico,,,MEX,MX,MEX,484,墨西哥,
|
||||
"MICRONESIA, FEDERATED STATES OF",,,FSM,FM,MIC,583,密克罗尼西亚,
|
||||
"MOLDOVA, REPUBLIC OF",,,MDA,MD,MOL,498,摩尔多瓦,
|
||||
Monaco,,,MCO,MC,MON,492, ,
|
||||
MONGOLIA,,,MNG,MN,MOG,496,蒙古,
|
||||
Montenegro,,,MNE,ME,MOE,499,黑山,
|
||||
,,United Kingdom,MSR,MS,MOT,500,蒙特塞拉特,Geographical; Postal; Currency; Telephone
|
||||
Morocco,,,MAR,MA,MOR,504,摩洛哥,
|
||||
Mozambique,,,MOZ,MZ,MOZ,508,莫桑比克,
|
||||
Myanmar,,,MMR,MM,BUR,104,缅甸,
|
||||
,,Azerbaijan,,,NAG,,纳戈尔诺 - 卡拉巴赫的,De Facto
|
||||
NAMIBIA,,,NAM,NA,NAM,516,纳米比亚,
|
||||
NAURU,,,NRU,NR,NAU,520,瑙鲁,
|
||||
NEPAL,,,NPL,NP,NEP,524,尼泊尔,
|
||||
Netherlands Antilles,,,ANT,AN,NAN,530,荷属安的列斯,Legacy
|
||||
Netherlands,,,NLD,NL,NET,528,荷兰,
|
||||
NEW CALEDONIA,,France,NCL,NC,NCA,540,新喀里多尼亚,Geographical; Postal; Currency; Telephone
|
||||
NEW ZEALAND,,,NZL,NZ,NEW,554,新西兰,
|
||||
Nicaragua,,,NIC,NI,NIC,558,尼加拉瓜,
|
||||
Niger,,,NER,NE,NIE,562,尼日尔,
|
||||
Nigeria,,,NGA,NG,NIG,566,尼日利亚,
|
||||
NIUE,,,NIU,NU,NIU,570,纽埃,
|
||||
,,Australia,NFK,NF,NOF,574,诺福克岛,Geographical; Telephone
|
||||
"KOREA, PEOPLE'S DEMOCRATIC REPUBLIC OF",,,PRK,KP,NKO,408,北朝鲜,
|
||||
,,Cyprus,,,NCY,,北塞浦路斯,De Facto; Postal; Currency; Telephone
|
||||
,,United States of America,MNP,MP,NMI,580,北马里亚纳群岛,Geographical
|
||||
Norway,,,NOR,NO,NOR,578,挪威,
|
||||
OMAN,,,OMN,OM,OMA,512,阿曼,
|
||||
Pakistan,,,PAK,PK,PAK,586,巴基斯坦,
|
||||
PALAU,,,PLW,PW,PAL,585, ,
|
||||
PALESTINIAN OCCUPIED TERRITORY,,Israel,PSE,PS,PLA,275,巴勒斯坦领土,
|
||||
PANAMA,,,PAN,PA,PAN,591,巴拿马,
|
||||
PAPUA NEW GUINEA,,,PNG,PG,PAP,598,巴布亚新几内亚,
|
||||
PARAGUAY,,,PRY,PY,PAR,600,巴拉圭,
|
||||
PERU,,,PER,PE,PER,604,秘鲁,
|
||||
Philippines,,,PHL,PH,PHI,608,菲律宾,
|
||||
,,United Kingdom,PCN,PN,PIT,612,皮特凯恩群岛,Geographical; Postal; Currency; Telephone
|
||||
Poland,,,POL,PL,POL,616,波兰,
|
||||
Portugal,,,PRT,PT,POR,620,葡萄牙,
|
||||
PUERTO RICO,,United States,PRI,PR,PUE,630,波多黎各,Geographical
|
||||
,,Somalia,,,PUN,,邦特兰的,De Facto
|
||||
QATAR,,,QAT,QA,QAT,634,卡塔尔,
|
||||
Romania,,,ROU,RO,ROM,642,罗马尼亚,
|
||||
"RUSSIA, FEDERATION OF",,,RUS,RU,RUS,643,俄罗斯,
|
||||
RUANDA,,,RWA,RW,RWA,646,卢旺达,
|
||||
REUNION,,France,REU,RE,REU,638,留尼旺,Geographical; Postal; Currency; Telephone
|
||||
,ISO codes added 28th Dec. 2010,The Netherlands,BES,BQ,SAB,535,沙巴,Geographical; Postal; Currency; Telephone
|
||||
,,France,BLM,BL,STB,652,圣巴泰勒米,Geographical; Postal; Currency; Telephone
|
||||
SAINT KITTS AND NEVIS,,,KNA,KN,STC,659,圣克里斯托弗和尼维斯,
|
||||
,,United Kingdom,SHN,SH,STH,654,圣赫勒拿岛,Geographical; Postal; Currency; Telephone
|
||||
SAINT LUCIA,,,LCA,LC,STL,662,圣卢西亚,
|
||||
,,France,MAF,MF,STM,663,圣马丁,Geographical; Postal; Currency; Telephone
|
||||
,,France,SPM,PM,SPM,666,圣皮埃尔和密克隆群岛,Geographical; Postal; Currency; Telephone
|
||||
SAINT VINCENT AND THE GRENADINES,,,VCT,VC,STV,670,圣文森特和格林纳丁斯,
|
||||
SAMOA,,,WSM,WS,WSM,882,萨摩亚,
|
||||
SAINT MARINO,,,SMR,SM,SAN,674,圣马力诺,
|
||||
SAO TOME AND PRINCIPE,,,STP,ST,SAO,678,圣多美和普林西比,
|
||||
SUADI ARABIA,,,SAU,SA,SAU,682,沙特阿拉伯,
|
||||
Senegal,,,SEN,SN,SEN,686,塞内加尔,
|
||||
Serbia,,,SRB,RS,YUG,688,塞尔维亚,
|
||||
SEYCHELLES,,,SYC,SC,SEY,690,塞舌尔,
|
||||
SIERRA LEONE,,,SLE,SL,SIE,694,塞拉利昂,
|
||||
SINGAPORE,,,SGP,SG,SIN,702,新加坡,
|
||||
,ISO codes added 28th Dec. 2010,The Netherlands,BES,BQ,STE,535,圣尤斯特歇斯,Geographical; Postal; Currency; Telephone
|
||||
,ISO codes added 28th Dec. 2010,The Netherlands,SXM,SX,SMA,534,圣马丁岛,Geographical; Postal; Currency; Telephone
|
||||
Slovakia,,,SVK,SK,SLO,703,斯洛伐克,
|
||||
Slovenia,,,SVN,SI,SLV,705,斯洛文尼亚,
|
||||
SOLOMON ISLANDS,,,SLB,SB,SOL,90,所罗门群岛,
|
||||
SOMALIA,,,SOM,SO,SOM,706,索马里,
|
||||
,,Somalia,SOM,SO,SOA,706,索马里兰的,De Facto
|
||||
South Africa,,,ZAF,ZA,SAF,710,南非,
|
||||
,,United Kingdom,SGS,GS,SGE,239,南乔治亚岛与南夹心群岛,Geographical; Postal; Currency; Telephone
|
||||
"KOREA, REPUBLIC OF",,,KOR,KR,SKO,418,418,
|
||||
,,Georgia,,,SOS,,南奥塞梯事实上的;货币 ,De Facto; Currency
|
||||
SOUTH SUDAN,Added 22nd February 2011. ISO codes added 18th August 2011.,,SSD,SS,SSU,,南苏丹,
|
||||
Spain,,,ESP,ES,SPA,724,西班牙,
|
||||
SRI LANKA,,,LKA,LK,SRI,144,斯里兰卡,
|
||||
Sudan,,,SDN,SD,SUD,736,苏丹,
|
||||
SURINAM,,,SUR,SR,SUR,740,苏里南,
|
||||
SWAZILAND,,,SWZ,SZ,SWA,748,斯威士兰,
|
||||
Sweden,,,SWE,SE,SWE,752,瑞典,
|
||||
Switzerland,,,CHE,CH,SWI,756,瑞士,
|
||||
"SYRIA, ARAB REPUBLIC",,,SYR,SY,SYR,760,叙利亚,
|
||||
TAIWAN,,China,TWN,TW,TAI,158,台湾,
|
||||
TAJIKISTAN,,,TJK,TJ,TAJ,762,塔吉克斯坦,
|
||||
"TANZANIA, UNITED RE UBLIC OF",,,TZA,TZ,TAN,834,坦桑尼亚,
|
||||
THAILAND,,,THA,TH,THA,764,泰国,
|
||||
TOGO,,,TGO,TG,TOG,768,多哥,
|
||||
,,New Zealand,TKL,TK,TOK,772,托克劳群岛,Geographical; Postal; Telephone
|
||||
TONGA,,,TON,TO,TON,776, ,
|
||||
,,Moldova,,,TRA,,德涅斯特的,De Facto
|
||||
TRINIDAD AND TOBAGO,,,TTO,TT,TRI,780,特立尼达和多巴哥,
|
||||
Tunisia,,,TUN,TN,TUN,788,突尼斯,
|
||||
Turkey,,,TUR,TR,TUR,792,土耳其,
|
||||
TURKMENISTAN,,,TKM,TM,TUK,795,土库曼斯坦,
|
||||
,,United Kingdom,TCA,TC,TUC,796,特克斯和凯科斯群岛,Geographical; Postal; Currency; Telephone
|
||||
TUVALU,,,TUV,TV,TUV,798,图瓦卢,
|
||||
Uganda,,,UGA,UG,UGA,800,乌干达,
|
||||
Ukraine,,,UKR,UA,UKR,804,乌克兰,
|
||||
United Arab Emirates,,,ARE,AE,UAE,784,阿拉伯联合酋长国,
|
||||
United Kingdom,,,GBR,GB,UNI,826,英国,
|
||||
United States,,,USA,US,USA,840,美国,
|
||||
US VIRGIN ISLANDS,,United States of America,VIR,VI,VIR,850,美属维尔京群岛,Geographical
|
||||
URUGUAY,,,URY,UY,URU,858,乌拉圭,
|
||||
UZBEKISTAN,,,UZB,UZ,UZB,860,乌兹别克斯坦,
|
||||
VANUATU,,,VUT,VU,VAN,548,瓦努阿图,
|
||||
VENEZUELA,,,VEN,VE,VEN,862,委内瑞拉,
|
||||
VIETNAM,,,VNM,VN,VIE,704,越南,
|
||||
,,France,WLF,WF,WAL,876,瓦利斯和富图纳群岛,Geographical; Postal; Currency; Telephone
|
||||
WESTERN SAHARA,,Morocco,ESH,EH,WSA,732,西撒哈拉,Political
|
||||
Yemen,,,YEM,YE,YEM,887,也门,
|
||||
ZAMBIA,,,ZMB,ZM,ZAM,894,赞比亚,
|
||||
ZIMBABWE,,,ZWE,ZW,ZIM,716,津巴布韦,
|
|
After Width: | Height: | Size: 674 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 222 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 21 KiB |
|
@ -0,0 +1,186 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>网络攻击地图</title>
|
||||
<link type="image/x-icon" rel="shortcut icon" href="https://avatars3.githubusercontent.com/u/4074517?v=3&s=40" />
|
||||
<link rel="stylesheet" type="text/css" href="./styles/ipviking.css">
|
||||
<link rel="stylesheet" type="text/css" href="./styles/flags.css">
|
||||
<link rel="stylesheet" type="text/css" href="./styles/fonts.css">
|
||||
</head>
|
||||
|
||||
<body class="f16">
|
||||
<div id="loading">
|
||||
<h1>loading...</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<!--
|
||||
<a href="http://map.e5195.com">
|
||||
<img id="logo" src="images/norse-white.png" alt="Norse Corp">
|
||||
</a>
|
||||
-->
|
||||
<div id="info"></div>
|
||||
|
||||
<div class="data box top-left gray-bg">
|
||||
<a href="#" class="toggle" data-target="#left-table-container">
|
||||
<div class="table-header">
|
||||
<h1>
|
||||
<span class="icon-open"></span>
|
||||
攻击源
|
||||
</h1>
|
||||
</div>
|
||||
</a>
|
||||
<div id="left-table-container" class="table-container">
|
||||
<table id="left-data">
|
||||
<colgroup>
|
||||
<col class="bar-col" span="1" />
|
||||
<col class="total-count" span="1" />
|
||||
<col class="data-label-small" span="1" />
|
||||
<col class="data-label" span="1" />
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th><span class="icon-number"></span></th>
|
||||
<th><span class="icon-country"></span></th>
|
||||
<th>国家</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="data box top-right gray-bg">
|
||||
<a href="#" class="toggle" data-target="#right-table-container">
|
||||
<div class="table-header">
|
||||
<h1>
|
||||
<span class="icon-open"></span>
|
||||
攻击目标 </h1>
|
||||
</div>
|
||||
</a>
|
||||
<div id="right-table-container" class="table-container">
|
||||
<table id="right-data">
|
||||
<colgroup>
|
||||
<col class="bar-col" span="1">
|
||||
<col class="total-count" span="1">
|
||||
<col class="data-label-small" span="1">
|
||||
<col class="data-label" span="1">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th><span class="icon-number"></span></th>
|
||||
<th class="flag-col"><span class="icon-country"></span></th>
|
||||
<th>国家</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="data bottom-right box gray-bg">
|
||||
<a href="#" class="toggle" data-target="#bottom-right-table-container">
|
||||
<div class="table-header">
|
||||
<h1 class="table-header">
|
||||
<span class="icon-open"></span>
|
||||
攻击类型
|
||||
</h1>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div id="bottom-right-table-container">
|
||||
<table id="bottom-right-data">
|
||||
<colgroup>
|
||||
<col class="bar-col" span="1">
|
||||
<col class="total-count" span="1">
|
||||
<col class="data-label-small" span="1">
|
||||
<col class="data-label" span="1">
|
||||
<col class="port-label" span="1">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th><span class="icon-number"></span></th>
|
||||
<th><span class="icon-threattype"></span></th>
|
||||
<th>服务</th>
|
||||
<th>端口</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="console" class="box gray-bg">
|
||||
<a href="#" class="toggle" data-target="#console-table-container">
|
||||
<div class="table-header">
|
||||
<h1 class="table-header">
|
||||
<span class="icon-open"></span>
|
||||
攻击列表
|
||||
</h1>
|
||||
</div>
|
||||
</a>
|
||||
<div id="console-table-container">
|
||||
<table id="events-data">
|
||||
<colgroup class="second-level">
|
||||
<col class="timestamp-col" span="1">
|
||||
<col class="attacker-org-col left-border" span="1">
|
||||
<col class="location-col" span="1">
|
||||
<col class="attacker-ip-col" span="1">
|
||||
<col class="location-col left-border" span="1">
|
||||
<col class="service-col left-border" span="1">
|
||||
<col class="port-col" span="1">
|
||||
</colgroup>
|
||||
|
||||
<tr class="first-level">
|
||||
<th></th>
|
||||
<th colspan="3" class="attacker">攻击者</th>
|
||||
<th class="target">被攻击者</th>
|
||||
<th colspan="2">攻击</th>
|
||||
</tr>
|
||||
|
||||
<tr class="second-level">
|
||||
<th>时间</th>
|
||||
<th>组织</th>
|
||||
<th>位置</th>
|
||||
<th>IP</th>
|
||||
<th>位置</th>
|
||||
<th>类型</th>
|
||||
<th>端口</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-controls">
|
||||
<div class="gray-bg information info-btn">
|
||||
<span class="info-text icon-info"></span>
|
||||
</div>
|
||||
<div data-paused="false" class="gray-bg controls">
|
||||
<span class="icon-pause play-pause"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="drawer">
|
||||
<!-- <div id="nav-bottom-corner"></div> -->
|
||||
<div id="drawer-content" class="blue-bg">
|
||||
<div id="drawer-inner">
|
||||
<div id="drawer-left">
|
||||
<div id="legend-container"></div>
|
||||
<footer></footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 提示消息 -->
|
||||
<div id="message-panel" class="data box">
|
||||
<div class="table-header gray-bg">
|
||||
<h3>Message Dialog</h3>
|
||||
</div>
|
||||
<div id="message-container" class="black-solid table-container">
|
||||
<span id="message-text"></span>
|
||||
<button id="close-button" class="gray-bg" onClick="hideMessage();">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="./scripts/d3.v3.min.js"></script>
|
||||
<script type="text/javascript" src="./scripts/queue.v1.min.js"></script>
|
||||
<script type="text/javascript" src="./scripts/topojson.v1.min.js"></script>
|
||||
<!--<script type="text/javascript" src="http://map.ipviking.com/ipviking.js"></script>-->
|
||||
<script type="text/javascript" src="./scripts/ipviking.js"></script>
|
||||
<script type="text/javascript" src="./scripts/presentations.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
{"name":"tingge.github.io","tagline":"","body":"# tingge.github.io\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
|
|
@ -0,0 +1,16 @@
|
|||
;"use strict";
|
||||
(function(IPViking) {
|
||||
// Toggle table size settings
|
||||
var state = false;
|
||||
var states = [{topTableRows: 16, portTableRows: 15, consoleTableRows: 16},
|
||||
{topTableRows: 10, portTableRows: 8, consoleTableRows: 8}];
|
||||
d3.select("body").on("keydown", function() {
|
||||
d3.event.preventDefault;
|
||||
if (d3.event.keyCode == 83) {
|
||||
for (var setting in states[state + 0]) {
|
||||
IPViking.settings[setting] = states[state + 0][setting];
|
||||
}
|
||||
state = !state;
|
||||
}
|
||||
});
|
||||
})(window.IPViking);
|
|
@ -0,0 +1 @@
|
|||
!function(){function n(n){function e(){for(;i=a<c.length&&n>p;){var u=a++,e=c[u],o=t.call(e,1);o.push(l(u)),++p,e[0].apply(null,o)}}function l(n){return function(u,t){--p,null==s&&(null!=u?(s=u,a=d=0/0,o()):(c[n]=t,--d?i||e():o()))}}function o(){null!=s?m(s):f?m(s,c):m.apply(null,[s].concat(c))}var r,i,f,c=[],a=0,p=0,d=0,s=null,m=u;return n||(n=1/0),r={defer:function(){return s||(c.push(arguments),++d,e()),r},await:function(n){return m=n,f=!1,d||o(),r},awaitAll:function(n){return m=n,f=!0,d||o(),r}}}function u(){}var t=[].slice;n.version="1.0.7","function"==typeof define&&define.amd?define(function(){return n}):"object"==typeof module&&module.exports?module.exports=n:this.queue=n}();
|
|
@ -0,0 +1,249 @@
|
|||
.f16 .flag{display:inline-block;height:16px;width:16px;vertical-align:text-top;line-height:16px;background:url(../images/flags/flags16.png) no-repeat;}
|
||||
.f16 ._African_Union{background-position:0 -16px;}
|
||||
.f16 ._Arab_League{background-position:0 -32px;}
|
||||
.f16 ._ASEAN{background-position:0 -48px;}
|
||||
.f16 ._CARICOM{background-position:0 -64px;}
|
||||
.f16 ._CIS{background-position:0 -80px;}
|
||||
.f16 ._Commonwealth{background-position:0 -96px;}
|
||||
.f16 ._England{background-position:0 -112px;}
|
||||
.f16 ._European_Union, .f16 .eu{background-position:0 -128px;}
|
||||
.f16 ._Islamic_Conference{background-position:0 -144px;}
|
||||
.f16 ._Kosovo{background-position:0 -160px;}
|
||||
.f16 ._NATO{background-position:0 -176px;}
|
||||
.f16 ._Northern_Cyprus{background-position:0 -192px;}
|
||||
.f16 ._Northern_Ireland{background-position:0 -208px;}
|
||||
.f16 ._Olimpic_Movement{background-position:0 -224px;}
|
||||
.f16 ._OPEC{background-position:0 -240px;}
|
||||
.f16 ._Red_Cross{background-position:0 -256px;}
|
||||
.f16 ._Scotland{background-position:0 -272px;}
|
||||
.f16 ._Somaliland{background-position:0 -288px;}
|
||||
.f16 ._Tibet{background-position:0 -304px;}
|
||||
.f16 ._United_Nations{background-position:0 -320px;}
|
||||
.f16 ._Wales{background-position:0 -336px;}
|
||||
.f16 .ad{background-position:0 -352px;}
|
||||
.f16 .ae{background-position:0 -368px;}
|
||||
.f16 .af{background-position:0 -384px;}
|
||||
.f16 .ag{background-position:0 -400px;}
|
||||
.f16 .ai{background-position:0 -416px;}
|
||||
.f16 .al{background-position:0 -432px;}
|
||||
.f16 .am{background-position:0 -448px;}
|
||||
.f16 .ao{background-position:0 -464px;}
|
||||
.f16 .aq{background-position:0 -480px;}
|
||||
.f16 .ar{background-position:0 -496px;}
|
||||
.f16 .as{background-position:0 -512px;}
|
||||
.f16 .at{background-position:0 -528px;}
|
||||
.f16 .au{background-position:0 -544px;}
|
||||
.f16 .aw{background-position:0 -560px;}
|
||||
.f16 .ax{background-position:0 -576px;}
|
||||
.f16 .az{background-position:0 -592px;}
|
||||
.f16 .ba{background-position:0 -608px;}
|
||||
.f16 .bb{background-position:0 -624px;}
|
||||
.f16 .bd{background-position:0 -640px;}
|
||||
.f16 .be{background-position:0 -656px;}
|
||||
.f16 .bf{background-position:0 -672px;}
|
||||
.f16 .bg{background-position:0 -688px;}
|
||||
.f16 .bh{background-position:0 -704px;}
|
||||
.f16 .bi{background-position:0 -720px;}
|
||||
.f16 .bj{background-position:0 -736px;}
|
||||
.f16 .bm{background-position:0 -752px;}
|
||||
.f16 .bn{background-position:0 -768px;}
|
||||
.f16 .bo{background-position:0 -784px;}
|
||||
.f16 .br{background-position:0 -800px;}
|
||||
.f16 .bs{background-position:0 -816px;}
|
||||
.f16 .bt{background-position:0 -832px;}
|
||||
.f16 .bw{background-position:0 -848px;}
|
||||
.f16 .by{background-position:0 -864px;}
|
||||
.f16 .bz{background-position:0 -880px;}
|
||||
.f16 .ca{background-position:0 -896px;}
|
||||
.f16 .cg{background-position:0 -912px;}
|
||||
.f16 .cf{background-position:0 -928px;}
|
||||
.f16 .cd{background-position:0 -944px;}
|
||||
.f16 .ch{background-position:0 -960px;}
|
||||
.f16 .ci{background-position:0 -976px;}
|
||||
.f16 .ck{background-position:0 -992px;}
|
||||
.f16 .cl{background-position:0 -1008px;}
|
||||
.f16 .cm{background-position:0 -1024px;}
|
||||
.f16 .cn{background-position:0 -1040px;}
|
||||
.f16 .co{background-position:0 -1056px;}
|
||||
.f16 .cr{background-position:0 -1072px;}
|
||||
.f16 .cu{background-position:0 -1088px;}
|
||||
.f16 .cv{background-position:0 -1104px;}
|
||||
.f16 .cy{background-position:0 -1120px;}
|
||||
.f16 .cz{background-position:0 -1136px;}
|
||||
.f16 .de{background-position:0 -1152px;}
|
||||
.f16 .dj{background-position:0 -1168px;}
|
||||
.f16 .dk{background-position:0 -1184px;}
|
||||
.f16 .dm{background-position:0 -1200px;}
|
||||
.f16 .do{background-position:0 -1216px;}
|
||||
.f16 .dz{background-position:0 -1232px;}
|
||||
.f16 .ec{background-position:0 -1248px;}
|
||||
.f16 .ee{background-position:0 -1264px;}
|
||||
.f16 .eg{background-position:0 -1280px;}
|
||||
.f16 .eh{background-position:0 -1296px;}
|
||||
.f16 .er{background-position:0 -1312px;}
|
||||
.f16 .es{background-position:0 -1328px;}
|
||||
.f16 .et{background-position:0 -1344px;}
|
||||
.f16 .fi{background-position:0 -1360px;}
|
||||
.f16 .fj{background-position:0 -1376px;}
|
||||
.f16 .fm{background-position:0 -1392px;}
|
||||
.f16 .fo{background-position:0 -1408px;}
|
||||
.f16 .fr{background-position:0 -1424px;} .f16 .bl, .f16 .cp, .f16 .mf, .f16 .yt{background-position:0 -1424px;}
|
||||
.f16 .ga{background-position:0 -1440px;}
|
||||
.f16 .gb{background-position:0 -1456px;} .f16 .sh{background-position:0 -1456px;}
|
||||
.f16 .gd{background-position:0 -1472px;}
|
||||
.f16 .ge{background-position:0 -1488px;}
|
||||
.f16 .gg{background-position:0 -1504px;}
|
||||
.f16 .gh{background-position:0 -1520px;}
|
||||
.f16 .gi{background-position:0 -1536px;}
|
||||
.f16 .gl{background-position:0 -1552px;}
|
||||
.f16 .gm{background-position:0 -1568px;}
|
||||
.f16 .gn{background-position:0 -1584px;}
|
||||
.f16 .gp{background-position:0 -1600px;}
|
||||
.f16 .gq{background-position:0 -1616px;}
|
||||
.f16 .gr{background-position:0 -1632px;}
|
||||
.f16 .gt{background-position:0 -1648px;}
|
||||
.f16 .gu{background-position:0 -1664px;}
|
||||
.f16 .gw{background-position:0 -1680px;}
|
||||
.f16 .gy{background-position:0 -1696px;}
|
||||
.f16 .hk{background-position:0 -1712px;}
|
||||
.f16 .hn{background-position:0 -1728px;}
|
||||
.f16 .hr{background-position:0 -1744px;}
|
||||
.f16 .ht{background-position:0 -1760px;}
|
||||
.f16 .hu{background-position:0 -1776px;}
|
||||
.f16 .id{background-position:0 -1792px;}
|
||||
.f16 .mc{background-position:0 -1792px;}
|
||||
.f16 .ie{background-position:0 -1808px;}
|
||||
.f16 .il{background-position:0 -1824px;}
|
||||
.f16 .im{background-position:0 -1840px;}
|
||||
.f16 .in{background-position:0 -1856px;}
|
||||
.f16 .iq{background-position:0 -1872px;}
|
||||
.f16 .ir{background-position:0 -1888px;}
|
||||
.f16 .is{background-position:0 -1904px;}
|
||||
.f16 .it{background-position:0 -1920px;}
|
||||
.f16 .je{background-position:0 -1936px;}
|
||||
.f16 .jm{background-position:0 -1952px;}
|
||||
.f16 .jo{background-position:0 -1968px;}
|
||||
.f16 .jp{background-position:0 -1984px;}
|
||||
.f16 .ke{background-position:0 -2000px;}
|
||||
.f16 .kg{background-position:0 -2016px;}
|
||||
.f16 .kh{background-position:0 -2032px;}
|
||||
.f16 .ki{background-position:0 -2048px;}
|
||||
.f16 .km{background-position:0 -2064px;}
|
||||
.f16 .kn{background-position:0 -2080px;}
|
||||
.f16 .kp{background-position:0 -2096px;}
|
||||
.f16 .kr{background-position:0 -2112px;}
|
||||
.f16 .kw{background-position:0 -2128px;}
|
||||
.f16 .ky{background-position:0 -2144px;}
|
||||
.f16 .kz{background-position:0 -2160px;}
|
||||
.f16 .la{background-position:0 -2176px;}
|
||||
.f16 .lb{background-position:0 -2192px;}
|
||||
.f16 .lc{background-position:0 -2208px;}
|
||||
.f16 .li{background-position:0 -2224px;}
|
||||
.f16 .lk{background-position:0 -2240px;}
|
||||
.f16 .lr{background-position:0 -2256px;}
|
||||
.f16 .ls{background-position:0 -2272px;}
|
||||
.f16 .lt{background-position:0 -2288px;}
|
||||
.f16 .lu{background-position:0 -2304px;}
|
||||
.f16 .lv{background-position:0 -2320px;}
|
||||
.f16 .ly{background-position:0 -2336px;}
|
||||
.f16 .ma{background-position:0 -2352px;}
|
||||
.f16 .md{background-position:0 -2368px;}
|
||||
.f16 .me{background-position:0 -2384px;}
|
||||
.f16 .mg{background-position:0 -2400px;}
|
||||
.f16 .mh{background-position:0 -2416px;}
|
||||
.f16 .mk{background-position:0 -2432px;}
|
||||
.f16 .ml{background-position:0 -2448px;}
|
||||
.f16 .mm{background-position:0 -2464px;}
|
||||
.f16 .mn{background-position:0 -2480px;}
|
||||
.f16 .mo{background-position:0 -2496px;}
|
||||
.f16 .mq{background-position:0 -2512px;}
|
||||
.f16 .mr{background-position:0 -2528px;}
|
||||
.f16 .ms{background-position:0 -2544px;}
|
||||
.f16 .mt{background-position:0 -2560px;}
|
||||
.f16 .mu{background-position:0 -2576px;}
|
||||
.f16 .mv{background-position:0 -2592px;}
|
||||
.f16 .mw{background-position:0 -2608px;}
|
||||
.f16 .mx{background-position:0 -2624px;}
|
||||
.f16 .my{background-position:0 -2640px;}
|
||||
.f16 .mz{background-position:0 -2656px;}
|
||||
.f16 .na{background-position:0 -2672px;}
|
||||
.f16 .nc{background-position:0 -2688px;}
|
||||
.f16 .ne{background-position:0 -2704px;}
|
||||
.f16 .ng{background-position:0 -2720px;}
|
||||
.f16 .ni{background-position:0 -2736px;}
|
||||
.f16 .nl{background-position:0 -2752px;} .f16 .bq{background-position:0 -2752px;}
|
||||
.f16 .no{background-position:0 -2768px;} .f16 .bv, .f16 .nq, .f16 .sj{background-position:0 -2768px;}
|
||||
.f16 .np{background-position:0 -2784px;}
|
||||
.f16 .nr{background-position:0 -2800px;}
|
||||
.f16 .nz{background-position:0 -2816px;}
|
||||
.f16 .om{background-position:0 -2832px;}
|
||||
.f16 .pa{background-position:0 -2848px;}
|
||||
.f16 .pe{background-position:0 -2864px;}
|
||||
.f16 .pf{background-position:0 -2880px;}
|
||||
.f16 .pg{background-position:0 -2896px;}
|
||||
.f16 .ph{background-position:0 -2912px;}
|
||||
.f16 .pk{background-position:0 -2928px;}
|
||||
.f16 .pl{background-position:0 -2944px;}
|
||||
.f16 .pr{background-position:0 -2960px;}
|
||||
.f16 .ps{background-position:0 -2976px;}
|
||||
.f16 .pt{background-position:0 -2992px;}
|
||||
.f16 .pw{background-position:0 -3008px;}
|
||||
.f16 .py{background-position:0 -3024px;}
|
||||
.f16 .qa{background-position:0 -3040px;}
|
||||
.f16 .re{background-position:0 -3056px;}
|
||||
.f16 .ro{background-position:0 -3072px;}
|
||||
.f16 .rs{background-position:0 -3088px;}
|
||||
.f16 .ru{background-position:0 -3104px;}
|
||||
.f16 .rw{background-position:0 -3120px;}
|
||||
.f16 .sa{background-position:0 -3136px;}
|
||||
.f16 .sb{background-position:0 -3152px;}
|
||||
.f16 .sc{background-position:0 -3168px;}
|
||||
.f16 .sd{background-position:0 -3184px;}
|
||||
.f16 .se{background-position:0 -3200px;}
|
||||
.f16 .sg{background-position:0 -3216px;}
|
||||
.f16 .si{background-position:0 -3232px;}
|
||||
.f16 .sk{background-position:0 -3248px;}
|
||||
.f16 .sl{background-position:0 -3264px;}
|
||||
.f16 .sm{background-position:0 -3280px;}
|
||||
.f16 .sn{background-position:0 -3296px;}
|
||||
.f16 .so{background-position:0 -3312px;}
|
||||
.f16 .sr{background-position:0 -3328px;}
|
||||
.f16 .st{background-position:0 -3344px;}
|
||||
.f16 .sv{background-position:0 -3360px;}
|
||||
.f16 .sy{background-position:0 -3376px;}
|
||||
.f16 .sz{background-position:0 -3392px;}
|
||||
.f16 .tc{background-position:0 -3408px;}
|
||||
.f16 .td{background-position:0 -3424px;}
|
||||
.f16 .tg{background-position:0 -3440px;}
|
||||
.f16 .th{background-position:0 -3456px;}
|
||||
.f16 .tj{background-position:0 -3472px;}
|
||||
.f16 .tl{background-position:0 -3488px;}
|
||||
.f16 .tm{background-position:0 -3504px;}
|
||||
.f16 .tn{background-position:0 -3520px;}
|
||||
.f16 .to{background-position:0 -3536px;}
|
||||
.f16 .tr{background-position:0 -3552px;}
|
||||
.f16 .tt{background-position:0 -3568px;}
|
||||
.f16 .tv{background-position:0 -3584px;}
|
||||
.f16 .tw{background-position:0 -3600px;}
|
||||
.f16 .tz{background-position:0 -3616px;}
|
||||
.f16 .ua{background-position:0 -3632px;}
|
||||
.f16 .ug{background-position:0 -3648px;}
|
||||
.f16 .us{background-position:0 -3664px;}
|
||||
.f16 .uy{background-position:0 -3680px;}
|
||||
.f16 .uz{background-position:0 -3696px;}
|
||||
.f16 .va{background-position:0 -3712px;}
|
||||
.f16 .vc{background-position:0 -3728px;}
|
||||
.f16 .ve{background-position:0 -3744px;}
|
||||
.f16 .vg{background-position:0 -3760px;}
|
||||
.f16 .vi{background-position:0 -3776px;}
|
||||
.f16 .vn{background-position:0 -3792px;}
|
||||
.f16 .vu{background-position:0 -3808px;}
|
||||
.f16 .ws{background-position:0 -3824px;}
|
||||
.f16 .ye{background-position:0 -3840px;}
|
||||
.f16 .za{background-position:0 -3856px;}
|
||||
.f16 .zm{background-position:0 -3872px;}
|
||||
.f16 .zw{background-position:0 -3888px;}
|
||||
.f16 .sx{background-position:0 -3904px;}
|
||||
.f16 .cw{background-position:0 -3920px;}
|
||||
.f16 .ss{background-position:0 -3936px;}
|
||||
.f16 .o1{background-position:0 -3952px;}
|
|
@ -0,0 +1,94 @@
|
|||
@font-face {
|
||||
font-family: 'Norse-Mapcons';
|
||||
src:url('fonts/Norse-Mapcons.eot?m6qc03');
|
||||
src:url('fonts/Norse-Mapcons.eot?#iefixm6qc03') format('embedded-opentype'),
|
||||
url('../fonts/Norse-Mapcons.woff?m6qc03') format('woff'),
|
||||
url('fonts/Norse-Mapcons.ttf?m6qc03') format('truetype'),
|
||||
url('fonts/Norse-Mapcons.svg?m6qc03#Norse-Mapcons') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
[class^="icon-"], [class*=" icon-"] {
|
||||
font-family: 'Norse-Mapcons';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-country:before {
|
||||
content: "\61";
|
||||
}
|
||||
.icon-number:before {
|
||||
content: "\62";
|
||||
}
|
||||
.icon-military:before {
|
||||
content: "\64";
|
||||
}
|
||||
.icon-close:before {
|
||||
content: "\63";
|
||||
}
|
||||
.icon-play:before {
|
||||
content: "\65";
|
||||
}
|
||||
.icon-pause:before {
|
||||
content: "\66";
|
||||
}
|
||||
.icon-info:before {
|
||||
content: "\67";
|
||||
}
|
||||
.icon-open:before {
|
||||
content: "\68";
|
||||
}
|
||||
.icon-closed:before {
|
||||
content: "\69";
|
||||
}
|
||||
.icon-threattype:before {
|
||||
content: "\6a";
|
||||
}
|
||||
.icon-down:before {
|
||||
content: "\6b";
|
||||
}
|
||||
.icon-one:before {
|
||||
content: "\6c";
|
||||
}
|
||||
.icon-five:before {
|
||||
content: "\6d";
|
||||
}
|
||||
.icon-ten:before {
|
||||
content: "\6e";
|
||||
}
|
||||
.icon-twentyfive:before {
|
||||
content: "\6f";
|
||||
}
|
||||
.icon-onehundred:before {
|
||||
content: "\70";
|
||||
}
|
||||
.icon-twohundred:before {
|
||||
content: "\71";
|
||||
}
|
||||
.icon-fivehundred:before {
|
||||
content: "\72";
|
||||
}
|
||||
.icon-googleplus:before {
|
||||
content: "\73";
|
||||
}
|
||||
.icon-facebook:before {
|
||||
content: "\74";
|
||||
}
|
||||
.icon-linkedin:before {
|
||||
content: "\75";
|
||||
}
|
||||
.icon-youtube:before {
|
||||
content: "\76";
|
||||
}
|
||||
.icon-twitter:before {
|
||||
content: "\77";
|
||||
}
|
|
@ -0,0 +1,722 @@
|
|||
/*@import url(http://fonts.useso.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800);
|
||||
@import url(http://fonts.useso.com/css?family=Oswald:400,300,700);*/
|
||||
@import url(opensans.css);
|
||||
@import url(oswald.css);
|
||||
|
||||
body {
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
color: white;
|
||||
background: url(../images/DarkNoiseBackground.png);
|
||||
font-family: "Oswald", "Open Sans", sans-serif;
|
||||
}
|
||||
|
||||
ol {
|
||||
list-style-type: none;
|
||||
margin-left: -2.0em;
|
||||
}
|
||||
|
||||
td {
|
||||
font-family: "Open Sans", "Oswald", sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
font-family: "Oswald", "Open Sans", sans-serif;
|
||||
}
|
||||
|
||||
#drawer {
|
||||
position: absolute;
|
||||
top: 48px;
|
||||
right: 6px;
|
||||
z-index: 100;
|
||||
width: 180px;
|
||||
}
|
||||
|
||||
.blue-bg {
|
||||
background: rgb(0, 78, 176);
|
||||
background: transparent\9;
|
||||
background-color: rgb(0, 78, 176, 0.95);
|
||||
border-radius: 4px;
|
||||
border: 1px solid rgba(0, 78, 176);
|
||||
border: 1px solid rgba(0, 78, 176, 0.95);
|
||||
-webkit-background-clip: padding-box; /* for Safari */
|
||||
background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */
|
||||
}
|
||||
|
||||
#drawer-content {
|
||||
height: 100%;
|
||||
float: right;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#drawer-inner a,
|
||||
#drawer-content.info-btn {
|
||||
text-decoration: underline;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#drawer-inner a:hover,
|
||||
#drawer-content .info-btn:hover {
|
||||
color: rgb(20, 180, 255);
|
||||
}
|
||||
|
||||
#drawer-inner {
|
||||
padding: 1em;
|
||||
width: 158px;
|
||||
font-size: 11px;
|
||||
font-family: "Open Sans", "Oswald", sans-serif;
|
||||
font-weight: 300;
|
||||
line-height: 13px;
|
||||
}
|
||||
|
||||
#drawer-content h1 {
|
||||
margin-top: 5px;
|
||||
font-size: 24px;
|
||||
font-family: "Open Sans", "Oswald", sans-serif;
|
||||
font-weight: 300;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
#drawer-left {
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.table-ref {
|
||||
font-family: "Oswald", "Open Sans", serif;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/*
|
||||
This has awful performance...
|
||||
#drawer-content .footer {
|
||||
width: 480px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
*/
|
||||
|
||||
nav {
|
||||
/* background-color: rgba(0, 140, 240, 0.95);*/
|
||||
background: linear-gradient(rgba(0, 138, 255, 0.5),
|
||||
rgba(0, 150, 255, 0.5)),
|
||||
rgba(0, 0, 0, 0.8);
|
||||
float: left;
|
||||
width: 40px;
|
||||
border-bottom-left-radius: 6px;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
list-style-type: none;
|
||||
margin: 0 0 0 -2.4em;
|
||||
}
|
||||
|
||||
nav ul li {
|
||||
margin: 0.2em;
|
||||
font-size: 1.4em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
nav ul li a {
|
||||
display: block;
|
||||
}
|
||||
|
||||
nav ul li a:visited, a:link {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
nav ul li a:hover {
|
||||
color: white;
|
||||
border-top-color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#content {
|
||||
width: 100%;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#display-label-container {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
z-index: 6;
|
||||
text-shadow: -1px -1px 0 #000,
|
||||
1px -1px 0 #000,
|
||||
-1px 1px 0 #000,
|
||||
1px 1px 0 #000;
|
||||
}
|
||||
|
||||
#top-line {
|
||||
width: 100%;
|
||||
background-color: rgb(1, 73, 128);
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
#logo {
|
||||
position: absolute;
|
||||
left: 6px;
|
||||
top: 12px;
|
||||
width: 180px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
#loading {
|
||||
position: absolute;
|
||||
right: 4em;
|
||||
bottom: 1em;
|
||||
}
|
||||
|
||||
#info {
|
||||
position: absolute;
|
||||
right: 20em;
|
||||
top: 1em;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 1em;
|
||||
}
|
||||
|
||||
.buffer {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
-moz-box-shadow: 0 0 5px 5px rgb(40, 50, 80);
|
||||
-webkit-box-shadow: 0 0 5px 5px rgb(40, 50, 80);
|
||||
box-shadow: 0 0 5px 5px rgb(40, 50, 80);
|
||||
}
|
||||
|
||||
.box {
|
||||
position: absolute;
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
.gray-bg {
|
||||
background: rgb(51,51,51);
|
||||
background: transparent\9;
|
||||
background: rgba(51,51,51,0.5);
|
||||
border-radius: 4px;
|
||||
border: 1px solid rgba(51, 51, 51);
|
||||
-webkit-background-clip: padding-box; /* for Safari */
|
||||
background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */
|
||||
}
|
||||
|
||||
.black-solid {
|
||||
background-color: rgba(10, 20, 30, 0.8);
|
||||
border: thin solid rgb(0, 180, 240);
|
||||
border-bottom-right-radius: 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
-webkit-box-shadow: 0 0 3px 1px rgb(0, 120, 240);
|
||||
-moz-box-shadow: 0 0 3px 1px rgb(0, 120, 240);
|
||||
box-shadow: 0 0 3px 1px rgb(0, 120, 240);
|
||||
}
|
||||
|
||||
.table-container {
|
||||
z-index: -2;
|
||||
}
|
||||
|
||||
/*
|
||||
.data table th {
|
||||
color: rgb(45, 255, 254);
|
||||
}
|
||||
*/
|
||||
|
||||
.data {
|
||||
width: 180px;
|
||||
}
|
||||
|
||||
.data table tr {
|
||||
line-height: 18px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.data table td,
|
||||
.data table th {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.data table th {
|
||||
font-size: 13px;
|
||||
font-family: "Open Sans Bold", "Oswald", sans-serif;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.data table th [class^="icon-"], .data table th [class*=" icon-"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.data table td span.numeric {
|
||||
font-size: 10px;
|
||||
font-family: "Open Sans Light", "Oswald", sans-serif;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.data .flag {
|
||||
margin-right: 20px;
|
||||
height: 1.0em;
|
||||
}
|
||||
|
||||
.data .numeric {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.data .icon-number {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.data colgroup .bar-col { width: 0; }
|
||||
.data colgroup .total-count { width: 2.6em; }
|
||||
.data colgroup .data-label-small { width: 1.6em; }
|
||||
.data colgroup .data-label { width: 10em; }
|
||||
.data colgroup .port-label { width: 2.8em; }
|
||||
|
||||
|
||||
.data tr.row:hover {
|
||||
background-color: #0c2b4a;
|
||||
}
|
||||
|
||||
.data table .bar {
|
||||
position: absolute;
|
||||
height: 20px;
|
||||
margin-top: -10px;
|
||||
background-color: #0c2b4a;
|
||||
z-index: -1;
|
||||
border-radius: 3px;
|
||||
max-width: 98%;
|
||||
}
|
||||
|
||||
.data table tr td:nth-child(2),
|
||||
.data table tr th:nth-child(2) {
|
||||
text-align: right;
|
||||
padding-right: 0.4em;
|
||||
}
|
||||
|
||||
.port-circle {
|
||||
font-size: 1.8em;
|
||||
text-align: center;
|
||||
line-height: 0.5em;
|
||||
}
|
||||
|
||||
.table-header {
|
||||
text-align: center;
|
||||
color: rgb(40, 255, 255);
|
||||
text-transform: uppercase;
|
||||
border-top-right-radius: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.table-header h1 {
|
||||
margin: 0.4em 0.8em;
|
||||
font-family: "Open Sans", "Oswald", sans-serif;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.top-left {
|
||||
top: 72px;
|
||||
left: 6px;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
bottom: 6px;
|
||||
}
|
||||
|
||||
.top-right {
|
||||
right: 6px;
|
||||
top: 48px;
|
||||
}
|
||||
|
||||
.bottom-right {
|
||||
bottom: 50px;
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
.info-controls {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
.info-controls .icon-close {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.info-controls > div {
|
||||
float: right;
|
||||
width: 86px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
.info-controls > div:first-child {
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
.controls {
|
||||
display: block;
|
||||
text-align: center;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.controls:hover {
|
||||
color: #00a6ff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.controls > span {
|
||||
display: inline-block;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.information {
|
||||
display: block;
|
||||
text-align: center;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.information:hover {
|
||||
color: #00a6ff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.information > span {
|
||||
line-height: 34px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.world {
|
||||
stroke: #555;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
|
||||
.tick {
|
||||
stroke: white;
|
||||
}
|
||||
|
||||
/* The data console */
|
||||
#console {
|
||||
left: 6px;
|
||||
bottom: 32px;
|
||||
pointer-events: none;
|
||||
padding: 6px 12px;
|
||||
}
|
||||
|
||||
#console .table-header h1 {
|
||||
margin: 0;
|
||||
min-width: 156px;
|
||||
}
|
||||
|
||||
#console .table-header {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#console table {
|
||||
font-size: 10px;
|
||||
font-family: "Open Sans Normal", "Oswald", sans-serif;
|
||||
font-weight: 400;
|
||||
line-height: 12px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
#console table td,
|
||||
#console table th {
|
||||
text-shadow: none;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
#console table td:last-child,
|
||||
#console table th:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
#console table tr.first-level {
|
||||
font-size: 12px;
|
||||
font-family: "Open Sans Bold", "Oswald", sans-serif;
|
||||
font-weight: 700;
|
||||
line-height: 16px;
|
||||
text-align: left;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#console table tr.second-level {
|
||||
font-size: 10px;
|
||||
font-family: "Open Sans Bold", "Oswald", sans-serif;
|
||||
line-height: 12px;
|
||||
text-align: left;
|
||||
padding-bottom: 0.2em;
|
||||
font-weight: light;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#console table tr.second-level th {
|
||||
font-weight: light !important;
|
||||
}
|
||||
|
||||
#console colgroup col.left-border {
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
#console table span.overflow {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
height: 1.4em;
|
||||
}
|
||||
|
||||
#console colgroup col.timestamp-col { width: 11em; }
|
||||
#console colgroup col.location-col { width: 130px; }
|
||||
#console colgroup col.attacker-org-col { width: 160px; }
|
||||
#console colgroup col.attacker-ip-col { width: 98px; }
|
||||
#console colgroup col.service-col { width: 70px; }
|
||||
#console colgroup col.port-col { width: 30px; }
|
||||
|
||||
a.toggle {
|
||||
color: rgb(55, 116, 172);
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
#rate-graph {
|
||||
z-index: 20;
|
||||
position: absolute;
|
||||
left: 6px;
|
||||
bottom: 6px;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
#drawer {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#drawer .social-media {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#drawer .social-media li {
|
||||
display: inline-block;
|
||||
margin-right: 35px;
|
||||
}
|
||||
|
||||
#drawer .social-media li:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#drawer .social-media a {
|
||||
text-decoration: none;
|
||||
font-size: 11px;
|
||||
font-family: "Open Sans Bold", "Oswald", sans-serif;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* TODO -- sort these */
|
||||
.attacker {
|
||||
color: rgb(214, 39, 40);
|
||||
}
|
||||
|
||||
.target {
|
||||
color: rgb(31, 119, 180);
|
||||
}
|
||||
|
||||
/* LEGEND */
|
||||
|
||||
#legend-container {
|
||||
float: left;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
background: rgb(0,84,190); /* Old browsers */
|
||||
background: -moz-linear-gradient(left, rgba(0,84,190,1) 0px, rgba(0,84,190,1) 3px, rgba(0,78,176,1) 3px, rgba(0,78,176,1) 3px, rgba(0,78,176,1) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, right top, color-stop(0,rgba(0,84,190,1)), color-stop(3px,rgba(0,84,190,1)), color-stop(3px,rgba(0,78,176,1)), color-stop(3px,rgba(0,78,176,1)), color-stop(100%,rgba(0,78,176,1))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(left, rgba(0,84,190,1) 0px,rgba(0,84,190,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(left, rgba(0,84,190,1) 0px,rgba(0,84,190,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(left, rgba(0,84,190,1) 0px,rgba(0,84,190,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 100%); /* IE10+ */
|
||||
background: linear-gradient(to right, rgba(0,84,190,1) 0px,rgba(0,84,190,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 3px,rgba(0,78,176,1) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0054be', endColorstr='#004eb0',GradientType=1 ); /* IE6-9 */
|
||||
}
|
||||
|
||||
#legend-container h4 {
|
||||
font-size: 9px;
|
||||
margin: 0 0 20px;
|
||||
font-family: "Open Sans Bold", "Oswald", sans-serif;
|
||||
font-weight: 400;
|
||||
line-height: 11px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#legend > div {
|
||||
margin: auto 0.5%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#legend ul {
|
||||
list-style-type: none;
|
||||
margin-left: -2em;
|
||||
}
|
||||
|
||||
#legend .clusters ul > li {
|
||||
display: inline-block;
|
||||
margin: auto 0.8em;
|
||||
}
|
||||
|
||||
#legend .country-colors ul > li {
|
||||
display: inline-block;
|
||||
margin: auto 0.2em;
|
||||
width: 1.9em;
|
||||
}
|
||||
|
||||
#particle-legend > p {
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
#origin-legend > p {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#country-legend > p {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
#origin-legend p span {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
#origin-legend p .icon-one {
|
||||
font-size: 20px;
|
||||
padding-top: 12px;
|
||||
}
|
||||
|
||||
#origin-legend p .icon-ten {
|
||||
padding-top: 8px;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
#origin-legend p .icon-twohundred {
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
h4 > span {
|
||||
margin-right: 5px;
|
||||
float: left;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
h4 > p {
|
||||
display: inline-block;
|
||||
width: 85%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#country-legend p [class^="icon-"], #country-legend p [class*=" icon-"] {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
footer {
|
||||
width: 30%;
|
||||
float: right;
|
||||
font-size: 8px;
|
||||
font-family: "Open Sans", "Oswald", sans-serif;
|
||||
line-height: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#events-data tr td:first-child {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#message-panel {
|
||||
display: none;
|
||||
position: absolute;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 300px;
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
#message-container {
|
||||
position: relative;
|
||||
min-height: 100px;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#message-container span {
|
||||
display: inline-block;
|
||||
vertical-align: middle ;
|
||||
}
|
||||
|
||||
#close-button {
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
left: 250px;
|
||||
bottom: 20px;
|
||||
height: 25px;
|
||||
color: white;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#social-icons {
|
||||
position: absolute;
|
||||
height: 36px;
|
||||
width: 180px;
|
||||
bottom: 6px;
|
||||
right: 6px;
|
||||
font-size: 20px;
|
||||
line-height: 36px;
|
||||
text-align: center;
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
#social-icons ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#social-icons li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#social-icons a {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#social-icons a:visited {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#unknown-icon {
|
||||
position: absolute;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
opacity: 0.6;
|
||||
}
|
|
@ -0,0 +1,640 @@
|
|||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTUTj6bCwSDA5u__Fbjwz3f0.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/* src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/ttwNtsRpgsxVmgGGmiUOEhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/* src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSkTj6bCwSDA5u__Fbjwz3f0.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzETj6bCwSDA5u__Fbjwz3f0.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://fontstatic.useso.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hq-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hpX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hkTj6bCwSDA5u__Fbjwz3f0.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hhWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hqaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hv8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hj0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://fontstatic.useso.com/s/opensans/v13/EInbV5DfGHOiMmvb1Xr-hugdm0LZdjqr5-oayXSOefg.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxhgVThLs8Y7ETJzDCYFCSLE.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxpiMaisvaUVUsYyVzOmndek.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxtubAPCnqwk7_Xc8a9uhFZ0.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxrBAWGjcah5Ky0jbCgIwDB8.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxv14vlcfyPYlAcQy2UfDRm4.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxqfJul7RR1X4poJgi27uS4w.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxqvyPXdneeGd26m9EmFSSWg.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
/*src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxko2lTMeWA_kmIyWrkNCwPc.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBpd-YqeGZiJEdX0sEGp0JvE.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/* src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
/*src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v13/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxmgpAmOCqD37_tyH_8Ri5MM.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxsPNMTLbnS9uQzHQlYieHUU.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxtf0psde5XkJiKofUyep0rE.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxgyhumQnPMBCoGYhRaNxyyY.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxhUVAXEdVvYDDqrz3aeR0Yc.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxlf4y_3s5bcYyyLIFUSWYUU.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxnywqdtBbUHn3VPgzuFrCy8.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
/*src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxl2umOyRU7PgRiv8DXcgJjk.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxp6iIh_FvlUHQwED9Yt5Kbw.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxi_vZmeiCMnoWNN9rHBYaTc.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxpRg-9ZTZj4Oi-6CEThT2Do.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxiFaMxiho_5XQnyRZzQsrZs.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxgalQocB-__pDVGhF3uS2Ks.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/* src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxmhQUTDJGru-0vvUpABgH8I.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/*src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxujkDdvhIIFj_YMdgqpnSB0.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
/* src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxolIZu-HDpmDIZMigmsroc4.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/* src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxiU8QAtQT9M0M1_mbVWrUPc.woff2) format('woff2');*/
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxkNaUOL0oYRolx8sebiIY9k.woff2) format('woff2');*/
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* devanagari */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxiSlOvG9k9Qwm1rEEqyyHgs.woff2) format('woff2');*/
|
||||
unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxooGEx1DzoxsbCRd2IM2afI.woff2) format('woff2');*/
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxnPzCMEhbIaaYiFY6KPniws.woff2) format('woff2');*/
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxmqi69zMYkLa7XwlUIemKB4.woff2) format('woff2');*/
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxowYyzpnB4tyYboSwKGmD2g.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
/*src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://fontstatic.useso.com/s/opensans/v13/PRmiXeptR36kaC0GEAetxnibbpXgLHK_uTT48UMyjSM.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Oswald Light'), local('Oswald-Light'), url(http://fontstatic.useso.com/s/oswald/v10/l1cOQ90roY9yC7voEhngDBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
/*src: local('Oswald Light'), local('Oswald-Light'), url(http://fontstatic.useso.com/s/oswald/v10/HqHm7BVC_nzzTui2lzQTDVtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Oswald Regular'), local('Oswald-Regular'), url(http://fontstatic.useso.com/s/oswald/v10/yg0glPPxXUISnKUejCX4qfesZW2xOQ-xsNqO47m55DA.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
/*src: local('Oswald Regular'), local('Oswald-Regular'), url(http://fontstatic.useso.com/s/oswald/v10/pEobIV_lL25TKBpqVI_a2w.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Oswald Bold'), local('Oswald-Bold'), url(http://fontstatic.useso.com/s/oswald/v10/dI-qzxlKVQA6TUC5RKSb3xJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');*/
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
/*src: local('Oswald Bold'), local('Oswald-Bold'), url(http://fontstatic.useso.com/s/oswald/v10/bH7276GfdCjMjApa_dkG6VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');*/
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
|
@ -0,0 +1,176 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"container/list"
|
||||
"encoding/json"
|
||||
"log"
|
||||
"math/rand"
|
||||
"net"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/oschwald/geoip2-golang"
|
||||
)
|
||||
|
||||
var upgrader = websocket.Upgrader{CheckOrigin: fakeOrigin} // use default options
|
||||
|
||||
func fakeOrigin(r *http.Request) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func IpV4Address() string {
|
||||
blocks := []string{}
|
||||
for i := 0; i < 4; i++ {
|
||||
number := rand.Intn(255)
|
||||
blocks = append(blocks, strconv.Itoa(number))
|
||||
}
|
||||
|
||||
return strings.Join(blocks, ".")
|
||||
}
|
||||
|
||||
// type Alert struct {
|
||||
// Latitude string `json:"latitude"`
|
||||
// Longitude string `json:"longitude"`
|
||||
// Countrycode string `json:"countrycode"`
|
||||
// Country string `json:"country"`
|
||||
// City string `json:"city"`
|
||||
// Org string `json:"org"`
|
||||
// Latitude2 string `json:"latitude2"`
|
||||
// Longitude2 string `json:"longitude2"`
|
||||
// Countrycode2 string `json:"countrycode2"`
|
||||
// Country2 string `json:"country2"`
|
||||
// City2 string `json:"city2"`
|
||||
// Type string `json:"type"`
|
||||
// Md5 string `json:"md5"`
|
||||
// Dport string `json:"dport"`
|
||||
// Zerg string `json:"zerg"`
|
||||
// }
|
||||
|
||||
// var PORTS = []int64{21, 22, 80, 443}
|
||||
|
||||
// func (a Attack) New() Attack {
|
||||
// attacker_ip := net.ParseIP(IpV4Address())
|
||||
// c, _ := MMDB_CITY.City(attacker_ip)
|
||||
// o, _ := MMDB_ASN.ASN(attacker_ip)
|
||||
|
||||
// a.Latitude = strconv.FormatFloat(c.Location.Latitude, 'f', 2, 64)
|
||||
// a.Longitude = strconv.FormatFloat(c.Location.Longitude, 'f', 2, 64)
|
||||
// a.Countrycode = c.Country.IsoCode
|
||||
// a.Country = c.Country.IsoCode
|
||||
// a.City = c.City.Names["en"]
|
||||
// a.Org = o.AutonomousSystemOrganization
|
||||
|
||||
// destination := net.ParseIP("88.198.117.66")
|
||||
// c, _ = MMDB_CITY.City(destination)
|
||||
|
||||
// a.Latitude2 = strconv.FormatFloat(c.Location.Latitude, 'f', 2, 64)
|
||||
// a.Longitude2 = strconv.FormatFloat(c.Location.Longitude, 'f', 2, 64)
|
||||
// a.Countrycode2 = c.Country.IsoCode
|
||||
// a.Country2 = c.Country.IsoCode
|
||||
// a.City2 = c.City.Names["en"]
|
||||
// a.Type = "ipviking.honey"
|
||||
// a.Md5 = attacker_ip.String()
|
||||
// a.Dport = strconv.FormatInt(PORTS[rand.Int()%len(PORTS)], 10)
|
||||
// a.Zerg = "rush"
|
||||
// return a
|
||||
// }
|
||||
|
||||
type Source struct {
|
||||
AS_Name string `json:"as_name"`
|
||||
AS_Number string `json:"as_number"`
|
||||
CN string `json:"cn"`
|
||||
IP string `json:"ip"`
|
||||
Latitude float64 `json:"latitude"`
|
||||
Longitude float64 `json:"longitude"`
|
||||
Scope string `json:"scope"`
|
||||
Value string `json:"value"`
|
||||
}
|
||||
|
||||
type Destination struct {
|
||||
Latitude float64 `json:"latitude"`
|
||||
Longitude float64 `json:"longitude"`
|
||||
CountryCode string `json:"countrycode"`
|
||||
Country string `json:"country"`
|
||||
City string `json:"city"`
|
||||
}
|
||||
|
||||
type Alert struct {
|
||||
Capacity int `json:"capacity"`
|
||||
Source Source `json:"source"`
|
||||
Destination Destination `json:"destination"`
|
||||
}
|
||||
|
||||
func (a Alert) setDestination(ip string) Alert {
|
||||
destination := net.ParseIP("88.198.117.66")
|
||||
c, _ := MMDB_CITY.City(destination)
|
||||
|
||||
a.Destination.Latitude = c.Location.Latitude
|
||||
a.Destination.Longitude = c.Location.Longitude
|
||||
a.Destination.CountryCode = c.Country.IsoCode
|
||||
a.Destination.Country = c.Country.IsoCode
|
||||
a.Destination.City = c.City.Names["en"]
|
||||
return a
|
||||
}
|
||||
|
||||
var sockets = list.New()
|
||||
|
||||
// TODO: if you have a,b,c people and b leaves, a won't get the next alert but all after
|
||||
func (a Alert) broadcast() {
|
||||
log.Println(sockets.Len())
|
||||
for s := sockets.Front(); s != nil; s = s.Next() {
|
||||
b, _ := json.Marshal(a)
|
||||
err := s.Value.(*websocket.Conn).WriteMessage(1, b)
|
||||
if err != nil {
|
||||
log.Println("Write error:", err)
|
||||
sockets.Remove(s)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func alertHandler(w http.ResponseWriter, r *http.Request) {
|
||||
var alerts []Alert
|
||||
err := json.NewDecoder(r.Body).Decode(&alerts)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
||||
for _, a := range alerts {
|
||||
a.setDestination("88.198.117.66").broadcast()
|
||||
}
|
||||
}
|
||||
|
||||
func socketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
conn, err := upgrader.Upgrade(w, r, nil)
|
||||
if err != nil {
|
||||
log.Print("Error during connection upgradation:", err)
|
||||
return
|
||||
}
|
||||
log.Println("Connection opened", conn.RemoteAddr())
|
||||
sockets.PushFront(conn)
|
||||
}
|
||||
|
||||
var MMDB_CITY *geoip2.Reader
|
||||
var MMDB_ASN *geoip2.Reader
|
||||
|
||||
func main() {
|
||||
db, err := geoip2.Open("GeoLite2-City.mmdb")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
MMDB_CITY = db
|
||||
|
||||
db, err = geoip2.Open("GeoLite2-ASN.mmdb")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
MMDB_ASN = db
|
||||
r := mux.NewRouter()
|
||||
|
||||
r.HandleFunc("/", socketHandler).Methods("GET")
|
||||
r.HandleFunc("/", alertHandler).Methods("POST")
|
||||
|
||||
log.Fatal(http.ListenAndServe("127.0.0.1:9999", r))
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width='80' height='80' xmlns="http://www.w3.org/2000/svg" version="1.1"><g id="chevron" transform="translate(40, 40)"><g><path d="M-26.65959926214212,-29.820559471310915A40,40 0 0,1 26.65959926214212,-29.820559471310922L12.47306331474629,-15.634023523915088A20,20 0 0,0 -12.473063314746287,-15.63402352391509Z" id="svg-zoom-in" class="chevron-tab"></path><text transform="translate(-2.9999999999999982,-27)">+</text></g><g><path d="M29.820559471310922,-26.659599262142116A40,40 0 0,1 29.820559471310922,26.659599262142116L15.634023523915088,12.473063314746287A20,20 0 0,0 15.634023523915088,-12.473063314746287Z" id="svg-toggle-info" class="chevron-tab"></path><text transform="translate(27,3)">ℹ</text></g><g><path d="M26.65959926214212,29.820559471310922A40,40 0 0,1 -26.65959926214212,29.820559471310922L-12.473063314746287,15.63402352391509A20,20 0 0,0 12.47306331474629,15.634023523915088Z" id="svg-zoom-out" class="chevron-tab"></path><text transform="translate(1.83697019872103e-15,30)">-</text></g><g><path d="M-29.820559471310915,26.659599262142123A40,40 0 0,1 -29.820559471310922,-26.659599262142116L-15.63402352391509,-12.473063314746284A20,20 0 0,0 -15.634023523915086,12.47306331474629Z" id="svg-toggle-play" class="chevron-tab"></path><text transform="translate(-36,6.0000000000000036)">▐▐</text></g></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 18 KiB |
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"stream": {
|
||||
"host": "ws://127.0.0.1:9999",
|
||||
"psk": "18c989796c61724d4661b019f2779848dd69ae62"
|
||||
},
|
||||
"ui": {
|
||||
"logo": "assets/norse-white.png",
|
||||
"spacing": 3
|
||||
},
|
||||
"map": {
|
||||
"container": "map",
|
||||
"jsonBasemap": true,
|
||||
"options": {
|
||||
"zoomControl": false,
|
||||
"attributionControl": false,
|
||||
"center": [0, 0],
|
||||
"zoom": 3,
|
||||
"center": [24.5271348225978, -0.17578125],
|
||||
"maxBounds": [[75, 179], [-61, -181]],
|
||||
"minZoom": 2,
|
||||
"maxZoom": 5
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,94 @@
|
|||
@font-face {
|
||||
font-family: 'Norse-Mapcons';
|
||||
src:url('../fonts/Norse-Mapcons.eot');
|
||||
src:url('../fonts/Norse-Mapcons.eot?#iefix') format('embedded-opentype'),
|
||||
url('../fonts/Norse-Mapcons.woff') format('woff'),
|
||||
url('../fonts/Norse-Mapcons.ttf') format('truetype'),
|
||||
url('../fonts/Norse-Mapcons.svg#Norse-Mapcons') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
[class^="icon-"], [class*=" icon-"] {
|
||||
font-family: 'Norse-Mapcons';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-country:before {
|
||||
content: "\61";
|
||||
}
|
||||
.icon-number:before {
|
||||
content: "\62";
|
||||
}
|
||||
.icon-military:before {
|
||||
content: "\64";
|
||||
}
|
||||
.icon-close:before {
|
||||
content: "\63";
|
||||
}
|
||||
.icon-play:before {
|
||||
content: "\65";
|
||||
}
|
||||
.icon-pause:before {
|
||||
content: "\66";
|
||||
}
|
||||
.icon-info:before {
|
||||
content: "\67";
|
||||
}
|
||||
.icon-open:before {
|
||||
content: "\68";
|
||||
}
|
||||
.icon-closed:before {
|
||||
content: "\69";
|
||||
}
|
||||
.icon-threattype:before {
|
||||
content: "\6a";
|
||||
}
|
||||
.icon-down:before {
|
||||
content: "\6b";
|
||||
}
|
||||
.icon-one:before {
|
||||
content: "\6c";
|
||||
}
|
||||
.icon-five:before {
|
||||
content: "\6d";
|
||||
}
|
||||
.icon-ten:before {
|
||||
content: "\6e";
|
||||
}
|
||||
.icon-twentyfive:before {
|
||||
content: "\6f";
|
||||
}
|
||||
.icon-onehundred:before {
|
||||
content: "\70";
|
||||
}
|
||||
.icon-twohundred:before {
|
||||
content: "\71";
|
||||
}
|
||||
.icon-fivehundred:before {
|
||||
content: "\72";
|
||||
}
|
||||
.icon-googleplus:before {
|
||||
content: "\73";
|
||||
}
|
||||
.icon-facebook:before {
|
||||
content: "\74";
|
||||
}
|
||||
.icon-linkedin:before {
|
||||
content: "\75";
|
||||
}
|
||||
.icon-youtube:before {
|
||||
content: "\76";
|
||||
}
|
||||
.icon-twitter:before {
|
||||
content: "\77";
|
||||
}
|
|
@ -0,0 +1,341 @@
|
|||
/*@import url(http://fonts.googleapis.com/css?family=Oswald:bold,700,400,300|Open+Sans);*/
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/**, *:before, *:after {
|
||||
box-sizing: inherit;
|
||||
}*/
|
||||
|
||||
body, #map {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
/*font-family: 'Helvetica Neue', Helvetica;*/
|
||||
/*font: 10px 'Consolas';*/
|
||||
/*background: #1a1a1a;*/
|
||||
background-color: #000;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#map {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#map canvas {
|
||||
/*position: relative;*/
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#ui {
|
||||
position: absolute;
|
||||
bottom: 0%;
|
||||
left: 0%;
|
||||
width: 100%;
|
||||
max-height: 35%;
|
||||
background-color: rgba(64, 64, 64, 0.5);
|
||||
font-family: 'Oswald';
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
#ui .module {
|
||||
float: left;
|
||||
/*padding: 20px;*/
|
||||
margin-right: 1%;
|
||||
color: #4bffff;
|
||||
}
|
||||
/* clock/ticker */
|
||||
#ui .module:last-child {
|
||||
margin-right: 0%;
|
||||
margin-left: 1%;
|
||||
}
|
||||
#ui .minimize-button {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
background-color: rgba(0,206,209, 0.1);
|
||||
/*float: right;*/
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 10px;
|
||||
font-size: 24px;
|
||||
/*line-height: 20px;*/
|
||||
font-weight: bold;
|
||||
}
|
||||
#ui-clock {
|
||||
width: 10%;
|
||||
/*height: 100%;*/
|
||||
}
|
||||
#ui-clock, #ui-clock svg {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin-right: 0%;
|
||||
height: 100%;
|
||||
}
|
||||
#ui .title {
|
||||
position: relative;
|
||||
background-color: rgba(0,206,209, 0.1);
|
||||
background-image: url('../assets/title-bg.png');
|
||||
/*font: 14px 'Helvetica Neue', Helvetica;*/
|
||||
/*font: 14px 'Consolas';*/
|
||||
/*padding: 0 0 2% 0;*/
|
||||
font-family: 'Oswald';
|
||||
font-weight: 300;
|
||||
font-size: 2em;
|
||||
/*padding-left: 10px;*/
|
||||
padding: 10px 0 5px 10px;
|
||||
margin-bottom: 5px;
|
||||
/*border-bottom: 2px solid #000;*/
|
||||
}
|
||||
#ui-datatable-service {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
#ui-datatable-events {
|
||||
background-color: rgba(75, 255, 255, 0.1);
|
||||
}
|
||||
span {
|
||||
display: block;
|
||||
}
|
||||
table {
|
||||
width: 98%;
|
||||
table-layout: fixed;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.row {
|
||||
cursor: pointer;
|
||||
}
|
||||
.header {
|
||||
text-transform: uppercase;
|
||||
font-family: 'Oswald';
|
||||
font-weight: 700;
|
||||
}
|
||||
.column-header, .row {
|
||||
/*clear: both;*/
|
||||
/* FIXME doesn't work */
|
||||
padding-left: 10px;
|
||||
/*font-family: 'Oswald';*/
|
||||
/*font-weight: 700;*/
|
||||
}
|
||||
.cell {
|
||||
/*overflow: hidden;*/
|
||||
/*display: inline;*/
|
||||
/*margin: 2%;*/
|
||||
/*border: 1px solid red;*/
|
||||
/*float: left;*/
|
||||
font-family: 'Open Sans';
|
||||
font-weight: 300;
|
||||
}
|
||||
.cell span {
|
||||
display: inline;
|
||||
}
|
||||
td {
|
||||
max-width: 120px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.column {
|
||||
/*font-weight: bold;*/
|
||||
/*float: left;*/
|
||||
font-family: 'Oswald';
|
||||
font-weight: 400;
|
||||
}
|
||||
.number {
|
||||
width: ;
|
||||
font-family: 'Oswald';
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.flag {
|
||||
width: 16px;
|
||||
height: 10px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
.links {
|
||||
fill: none;
|
||||
stroke: #fff;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
#controls {
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
left: 40px;
|
||||
padding: 10px;
|
||||
/*background: #000;*/
|
||||
color: #4bffff;
|
||||
}
|
||||
|
||||
#controls > #zoom > div {
|
||||
font-family: 'Consolas', 'Courier New', sans-serif;
|
||||
margin: 12px;
|
||||
padding: 8px;
|
||||
width: 32px;
|
||||
/*height: 24px;*/
|
||||
font-size: 24px;
|
||||
line-height: 18px;
|
||||
border: 1px solid #4bffff;
|
||||
background: #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.minibar {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 5px;
|
||||
/*height: 50%;*/
|
||||
/*width: 25%;*/
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background: #000;
|
||||
/*clear: both;*/
|
||||
/*display: inline-block;*/
|
||||
/*background: #ccc;*/
|
||||
/*border: 1px solid red;*/
|
||||
/*display: table;*/
|
||||
}
|
||||
|
||||
.bar {
|
||||
float: right;
|
||||
/*float: right;*/
|
||||
/*display: inline;*/
|
||||
/*position: absolute;*/
|
||||
/*display: table-cell;*/
|
||||
/*clear: both;*/
|
||||
}
|
||||
|
||||
#preload {
|
||||
visibility: hidden;
|
||||
}
|
||||
.ticker-line {
|
||||
fill: none;
|
||||
stroke-width: 1;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: 8px;
|
||||
}
|
||||
#chevron-container {
|
||||
position: fixed;
|
||||
top: 40px;
|
||||
right: 40px;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
#chevron {
|
||||
visibility: hidden;
|
||||
}
|
||||
#chevron text, #chevron-container text {
|
||||
fill: #000;
|
||||
stroke: none;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
pointer-events: none;
|
||||
}
|
||||
#chevron > g:nth-child(4) > text {
|
||||
font-size: 9px !important;
|
||||
}
|
||||
#chevron path, #chevron-container svg path {
|
||||
fill: #4bffff;
|
||||
stroke: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#infobox {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 100%;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgb(0, 78, 176);
|
||||
color: #fff;
|
||||
padding: 5px 0 5px 20px;
|
||||
font-family: 'Open Sans', 'Oswald';
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
#infobox a, #infobox a:visited {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#infobox .close {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
cursor: pointer;
|
||||
padding: 10px;
|
||||
background: #fff;
|
||||
color: rgb(0, 78, 176);
|
||||
}
|
||||
#social-icons {
|
||||
display: table-row;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
#social-icons a {
|
||||
text-decoration: none;
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
#legend-container {
|
||||
border-left: 1px solid rgba(255, 255, 255, 0.7);
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
#legend-container h4 {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
margin-bottom: 20px;
|
||||
font-family: "Open Sans Bold", "Oswald", sans-serif;
|
||||
font-weight: 400;
|
||||
line-height: 11px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#infobox .legend {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
#infobox .legend span, #social-icons a {
|
||||
display: table-cell;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#infobox .legend span {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.icon-ten {
|
||||
font-size: 20px !important;
|
||||
}
|
||||
|
||||
.icon-twohundred {
|
||||
font-size: 26px !important;
|
||||
}
|
||||
|
||||
#infobox-header {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#infobox-header h2 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#infobox-main, #legend-container {
|
||||
float: left;
|
||||
max-width: 40%;
|
||||
margin-right: 20px;
|
||||
}
|
||||
/*
|
||||
.legend > p > span {
|
||||
font-size: 12px;
|
||||
}*/
|
||||
#particle-legend img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
|
@ -0,0 +1,478 @@
|
|||
/* required styles */
|
||||
|
||||
.leaflet-map-pane,
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow,
|
||||
.leaflet-tile-pane,
|
||||
.leaflet-tile-container,
|
||||
.leaflet-overlay-pane,
|
||||
.leaflet-shadow-pane,
|
||||
.leaflet-marker-pane,
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-overlay-pane svg,
|
||||
.leaflet-zoom-box,
|
||||
.leaflet-image-layer,
|
||||
.leaflet-layer {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-container {
|
||||
overflow: hidden;
|
||||
-ms-touch-action: none;
|
||||
}
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
display: block;
|
||||
}
|
||||
/* map is broken in FF if you have max-width: 100% on tiles */
|
||||
.leaflet-container img {
|
||||
max-width: none !important;
|
||||
}
|
||||
/* stupid Android 2 doesn't understand "max-width: none" properly */
|
||||
.leaflet-container img.leaflet-image-layer {
|
||||
max-width: 15000px !important;
|
||||
}
|
||||
.leaflet-tile {
|
||||
filter: inherit;
|
||||
visibility: hidden;
|
||||
}
|
||||
.leaflet-tile-loaded {
|
||||
visibility: inherit;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
|
||||
.leaflet-overlay-pane svg {
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.leaflet-tile-pane { z-index: 2; }
|
||||
.leaflet-objects-pane { z-index: 3; }
|
||||
.leaflet-overlay-pane { z-index: 4; }
|
||||
.leaflet-shadow-pane { z-index: 5; }
|
||||
.leaflet-marker-pane { z-index: 6; }
|
||||
.leaflet-popup-pane { z-index: 7; }
|
||||
|
||||
.leaflet-vml-shape {
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
}
|
||||
.lvml {
|
||||
behavior: url(#default#VML);
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
||||
/* control positioning */
|
||||
|
||||
.leaflet-control {
|
||||
position: relative;
|
||||
z-index: 7;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.leaflet-top,
|
||||
.leaflet-bottom {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
pointer-events: none;
|
||||
}
|
||||
.leaflet-top {
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-right {
|
||||
right: 0;
|
||||
}
|
||||
.leaflet-bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
.leaflet-left {
|
||||
left: 0;
|
||||
}
|
||||
.leaflet-control {
|
||||
float: left;
|
||||
clear: both;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
float: right;
|
||||
}
|
||||
.leaflet-top .leaflet-control {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.leaflet-left .leaflet-control {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* zoom and fade animations */
|
||||
|
||||
.leaflet-fade-anim .leaflet-tile,
|
||||
.leaflet-fade-anim .leaflet-popup {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
-moz-transition: opacity 0.2s linear;
|
||||
-o-transition: opacity 0.2s linear;
|
||||
transition: opacity 0.2s linear;
|
||||
}
|
||||
.leaflet-fade-anim .leaflet-tile-loaded,
|
||||
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.leaflet-zoom-anim .leaflet-zoom-animated {
|
||||
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
-o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-tile,
|
||||
.leaflet-pan-anim .leaflet-tile,
|
||||
.leaflet-touching .leaflet-zoom-animated {
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
-o-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.leaflet-zoom-anim .leaflet-zoom-hide {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* cursors */
|
||||
|
||||
.leaflet-clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
.leaflet-container {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
}
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-control {
|
||||
cursor: auto;
|
||||
}
|
||||
.leaflet-dragging .leaflet-container,
|
||||
.leaflet-dragging .leaflet-clickable {
|
||||
cursor: move;
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
}
|
||||
|
||||
|
||||
/* visual tweaks */
|
||||
|
||||
.leaflet-container {
|
||||
background: #ddd;
|
||||
outline: 0;
|
||||
}
|
||||
.leaflet-container a {
|
||||
color: #0078A8;
|
||||
}
|
||||
.leaflet-container a.leaflet-active {
|
||||
outline: 2px solid orange;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
border: 2px dotted #38f;
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
|
||||
/* general typography */
|
||||
.leaflet-container {
|
||||
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
/* general toolbar styles */
|
||||
|
||||
.leaflet-bar {
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.leaflet-bar a,
|
||||
.leaflet-bar a:hover {
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #ccc;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
.leaflet-bar a,
|
||||
.leaflet-control-layers-toggle {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
display: block;
|
||||
}
|
||||
.leaflet-bar a:hover {
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
.leaflet-bar a:first-child {
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
.leaflet-bar a:last-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-bottom: none;
|
||||
}
|
||||
.leaflet-bar a.leaflet-disabled {
|
||||
cursor: default;
|
||||
background-color: #f4f4f4;
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-bar a {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
|
||||
/* zoom control */
|
||||
|
||||
.leaflet-control-zoom-in,
|
||||
.leaflet-control-zoom-out {
|
||||
font: bold 18px 'Lucida Console', Monaco, monospace;
|
||||
text-indent: 1px;
|
||||
}
|
||||
.leaflet-control-zoom-out {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-zoom-in {
|
||||
font-size: 22px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-zoom-out {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
|
||||
/* layers control */
|
||||
|
||||
.leaflet-control-layers {
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.leaflet-control-layers-toggle {
|
||||
background-image: url(images/layers.png);
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
.leaflet-retina .leaflet-control-layers-toggle {
|
||||
background-image: url(images/layers-2x.png);
|
||||
background-size: 26px 26px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers-toggle {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
}
|
||||
.leaflet-control-layers .leaflet-control-layers-list,
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
|
||||
display: none;
|
||||
}
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-list {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.leaflet-control-layers-expanded {
|
||||
padding: 6px 10px 6px 6px;
|
||||
color: #333;
|
||||
background: #fff;
|
||||
}
|
||||
.leaflet-control-layers-selector {
|
||||
margin-top: 2px;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
.leaflet-control-layers label {
|
||||
display: block;
|
||||
}
|
||||
.leaflet-control-layers-separator {
|
||||
height: 0;
|
||||
border-top: 1px solid #ddd;
|
||||
margin: 5px -10px 5px -6px;
|
||||
}
|
||||
|
||||
|
||||
/* attribution and scale controls */
|
||||
|
||||
.leaflet-container .leaflet-control-attribution {
|
||||
background: #fff;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
margin: 0;
|
||||
}
|
||||
.leaflet-control-attribution,
|
||||
.leaflet-control-scale-line {
|
||||
padding: 0 5px;
|
||||
color: #333;
|
||||
}
|
||||
.leaflet-control-attribution a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.leaflet-control-attribution a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.leaflet-container .leaflet-control-attribution,
|
||||
.leaflet-container .leaflet-control-scale {
|
||||
font-size: 11px;
|
||||
}
|
||||
.leaflet-left .leaflet-control-scale {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control-scale {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.leaflet-control-scale-line {
|
||||
border: 2px solid #777;
|
||||
border-top: none;
|
||||
line-height: 1.1;
|
||||
padding: 2px 5px 1px;
|
||||
font-size: 11px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
|
||||
background: #fff;
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child) {
|
||||
border-top: 2px solid #777;
|
||||
border-bottom: none;
|
||||
margin-top: -2px;
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
|
||||
border-bottom: 2px solid #777;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-attribution,
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-bar {
|
||||
box-shadow: none;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-bar {
|
||||
border: 2px solid rgba(0,0,0,0.2);
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
|
||||
/* popup */
|
||||
|
||||
.leaflet-popup {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
}
|
||||
.leaflet-popup-content-wrapper {
|
||||
padding: 1px;
|
||||
text-align: left;
|
||||
border-radius: 12px;
|
||||
}
|
||||
.leaflet-popup-content {
|
||||
margin: 13px 19px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.leaflet-popup-content p {
|
||||
margin: 18px 0;
|
||||
}
|
||||
.leaflet-popup-tip-container {
|
||||
margin: 0 auto;
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.leaflet-popup-tip {
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
padding: 1px;
|
||||
|
||||
margin: -10px auto 0;
|
||||
|
||||
-webkit-transform: rotate(45deg);
|
||||
-moz-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
-o-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.leaflet-popup-content-wrapper,
|
||||
.leaflet-popup-tip {
|
||||
background: white;
|
||||
|
||||
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 4px 4px 0 0;
|
||||
text-align: center;
|
||||
width: 18px;
|
||||
height: 14px;
|
||||
font: 16px/14px Tahoma, Verdana, sans-serif;
|
||||
color: #c3c3c3;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button:hover {
|
||||
color: #999;
|
||||
}
|
||||
.leaflet-popup-scrolled {
|
||||
overflow: auto;
|
||||
border-bottom: 1px solid #ddd;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.leaflet-oldie .leaflet-popup-content-wrapper {
|
||||
zoom: 1;
|
||||
}
|
||||
.leaflet-oldie .leaflet-popup-tip {
|
||||
width: 24px;
|
||||
margin: 0 auto;
|
||||
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
|
||||
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
|
||||
}
|
||||
.leaflet-oldie .leaflet-popup-tip-container {
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
.leaflet-oldie .leaflet-control-zoom,
|
||||
.leaflet-oldie .leaflet-control-layers,
|
||||
.leaflet-oldie .leaflet-popup-content-wrapper,
|
||||
.leaflet-oldie .leaflet-popup-tip {
|
||||
border: 1px solid #999;
|
||||
}
|
||||
|
||||
|
||||
/* div icon */
|
||||
|
||||
.leaflet-div-icon {
|
||||
background: #fff;
|
||||
border: 1px solid #666;
|
||||
}
|
|
@ -0,0 +1,247 @@
|
|||
{
|
||||
"BD": "Bangladesh",
|
||||
"BE": "Belgium",
|
||||
"BF": "Burkina Faso",
|
||||
"BG": "Bulgaria",
|
||||
"BA": "Bosnia-Herzegovina",
|
||||
"BB": "Barbados",
|
||||
"WF": "Wallis & Futuna",
|
||||
"BL": "Saint Barth\u00e9lemy",
|
||||
"BM": "Bermuda",
|
||||
"BN": "Brunei Darussalam",
|
||||
"BO": "Bolivia",
|
||||
"BH": "Bahrain",
|
||||
"BI": "Burundi",
|
||||
"BJ": "Benin",
|
||||
"BT": "Bhutan",
|
||||
"JM": "Jamaica",
|
||||
"BW": "Botswana",
|
||||
"WS": "Samoa",
|
||||
"BQ": "Sint Eustatius",
|
||||
"BR": "Brazil",
|
||||
"BS": "Bahamas",
|
||||
"JE": "Jersey",
|
||||
"BY": "Belarus",
|
||||
"BZ": "Belize",
|
||||
"RU": "Russia",
|
||||
"RW": "Rwanda",
|
||||
"RS": "Serbia",
|
||||
"LT": "Lithuania",
|
||||
"RE": "R\u00e9union",
|
||||
"TM": "Turkmenistan",
|
||||
"TJ": "Tajikistan",
|
||||
"RO": "Romania",
|
||||
"TK": "Tokelau",
|
||||
"GW": "Guinea-Bissau",
|
||||
"GU": "Guam",
|
||||
"GT": "Guatemala",
|
||||
"GS": "South Georgia & The South Sandwish Islands",
|
||||
"GR": "Greece",
|
||||
"GQ": "Equatorial Guinea",
|
||||
"GP": "Guadeloupe",
|
||||
"JP": "Japan",
|
||||
"GY": "Guyana",
|
||||
"GG": "Guernsey",
|
||||
"GF": "French Guiana",
|
||||
"GE": "Georgia",
|
||||
"GD": "Grenada",
|
||||
"GB": "United Kingdom",
|
||||
"GA": "Gabon",
|
||||
"GN": "Guinea",
|
||||
"GM": "Gambia",
|
||||
"GL": "Greenland",
|
||||
"GI": "Gibralter",
|
||||
"GH": "Ghana",
|
||||
"OM": "Oman",
|
||||
"TN": "Tunisia",
|
||||
"JO": "Jordan",
|
||||
"HR": "Croatia",
|
||||
"HT": "Haiti",
|
||||
"HU": "Hungary",
|
||||
"HK": "Hong Kong",
|
||||
"HN": "Honduras",
|
||||
"VE": "Venezuela",
|
||||
"PR": "Puerto Rico",
|
||||
"PS": "Palestinian Territories",
|
||||
"PW": "Palau",
|
||||
"PT": "Portugal",
|
||||
"KN": "Saint Christopher & Nevis",
|
||||
"AF": "Afghanistan",
|
||||
"IQ": "Iraq",
|
||||
"PA": "Panama",
|
||||
"PF": "French Polynesia",
|
||||
"PG": "Papua New Guinea",
|
||||
"PE": "Peru",
|
||||
"PK": "Pakistan",
|
||||
"PH": "Philippines",
|
||||
"PN": "Pitcairn Islands",
|
||||
"PL": "Poland",
|
||||
"PM": "Saint Pierre & Miquelon",
|
||||
"ZM": "Zambia",
|
||||
"EH": "Western Sahara",
|
||||
"EE": "Estonia",
|
||||
"EG": "Egypt",
|
||||
"ZA": "South Africa",
|
||||
"EC": "Ecuador",
|
||||
"IT": "Italy",
|
||||
"VN": "Vietnam",
|
||||
"SB": "Solomon Islands",
|
||||
"ET": "Ethiopia",
|
||||
"SO": "Somaliland",
|
||||
"ZW": "Zimbabwe",
|
||||
"SA": "Saudi Arabia",
|
||||
"ES": "Spain",
|
||||
"ER": "Eritrea",
|
||||
"ME": "Montenegro",
|
||||
"MD": "Moldova",
|
||||
"MG": "Madagascar",
|
||||
"MF": "Saint Martin",
|
||||
"MA": "Morocco",
|
||||
"MC": "Monaco",
|
||||
"UZ": "Uzbekistan",
|
||||
"MM": "Myanmar",
|
||||
"ML": "Mali",
|
||||
"MO": "Macau",
|
||||
"MN": "Mongolia",
|
||||
"MH": "Marshall Islands",
|
||||
"MK": "Macedonia",
|
||||
"MU": "Mauritius",
|
||||
"MT": "Malta",
|
||||
"MW": "Malawi",
|
||||
"MV": "Maldives",
|
||||
"MQ": "Martinique",
|
||||
"MP": "Northern Mariana Islands",
|
||||
"MS": "Montserrat",
|
||||
"MR": "Mauritania",
|
||||
"IM": "Isle of Man",
|
||||
"UG": "Uganda",
|
||||
"TZ": "Tanzania",
|
||||
"MY": "Malaysia",
|
||||
"MX": "Mexico",
|
||||
"IL": "Israel",
|
||||
"FR": "France",
|
||||
"AW": "Aruba",
|
||||
"SH": "Saint Helena",
|
||||
"FI": "Finland",
|
||||
"FJ": "Fiji",
|
||||
"FK": "Falkland Islands",
|
||||
"FM": "Micronesia",
|
||||
"FO": "Faeroe Islands",
|
||||
"NI": "Nicaragua",
|
||||
"NL": "Netherlands",
|
||||
"NO": "Norway",
|
||||
"NA": "Namibia",
|
||||
"VU": "Vanuatu",
|
||||
"NC": "New Caledonia",
|
||||
"NE": "Niger",
|
||||
"NF": "Norfolk Island",
|
||||
"NG": "Nigeria",
|
||||
"NZ": "New Zealand",
|
||||
"NP": "Nepal",
|
||||
"NR": "Nauru",
|
||||
"NU": "Niue",
|
||||
"CK": "Cook Islands",
|
||||
"CI": "Ivory Coast",
|
||||
"CH": "Switzerland",
|
||||
"CO": "Colombia",
|
||||
"CN": "China",
|
||||
"CM": "Cameroon",
|
||||
"CL": "Chile",
|
||||
"CC": "Cocos (Keeling) Islands",
|
||||
"CA": "Canada",
|
||||
"CG": "Congo (Brazzaville)",
|
||||
"CF": "Central African Republic",
|
||||
"CD": "Congo (Kinshasa)",
|
||||
"CZ": "Czech Republic",
|
||||
"CY": "Cyprus",
|
||||
"CX": "Christmas Island",
|
||||
"CR": "Costa Rica",
|
||||
"PY": "Paraguay",
|
||||
"CW": "Cura\u00e7ao",
|
||||
"CV": "Cape Verde Islands",
|
||||
"CU": "Cuba",
|
||||
"SZ": "Swaziland",
|
||||
"SY": "Syria",
|
||||
"SX": "Sint Maarten",
|
||||
"KG": "Kyrgyzstan",
|
||||
"KE": "Kenya",
|
||||
"SS": "South Sudan",
|
||||
"SR": "Suriname",
|
||||
"KI": "Kiribati",
|
||||
"KH": "Cambodia",
|
||||
"SV": "El Salvador",
|
||||
"KM": "Comoros",
|
||||
"ST": "Sao Tome & Principe",
|
||||
"SK": "Slovakia",
|
||||
"KR": "South Korea",
|
||||
"SI": "Slovenia",
|
||||
"KP": "North Korea",
|
||||
"KW": "Kuwait",
|
||||
"SN": "Senegal",
|
||||
"SM": "San Marino",
|
||||
"SL": "Sierra Leone",
|
||||
"SC": "Seychelles",
|
||||
"KZ": "Kazakhstan",
|
||||
"KY": "Cayman Islands",
|
||||
"SG": "Singapore",
|
||||
"SE": "Sweden",
|
||||
"SD": "Sudan",
|
||||
"DO": "Dominican Republic",
|
||||
"DM": "Dominica",
|
||||
"DJ": "Djibouti",
|
||||
"DK": "Denmark",
|
||||
"DE": "Germany",
|
||||
"YE": "Yemen",
|
||||
"DZ": "Algeria",
|
||||
"US": "United States",
|
||||
"UY": "Uruguay",
|
||||
"YT": "Mayotte",
|
||||
"LB": "Lebanon",
|
||||
"LC": "Saint Lucia",
|
||||
"LA": "Laos",
|
||||
"TV": "Tuvalu",
|
||||
"TW": "Taiwan",
|
||||
"TT": "Trinidad & Tobago",
|
||||
"TR": "Turkey",
|
||||
"LK": "Sri Lanka",
|
||||
"LI": "Liechtenstein",
|
||||
"LV": "Latvia",
|
||||
"TO": "Tonga",
|
||||
"TL": "East Timor",
|
||||
"LU": "Luxembourg",
|
||||
"LR": "Liberia",
|
||||
"LS": "Lesotho",
|
||||
"TH": "Thailand",
|
||||
"TF": "French Southern Territories",
|
||||
"TG": "Togo",
|
||||
"TD": "Chad",
|
||||
"TC": "Turks & Caicos Islands",
|
||||
"LY": "Libya",
|
||||
"VA": "Holy See",
|
||||
"VC": "Saint Vincent & The Grenadines",
|
||||
"AE": "United Arab Emirates",
|
||||
"AD": "Andorra",
|
||||
"AG": "Antigua & Barbuda",
|
||||
"VG": "British Virgin Islands",
|
||||
"AI": "Anguilla",
|
||||
"VI": "United States Virgin Islands",
|
||||
"IS": "Iceland",
|
||||
"IR": "Iran",
|
||||
"AM": "Armenia",
|
||||
"AL": "Albania",
|
||||
"AO": "Angola",
|
||||
"AN": "Netherlands Antilles",
|
||||
"AS": "American Samoa",
|
||||
"AR": "Argentina",
|
||||
"AU": "Australia",
|
||||
"AT": "Austria",
|
||||
"IO": "British Indian Ocean Territory",
|
||||
"IN": "India",
|
||||
"AX": "\u00c5land Islands",
|
||||
"AZ": "Azerbaijan",
|
||||
"IE": "Ireland",
|
||||
"ID": "Indonesia",
|
||||
"UA": "Ukraine",
|
||||
"QA": "Qatar",
|
||||
"MZ": "Mozambique"
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
/* cyrillic-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(../fonts.gstatic.com/s/opensans/v13/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
|
||||
}
|
||||
/* cyrillic */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(../fonts.gstatic.com/s/opensans/v13/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||
}
|
||||
/* greek-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(../fonts.gstatic.com/s/opensans/v13/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+1F00-1FFF;
|
||||
}
|
||||
/* greek */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(../fonts.gstatic.com/s/opensans/v13/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+0370-03FF;
|
||||
}
|
||||
/* vietnamese */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(../fonts.gstatic.com/s/opensans/v13/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(../fonts.gstatic.com/s/opensans/v13/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(../fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local('Oswald Light'), local('Oswald-Light'), url(../fonts.gstatic.com/s/oswald/v10/l1cOQ90roY9yC7voEhngDBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local('Oswald Light'), local('Oswald-Light'), url(../fonts.gstatic.com/s/oswald/v10/HqHm7BVC_nzzTui2lzQTDVtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Oswald Regular'), local('Oswald-Regular'), url(../fonts.gstatic.com/s/oswald/v10/yg0glPPxXUISnKUejCX4qfesZW2xOQ-xsNqO47m55DA.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Oswald Regular'), local('Oswald-Regular'), url(../fonts.gstatic.com/s/oswald/v10/pEobIV_lL25TKBpqVI_a2w.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Oswald Bold'), local('Oswald-Bold'), url(../fonts.gstatic.com/s/oswald/v10/dI-qzxlKVQA6TUC5RKSb3xJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Oswald';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Oswald Bold'), local('Oswald-Bold'), url(../fonts.gstatic.com/s/oswald/v10/bH7276GfdCjMjApa_dkG6VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 298 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 827 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 395 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 777 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 285 B |
After Width: | Height: | Size: 931 B |
After Width: | Height: | Size: 761 B |
After Width: | Height: | Size: 313 B |
After Width: | Height: | Size: 874 B |
After Width: | Height: | Size: 849 B |
After Width: | Height: | Size: 481 B |
After Width: | Height: | Size: 504 B |
After Width: | Height: | Size: 294 B |
After Width: | Height: | Size: 507 B |
After Width: | Height: | Size: 290 B |
After Width: | Height: | Size: 441 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 296 B |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 825 B |
After Width: | Height: | Size: 263 B |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 621 B |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 591 B |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 530 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 366 B |
After Width: | Height: | Size: 320 B |
After Width: | Height: | Size: 291 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 413 B |
After Width: | Height: | Size: 446 B |
After Width: | Height: | Size: 845 B |
After Width: | Height: | Size: 295 B |
After Width: | Height: | Size: 295 B |
After Width: | Height: | Size: 650 B |
After Width: | Height: | Size: 443 B |