diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..dae4c2e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# EditorConfig - http://EditorConfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 2 + +[Makefile] +indent_style = tab diff --git a/.gitignore b/.gitignore index 654255e..f07c10c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,28 +1,7 @@ -# Logs -logs -*.log - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directory -# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git +npm-debug.log node_modules -public/ +public +static/js/*.js +static/css/*.css +dev.pid +auth.token diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7cf9142 --- /dev/null +++ b/Makefile @@ -0,0 +1,91 @@ +DOMAIN="libp2p.io" +IPFSLOCAL="http://localhost:8080/ipfs/" +IPFSGATEWAY="https://ipfs.io/ipfs/" +NPMBIN=./node_modules/.bin +NPM=npm +OUTPUTDIR=public +PIDFILE=dev.pid + +build: clean install lint js css minify + @hugo && \ + echo "" && \ + echo "Site built out to ./public dir" + +help: + @echo 'Makefile for a libp2p, a hugo built static site. ' + @echo ' ' + @echo 'Usage: ' + @echo ' make Build the optimised site to ./$(OUTPUTDIR) ' + @echo ' make serve Preview the production ready site at http://localhost:1313 ' + @echo ' make lint Check your JS and CSS are ok ' + @echo ' make js Browserify the *.js to ./static/js ' + @echo ' make css Compile the *.less to ./static/css ' + @echo ' make minify Optimise all the things! ' + @echo ' make dev Start a hot-reloding dev server on http://localhost:1313 ' + @echo ' make dev-stop Stop the dev server ' + @echo ' make deploy Add the website to your local IPFS node ' + @echo ' make publish-to-domain Update $(DOMAIN) DNS record to the ipfs hash from the last deploy ' + @echo ' make clean remove the generated files ' + @echo ' ' + +serve: install lint js css minify + hugo server + +node_modules: + $(NPM) i + +install: node_modules + +lint: install + $(NPMBIN)/standard && $(NPMBIN)/lessc --lint less/*.less + +js: install + $(NPMBIN)/browserify --noparse=jquery js/{index,implementations,bundles,media}.js -p [ factor-bundle -o static/js/index.js -o static/js/implementations.js -o static/js/bundles.js -o static/js/media.js ] -o static/js/common.js + +css: install + for f in less/*.less; do $(NPMBIN)/lessc $$f --autoprefix='> 1%, last 2 versions' --clean-css static/css/$$(basename $$f .less).css; done + +minify: install minify-js minify-img + +minify-js: install + find static/js -name '*.js' -exec $(NPMBIN)/uglifyjs {} --compress --output {} \; + +minify-img: install + find static/img -type d -exec $(NPMBIN)/imagemin {}/* --out-dir={} \; + +dev: install js css + [ ! -f $(PIDFILE) ] || rm $(PIDFILE) ; \ + touch $(PIDFILE) ; \ + ($(NPMBIN)/watchify --noparse=jquery js/{index,implementations,bundles,media}.js -p [ factor-bundle -o static/js/index.js -o static/js/implementations.js -o static/js/bundles.js -o static/js/media.js ] -o static/js/common.js & echo $$! >> $(PIDFILE) ; \ + $(NPMBIN)/nodemon --quiet --watch less --ext less --exec "make css" & echo $$! >> $(PIDFILE) ; \ + hugo server & echo $$! >> $(PIDFILE)) + +dev-stop: + touch $(PIDFILE) ; \ + [ -z "`(cat $(PIDFILE))`" ] || kill `(cat $(PIDFILE))` ; \ + rm $(PIDFILE) + +deploy: + ipfs swarm peers >/dev/null || (echo "ipfs daemon must be online to publish" && exit 1) + ipfs add -r -q $(OUTPUTDIR) | tail -n1 >versions/current + cat versions/current >>versions/history + @export hash=`cat versions/current`; \ + echo ""; \ + echo "published website:"; \ + echo "- $(IPFSLOCAL)$$hash"; \ + echo "- $(IPFSGATEWAY)$$hash"; \ + echo ""; \ + echo "next steps:"; \ + echo "- ipfs pin add -r /ipfs/$$hash"; \ + echo "- make publish-to-domain"; \ + +publish-to-domain: auth.token versions/current + DNSIMPLE_TOKEN=$(shell cat auth.token) \ + ./dnslink.sh $(DOMAIN) $(shell cat versions/current) + +clean: + [ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR) && \ + [ ! -d static/js ] || rm -rf static/js/*.js && \ + [ ! -d static/css ] || rm -rf static/css/*.css + +.PHONY: build help install lint js css minify minify-js minify-img dev stopdev deploy publish-to-domain clean diff --git a/README.md b/README.md index f7de069..74282b3 100755 --- a/README.md +++ b/README.md @@ -1,22 +1,93 @@ -# [libp2p-website](libp2p.io) - -## Implementations & Bundles - -JSON arrays to update implementation & bundle status can be found in `/static/js/data` - -## Development - -```sh -> hugo serve -# ... -Web Server is available at //localhost:1313/ -``` - -## Publish - -```sh -> hugo -# .. - -> ipfs add -r public -``` +# [libp2p-website](libp2p.io) + +[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) +[![](https://img.shields.io/badge/project-libp2p-blue.svg?style=flat-square)](http://github.com/libp2p/libp2p) +[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) + +> Official website for libp2p http://libp2p.io + +This repository contains the source code for the libp2p website available at http://libp2p.io + +This project builds out a static site to explain libp2p, ready for deployment on ipfs. It uses `hugo` to glue the html together. It provides an informative, public-facing website. The most important things are the words, concepts and links it presents. + +Much of the site content is data-driven, take a look at the `data` dir where find the data behind the implementations and bundles information as json. + +## Install + +```sh +git clone https://github.com/libp2p/website +``` + +## Usage + +To deploy the site libp2p.io, run: + +```sh +# Build out the optimised site to ./public, where you can check it locally. +make + +# Add the site to your local ipfs, you can check it via /ipfs/ +make deploy + +# Save your dnsimple api token as auth.token +cat "" > auth.token + +# Update the dns record for libp2p to point to the new ipfs hash. +make publish-to-domain +``` + +The following commands are available: + +### `make` + +Build the optimised site to the `./public` dir + +### `make serve` + +Preview the production ready site at http://localhost:1313 _(requires `hugo` on your `PATH`)_ + +### `make dev` + +Start a hot-reloading dev server on http://localhost:1313 _(requires `hugo` on your `PATH`)_ + +### `make dev-stop` + +Stop that server (and take a break!) + +### `make minfy` + +Optimise all the things! + +### `make deploy` + +Build the site in the `public` dir and add to `ipfs` _(requires `hugo` & `ipfs` on your `PATH`)_ + +### `make publish-to-domain` :rocket: + +Update the DNS record for `libp2p.io`. _(requires an `auto.token` file to be saved in the project root.)_ + +If you'd like to update the dnslink TXT record for another domain, pass `DOMAIN=` like so: + +```sh +make publish-to-domain DOMAIN=tableflip.io +``` + +--- + +See the `Makefile` for the full list or run `make help` in the project root. + +## Dependencies + +* `hugo` to build website +* `ipfs` to deploy changes +* `jq`, `curl` and an `auth.token` file in the project root containing your dnsimple api token to update the dns. + +All other dependencies are pulled from `npm` and the Makefile will run `npm install` for you because it's nice like that. + +## Contribute + +Please do! Check out [the issues](https://github.com/libp2p/website/issues), or open a PR! + +Check out our [notes on contributing ](https://github.com/libp2p/js-libp2p#contribute) for more information on how we work, and about contributing in general. Please be aware that all interactions related to libp2p are subject to the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). + +Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification. diff --git a/config.toml b/config.toml index 7002d50..8fc2363 100755 --- a/config.toml +++ b/config.toml @@ -5,3 +5,4 @@ copyright = "libp2p - All rights reserved." canonifyurls = true relativeURLs = true baseURL = "" +googleAnalytics = "UA-96910779-2" diff --git a/content/bundles.html b/content/bundles.html new file mode 100755 index 0000000..d68d9cc --- /dev/null +++ b/content/bundles.html @@ -0,0 +1,79 @@ + + + + {{ partial "head.html" . }} + + Bundles - libp2p + + + +{{ partial "topbar.html" . }} + +
+
+
+

Bundles.

+
+
+

libp2p provides ready-to-use bundles for different use cases and different languages. You can use these + to get all the functionality in one package, instead of including and bundling the different modules + yourself. See it as a quickstart.

+ +
+
+
+ +
+
+ + {{ range where $.Site.Data.bundles "status" "live" }} + {{ partial "bundle.html" . }} + {{ end }} + +
+ {{ range where $.Site.Data.bundles "status" "coming-soon" }} +
+
+
+ {{ .name }} +
+
In progress...
+
+
+ {{ end }} +
+
+ A 3 cube tetris block in a minimal L shape, pointing upwards. +
+
+
+
+ A single cube, corner pointing upwards; The isomorphic perspective revealing an hexangonal outline. +
+
+
+ +
+
+
+ +
+ +{{ partial "footer.html" . }} + + + + + + diff --git a/content/bundles.md b/content/bundles.md deleted file mode 100755 index b12d7c7..0000000 --- a/content/bundles.md +++ /dev/null @@ -1,8 +0,0 @@ -+++ -draft = false -date = "2017-03-14T12:01:31+02:00" -title = "bundles" -layout = "bundles" -type = "bundles" -+++ - diff --git a/content/implementations.html b/content/implementations.html new file mode 100755 index 0000000..a788d3c --- /dev/null +++ b/content/implementations.html @@ -0,0 +1,147 @@ + + + + + {{ partial "head.html" . }} + + Implementations - libp2p + + + + + {{ partial "topbar.html" . }} + +
+
+
+

Implementations.

+
+

libp2p is composed of many modules and different parts. Here you can see an overview over all the different libraries we develop, along with the status of the implementation.

+ + +
+
+
+ +
+
+ cube_shape + + + + + + + + + + +
+
+ +
+
+ + {{ range $.Site.Data.implementations}} + {{ partial "implementation.html" . }} + {{ end }} + +
+
+
+ +
+ + {{ partial "footer.html" . }} + + + + + + + diff --git a/content/implementations.md b/content/implementations.md deleted file mode 100755 index bbfc341..0000000 --- a/content/implementations.md +++ /dev/null @@ -1,8 +0,0 @@ -+++ -date = "2017-03-14T13:28:58+02:00" -title = "implementations" -draft = false -type = "implementations" -layout = "implementations" -+++ - diff --git a/layouts/index.html b/content/index.html similarity index 55% rename from layouts/index.html rename to content/index.html index 0529c86..24d32cb 100755 --- a/layouts/index.html +++ b/content/index.html @@ -1,71 +1,16 @@ - - - - - libp2p - - - - + {{ partial "head.html" . }} + + libp2p - -
- -
+{{ partial "topbar.html" . }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
- -
-

A modular network stack.

-

Run your network applications free from runtime and address services, independently of their location.

-
- TRY LIBP2P - -
-
-
-
+ {{ partial "splash.html" . }}
@@ -161,14 +106,40 @@

Features.

Implementations In

- + {{ range where $.Site.Data.bundles "status" "live" }} + + {{ end }} + {{ range where $.Site.Data.bundles "status" "coming-soon" }} + + {{ end }} +
+
+ A 3 cube tetris block in a minimal L shape, pointing upwards. +
+
+
+
+ A single cube, corner pointing upwards; The isomorphic perspective revealing an hexangonal outline. +
+
-

Publications & Talks.

+

Publications & Talks.

@@ -196,67 +167,15 @@
Join Us
TWITTER
-
- - - + {{ partial "contributors.html" . }} - - - - - - -
- - - -
-
-
-
-
-

libp2p was started and is sponsored by

-

- -

- - -
-
+{{ partial "footer.html" . }} - - - - - - - - - - - + diff --git a/content/media.html b/content/media.html new file mode 100755 index 0000000..b6e83b8 --- /dev/null +++ b/content/media.html @@ -0,0 +1,42 @@ + + + + {{ partial "head.html" . }} + + Media - libp2p + + + +{{ partial "topbar.html" . }} + +
+
+
+

Media.

+
Talks, publications and demos.
+ +
+
+
+ +
+

libp2p ❤ devp2p: IPFS and Ethereum Networking - David Dias and Juan Benet

+
+ +
+
+ +
+

Peer to Peer Networks at the Decentralised Web Summit

+
+
+
+
+ + {{ partial "footer.html" . }} + + + + + + diff --git a/content/media.md b/content/media.md deleted file mode 100755 index 927fec2..0000000 --- a/content/media.md +++ /dev/null @@ -1,8 +0,0 @@ -+++ -date = "2017-03-14T13:29:06+02:00" -title = "media" -draft = false -type = "media" -layout = "media" -+++ - diff --git a/data/bundles.json b/data/bundles.json new file mode 100644 index 0000000..2b72163 --- /dev/null +++ b/data/bundles.json @@ -0,0 +1,303 @@ +[ + { + "id": "browser-js", + "name": "Browser JS", + "status": "live", + "image": "/img/logo_1.png", + "github": "https://github.com/ipfs/js-libp2p-ipfs-browser", + "categories": [ + { + "id": "transport", + "modules": [ + { + "id": "libp2p-websockets", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-websockets" + }, + { + "id": "libp2p-webrtc-star", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-star" + } + ] + }, + { + "id": "stream-muxer", + "modules": [ + { + "id": "libp2p-multiplex", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-multiplex" + }, + { + "id": "libp2p-spdy", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-spdy" + } + ] + }, + { + "id": "crypto-channels", + "modules": [ + { + "id": "libp2p-secio", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-secio" + } + ] + }, + { + "id": "peer-routing", + "modules": [ + { + "id": "libp2p-kad-dht", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-kad-dht" + } + ] + }, + { + "id": "record-stores", + "modules": [ + { + "id": "record", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-record" + } + ] + }, + { + "id": "discovery", + "modules": [ + { + "id": "libp2p-webrtc-star", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-star" + }, + { + "id": "libp2p-railing", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-railing" + } + ] + } + ] + }, + { + "id": "node-js", + "name": "Node JS", + "status": "live", + "image": "/img/logo_2.png", + "github": "https://github.com/ipfs/js-libp2p-ipfs-nodejs", + "categories": [ + { + "id": "transport", + "modules": [ + { + "id": "libp2p-tcp", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-tcp" + }, + { + "id": "libp2p-websockets", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-websockets" + }, + { + "id": "libp2p-webrtc-star", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-star" + } + ] + }, + { + "id": "stream-muxer", + "modules": [ + { + "id": "libp2p-multiplex", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-multiplex" + }, + { + "id": "libp2p-spdy", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-spdy" + } + ] + }, + { + "id": "crypto-channels", + "modules": [ + { + "id": "libp2p-secio", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-secio" + } + ] + }, + { + "id": "peer-routing", + "modules": [ + { + "id": "libp2p-kad-dht", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-kad-dht" + } + ] + }, + { + "id": "record-stores", + "modules": [ + { + "id": "record", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-record" + } + ] + }, + { + "id": "discovery", + "modules": [ + { + "id": "libp2p-mdns", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-mdns" + }, + { + "id": "libp2p-webrtc-star", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-star" + }, + { + "id": "libp2p-railing", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-railing" + } + ] + } + ] + }, + { + "id": "golang", + "name": "Golang", + "status": "live", + "image": "/img/logo_3.png", + "github": "https://github.com/libp2p/go-libp2p", + "categories": [ + { + "id": "transport", + "modules": [ + { + "id": "go-tcp-transport", + "status": "Done", + "url": "https://github.com/libp2p/go-tcp-transport" + }, + { + "id": "go-ws-transport", + "status": "Done", + "url": "https://github.com/libp2p/go-ws-transport" + } + ] + }, + { + "id": "stream-muxer", + "modules": [ + { + "id": "libp2p-yamux", + "status": "Done", + "url": "" + }, + { + "id": "libp2p-multiplex", + "status": "Done", + "url": "" + } + ] + }, + { + "id": "crypto-channels", + "modules": [ + { + "id": "libp2p-secio", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-secio" + } + ] + }, + { + "id": "peer-routing", + "modules": [ + { + "id": "libp2p-kad-dht", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-kad-dht" + } + ] + }, + { + "id": "record-stores", + "modules": [ + { + "id": "libp2p-kad-dht", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-kad-dht" + } + ] + }, + { + "id": "nat-traversal", + "name": "NAT Traversal", + "modules": [ + { + "id": "libp2p-nat", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-nat" + } + ] + }, + { + "id": "discovery", + "modules": [ + { + "id": "libp2p-mdns", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p/blob/master/p2p/discovery/mdns.go" + }, + { + "id": "libp2p-railing", + "status": "Unstable", + "url": "" + } + ] + } + ] + }, + { + "name": "Haskell", + "status": "coming-soon", + "image": "/img/logo_4.png", + "github": "", + "categories": [] + }, + { + "name": "Java", + "status": "coming-soon", + "image": "/img/logo_java.png", + "github": "", + "categories": [] + }, + { + "name": "Python", + "status": "coming-soon", + "image": "/img/logo_6.png", + "github": "", + "categories": [] + }, + { + "name": "Rust", + "status": "coming-soon", + "image": "/img/logo_7.png", + "github": "", + "categories": [] + } +] diff --git a/data/implementations.json b/data/implementations.json new file mode 100644 index 0000000..be630df --- /dev/null +++ b/data/implementations.json @@ -0,0 +1,585 @@ +[ + { + "id": "transports", + "interface": "https://github.com/libp2p/interface-transport", + "libs": [ + { + "id": "libp2p-tcp", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-tcp" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-tcp" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-tcp-transport" + } + ] + }, + { + "id": "libp2p-quic", + "langs": [ + { + "name": "Browser JS", + "status": "Missing", + "url": "" + }, + { + "name": "Node.js", + "status": "Missing", + "url": "" + }, + { + "name": "Go", + "status": "Unstable", + "url": "https://github.com/marten-seemann/libp2p-quic-transport" + } + ] + }, + { + "id": "libp2p-websockets", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-websockets" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-websockets" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-ws-transport" + } + ] + }, + { + "id": "libp2p-webrtc-star", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-star" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-star" + }, + { + "name": "Go", + "status": "Missing", + "url": "" + } + ] + }, + { + "id": "libp2p-webrtc-direct", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-direct" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-webrtc-direct" + }, + { + "name": "Go", + "status": "Missing", + "url": "" + } + ] + }, + { + "id": "libp2p-udp", + "langs": [ + { + "name": "Browser JS", + "status": "Missing", + "url": "" + }, + { + "name": "Node.js", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-udp" + }, + { + "name": "Go", + "status": "Unstable", + "url": "https://github.com/libp2p/go-udp-transport" + } + ] + }, + { + "id": "libp2p-utp", + "langs": [ + { + "name": "Browser JS", + "status": "Missing", + "url": "" + }, + { + "name": "Node.js", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-utp" + }, + { + "name": "Go", + "status": "Usable", + "url": "https://github.com/libp2p/go-utp-transport" + } + ] + } + ] + }, + { + "id": "stream-muxers", + "interface": "https://github.com/libp2p/interface-stream-muxer", + "libs": [ + { + "id": "libp2p-spdy", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-spdy" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-spdy" + }, + { + "name": "Go", + "status": "Unstable", + "url": "https://github.com/docker/spdystream" + } + ] + }, + { + "id": "libp2p-multiplex", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-multiplex" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-multiplex" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/whyrusleeping/go-smux-multiplex" + } + ] + }, + { + "id": "libp2p-yamux", + "langs": [ + { + "name": "Browser JS", + "status": "Missing", + "url": "" + }, + { + "name": "Node.js", + "status": "Missing", + "url": "" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/hashicorp/yamux" + } + ] + } + ] + }, + { + "id": "crypto-channels", + "libs": [ + { + "id": "libp2p-secio", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-secio" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-secio" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-secio" + } + ] + } + ] + }, + { + "id": "connection-upgrades", + "title": "Connection & Connection Upgrades", + "libs": [ + { + "id": "libp2p-conn", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/interface-connection" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/interface-connection" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-conn" + } + ] + }, + { + "id": "half-closed-connection-upgrade", + "langs": [ + { + "name": "Browser JS", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-half-closed-connection-upgrade" + }, + { + "name": "Node.js", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-half-closed-connection-upgrade" + }, + { + "name": "Go", + "status": "Missing", + "url": "" + } + ] + } + ] + }, + { + "id": "peer-routing", + "interface": "https://github.com/libp2p/interface-peer-routing", + "libs": [ + { + "id": "libp2p-kad-dht", + "langs": [ + { + "name": "Browser JS", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-dht" + }, + { + "name": "Node.js", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-dht" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-kad-dht" + } + ] + } + ] + }, + { + "id": "record-stores", + "interface": "https://github.com/libp2p/interface-record-store", + "libs": [ + { + "id": "record", + "langs": [ + { + "name": "Browser JS", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-record" + }, + { + "name": "Node.js", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-record" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-record" + }, + { + "name": "C#", + "status": "Unstable", + "url": "https://github.com/libp2p/go-libp2p-record" + } + ] + } + ] + }, + { + "id": "nat-traversal", + "title": "NAT Traversal", + "libs": [ + { + "id": "libp2p-nat", + "langs": [ + { + "name": "Browser JS", + "status": "Missing", + "url": "" + }, + { + "name": "Node.js", + "status": "Missing", + "url": "" + }, + { + "name": "Go", + "status": "Unstable", + "url": "https://github.com/libp2p/go-libp2p-nat" + } + ] + } + ] + }, + { + "id": "discovery", + "interface": "https://github.com/libp2p/interface-peer-discovery", + "libs": [ + { + "id": "bootstrap", + "langs": [ + { + "name": "Browser JS", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-railing" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-railing" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/ipfs/go-ipfs/blob/master/core/bootstrap.go" + } + ] + }, + { + "id": "random-walk", + "langs": [ + { + "name": "Browser JS", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-random-walk" + }, + { + "name": "Node.js", + "status": "Unstable", + "url": "https://github.com/libp2p/js-libp2p-random-walk" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-kad-dht" + } + ] + }, + { + "id": "mdns-discovery", + "langs": [ + { + "name": "Browser JS", + "status": "Missing", + "url": "" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-mdns" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p/blob/master/p2p/discovery/mdns.go" + } + ] + } + ] + }, + { + "id": "utils", + "title": "General Purpose Utils & Datatypes", + "libs": [ + { + "id": "crypto", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-crypto" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-crypto" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-crypto" + } + ] + }, + { + "id": "libp2p-ping", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-ping" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-ping" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p/p2p/protocol/ping" + } + ] + }, + { + "id": "libp2p-peer-id", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-peer-id" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-peer-id" + }, + { + "name": "Go", + "status": "Missing", + "url": "" + } + ] + }, + { + "id": "libp2p-peer-info", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-peer-info" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-peer-info" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-peer" + } + ] + }, + { + "id": "libp2p-peer-book", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-peer-book" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-peer-book" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p-peerstore" + } + ] + }, + { + "id": "libp2p-swarm", + "langs": [ + { + "name": "Browser JS", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-swarm" + }, + { + "name": "Node.js", + "status": "Done", + "url": "https://github.com/libp2p/js-libp2p-swarm" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/host/basic" + } + ] + } + ] + }, + { + "id": "others", + "libs": [ + { + "id": "libp2p-floodsub", + "langs": [ + { + "name": "Browser JS", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-floodsub" + }, + { + "name": "Node.js", + "status": "Usable", + "url": "https://github.com/libp2p/js-libp2p-floodsub" + }, + { + "name": "Go", + "status": "Done", + "url": "https://github.com/libp2p/go-floodsub" + } + ] + } + ] + } +] diff --git a/dnslink.sh b/dnslink.sh new file mode 100755 index 0000000..019c243 --- /dev/null +++ b/dnslink.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +# +# Usage: +# DNSIMPLE_TOKEN= ./dnslink.sh +# +# Example: +# DNSIMPLE_TOKEN=trustno1 ./dnslink.sh website.protocol.ai Qmfoobar +# +# Dependencies: +# - bash +# - curl +# - jq +# +# From: +# https://raw.githubusercontent.com/ipfs/infrastructure/master/scripts/dnslink.sh +# + +set -e + +ZONE="$1" +HASH="$2" + +([ ! -z "$DNSIMPLE_TOKEN" ] && [ ! -z "$ZONE" ] && [ ! -z "$HASH" ]) \ + || (echo "Usage: DNSIMPLE_TOKEN= ./dnslink.sh " && exit 1) + +RECORD_NAME="_dnslink" +RECORD_TTL=120 + +record_id=$( + curl -s "https://api.dnsimple.com/v1/domains/$ZONE/records?name=$RECORD_NAME&type=TXT" \ + -H "X-DNSimple-Domain-Token: $DNSIMPLE_TOKEN" \ + -H "Accept: application/json" \ + | jq -r '.[].record.id' +) + +if [ -z "$record_id" ]; then + curl -v -s -X POST "https://api.dnsimple.com/v1/domains/$ZONE/records" \ + -H "X-DNSimple-Domain-Token: $DNSIMPLE_TOKEN" \ + -H "Accept: application/json" \ + -H "Content-Type: application/json" \ + -d "{\"record\":{ \"name\":\"$RECORD_NAME\", \"record_type\":\"TXT\", \"content\":\"dnslink=/ipfs/$HASH\", \"ttl\":\"$RECORD_TTL\" }}" \ + | jq -r '.record' \ + && printf "\\nIt looks like we're good: https://ipfs.io/ipns/$ZONE\\n" +else + curl -v -s -X PUT "https://api.dnsimple.com/v1/domains/$ZONE/records/$record_id" \ + -H "X-DNSimple-Domain-Token: $DNSIMPLE_TOKEN" \ + -H "Accept: application/json" \ + -H "Content-Type: application/json" \ + -d "{\"record\":{ \"content\":\"dnslink=/ipfs/$HASH\", \"name\":\"$RECORD_NAME\", \"ttl\":\"$RECORD_TTL\" }}" \ + | jq -r '.record' \ + && printf "\\nIt looks like we're good: https://ipfs.io/ipns/$ZONE\\n" +fi diff --git a/js/bundles.js b/js/bundles.js new file mode 100755 index 0000000..4a335fe --- /dev/null +++ b/js/bundles.js @@ -0,0 +1,123 @@ +var $ = require('jquery') +var initPage = require('./lib/init-page') + +initPage() + +$(function () { + $('nav a', 'article').on('click', function (e) { + e.preventDefault() + var mobile = $(window).innerWidth() <= 767 + var $nav = $(this) + var $parentNav = $nav.closest('nav') + var $parent = $nav.closest('section') + var showUl = $nav.data('info') + + $parentNav.children('a').each(function () { + $(this).removeClass('active') + }) + $nav.addClass('active') + + $('ul', $parent).each(function () { + $(this).removeClass('show') + }) + $('ul' + '.' + showUl, $parent).addClass('show') + alignment() + + if (mobile) { + $parentNav.css('display', 'none') + } + $parent.find('.active-link span').text($nav.text()) + }) + + function alignment () { + $('ul.calc-col.show').each(function () { + var $ul = $(this) + var ulWidth = $ul.outerWidth() + var liCount = $ul[0].childElementCount + var colCount = 0 + + if (liCount > 0 && liCount <= 5) { + colCount = 1 + $ul.addClass('one-col') + } else if (liCount <= 10) { + colCount = 2 + $ul.addClass('two-col') + } else { + colCount = 3 + $ul.addClass('three-col') + } + + var maxWidth = 0 + $ul.children('li').each(function () { + var $li = $(this) + $li.css({'min-width': '0', 'width': 'auto'}) + + if ($li.width() > maxWidth) maxWidth = $li.width() + }) + $ul.children('li').css({'min-width': '100px', 'max-width': maxWidth + 15 + 'px', 'width': '100%'}) + + if (colCount === 2) { + var pad = (ulWidth - (((maxWidth + 15) * 2) + 60)) / 2 + $ul.css({'padding-left': pad + 'px', 'padding-right': pad + 'px'}) + } + }) + } + + $(window).on('load resize', function () { + alignment() + }) + + $('a.scroll').on('click', function (e) { + e.preventDefault() + var scrollToId = $(this).attr('href') + var $scrollTo = $(scrollToId) + $('html, body').animate({scrollTop: $scrollTo.offset().top - 100}, 500, 'swing') + + var mobile = $(window).innerWidth() <= 767 + if (mobile) { + var $columns = $(this).closest('.columns') + var $links = $columns.closest('.links') + $columns.css('display', 'none') + $links.find('.active-link .copy-block').html($(this).html()) + } + }) + + $('.active-link', 'aside.left').on('click', function (e) { + e.preventDefault() + var $link = $(this) + var $parent = $link.closest('aside.left') + var $nav = $parent.find('nav') + + if ($nav.css('display') === 'flex') { + $nav.css('display', 'none') + } else { + $nav.css('display', 'flex') + } + }) + + $('.active-link', '.links').on('click', function (e) { + e.preventDefault() + var $link = $(this) + var $parent = $link.closest('.links') + var $columns = $parent.find('.columns') + + if ($columns.css('display') === 'flex') { + $columns.css('display', 'none') + } else { + $columns.css('display', 'flex') + } + }) + + $(window).on('click', function (e) { + var $elem = e.target + var mobile = $(window).innerWidth() <= 767 + if (mobile) { + if (!$($elem.closest('aside.left')).length) { + $('aside.left nav:visible').css('display', 'none') + } + if (!$($elem.closest('.links')).length) { + $('.columns', '.links').css('display', 'none') + } + } + }) +}) diff --git a/js/implementations.js b/js/implementations.js new file mode 100755 index 0000000..ae48393 --- /dev/null +++ b/js/implementations.js @@ -0,0 +1,178 @@ +var $ = require('jquery') +var initPage = require('./lib/init-page') + +initPage() + +$(function () { + $('section table').each(showData) + + function showData (i, table) { + var $table = $(table) + // $table.width(categories.length * 95) + var $parent = $table.closest('.table') + var tableHeight = $parent.find('.title').height() + + $parent.find('.info').height() + + ($(window).innerWidth() < 940 ? 0 : $parent.find('.description').height()) + $parent.height(tableHeight) + } + + $('td').hover(function () { + $(this).find('i').removeClass('icon-hexagon').addClass('icon-cat') + }, function () { + $(this).find('i').addClass('icon-hexagon').removeClass('icon-cat') + }) + + $('a.scroll').on('click', function (e) { + e.preventDefault() + var scrollToId = $(this).attr('href') + var $scrollTo = $(scrollToId) + $('html, body').animate({scrollTop: $scrollTo.offset().top - 100 - 270}, 1000, 'swing') + + var mobile = $(window).innerWidth() <= 940 + if (mobile) { + var $columns = $(this).closest('.columns') + var $links = $columns.closest('.links') + $columns.css('display', 'none') + $links.find('.active-link .copy-block').html($(this).html()) + } + }) + + $('.active-link', '.links').on('click', function (e) { + e.preventDefault() + var $link = $(this) + var $parent = $link.closest('.links') + var $columns = $parent.find('.columns') + + if ($columns.css('display') === 'flex') { + $columns.css('display', 'none') + } else { + $columns.css('display', 'flex') + } + }) + + $(window).on('load resize scroll', function () { + fadeInCube() + }) + + function fadeInCube () { + var $cube = $('main > .cube') + var $articleImpl = $('article.implementations') + var $header = $('body > header') + var scrollTop = $(window).scrollTop() + + var $transports = $('#transports') + var $other = $('#others') + var $streamMuxers = $('#stream-muxers') + var $cryptoChannels = $('#crypto-channels') + var $connectionUpgrades = $('#connection-upgrades') + var $peerRouting = $('#peer-routing') + var $recordStores = $('#record-stores') + var $natTraversal = $('#nat-traversal') + var $discovery = $('#discovery') + var $utils = $('#utils') + + var sectionMarginTop = parseInt($transports.css('margin-top')) + var headerHeight = $header.outerHeight() + + if (scrollTop >= $articleImpl.outerHeight() - 26 && scrollTop <= $other.offset().top - headerHeight) { + $cube.addClass('fixed') + } else { + $cube.removeClass('fixed') + } + + // var minHeight = 0 + var maxHeight = 0 + var opacity = 0.0 + + if (scrollTop >= 235 && + scrollTop <= $transports.offset().top - headerHeight - sectionMarginTop + 140) { + maxHeight = $transports.offset().top - headerHeight - sectionMarginTop + 140 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.transports').css('opacity', opacity) + } else { + $cube.find('.transports').css('opacity', 0) + } + if (scrollTop >= $streamMuxers.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $streamMuxers.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $streamMuxers.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.stream-muxers').css('opacity', opacity) + } else { + $cube.find('.stream-muxers').css('opacity', 0) + } + if (scrollTop >= $cryptoChannels.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $cryptoChannels.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $cryptoChannels.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.crypto-channels').css('opacity', opacity) + } else { + $cube.find('.crypto-channels').css('opacity', 0) + } + if (scrollTop >= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.connection-upgrades').css('opacity', opacity) + } else { + $cube.find('.connection-upgrades').css('opacity', 0) + } + if (scrollTop >= $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.peer-routing').css('opacity', opacity) + } else { + $cube.find('.peer-routing').css('opacity', 0) + } + if (scrollTop >= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.record-stores').css('opacity', opacity) + } else { + $cube.find('.record-stores').css('opacity', 0) + } + if (scrollTop >= $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.nat-traversal').css('opacity', opacity) + } else { + $cube.find('.nat-traversal').css('opacity', 0) + } + if (scrollTop >= $discovery.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.discovery').css('opacity', opacity) + } else { + $cube.find('.discovery').css('opacity', 0) + } + if (scrollTop >= $utils.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.utils').css('opacity', opacity) + } else { + $cube.find('.utils').css('opacity', 0) + } + if (scrollTop >= $other.offset().top - headerHeight - sectionMarginTop - 60 && + scrollTop <= $other.offset().top - headerHeight - sectionMarginTop - 60 + 200) { + maxHeight = $other.offset().top - headerHeight - sectionMarginTop - 60 + 200 + opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0 + $cube.find('.others').css('opacity', opacity) + } else { + $cube.find('.others').css('opacity', 0) + } + } + + $(window).on('click', function (e) { + var $elem = e.target + var mobile = $(window).innerWidth() <= 767 + if (mobile) { + if (!$($elem.closest('.links')).length) { + $('.columns', '.links').css('display', 'none') + } + } + }) +}) diff --git a/js/index.js b/js/index.js new file mode 100755 index 0000000..76f9750 --- /dev/null +++ b/js/index.js @@ -0,0 +1,5 @@ +var initPage = require('./lib/init-page') +var initLogo = require('./lib/logo') + +initPage() +initLogo() diff --git a/js/lib/fade-in-article.js b/js/lib/fade-in-article.js new file mode 100644 index 0000000..305b593 --- /dev/null +++ b/js/lib/fade-in-article.js @@ -0,0 +1,26 @@ +var $ = require('jquery') + +module.exports = function fadeInArcticle () { + initFadeInArcticle() + $(window).on('load resize scroll', function () { + initFadeInArcticle() + }) +} + +function initFadeInArcticle () { + if ($('article.features').length > 0 && $(window).scrollTop() >= $('article.features').offset().top - $(window).innerHeight() + 300) { + $('article.features').addClass('show') + } + if ($('article.example').length > 0 && $(window).scrollTop() >= $('article.example').offset().top - $(window).innerHeight() + 300) { + $('article.example').addClass('show') + } + if ($('article.implementations-in').length > 0 && $(window).scrollTop() >= $('article.implementations-in').offset().top - $(window).innerHeight() + 300) { + $('article.implementations-in').addClass('show') + } + if ($('article.publications-talks').length > 0 && $(window).scrollTop() >= $('article.publications-talks').offset().top - $(window).innerHeight() + 300) { + $('article.publications-talks').addClass('show') + } + if ($('article.community').length > 0 && $(window).scrollTop() >= $('article.community').offset().top - $(window).innerHeight() + 300) { + $('article.community').addClass('show') + } +} diff --git a/js/lib/init-page.js b/js/lib/init-page.js new file mode 100755 index 0000000..eedf385 --- /dev/null +++ b/js/lib/init-page.js @@ -0,0 +1,11 @@ +var fadeInArcticle = require('./fade-in-article') +var scrollToHash = require('./scroll-to-hash') +var initMobileNav = require('./mobile-nav') +var initTriangles = require('./triangle') + +module.exports = function initPage () { + fadeInArcticle() + scrollToHash() + initMobileNav() + initTriangles() +} diff --git a/js/lib/logo.js b/js/lib/logo.js new file mode 100644 index 0000000..d246482 --- /dev/null +++ b/js/lib/logo.js @@ -0,0 +1,15 @@ +var $ = require('jquery') + +module.exports = function initLogoAnimation () { + $(window).scroll(function (e) { + var $logo = $('header .logo') + + if ($(window).outerWidth() > 767 && !$logo.hasClass('static')) { + if ($(window).scrollTop() > 300) { + $logo.addClass('show') + } else { + $logo.removeClass('show') + } + } + }) +} diff --git a/js/lib/mobile-nav.js b/js/lib/mobile-nav.js new file mode 100644 index 0000000..d2a670a --- /dev/null +++ b/js/lib/mobile-nav.js @@ -0,0 +1,29 @@ +var $ = require('jquery') + +module.exports = function initMobileNav () { + $('.bars', 'header').on('click', function (e) { + e.preventDefault() + $('.bars', 'header').hide() + $('.close', 'header').show() + $('nav', 'header').show() + }) + + $('.close', 'header').on('click', function (e) { + e.preventDefault() + $('.bars', 'header').show() + $('.close', 'header').hide() + $('nav', 'header').hide() + }) + + $(window).on('load resize', function () { + if ($(window).outerWidth() > 767) { + $('.bars', 'header').hide() + $('.close', 'header').hide() + $('nav', 'header').show() + } else { + $('.bars', 'header').show() + $('.close', 'header').hide() + $('nav', 'header').hide() + } + }) +} diff --git a/js/lib/scroll-to-hash.js b/js/lib/scroll-to-hash.js new file mode 100644 index 0000000..baa7a7f --- /dev/null +++ b/js/lib/scroll-to-hash.js @@ -0,0 +1,9 @@ +var $ = require('jquery') + +module.exports = function scrollToHash () { + var hash = window.location.hash + if (hash.length) { + var $scrollTo = $(hash) + $('html, body').animate({scrollTop: $scrollTo.offset().top - 100}, 500, 'swing') + } +} diff --git a/js/lib/triangle.js b/js/lib/triangle.js new file mode 100644 index 0000000..35083e2 --- /dev/null +++ b/js/lib/triangle.js @@ -0,0 +1,10 @@ +var $ = require('jquery') + +module.exports = function initTriangles () { + $(window).on('load resize', function () { + var width = $(window).innerWidth() + var leftWidth = Math.round(width / 2) + var rightWidth = leftWidth > (width / 2) ? leftWidth - 1 : leftWidth + $('.triangle').css({'border-left-width': leftWidth + 'px', 'border-right-width': rightWidth + 'px'}) + }) +} diff --git a/js/media.js b/js/media.js new file mode 100644 index 0000000..d79f171 --- /dev/null +++ b/js/media.js @@ -0,0 +1,3 @@ +var initPage = require('./lib/init-page') + +initPage() diff --git a/layouts/bundles/bundles.html b/layouts/bundles/bundles.html deleted file mode 100755 index f06181c..0000000 --- a/layouts/bundles/bundles.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - libp2p - - - - - - - -
- -
- -
-
-
-

Bundles.

-
-
-

libp2p provides ready-to-use bundles for different use cases and different languages. You can use these - to get all the functionality in one package, instead of including and bundling the different modules - yourself. See it as a quickstart.

- -
-
-
- -
-
- - - -
-
-
- -
- -
-
-

-

libp2p was started and is sponsored by
-

-

- -

- - -
-
- - - - - - - - - diff --git a/layouts/implementations/implementations.html b/layouts/implementations/implementations.html deleted file mode 100755 index 8db55f8..0000000 --- a/layouts/implementations/implementations.html +++ /dev/null @@ -1,434 +0,0 @@ - - - - - - - libp2p - - - - - - -
- -
- -
-
-

Implementations.

-
-

libp2p is composed of many modules and different parts. Here you can see an overview over all the different libraries we develop, along with the status of the implementation.

- -
-
-
- -
-
- cube_shape - - - - - - - - - - -
-
- -
-
-
-
-
-
-
Transports
- Interface -
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
-
-
- -
- -
- -
-
-
Stream Muxers
- Interface -
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
- -
- -
- -
- -
- -
-
-
Crypto Channels
-
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
- -
- -
- -
-
-
-
-
Discovery
- Interface -
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
- -
- -
- -
- -
- -
-
-
Peer Routing
- Interface -
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
- -
- -
- -
- -
- -
-
-
Record Stores
- Interface -
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
- -
- -
- -
- -
- -
-
-
NAT Traversal
-
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
-
-
- -
- -
- -
-
-
Connection & Connection Upgrades
-
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
- -
- -
- -
-
-
-
-
General Purpose Utils & Datatypes
-
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
-
-
- -
-
-
-
-
Others
-
-
- -
-
- -
-
-
- -
-
Done
-
In Progress / Usable
-
Prototype / Unstable
-
Missing
-
-
-
- -
-
-
- -
- -
-
-

libp2p was started and is sponsored by

-

- -

- - -
-
- - - - - - - - - diff --git a/layouts/media/media.html b/layouts/media/media.html deleted file mode 100755 index 0c37125..0000000 --- a/layouts/media/media.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - libp2p - - - - - - - - -
- -
- -
-
-
-

Media.

-
Talks, publications and demos.
- -
-
-
- -
-

libp2p ❤ devp2p: IPFS and Ethereum Networking - David Dias and Juan Benet

-
- -
-
- -
-

Peer to Peer Networks at the Decentralised Web Summit

-
-
-
-
- -
-
-

libp2p was started and is sponsored by

-

- -

- - -
-
- - - - - - - diff --git a/layouts/partials/bundle.html b/layouts/partials/bundle.html new file mode 100644 index 0000000..93590e8 --- /dev/null +++ b/layouts/partials/bundle.html @@ -0,0 +1,42 @@ +
+ +
+
+
+
+ {{ .name }} +
+ GitHub +
+
+
+ {{ range $index, $element := .categories }} + + {{ end }} +
+
+
diff --git a/layouts/partials/contributors.html b/layouts/partials/contributors.html new file mode 100644 index 0000000..5ca9805 --- /dev/null +++ b/layouts/partials/contributors.html @@ -0,0 +1,150 @@ + + +
+
+
+
+
+
+
+
+
+ +{{/* + Pull in the contributors array into a hugo var at build time. + It's rendered inline as a JS array. We build out the content after the page + has rendered to avoid loading 400+ images on intial load. + The data looks like: + ```js + [ + {"url":"https://github.com/0intro","photo":"https://avatars.githubusercontent.com/u/6043744?v=3","username":"0intro"} + ] + ``` +*/}} +{{ $contributors := getJSON "https://contributors.cloud.ipfs.team/contributors?org=all" }} + diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..4a83a5d --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,14 @@ +
+
+

+ libp2p was started and is sponsored by +

+

+ + + +

+ + +
+
diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..e160715 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,6 @@ + + + +{{ template "_internal/google_analytics_async.html" . }} + + diff --git a/layouts/partials/implementation.html b/layouts/partials/implementation.html new file mode 100644 index 0000000..b49cac2 --- /dev/null +++ b/layouts/partials/implementation.html @@ -0,0 +1,60 @@ +
+
+
+
+
+ {{ if .title }} + {{ .title }} + {{ else }} + {{ humanize .id }} + {{ end }} +
+ {{if .interface}} + Interface + {{end}} +
+
+
+
+ + + + + {{ range first 1 .libs }} + {{ range .langs }} + + {{ end }} + {{ end }} + + {{ range .libs }} + + + {{ range .langs }} + + {{end}} + + {{ end }} + + + {{ range first 1 .libs }} + {{ range .langs }} + + {{end}} + {{end}} + + +
{{ .name }}
{{ .id }} + + {{ partial "status-icon.html" . }} + +
+
+
+
+
Done
+
In Progress / Usable
+
Prototype / Unstable
+
Missing
+
+
+
diff --git a/layouts/partials/splash.html b/layouts/partials/splash.html new file mode 100644 index 0000000..f3bb3e9 --- /dev/null +++ b/layouts/partials/splash.html @@ -0,0 +1,92 @@ + +
+
+
+ Transports +
+ {{ partial "symbol.html" (dict "id" "blue-2" "start" "translate(-31.8%, 346px)" "end" "translate(-55px, 234px)" "fadeDelay" "0ms") }} + {{ partial "symbol.html" (dict "id" "discovery" "start" "translate(39.8%, 297px)" "end" "translate(37px, 213px)" "fadeDelay" "100ms") }} + {{ partial "symbol.html" (dict "id" "stream-muxers" "start" "translate(14%, 40px)" "end" "translate(36px, 121px)" "fadeDelay" "200ms") }} + {{ partial "symbol.html" (dict "id" "crypto-channels" "start" "translate(-26.8%, 37px)" "end" "translate(-18px, 121px)" "fadeDelay" "300ms") }} + {{ partial "symbol.html" (dict "id" "connection-upgrades" "start" "translate(-42.2%, 178px)" "end" "translate(-73px, 142px)" "fadeDelay" "400ms") }} + {{ partial "symbol.html" (dict "id" "others" "start" "translate(13.5%, 346px)" "end" "translate(18px, 256px)" "fadeDelay" "500ms") }} + {{ partial "symbol.html" (dict "id" "orange-1" "start" "translate(calc(-15.5% - 18px), 259px)" "end" "translate(-36px, 211px)" "fadeDelay" "600ms") }} + {{ partial "symbol.html" (dict "id" "nat-traversal" "start" "translate(35.4%, 37px)" "end" "translate(55px, 142px)" "fadeDelay" "800ms") }} + {{ partial "symbol.html" (dict "id" "utils" "start" "translate(-7.6%, 365px)" "end" "translate(0px, 231px)" "fadeDelay" "900ms") }} + {{ partial "symbol.html" (dict "id" "record-stores" "start" "translate(22.6%, 225px)" "end" "translate(36px, 164px)" "fadeDelay" "700ms") }} + {{ partial "symbol.html" (dict "id" "orange-2" "start" "translate(-15.5%, 211px)" "end" "translate(-18px, 164px)" "fadeDelay" "600ms") }} +
+
+

A modular network stack.

+
+

Run your network applications free from runtime and address services, independently of their location.

+ +
+
+
+
diff --git a/layouts/partials/status-icon.html b/layouts/partials/status-icon.html new file mode 100644 index 0000000..1f588b0 --- /dev/null +++ b/layouts/partials/status-icon.html @@ -0,0 +1,15 @@ +{{ if eq .status "Done" }} + +{{end}} + +{{ if eq .status "Usable" }} + +{{end}} + +{{ if eq .status "Unstable" }} + +{{end}} + +{{ if eq .status "Missing" }} + +{{end}} diff --git a/layouts/partials/symbol.html b/layouts/partials/symbol.html new file mode 100644 index 0000000..090cbe4 --- /dev/null +++ b/layouts/partials/symbol.html @@ -0,0 +1,20 @@ + +
+ {{ .name }} +
diff --git a/layouts/partials/topbar.html b/layouts/partials/topbar.html new file mode 100644 index 0000000..cac0d4b --- /dev/null +++ b/layouts/partials/topbar.html @@ -0,0 +1,19 @@ +
+ +
diff --git a/less/bundles.less b/less/bundles.less index 1076943..d17f03c 100755 --- a/less/bundles.less +++ b/less/bundles.less @@ -1,472 +1,472 @@ -@import "variables.less"; -@import "triangle.less"; - -body > header .wrap nav ul li a.active { - color: #FF753F; -} - -article.bundles { - padding-top: 127px; - padding-bottom: 133px; - @media (max-width: 767px) { - padding-top: 58px; - padding-bottom: 52px; - } - .wrap { - p{ - font-size: 30px; - line-height: 40px; - text-align: center; - letter-spacing: normal; - font-family: Roboto-Light, SansSerif; - color: #9099A9; - margin: 20px 0 73px 0; - @media (max-width: 767px){ - font-size: 20px; - line-height: 28px; - margin-bottom: 33px; - } - } - .links { - width: 100%; - display: flex; - flex-wrap: wrap; - justify-content: center; - align-items: stretch; - position: relative; - - .active-link{ - display: none; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; - .copy-block { - display: flex; - align-items: center; - } - .img { - width: 32px; - height: 29px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 5px; - img { - width: 20px; - height: auto; - &.node { - width: 32px; - } - &.golang { - width: 15px; - } - &.haskell { - width: 25px; - } - &.java { - width: 16px; - } - &.python { - width: 18px; - } - } - } - span { - color: #31BDEE; - font-size: 16px; - } - i { - margin-left: 5px; - font-size: 8px; - color: #9099A9; - } - &.inactive { - pointer-events: none; - cursor: default; - .img { - opacity: 0.3; - } - span { - color: #DFE5EE; - } - } - &:hover { - opacity: 0.5; - } - @media (max-width: 767px) { - display: flex; - } - } - .columns { - display: flex; - flex-wrap: wrap; - justify-content: center; - align-items: stretch; - - .column { - border-right: 1px solid #F5F7FB; - padding: 0 34px; - &:last-child { - border: none; - } - @media (max-width: 767px) { - border: none; - } - .link { - display: flex; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; - .img { - width: 32px; - height: 29px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 10px; - img { - width: 20px; - height: auto; - &.node { - width: 32px; - } - &.golang { - width: 15px; - } - &.haskell { - width: 25px; - } - &.java { - width: 16px; - } - &.python { - width: 18px; - } - } - } - span { - color: #31BDEE; - font-size: 16px; - } - &.inactive { - pointer-events: none; - cursor: default; - .img { - opacity: 0.3; - } - span { - color: #DFE5EE; - } - } - &:hover { - opacity: 0.5; - } - } - } - @media (max-width: 767px) { - display: none; - background: rgba(255, 255, 255, 0.7); - position: absolute; - top: 30px; - flex-direction: column; - z-index: 100; - width: 100%; - left: calc(~"50% - 100px"); - } - } - } - } -} - -article.bundles-info { - background: #F3F6F9; - padding-top: 100px; - padding-bottom: 170px; - @media (max-width: 767px) { - padding-top: 55px; - padding-bottom: 70px; - } - .wrap { - section { - display: flex; - margin-bottom: 80px; - - @media (max-width: 767px) { - margin-bottom: 60px; - } - - &:last-of-type { - margin-bottom: 0; - } - - aside { - width: 240px; - border: 1px solid #DFE5EE; - border-right: none; - border-top-left-radius: 5px; - border-bottom-left-radius: 5px; - .active-link { - display: none; - height: 45px; - justify-content: center; - align-items: center; - color: #9099A9; - font-size: 16px; - i { - font-size: 8px; - margin-left: 5px; - } - } - nav { - display: flex; - flex-direction: column; - a { - color: #9099A9; - max-width: 240px; - text-decoration: none; - padding: 0 0 0 40px; - border-bottom: 1px solid #DFE5EE; - font-size: 16px; - line-height: 44px; - white-space: nowrap; - - @media (max-width: 767px) { - line-height: 35px; - } - - &:last-of-type { - //border-bottom: none; - } - - &.active, &:hover { - background: #E9EEF5; - } - } - } - } - .content{ - position: relative; - max-width: 700px; - min-width: 300px; - width: 100%; - .title { - max-width: 700px; - min-width: 300px; - width: 100%; - height: 205px; - background: white; - border: 1px solid #DFE5EE; - border-top-right-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - box-shadow: 0 0 10px 1px #DFE5EE; - position: relative; - top: 0; - left: 0; - z-index: 1; - - .wrapper { - width: 130px; - height: 127px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-between; - - .img { - width: 130px; - height: 80px; - display: flex; - margin: 0 auto; - - img { - width: 100%; - height: 100%; - object-fit: contain; - } - } - } - } - .info { - max-width: 700px; - min-width: 300px; - width: 100%; - height: 291px; - background: white; - border: 1px solid #DFE5EE; - border-top: none; - border-bottom-right-radius: 5px; - box-shadow: 0 0 10px 1px #DFE5EE; - position: relative; - bottom: 0; - left: 0; - ul { - display: none; - height: 100%; - flex-direction: column; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - padding: 16px 15px; - margin: 0; - &.show { - display: flex; - overflow-x: auto; - } - - a { - text-decoration: none; - } - - li { - list-style: none; - margin-top: 27px; - min-width: 100px; - max-width: 250px; - width: 100%; - span { - padding-left: 6px; - font-size: 16px; - color: #9099A9; - } - } - &.one-col { - justify-content: center; - li:first-child { - margin-top: 0; - } - } - } - } - } - } - section.coming-soon { - margin-top: 90px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - width: 100%; - @media (max-width: 767px){ - justify-content: center; - margin-top: 70px; - } - .card { - width: 300px; - height: 150px; - display: flex; - justify-content: center; - align-items: center; - margin-bottom: 20px; - - .rectangle { - width: 300px; - height: 150px; - background: @c_white; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - padding-top: 0; - border: 1px solid #DFE5EE; - border-radius: 3px; - margin-bottom: 20px; - box-shadow: 0 0 10px 1px #DFE5EE; - transition: 0.3s linear; - text-decoration: none; - &.coming-soon, &.empty { - width: 300px; - height: 150px; - cursor: default; - pointer-events: none; - } - .img { - width: 170px; - height: 70px; - img { - width: 100%; - height: 100%; - object-fit: contain; - } - } - div.text { - font-family: Roboto-Light, SansSerif; - color: @c_black; - font-size: 16px; - text-align: center; - line-height: 35px; - width: 245px; - height: 55px; - display: none; - justify-content: center; - align-items: center; - } - &.coming-soon { - justify-content: flex-end; - * { - opacity: 0.3; - } - div.text { - display: flex; - color: black; - width:100%; - } - } - &.empty { - background: transparent; - border: none; - box-shadow: none; - } - } - @media (max-width: 1200px) { - &.empty { - display: none; - } - } - } - - } - @media (max-width: 767px) { - padding: 0; - - section { - flex-direction: column; - aside { - width: 100%; - - &.left { - .active-link { - display: flex; - } - nav { - display: none; - background: rgba(233, 238, 245, 0.8); - width: 100%; - position: absolute; - z-index: 100; - align-items: center; - - a { - border: none; - padding: 0 30px; - } - } - } - } - .content { - width: 100%; - height: 495px; - .info { - ul { - padding: 16px 10px; - overflow: hidden; - } - } - } - } - } - } -} \ No newline at end of file +@import "lib/variables.less"; +@import "lib/triangle.less"; + +body > header .wrap nav ul li a.active { + color: #FF753F; +} + +article.bundles { + padding-top: 127px; + padding-bottom: 133px; + @media (max-width: 767px) { + padding-top: 58px; + padding-bottom: 52px; + } + .wrap { + p{ + font-size: 30px; + line-height: 40px; + text-align: center; + letter-spacing: normal; + font-family: Roboto-Light, SansSerif; + color: #9099A9; + margin: 20px 0 73px 0; + @media (max-width: 767px){ + font-size: 20px; + line-height: 28px; + margin-bottom: 33px; + } + } + .links { + width: 100%; + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: stretch; + position: relative; + + .active-link{ + display: none; + justify-content: flex-start; + align-items: center; + padding: 5px 0; + text-decoration: none; + .copy-block { + display: flex; + align-items: center; + } + .img { + width: 32px; + height: 29px; + display: flex; + justify-content: center; + align-items: center; + margin-right: 5px; + img { + width: 20px; + height: auto; + &.node { + width: 32px; + } + &.golang { + width: 15px; + } + &.haskell { + width: 25px; + } + &.java { + width: 16px; + } + &.python { + width: 18px; + } + } + } + span { + color: #31BDEE; + font-size: 16px; + } + i { + margin-left: 5px; + font-size: 8px; + color: #9099A9; + } + &.inactive { + pointer-events: none; + cursor: default; + .img { + opacity: 0.3; + } + span { + color: #DFE5EE; + } + } + &:hover { + opacity: 0.5; + } + @media (max-width: 767px) { + display: flex; + } + } + .columns { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: stretch; + + .column { + border-right: 1px solid #F5F7FB; + padding: 0 34px; + &:last-child { + border: none; + } + @media (max-width: 767px) { + border: none; + } + .link { + display: flex; + justify-content: flex-start; + align-items: center; + padding: 5px 0; + text-decoration: none; + .img { + width: 32px; + height: 29px; + display: flex; + justify-content: center; + align-items: center; + margin-right: 10px; + img { + width: 20px; + height: auto; + &.node { + width: 32px; + } + &.golang { + width: 15px; + } + &.haskell { + width: 25px; + } + &.java { + width: 16px; + } + &.python { + width: 18px; + } + } + } + span { + color: #31BDEE; + font-size: 16px; + } + &.inactive { + pointer-events: none; + cursor: default; + .img { + opacity: 0.3; + } + span { + color: #DFE5EE; + } + } + &:hover { + opacity: 0.5; + } + } + } + @media (max-width: 767px) { + display: none; + background: rgba(255, 255, 255, 0.7); + position: absolute; + top: 30px; + flex-direction: column; + z-index: 100; + width: 100%; + left: calc(~"50% - 100px"); + } + } + } + } +} + +article.bundles-info { + background: #F3F6F9; + padding-top: 100px; + padding-bottom: 170px; + @media (max-width: 767px) { + padding-top: 55px; + padding-bottom: 70px; + } + .wrap { + section { + display: flex; + margin-bottom: 80px; + + @media (max-width: 767px) { + margin-bottom: 60px; + } + + &:last-of-type { + margin-bottom: 0; + } + + aside { + width: 240px; + border: 1px solid #DFE5EE; + border-right: none; + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + .active-link { + display: none; + height: 45px; + justify-content: center; + align-items: center; + color: #9099A9; + font-size: 16px; + i { + font-size: 8px; + margin-left: 5px; + } + } + nav { + display: flex; + flex-direction: column; + a { + color: #9099A9; + max-width: 240px; + text-decoration: none; + padding: 0 0 0 40px; + border-bottom: 1px solid #DFE5EE; + font-size: 16px; + line-height: 44px; + white-space: nowrap; + + @media (max-width: 767px) { + line-height: 35px; + } + + &:last-of-type { + //border-bottom: none; + } + + &.active, &:hover { + background: #E9EEF5; + } + } + } + } + .content{ + position: relative; + max-width: 700px; + min-width: 300px; + width: 100%; + .title { + max-width: 700px; + min-width: 300px; + width: 100%; + height: 205px; + background: white; + border: 1px solid #DFE5EE; + border-top-right-radius: 5px; + display: flex; + justify-content: center; + align-items: center; + box-shadow: 0 0 10px 1px #DFE5EE; + position: relative; + top: 0; + left: 0; + z-index: 1; + + .wrapper { + width: 130px; + height: 127px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + + .img { + width: 130px; + height: 80px; + display: flex; + margin: 0 auto; + + img { + width: 100%; + height: 100%; + object-fit: contain; + } + } + } + } + .info { + max-width: 700px; + min-width: 300px; + width: 100%; + height: 291px; + background: white; + border: 1px solid #DFE5EE; + border-top: none; + border-bottom-right-radius: 5px; + box-shadow: 0 0 10px 1px #DFE5EE; + position: relative; + bottom: 0; + left: 0; + ul { + display: none; + height: 100%; + flex-direction: column; + justify-content: flex-start; + align-items: center; + flex-wrap: wrap; + padding: 16px 15px; + margin: 0; + &.show { + display: flex; + overflow-x: auto; + } + + a { + text-decoration: none; + } + + li { + list-style: none; + margin-top: 27px; + min-width: 100px; + max-width: 250px; + width: 100%; + span { + padding-left: 6px; + font-size: 16px; + color: #9099A9; + } + } + &.one-col { + justify-content: center; + li:first-child { + margin-top: 0; + } + } + } + } + } + } + section.coming-soon { + margin-top: 90px; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + width: 100%; + @media (max-width: 767px){ + justify-content: center; + margin-top: 70px; + } + .card { + width: 300px; + height: 150px; + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 20px; + + .rectangle { + width: 300px; + height: 150px; + background: @c_white; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding-top: 0; + border: 1px solid #DFE5EE; + border-radius: 3px; + margin-bottom: 20px; + box-shadow: 0 0 10px 1px #DFE5EE; + transition: 0.3s linear; + text-decoration: none; + &.coming-soon, &.empty { + width: 300px; + height: 150px; + cursor: default; + pointer-events: none; + } + .img { + width: 170px; + height: 70px; + img { + width: 100%; + height: 100%; + object-fit: contain; + } + } + div.text { + font-family: Roboto-Light, SansSerif; + color: @c_black; + font-size: 16px; + text-align: center; + line-height: 35px; + width: 245px; + height: 55px; + display: none; + justify-content: center; + align-items: center; + } + &.coming-soon { + justify-content: flex-end; + * { + opacity: 0.3; + } + div.text { + display: flex; + color: black; + width:100%; + } + } + &.empty { + background: transparent; + border: none; + box-shadow: none; + } + } + @media (max-width: 1200px) { + &.empty { + display: none; + } + } + } + + } + @media (max-width: 767px) { + padding: 0; + + section { + flex-direction: column; + aside { + width: 100%; + + &.left { + .active-link { + display: flex; + } + nav { + display: none; + background: rgba(233, 238, 245, 0.8); + width: 100%; + position: absolute; + z-index: 100; + align-items: center; + + a { + border: none; + padding: 0 30px; + } + } + } + } + .content { + width: 100%; + height: 495px; + .info { + ul { + padding: 16px 10px; + overflow: hidden; + } + } + } + } + } + } +} diff --git a/less/styles.less b/less/common.less similarity index 94% rename from less/styles.less rename to less/common.less index c8c4c28..68d7821 100755 --- a/less/styles.less +++ b/less/common.less @@ -1,416 +1,418 @@ -@import "../css/fonts.css"; -@import "buttons.less"; -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: none; - - &:hover { - -webkit-transition: all 0.3s linear; - -moz-transition: all 0.3s linear; - -ms-transition: all 0.3s linear; - -o-transition: all 0.3s linear; - transition: all 0.3s linear; - } -} - -body { - margin: 0; - padding: 0; - width: 100%; - font-family: Roboto-Regular, SansSerif; - font-size: 14px; -} - -article.center { - display: flex; - flex-direction: column; - position: relative; - padding-top: 97px; - padding-bottom: 100px; - @media (max-width: 767px) { - padding-top: 40px; - } -} - -.wrap { - margin: 0 auto; - max-width: 940px; - min-width: 0; - width: 100%; - @media (max-width: 940px) { - padding: 0 20px; - } -} - -.icon-hexagon, .icon-cat { - font-size: 14px; - &.green { - color: #15D476; - } - &.red { - color: #FF753F; - } - &.yellow { - color: #FFD006; - } - &.grey { - color: #DFE5EE; - } -} - -.icon-cat { - font-size: 24px; -} - -body > header { - position: fixed; - height: 100px; - top: 0; - left: 0; - right: 0; - max-width: 100vw; - width: 100%; - z-index: 100; - background: white; - padding-bottom: 30px; - .wrap { - display: flex; - position: relative; - justify-content: space-between; - align-items: flex-end; - height: 100%; - .logo { - font-family: NexaLight, SansSerif; - font-size: 24px; - color: #48505D; - padding-bottom: 4px; - text-decoration: none; - position: relative; - left: -70px; - -webkit-transition: all 0.6s; - -moz-transition: all 0.6s; - -ms-transition: all 0.6s; - -o-transition: all 0.6s; - transition: all 0.6s; - img { - display: inline; - opacity: 0; - position: relative; - top: 22px; - width: 50px; - height: 60px; - -webkit-transition: all 0.6s; - -moz-transition: all 0.6s; - -ms-transition: all 0.6s; - -o-transition: all 0.6s; - transition: all 0.6s; - } - b { - font-family: NexaBold, SansSerif; - } - &.show, &.static { - left: 0; - img { - opacity: 1; - } - } - } - .fa-bars, .fa-times { - font-size: 28px; - color: #48505D; - } - .bars, .close { - display: none; - position: relative; - top: -12px; - } - - .close{ - order:6; - } - - nav { - position: relative; - max-width: 590px; - width: 100%; - padding-bottom: 12px; - @media (max-width: 940px) { - max-width: 550px; - } - ul { - width: 100%; - display: flex; - justify-content: space-between; - padding: 0; - margin: 0; - li { - display: inline; - list-style: none; - a { - text-decoration: none; - font-size: 16px; - line-height: 16px; - color: @c_grey; - vertical-align: text-bottom; - } - &:nth-child(1), &:nth-child(7){ - a:hover { - color: #4FBAEB; - } - } - &:nth-child(2), &:nth-child(8){ - a:hover { - color: #D7E366; - } - } - &:nth-child(3), &:nth-child(9){ - a:hover { - color: #5B5B5B; - } - } - &:nth-child(4), &:nth-child(10){ - a:hover { - color: #B6BFCD; - } - } - &:nth-child(5){ - a:hover { - color: #F176AE; - } - } - &:nth-child(6){ - a:hover { - color: #FF9065; - } - } - } - } - } - } - @media (max-width: 767px) { - .wrap { - .logo { - left: 0px; - bottom: 10px; - font-size: 19px; - img { - opacity: 1; - //display: inline; - height: 50px; - width: auto; - //left: -49px; - top: 18px; - } - } - nav { - display: none; - position: absolute; - top: 68px; - left: 0; - max-width: none; - width: 100%; - padding-bottom: 42px; - background: white; - ul { - display: flex; - flex-direction: column; - align-items: center; - padding: 0; - margin: 0; - li { - margin-top: 42px; - a { - text-transform: uppercase; - font-family: Roboto-Bold; - color: #48505D; - letter-spacing: 1px; - padding-left: 18px; - } - } - } - } - } - } -} - -main { - padding-top: 70px; - padding-bottom: 60px; -} - -header { - align-self: center; - - & > h2 { - font-family: Roboto-Black; - color: @c_black; - margin: 0; - font-size: 65px; - @media (max-width: 767px) { - font-size: 36px; - text-align: center; - } - } -} - -.triangle { - display: block; - width: 0; - height: 0; - position: absolute; - bottom: 0px; - z-index: 0; - &.white { - border-left: 50vw solid #F3F6F9; - border-right: 50vw solid #F3F6F9; - border-top: 5vw solid white; - } - &.grey { - border-left: 50vw solid white; - border-right: 50vw solid white; - border-top: 5vw solid #F3F6F9; - } -} - -footer { - position: relative; - padding: 20px 0 40px; - width: 100%; - .wrap { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - .navigation { - width: 100%; - display: flex; - flex-wrap: wrap; - justify-content: center; - & > div { - margin-top: 18px; - } - .title { - font-family: Roboto-Black; - color: #48505D; - font-size: 13px; - letter-spacing: 0.3px; - } - .links { - border-top: 2px solid #F0F3F7; - margin-top: 10px; - ul { - margin: 0; - padding: 0; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - line-height: 61px; - @media (max-width: 767px) { - //line-height: 40px; - } - li { - display: inline; - list-style: none; - flex-basis: 52px; - a { - text-decoration: none; - font-size: 16px; - color: #9AA2B1; - } - &:nth-child(1), &:nth-child(7){ - a:hover { - color: #4FBAEB; - } - } - &:nth-child(2), &:nth-child(8){ - a:hover { - color: #D7E366; - } - } - &:nth-child(3), &:nth-child(9){ - a:hover { - color: #5B5B5B; - } - } - &:nth-child(4), &:nth-child(10){ - a:hover { - color: #B6BFCD; - } - } - &:nth-child(5){ - a:hover { - color: #F176AE; - } - } - &:nth-child(6){ - a:hover { - color: #FF9065; - } - } - - } - } - } - } - .icons-social { - display: flex; - width: 180px; - justify-content: space-between; - padding: 17px 0; - } - .copyright { - padding: 25px 0; - font-family: Roboto-Light, SansSerif; - font-size: 16px; - color: #5B626E; - letter-spacing: -0.1px; - @media (max-width: 767px) { - text-align: center; - } - } - .img8 { - position: absolute; - left: 14px; - bottom: 130px; - } - } - - @media (max-width: 767px) { - padding-top: 22px; - } -} - -@media (max-width: 640px) { - - footer .wrap .navigation{ - .links ul { - justify-content: flex-start; - - li { - margin-right: 22px; - flex-basis: auto; - } - } - - .filecoin, .protocol-labs { - max-width: 100%; - flex-basis: 100%; - } - - .ipfs{ - margin-top:15px; - } - - .filecoin{ - margin-top:28px; - } - } -} - -@media (max-width: 1200px) { - .decoration { - display: none; - } -} +@import (inline) "lib/fonts.css"; +@import (inline) "lib/font-awesome.min.css"; +@import "lib/variables.less"; +@import "lib/buttons.less"; +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + outline: none; + + &:hover { + -webkit-transition: all 0.3s linear; + -moz-transition: all 0.3s linear; + -ms-transition: all 0.3s linear; + -o-transition: all 0.3s linear; + transition: all 0.3s linear; + } +} + +body { + margin: 0; + padding: 0; + width: 100%; + font-family: Roboto-Regular, SansSerif; + font-size: 14px; +} + +article.center { + display: flex; + flex-direction: column; + position: relative; + padding-top: 97px; + padding-bottom: 100px; + @media (max-width: 767px) { + padding-top: 40px; + } +} + +.wrap { + margin: 0 auto; + max-width: 940px; + min-width: 0; + width: 100%; + @media (max-width: 940px) { + padding: 0 20px; + } +} + +.icon-hexagon, .icon-cat { + font-size: 14px; + &.green { + color: #15D476; + } + &.red { + color: #FF753F; + } + &.yellow { + color: #FFD006; + } + &.grey { + color: #DFE5EE; + } +} + +.icon-cat { + font-size: 24px; +} + +body > header { + position: fixed; + height: 100px; + top: 0; + left: 0; + right: 0; + max-width: 100vw; + width: 100%; + z-index: 100; + background: white; + padding-bottom: 30px; + .wrap { + display: flex; + position: relative; + justify-content: space-between; + align-items: flex-end; + height: 100%; + .logo { + font-family: NexaLight, SansSerif; + font-size: 24px; + color: #48505D; + padding-bottom: 4px; + text-decoration: none; + position: relative; + left: -70px; + -webkit-transition: all 0.6s; + -moz-transition: all 0.6s; + -ms-transition: all 0.6s; + -o-transition: all 0.6s; + transition: all 0.6s; + img { + display: inline; + opacity: 0; + position: relative; + top: 22px; + width: 50px; + height: 60px; + -webkit-transition: all 0.6s; + -moz-transition: all 0.6s; + -ms-transition: all 0.6s; + -o-transition: all 0.6s; + transition: all 0.6s; + } + b { + font-family: NexaBold, SansSerif; + } + &.show, &.static { + left: 0; + img { + opacity: 1; + } + } + } + .fa-bars, .fa-times { + font-size: 28px; + color: #48505D; + } + .bars, .close { + display: none; + position: relative; + top: -12px; + } + + .close{ + order:6; + } + + nav { + position: relative; + max-width: 590px; + width: 100%; + padding-bottom: 12px; + @media (max-width: 940px) { + max-width: 550px; + } + ul { + width: 100%; + display: flex; + justify-content: space-between; + padding: 0; + margin: 0; + li { + display: inline; + list-style: none; + a { + text-decoration: none; + font-size: 16px; + line-height: 16px; + color: @c_grey; + vertical-align: text-bottom; + } + &:nth-child(1), &:nth-child(7){ + a:hover { + color: #4FBAEB; + } + } + &:nth-child(2), &:nth-child(8){ + a:hover { + color: #D7E366; + } + } + &:nth-child(3), &:nth-child(9){ + a:hover { + color: #5B5B5B; + } + } + &:nth-child(4), &:nth-child(10){ + a:hover { + color: #B6BFCD; + } + } + &:nth-child(5){ + a:hover { + color: #F176AE; + } + } + &:nth-child(6){ + a:hover { + color: #FF9065; + } + } + } + } + } + } + @media (max-width: 767px) { + .wrap { + .logo { + left: 0px; + bottom: 10px; + font-size: 19px; + img { + opacity: 1; + //display: inline; + height: 50px; + width: auto; + //left: -49px; + top: 18px; + } + } + nav { + display: none; + position: absolute; + top: 68px; + left: 0; + max-width: none; + width: 100%; + padding-bottom: 42px; + background: white; + ul { + display: flex; + flex-direction: column; + align-items: center; + padding: 0; + margin: 0; + li { + margin-top: 42px; + a { + text-transform: uppercase; + font-family: Roboto-Bold; + color: #48505D; + letter-spacing: 1px; + padding-left: 18px; + } + } + } + } + } + } +} + +main { + padding-top: 70px; + padding-bottom: 60px; +} + +header { + align-self: center; + + & > h2 { + font-family: Roboto-Black; + color: @c_black; + margin: 0; + font-size: 65px; + @media (max-width: 767px) { + font-size: 36px; + text-align: center; + } + } +} + +.triangle { + display: block; + width: 0; + height: 0; + position: absolute; + bottom: 0px; + z-index: 0; + &.white { + border-left: 50vw solid #F3F6F9; + border-right: 50vw solid #F3F6F9; + border-top: 5vw solid white; + } + &.grey { + border-left: 50vw solid white; + border-right: 50vw solid white; + border-top: 5vw solid #F3F6F9; + } +} + +footer { + position: relative; + padding: 20px 0 40px; + width: 100%; + .wrap { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + .navigation { + width: 100%; + display: flex; + flex-wrap: wrap; + justify-content: center; + & > div { + margin-top: 18px; + } + .title { + font-family: Roboto-Black; + color: #48505D; + font-size: 13px; + letter-spacing: 0.3px; + } + .links { + border-top: 2px solid #F0F3F7; + margin-top: 10px; + ul { + margin: 0; + padding: 0; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + line-height: 61px; + @media (max-width: 767px) { + //line-height: 40px; + } + li { + display: inline; + list-style: none; + flex-basis: 52px; + a { + text-decoration: none; + font-size: 16px; + color: #9AA2B1; + } + &:nth-child(1), &:nth-child(7){ + a:hover { + color: #4FBAEB; + } + } + &:nth-child(2), &:nth-child(8){ + a:hover { + color: #D7E366; + } + } + &:nth-child(3), &:nth-child(9){ + a:hover { + color: #5B5B5B; + } + } + &:nth-child(4), &:nth-child(10){ + a:hover { + color: #B6BFCD; + } + } + &:nth-child(5){ + a:hover { + color: #F176AE; + } + } + &:nth-child(6){ + a:hover { + color: #FF9065; + } + } + + } + } + } + } + .icons-social { + display: flex; + width: 180px; + justify-content: space-between; + padding: 17px 0; + } + .copyright { + padding: 25px 0; + font-family: Roboto-Light, SansSerif; + font-size: 16px; + color: #5B626E; + letter-spacing: -0.1px; + @media (max-width: 767px) { + text-align: center; + } + } + .img8 { + position: absolute; + left: 14px; + bottom: 130px; + } + } + + @media (max-width: 767px) { + padding-top: 22px; + } +} + +@media (max-width: 640px) { + + footer .wrap .navigation{ + .links ul { + justify-content: flex-start; + + li { + margin-right: 22px; + flex-basis: auto; + } + } + + .filecoin, .protocol-labs { + max-width: 100%; + flex-basis: 100%; + } + + .ipfs{ + margin-top:15px; + } + + .filecoin{ + margin-top:28px; + } + } +} + +@media (max-width: 1200px) { + .decoration { + display: none; + } +} diff --git a/less/implementations.less b/less/implementations.less index b1f3772..be18aa8 100755 --- a/less/implementations.less +++ b/less/implementations.less @@ -1,669 +1,668 @@ -@import "variables.less"; -@import "triangle.less"; - -body > header .wrap nav ul li a.active { - color: #FF7F4D; -} - -article.implementations { - padding-top: 127px; - padding-bottom: 93px; - @media (max-width: 940px) { - padding-top: 58px; - padding-bottom: 52px; - } - .wrap { - p { - font-size: 30px; - line-height: 40px; - text-align: center; - letter-spacing: normal; - font-family: Roboto-Light, SansSerif; - color: #9099A9; - margin: 20px 0 73px 0; - @media (max-width: 940px) { - font-size: 20px; - line-height: 28px; - margin-bottom: 41px; - } - } - .links { - width: 100%; - display: flex; - flex-wrap: wrap; - //justify-content: center; - align-items: stretch; - position: relative; - - @media (max-width: 940px) { - justify-content: center; - } - - .active-link { - display: none; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; - .copy-block { - display: flex; - align-items: center; - } - .img { - width: 23px; - height: 23px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 5px; - img { - width: 100%; - height: 100%; - object-fit: contain; - object-position: 50% 50%; - &.node { - width: 32px; - } - &.golang { - width: 15px; - } - &.haskell { - width: 25px; - } - &.java { - width: 16px; - } - &.python { - width: 18px; - } - } - } - span { - color: #31BDEE; - font-size: 16px; - } - i { - margin-left: 5px; - font-size: 8px; - color: #9099A9; - } - &.inactive { - pointer-events: none; - cursor: default; - .img { - opacity: 0.3; - } - span { - color: #DFE5EE; - } - } - &:hover { - opacity: 0.5; - } - @media (max-width: 940px) { - display: flex; - } - } - .columns { - display: flex; - flex-wrap: wrap; - justify-content: center; - align-items: stretch; - - .column { - border-right: 1px solid #F5F7FB; - - .link { - display: flex; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; - .img { - width: 30px; - height: 29px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 10px; - } - span { - color: #31BDEE; - font-size: 16px; - } - &.inactive { - pointer-events: none; - cursor: default; - .img { - opacity: 0.3; - } - span { - color: #DFE5EE; - } - } - &:hover { - opacity: 0.5; - } - } - &.col1 { - padding: 0 40px 0 12px; - .img { - margin-right: 10px; - } - } - &.col2 { - padding: 0 40px 0 33px; - .img { - margin-right: 8px; - } - } - &.col3 { - padding: 0 42px 0 34px; - .img { - margin-right: 5px; - } - } - &.col4 { - padding: 0 0 0 33px; - .img { - margin-right: 0; - } - } - &:last-child { - border: none; - } - @media (max-width: 940px) { - border: none; - padding: 0 20px !important; - } - } - @media (max-width: 940px) { - display: none; - background: rgba(255, 255, 255, 0.9); - position: absolute; - top: 40px; - flex-direction: column; - z-index: 100; - } - } - } - } -} - -main > .img { - margin-top: 60px; - width: 100%; - position: absolute; - background: #F3F6F9; - text-align: center; - z-index: 1; - - &.fixed { - position: fixed; - top: 100px; - } - - .cubes-wrapper { - display: inline-block; - position: relative; - - img.cubes { - opacity: 0; - position: absolute; - width: 46px; - - -webkit-transition: opacity 0.7s; - -moz-transition: opacity 0.7s; - -ms-transition: opacity 0.7s; - -o-transition: opacity 0.7s; - transition: opacity 0.7s; - - &.transports { - top: -1px; - left: 40px; - &.show { - opacity: 1; - } - } - &.stream-muxers { - top: 11px; - left: 61px; - &.show { - opacity: 1; - } - } - &.crypto-channels { - width: 67px; - top: 10px; - left: 18px; - &.show { - opacity: 1; - } - } - &.connection-upgrades { - width: 47px; - top: 22px; - left: -2px; - &.show { - opacity: 1; - } - } - &.peer-routing { - width: 65px; - top: 36px; - left: 21px; - &.show { - opacity: 1; - } - } - &.record-stores { - width: 46px; - top: 34px; - left: 61px; - &.show { - opacity: 1; - } - } - &.nat-traversal { - width: 67px; - top: 22px; - left: 59px; - &.show { - opacity: 1; - } - } - &.discovery { - width: 89px; - top: 60px; - left: 39px; - &.show { - opacity: 1; - } - } - &.utils { - width: 46px; - top: 72px; - left: 40px; - &.show { - opacity: 1; - } - } - &.others { - width: 66px; - top: 87px; - left: 40px; - &.show { - opacity: 1; - } - } - - } - } -} - -article.implementations-info { - background: #F3F6F9; - padding-top: 0; - padding-bottom: 170px; - - @media (max-width: 940px) { - padding-bottom: 70px; - } - .wrap { - - @media (max-width: 940px) { - padding: 0; - } - - section { - margin-top: 270px; - - &#transports { - .img { - img.cubes { - top: -1px; - left: 39px; - } - } - .table { - height: 690px; - @media (max-width: 940px) { - height: 635px; - } - } - } - &#stream-muxers { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 370px; - @media (max-width: 940px) { - height: 313px; - } - } - } - &#crypto-channels { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 323px; - @media (max-width: 940px) { - height: 265px; - } - } - } - &#connection-upgrades { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 383px; - @media (max-width: 940px) { - height: 313px; - } - } - } - &#peer-routing { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 415px; - @media (max-width: 940px) { - height: 358px; - } - } - } - &#record-stores { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 369px; - @media (max-width: 940px) { - height: 313px; - } - } - } - &#nat-traversal { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 324px; - @media (max-width: 940px) { - height: 266px; - } - } - } - &#discovery { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 415px; - @media (max-width: 940px) { - height: 360px; - } - } - } - &#utils { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 324px; - @media (max-width: 940px) { - height: 266px; - } - } - } - &#others { - .img { - img.cubes { - top: 10px; - left: 60px; - } - } - .table { - height: 415px; - @media (max-width: 940px) { - height: 359px; - } - } - } - - .table { - margin-top: 55px; - position: relative; - min-width: 300px; - width: 100%; - border: 1px solid #DFE5EE; - border-radius: 5px; - z-index: 1; - - .title { - min-width: 300px; - width: 100%; - height: 160px; - background: white; - border: 1px solid #DFE5EE; - border-top-right-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - box-shadow: 0 0 10px 1px #DFE5EE; - position: absolute; - top: 0; - left: 0; - z-index: 12; - - .wrapper { - //width: 130px; - height: 127px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; - - .header { - font-family: Roboto-Light, SansSerif; - font-size: 30px; - color: #48505D; - padding: 20px 0; - text-align: center; - } - } - } - - .info { - min-width: 300px; - width: 100%; - height: auto; - background: white; - border: 1px solid #DFE5EE; - border-top: none; - box-shadow: 0 0 10px 1px #DFE5EE; - position: absolute; - top: 160px; - left: 0; - z-index: 11; - - .table-wrapper { - overflow-x: auto; - overflow-y: visible; - margin-left: 240px; - - @media (max-width: 940px) { - margin-left: 170px; - } - } - - table { - font-size: 16px; - border-collapse: collapse; - //width: 936px; - //margin-left: 240px; - - *:hover { - -webkit-transition: none; - -moz-transition: none; - -ms-transition: none; - -o-transition: none; - transition: none; - } - - tr { - height: 46px; - - &.empty { - height: 13px; - - th { - height: 13px !important; - } - } - - th { - font-family: Roboto-Light, SansSerif; - color: #A9B0BC; - border-right: 1px solid #DFE5EE; - width: 99px; - text-align: left; - padding-left: 40px; - - @media (max-width: 940px) { - padding-left: 17px; - } - - &.head-col { - position: absolute; - left: 0; - top: auto; - background: white; - display: flex; - align-items: center; - height: 47px; - width: 240px; - - @media (max-width: 940px) { - width: 170px; - } - } - } - - td { - text-align: center; - border-right: 1px solid #DFE5EE; - line-height: 0; - - &:last-of-type { - //border: none; - } - - a { - width: 100%; - height: 100%; - display: block; - text-decoration: none; - } - } - - &:not(.empty):not(.head-row):hover { - - th { - color: #21B7EC; - } - td { - background: #FCFCFD; - border-top: 1px solid #DFE5EE; - border-bottom: 1px solid #DFE5EE; - border-right-color: transparent; - cursor: pointer; - - &:last-child { - border-right-color: #DFE5EE; - } - } - - } - - &:first-of-type { - th { - text-align: center; - font-family: Roboto-Regular, SansSerif; - color: #9099A9; - //width: 100px; - padding: 0; - border-right: 1px solid #DFE5EE; - border-left: 1px solid transparent; - - &:last-of-type { - //border: none; - } - } - } - } - } - } - - .description { - position: absolute; - bottom: 0; - left: 0; - display: flex; - justify-content: center; - width: 100%; - height: 53px; - z-index: 10; - - & > div { - margin-right: 40px; - display: flex; - align-items: center; - - &:last-of-type { - margin-right: 0; - } - i { - margin-right: 8px; - } - span { - color: #9FA7B6; - } - } - @media (max-width: 940px) { - display: none; - } - } - - } - } - } -} +@import "lib/variables.less"; + +body > header .wrap nav ul li a.active { + color: #FF7F4D; +} + +article.implementations { + padding-top: 127px; + padding-bottom: 93px; + @media (max-width: 940px) { + padding-top: 58px; + padding-bottom: 52px; + } + .wrap { + p { + font-size: 30px; + line-height: 40px; + text-align: center; + letter-spacing: normal; + font-family: Roboto-Light, SansSerif; + color: #9099A9; + margin: 20px 0 73px 0; + @media (max-width: 940px) { + font-size: 20px; + line-height: 28px; + margin-bottom: 41px; + } + } + .links { + width: 100%; + display: flex; + flex-wrap: wrap; + //justify-content: center; + align-items: stretch; + position: relative; + + @media (max-width: 940px) { + justify-content: center; + } + + .active-link { + display: none; + justify-content: flex-start; + align-items: center; + padding: 5px 0; + text-decoration: none; + .copy-block { + display: flex; + align-items: center; + } + .img { + width: 23px; + height: 23px; + display: flex; + justify-content: center; + align-items: center; + margin-right: 5px; + img { + width: 100%; + height: 100%; + object-fit: contain; + object-position: 50% 50%; + &.node { + width: 32px; + } + &.golang { + width: 15px; + } + &.haskell { + width: 25px; + } + &.java { + width: 16px; + } + &.python { + width: 18px; + } + } + } + span { + color: #31BDEE; + font-size: 16px; + } + i { + margin-left: 5px; + font-size: 8px; + color: #9099A9; + } + &.inactive { + pointer-events: none; + cursor: default; + .img { + opacity: 0.3; + } + span { + color: #DFE5EE; + } + } + &:hover { + opacity: 0.5; + } + @media (max-width: 940px) { + display: flex; + } + } + .columns { + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: stretch; + + .column { + border-right: 1px solid #F5F7FB; + + .link { + display: flex; + justify-content: flex-start; + align-items: center; + padding: 5px 0; + text-decoration: none; + .img { + width: 30px; + height: 29px; + display: flex; + justify-content: center; + align-items: center; + margin-right: 10px; + } + span { + color: #31BDEE; + font-size: 16px; + } + &.inactive { + pointer-events: none; + cursor: default; + .img { + opacity: 0.3; + } + span { + color: #DFE5EE; + } + } + &:hover { + opacity: 0.5; + } + } + &.col1 { + padding: 0 40px 0 12px; + .img { + margin-right: 10px; + } + } + &.col2 { + padding: 0 40px 0 33px; + .img { + margin-right: 8px; + } + } + &.col3 { + padding: 0 42px 0 34px; + .img { + margin-right: 5px; + } + } + &.col4 { + padding: 0 0 0 33px; + .img { + margin-right: 0; + } + } + &:last-child { + border: none; + } + @media (max-width: 940px) { + border: none; + padding: 0 20px !important; + } + } + @media (max-width: 940px) { + display: none; + background: rgba(255, 255, 255, 0.9); + position: absolute; + top: 40px; + flex-direction: column; + z-index: 100; + } + } + } + } +} + +main > .img { + margin-top: 60px; + width: 100%; + position: absolute; + background: #F3F6F9; + text-align: center; + z-index: 1; + + &.fixed { + position: fixed; + top: 100px; + } + + .cubes-wrapper { + display: inline-block; + position: relative; + + img.cubes { + opacity: 0; + position: absolute; + width: 46px; + + -webkit-transition: opacity 0.7s; + -moz-transition: opacity 0.7s; + -ms-transition: opacity 0.7s; + -o-transition: opacity 0.7s; + transition: opacity 0.7s; + + &.transports { + top: -1px; + left: 40px; + &.show { + opacity: 1; + } + } + &.stream-muxers { + top: 11px; + left: 61px; + &.show { + opacity: 1; + } + } + &.crypto-channels { + width: 67px; + top: 10px; + left: 18px; + &.show { + opacity: 1; + } + } + &.connection-upgrades { + width: 47px; + top: 22px; + left: -2px; + &.show { + opacity: 1; + } + } + &.peer-routing { + width: 65px; + top: 36px; + left: 21px; + &.show { + opacity: 1; + } + } + &.record-stores { + width: 46px; + top: 34px; + left: 61px; + &.show { + opacity: 1; + } + } + &.nat-traversal { + width: 67px; + top: 22px; + left: 59px; + &.show { + opacity: 1; + } + } + &.discovery { + width: 89px; + top: 60px; + left: 39px; + &.show { + opacity: 1; + } + } + &.utils { + width: 46px; + top: 72px; + left: 40px; + &.show { + opacity: 1; + } + } + &.others { + width: 66px; + top: 87px; + left: 40px; + &.show { + opacity: 1; + } + } + + } + } +} + +article.implementations-info { + background: #F3F6F9; + padding-top: 0; + padding-bottom: 170px; + + @media (max-width: 940px) { + padding-bottom: 70px; + } + .wrap { + + @media (max-width: 940px) { + padding: 0; + } + + section { + margin-top: 270px; + + &#transports { + .img { + img.cubes { + top: -1px; + left: 39px; + } + } + .table { + height: 690px; + @media (max-width: 940px) { + height: 635px; + } + } + } + &#stream-muxers { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 370px; + @media (max-width: 940px) { + height: 313px; + } + } + } + &#crypto-channels { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 323px; + @media (max-width: 940px) { + height: 265px; + } + } + } + &#connection-upgrades { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 383px; + @media (max-width: 940px) { + height: 313px; + } + } + } + &#peer-routing { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 415px; + @media (max-width: 940px) { + height: 358px; + } + } + } + &#record-stores { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 369px; + @media (max-width: 940px) { + height: 313px; + } + } + } + &#nat-traversal { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 324px; + @media (max-width: 940px) { + height: 266px; + } + } + } + &#discovery { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 415px; + @media (max-width: 940px) { + height: 360px; + } + } + } + &#utils { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 324px; + @media (max-width: 940px) { + height: 266px; + } + } + } + &#others { + .img { + img.cubes { + top: 10px; + left: 60px; + } + } + .table { + height: 415px; + @media (max-width: 940px) { + height: 359px; + } + } + } + + .table { + margin-top: 55px; + position: relative; + min-width: 300px; + width: 100%; + border: 1px solid #DFE5EE; + border-radius: 5px; + z-index: 1; + + .title { + min-width: 300px; + width: 100%; + height: 160px; + background: white; + border: 1px solid #DFE5EE; + border-top-right-radius: 5px; + display: flex; + justify-content: center; + align-items: center; + box-shadow: 0 0 10px 1px #DFE5EE; + position: absolute; + top: 0; + left: 0; + z-index: 12; + + .wrapper { + //width: 130px; + height: 127px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + .header { + font-family: Roboto-Light, SansSerif; + font-size: 30px; + color: #48505D; + padding: 20px 0; + text-align: center; + } + } + } + + .info { + min-width: 300px; + width: 100%; + height: auto; + background: white; + border: 1px solid #DFE5EE; + border-top: none; + box-shadow: 0 0 10px 1px #DFE5EE; + position: absolute; + top: 160px; + left: 0; + z-index: 11; + + .table-wrapper { + overflow-x: auto; + overflow-y: visible; + margin-left: 240px; + + @media (max-width: 940px) { + margin-left: 170px; + } + } + + table { + font-size: 16px; + border-collapse: collapse; + //width: 936px; + //margin-left: 240px; + + *:hover { + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; + } + + tr { + height: 46px; + + &.empty { + height: 13px; + + th { + height: 13px !important; + } + } + + th { + font-family: Roboto-Light, SansSerif; + color: #A9B0BC; + border-right: 1px solid #DFE5EE; + width: 99px; + text-align: left; + padding-left: 40px; + + @media (max-width: 940px) { + padding-left: 17px; + } + + &.head-col { + position: absolute; + left: 0; + top: auto; + background: white; + display: flex; + align-items: center; + height: 47px; + width: 240px; + + @media (max-width: 940px) { + width: 170px; + } + } + } + + td { + text-align: center; + border-right: 1px solid #DFE5EE; + line-height: 0; + + &:last-of-type { + //border: none; + } + + a { + width: 100%; + height: 100%; + display: block; + text-decoration: none; + } + } + + &:not(.empty):not(.head-row):hover { + + th { + color: #21B7EC; + } + td { + background: #FCFCFD; + border-top: 1px solid #DFE5EE; + border-bottom: 1px solid #DFE5EE; + border-right-color: transparent; + cursor: pointer; + + &:last-child { + border-right-color: #DFE5EE; + } + } + + } + + &:first-of-type { + th { + text-align: center; + font-family: Roboto-Regular, SansSerif; + color: #9099A9; + //width: 100px; + padding: 0; + border-right: 1px solid #DFE5EE; + border-left: 1px solid transparent; + + &:last-of-type { + //border: none; + } + } + } + } + } + } + + .description { + position: absolute; + bottom: 0; + left: 0; + display: flex; + justify-content: center; + width: 100%; + height: 53px; + z-index: 10; + + & > div { + margin-right: 40px; + display: flex; + align-items: center; + + &:last-of-type { + margin-right: 0; + } + i { + margin-right: 8px; + } + span { + color: #9FA7B6; + } + } + @media (max-width: 940px) { + display: none; + } + } + + } + } + } +} diff --git a/less/index.less b/less/index.less index 21ca695..5e0a3ce 100755 --- a/less/index.less +++ b/less/index.less @@ -1,5 +1,4 @@ -@import "variables.less"; -@import "triangle.less"; +@import "lib/variables.less"; article { position: relative; @@ -122,7 +121,6 @@ article.a-modular-network-stack { z-index: 1; display: flex; flex-wrap: wrap; - max-width: 420px; width: 100%; justify-content: center; @@ -600,43 +598,6 @@ article.community { } } } - .persons { - width: 100%; - height: 240px; - //background: url(../img/photo_line.png) repeat-x center center; - margin-top: 82px; - position: relative; - overflow: hidden; - - .svg-wrapper { - overflow-x: auto; - height: 250px; - overflow-y: hidden; - //cursor: e-resize; - - .tooltip { - //visibility: hidden; - - } - .hide { - visibility: hidden; - } - - use { - &:hover { - cursor: pointer; - opacity: 0.7; - } - } - } - } - @media (max-width: 767px) { - padding-bottom: 0; - .wrap { - margin-top: 42px; - } - } - } /* responsive */ @@ -722,4 +683,4 @@ article.community { justify-content: space-around; } } -} \ No newline at end of file +} diff --git a/less/buttons.less b/less/lib/buttons.less similarity index 92% rename from less/buttons.less rename to less/lib/buttons.less index e02c314..89ae74f 100755 --- a/less/buttons.less +++ b/less/lib/buttons.less @@ -1,146 +1,145 @@ -@import "../css/fonts.css"; -@import "variables.less"; -@import "mixins.less"; - -.btn-socials{ - width:200px; - height:58px; - border:none; - color:@c_button_white; - font-family: 'Roboto-Regular'; - font-size: 16px; - letter-spacing: 1.2px; - text-decoration: none; - display: flex; - justify-content: center; - align-items: center; - line-height: 0; - .border-radius(); -} - -.btn-twitter{ - .btn_state(@c_l_blue); -} - -.btn-freenode{ - .btn_state(@c_l_grey); - text-transform: uppercase; -} - -.btn-github{ - .btn_state(@c_dd_grey); - text-transform: uppercase; -} - -.btn-community{ - .btn_state(@c_grey); - text-transform: uppercase; -} - - -.btn-more-videos{ - .btn_state(@c_pink); - text-transform: uppercase; -} - -.btn-copy{ - display:block; - width:76px; - height:30px; - font-size:12px; - color:@c_white; - font-family: 'Roboto-Bold'; - .btn_state(@c_orange); - text-align: center; - text-decoration: none; - line-height:30px; -} - -.btn-interface{ - display:block; - width:100px; - height:26px; - font-size:14px; - color:@c_white; - font-family: 'Roboto-Medium'; - .btn_state(@c_blue); - text-align: center; - text-decoration: none; - line-height:26px; - .border-radius(26px); -} - -.btn-soc-network{ - text-decoration: none; - display:inline-block; - color:@c_white; - - i{ - veritical-align:middle; - } -} - -.link-tw{ - .btn_state_hexagon(@c_l_blue,18px); - - i{ - font-size:18px; - } -} - -.link-google-plus{ - .btn_state_hexagon(@bg_google_plus,18px); - - i{ - font-size:13px; - } -} - -.link-fb{ - .btn_state_hexagon(@bg_facebook,18px); - - i{ - font-size:17px; - } -} - -.link-youtube{ - .btn_state_hexagon(@bg_youtube,18px); - - i{ - font-size:17px; - } -} - -.link-hexagon-item{ - display:block; - .bg-heragons-block("../img/test.jpg",300px); - text-decoration: none; -} - -.link-hexagon-item:hover .hexagon-hover{ - position: absolute; - top:0;left:0; - display:block; - content: ''; - .hexagon(300px, rgba(50,52,55, 0.85)); -} - -.hexagon-hover>span{ - color:#fff; - font-size:12px; - text-decoration: none; -} - -.hexagon-hover{ - display:none; -} - -.wr-tringle{ - position:relative; - width:100%; - overflow:hidden; - text-align: center; - - .bg-with-tringle(107px,@c_white,red); -} \ No newline at end of file +@import "variables.less"; +@import "mixins.less"; + +.btn-socials{ + width:200px; + height:58px; + border:none; + color:@c_button_white; + font-family: 'Roboto-Regular'; + font-size: 16px; + letter-spacing: 1.2px; + text-decoration: none; + display: flex; + justify-content: center; + align-items: center; + line-height: 0; + .border-radius(); +} + +.btn-twitter{ + .btn_state(@c_l_blue); +} + +.btn-freenode{ + .btn_state(@c_l_grey); + text-transform: uppercase; +} + +.btn-github{ + .btn_state(@c_dd_grey); + text-transform: uppercase; +} + +.btn-community{ + .btn_state(@c_grey); + text-transform: uppercase; +} + + +.btn-more-videos{ + .btn_state(@c_pink); + text-transform: uppercase; +} + +.btn-copy{ + display:block; + width:76px; + height:30px; + font-size:12px; + color:@c_white; + font-family: 'Roboto-Bold'; + .btn_state(@c_orange); + text-align: center; + text-decoration: none; + line-height:30px; +} + +.btn-interface{ + display:block; + width:100px; + height:26px; + font-size:14px; + color:@c_white; + font-family: 'Roboto-Medium'; + .btn_state(@c_blue); + text-align: center; + text-decoration: none; + line-height:26px; + .border-radius(26px); +} + +.btn-soc-network{ + text-decoration: none; + display:inline-block; + color:@c_white; + + i{ + veritical-align:middle; + } +} + +.link-tw{ + .btn_state_hexagon(@c_l_blue,18px); + + i{ + font-size:18px; + } +} + +.link-google-plus{ + .btn_state_hexagon(@bg_google_plus,18px); + + i{ + font-size:13px; + } +} + +.link-fb{ + .btn_state_hexagon(@bg_facebook,18px); + + i{ + font-size:17px; + } +} + +.link-youtube{ + .btn_state_hexagon(@bg_youtube,18px); + + i{ + font-size:17px; + } +} + +.link-hexagon-item{ + display:block; + .bg-heragons-block("../img/test.jpg",300px); + text-decoration: none; +} + +.link-hexagon-item:hover .hexagon-hover{ + position: absolute; + top:0;left:0; + display:block; + content: ''; + .hexagon(300px, rgba(50,52,55, 0.85)); +} + +.hexagon-hover>span{ + color:#fff; + font-size:12px; + text-decoration: none; +} + +.hexagon-hover{ + display:none; +} + +.wr-tringle{ + position:relative; + width:100%; + overflow:hidden; + text-align: center; + + .bg-with-tringle(107px,@c_white,red); +} diff --git a/less/examples.less b/less/lib/examples.less similarity index 94% rename from less/examples.less rename to less/lib/examples.less index 249b844..ccab15e 100755 --- a/less/examples.less +++ b/less/lib/examples.less @@ -1,101 +1,101 @@ -@import "variables.less"; -@import "triangle.less"; - -body > header .wrap nav ul li a.active { - color: #FF7F4D; -} - -article.examples { - padding-top: 127px; - padding-bottom: 93px; - @media (max-width: 940px) { - padding-top: 58px; - padding-bottom: 52px; - } - - .wrap { - p { - font-size: 30px; - line-height: 40px; - text-align: center; - letter-spacing: normal; - font-family: Roboto-Light, SansSerif; - color: #9099A9; - margin: 20px 0 73px 0; - @media (max-width: 940px) { - font-size: 20px; - line-height: 28px; - margin-bottom: 33px; - } - } - } - - .hexagons { - overflow-x: auto; - } - - .hexagons-wrapper { - display: flex; - justify-content: center; - margin-top: -88px; - - @media (max-width: 640px) { - margin-top: -46px; - } - - &.row1 { - margin-top: 0; - } - - .hexagon-wrapper { - //max-width: 310px; - //min-width: 230px; - //max-height: 356px; - //min-height: 265px; - width: 310px; - height: 356px; - display: flex; - justify-content: center; - align-items: center; - flex-shrink: 0; - flex-grow: 0; - - @media (max-width: 640px) { - //width: 230px; - //height: 265px; - width: 160px; - height: 184px; - } - - svg { - //max-width: 310px; - //min-width: 220px; - //max-height: 356px; - //min-height: 255px; - width: calc(~"100% - 10px"); - height: calc(~"100% - 10px"); - - g.hover { - opacity: 0; - //display: none; - } - } - &.big { - svg { - width: 100%; - height: 100%; - - a { - image { - filter: url(#blur); - } - g.hover { - opacity: 1; - - } - } - } - } - } - } -} \ No newline at end of file +@import "variables.less"; +@import "triangle.less"; + +body > header .wrap nav ul li a.active { + color: #FF7F4D; +} + +article.examples { + padding-top: 127px; + padding-bottom: 93px; + @media (max-width: 940px) { + padding-top: 58px; + padding-bottom: 52px; + } + + .wrap { + p { + font-size: 30px; + line-height: 40px; + text-align: center; + letter-spacing: normal; + font-family: Roboto-Light, SansSerif; + color: #9099A9; + margin: 20px 0 73px 0; + @media (max-width: 940px) { + font-size: 20px; + line-height: 28px; + margin-bottom: 33px; + } + } + } + + .hexagons { + overflow-x: auto; + } + + .hexagons-wrapper { + display: flex; + justify-content: center; + margin-top: -88px; + + @media (max-width: 640px) { + margin-top: -46px; + } + + &.row1 { + margin-top: 0; + } + + .hexagon-wrapper { + //max-width: 310px; + //min-width: 230px; + //max-height: 356px; + //min-height: 265px; + width: 310px; + height: 356px; + display: flex; + justify-content: center; + align-items: center; + flex-shrink: 0; + flex-grow: 0; + + @media (max-width: 640px) { + //width: 230px; + //height: 265px; + width: 160px; + height: 184px; + } + + svg { + //max-width: 310px; + //min-width: 220px; + //max-height: 356px; + //min-height: 255px; + width: calc(~"100% - 10px"); + height: calc(~"100% - 10px"); + + g.hover { + opacity: 0; + //display: none; + } + } + &.big { + svg { + width: 100%; + height: 100%; + + a { + image { + filter: url(#blur); + } + g.hover { + opacity: 1; + + } + } + } + } + } + } +} diff --git a/static/css/font-awesome.min.css b/less/lib/font-awesome.min.css similarity index 100% rename from static/css/font-awesome.min.css rename to less/lib/font-awesome.min.css diff --git a/static/css/fonts.css b/less/lib/fonts.css similarity index 100% rename from static/css/fonts.css rename to less/lib/fonts.css diff --git a/less/hexagon.less b/less/lib/hexagon.less similarity index 100% rename from less/hexagon.less rename to less/lib/hexagon.less diff --git a/less/mixins.less b/less/lib/mixins.less similarity index 95% rename from less/mixins.less rename to less/lib/mixins.less index 9fe8f0e..e39474b 100755 --- a/less/mixins.less +++ b/less/lib/mixins.less @@ -1,126 +1,126 @@ -@import "hexagon.less"; -@import "triangle.less"; - - -.box-sizing (@type: border-box) { - -webkit-box-sizing: @type; - -moz-box-sizing: @type; - box-sizing: @type; -} - -.border-radius (@radius: 7px) { - -webkit-border-radius: @radius; - -moz-border-radius: @radius; - border-radius: @radius; - - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; -} - -.box-shadow (@string) { - -webkit-box-shadow: @string; - -moz-box-shadow: @string; - box-shadow: @string; -} - -.link { - transition-timing-function: linear; - transition-duration: 0.5s; - transition-property: all; -} - - -.btn_state(@color) { - background: @color; - &:hover{ - background:mix(@c_white,@color, @lighten-percentage); - cursor:pointer; - } - - &:active{ - background:mix(#000,@color, @darken-percentage); - } - - &.disabled{ - background:lighten(@color, @lighten-percentage-dis); - } -} - -.btn_state_hexagon(@color,@size){ - .hexagon(@size, @color); - &:hover{ - .hexagon-changecolor(mix(@c_white,@color, @lighten-percentage)); - cursor:pointer; - } - - &:active{ - .hexagon-changecolor(mix(#000,@color, @darken-percentage)); - } - - &.disabled{ - .hexagon-changecolor(lighten(@color, @lighten-percentage-dis)); - } -} - -.bg-heragons-block(@image_url,@size){ - @radius: @size * 0.86602540378; - position: relative; - margin: @size auto; - width: @radius * 2;; - height: @size; - /*background: url(@image_url) center center;*/ - z-index: 1; - - .face1, .face2 { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: inherit; - z-index: -1; - /* Keeps borders smooth in webkit */ - backface-visibility: hidden; - - &:before{ - content: ''; - position: absolute; - width: @size*2; - height: @size*2; - background: inherit; - } - } - - .face1 { - transform: rotate(60deg); - - &:before { - left: 0; - transform-origin: left top; - transform: rotate(-60deg) translate(-@size, 0); - } - } - - .face2 { - transform: rotate(-60deg); - - &:before { - right: 0; - transform-origin: right top; - transform: rotate(60deg) translate(@size, 0); - } - } -} - -.bg-with-tringle(@size,@bg_color,@color_triangle){ - background:@bg_color; - - .i-triangle{ - margin-left:-7px; - @w:100vw; - .triangle(down, @w, @size, @color_triangle); - - } -} \ No newline at end of file +@import "hexagon.less"; +@import "triangle.less"; + + +.box-sizing (@type: border-box) { + -webkit-box-sizing: @type; + -moz-box-sizing: @type; + box-sizing: @type; +} + +.border-radius (@radius: 7px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; + + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} + +.box-shadow (@string) { + -webkit-box-shadow: @string; + -moz-box-shadow: @string; + box-shadow: @string; +} + +.link { + transition-timing-function: linear; + transition-duration: 0.5s; + transition-property: all; +} + + +.btn_state(@color) { + background: @color; + &:hover{ + background:mix(@c_white,@color, @lighten-percentage); + cursor:pointer; + } + + &:active{ + background:mix(#000,@color, @darken-percentage); + } + + &.disabled{ + background:lighten(@color, @lighten-percentage-dis); + } +} + +.btn_state_hexagon(@color,@size){ + .hexagon(@size, @color); + &:hover{ + .hexagon-changecolor(mix(@c_white,@color, @lighten-percentage)); + cursor:pointer; + } + + &:active{ + .hexagon-changecolor(mix(#000,@color, @darken-percentage)); + } + + &.disabled{ + .hexagon-changecolor(lighten(@color, @lighten-percentage-dis)); + } +} + +.bg-heragons-block(@image_url,@size){ + @radius: @size * 0.86602540378; + position: relative; + margin: @size auto; + width: @radius * 2;; + height: @size; + /*background: url(@image_url) center center;*/ + z-index: 1; + + .face1, .face2 { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; + background: inherit; + z-index: -1; + /* Keeps borders smooth in webkit */ + backface-visibility: hidden; + + &:before{ + content: ''; + position: absolute; + width: @size*2; + height: @size*2; + background: inherit; + } + } + + .face1 { + transform: rotate(60deg); + + &:before { + left: 0; + transform-origin: left top; + transform: rotate(-60deg) translate(-@size, 0); + } + } + + .face2 { + transform: rotate(-60deg); + + &:before { + right: 0; + transform-origin: right top; + transform: rotate(60deg) translate(@size, 0); + } + } +} + +.bg-with-tringle(@size,@bg_color,@color_triangle){ + background:@bg_color; + + .i-triangle{ + margin-left:-7px; + @w:100vw; + .triangle(down, @w, @size, @color_triangle); + + } +} diff --git a/less/triangle.less b/less/lib/triangle.less similarity index 100% rename from less/triangle.less rename to less/lib/triangle.less diff --git a/less/variables.less b/less/lib/variables.less similarity index 93% rename from less/variables.less rename to less/lib/variables.less index cd1d07d..68fb808 100755 --- a/less/variables.less +++ b/less/lib/variables.less @@ -1,37 +1,35 @@ -/* main colors*/ - -@c_ll_bue:#f3f6f9; -@c_font:#949cac; -@c_dark_grey:#48505d; -@c_m_grey:#474F5C; - -@c_yellow:#f9c234; - -@c_purple:#953A8C; -@c_l_blue:#24a8e6; -@c_l_grey:#cedd40; /*bg_freenode*/ -@c_dd_grey:#333333; -//@c_grey:#a4afc1; -@c_grey: #9099A9; -@c_pink: #ee5499; /*bg_video*/ - - -@bg_google_plus:#f24032; -@bg_facebook:#43609c; -@bg_youtube:#fb0014; - - -@c_orange:#ff743e; -@c_blue:#20b7ec; - - -@c_white:#fff; -@c_button_white: #fefefe; -@c_black: #48505D; - - -@lighten-percentage:20%; -@darken-percentage: 20%; -@lighten-percentage-dis:30%; - - +/* main colors*/ + +@c_ll_bue:#f3f6f9; +@c_font:#949cac; +@c_dark_grey:#48505d; +@c_m_grey:#474F5C; + +@c_yellow:#f9c234; + +@c_purple:#953A8C; +@c_l_blue:#24a8e6; +@c_l_grey:#cedd40; /*bg_freenode*/ +@c_dd_grey:#333333; +//@c_grey:#a4afc1; +@c_grey: #9099A9; +@c_pink: #ee5499; /*bg_video*/ + + +@bg_google_plus:#f24032; +@bg_facebook:#43609c; +@bg_youtube:#fb0014; + + +@c_orange:#ff743e; +@c_blue:#20b7ec; + + +@c_white:#fff; +@c_button_white: #fefefe; +@c_black: #48505D; + + +@lighten-percentage:20%; +@darken-percentage: 20%; +@lighten-percentage-dis:30%; diff --git a/less/media.less b/less/media.less index 20d0112..af99ca6 100755 --- a/less/media.less +++ b/less/media.less @@ -1,158 +1,158 @@ -@import "../css/fonts.css"; -@import "buttons.less"; - -body > header .wrap nav ul li a.active { - color: #FF7F4D; -} - -.pseudo-header{ - height:70px; -} - -main { - padding-bottom: 25px; - - & > .wrap { - margin-top: 63px; - } -} - -.title-page{ - font-family: Roboto-Black, SansSerif; - font-size: 64px; - line-height: 67px; - letter-spacing: -0.3px; - margin: 0; - text-align: center; - color:@c_m_grey; -} - -.about-part{ - margin-top:25px; - font-family: Roboto-Light, SansSerif; - color:#8F99A9; - font-size:30px; - line-height: 40px; - text-align: center; -} - -.wrap-videos{ - margin-top: 95px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - width: 100%; -} - -.item-video{ - width:300px; - margin-bottom:40px; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - - &.last-elment{ - justify-content: flex-start; - - @media (max-width: 667px) { - display: none; - } - - >div{ - display:flex; - width:100%; - margin-top:3px; - height:200px; - background:url(../img/img6.png) center center no-repeat; - } - } - - p{ - font-family: Roboto-Light, SansSerif; - font-size:16px; - color:@c_m_grey; - text-align: left; - width:100%; - margin-top: 22px; - margin-bottom: 0px; - } -} - -.video-container{ - display: flex; - height:206px; - width: 310px; - justify-content: center; - flex-direction: column; - align-items: center; - - iframe{ - .border-radius(5px); - width:300px; - height:200px; - border:none; - display: flex; - transition: 0.3s linear; - } - - &:hover iframe{ - height:206px; - width: 310px; - } -} - - - -@media (max-width: 940px) { - .wrap-videos{ - justify-content:space-around; - } -} - -//@media (max-width: 667px) { -// .item-video{ -// width:280px; -// } -// -// .video-container{ -// iframe{ -// width:280px; -// } -// } -// -//} - -@media (max-width: 767px) { - .pseudo-header { - height: 0; - } - - main > .wrap { - margin-top: 46px; - } - - .about-part { - margin-top: 8px; - line-height: 28px; - } - - .title-page{ - font-size:36px; - } - - .about-part{ - font-size:20px; - } - - .item-video{ - width:300px; - } - - .video-container{ - iframe{ - width:300px; - } - } - -} \ No newline at end of file +@import "lib/variables.less"; +@import "lib/buttons.less"; + +body > header .wrap nav ul li a.active { + color: #FF7F4D; +} + +.pseudo-header{ + height:70px; +} + +main { + padding-bottom: 25px; + + & > .wrap { + margin-top: 63px; + } +} + +.title-page{ + font-family: Roboto-Black, SansSerif; + font-size: 64px; + line-height: 67px; + letter-spacing: -0.3px; + margin: 0; + text-align: center; + color:@c_m_grey; +} + +.about-part{ + margin-top:25px; + font-family: Roboto-Light, SansSerif; + color:#8F99A9; + font-size:30px; + line-height: 40px; + text-align: center; +} + +.wrap-videos{ + margin-top: 95px; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + width: 100%; +} + +.item-video{ + width:300px; + margin-bottom:40px; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + + &.last-elment{ + justify-content: flex-start; + + @media (max-width: 667px) { + display: none; + } + + >div{ + display:flex; + width:100%; + margin-top:3px; + height:200px; + background:url(../img/img6.png) center center no-repeat; + } + } + + p{ + font-family: Roboto-Light, SansSerif; + font-size:16px; + color:@c_m_grey; + text-align: left; + width:100%; + margin-top: 22px; + margin-bottom: 0px; + } +} + +.video-container{ + display: flex; + height:206px; + width: 310px; + justify-content: center; + flex-direction: column; + align-items: center; + + iframe{ + .border-radius(5px); + width:300px; + height:200px; + border:none; + display: flex; + transition: 0.3s linear; + } + + &:hover iframe{ + height:206px; + width: 310px; + } +} + + + +@media (max-width: 940px) { + .wrap-videos{ + justify-content:space-around; + } +} + +//@media (max-width: 667px) { +// .item-video{ +// width:280px; +// } +// +// .video-container{ +// iframe{ +// width:280px; +// } +// } +// +//} + +@media (max-width: 767px) { + .pseudo-header { + height: 0; + } + + main > .wrap { + margin-top: 46px; + } + + .about-part { + margin-top: 8px; + line-height: 28px; + } + + .title-page{ + font-size:36px; + } + + .about-part{ + font-size:20px; + } + + .item-video{ + width:300px; + } + + .video-container{ + iframe{ + width:300px; + } + } + +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..76049af --- /dev/null +++ b/package.json @@ -0,0 +1,43 @@ +{ + "name": "libp2p-website", + "version": "1.0.0", + "description": "Webpage of the libp2p project. A multi protocol approach for a interoperable network stack that follows the 'self description' in favor of assumptions", + "main": "index.js", + "scripts": { + "start": "make serve" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/libp2p/website.git" + }, + "author": "Protocol Labs", + "license": "ISC", + "bugs": { + "url": "https://github.com/libp2p/website/issues" + }, + "homepage": "https://github.com/libp2p/website#readme", + "standard": { + "ignore": [ + "/static/js" + ] + }, + "dependencies": { + "jquery": "^2.1.1" + }, + "devDependencies": { + "browserify": "^14.4.0", + "dnslink-deploy": "^1.0.7", + "factor-bundle": "^2.5.0", + "imagemin-cli": "^3.0.0", + "imagemin-jpegtran": "^5.0.2", + "imagemin-optipng": "^5.2.1", + "imagemin-svgo": "^5.2.2", + "less": "^2.7.2", + "less-plugin-autoprefix": "^1.5.1", + "less-plugin-clean-css": "^1.5.1", + "nodemon": "^1.11.0", + "standard": "^10.0.2", + "uglify-js": "^3.0.18", + "watchify": "^3.9.0" + } +} diff --git a/static/css/.keep b/static/css/.keep new file mode 100644 index 0000000..e69de29 diff --git a/static/css/bundles.css b/static/css/bundles.css deleted file mode 100755 index aa68fa1..0000000 --- a/static/css/bundles.css +++ /dev/null @@ -1,463 +0,0 @@ -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ -body > header .wrap nav ul li a.active { - color: #FF753F; -} -article.bundles { - padding-top: 127px; - padding-bottom: 133px; -} -@media (max-width: 767px) { - article.bundles { - padding-top: 58px; - padding-bottom: 52px; - } -} -article.bundles .wrap p { - font-size: 30px; - line-height: 40px; - text-align: center; - letter-spacing: normal; - font-family: Roboto-Light, SansSerif; - color: #9099A9; - margin: 20px 0 73px 0; -} -@media (max-width: 767px) { - article.bundles .wrap p { - font-size: 20px; - line-height: 28px; - margin-bottom: 33px; - } -} -article.bundles .wrap .links { - width: 100%; - display: flex; - flex-wrap: wrap; - justify-content: center; - align-items: stretch; - position: relative; -} -article.bundles .wrap .links .active-link { - display: none; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; -} -article.bundles .wrap .links .active-link .copy-block { - display: flex; - align-items: center; -} -article.bundles .wrap .links .active-link .img { - width: 32px; - height: 29px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 5px; -} -article.bundles .wrap .links .active-link .img img { - width: 20px; - height: auto; -} -article.bundles .wrap .links .active-link .img img.node { - width: 32px; -} -article.bundles .wrap .links .active-link .img img.golang { - width: 15px; -} -article.bundles .wrap .links .active-link .img img.haskell { - width: 25px; -} -article.bundles .wrap .links .active-link .img img.java { - width: 16px; -} -article.bundles .wrap .links .active-link .img img.python { - width: 18px; -} -article.bundles .wrap .links .active-link span { - color: #31BDEE; - font-size: 16px; -} -article.bundles .wrap .links .active-link i { - margin-left: 5px; - font-size: 8px; - color: #9099A9; -} -article.bundles .wrap .links .active-link.inactive { - pointer-events: none; - cursor: default; -} -article.bundles .wrap .links .active-link.inactive .img { - opacity: 0.3; -} -article.bundles .wrap .links .active-link.inactive span { - color: #DFE5EE; -} -article.bundles .wrap .links .active-link:hover { - opacity: 0.5; -} -@media (max-width: 767px) { - article.bundles .wrap .links .active-link { - display: flex; - } -} -article.bundles .wrap .links .columns { - display: flex; - flex-wrap: wrap; - justify-content: center; - align-items: stretch; -} -article.bundles .wrap .links .columns .column { - border-right: 1px solid #F5F7FB; - padding: 0 34px; -} -article.bundles .wrap .links .columns .column:last-child { - border: none; -} -@media (max-width: 767px) { - article.bundles .wrap .links .columns .column { - border: none; - } -} -article.bundles .wrap .links .columns .column .link { - display: flex; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; -} -article.bundles .wrap .links .columns .column .link .img { - width: 32px; - height: 29px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 10px; -} -article.bundles .wrap .links .columns .column .link .img img { - width: 20px; - height: auto; -} -article.bundles .wrap .links .columns .column .link .img img.node { - width: 32px; -} -article.bundles .wrap .links .columns .column .link .img img.golang { - width: 15px; -} -article.bundles .wrap .links .columns .column .link .img img.haskell { - width: 25px; -} -article.bundles .wrap .links .columns .column .link .img img.java { - width: 16px; -} -article.bundles .wrap .links .columns .column .link .img img.python { - width: 18px; -} -article.bundles .wrap .links .columns .column .link span { - color: #31BDEE; - font-size: 16px; -} -article.bundles .wrap .links .columns .column .link.inactive { - pointer-events: none; - cursor: default; -} -article.bundles .wrap .links .columns .column .link.inactive .img { - opacity: 0.3; -} -article.bundles .wrap .links .columns .column .link.inactive span { - color: #DFE5EE; -} -article.bundles .wrap .links .columns .column .link:hover { - opacity: 0.5; -} -@media (max-width: 767px) { - article.bundles .wrap .links .columns { - display: none; - background: rgba(255, 255, 255, 0.7); - position: absolute; - top: 30px; - flex-direction: column; - z-index: 100; - width: 100%; - left: calc(50% - 100px); - } -} -article.bundles-info { - background: #F3F6F9; - padding-top: 100px; - padding-bottom: 170px; -} -@media (max-width: 767px) { - article.bundles-info { - padding-top: 55px; - padding-bottom: 70px; - } -} -article.bundles-info .wrap section { - display: flex; - margin-bottom: 80px; -} -@media (max-width: 767px) { - article.bundles-info .wrap section { - margin-bottom: 60px; - } -} -article.bundles-info .wrap section:last-of-type { - margin-bottom: 0; -} -article.bundles-info .wrap section aside { - width: 240px; - border: 1px solid #DFE5EE; - border-right: none; - border-top-left-radius: 5px; - border-bottom-left-radius: 5px; -} -article.bundles-info .wrap section aside .active-link { - display: none; - height: 45px; - justify-content: center; - align-items: center; - color: #9099A9; - font-size: 16px; -} -article.bundles-info .wrap section aside .active-link i { - font-size: 8px; - margin-left: 5px; -} -article.bundles-info .wrap section aside nav { - display: flex; - flex-direction: column; -} -article.bundles-info .wrap section aside nav a { - color: #9099A9; - max-width: 240px; - text-decoration: none; - padding: 0 0 0 40px; - border-bottom: 1px solid #DFE5EE; - font-size: 16px; - line-height: 44px; - white-space: nowrap; -} -@media (max-width: 767px) { - article.bundles-info .wrap section aside nav a { - line-height: 35px; - } -} -article.bundles-info .wrap section aside nav a.active, -article.bundles-info .wrap section aside nav a:hover { - background: #E9EEF5; -} -article.bundles-info .wrap section .content { - position: relative; - max-width: 700px; - min-width: 300px; - width: 100%; -} -article.bundles-info .wrap section .content .title { - max-width: 700px; - min-width: 300px; - width: 100%; - height: 205px; - background: white; - border: 1px solid #DFE5EE; - border-top-right-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - box-shadow: 0 0 10px 1px #DFE5EE; - position: relative; - top: 0; - left: 0; - z-index: 1; -} -article.bundles-info .wrap section .content .title .wrapper { - width: 130px; - height: 127px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-between; -} -article.bundles-info .wrap section .content .title .wrapper .img { - width: 130px; - height: 80px; - display: flex; - margin: 0 auto; -} -article.bundles-info .wrap section .content .title .wrapper .img img { - width: 100%; - height: 100%; - object-fit: contain; -} -article.bundles-info .wrap section .content .info { - max-width: 700px; - min-width: 300px; - width: 100%; - height: 291px; - background: white; - border: 1px solid #DFE5EE; - border-top: none; - border-bottom-right-radius: 5px; - box-shadow: 0 0 10px 1px #DFE5EE; - position: relative; - bottom: 0; - left: 0; -} -article.bundles-info .wrap section .content .info ul { - display: none; - height: 100%; - flex-direction: column; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - padding: 16px 15px; - margin: 0; -} -article.bundles-info .wrap section .content .info ul.show { - display: flex; - overflow-x: auto; -} -article.bundles-info .wrap section .content .info ul a { - text-decoration: none; -} -article.bundles-info .wrap section .content .info ul li { - list-style: none; - margin-top: 27px; - min-width: 100px; - max-width: 250px; - width: 100%; -} -article.bundles-info .wrap section .content .info ul li span { - padding-left: 6px; - font-size: 16px; - color: #9099A9; -} -article.bundles-info .wrap section .content .info ul.one-col { - justify-content: center; -} -article.bundles-info .wrap section .content .info ul.one-col li:first-child { - margin-top: 0; -} -article.bundles-info .wrap section.coming-soon { - margin-top: 90px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - width: 100%; -} -@media (max-width: 767px) { - article.bundles-info .wrap section.coming-soon { - justify-content: center; - margin-top: 70px; - } -} -article.bundles-info .wrap section.coming-soon .card { - width: 300px; - height: 150px; - display: flex; - justify-content: center; - align-items: center; - margin-bottom: 20px; -} -article.bundles-info .wrap section.coming-soon .card .rectangle { - width: 300px; - height: 150px; - background: #ffffff; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - padding-top: 0; - border: 1px solid #DFE5EE; - border-radius: 3px; - margin-bottom: 20px; - box-shadow: 0 0 10px 1px #DFE5EE; - transition: 0.3s linear; - text-decoration: none; -} -article.bundles-info .wrap section.coming-soon .card .rectangle.coming-soon, -article.bundles-info .wrap section.coming-soon .card .rectangle.empty { - width: 300px; - height: 150px; - cursor: default; - pointer-events: none; -} -article.bundles-info .wrap section.coming-soon .card .rectangle .img { - width: 170px; - height: 70px; -} -article.bundles-info .wrap section.coming-soon .card .rectangle .img img { - width: 100%; - height: 100%; - object-fit: contain; -} -article.bundles-info .wrap section.coming-soon .card .rectangle div.text { - font-family: Roboto-Light, SansSerif; - color: #48505d; - font-size: 16px; - text-align: center; - line-height: 35px; - width: 245px; - height: 55px; - display: none; - justify-content: center; - align-items: center; -} -article.bundles-info .wrap section.coming-soon .card .rectangle.coming-soon { - justify-content: flex-end; -} -article.bundles-info .wrap section.coming-soon .card .rectangle.coming-soon * { - opacity: 0.3; -} -article.bundles-info .wrap section.coming-soon .card .rectangle.coming-soon div.text { - display: flex; - color: black; - width: 100%; -} -article.bundles-info .wrap section.coming-soon .card .rectangle.empty { - background: transparent; - border: none; - box-shadow: none; -} -@media (max-width: 1200px) { - article.bundles-info .wrap section.coming-soon .card.empty { - display: none; - } -} -@media (max-width: 767px) { - article.bundles-info .wrap { - padding: 0; - } - article.bundles-info .wrap section { - flex-direction: column; - } - article.bundles-info .wrap section aside { - width: 100%; - } - article.bundles-info .wrap section aside.left .active-link { - display: flex; - } - article.bundles-info .wrap section aside.left nav { - display: none; - background: rgba(233, 238, 245, 0.8); - width: 100%; - position: absolute; - z-index: 100; - align-items: center; - } - article.bundles-info .wrap section aside.left nav a { - border: none; - padding: 0 30px; - } - article.bundles-info .wrap section .content { - width: 100%; - height: 495px; - } - article.bundles-info .wrap section .content .info ul { - padding: 16px 10px; - overflow: hidden; - } -} diff --git a/static/css/buttons.css b/static/css/buttons.css deleted file mode 100755 index e6121e2..0000000 --- a/static/css/buttons.css +++ /dev/null @@ -1,856 +0,0 @@ -@import "../css/fonts.css"; -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ -/***************************************************************/ -/* Author: db0 (db0company@gmail.com, http://db0.fr/) */ -/* Sources/Licence: https://github.com/db0company/css-hexagon */ -/***************************************************************/ -/***************************************************************/ -/* Sizes */ -/***************************************************************/ -/* Extra Extra Small */ -.hexagon-xxs { - color: #ffffff; - text-align: center; - font-size: 9.799999999999999px; - margin: 7px 0; - width: 24.24871130584px; - height: 14px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xxs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xxs:before, -.hexagon-xxs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 12.12435565292px solid transparent; - border-right: 13.12435565292px solid transparent; - left: 0; -} -.hexagon-xxs:before { - border-bottom: 7px solid #ebebeb; - top: -7px; -} -.hexagon-xxs:after { - border-top: 7px solid #ebebeb; - bottom: -7px; -} -/* Extra Small */ -.hexagon-xs { - color: #ffffff; - text-align: center; - font-size: 15.399999999999999px; - margin: 11px 0; - width: 38.10511776632px; - height: 22px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xs:before, -.hexagon-xs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 19.05255888316px solid transparent; - border-right: 20.05255888316px solid transparent; - left: 0; -} -.hexagon-xs:before { - border-bottom: 11px solid #ebebeb; - top: -11px; -} -.hexagon-xs:after { - border-top: 11px solid #ebebeb; - bottom: -11px; -} -/* Small */ -.hexagon-sm { - color: #ffffff; - text-align: center; - font-size: 30.799999999999997px; - margin: 22px 0; - width: 76.21023553264px; - height: 44px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-sm:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-sm:before, -.hexagon-sm:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 38.10511776632px solid transparent; - border-right: 39.10511776632px solid transparent; - left: 0; -} -.hexagon-sm:before { - border-bottom: 22px solid #ebebeb; - top: -22px; -} -.hexagon-sm:after { - border-top: 22px solid #ebebeb; - bottom: -22px; -} -/* Medium */ -.hexagon-md { - color: #ffffff; - text-align: center; - font-size: 44.8px; - margin: 32px 0; - width: 110.85125168384px; - height: 64px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-md:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-md:before, -.hexagon-md:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 55.42562584192px solid transparent; - border-right: 56.42562584192px solid transparent; - left: 0; -} -.hexagon-md:before { - border-bottom: 32px solid #ebebeb; - top: -32px; -} -.hexagon-md:after { - border-top: 32px solid #ebebeb; - bottom: -32px; -} -/* Large */ -.hexagon-lg { - color: #ffffff; - text-align: center; - font-size: 61.599999999999994px; - margin: 44px 0; - width: 152.42047106528px; - height: 88px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-lg:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-lg:before, -.hexagon-lg:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 76.21023553264px solid transparent; - border-right: 77.21023553264px solid transparent; - left: 0; -} -.hexagon-lg:before { - border-bottom: 44px solid #ebebeb; - top: -44px; -} -.hexagon-lg:after { - border-top: 44px solid #ebebeb; - bottom: -44px; -} -/* Extra large */ -.hexagon-xl { - color: #ffffff; - text-align: center; - font-size: 84px; - margin: 60px 0; - width: 207.8460969072px; - height: 120px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xl:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xl:before, -.hexagon-xl:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 103.9230484536px solid transparent; - border-right: 104.9230484536px solid transparent; - left: 0; -} -.hexagon-xl:before { - border-bottom: 60px solid #ebebeb; - top: -60px; -} -.hexagon-xl:after { - border-top: 60px solid #ebebeb; - bottom: -60px; -} -/***************************************************************/ -/* Colors */ -/***************************************************************/ -/* Default */ -.hexagon-default { - background-color: #ebebeb; -} -.hexagon-default:before { - border-bottom-color: #ebebeb; -} -.hexagon-default:after { - border-top-color: #ebebeb; -} -.hexagon-default.hexagon-hover:hover { - background-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:before { - border-bottom-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:after { - border-top-color: #cccccc; -} -/* Primary */ -.hexagon-primary { - background-color: #428bca; -} -.hexagon-primary:before { - border-bottom-color: #428bca; -} -.hexagon-primary:after { - border-top-color: #428bca; -} -.hexagon-primary.hexagon-hover:hover { - background-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:before { - border-bottom-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:after { - border-top-color: #3276b1; -} -/* Success */ -.hexagon-success { - background-color: #5cb85c; -} -.hexagon-success:before { - border-bottom-color: #5cb85c; -} -.hexagon-success:after { - border-top-color: #5cb85c; -} -.hexagon-success.hexagon-hover:hover { - background-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:before { - border-bottom-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:after { - border-top-color: #47a447; -} -/* Info */ -.hexagon-info { - background-color: #5bc0de; -} -.hexagon-info:before { - border-bottom-color: #5bc0de; -} -.hexagon-info:after { - border-top-color: #5bc0de; -} -.hexagon-info.hexagon-hover:hover { - background-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:before { - border-bottom-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:after { - border-top-color: #39b3d7; -} -/* Warning */ -.hexagon-warning { - background-color: #f0ad4e; -} -.hexagon-warning:before { - border-bottom-color: #f0ad4e; -} -.hexagon-warning:after { - border-top-color: #f0ad4e; -} -.hexagon-warning.hexagon-hover:hover { - background-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:before { - border-bottom-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:after { - border-top-color: #ed9c28; -} -/* Danger */ -.hexagon-danger { - background-color: #d9534f; -} -.hexagon-danger:before { - border-bottom-color: #d9534f; -} -.hexagon-danger:after { - border-top-color: #d9534f; -} -.hexagon-danger.hexagon-hover:hover { - background-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:before { - border-bottom-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:after { - border-top-color: #d2322d; -} -/***************************************************************/ -/* Inline */ -/***************************************************************/ -.hexagon-inline { - display: inline-block; -} -.link { - transition-timing-function: linear; - transition-duration: 0.5s; - transition-property: all; -} -.btn-socials { - width: 200px; - height: 58px; - border: none; - color: #fefefe; - font-family: 'Roboto-Regular'; - font-size: 16px; - letter-spacing: 1.2px; - text-decoration: none; - display: flex; - justify-content: center; - align-items: center; - line-height: 0; - -webkit-border-radius: 7px; - -moz-border-radius: 7px; - border-radius: 7px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; -} -.btn-twitter { - background: #24a8e6; -} -.btn-twitter:hover { - background: #50b9eb; - cursor: pointer; -} -.btn-twitter:active { - background: #1d86b8; -} -.btn-twitter.disabled { - background: #addff6; -} -.btn-freenode { - background: #cedd40; - text-transform: uppercase; -} -.btn-freenode:hover { - background: #d8e466; - cursor: pointer; -} -.btn-freenode:active { - background: #a5b133; -} -.btn-freenode.disabled { - background: #eff4c2; -} -.btn-github { - background: #333333; - text-transform: uppercase; -} -.btn-github:hover { - background: #5c5c5c; - cursor: pointer; -} -.btn-github:active { - background: #292929; -} -.btn-github.disabled { - background: #808080; -} -.btn-community { - background: #9099a9; - text-transform: uppercase; -} -.btn-community:hover { - background: #a6adba; - cursor: pointer; -} -.btn-community:active { - background: #737a87; -} -.btn-community.disabled { - background: #e6e8ec; -} -.btn-more-videos { - background: #ee5499; - text-transform: uppercase; -} -.btn-more-videos:hover { - background: #f176ad; - cursor: pointer; -} -.btn-more-videos:active { - background: #be437a; -} -.btn-more-videos.disabled { - background: #fcdfec; -} -.btn-copy { - display: block; - width: 76px; - height: 30px; - font-size: 12px; - color: #ffffff; - font-family: 'Roboto-Bold'; - background: #ff743e; - text-align: center; - text-decoration: none; - line-height: 30px; -} -.btn-copy:hover { - background: #ff9065; - cursor: pointer; -} -.btn-copy:active { - background: #cc5d32; -} -.btn-copy.disabled { - background: #ffe2d7; -} -.btn-interface { - display: block; - width: 100px; - height: 26px; - font-size: 14px; - color: #ffffff; - font-family: 'Roboto-Medium'; - background: #20b7ec; - text-align: center; - text-decoration: none; - line-height: 26px; - -webkit-border-radius: 26px; - -moz-border-radius: 26px; - border-radius: 26px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; -} -.btn-interface:hover { - background: #4dc5f0; - cursor: pointer; -} -.btn-interface:active { - background: #1a92bd; -} -.btn-interface.disabled { - background: #ade5f8; -} -.btn-soc-network { - text-decoration: none; - display: inline-block; - color: #ffffff; -} -.btn-soc-network i { - veritical-align: middle; -} -.link-tw { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #24a8e6; - position: relative; - display: block; -} -.link-tw:hover { - color: #ffffff; - text-decoration: none; -} -.link-tw:before, -.link-tw:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-tw:before { - border-bottom: 9px solid #24a8e6; - top: -9px; -} -.link-tw:after { - border-top: 9px solid #24a8e6; - bottom: -9px; -} -.link-tw:hover { - background-color: #50b9eb; - cursor: pointer; -} -.link-tw:hover:before { - border-bottom-color: #50b9eb; -} -.link-tw:hover:after { - border-top-color: #50b9eb; -} -.link-tw:active { - background-color: #1d86b8; -} -.link-tw:active:before { - border-bottom-color: #1d86b8; -} -.link-tw:active:after { - border-top-color: #1d86b8; -} -.link-tw.disabled { - background-color: #addff6; -} -.link-tw.disabled:before { - border-bottom-color: #addff6; -} -.link-tw.disabled:after { - border-top-color: #addff6; -} -.link-tw i { - font-size: 18px; -} -.link-google-plus { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #f24032; - position: relative; - display: block; -} -.link-google-plus:hover { - color: #ffffff; - text-decoration: none; -} -.link-google-plus:before, -.link-google-plus:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-google-plus:before { - border-bottom: 9px solid #f24032; - top: -9px; -} -.link-google-plus:after { - border-top: 9px solid #f24032; - bottom: -9px; -} -.link-google-plus:hover { - background-color: #f5665b; - cursor: pointer; -} -.link-google-plus:hover:before { - border-bottom-color: #f5665b; -} -.link-google-plus:hover:after { - border-top-color: #f5665b; -} -.link-google-plus:active { - background-color: #c23328; -} -.link-google-plus:active:before { - border-bottom-color: #c23328; -} -.link-google-plus:active:after { - border-top-color: #c23328; -} -.link-google-plus.disabled { - background-color: #fbc6c2; -} -.link-google-plus.disabled:before { - border-bottom-color: #fbc6c2; -} -.link-google-plus.disabled:after { - border-top-color: #fbc6c2; -} -.link-google-plus i { - font-size: 13px; -} -.link-fb { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #43609c; - position: relative; - display: block; -} -.link-fb:hover { - color: #ffffff; - text-decoration: none; -} -.link-fb:before, -.link-fb:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-fb:before { - border-bottom: 9px solid #43609c; - top: -9px; -} -.link-fb:after { - border-top: 9px solid #43609c; - bottom: -9px; -} -.link-fb:hover { - background-color: #6980b0; - cursor: pointer; -} -.link-fb:hover:before { - border-bottom-color: #6980b0; -} -.link-fb:hover:after { - border-top-color: #6980b0; -} -.link-fb:active { - background-color: #364d7d; -} -.link-fb:active:before { - border-bottom-color: #364d7d; -} -.link-fb:active:after { - border-top-color: #364d7d; -} -.link-fb.disabled { - background-color: #a1b3d7; -} -.link-fb.disabled:before { - border-bottom-color: #a1b3d7; -} -.link-fb.disabled:after { - border-top-color: #a1b3d7; -} -.link-fb i { - font-size: 17px; -} -.link-youtube { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #fb0014; - position: relative; - display: block; -} -.link-youtube:hover { - color: #ffffff; - text-decoration: none; -} -.link-youtube:before, -.link-youtube:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-youtube:before { - border-bottom: 9px solid #fb0014; - top: -9px; -} -.link-youtube:after { - border-top: 9px solid #fb0014; - bottom: -9px; -} -.link-youtube:hover { - background-color: #fc3343; - cursor: pointer; -} -.link-youtube:hover:before { - border-bottom-color: #fc3343; -} -.link-youtube:hover:after { - border-top-color: #fc3343; -} -.link-youtube:active { - background-color: #c90010; -} -.link-youtube:active:before { - border-bottom-color: #c90010; -} -.link-youtube:active:after { - border-top-color: #c90010; -} -.link-youtube.disabled { - background-color: #ff959d; -} -.link-youtube.disabled:before { - border-bottom-color: #ff959d; -} -.link-youtube.disabled:after { - border-top-color: #ff959d; -} -.link-youtube i { - font-size: 17px; -} -.link-hexagon-item { - display: block; - position: relative; - margin: 300px auto; - width: 519.615242268px; - height: 300px; - /*background: url(@image_url) center center;*/ - z-index: 1; - text-decoration: none; -} -.link-hexagon-item .face1, -.link-hexagon-item .face2 { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: inherit; - z-index: -1; - /* Keeps borders smooth in webkit */ - backface-visibility: hidden; -} -.link-hexagon-item .face1:before, -.link-hexagon-item .face2:before { - content: ''; - position: absolute; - width: 600px; - height: 600px; - background: inherit; -} -.link-hexagon-item .face1 { - transform: rotate(60deg); -} -.link-hexagon-item .face1:before { - left: 0; - transform-origin: left top; - transform: rotate(-60deg) translate(-300px, 0); -} -.link-hexagon-item .face2 { - transform: rotate(-60deg); -} -.link-hexagon-item .face2:before { - right: 0; - transform-origin: right top; - transform: rotate(60deg) translate(300px, 0); -} -.link-hexagon-item:hover .hexagon-hover { - position: absolute; - top: 0; - left: 0; - content: ''; - color: #ffffff; - text-align: center; - font-size: 210px; - margin: 150px 0; - width: 519.615242268px; - height: 300px; - background-color: rgba(50, 52, 55, 0.85); - position: relative; - display: block; -} -.link-hexagon-item:hover .hexagon-hover:hover { - color: #ffffff; - text-decoration: none; -} -.link-hexagon-item:hover .hexagon-hover:before, -.link-hexagon-item:hover .hexagon-hover:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 259.807621134px solid transparent; - border-right: 260.807621134px solid transparent; - left: 0; -} -.link-hexagon-item:hover .hexagon-hover:before { - border-bottom: 150px solid rgba(50, 52, 55, 0.85); - top: -150px; -} -.link-hexagon-item:hover .hexagon-hover:after { - border-top: 150px solid rgba(50, 52, 55, 0.85); - bottom: -150px; -} -.hexagon-hover > span { - color: #fff; - font-size: 12px; - text-decoration: none; -} -.hexagon-hover { - display: none; -} -.wr-tringle { - position: relative; - width: 100%; - overflow: hidden; - text-align: center; - background: #ffffff; -} -.wr-tringle .i-triangle { - margin-left: -7px; - content: ''; - display: block; - width: 0; - height: 0; - -moz-transform: scale(0.9999); - border-left: 50vw solid transparent; - border-right: 50vw solid transparent; - border-top: 107px solid #ff0000; -} diff --git a/static/css/examples.css b/static/css/examples.css deleted file mode 100755 index 1b76934..0000000 --- a/static/css/examples.css +++ /dev/null @@ -1,80 +0,0 @@ -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ -body > header .wrap nav ul li a.active { - color: #FF7F4D; -} -article.examples { - padding-top: 127px; - padding-bottom: 93px; -} -@media (max-width: 940px) { - article.examples { - padding-top: 58px; - padding-bottom: 52px; - } -} -article.examples .wrap p { - font-size: 30px; - line-height: 40px; - text-align: center; - letter-spacing: normal; - font-family: Roboto-Light, SansSerif; - color: #9099A9; - margin: 20px 0 73px 0; -} -@media (max-width: 940px) { - article.examples .wrap p { - font-size: 20px; - line-height: 28px; - margin-bottom: 33px; - } -} -article.examples .hexagons { - overflow-x: auto; -} -article.examples .hexagons-wrapper { - display: flex; - justify-content: center; - margin-top: -88px; -} -@media (max-width: 640px) { - article.examples .hexagons-wrapper { - margin-top: -46px; - } -} -article.examples .hexagons-wrapper.row1 { - margin-top: 0; -} -article.examples .hexagons-wrapper .hexagon-wrapper { - width: 310px; - height: 356px; - display: flex; - justify-content: center; - align-items: center; - flex-shrink: 0; - flex-grow: 0; -} -@media (max-width: 640px) { - article.examples .hexagons-wrapper .hexagon-wrapper { - width: 160px; - height: 184px; - } -} -article.examples .hexagons-wrapper .hexagon-wrapper svg { - width: calc(100% - 10px); - height: calc(100% - 10px); -} -article.examples .hexagons-wrapper .hexagon-wrapper svg g.hover { - opacity: 0; -} -article.examples .hexagons-wrapper .hexagon-wrapper.big svg { - width: 100%; - height: 100%; -} -article.examples .hexagons-wrapper .hexagon-wrapper.big svg a image { - filter: url(#blur); -} -article.examples .hexagons-wrapper .hexagon-wrapper.big svg a g.hover { - opacity: 1; -} diff --git a/static/css/hexagon.css b/static/css/hexagon.css deleted file mode 100755 index 862c7d8..0000000 --- a/static/css/hexagon.css +++ /dev/null @@ -1,334 +0,0 @@ -/***************************************************************/ -/* Author: db0 (db0company@gmail.com, http://db0.fr/) */ -/* Sources/Licence: https://github.com/db0company/css-hexagon */ -/***************************************************************/ -/***************************************************************/ -/* Sizes */ -/***************************************************************/ -/* Extra Extra Small */ -.hexagon-xxs { - color: #ffffff; - text-align: center; - font-size: 9.799999999999999px; - margin: 7px 0; - width: 24.24871130584px; - height: 14px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xxs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xxs:before, -.hexagon-xxs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 12.12435565292px solid transparent; - border-right: 13.12435565292px solid transparent; - left: 0; -} -.hexagon-xxs:before { - border-bottom: 7px solid #ebebeb; - top: -7px; -} -.hexagon-xxs:after { - border-top: 7px solid #ebebeb; - bottom: -7px; -} -/* Extra Small */ -.hexagon-xs { - color: #ffffff; - text-align: center; - font-size: 15.399999999999999px; - margin: 11px 0; - width: 38.10511776632px; - height: 22px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xs:before, -.hexagon-xs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 19.05255888316px solid transparent; - border-right: 20.05255888316px solid transparent; - left: 0; -} -.hexagon-xs:before { - border-bottom: 11px solid #ebebeb; - top: -11px; -} -.hexagon-xs:after { - border-top: 11px solid #ebebeb; - bottom: -11px; -} -/* Small */ -.hexagon-sm { - color: #ffffff; - text-align: center; - font-size: 30.799999999999997px; - margin: 22px 0; - width: 76.21023553264px; - height: 44px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-sm:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-sm:before, -.hexagon-sm:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 38.10511776632px solid transparent; - border-right: 39.10511776632px solid transparent; - left: 0; -} -.hexagon-sm:before { - border-bottom: 22px solid #ebebeb; - top: -22px; -} -.hexagon-sm:after { - border-top: 22px solid #ebebeb; - bottom: -22px; -} -/* Medium */ -.hexagon-md { - color: #ffffff; - text-align: center; - font-size: 44.8px; - margin: 32px 0; - width: 110.85125168384px; - height: 64px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-md:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-md:before, -.hexagon-md:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 55.42562584192px solid transparent; - border-right: 56.42562584192px solid transparent; - left: 0; -} -.hexagon-md:before { - border-bottom: 32px solid #ebebeb; - top: -32px; -} -.hexagon-md:after { - border-top: 32px solid #ebebeb; - bottom: -32px; -} -/* Large */ -.hexagon-lg { - color: #ffffff; - text-align: center; - font-size: 61.599999999999994px; - margin: 44px 0; - width: 152.42047106528px; - height: 88px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-lg:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-lg:before, -.hexagon-lg:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 76.21023553264px solid transparent; - border-right: 77.21023553264px solid transparent; - left: 0; -} -.hexagon-lg:before { - border-bottom: 44px solid #ebebeb; - top: -44px; -} -.hexagon-lg:after { - border-top: 44px solid #ebebeb; - bottom: -44px; -} -/* Extra large */ -.hexagon-xl { - color: #ffffff; - text-align: center; - font-size: 84px; - margin: 60px 0; - width: 207.8460969072px; - height: 120px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xl:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xl:before, -.hexagon-xl:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 103.9230484536px solid transparent; - border-right: 104.9230484536px solid transparent; - left: 0; -} -.hexagon-xl:before { - border-bottom: 60px solid #ebebeb; - top: -60px; -} -.hexagon-xl:after { - border-top: 60px solid #ebebeb; - bottom: -60px; -} -/***************************************************************/ -/* Colors */ -/***************************************************************/ -/* Default */ -.hexagon-default { - background-color: #ebebeb; -} -.hexagon-default:before { - border-bottom-color: #ebebeb; -} -.hexagon-default:after { - border-top-color: #ebebeb; -} -.hexagon-default.hexagon-hover:hover { - background-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:before { - border-bottom-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:after { - border-top-color: #cccccc; -} -/* Primary */ -.hexagon-primary { - background-color: #428bca; -} -.hexagon-primary:before { - border-bottom-color: #428bca; -} -.hexagon-primary:after { - border-top-color: #428bca; -} -.hexagon-primary.hexagon-hover:hover { - background-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:before { - border-bottom-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:after { - border-top-color: #3276b1; -} -/* Success */ -.hexagon-success { - background-color: #5cb85c; -} -.hexagon-success:before { - border-bottom-color: #5cb85c; -} -.hexagon-success:after { - border-top-color: #5cb85c; -} -.hexagon-success.hexagon-hover:hover { - background-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:before { - border-bottom-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:after { - border-top-color: #47a447; -} -/* Info */ -.hexagon-info { - background-color: #5bc0de; -} -.hexagon-info:before { - border-bottom-color: #5bc0de; -} -.hexagon-info:after { - border-top-color: #5bc0de; -} -.hexagon-info.hexagon-hover:hover { - background-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:before { - border-bottom-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:after { - border-top-color: #39b3d7; -} -/* Warning */ -.hexagon-warning { - background-color: #f0ad4e; -} -.hexagon-warning:before { - border-bottom-color: #f0ad4e; -} -.hexagon-warning:after { - border-top-color: #f0ad4e; -} -.hexagon-warning.hexagon-hover:hover { - background-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:before { - border-bottom-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:after { - border-top-color: #ed9c28; -} -/* Danger */ -.hexagon-danger { - background-color: #d9534f; -} -.hexagon-danger:before { - border-bottom-color: #d9534f; -} -.hexagon-danger:after { - border-top-color: #d9534f; -} -.hexagon-danger.hexagon-hover:hover { - background-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:before { - border-bottom-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:after { - border-top-color: #d2322d; -} -/***************************************************************/ -/* Inline */ -/***************************************************************/ -.hexagon-inline { - display: inline-block; -} diff --git a/static/css/implementations.css b/static/css/implementations.css deleted file mode 100755 index 6218950..0000000 --- a/static/css/implementations.css +++ /dev/null @@ -1,608 +0,0 @@ -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ -body > header .wrap nav ul li a.active { - color: #FF7F4D; -} -article.implementations { - padding-top: 127px; - padding-bottom: 93px; -} -@media (max-width: 940px) { - article.implementations { - padding-top: 58px; - padding-bottom: 52px; - } -} -article.implementations .wrap p { - font-size: 30px; - line-height: 40px; - text-align: center; - letter-spacing: normal; - font-family: Roboto-Light, SansSerif; - color: #9099A9; - margin: 20px 0 73px 0; -} -@media (max-width: 940px) { - article.implementations .wrap p { - font-size: 20px; - line-height: 28px; - margin-bottom: 41px; - } -} -article.implementations .wrap .links { - width: 100%; - display: flex; - flex-wrap: wrap; - align-items: stretch; - position: relative; -} -@media (max-width: 940px) { - article.implementations .wrap .links { - justify-content: center; - } -} -article.implementations .wrap .links .active-link { - display: none; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; -} -article.implementations .wrap .links .active-link .copy-block { - display: flex; - align-items: center; -} -article.implementations .wrap .links .active-link .img { - width: 23px; - height: 23px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 5px; -} -article.implementations .wrap .links .active-link .img img { - width: 100%; - height: 100%; - object-fit: contain; - object-position: 50% 50%; -} -article.implementations .wrap .links .active-link .img img.node { - width: 32px; -} -article.implementations .wrap .links .active-link .img img.golang { - width: 15px; -} -article.implementations .wrap .links .active-link .img img.haskell { - width: 25px; -} -article.implementations .wrap .links .active-link .img img.java { - width: 16px; -} -article.implementations .wrap .links .active-link .img img.python { - width: 18px; -} -article.implementations .wrap .links .active-link span { - color: #31BDEE; - font-size: 16px; -} -article.implementations .wrap .links .active-link i { - margin-left: 5px; - font-size: 8px; - color: #9099A9; -} -article.implementations .wrap .links .active-link.inactive { - pointer-events: none; - cursor: default; -} -article.implementations .wrap .links .active-link.inactive .img { - opacity: 0.3; -} -article.implementations .wrap .links .active-link.inactive span { - color: #DFE5EE; -} -article.implementations .wrap .links .active-link:hover { - opacity: 0.5; -} -@media (max-width: 940px) { - article.implementations .wrap .links .active-link { - display: flex; - } -} -article.implementations .wrap .links .columns { - display: flex; - flex-wrap: wrap; - justify-content: center; - align-items: stretch; -} -article.implementations .wrap .links .columns .column { - border-right: 1px solid #F5F7FB; -} -article.implementations .wrap .links .columns .column .link { - display: flex; - justify-content: flex-start; - align-items: center; - padding: 5px 0; - text-decoration: none; -} -article.implementations .wrap .links .columns .column .link .img { - width: 30px; - height: 29px; - display: flex; - justify-content: center; - align-items: center; - margin-right: 10px; -} -article.implementations .wrap .links .columns .column .link span { - color: #31BDEE; - font-size: 16px; -} -article.implementations .wrap .links .columns .column .link.inactive { - pointer-events: none; - cursor: default; -} -article.implementations .wrap .links .columns .column .link.inactive .img { - opacity: 0.3; -} -article.implementations .wrap .links .columns .column .link.inactive span { - color: #DFE5EE; -} -article.implementations .wrap .links .columns .column .link:hover { - opacity: 0.5; -} -article.implementations .wrap .links .columns .column.col1 { - padding: 0 40px 0 12px; -} -article.implementations .wrap .links .columns .column.col1 .img { - margin-right: 10px; -} -article.implementations .wrap .links .columns .column.col2 { - padding: 0 40px 0 33px; -} -article.implementations .wrap .links .columns .column.col2 .img { - margin-right: 8px; -} -article.implementations .wrap .links .columns .column.col3 { - padding: 0 42px 0 34px; -} -article.implementations .wrap .links .columns .column.col3 .img { - margin-right: 5px; -} -article.implementations .wrap .links .columns .column.col4 { - padding: 0 0 0 33px; -} -article.implementations .wrap .links .columns .column.col4 .img { - margin-right: 0; -} -article.implementations .wrap .links .columns .column:last-child { - border: none; -} -@media (max-width: 940px) { - article.implementations .wrap .links .columns .column { - border: none; - padding: 0 20px !important; - } -} -@media (max-width: 940px) { - article.implementations .wrap .links .columns { - display: none; - background: rgba(255, 255, 255, 0.9); - position: absolute; - top: 40px; - flex-direction: column; - z-index: 100; - } -} -main > .img { - margin-top: 60px; - width: 100%; - position: absolute; - background: #F3F6F9; - text-align: center; - z-index: 1; -} -main > .img.fixed { - position: fixed; - top: 100px; -} -main > .img .cubes-wrapper { - display: inline-block; - position: relative; -} -main > .img .cubes-wrapper img.cubes { - opacity: 0; - position: absolute; - width: 46px; - -webkit-transition: opacity 0.7s; - -moz-transition: opacity 0.7s; - -ms-transition: opacity 0.7s; - -o-transition: opacity 0.7s; - transition: opacity 0.7s; -} -main > .img .cubes-wrapper img.cubes.transports { - top: -1px; - left: 40px; -} -main > .img .cubes-wrapper img.cubes.transports.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.stream-muxers { - top: 11px; - left: 61px; -} -main > .img .cubes-wrapper img.cubes.stream-muxers.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.crypto-channels { - width: 67px; - top: 10px; - left: 18px; -} -main > .img .cubes-wrapper img.cubes.crypto-channels.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.connection-upgrades { - width: 47px; - top: 22px; - left: -2px; -} -main > .img .cubes-wrapper img.cubes.connection-upgrades.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.peer-routing { - width: 65px; - top: 36px; - left: 21px; -} -main > .img .cubes-wrapper img.cubes.peer-routing.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.record-stores { - width: 46px; - top: 34px; - left: 61px; -} -main > .img .cubes-wrapper img.cubes.record-stores.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.nat-traversal { - width: 67px; - top: 22px; - left: 59px; -} -main > .img .cubes-wrapper img.cubes.nat-traversal.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.discovery { - width: 89px; - top: 60px; - left: 39px; -} -main > .img .cubes-wrapper img.cubes.discovery.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.utils { - width: 46px; - top: 72px; - left: 40px; -} -main > .img .cubes-wrapper img.cubes.utils.show { - opacity: 1; -} -main > .img .cubes-wrapper img.cubes.others { - width: 66px; - top: 87px; - left: 40px; -} -main > .img .cubes-wrapper img.cubes.others.show { - opacity: 1; -} -article.implementations-info { - background: #F3F6F9; - padding-top: 0; - padding-bottom: 170px; -} -@media (max-width: 940px) { - article.implementations-info { - padding-bottom: 70px; - } -} -@media (max-width: 940px) { - article.implementations-info .wrap { - padding: 0; - } -} -article.implementations-info .wrap section { - margin-top: 270px; -} -article.implementations-info .wrap section#transports .img img.cubes { - top: -1px; - left: 39px; -} -article.implementations-info .wrap section#transports .table { - height: 690px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#transports .table { - height: 635px; - } -} -article.implementations-info .wrap section#stream-muxers .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#stream-muxers .table { - height: 370px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#stream-muxers .table { - height: 313px; - } -} -article.implementations-info .wrap section#crypto-channels .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#crypto-channels .table { - height: 323px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#crypto-channels .table { - height: 265px; - } -} -article.implementations-info .wrap section#connection-upgrades .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#connection-upgrades .table { - height: 383px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#connection-upgrades .table { - height: 313px; - } -} -article.implementations-info .wrap section#peer-routing .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#peer-routing .table { - height: 415px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#peer-routing .table { - height: 358px; - } -} -article.implementations-info .wrap section#record-stores .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#record-stores .table { - height: 369px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#record-stores .table { - height: 313px; - } -} -article.implementations-info .wrap section#nat-traversal .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#nat-traversal .table { - height: 324px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#nat-traversal .table { - height: 266px; - } -} -article.implementations-info .wrap section#discovery .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#discovery .table { - height: 415px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#discovery .table { - height: 360px; - } -} -article.implementations-info .wrap section#utils .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#utils .table { - height: 324px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#utils .table { - height: 266px; - } -} -article.implementations-info .wrap section#others .img img.cubes { - top: 10px; - left: 60px; -} -article.implementations-info .wrap section#others .table { - height: 415px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section#others .table { - height: 359px; - } -} -article.implementations-info .wrap section .table { - margin-top: 55px; - position: relative; - min-width: 300px; - width: 100%; - border: 1px solid #DFE5EE; - border-radius: 5px; - z-index: 1; -} -article.implementations-info .wrap section .table .title { - min-width: 300px; - width: 100%; - height: 160px; - background: white; - border: 1px solid #DFE5EE; - border-top-right-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - box-shadow: 0 0 10px 1px #DFE5EE; - position: absolute; - top: 0; - left: 0; - z-index: 12; -} -article.implementations-info .wrap section .table .title .wrapper { - height: 127px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: flex-start; -} -article.implementations-info .wrap section .table .title .wrapper .header { - font-family: Roboto-Light, SansSerif; - font-size: 30px; - color: #48505D; - padding: 20px 0; - text-align: center; -} -article.implementations-info .wrap section .table .info { - min-width: 300px; - width: 100%; - height: auto; - background: white; - border: 1px solid #DFE5EE; - border-top: none; - box-shadow: 0 0 10px 1px #DFE5EE; - position: absolute; - top: 160px; - left: 0; - z-index: 11; -} -article.implementations-info .wrap section .table .info .table-wrapper { - overflow-x: auto; - overflow-y: visible; - margin-left: 240px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section .table .info .table-wrapper { - margin-left: 170px; - } -} -article.implementations-info .wrap section .table .info table { - font-size: 16px; - border-collapse: collapse; -} -article.implementations-info .wrap section .table .info table *:hover { - -webkit-transition: none; - -moz-transition: none; - -ms-transition: none; - -o-transition: none; - transition: none; -} -article.implementations-info .wrap section .table .info table tr { - height: 46px; -} -article.implementations-info .wrap section .table .info table tr.empty { - height: 13px; -} -article.implementations-info .wrap section .table .info table tr.empty th { - height: 13px !important; -} -article.implementations-info .wrap section .table .info table tr th { - font-family: Roboto-Light, SansSerif; - color: #A9B0BC; - border-right: 1px solid #DFE5EE; - width: 99px; - text-align: left; - padding-left: 40px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section .table .info table tr th { - padding-left: 17px; - } -} -article.implementations-info .wrap section .table .info table tr th.head-col { - position: absolute; - left: 0; - top: auto; - background: white; - display: flex; - align-items: center; - height: 47px; - width: 240px; -} -@media (max-width: 940px) { - article.implementations-info .wrap section .table .info table tr th.head-col { - width: 170px; - } -} -article.implementations-info .wrap section .table .info table tr td { - text-align: center; - border-right: 1px solid #DFE5EE; - line-height: 0; -} -article.implementations-info .wrap section .table .info table tr td a { - width: 100%; - height: 100%; - display: block; - text-decoration: none; -} -article.implementations-info .wrap section .table .info table tr:not(.empty):not(.head-row):hover th { - color: #21B7EC; -} -article.implementations-info .wrap section .table .info table tr:not(.empty):not(.head-row):hover td { - background: #FCFCFD; - border-top: 1px solid #DFE5EE; - border-bottom: 1px solid #DFE5EE; - border-right-color: transparent; - cursor: pointer; -} -article.implementations-info .wrap section .table .info table tr:not(.empty):not(.head-row):hover td:last-child { - border-right-color: #DFE5EE; -} -article.implementations-info .wrap section .table .info table tr:first-of-type th { - text-align: center; - font-family: Roboto-Regular, SansSerif; - color: #9099A9; - padding: 0; - border-right: 1px solid #DFE5EE; - border-left: 1px solid transparent; -} -article.implementations-info .wrap section .table .description { - position: absolute; - bottom: 0; - left: 0; - display: flex; - justify-content: center; - width: 100%; - height: 53px; - z-index: 10; -} -article.implementations-info .wrap section .table .description > div { - margin-right: 40px; - display: flex; - align-items: center; -} -article.implementations-info .wrap section .table .description > div:last-of-type { - margin-right: 0; -} -article.implementations-info .wrap section .table .description > div i { - margin-right: 8px; -} -article.implementations-info .wrap section .table .description > div span { - color: #9FA7B6; -} -@media (max-width: 940px) { - article.implementations-info .wrap section .table .description { - display: none; - } -} diff --git a/static/css/index.css b/static/css/index.css deleted file mode 100755 index b763163..0000000 --- a/static/css/index.css +++ /dev/null @@ -1,668 +0,0 @@ -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ -article { - position: relative; -} -article > * { - opacity: 0; -} -article.a-modular-network-stack > * { - opacity: 1; -} -article.show > * { - opacity: 1; - -webkit-transition: opacity 1s; - -moz-transition: opacity 1s; - -ms-transition: opacity 1s; - -o-transition: opacity 1s; - transition: opacity 1s; -} -article.a-modular-network-stack { - width: 100%; - padding-bottom: 38px; - padding-top: 0; -} -article.a-modular-network-stack .homepage-animation { - width: 100%; - max-height: 475px; - min-height: 231px; - height: 475px; - display: block; - position: relative; - overflow: hidden; - justify-content: center; - align-items: center; -} -article.a-modular-network-stack .homepage-animation.static { - display: flex; -} -article.a-modular-network-stack .homepage-animation #static-stage { - display: none; - width: 220px; - height: 260px; -} -article.a-modular-network-stack .homepage-animation #static-stage.show { - display: block; - margin-top: 95px; - margin-left: 5px; -} -@media (max-width: 767px) { - article.a-modular-network-stack .homepage-animation #static-stage { - width: 115px; - height: 135px; - } - article.a-modular-network-stack .homepage-animation #static-stage.show { - margin-top: 20px; - } -} -article.a-modular-network-stack .wrap { - display: flex; - flex-direction: column; - align-items: center; - margin-bottom: 42px; -} -article.a-modular-network-stack .wrap h2 { - opacity: 0; - font-family: Roboto-Bold, SansSerif; - font-size: 65px; - line-height: 67px; - letter-spacing: -0.3px; - margin: 0; - text-align: center; - -webkit-transition: opacity 1.5s; - -moz-transition: opacity 1.5s; - -ms-transition: opacity 1.5s; - -o-transition: opacity 1.5s; - transition: opacity 1.5s; -} -article.a-modular-network-stack .wrap h2 span:nth-child(1) { - color: #A8539E; -} -article.a-modular-network-stack .wrap h2 span:nth-child(2) { - color: #EF65A4; -} -article.a-modular-network-stack .wrap h2 span:nth-child(3) { - color: #F9C234; -} -article.a-modular-network-stack .wrap h2 span:nth-child(4) { - color: #CDDD40; -} -article.a-modular-network-stack .wrap p { - font-family: Roboto-Light, SansSerif; - font-size: 30px; - color: #9099a9; - text-align: center; - margin-top: 25px; - line-height: 40px; - opacity: 0; - position: relative; - top: 30px; - -webkit-transition: all 1s; - -moz-transition: all 1s; - -ms-transition: all 1s; - -o-transition: all 1s; - transition: all 1s; -} -article.a-modular-network-stack .wrap p.show { - opacity: 1; - top: 0; -} -article.a-modular-network-stack .wrap .buttons { - z-index: 1; - display: flex; - flex-wrap: wrap; - max-width: 420px; - width: 100%; - justify-content: center; - opacity: 0; - position: relative; - top: 30px; - -webkit-transition: all 1s; - -moz-transition: all 1s; - -ms-transition: all 1s; - -o-transition: all 1s; - transition: all 1s; -} -article.a-modular-network-stack .wrap .buttons.show { - opacity: 1; - top: 0; -} -article.a-modular-network-stack .wrap .buttons a { - margin-top: 29px; -} -@media (max-width: 767px) { - article.a-modular-network-stack .wrap .buttons { - justify-content: space-around; - } -} -@media (max-width: 767px) { - article.a-modular-network-stack .homepage-animation { - height: 231px; - } - article.a-modular-network-stack .wrap { - margin-bottom: 23px; - } - article.a-modular-network-stack .wrap h2 { - font-size: 37px; - line-height: 42px; - } - article.a-modular-network-stack .wrap p { - font-size: 20px; - line-height: 28px; - margin-top: 21px; - } - article.a-modular-network-stack .wrap .buttons button { - margin-top: 20px; - } -} -article.features { - background: #f3f6f9; - padding-bottom: 180px; -} -@media (max-width: 767px) { - article.features { - padding-bottom: 88px; - } -} -article.features .wrap { - margin-top: 55px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - width: 100%; -} -article.features .wrap .card { - margin-bottom: 10px; - width: 310px; - height: 270px; - display: flex; - justify-content: center; - align-items: center; -} -article.features .wrap .rectangle { - margin: auto; - width: 300px; - height: 260px; - background: #ffffff; - display: flex; - flex-direction: column; - align-items: center; - padding-top: 9px; - border: 1px solid #DFE5EE; - border-radius: 3px; - box-shadow: 0 0 10px 1px #DFE5EE; - text-decoration: none; - overflow: hidden; -} -article.features .wrap .rectangle div { - font-family: Roboto-Light, SansSerif; - color: #48505d; - font-size: 30px; - text-align: center; - line-height: 35px; - margin-top: 10px; - width: 245px; - height: 70px; - display: flex; - justify-content: center; - align-items: center; -} -article.features .wrap .rectangle img { - -webkit-transition: all 0.3s; - -moz-transition: all 0.3s; - -ms-transition: all 0.3s; - -o-transition: all 0.3s; - transition: all 0.3s; -} -article.features .wrap .rectangle p { - opacity: 0; - height: 0; - margin: 0; - text-align: center; - font-size: 17px; - color: #A8ACB2; - width: 260px; - letter-spacing: -0.6px; - line-height: 26px; - -webkit-transition: all 0.3s; - -moz-transition: all 0.3s; - -ms-transition: all 0.3s; - -o-transition: all 0.3s; - transition: all 0.3s; -} -article.features .wrap .rectangle:hover { - width: 310px; - height: 270px; - padding-top: 16px; -} -article.features .wrap .rectangle:hover img { - opacity: 0; - width: 0; - height: 0; -} -article.features .wrap .rectangle:hover p { - opacity: 1; - height: auto; - margin: 2px 0 17px 0; -} -@media (max-width: 767px) { - article.features .wrap .rectangle { - width: 160px; - height: 140px; - } - article.features .wrap .rectangle:hover { - width: 165px; - height: 145px; - } - article.features .wrap .rectangle img { - width: 92px; - height: auto; - } - article.features .wrap .rectangle div { - width: 150px; - height: 40px; - font-size: 16px; - line-height: 18px; - } - article.features .wrap .rectangle p { - font-size: 8px; - width: 150px; - line-height: 16px; - } -} -@media (max-width: 1200px) { - article.features .wrap { - justify-content: flex-start; - } -} -@media (max-width: 767px) { - article.features .wrap { - margin-top: 40px; - } - article.features .wrap .card { - width: 165px; - height: 145px; - } - article.features .wrap .rectangle { - margin-bottom: 10px; - } -} -article.features .img1 { - position: absolute; - top: 160px; - right: 15px; -} -article.features .img2 { - position: absolute; - bottom: 141px; - left: 54px; -} -article.example { - padding-bottom: 97px; -} -article.example .wrap { - margin-top: 58px; -} -article.example .wrap img { - width: 100%; - height: auto; -} -article.example img.img3 { - position: absolute; - top: 20px; - right: 74px; -} -@media (max-width: 767px) { - article.example { - padding-top: 60px; - } -} -article.implementations-in { - background: white; - padding-bottom: 177px; -} -article.implementations-in header h2 { - letter-spacing: -0.5px; -} -article.implementations-in .wrap { - margin-top: 68px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - width: 100%; -} -article.implementations-in .wrap .card { - position: relative; - width: 310px; - height: 230px; - display: flex; - justify-content: center; - align-items: center; - margin-bottom: 10px; -} -article.implementations-in .wrap .card .rectangle { - width: 300px; - height: 220px; - background: #ffffff; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - padding-top: 0; - border: 1px solid #DFE5EE; - border-radius: 3px; - margin-bottom: 20px; - box-shadow: 0 0 10px 1px #DFE5EE; - -webkit-transition: all 0.3s linear; - -moz-transition: all 0.3s linear; - -ms-transition: all 0.3s linear; - -o-transition: all 0.3s linear; - transition: all 0.3s linear; - text-decoration: none; -} -article.implementations-in .wrap .card .rectangle .img-wrap { - position: absolute; - top: 55px; - left: 0; - margin: 0; - width: 100%; - height: 100px; - display: flex; - justify-content: center; - align-items: center; -} -article.implementations-in .wrap .card .rectangle .img-wrap img { - width: 100%; - height: 100%; - object-fit: contain; - object-position: 50% 50%; -} -article.implementations-in .wrap .card .rectangle:hover { - width: 310px; - height: 230px; -} -article.implementations-in .wrap .card .rectangle.coming-soon, -article.implementations-in .wrap .card .rectangle.empty { - width: 300px; - height: 220px; - cursor: default; -} -article.implementations-in .wrap .card .rectangle div { - font-family: Roboto-Light, SansSerif; - color: #48505d; - font-size: 14px; - text-align: center; - line-height: 35px; - margin-top: 10px; - width: 245px; - height: 55px; - display: none; - justify-content: center; - align-items: center; -} -article.implementations-in .wrap .card .rectangle.index1 div { - margin-top: 29px; -} -article.implementations-in .wrap .card .rectangle.index2 div { - margin-top: 3px; -} -article.implementations-in .wrap .card .rectangle.index3 div { - margin-top: 43px; - width: 100%; -} -article.implementations-in .wrap .card .rectangle.coming-soon { - justify-content: flex-end; -} -article.implementations-in .wrap .card .rectangle.coming-soon * { - opacity: 0.3; -} -article.implementations-in .wrap .card .rectangle.coming-soon div { - display: flex; - color: black; - font-family: Roboto-Bold; - width: 100%; -} -article.implementations-in .wrap .card .rectangle.empty { - background: transparent; - border: none; - box-shadow: none; -} -@media (max-width: 1200px) { - article.implementations-in .wrap .card.empty { - display: none; - } -} -@media (max-width: 767px) { - article.implementations-in { - padding-top: 58px; - padding-bottom: 85px; - } - article.implementations-in .wrap { - justify-content: flex-start; - } - article.implementations-in .wrap .card { - width: 165px; - height: 125px; - } - article.implementations-in .wrap .card .rectangle { - width: 160px; - height: 120px; - } - article.implementations-in .wrap .card .rectangle .img-wrap { - top: 0; - } - article.implementations-in .wrap .card .rectangle img { - -webkit-transform: scale(0.55); - -moz-transform: scale(0.55); - -ms-transform: scale(0.55); - -o-transform: scale(0.55); - transform: scale(0.55); - } - article.implementations-in .wrap .card .rectangle.index3 img { - position: relative; - top: 20px; - } - article.implementations-in .wrap .card .rectangle:hover { - width: 165px; - height: 125px; - } - article.implementations-in .wrap .card .rectangle.coming-soon, - article.implementations-in .wrap .card .rectangle.empty { - width: 160px; - height: 120px; - cursor: default; - } - article.implementations-in .wrap .card .rectangle.coming-soon { - padding-bottom: 8px; - } - article.implementations-in .wrap .card .rectangle div { - font-size: 8px; - } - article.implementations-in .wrap .card .rectangle.index1 div { - margin-top: 2px; - } - article.implementations-in .wrap .card .rectangle.index2 div { - margin-top: 0; - } -} -article.publications-talks { - background: #f3f6f9; - padding-bottom: 100px; -} -article.publications-talks .wrap { - margin-top: 60px; - margin-bottom: 56px; -} -article.publications-talks .wrap iframe { - display: block; - margin: 0 auto; - max-width: 620px; - min-width: 300px; - width: 620px; - max-height: 350px; - min-height: 200px; - height: 350px; - border-radius: 5px; - border: 0; -} -@media (max-width: 767px) { - article.publications-talks .wrap iframe { - width: 300px; - height: 200px; - } -} -article.publications-talks .btn-more-videos { - margin: 0 auto; -} -article.publications-talks .img6 { - position: absolute; - top: 160px; - left: 115px; -} -article.publications-talks .img7 { - position: absolute; - bottom: -120px; - right: 15px; -} -@media (max-width: 767px) { - article.publications-talks { - padding-top: 62px; - padding-bottom: 60px; - } - article.publications-talks .wrap { - margin-top: 60px; - margin-bottom: 40px; - padding: 0; - } -} -article.community { - padding-bottom: 0; -} -article.community .wrap { - margin-top: 50px; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} -article.community .wrap p { - font-size: 17px; - line-height: 26px; - text-align: center; - letter-spacing: -0.5px; - font-family: Roboto-Light, SansSerif; - color: #555C68; -} -article.community .wrap h6 { - font-size: 30px; - font-weight: 100; - margin-top: 43px; - margin-bottom: 19px; - font-family: Roboto-Light, SansSerif; - color: #555C68; -} -article.community .wrap .buttons { - width: 100%; - max-width: 650px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; -} -article.community .wrap .buttons button { - margin-top: 20px; -} -@media (max-width: 767px) { - article.community .wrap .buttons { - justify-content: space-around; - } -} -article.community .persons { - width: 100%; - height: 240px; - margin-top: 82px; - position: relative; - overflow: hidden; -} -article.community .persons .svg-wrapper { - overflow-x: auto; - height: 250px; - overflow-y: hidden; -} - -article.community .persons .svg-wrapper.hide { - visibility: hidden; -} -article.community .persons .svg-wrapper use:hover { - cursor: pointer; - opacity: 0.7; -} -@media (max-width: 767px) { - article.community { - padding-bottom: 0; - } - article.community .wrap { - margin-top: 42px; - } -} -/* responsive */ -@media (max-width: 376px) { - article.features .wrap { - margin-top: 37px; - justify-content: space-between; - } - article.features .wrap .card { - margin-bottom: 5px; - } - article.features .wrap .rectangle div { - margin-top: 4px; - } - article.implementations-in { - padding-top: 66px; - } - article.implementations-in .wrap { - justify-content: space-between; - } - article.implementations-in .wrap .card { - margin-bottom: 4px; - } - article.implementations-in .wrap .card .rectangle.coming-soon img { - max-height: 50px; - max-width: 100%; - width: auto; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); - } - article.implementations-in .wrap .card .rectangle.coming-soon.index2 img { - max-height: 75px; - height: 75px; - } - article.implementations-in .wrap .card .rectangle.coming-soon.index3 img { - max-height: 34px; - height: 34px; - } - article.implementations-in .wrap .card .rectangle.coming-soon.index4 img { - max-height: 65px; - } - article.implementations-in .wrap .card .rectangle.coming-soon div { - height: 30px; - line-height: 30px; - } - article.publications-talks { - padding-top: 56px; - } - footer .wrap .copyright { - line-height: 24px; - } -} -@media (max-width: 357px) { - article.implementations-in .wrap, - article.features .wrap { - justify-content: space-around; - } -} diff --git a/static/css/media.css b/static/css/media.css deleted file mode 100755 index 9622f95..0000000 --- a/static/css/media.css +++ /dev/null @@ -1,979 +0,0 @@ -@import "../css/fonts.css"; -@import "../css/fonts.css"; -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ -/***************************************************************/ -/* Author: db0 (db0company@gmail.com, http://db0.fr/) */ -/* Sources/Licence: https://github.com/db0company/css-hexagon */ -/***************************************************************/ -/***************************************************************/ -/* Sizes */ -/***************************************************************/ -/* Extra Extra Small */ -.hexagon-xxs { - color: #ffffff; - text-align: center; - font-size: 9.799999999999999px; - margin: 7px 0; - width: 24.24871130584px; - height: 14px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xxs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xxs:before, -.hexagon-xxs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 12.12435565292px solid transparent; - border-right: 13.12435565292px solid transparent; - left: 0; -} -.hexagon-xxs:before { - border-bottom: 7px solid #ebebeb; - top: -7px; -} -.hexagon-xxs:after { - border-top: 7px solid #ebebeb; - bottom: -7px; -} -/* Extra Small */ -.hexagon-xs { - color: #ffffff; - text-align: center; - font-size: 15.399999999999999px; - margin: 11px 0; - width: 38.10511776632px; - height: 22px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xs:before, -.hexagon-xs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 19.05255888316px solid transparent; - border-right: 20.05255888316px solid transparent; - left: 0; -} -.hexagon-xs:before { - border-bottom: 11px solid #ebebeb; - top: -11px; -} -.hexagon-xs:after { - border-top: 11px solid #ebebeb; - bottom: -11px; -} -/* Small */ -.hexagon-sm { - color: #ffffff; - text-align: center; - font-size: 30.799999999999997px; - margin: 22px 0; - width: 76.21023553264px; - height: 44px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-sm:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-sm:before, -.hexagon-sm:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 38.10511776632px solid transparent; - border-right: 39.10511776632px solid transparent; - left: 0; -} -.hexagon-sm:before { - border-bottom: 22px solid #ebebeb; - top: -22px; -} -.hexagon-sm:after { - border-top: 22px solid #ebebeb; - bottom: -22px; -} -/* Medium */ -.hexagon-md { - color: #ffffff; - text-align: center; - font-size: 44.8px; - margin: 32px 0; - width: 110.85125168384px; - height: 64px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-md:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-md:before, -.hexagon-md:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 55.42562584192px solid transparent; - border-right: 56.42562584192px solid transparent; - left: 0; -} -.hexagon-md:before { - border-bottom: 32px solid #ebebeb; - top: -32px; -} -.hexagon-md:after { - border-top: 32px solid #ebebeb; - bottom: -32px; -} -/* Large */ -.hexagon-lg { - color: #ffffff; - text-align: center; - font-size: 61.599999999999994px; - margin: 44px 0; - width: 152.42047106528px; - height: 88px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-lg:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-lg:before, -.hexagon-lg:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 76.21023553264px solid transparent; - border-right: 77.21023553264px solid transparent; - left: 0; -} -.hexagon-lg:before { - border-bottom: 44px solid #ebebeb; - top: -44px; -} -.hexagon-lg:after { - border-top: 44px solid #ebebeb; - bottom: -44px; -} -/* Extra large */ -.hexagon-xl { - color: #ffffff; - text-align: center; - font-size: 84px; - margin: 60px 0; - width: 207.8460969072px; - height: 120px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xl:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xl:before, -.hexagon-xl:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 103.9230484536px solid transparent; - border-right: 104.9230484536px solid transparent; - left: 0; -} -.hexagon-xl:before { - border-bottom: 60px solid #ebebeb; - top: -60px; -} -.hexagon-xl:after { - border-top: 60px solid #ebebeb; - bottom: -60px; -} -/***************************************************************/ -/* Colors */ -/***************************************************************/ -/* Default */ -.hexagon-default { - background-color: #ebebeb; -} -.hexagon-default:before { - border-bottom-color: #ebebeb; -} -.hexagon-default:after { - border-top-color: #ebebeb; -} -.hexagon-default.hexagon-hover:hover { - background-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:before { - border-bottom-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:after { - border-top-color: #cccccc; -} -/* Primary */ -.hexagon-primary { - background-color: #428bca; -} -.hexagon-primary:before { - border-bottom-color: #428bca; -} -.hexagon-primary:after { - border-top-color: #428bca; -} -.hexagon-primary.hexagon-hover:hover { - background-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:before { - border-bottom-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:after { - border-top-color: #3276b1; -} -/* Success */ -.hexagon-success { - background-color: #5cb85c; -} -.hexagon-success:before { - border-bottom-color: #5cb85c; -} -.hexagon-success:after { - border-top-color: #5cb85c; -} -.hexagon-success.hexagon-hover:hover { - background-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:before { - border-bottom-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:after { - border-top-color: #47a447; -} -/* Info */ -.hexagon-info { - background-color: #5bc0de; -} -.hexagon-info:before { - border-bottom-color: #5bc0de; -} -.hexagon-info:after { - border-top-color: #5bc0de; -} -.hexagon-info.hexagon-hover:hover { - background-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:before { - border-bottom-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:after { - border-top-color: #39b3d7; -} -/* Warning */ -.hexagon-warning { - background-color: #f0ad4e; -} -.hexagon-warning:before { - border-bottom-color: #f0ad4e; -} -.hexagon-warning:after { - border-top-color: #f0ad4e; -} -.hexagon-warning.hexagon-hover:hover { - background-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:before { - border-bottom-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:after { - border-top-color: #ed9c28; -} -/* Danger */ -.hexagon-danger { - background-color: #d9534f; -} -.hexagon-danger:before { - border-bottom-color: #d9534f; -} -.hexagon-danger:after { - border-top-color: #d9534f; -} -.hexagon-danger.hexagon-hover:hover { - background-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:before { - border-bottom-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:after { - border-top-color: #d2322d; -} -/***************************************************************/ -/* Inline */ -/***************************************************************/ -.hexagon-inline { - display: inline-block; -} -.link { - transition-timing-function: linear; - transition-duration: 0.5s; - transition-property: all; -} -.btn-socials { - width: 200px; - height: 58px; - border: none; - color: #fefefe; - font-family: 'Roboto-Regular'; - font-size: 16px; - letter-spacing: 1.2px; - text-decoration: none; - display: flex; - justify-content: center; - align-items: center; - line-height: 0; - -webkit-border-radius: 7px; - -moz-border-radius: 7px; - border-radius: 7px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; -} -.btn-twitter { - background: #24a8e6; -} -.btn-twitter:hover { - background: #50b9eb; - cursor: pointer; -} -.btn-twitter:active { - background: #1d86b8; -} -.btn-twitter.disabled { - background: #addff6; -} -.btn-freenode { - background: #cedd40; - text-transform: uppercase; -} -.btn-freenode:hover { - background: #d8e466; - cursor: pointer; -} -.btn-freenode:active { - background: #a5b133; -} -.btn-freenode.disabled { - background: #eff4c2; -} -.btn-github { - background: #333333; - text-transform: uppercase; -} -.btn-github:hover { - background: #5c5c5c; - cursor: pointer; -} -.btn-github:active { - background: #292929; -} -.btn-github.disabled { - background: #808080; -} -.btn-community { - background: #9099a9; - text-transform: uppercase; -} -.btn-community:hover { - background: #a6adba; - cursor: pointer; -} -.btn-community:active { - background: #737a87; -} -.btn-community.disabled { - background: #e6e8ec; -} -.btn-more-videos { - background: #ee5499; - text-transform: uppercase; -} -.btn-more-videos:hover { - background: #f176ad; - cursor: pointer; -} -.btn-more-videos:active { - background: #be437a; -} -.btn-more-videos.disabled { - background: #fcdfec; -} -.btn-copy { - display: block; - width: 76px; - height: 30px; - font-size: 12px; - color: #ffffff; - font-family: 'Roboto-Bold'; - background: #ff743e; - text-align: center; - text-decoration: none; - line-height: 30px; -} -.btn-copy:hover { - background: #ff9065; - cursor: pointer; -} -.btn-copy:active { - background: #cc5d32; -} -.btn-copy.disabled { - background: #ffe2d7; -} -.btn-interface { - display: block; - width: 100px; - height: 26px; - font-size: 14px; - color: #ffffff; - font-family: 'Roboto-Medium'; - background: #20b7ec; - text-align: center; - text-decoration: none; - line-height: 26px; - -webkit-border-radius: 26px; - -moz-border-radius: 26px; - border-radius: 26px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; -} -.btn-interface:hover { - background: #4dc5f0; - cursor: pointer; -} -.btn-interface:active { - background: #1a92bd; -} -.btn-interface.disabled { - background: #ade5f8; -} -.btn-soc-network { - text-decoration: none; - display: inline-block; - color: #ffffff; -} -.btn-soc-network i { - veritical-align: middle; -} -.link-tw { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #24a8e6; - position: relative; - display: block; -} -.link-tw:hover { - color: #ffffff; - text-decoration: none; -} -.link-tw:before, -.link-tw:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-tw:before { - border-bottom: 9px solid #24a8e6; - top: -9px; -} -.link-tw:after { - border-top: 9px solid #24a8e6; - bottom: -9px; -} -.link-tw:hover { - background-color: #50b9eb; - cursor: pointer; -} -.link-tw:hover:before { - border-bottom-color: #50b9eb; -} -.link-tw:hover:after { - border-top-color: #50b9eb; -} -.link-tw:active { - background-color: #1d86b8; -} -.link-tw:active:before { - border-bottom-color: #1d86b8; -} -.link-tw:active:after { - border-top-color: #1d86b8; -} -.link-tw.disabled { - background-color: #addff6; -} -.link-tw.disabled:before { - border-bottom-color: #addff6; -} -.link-tw.disabled:after { - border-top-color: #addff6; -} -.link-tw i { - font-size: 18px; -} -.link-google-plus { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #f24032; - position: relative; - display: block; -} -.link-google-plus:hover { - color: #ffffff; - text-decoration: none; -} -.link-google-plus:before, -.link-google-plus:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-google-plus:before { - border-bottom: 9px solid #f24032; - top: -9px; -} -.link-google-plus:after { - border-top: 9px solid #f24032; - bottom: -9px; -} -.link-google-plus:hover { - background-color: #f5665b; - cursor: pointer; -} -.link-google-plus:hover:before { - border-bottom-color: #f5665b; -} -.link-google-plus:hover:after { - border-top-color: #f5665b; -} -.link-google-plus:active { - background-color: #c23328; -} -.link-google-plus:active:before { - border-bottom-color: #c23328; -} -.link-google-plus:active:after { - border-top-color: #c23328; -} -.link-google-plus.disabled { - background-color: #fbc6c2; -} -.link-google-plus.disabled:before { - border-bottom-color: #fbc6c2; -} -.link-google-plus.disabled:after { - border-top-color: #fbc6c2; -} -.link-google-plus i { - font-size: 13px; -} -.link-fb { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #43609c; - position: relative; - display: block; -} -.link-fb:hover { - color: #ffffff; - text-decoration: none; -} -.link-fb:before, -.link-fb:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-fb:before { - border-bottom: 9px solid #43609c; - top: -9px; -} -.link-fb:after { - border-top: 9px solid #43609c; - bottom: -9px; -} -.link-fb:hover { - background-color: #6980b0; - cursor: pointer; -} -.link-fb:hover:before { - border-bottom-color: #6980b0; -} -.link-fb:hover:after { - border-top-color: #6980b0; -} -.link-fb:active { - background-color: #364d7d; -} -.link-fb:active:before { - border-bottom-color: #364d7d; -} -.link-fb:active:after { - border-top-color: #364d7d; -} -.link-fb.disabled { - background-color: #a1b3d7; -} -.link-fb.disabled:before { - border-bottom-color: #a1b3d7; -} -.link-fb.disabled:after { - border-top-color: #a1b3d7; -} -.link-fb i { - font-size: 17px; -} -.link-youtube { - color: #ffffff; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691453608px; - height: 18px; - background-color: #fb0014; - position: relative; - display: block; -} -.link-youtube:hover { - color: #ffffff; - text-decoration: none; -} -.link-youtube:before, -.link-youtube:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845726804px solid transparent; - border-right: 16.588457268040003px solid transparent; - left: 0; -} -.link-youtube:before { - border-bottom: 9px solid #fb0014; - top: -9px; -} -.link-youtube:after { - border-top: 9px solid #fb0014; - bottom: -9px; -} -.link-youtube:hover { - background-color: #fc3343; - cursor: pointer; -} -.link-youtube:hover:before { - border-bottom-color: #fc3343; -} -.link-youtube:hover:after { - border-top-color: #fc3343; -} -.link-youtube:active { - background-color: #c90010; -} -.link-youtube:active:before { - border-bottom-color: #c90010; -} -.link-youtube:active:after { - border-top-color: #c90010; -} -.link-youtube.disabled { - background-color: #ff959d; -} -.link-youtube.disabled:before { - border-bottom-color: #ff959d; -} -.link-youtube.disabled:after { - border-top-color: #ff959d; -} -.link-youtube i { - font-size: 17px; -} -.link-hexagon-item { - display: block; - position: relative; - margin: 300px auto; - width: 519.615242268px; - height: 300px; - /*background: url(@image_url) center center;*/ - z-index: 1; - text-decoration: none; -} -.link-hexagon-item .face1, -.link-hexagon-item .face2 { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: inherit; - z-index: -1; - /* Keeps borders smooth in webkit */ - backface-visibility: hidden; -} -.link-hexagon-item .face1:before, -.link-hexagon-item .face2:before { - content: ''; - position: absolute; - width: 600px; - height: 600px; - background: inherit; -} -.link-hexagon-item .face1 { - transform: rotate(60deg); -} -.link-hexagon-item .face1:before { - left: 0; - transform-origin: left top; - transform: rotate(-60deg) translate(-300px, 0); -} -.link-hexagon-item .face2 { - transform: rotate(-60deg); -} -.link-hexagon-item .face2:before { - right: 0; - transform-origin: right top; - transform: rotate(60deg) translate(300px, 0); -} -.link-hexagon-item:hover .hexagon-hover { - position: absolute; - top: 0; - left: 0; - content: ''; - color: #ffffff; - text-align: center; - font-size: 210px; - margin: 150px 0; - width: 519.615242268px; - height: 300px; - background-color: rgba(50, 52, 55, 0.85); - position: relative; - display: block; -} -.link-hexagon-item:hover .hexagon-hover:hover { - color: #ffffff; - text-decoration: none; -} -.link-hexagon-item:hover .hexagon-hover:before, -.link-hexagon-item:hover .hexagon-hover:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 259.807621134px solid transparent; - border-right: 260.807621134px solid transparent; - left: 0; -} -.link-hexagon-item:hover .hexagon-hover:before { - border-bottom: 150px solid rgba(50, 52, 55, 0.85); - top: -150px; -} -.link-hexagon-item:hover .hexagon-hover:after { - border-top: 150px solid rgba(50, 52, 55, 0.85); - bottom: -150px; -} -.hexagon-hover > span { - color: #fff; - font-size: 12px; - text-decoration: none; -} -.hexagon-hover { - display: none; -} -.wr-tringle { - position: relative; - width: 100%; - overflow: hidden; - text-align: center; - background: #ffffff; -} -.wr-tringle .i-triangle { - margin-left: -7px; - content: ''; - display: block; - width: 0; - height: 0; - -moz-transform: scale(0.9999); - border-left: 50vw solid transparent; - border-right: 50vw solid transparent; - border-top: 107px solid #ff0000; -} -body > header .wrap nav ul li a.active { - color: #FF7F4D; -} -.pseudo-header { - height: 70px; -} -main { - padding-bottom: 25px; -} -main > .wrap { - margin-top: 63px; -} -.title-page { - font-family: Roboto-Black, SansSerif; - font-size: 64px; - line-height: 67px; - letter-spacing: -0.3px; - margin: 0; - text-align: center; - color: #474f5c; -} -.about-part { - margin-top: 25px; - font-family: Roboto-Light, SansSerif; - color: #8F99A9; - font-size: 30px; - line-height: 40px; - text-align: center; -} -.wrap-videos { - margin-top: 95px; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - width: 100%; -} -.item-video { - width: 300px; - margin-bottom: 40px; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; -} -.item-video.last-elment { - justify-content: flex-start; -} -@media (max-width: 667px) { - .item-video.last-elment { - display: none; - } -} -.item-video.last-elment > div { - display: flex; - width: 100%; - margin-top: 3px; - height: 200px; - background: url(../img/img6.png) center center no-repeat; -} -.item-video p { - font-family: Roboto-Light, SansSerif; - font-size: 16px; - color: #474f5c; - text-align: left; - width: 100%; - margin-top: 22px; - margin-bottom: 0px; -} -.video-container { - display: flex; - height: 206px; - width: 310px; - justify-content: center; - flex-direction: column; - align-items: center; -} -.video-container iframe { - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; - width: 300px; - height: 200px; - border: none; - display: flex; - transition: 0.3s linear; -} -.video-container:hover iframe { - height: 206px; - width: 310px; -} -@media (max-width: 940px) { - .wrap-videos { - justify-content: space-around; - } -} -@media (max-width: 767px) { - .pseudo-header { - height: 0; - } - main > .wrap { - margin-top: 46px; - } - .about-part { - margin-top: 8px; - line-height: 28px; - } - .title-page { - font-size: 36px; - } - .about-part { - font-size: 20px; - } - .item-video { - width: 300px; - } - .video-container iframe { - width: 300px; - } -} diff --git a/static/css/mixins.css b/static/css/mixins.css deleted file mode 100755 index 4d8e08e..0000000 --- a/static/css/mixins.css +++ /dev/null @@ -1,339 +0,0 @@ -/***************************************************************/ -/* Author: db0 (db0company@gmail.com, http://db0.fr/) */ -/* Sources/Licence: https://github.com/db0company/css-hexagon */ -/***************************************************************/ -/***************************************************************/ -/* Sizes */ -/***************************************************************/ -/* Extra Extra Small */ -.hexagon-xxs { - color: #ffffff; - text-align: center; - font-size: 9.799999999999999px; - margin: 7px 0; - width: 24.24871130584px; - height: 14px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xxs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xxs:before, -.hexagon-xxs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 12.12435565292px solid transparent; - border-right: 13.12435565292px solid transparent; - left: 0; -} -.hexagon-xxs:before { - border-bottom: 7px solid #ebebeb; - top: -7px; -} -.hexagon-xxs:after { - border-top: 7px solid #ebebeb; - bottom: -7px; -} -/* Extra Small */ -.hexagon-xs { - color: #ffffff; - text-align: center; - font-size: 15.399999999999999px; - margin: 11px 0; - width: 38.10511776632px; - height: 22px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xs:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xs:before, -.hexagon-xs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 19.05255888316px solid transparent; - border-right: 20.05255888316px solid transparent; - left: 0; -} -.hexagon-xs:before { - border-bottom: 11px solid #ebebeb; - top: -11px; -} -.hexagon-xs:after { - border-top: 11px solid #ebebeb; - bottom: -11px; -} -/* Small */ -.hexagon-sm { - color: #ffffff; - text-align: center; - font-size: 30.799999999999997px; - margin: 22px 0; - width: 76.21023553264px; - height: 44px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-sm:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-sm:before, -.hexagon-sm:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 38.10511776632px solid transparent; - border-right: 39.10511776632px solid transparent; - left: 0; -} -.hexagon-sm:before { - border-bottom: 22px solid #ebebeb; - top: -22px; -} -.hexagon-sm:after { - border-top: 22px solid #ebebeb; - bottom: -22px; -} -/* Medium */ -.hexagon-md { - color: #ffffff; - text-align: center; - font-size: 44.8px; - margin: 32px 0; - width: 110.85125168384px; - height: 64px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-md:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-md:before, -.hexagon-md:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 55.42562584192px solid transparent; - border-right: 56.42562584192px solid transparent; - left: 0; -} -.hexagon-md:before { - border-bottom: 32px solid #ebebeb; - top: -32px; -} -.hexagon-md:after { - border-top: 32px solid #ebebeb; - bottom: -32px; -} -/* Large */ -.hexagon-lg { - color: #ffffff; - text-align: center; - font-size: 61.599999999999994px; - margin: 44px 0; - width: 152.42047106528px; - height: 88px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-lg:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-lg:before, -.hexagon-lg:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 76.21023553264px solid transparent; - border-right: 77.21023553264px solid transparent; - left: 0; -} -.hexagon-lg:before { - border-bottom: 44px solid #ebebeb; - top: -44px; -} -.hexagon-lg:after { - border-top: 44px solid #ebebeb; - bottom: -44px; -} -/* Extra large */ -.hexagon-xl { - color: #ffffff; - text-align: center; - font-size: 84px; - margin: 60px 0; - width: 207.8460969072px; - height: 120px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xl:hover { - color: #ffffff; - text-decoration: none; -} -.hexagon-xl:before, -.hexagon-xl:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 103.9230484536px solid transparent; - border-right: 104.9230484536px solid transparent; - left: 0; -} -.hexagon-xl:before { - border-bottom: 60px solid #ebebeb; - top: -60px; -} -.hexagon-xl:after { - border-top: 60px solid #ebebeb; - bottom: -60px; -} -/***************************************************************/ -/* Colors */ -/***************************************************************/ -/* Default */ -.hexagon-default { - background-color: #ebebeb; -} -.hexagon-default:before { - border-bottom-color: #ebebeb; -} -.hexagon-default:after { - border-top-color: #ebebeb; -} -.hexagon-default.hexagon-hover:hover { - background-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:before { - border-bottom-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:after { - border-top-color: #cccccc; -} -/* Primary */ -.hexagon-primary { - background-color: #428bca; -} -.hexagon-primary:before { - border-bottom-color: #428bca; -} -.hexagon-primary:after { - border-top-color: #428bca; -} -.hexagon-primary.hexagon-hover:hover { - background-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:before { - border-bottom-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:after { - border-top-color: #3276b1; -} -/* Success */ -.hexagon-success { - background-color: #5cb85c; -} -.hexagon-success:before { - border-bottom-color: #5cb85c; -} -.hexagon-success:after { - border-top-color: #5cb85c; -} -.hexagon-success.hexagon-hover:hover { - background-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:before { - border-bottom-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:after { - border-top-color: #47a447; -} -/* Info */ -.hexagon-info { - background-color: #5bc0de; -} -.hexagon-info:before { - border-bottom-color: #5bc0de; -} -.hexagon-info:after { - border-top-color: #5bc0de; -} -.hexagon-info.hexagon-hover:hover { - background-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:before { - border-bottom-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:after { - border-top-color: #39b3d7; -} -/* Warning */ -.hexagon-warning { - background-color: #f0ad4e; -} -.hexagon-warning:before { - border-bottom-color: #f0ad4e; -} -.hexagon-warning:after { - border-top-color: #f0ad4e; -} -.hexagon-warning.hexagon-hover:hover { - background-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:before { - border-bottom-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:after { - border-top-color: #ed9c28; -} -/* Danger */ -.hexagon-danger { - background-color: #d9534f; -} -.hexagon-danger:before { - border-bottom-color: #d9534f; -} -.hexagon-danger:after { - border-top-color: #d9534f; -} -.hexagon-danger.hexagon-hover:hover { - background-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:before { - border-bottom-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:after { - border-top-color: #d2322d; -} -/***************************************************************/ -/* Inline */ -/***************************************************************/ -.hexagon-inline { - display: inline-block; -} -.link { - transition-timing-function: linear; - transition-duration: 0.5s; - transition-property: all; -} diff --git a/static/css/styles.css b/static/css/styles.css deleted file mode 100755 index e588053..0000000 --- a/static/css/styles.css +++ /dev/null @@ -1,1247 +0,0 @@ -@import "../css/fonts.css"; -@import "../css/fonts.css"; -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ -/***************************************************************/ -/* Author: db0 (db0company@gmail.com, http://db0.fr/) */ -/* Sources/Licence: https://github.com/db0company/css-hexagon */ -/***************************************************************/ -/***************************************************************/ -/* Sizes */ -/***************************************************************/ -/* Extra Extra Small */ -.hexagon-xxs { - color: white; - text-align: center; - font-size: 9.8px; - margin: 7px 0; - width: 24.24871131px; - height: 14px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xxs:hover { - color: white; - text-decoration: none; -} -.hexagon-xxs:before, -.hexagon-xxs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 12.12435565px solid transparent; - border-right: 13.12435565px solid transparent; - left: 0; -} -.hexagon-xxs:before { - border-bottom: 7px solid #ebebeb; - top: -7px; -} -.hexagon-xxs:after { - border-top: 7px solid #ebebeb; - bottom: -7px; -} -/* Extra Small */ -.hexagon-xs { - color: white; - text-align: center; - font-size: 15.4px; - margin: 11px 0; - width: 38.10511777px; - height: 22px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xs:hover { - color: white; - text-decoration: none; -} -.hexagon-xs:before, -.hexagon-xs:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 19.05255888px solid transparent; - border-right: 20.05255888px solid transparent; - left: 0; -} -.hexagon-xs:before { - border-bottom: 11px solid #ebebeb; - top: -11px; -} -.hexagon-xs:after { - border-top: 11px solid #ebebeb; - bottom: -11px; -} -/* Small */ -.hexagon-sm { - color: white; - text-align: center; - font-size: 30.8px; - margin: 22px 0; - width: 76.21023553px; - height: 44px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-sm:hover { - color: white; - text-decoration: none; -} -.hexagon-sm:before, -.hexagon-sm:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 38.10511777px solid transparent; - border-right: 39.10511777px solid transparent; - left: 0; -} -.hexagon-sm:before { - border-bottom: 22px solid #ebebeb; - top: -22px; -} -.hexagon-sm:after { - border-top: 22px solid #ebebeb; - bottom: -22px; -} -/* Medium */ -.hexagon-md { - color: white; - text-align: center; - font-size: 44.8px; - margin: 32px 0; - width: 110.85125168px; - height: 64px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-md:hover { - color: white; - text-decoration: none; -} -.hexagon-md:before, -.hexagon-md:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 55.42562584px solid transparent; - border-right: 56.42562584px solid transparent; - left: 0; -} -.hexagon-md:before { - border-bottom: 32px solid #ebebeb; - top: -32px; -} -.hexagon-md:after { - border-top: 32px solid #ebebeb; - bottom: -32px; -} -/* Large */ -.hexagon-lg { - color: white; - text-align: center; - font-size: 61.6px; - margin: 44px 0; - width: 152.42047107px; - height: 88px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-lg:hover { - color: white; - text-decoration: none; -} -.hexagon-lg:before, -.hexagon-lg:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 76.21023553px solid transparent; - border-right: 77.21023553px solid transparent; - left: 0; -} -.hexagon-lg:before { - border-bottom: 44px solid #ebebeb; - top: -44px; -} -.hexagon-lg:after { - border-top: 44px solid #ebebeb; - bottom: -44px; -} -/* Extra large */ -.hexagon-xl { - color: white; - text-align: center; - font-size: 84px; - margin: 60px 0; - width: 207.84609691px; - height: 120px; - background-color: #ebebeb; - position: relative; - display: block; -} -.hexagon-xl:hover { - color: white; - text-decoration: none; -} -.hexagon-xl:before, -.hexagon-xl:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 103.92304845px solid transparent; - border-right: 104.92304845px solid transparent; - left: 0; -} -.hexagon-xl:before { - border-bottom: 60px solid #ebebeb; - top: -60px; -} -.hexagon-xl:after { - border-top: 60px solid #ebebeb; - bottom: -60px; -} -/***************************************************************/ -/* Colors */ -/***************************************************************/ -/* Default */ -.hexagon-default { - background-color: #ebebeb; -} -.hexagon-default:before { - border-bottom-color: #ebebeb; -} -.hexagon-default:after { - border-top-color: #ebebeb; -} -.hexagon-default.hexagon-hover:hover { - background-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:before { - border-bottom-color: #cccccc; -} -.hexagon-default.hexagon-hover:hover:after { - border-top-color: #cccccc; -} -/* Primary */ -.hexagon-primary { - background-color: #428bca; -} -.hexagon-primary:before { - border-bottom-color: #428bca; -} -.hexagon-primary:after { - border-top-color: #428bca; -} -.hexagon-primary.hexagon-hover:hover { - background-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:before { - border-bottom-color: #3276b1; -} -.hexagon-primary.hexagon-hover:hover:after { - border-top-color: #3276b1; -} -/* Success */ -.hexagon-success { - background-color: #5cb85c; -} -.hexagon-success:before { - border-bottom-color: #5cb85c; -} -.hexagon-success:after { - border-top-color: #5cb85c; -} -.hexagon-success.hexagon-hover:hover { - background-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:before { - border-bottom-color: #47a447; -} -.hexagon-success.hexagon-hover:hover:after { - border-top-color: #47a447; -} -/* Info */ -.hexagon-info { - background-color: #5bc0de; -} -.hexagon-info:before { - border-bottom-color: #5bc0de; -} -.hexagon-info:after { - border-top-color: #5bc0de; -} -.hexagon-info.hexagon-hover:hover { - background-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:before { - border-bottom-color: #39b3d7; -} -.hexagon-info.hexagon-hover:hover:after { - border-top-color: #39b3d7; -} -/* Warning */ -.hexagon-warning { - background-color: #f0ad4e; -} -.hexagon-warning:before { - border-bottom-color: #f0ad4e; -} -.hexagon-warning:after { - border-top-color: #f0ad4e; -} -.hexagon-warning.hexagon-hover:hover { - background-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:before { - border-bottom-color: #ed9c28; -} -.hexagon-warning.hexagon-hover:hover:after { - border-top-color: #ed9c28; -} -/* Danger */ -.hexagon-danger { - background-color: #d9534f; -} -.hexagon-danger:before { - border-bottom-color: #d9534f; -} -.hexagon-danger:after { - border-top-color: #d9534f; -} -.hexagon-danger.hexagon-hover:hover { - background-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:before { - border-bottom-color: #d2322d; -} -.hexagon-danger.hexagon-hover:hover:after { - border-top-color: #d2322d; -} -/***************************************************************/ -/* Inline */ -/***************************************************************/ -.hexagon-inline { - display: inline-block; -} -.link { - transition-timing-function: linear; - transition-duration: 0.5s; - transition-property: all; -} -.btn-socials { - width: 200px; - height: 58px; - border: none; - color: #fefefe; - font-family: 'Roboto-Regular'; - font-size: 16px; - letter-spacing: 1.2px; - text-decoration: none; - display: flex; - justify-content: center; - align-items: center; - line-height: 0; - -webkit-border-radius: 7px; - -moz-border-radius: 7px; - border-radius: 7px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; -} -.btn-twitter { - background: #24a8e6; -} -.btn-twitter:hover { - background: #50b9eb; - cursor: pointer; -} -.btn-twitter:active { - background: #1d86b8; -} -.btn-twitter.disabled { - background: #addff6; -} -.btn-freenode { - background: #cedd40; - text-transform: uppercase; -} -.btn-freenode:hover { - background: #d8e466; - cursor: pointer; -} -.btn-freenode:active { - background: #a5b133; -} -.btn-freenode.disabled { - background: #eff4c2; -} -.btn-github { - background: #333333; - text-transform: uppercase; -} -.btn-github:hover { - background: #5c5c5c; - cursor: pointer; -} -.btn-github:active { - background: #292929; -} -.btn-github.disabled { - background: #808080; -} -.btn-community { - background: #9099A9; - text-transform: uppercase; -} -.btn-community:hover { - background: #a6adba; - cursor: pointer; -} -.btn-community:active { - background: #737a87; -} -.btn-community.disabled { - background: #e6e8ec; -} -.btn-more-videos { - background: #ee5499; - text-transform: uppercase; -} -.btn-more-videos:hover { - background: #f176ad; - cursor: pointer; -} -.btn-more-videos:active { - background: #be437a; -} -.btn-more-videos.disabled { - background: #fcdfec; -} -.btn-copy { - display: block; - width: 76px; - height: 30px; - font-size: 12px; - color: #fff; - font-family: 'Roboto-Bold'; - background: #ff743e; - text-align: center; - text-decoration: none; - line-height: 30px; -} -.btn-copy:hover { - background: #ff9065; - cursor: pointer; -} -.btn-copy:active { - background: #cc5d32; -} -.btn-copy.disabled { - background: #ffe2d7; -} -.btn-interface { - display: block; - width: 100px; - height: 26px; - font-size: 14px; - color: #fff; - font-family: 'Roboto-Medium'; - background: #20b7ec; - text-align: center; - text-decoration: none; - line-height: 26px; - -webkit-border-radius: 26px; - -moz-border-radius: 26px; - border-radius: 26px; - -moz-background-clip: padding; - -webkit-background-clip: padding-box; - background-clip: padding-box; -} -.btn-interface:hover { - background: #4dc5f0; - cursor: pointer; -} -.btn-interface:active { - background: #1a92bd; -} -.btn-interface.disabled { - background: #ade5f8; -} -.btn-soc-network { - text-decoration: none; - display: inline-block; - color: #fff; -} -.btn-soc-network i { - veritical-align: middle; -} -.link-tw { - color: white; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691454px; - height: 18px; - background-color: #24a8e6; - position: relative; - display: block; -} -.link-tw:hover { - color: white; - text-decoration: none; -} -.link-tw:before, -.link-tw:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845727px solid transparent; - border-right: 16.58845727px solid transparent; - left: 0; -} -.link-tw:before { - border-bottom: 9px solid #24a8e6; - top: -9px; -} -.link-tw:after { - border-top: 9px solid #24a8e6; - bottom: -9px; -} -.link-tw:hover { - background-color: #50b9eb; - cursor: pointer; -} -.link-tw:hover:before { - border-bottom-color: #50b9eb; -} -.link-tw:hover:after { - border-top-color: #50b9eb; -} -.link-tw:active { - background-color: #1d86b8; -} -.link-tw:active:before { - border-bottom-color: #1d86b8; -} -.link-tw:active:after { - border-top-color: #1d86b8; -} -.link-tw.disabled { - background-color: #addff6; -} -.link-tw.disabled:before { - border-bottom-color: #addff6; -} -.link-tw.disabled:after { - border-top-color: #addff6; -} -.link-tw i { - font-size: 18px; -} -.link-google-plus { - color: white; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691454px; - height: 18px; - background-color: #f24032; - position: relative; - display: block; -} -.link-google-plus:hover { - color: white; - text-decoration: none; -} -.link-google-plus:before, -.link-google-plus:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845727px solid transparent; - border-right: 16.58845727px solid transparent; - left: 0; -} -.link-google-plus:before { - border-bottom: 9px solid #f24032; - top: -9px; -} -.link-google-plus:after { - border-top: 9px solid #f24032; - bottom: -9px; -} -.link-google-plus:hover { - background-color: #f5665b; - cursor: pointer; -} -.link-google-plus:hover:before { - border-bottom-color: #f5665b; -} -.link-google-plus:hover:after { - border-top-color: #f5665b; -} -.link-google-plus:active { - background-color: #c23328; -} -.link-google-plus:active:before { - border-bottom-color: #c23328; -} -.link-google-plus:active:after { - border-top-color: #c23328; -} -.link-google-plus.disabled { - background-color: #fbc6c2; -} -.link-google-plus.disabled:before { - border-bottom-color: #fbc6c2; -} -.link-google-plus.disabled:after { - border-top-color: #fbc6c2; -} -.link-google-plus i { - font-size: 13px; -} -.link-fb { - color: white; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691454px; - height: 18px; - background-color: #43609c; - position: relative; - display: block; -} -.link-fb:hover { - color: white; - text-decoration: none; -} -.link-fb:before, -.link-fb:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845727px solid transparent; - border-right: 16.58845727px solid transparent; - left: 0; -} -.link-fb:before { - border-bottom: 9px solid #43609c; - top: -9px; -} -.link-fb:after { - border-top: 9px solid #43609c; - bottom: -9px; -} -.link-fb:hover { - background-color: #6980b0; - cursor: pointer; -} -.link-fb:hover:before { - border-bottom-color: #6980b0; -} -.link-fb:hover:after { - border-top-color: #6980b0; -} -.link-fb:active { - background-color: #364d7d; -} -.link-fb:active:before { - border-bottom-color: #364d7d; -} -.link-fb:active:after { - border-top-color: #364d7d; -} -.link-fb.disabled { - background-color: #a1b3d7; -} -.link-fb.disabled:before { - border-bottom-color: #a1b3d7; -} -.link-fb.disabled:after { - border-top-color: #a1b3d7; -} -.link-fb i { - font-size: 17px; -} -.link-youtube { - color: white; - text-align: center; - font-size: 12.6px; - margin: 9px 0; - width: 31.17691454px; - height: 18px; - background-color: #fb0014; - position: relative; - display: block; -} -.link-youtube:hover { - color: white; - text-decoration: none; -} -.link-youtube:before, -.link-youtube:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 15.58845727px solid transparent; - border-right: 16.58845727px solid transparent; - left: 0; -} -.link-youtube:before { - border-bottom: 9px solid #fb0014; - top: -9px; -} -.link-youtube:after { - border-top: 9px solid #fb0014; - bottom: -9px; -} -.link-youtube:hover { - background-color: #fc3343; - cursor: pointer; -} -.link-youtube:hover:before { - border-bottom-color: #fc3343; -} -.link-youtube:hover:after { - border-top-color: #fc3343; -} -.link-youtube:active { - background-color: #c90010; -} -.link-youtube:active:before { - border-bottom-color: #c90010; -} -.link-youtube:active:after { - border-top-color: #c90010; -} -.link-youtube.disabled { - background-color: #ff959d; -} -.link-youtube.disabled:before { - border-bottom-color: #ff959d; -} -.link-youtube.disabled:after { - border-top-color: #ff959d; -} -.link-youtube i { - font-size: 17px; -} -.link-hexagon-item { - display: block; - position: relative; - margin: 300px auto; - width: 519.61524227px; - height: 300px; - /*background: url(@image_url) center center;*/ - z-index: 1; - text-decoration: none; -} -.link-hexagon-item .face1, -.link-hexagon-item .face2 { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: inherit; - z-index: -1; - /* Keeps borders smooth in webkit */ - backface-visibility: hidden; -} -.link-hexagon-item .face1:before, -.link-hexagon-item .face2:before { - content: ''; - position: absolute; - width: 600px; - height: 600px; - background: inherit; -} -.link-hexagon-item .face1 { - transform: rotate(60deg); -} -.link-hexagon-item .face1:before { - left: 0; - transform-origin: left top; - transform: rotate(-60deg) translate(-300px, 0); -} -.link-hexagon-item .face2 { - transform: rotate(-60deg); -} -.link-hexagon-item .face2:before { - right: 0; - transform-origin: right top; - transform: rotate(60deg) translate(300px, 0); -} -.link-hexagon-item:hover .hexagon-hover { - position: absolute; - top: 0; - left: 0; - content: ''; - color: white; - text-align: center; - font-size: 210px; - margin: 150px 0; - width: 519.61524227px; - height: 300px; - background-color: rgba(50, 52, 55, 0.85); - position: relative; - display: block; -} -.link-hexagon-item:hover .hexagon-hover:hover { - color: white; - text-decoration: none; -} -.link-hexagon-item:hover .hexagon-hover:before, -.link-hexagon-item:hover .hexagon-hover:after { - content: " "; - width: 0; - height: 0; - position: absolute; - border-left: 259.80762113px solid transparent; - border-right: 260.80762113px solid transparent; - left: 0; -} -.link-hexagon-item:hover .hexagon-hover:before { - border-bottom: 150px solid rgba(50, 52, 55, 0.85); - top: -150px; -} -.link-hexagon-item:hover .hexagon-hover:after { - border-top: 150px solid rgba(50, 52, 55, 0.85); - bottom: -150px; -} -.hexagon-hover > span { - color: #fff; - font-size: 12px; - text-decoration: none; -} -.hexagon-hover { - display: none; -} -.wr-tringle { - position: relative; - width: 100%; - overflow: hidden; - text-align: center; - background: #fff; -} -.wr-tringle .i-triangle { - margin-left: -7px; - content: ''; - display: block; - width: 0; - height: 0; - -moz-transform: scale(0.9999); - border-left: 50vw solid transparent; - border-right: 50vw solid transparent; - border-top: 107px solid red; -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - outline: none; -} -*:hover { - -webkit-transition: all 0.3s linear; - -moz-transition: all 0.3s linear; - -ms-transition: all 0.3s linear; - -o-transition: all 0.3s linear; - transition: all 0.3s linear; -} -body { - margin: 0; - padding: 0; - width: 100%; - font-family: Roboto-Regular, SansSerif; - font-size: 14px; -} -article.center { - display: flex; - flex-direction: column; - position: relative; - padding-top: 97px; - padding-bottom: 100px; -} -@media (max-width: 767px) { - article.center { - padding-top: 40px; - } -} -.wrap { - margin: 0 auto; - max-width: 940px; - min-width: 0; - width: 100%; -} -@media (max-width: 940px) { - .wrap { - padding: 0 20px; - } -} -.icon-hexagon, -.icon-cat { - font-size: 14px; -} -.icon-hexagon.green, -.icon-cat.green { - color: #15D476; -} -.icon-hexagon.red, -.icon-cat.red { - color: #FF753F; -} -.icon-hexagon.yellow, -.icon-cat.yellow { - color: #FFD006; -} -.icon-hexagon.grey, -.icon-cat.grey { - color: #DFE5EE; -} -.icon-cat { - font-size: 24px; -} -body > header { - position: fixed; - height: 100px; - top: 0; - left: 0; - right: 0; - max-width: 100vw; - width: 100%; - z-index: 100; - background: white; - padding-bottom: 30px; -} -body > header .wrap { - display: flex; - position: relative; - justify-content: space-between; - align-items: flex-end; - height: 100%; -} -body > header .wrap .logo { - font-family: NexaLight, SansSerif; - font-size: 24px; - color: #48505D; - padding-bottom: 4px; - text-decoration: none; - position: relative; - left: -70px; - -webkit-transition: all 0.6s; - -moz-transition: all 0.6s; - -ms-transition: all 0.6s; - -o-transition: all 0.6s; - transition: all 0.6s; -} -body > header .wrap .logo img { - display: inline; - opacity: 0; - position: relative; - top: 22px; - width: 50px; - height: 60px; - -webkit-transition: all 0.6s; - -moz-transition: all 0.6s; - -ms-transition: all 0.6s; - -o-transition: all 0.6s; - transition: all 0.6s; -} -body > header .wrap .logo b { - font-family: NexaBold, SansSerif; -} -body > header .wrap .logo.show, -body > header .wrap .logo.static { - left: 0; -} -body > header .wrap .logo.show img, -body > header .wrap .logo.static img { - opacity: 1; -} -body > header .wrap .fa-bars, -body > header .wrap .fa-times { - font-size: 28px; - color: #48505D; -} -body > header .wrap .bars, -body > header .wrap .close { - display: none; - position: relative; - top: -12px; -} -body > header .wrap .close { - order: 6; -} -body > header .wrap nav { - position: relative; - max-width: 590px; - width: 100%; - padding-bottom: 12px; -} -@media (max-width: 940px) { - body > header .wrap nav { - max-width: 550px; - } -} -body > header .wrap nav ul { - width: 100%; - display: flex; - justify-content: space-between; - padding: 0; - margin: 0; -} -body > header .wrap nav ul li { - display: inline; - list-style: none; -} -body > header .wrap nav ul li a { - text-decoration: none; - font-size: 16px; - line-height: 16px; - color: #9099A9; - vertical-align: text-bottom; -} -body > header .wrap nav ul li:nth-child(1) a:hover, -body > header .wrap nav ul li:nth-child(7) a:hover { - color: #4FBAEB; -} -body > header .wrap nav ul li:nth-child(2) a:hover, -body > header .wrap nav ul li:nth-child(8) a:hover { - color: #D7E366; -} -body > header .wrap nav ul li:nth-child(3) a:hover, -body > header .wrap nav ul li:nth-child(9) a:hover { - color: #5B5B5B; -} -body > header .wrap nav ul li:nth-child(4) a:hover, -body > header .wrap nav ul li:nth-child(10) a:hover { - color: #B6BFCD; -} -body > header .wrap nav ul li:nth-child(5) a:hover { - color: #F176AE; -} -body > header .wrap nav ul li:nth-child(6) a:hover { - color: #FF9065; -} -@media (max-width: 767px) { - body > header .wrap .logo { - left: 0px; - bottom: 10px; - font-size: 19px; - } - body > header .wrap .logo img { - opacity: 1; - height: 50px; - width: auto; - top: 18px; - } - body > header .wrap nav { - display: none; - position: absolute; - top: 68px; - left: 0; - max-width: none; - width: 100%; - padding-bottom: 42px; - background: white; - } - body > header .wrap nav ul { - display: flex; - flex-direction: column; - align-items: center; - padding: 0; - margin: 0; - } - body > header .wrap nav ul li { - margin-top: 42px; - } - body > header .wrap nav ul li a { - text-transform: uppercase; - font-family: Roboto-Bold; - color: #48505D; - letter-spacing: 1px; - padding-left: 18px; - } -} -main { - padding-top: 70px; - padding-bottom: 60px; -} -header { - align-self: center; -} -header > h2 { - font-family: Roboto-Black; - color: #48505D; - margin: 0; - font-size: 65px; -} -@media (max-width: 767px) { - header > h2 { - font-size: 36px; - text-align: center; - } -} -.triangle { - display: block; - width: 0; - height: 0; - position: absolute; - bottom: 0px; - z-index: 0; -} -.triangle.white { - border-left: 50vw solid #F3F6F9; - border-right: 50vw solid #F3F6F9; - border-top: 5vw solid white; -} -.triangle.grey { - border-left: 50vw solid white; - border-right: 50vw solid white; - border-top: 5vw solid #F3F6F9; -} -footer { - position: relative; - padding: 20px 0 40px; - width: 100%; -} -footer .wrap { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; -} -footer .wrap .navigation { - width: 100%; - display: flex; - flex-wrap: wrap; - justify-content: center; -} -footer .wrap .navigation > div { - margin-top: 18px; -} -footer .wrap .navigation .title { - font-family: Roboto-Black; - color: #48505D; - font-size: 13px; - letter-spacing: 0.3px; -} -footer .wrap .navigation .links { - border-top: 2px solid #F0F3F7; - margin-top: 10px; -} -footer .wrap .navigation .links ul { - margin: 0; - padding: 0; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - line-height: 61px; -} -@media (max-width: 767px) { -} -footer .wrap .navigation .links ul li { - display: inline; - list-style: none; - flex-basis: 52px; -} -footer .wrap .navigation .links ul li a { - text-decoration: none; - font-size: 16px; - color: #9AA2B1; -} -footer .wrap .navigation .links ul li:nth-child(1) a:hover, -footer .wrap .navigation .links ul li:nth-child(7) a:hover { - color: #4FBAEB; -} -footer .wrap .navigation .links ul li:nth-child(2) a:hover, -footer .wrap .navigation .links ul li:nth-child(8) a:hover { - color: #D7E366; -} -footer .wrap .navigation .links ul li:nth-child(3) a:hover, -footer .wrap .navigation .links ul li:nth-child(9) a:hover { - color: #5B5B5B; -} -footer .wrap .navigation .links ul li:nth-child(4) a:hover, -footer .wrap .navigation .links ul li:nth-child(10) a:hover { - color: #B6BFCD; -} -footer .wrap .navigation .links ul li:nth-child(5) a:hover { - color: #F176AE; -} -footer .wrap .navigation .links ul li:nth-child(6) a:hover { - color: #FF9065; -} -footer .wrap .icons-social { - display: flex; - width: 180px; - justify-content: space-between; - padding: 17px 0; -} -footer .wrap .copyright { - padding: 25px 0; - font-family: Roboto-Light, SansSerif; - font-size: 16px; - color: #5B626E; - letter-spacing: -0.1px; -} -@media (max-width: 767px) { - footer .wrap .copyright { - text-align: center; - } -} -footer .wrap .img8 { - position: absolute; - left: 14px; - bottom: 130px; -} -@media (max-width: 767px) { - footer { - padding-top: 22px; - } -} -@media (max-width: 640px) { - footer .wrap .navigation .links ul { - justify-content: flex-start; - } - footer .wrap .navigation .links ul li { - margin-right: 22px; - flex-basis: auto; - } - footer .wrap .navigation .filecoin, - footer .wrap .navigation .protocol-labs { - max-width: 100%; - flex-basis: 100%; - } - footer .wrap .navigation .ipfs { - margin-top: 15px; - } - footer .wrap .navigation .filecoin { - margin-top: 28px; - } -} -@media (max-width: 1200px) { - .decoration { - display: none; - } -} diff --git a/static/css/variables.css b/static/css/variables.css deleted file mode 100755 index 51243e7..0000000 --- a/static/css/variables.css +++ /dev/null @@ -1,3 +0,0 @@ -/* main colors*/ -/*bg_freenode*/ -/*bg_video*/ diff --git a/static/img/background/img0.jpg b/static/img/background/img0.jpg index 7cb60bf..410f76a 100755 Binary files a/static/img/background/img0.jpg and b/static/img/background/img0.jpg differ diff --git a/static/img/background/img1.jpg b/static/img/background/img1.jpg index 9a18529..d9a0c02 100755 Binary files a/static/img/background/img1.jpg and b/static/img/background/img1.jpg differ diff --git a/static/img/background/img10.jpg b/static/img/background/img10.jpg index 8480630..89d6413 100755 Binary files a/static/img/background/img10.jpg and b/static/img/background/img10.jpg differ diff --git a/static/img/background/img11.jpg b/static/img/background/img11.jpg index f10e6f4..33a18b9 100755 Binary files a/static/img/background/img11.jpg and b/static/img/background/img11.jpg differ diff --git a/static/img/background/img12.jpg b/static/img/background/img12.jpg index 59ae032..c989e93 100755 Binary files a/static/img/background/img12.jpg and b/static/img/background/img12.jpg differ diff --git a/static/img/background/img2.jpg b/static/img/background/img2.jpg index d8a08ec..06dc1fc 100755 Binary files a/static/img/background/img2.jpg and b/static/img/background/img2.jpg differ diff --git a/static/img/background/img3.jpg b/static/img/background/img3.jpg index fbd777d..be18249 100755 Binary files a/static/img/background/img3.jpg and b/static/img/background/img3.jpg differ diff --git a/static/img/background/img4.jpg b/static/img/background/img4.jpg index 2a17255..e8aeafb 100755 Binary files a/static/img/background/img4.jpg and b/static/img/background/img4.jpg differ diff --git a/static/img/background/img5.jpg b/static/img/background/img5.jpg index 29e7b70..52b39ea 100755 Binary files a/static/img/background/img5.jpg and b/static/img/background/img5.jpg differ diff --git a/static/img/background/img6.jpg b/static/img/background/img6.jpg index 87d9416..03aa3f9 100755 Binary files a/static/img/background/img6.jpg and b/static/img/background/img6.jpg differ diff --git a/static/img/background/img7.jpg b/static/img/background/img7.jpg index b2fc729..8817c74 100755 Binary files a/static/img/background/img7.jpg and b/static/img/background/img7.jpg differ diff --git a/static/img/background/img8.jpg b/static/img/background/img8.jpg index 0bea2fa..35c5f03 100755 Binary files a/static/img/background/img8.jpg and b/static/img/background/img8.jpg differ diff --git a/static/img/background/img9.jpg b/static/img/background/img9.jpg index 41f6609..a719ea0 100755 Binary files a/static/img/background/img9.jpg and b/static/img/background/img9.jpg differ diff --git a/static/img/cube_shape.png b/static/img/cube_shape.png index 2b6669b..5e909b5 100755 Binary files a/static/img/cube_shape.png and b/static/img/cube_shape.png differ diff --git a/static/img/favicon.png b/static/img/favicon.png index d901625..60fcd5c 100755 Binary files a/static/img/favicon.png and b/static/img/favicon.png differ diff --git a/static/img/home-map.png b/static/img/home-map.png index e841ed5..3a18cb3 100755 Binary files a/static/img/home-map.png and b/static/img/home-map.png differ diff --git a/static/img/img1.png b/static/img/img1.png index d210edd..395ad9a 100755 Binary files a/static/img/img1.png and b/static/img/img1.png differ diff --git a/static/img/img2.png b/static/img/img2.png index c8083dd..a93801b 100755 Binary files a/static/img/img2.png and b/static/img/img2.png differ diff --git a/static/img/img3.png b/static/img/img3.png index a0fc7c5..8c422ec 100755 Binary files a/static/img/img3.png and b/static/img/img3.png differ diff --git a/static/img/img4.png b/static/img/img4.png index 62edc75..c7b4c60 100755 Binary files a/static/img/img4.png and b/static/img/img4.png differ diff --git a/static/img/img5.png b/static/img/img5.png index cb24900..fa4ec53 100755 Binary files a/static/img/img5.png and b/static/img/img5.png differ diff --git a/static/img/img6.png b/static/img/img6.png index c4618bf..b33fe06 100755 Binary files a/static/img/img6.png and b/static/img/img6.png differ diff --git a/static/img/img7.png b/static/img/img7.png index 57c9faf..cc00358 100755 Binary files a/static/img/img7.png and b/static/img/img7.png differ diff --git a/static/img/img8.png b/static/img/img8.png index f9688cd..561e851 100755 Binary files a/static/img/img8.png and b/static/img/img8.png differ diff --git a/static/img/img_1.png b/static/img/img_1.png index dec1f95..a7887f1 100755 Binary files a/static/img/img_1.png and b/static/img/img_1.png differ diff --git a/static/img/img_2.png b/static/img/img_2.png index 0a9616e..010b68a 100755 Binary files a/static/img/img_2.png and b/static/img/img_2.png differ diff --git a/static/img/img_3.png b/static/img/img_3.png index a4bebfb..beb86f2 100755 Binary files a/static/img/img_3.png and b/static/img/img_3.png differ diff --git a/static/img/img_4.png b/static/img/img_4.png index 7052ce0..5524c1f 100755 Binary files a/static/img/img_4.png and b/static/img/img_4.png differ diff --git a/static/img/img_5.png b/static/img/img_5.png index 1b5c0eb..7e6e2b2 100755 Binary files a/static/img/img_5.png and b/static/img/img_5.png differ diff --git a/static/img/img_6.png b/static/img/img_6.png index cf75dd3..f8d64d9 100755 Binary files a/static/img/img_6.png and b/static/img/img_6.png differ diff --git a/static/img/img_7.png b/static/img/img_7.png index 7321638..40d473c 100755 Binary files a/static/img/img_7.png and b/static/img/img_7.png differ diff --git a/static/img/img_8.png b/static/img/img_8.png index 9e3d2de..2ac5fae 100755 Binary files a/static/img/img_8.png and b/static/img/img_8.png differ diff --git a/static/img/img_9.png b/static/img/img_9.png index 33bb45c..972b986 100755 Binary files a/static/img/img_9.png and b/static/img/img_9.png differ diff --git a/static/img/logo_1.png b/static/img/logo_1.png index 1ee2dcb..3a4c7a8 100755 Binary files a/static/img/logo_1.png and b/static/img/logo_1.png differ diff --git a/static/img/logo_2.png b/static/img/logo_2.png index e72d06f..9cf1d12 100755 Binary files a/static/img/logo_2.png and b/static/img/logo_2.png differ diff --git a/static/img/logo_3.png b/static/img/logo_3.png index 37d3599..633e470 100755 Binary files a/static/img/logo_3.png and b/static/img/logo_3.png differ diff --git a/static/img/logo_4.png b/static/img/logo_4.png index 6863cb9..4187b7c 100755 Binary files a/static/img/logo_4.png and b/static/img/logo_4.png differ diff --git a/static/img/logo_5.png b/static/img/logo_5.png index 3df4679..cd33f25 100755 Binary files a/static/img/logo_5.png and b/static/img/logo_5.png differ diff --git a/static/img/logo_6.png b/static/img/logo_6.png index a7f92e6..fdf787b 100755 Binary files a/static/img/logo_6.png and b/static/img/logo_6.png differ diff --git a/static/img/logo_6_.png b/static/img/logo_6_.png index 7b7507c..52c8b09 100755 Binary files a/static/img/logo_6_.png and b/static/img/logo_6_.png differ diff --git a/static/img/logo_7.png b/static/img/logo_7.png index 5cb0dab..a222dfd 100755 Binary files a/static/img/logo_7.png and b/static/img/logo_7.png differ diff --git a/static/img/logo_java.png b/static/img/logo_java.png index bd9e1cd..a48e9a6 100755 Binary files a/static/img/logo_java.png and b/static/img/logo_java.png differ diff --git a/static/img/logo_small.png b/static/img/logo_small.png index 33afb29..fe82993 100755 Binary files a/static/img/logo_small.png and b/static/img/logo_small.png differ diff --git a/static/img/photo_line.png b/static/img/photo_line.png index e188ec4..5f6710d 100755 Binary files a/static/img/photo_line.png and b/static/img/photo_line.png differ diff --git a/static/img/protocol-labs-logo.png b/static/img/protocol-labs-logo.png index 0649050..1ca47b4 100755 Binary files a/static/img/protocol-labs-logo.png and b/static/img/protocol-labs-logo.png differ diff --git a/static/img/svg/Generics.svg b/static/img/svg/Generics.svg index b7bf0db..68e09c7 100755 --- a/static/img/svg/Generics.svg +++ b/static/img/svg/Generics.svg @@ -1,144 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/Pasted.svg b/static/img/svg/Pasted.svg index 665bb5d..f7f0db9 100755 --- a/static/img/svg/Pasted.svg +++ b/static/img/svg/Pasted.svg @@ -1,80 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/Pasted10.svg b/static/img/svg/Pasted10.svg deleted file mode 100755 index 29e05eb..0000000 --- a/static/img/svg/Pasted10.svg +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted11.svg b/static/img/svg/Pasted11.svg deleted file mode 100755 index f42986b..0000000 --- a/static/img/svg/Pasted11.svg +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted12.svg b/static/img/svg/Pasted12.svg deleted file mode 100755 index fe062f1..0000000 --- a/static/img/svg/Pasted12.svg +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted14.svg b/static/img/svg/Pasted14.svg deleted file mode 100755 index a645950..0000000 --- a/static/img/svg/Pasted14.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted15.svg b/static/img/svg/Pasted15.svg deleted file mode 100755 index aa6d994..0000000 --- a/static/img/svg/Pasted15.svg +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted2.svg b/static/img/svg/Pasted2.svg index 76122f6..ec42770 100755 --- a/static/img/svg/Pasted2.svg +++ b/static/img/svg/Pasted2.svg @@ -1,2102 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/Pasted3.svg b/static/img/svg/Pasted3.svg deleted file mode 100755 index 528cc56..0000000 --- a/static/img/svg/Pasted3.svg +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted4.svg b/static/img/svg/Pasted4.svg deleted file mode 100755 index 58e63a6..0000000 --- a/static/img/svg/Pasted4.svg +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted5.svg b/static/img/svg/Pasted5.svg deleted file mode 100755 index b446ca1..0000000 --- a/static/img/svg/Pasted5.svg +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted6.svg b/static/img/svg/Pasted6.svg deleted file mode 100755 index f90367b..0000000 --- a/static/img/svg/Pasted6.svg +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted7.svg b/static/img/svg/Pasted7.svg deleted file mode 100755 index 700838a..0000000 --- a/static/img/svg/Pasted7.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted8.svg b/static/img/svg/Pasted8.svg deleted file mode 100755 index 60ff1bd..0000000 --- a/static/img/svg/Pasted8.svg +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Pasted9.svg b/static/img/svg/Pasted9.svg deleted file mode 100755 index 2bf8f26..0000000 --- a/static/img/svg/Pasted9.svg +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Peer Routing.svg b/static/img/svg/Peer Routing.svg deleted file mode 100755 index aa77b2f..0000000 --- a/static/img/svg/Peer Routing.svg +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/Peer-Routing.svg b/static/img/svg/Peer-Routing.svg deleted file mode 100755 index aa77b2f..0000000 --- a/static/img/svg/Peer-Routing.svg +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/svg/balloon.svg b/static/img/svg/balloon.svg index 48845eb..094b085 100755 --- a/static/img/svg/balloon.svg +++ b/static/img/svg/balloon.svg @@ -1 +1 @@ -balloonIvanov Ivanhttp://google.com.ua \ No newline at end of file +balloonIvanov Ivanhttp://google.com.ua \ No newline at end of file diff --git a/static/img/svg/blue-2.svg b/static/img/svg/blue-2.svg new file mode 100755 index 0000000..57a3f64 --- /dev/null +++ b/static/img/svg/blue-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/cat_icon.svg b/static/img/svg/cat_icon.svg index 40a8a18..ec199df 100755 --- a/static/img/svg/cat_icon.svg +++ b/static/img/svg/cat_icon.svg @@ -1,20 +1 @@ - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/connection-upgrades.svg b/static/img/svg/connection-upgrades.svg new file mode 100755 index 0000000..53f68fe --- /dev/null +++ b/static/img/svg/connection-upgrades.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/crypto-channels.svg b/static/img/svg/crypto-channels.svg new file mode 100755 index 0000000..2900579 --- /dev/null +++ b/static/img/svg/crypto-channels.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/cube.svg b/static/img/svg/cube.svg index e135c8b..54ed60b 100755 --- a/static/img/svg/cube.svg +++ b/static/img/svg/cube.svg @@ -1,1911 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/cube_shape.svg b/static/img/svg/cube_shape.svg index 7472bf1..841149b 100755 --- a/static/img/svg/cube_shape.svg +++ b/static/img/svg/cube_shape.svg @@ -1,514 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/discovery.svg b/static/img/svg/discovery.svg new file mode 100755 index 0000000..854758a --- /dev/null +++ b/static/img/svg/discovery.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/hexagon.svg b/static/img/svg/hexagon.svg index 46a434f..7dc7958 100755 --- a/static/img/svg/hexagon.svg +++ b/static/img/svg/hexagon.svg @@ -1,15 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/hexogen.svg b/static/img/svg/hexogen.svg index 46a434f..7dc7958 100755 --- a/static/img/svg/hexogen.svg +++ b/static/img/svg/hexogen.svg @@ -1,15 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/static/img/svg/nat-traversal.svg b/static/img/svg/nat-traversal.svg new file mode 100755 index 0000000..d5994ad --- /dev/null +++ b/static/img/svg/nat-traversal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/orange-1.svg b/static/img/svg/orange-1.svg new file mode 100755 index 0000000..17fcd7c --- /dev/null +++ b/static/img/svg/orange-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/orange-2.svg b/static/img/svg/orange-2.svg new file mode 100755 index 0000000..034a307 --- /dev/null +++ b/static/img/svg/orange-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/others.svg b/static/img/svg/others.svg new file mode 100755 index 0000000..d7bbff5 --- /dev/null +++ b/static/img/svg/others.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/peer-routing.svg b/static/img/svg/peer-routing.svg new file mode 100755 index 0000000..212bc1f --- /dev/null +++ b/static/img/svg/peer-routing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/record-stores.svg b/static/img/svg/record-stores.svg new file mode 100755 index 0000000..bdac2fb --- /dev/null +++ b/static/img/svg/record-stores.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/stream-muxers.svg b/static/img/svg/stream-muxers.svg new file mode 100755 index 0000000..48f8491 --- /dev/null +++ b/static/img/svg/stream-muxers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/transports.svg b/static/img/svg/transports.svg new file mode 100755 index 0000000..a91cf88 --- /dev/null +++ b/static/img/svg/transports.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/svg/utils.svg b/static/img/svg/utils.svg new file mode 100755 index 0000000..26b1912 --- /dev/null +++ b/static/img/svg/utils.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/test.jpg b/static/img/test.jpg index 9836317..0b95aca 100755 Binary files a/static/img/test.jpg and b/static/img/test.jpg differ diff --git a/static/js/.keep b/static/js/.keep new file mode 100644 index 0000000..e69de29 diff --git a/static/js/analytics.js b/static/js/analytics.js deleted file mode 100644 index 4b5926f..0000000 --- a/static/js/analytics.js +++ /dev/null @@ -1,7 +0,0 @@ -(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ -(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), -m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) -})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); - -ga('create', 'UA-96910779-2', 'auto'); -ga('send', 'pageview'); diff --git a/static/js/bundles.js b/static/js/bundles.js deleted file mode 100755 index b3f987b..0000000 --- a/static/js/bundles.js +++ /dev/null @@ -1,284 +0,0 @@ -$(function () { - - var bundles = data.Bundles; - createNav(); - createContent(); - createComingSoon(); - - function createComingSoon() { - var template = $( - '' - ); - - var section = $('
'), - index = 0; - $.each(bundles, function (key, values) { - if (values['status'] !== 'live' && index < 6) { - var tmp = template.clone(); - tmp.find('img').attr('src', values['image']); - section.append(tmp); - - index++; - } - }); - - var tempRectangle = $( - '
' + - '
' + - '' + - '
' + - '
' - ); - var imgCube = ['../img/img4.png', '../img/img5.png']; - for (var n = index; n < 6; n++){ - var tmp = tempRectangle.clone(); - tmp.find('img').attr('src', imgCube[n % 2]); - section.append(tmp); - } - $('.wrap', 'article.bundles-info').append(section); - } - - function createContent() { - var template = $('
' + - '' + - '
' + - '
' + - '
' + - '
' + - '' + - '
' + - 'GitHub' + - '
' + - '
' + - '
' + - '
' + - '
' - ); - - $.each(bundles, function (key, values) { - if (values['status'] === 'live') { - var tmp = template.clone(), - id = key.replace(' ', '-').toLowerCase(); - tmp.attr('id', id); - tmp.find('img', '.title').attr('src', values['image']).attr('alt', key).attr('title', key); - tmp.find('.btn-interface', '.title').attr('href', values['github']); - - var nav = tmp.find('nav'); - var index = 0; - $.each(values['categories'], function (key, values) { - nav.append($('' + key + '')); - if (index === 0) tmp.find('.active-link span').text(key); - - var ul = document.createElement('ul'); - ul.classList.add(key.replace(' ', '-').toLowerCase()); - ul.classList.add('calc-col'); - if (index === 0) ul.classList.add('show'); - - var info = tmp.find('.info'), - modules = values['modules']; - $.each(modules, function (item, items) { - var li = document.createElement('li'); - var a = document.createElement('a'); - if (items['url']) - a.setAttribute('href', items['url']); - var i = document.createElement('i'); - i.classList.add('icon-hexagon'); - i.classList.add(color(items['status'])); - a.appendChild(i); - var span = document.createElement('span'); - span.textContent = item; - a.appendChild(span); - li.appendChild(a); - ul.appendChild(li); - }); - - tmp.find('.info').append(ul); - - index++; - }); - - $('.wrap', 'article.bundles-info').append(tmp); - } - }); - } - - function createNav() { - var index = 0; - $.each(bundles, function (key, values) { - var colNum = Math.floor(index / 2) + 1, - $col = $('.col' + colNum, '.links'), - id = key.replace(' ', '-').toLowerCase(); - - var a = document.createElement('a'); - a.setAttribute('href', '#' + id); - a.classList.add('link'); - a.classList.add(values['status'] === 'live' ? 'scroll' : 'inactive'); - - var div = document.createElement('div'); - div.classList.add('img'); - var img = document.createElement('img'); - img.classList.add(id); - img.setAttribute('src', values['nav-img'] || values['image']); - img.setAttribute('alt', key); - img.setAttribute('title', key); - div.appendChild(img); - a.appendChild(div); - - var span = document.createElement('span'); - span.textContent = key; - a.appendChild(span); - - $col.append(a); - - if (index === 0) { - $('.copy-block', '.links').append($(div).clone()).append($(span).clone()); - } - - index++; - }); - } - - $('nav a', 'article').on('click', function (e) { - e.preventDefault(); - var mobile = $(window).innerWidth() <= 767; - var $nav = $(this); - var $parentNav = $nav.closest('nav'); - var $parent = $nav.closest('section'); - var showUl = $nav.data('info'); - - $parentNav.children('a').each(function () { - $(this).removeClass('active') - }); - $nav.addClass('active'); - - $('ul', $parent).each(function () { - $(this).removeClass('show') - }); - $('ul' + '.' + showUl, $parent).addClass('show'); - alignment(); - - if (mobile) { - $parentNav.css('display', 'none') - } - $parent.find('.active-link span').text($nav.text()) - }); - - function alignment() { - $('ul.calc-col.show').each(function () { - var $ul = $(this); - var ulWidth = $ul.outerWidth(); - var liCount = $ul[0].childElementCount; - var colCount = 0; - - if (liCount > 0 && liCount <= 5) { - colCount = 1; - $ul.addClass('one-col') - } else if (liCount <= 10) { - colCount = 2; - $ul.addClass('two-col') - } else { - colCount = 3; - $ul.addClass('three-col') - } - - var maxWidth = 0; - $ul.children('li').each(function () { - var $li = $(this); - $li.css({'min-width': '0', 'width': 'auto'}); - - if ($li.width() > maxWidth) maxWidth = $li.width() - }); - $ul.children('li').css({'min-width': '100px', 'max-width': maxWidth + 15 + 'px', 'width': '100%'}); - - if (colCount == 2) { - var pad = (ulWidth - (((maxWidth + 15) * 2) + 60)) / 2; - $ul.css({'padding-left': pad + 'px', 'padding-right': pad + 'px'}) - } - }) - } - - $(window).on('load resize', function () { - alignment() - }); - - $('a.scroll').on('click', function (e) { - e.preventDefault(); - var scrollToId = $(this).attr('href'); - var $scrollTo = $(scrollToId); - $('html, body').animate({scrollTop: $scrollTo.offset().top - 100}, 500, 'swing'); - - var mobile = $(window).innerWidth() <= 767; - if (mobile) { - var $columns = $(this).closest('.columns'); - var $links = $columns.closest('.links'); - $columns.css('display', 'none'); - $links.find('.active-link .copy-block').html($(this).html()) - } - }); - - $('.active-link', 'aside.left').on('click', function (e) { - e.preventDefault(); - var $link = $(this); - var $parent = $link.closest('aside.left'); - var $nav = $parent.find('nav'); - - if ($nav.css('display') == 'flex') { - $nav.css('display', 'none') - } else { - $nav.css('display', 'flex') - } - }); - - function color(status) { - switch (status.toLowerCase()) { - case 'done': - return 'green'; - break; - case 'usable': - return 'yellow'; - break; - case 'unstable': - return 'red'; - break; - default: - return 'grey' - } - } - - $('.active-link', '.links').on('click', function (e) { - e.preventDefault(); - var $link = $(this); - var $parent = $link.closest('.links'); - var $columns = $parent.find('.columns'); - - if ($columns.css('display') == 'flex') { - $columns.css('display', 'none') - } else { - $columns.css('display', 'flex') - } - }); - - $(window).on('click', function (e) { - var $elem = e.target; - var mobile = $(window).innerWidth() <= 767; - if (mobile) { - if (!$($elem.closest('aside.left')).length) { - $('aside.left nav:visible').css('display', 'none') - } - if (!$($elem.closest('.links')).length) { - $('.columns', '.links').css('display', 'none') - } - } - }) -}); diff --git a/static/js/common.js b/static/js/common.js deleted file mode 100755 index 923b387..0000000 --- a/static/js/common.js +++ /dev/null @@ -1,79 +0,0 @@ -$(function () { - var hash = window.location.hash - if (hash.length) { - var $scrollTo = $(hash) - $('html, body').animate({scrollTop: $scrollTo.offset().top - 100}, 500, 'swing') - } - - $(window).scroll(function (e) { - var $logo = $('header .logo') - - if ($(window).outerWidth() > 767 && !$logo.hasClass('static')) { - if ($(window).scrollTop() > 300) { - $logo.addClass('show') - } else { - $logo.removeClass('show') - } - } - - fadeInArcticle() - }) - - $(window).on('load resize', function () { - var width = $(window).innerWidth() - var leftWidth = Math.round(width / 2) - var rightWidth = leftWidth > (width / 2) ? leftWidth - 1 : leftWidth - $('.triangle').css({'border-left-width': leftWidth + 'px', 'border-right-width': rightWidth + 'px'}) - - if ($(window).outerWidth() > 767) { - $('.bars', 'header').hide() - $('.close', 'header').hide() - $('nav', 'header').show() - } else { - $('.bars', 'header').show() - $('.close', 'header').hide() - $('nav', 'header').hide() - } - fadeInArcticle() - }) - - $('.bars', 'header').on('click', function (e) { - e.preventDefault() - $('.bars', 'header').hide() - $('.close', 'header').show() - $('nav', 'header').show() - }) - $('.close', 'header').on('click', function (e) { - e.preventDefault() - $('.bars', 'header').show() - $('.close', 'header').hide() - $('nav', 'header').hide() - }) - - function fadeInArcticle () { - if ($('article.features').length > 0 && $(window).scrollTop() >= $('article.features').offset().top - $(window).innerHeight() + 300) { - $('article.features').addClass('show') - } - if ($('article.example').length > 0 && $(window).scrollTop() >= $('article.example').offset().top - $(window).innerHeight() + 300) { - $('article.example').addClass('show') - } - if ($('article.implementations-in').length > 0 && $(window).scrollTop() >= $('article.implementations-in').offset().top - $(window).innerHeight() + 300) { - $('article.implementations-in').addClass('show') - } - if ($('article.publications-talks').length > 0 && $(window).scrollTop() >= $('article.publications-talks').offset().top - $(window).innerHeight() + 300) { - $('article.publications-talks').addClass('show') - } - if ($('article.community').length > 0 && $(window).scrollTop() >= $('article.community').offset().top - $(window).innerHeight() + 300) { - $('article.community').addClass('show') - } - } - - $(window).on('resize', function () { - var $stage = $('#Stage') - if (!$stage.length) return - - $stage.closest('.flow-wrapper').remove() - $('.homepage-animation').addClass('static') - $('#static-stage').addClass('show') - }) -}) diff --git a/static/js/data/bundles_data.js b/static/js/data/bundles_data.js deleted file mode 100755 index 85451b9..0000000 --- a/static/js/data/bundles_data.js +++ /dev/null @@ -1,243 +0,0 @@ -var data = { - 'Bundles': { - 'Browser JS': { - 'status': 'live', - 'image': '../img/logo_1.png', - 'github': 'https://github.com/ipfs/js-libp2p-ipfs-browser', - 'categories': { - 'Transport': { - 'modules': { - 'libp2p-websockets': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-websockets' - }, - 'libp2p-webrtc-star': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-webrtc-star' - } - } - }, - "Stream Muxer": { - 'modules': { - 'libp2p-multiplex': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-multiplex' - }, - 'libp2p-spdy': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-spdy' - } - } - }, - "Crypto Channels": { - 'modules': { - 'libp2p-secio': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-secio' - } - } - }, - "Peer Routing": { - 'modules': { - 'libp2p-kad-dht': { - 'status': 'unstable', - 'url': 'https://github.com/libp2p/js-libp2p-kad-dht' - } - } - }, - "Record Stores": { - 'modules': { - 'record': { - 'status': 'usable', - 'url': 'https://github.com/libp2p/js-libp2p-record' - } - } - }, - "Discovery": { - 'modules': { - 'libp2p-webrtc-star': { - 'status': 'done', - 'url': 'https://github.com/libp2p/js-libp2p-webrtc-star' - }, - 'libp2p-railing': { - 'status': 'done', - 'url': 'https://github.com/libp2p/js-libp2p-railing' - } - } - } - } - }, - 'Node JS': { - 'status': 'live', - 'image': '../img/logo_2.png', - 'github': 'https://github.com/ipfs/js-libp2p-ipfs-nodejs', - 'categories': { - 'Transport': { - 'modules': { - 'libp2p-tcp': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-tcp' - }, - 'libp2p-websockets': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-websockets' - }, - 'libp2p-webrtc-star': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-webrtc-star' - } - } - }, - "Stream Muxer": { - 'modules': { - 'libp2p-multiplex': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-multiplex' - }, - 'libp2p-spdy': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-spdy' - } - } - }, - "Crypto Channels": { - 'modules': { - 'libp2p-secio': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/js-libp2p-secio' - } - } - }, - "Peer Routing": { - 'modules': { - 'libp2p-kad-dht': { - 'status': 'unstable', - 'url': 'https://github.com/libp2p/js-libp2p-kad-dht' - } - } - }, - "Record Stores": { - 'modules': { - 'record': { - 'status': 'usable', - 'url': 'https://github.com/libp2p/js-libp2p-record' - } - } - }, - "Discovery": { - 'modules': { - 'libp2p-mdns': { - 'status': 'done', - 'url': 'https://github.com/libp2p/js-libp2p-mdns' - }, - 'libp2p-webrtc-star': { - 'status': 'done', - 'url': 'https://github.com/libp2p/js-libp2p-webrtc-star' - }, - 'libp2p-railing': { - 'status': 'unstable', - 'url': 'https://github.com/libp2p/js-libp2p-railing' - } - } - } - } - }, - 'Golang': { - 'status': 'live', - 'image': '../img/logo_3.png', - 'github': 'https://github.com/libp2p/go-libp2p', - 'categories': { - 'Transport': { - 'modules': { - 'go-tcp-transport': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/go-tcp-transport' - }, - 'go-ws-transport': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/go-ws-transport' - } - } - }, - "Stream Muxer": { - 'modules': { - 'libp2p-yamux': { - 'status': 'Done', - 'url': '' - }, - 'libp2p-multiplex': { - 'status': 'Done', - 'url': '' - } - } - }, - "Crypto Channels": { - 'modules': { - 'libp2p-secio': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/go-libp2p-secio' - } - } - }, - "Peer Routing": { - 'modules': { - 'libp2p-kad-dht': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/go-libp2p-kad-dht' - } - } - }, - "Record Stores": { - 'modules': { - 'libp2p-kad-dht': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/go-libp2p-kad-dht' - } - } - }, - "NAT Traversal": { - 'modules': { - 'libp2p-nat': { - 'status': 'Done', - 'url': 'https://github.com/libp2p/go-libp2p-nat' - } - } - }, - "Discovery": { - 'modules': { - 'libp2p-mdns': { - 'status': 'done', - 'url': 'https://github.com/libp2p/go-libp2p/blob/master/p2p/discovery/mdns.go' - }, - 'libp2p-railing': { - 'status': 'unstable', - 'url': '' - } - } - } - } - }, - 'Haskell': { - 'status': 'coming-soon', - 'image': '../img/logo_4.png', - 'github': '' - }, - 'Java': { - 'status': 'coming-soon', - 'image': '../img/logo_java.png', - 'nav-img': '../img/logo_5.png', - 'github': '' - }, - 'Python': { - 'status': 'coming-soon', - 'image': '../img/logo_6.png', - 'nav-img': '../img/logo_6_.png', - 'github': '' - }, - 'Rust': { - 'status': 'coming-soon', - 'image': '../img/logo_7.png', - 'github': '' - } - } -}; diff --git a/static/js/data/implementations_data.js b/static/js/data/implementations_data.js deleted file mode 100755 index 8330b4d..0000000 --- a/static/js/data/implementations_data.js +++ /dev/null @@ -1,338 +0,0 @@ -var data = { - 'Transports': { - 'libp2p-tcp': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-tcp' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-tcp' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-tcp-transport' - } - }, - 'libp2p-quic': { - 'Go': { - status: 'Unstable', - url: 'https://github.com/marten-seemann/libp2p-quic-transport' - } - }, - 'libp2p-websockets': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-websockets' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-websockets' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-ws-transport' - } - }, - 'libp2p-webrtc-star': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-webrtc-star' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-webrtc-star' - } - }, - 'libp2p-webrtc-direct': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-webrtc-direct' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-webrtc-direct' - } - }, - 'libp2p-udp': { - 'Node.js': { - status: 'Unstable', - url: 'https://github.com/libp2p/js-libp2p-udp' - }, - 'Go': { - status: 'Unstable', - url: 'https://github.com/libp2p/go-udp-transport' - } - }, - 'libp2p-utp': { - 'Node.js': { - status: 'Unstable', - url: 'https://github.com/libp2p/js-libp2p-utp' - }, - 'Go': { - status: 'Usable', - url: 'https://github.com/libp2p/go-utp-transport' - } - } - }, - 'stream-muxers': { - 'libp2p-spdy': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-spdy' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-spdy' - }, - 'Go': { - status: 'Unstable', - url: 'https://github.com/docker/spdystream' - } - }, - 'libp2p-multiplex': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-multiplex' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-multiplex' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/whyrusleeping/go-smux-multiplex' - } - }, - 'libp2p-yamux': { - 'Go': { - status: 'Done', - url: 'https://github.com/hashicorp/yamux' - } - } - }, - 'crypto-channels': { - 'libp2p-secio': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-secio' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-secio' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-secio' - } - } - }, - 'connection-upgrades': { - 'libp2p-conn': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/interface-connection' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/interface-connection' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-conn' - } - }, - 'half-closed-connection-upgrade': { - 'Browser JS': { - status: 'Unstable', - url: 'https://github.com/libp2p/js-libp2p-half-closed-connection-upgrade' - }, - 'Node.js': { - status: 'Usable', - url: 'https://github.com/libp2p/js-libp2p-half-closed-connection-upgrade' - } - } - }, - 'peer-routing': { - 'libp2p-kad-dht': { - 'Browser JS': { - status: 'Unstable', - url: 'https://github.com/libp2p/js-libp2p-dht' - }, - 'Node.js': { - status: 'Unstable', - url: 'https://github.com/libp2p/js-libp2p-dht' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-kad-dht' - } - } - }, - 'record-stores': { - 'record': { - 'Browser JS': { - status: 'Usable', - url: 'https://github.com/libp2p/js-libp2p-record' - }, - 'Node.js': { - status: 'Usable', - url: 'https://github.com/libp2p/js-libp2p-record' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-record' - }, - 'C#': { - status: 'Unstable', - url: 'https://github.com/libp2p/go-libp2p-record' - } - } - }, - 'nat-traversal': { - 'libp2p-nat': { - 'Go': { - status: 'Unstable', - url: 'https://github.com/libp2p/go-libp2p-nat' - } - } - }, - 'discovery': { - 'bootstrap': { - 'Browser JS': { - status: 'Usable', - url: 'https://github.com/libp2p/js-libp2p-railing' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-railing' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/ipfs/go-ipfs/blob/master/core/bootstrap.go' - } - }, - 'random-walk': { - 'Browser JS': { - status: 'Unstable', - url: 'https://github.com/libp2p/js-libp2p-random-walk' - }, - 'Node.js': { - status: 'Unstable', - url: 'https://github.com/libp2p/js-libp2p-random-walk' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-kad-dht' - } - }, - 'mdns-discovery': { - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-mdns' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p/blob/master/p2p/discovery/mdns.go' - } - } - }, - 'utils': { - 'crypto': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-crypto' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-crypto' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-crypto' - } - }, - 'libp2p-ping': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-ping' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-ping' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p/p2p/protocol/ping' - } - }, - 'libp2p-peer-id': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-peer-id' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-peer-id' - } - }, - 'libp2p-peer-info': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-peer-info' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-peer-info' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-peer' - } - }, - 'libp2p-peer-book': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-peer-book' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-peer-book' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p-peerstore' - } - }, - 'libp2p-swarm': { - 'Browser JS': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-swarm' - }, - 'Node.js': { - status: 'Done', - url: 'https://github.com/libp2p/js-libp2p-swarm' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-libp2p/tree/master/p2p/host/basic' - } - } - }, - 'others': { - 'libp2p-floodsub': { - 'Browser JS': { - status: 'Usable', - url: 'https://github.com/libp2p/js-libp2p-floodsub' - }, - 'Node.js': { - status: 'Usable', - url: 'https://github.com/libp2p/js-libp2p-floodsub' - }, - 'Go': { - status: 'Done', - url: 'https://github.com/libp2p/go-floodsub' - } - } - } -} diff --git a/static/js/edge6.0.0.js b/static/js/edge6.0.0.js deleted file mode 100755 index 20f8001..0000000 --- a/static/js/edge6.0.0.js +++ /dev/null @@ -1,240 +0,0 @@ -/* - - Copyright (c) 2011-2014. Adobe Systems Incorporated. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - Neither the name of Adobe Systems Incorporated nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -//# sourceMappingURL=edge.6.0.0.min.map - - 6.0.0.398 -*/ -(function(f,r,u){function e(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function p(){var a=c.shift();n=1;a?a.t?s(function(){("c"==a.t?w.injectCss:w.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),p()):n=0}function h(g,d,m,t,v,f,h){function l(a){if(!z&&e(y.readyState)&&(q.r=z=1,!n&&p(),a)){"img"!=g&&s(function(){k.removeChild(y)},50);for(var b in B[d])if(B[d].hasOwnProperty(b))B[d][b].onload();y.onload=y.onreadystatechange=null}}h=h||w.errorTimeout;var y=r.createElement(g),z=0,A=0,q={t:m,s:d, -e:v,a:f,x:h};1===B[d]&&(A=1,B[d]=[]);"object"==g?(y.data=d,y.setAttribute("type","text/css")):(y.src=d,y.type=g);y.width=y.height="0";y.onerror=y.onload=y.onreadystatechange=function(){l.call(this,A)};c.splice(t,0,q);"img"!=g&&(A||2===B[d]?(P(),k.insertBefore(y,a?null:b),s(l,h)):B[d].push(y))}function l(a,b,g,d,k){n=0;b=b||"j";z(a)?h("c"==b?y:m,a,b,this.i++,g,d,k):(c.splice(this.i++,0,a),1==c.length&&p());return this}function q(){var a=w;a.loader={load:l,i:0};return a}var x=r.documentElement,s=f.setTimeout, -b=r.getElementsByTagName("script")[0],d={}.toString,c=[],n=0,v=function(){},t="MozAppearance"in x.style,a=t&&!!r.createRange().compareNode,k=a?x:b.parentNode,g=f.opera&&"[object Opera]"==d.call(f.opera),g=!!r.attachEvent&&!g,x="webkitAppearance"in x.style&&!("async"in r.createElement("script")),m=t?"object":g||x?"script":"img",y=g?"script":x?"img":m,A=Array.isArray||function(a){return"[object Array]"==d.call(a)},z=function(a){return"string"==typeof a},E=function(a){return"[object Function]"==d.call(a)}, -P=function(){b&&b.parentNode||(b=r.getElementsByTagName("script")[0])},Q=[],B={},L={timeout:function(a,b){b.length&&(a.timeout=b[0]);return a}},M,w;w=function(a){function b(a){a=a.split("!");var g=Q.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},m,k,n;for(k=0;k")+d[2];for(c=d[0];c--;)a=a.lastChild;this[g]=a}else u(D.querySelectorAll(a),this);else{g=a;c=g.length;g=null!==g&&g===g.window?!1:1===g.nodeType&&c?!0:r(g)||"function"!==typeof g&&(0===c||"number"===typeof c&&0
")}function v(a,b,g,m,k,t){function e(){var k=c(a),n=k?a.parent().parent().parent():a.parent(),h=n.width(),v=n.height(),f=a.width(),l=a.height(),y=d(window).height(),s=1;(n="body"===n[0].nodeName.toLowerCase())&&(v=y);t||(v=d(window).height(),h=d(window).width()); -h=Math.round(h);v=Math.round(v);h/=f;v/=l;"both"===b?s=Math.min(h,v):"height"===b?s=v:"width"===b&&(s=h);void 0!==m&&(s=Math.min(s,m/f));void 0!==g&&(s=Math.max(s,g/f));a.css("-o-transform-origin","0 0");a.css("-ms-transform-origin","0 0");a.css("-webkit-transform-origin","0 0");a.css("-moz-transform-origin","0 0");a.css("-o-transform-origin","0 0");a.css("transform-origin","0 0");v="scale("+s+")";a.css("-o-transform",v);a.css("-ms-transform",v);a.css("-webkit-transform",v);a.css("-moz-transform", -v);a.css("-o-transform",v);a.css("transform",v);n&&!k||a.parent().height(Math.round(l*s)).width(Math.round(f*s));k&&(k=a.parent().parent(),k.height(Math.round(l*s+a.offset().top-k.offset().top)))}k?d.data(a[0],"alreadyWrapped")||(d.data(a[0],"alreadyWrapped",!0),d(window).bind("resize",function(){e()}),W(function(){e()})):c(a)||(n(a),d(window).bind("resize",function(){e()}),e())}function t(a,b){var g=d(a);c(g)&&(g=g.parent());if("both"===b||"horizontal"===b)g.css("position","absolute"),g.css("margin-left", -"auto"),g.css("margin-right","auto"),g.css("left","0"),g.css("right","0");if("both"===b||"vertical"===b)g.css("position","absolute"),g.css("margin-top","auto"),g.css("margin-bottom","auto"),g.css("top","0"),g.css("bottom","0")}function a(){var a=this.notifier={};a.obs=[];a.lvl=0}function k(a,b,g){if(b){g||(g={});g.methodName=b;var c=a.notifier,d=c.obs,k,m;c.lvl++;for(k=0;kd.indexOf(" "+k+" ")&&(d+=k+" ");t.className=g?b?d.trim():"":d.trim()}})}function m(a,b){var g,c="#"== -b[0],d=!c&&"."==b[0],k=c||d?b.slice(1):b,m=/^[\w-]*$/.test(k);return null!=a&&a.nodeType==a.DOCUMENT_NODE&&m&&c?(g=a.getElementById(k))?[g]:[]:1!==a.nodeType&&9!==a.nodeType?[]:Array.prototype.slice.call(m&&!c?d?a.getElementsByClassName(k):a.getElementsByTagName(b):a.querySelectorAll(b))}function y(a,b){b=b.replace(/=#\]/g,'="#"]');var g,c,d=pa.exec(b);d&&d[2]in fa&&(g=fa[d[2]],c=d[3],b=d[1],c&&(d=Number(c),c=isNaN(d)?c.replace(/^["']|["']$/g,""):d));if(!b)return!g||g.call(a,null,c)===a;if(!b||!a|| -1!==a.nodeType)return!1;if(g=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector)return g.call(a,b);c=a.parentNode;(g=!c)&&(c=tempParent).appendChild(a);d=~m(c,b).indexOf(a);g&&tempParent.removeChild(a);return d}function A(a){a=d(a);return!(!a.width()&&!a.height())&&"none"!==a.css("display")}function z(a,b,g){function c(a){g._l[b]=null;l(g._l)&&k(g,"assetsLoaded",{inst:a.target})}if(!AdobeEdge.supported.addEventListener)return b;if(g&&"string"===typeof b&&!g._l[b])switch(a){case "image":a= -new Image;a.addEventListener("error",c);a.addEventListener("load",c);a.src=b;g._l[b]=a;break;case "audio":a=new Audio;a.addEventListener("error",c);a.addEventListener("canplaythrough",c);a.src=b;g._l[b]=a;break;case "video":a=document.createElement("video"),a.addEventListener("error",c),a.addEventListener("canplaythrough",c),a.src=b,g._l[b]=a}}function E(a,b){var g=q({name:a,conf:b,apply:function(a,b){1===this.conf.a?a.attr(this.name,b):(1===this.conf.cb&&(a.css("-webkit-"+this.name,b),a.css("-ms-"+ -this.name,b),a.css("-moz-"+this.name,b),a.css("-o-"+this.name,b)),a.css(this.name,b))},units:function(a){var b;"auto"!==a&&this.conf.u&&("string"===typeof a&&(b=x(a)),b&&b.units||(a+=this.conf.u));return a},prep:function(a,b,g,c,d,k,m){void 0!==c&&b[g]?(void 0===b[g][c]&&k&&(c=k),void 0!==d&&b[g][c]?a=b[g][c][d]:(a=b[g][c],void 0===a&&(a=this.conf.d))):a=b[g];void 0!==a&&(a=this.units(a),1===this.conf.p&&z(b.type,m._getFullURL(a),m),this.conf.t&&(a=this.conf.t.replace("@@0",a)));return a},render:function(a, -b,g){var c=this.conf.f||this.name;void 0===b[c]||void 0!==this.conf.o&&this.conf.o!==b.tag||void 0!==this.conf.e&&this.conf.e===b.tag||(c=this.prep(a,b,c,this.conf.i,this.conf.j,this.conf.ii,g),null!==c&&void 0!==c&&this.apply(a,c,b,g))}},E.prototype);E.splitUnits=x;b.x&&(g=q(g,b.x));return g}function P(a){e(a,function(a,b){S[a]=new E(a,b)})}function Q(a,b,g,c,m,n,t,v){var h=d(document.createElement(g.tag||"div")),f=h[0];AdobeEdge.$.data(f,"domDef",g);h.attr("id",g.id);h.css("position","absolute"); -h.css("margin","0px");b&&g.symbolName&&b._applyBaseStyles(h,g.symbolName);e(S,function(b,c){c.render(h,g,a)});h.css("-webkit-tap-highlight-color","rgba(0, 0, 0, 0)");b&&b.register(f,g,b.ele?b.ele.id:"");h.addClass(h.attr("id")+"_id");v||k(AdobeEdge,"beginEle",{sym:b,ele:f,defn:{dom:g,style:c}});n&&h.addClass(n);(c=document.getElementById(f.id))&&(n=d(c).parent())&&n[0]==m&&m.removeChild(c);m.children&&0<=t&&t -a.rect.length;)a.rect[a.rect.length]=0;a.transform&&(1>a.transform.length&&(a.transform[0]=[0,0,0]),2>a.transform.length&&(a.transform[1]=[0,0,0]),3>a.transform.length&&(a.transform[2]=[0,0,0]),4>a.transform.length&&(a.transform[3]=[1,1,1]));a.children&&(a.c=a.children,e(a.children,function(a,b){B(b)}))}function L(a,b,g,c,m,n,t){if(m||b||b.id)m=m||d("."+b.id)[0],e(g,function(g,d){var e=Q(a,b,d,c,m,n,t++),h={sym:b,ele:e[0],defn:d};d.c&&L(a,b,d.c,void 0,e[0],n,0);k(AdobeEdge,"endEle",h)})}function M(b, -g,c,d,m){a.call(this);c._s.push(this);q(this,{name:g,composition:c,data:b,prnt:d,tl:[],variables:m||{}});k(c,"newSymbol",{symbol:this,parent:d});return this}function w(a,b){if(b&&a.ci)for(var g=0;gb&&(b=g.indexOf("//use.typekit.net/")),0>b&&(b=g.indexOf("//use.edgefonts.net/"),k=0g.indexOf("g.indexOf("g.indexOf(""),c=g.indexOf("\x3c/script>"),0",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[1,"",""]},ma=/<([\w:]+)/,na=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,G={},Z={};f.doPlayWhenReady=!1;f.readyAndWaiting=[];var qa={columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0, -order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},ha={letterSpacing:0,fontWeight:400};V=document.createElement("div");ba=p(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"]);d.each=e;d.extend=q;d.data=function(a,b,g){var c="an_"+b;2 -this.length)){if("string"==typeof a){var c,g=s(a);if(1=b[2]||"auto"==b[2])&&(!b[3]||0>=b[3]||"auto"==b[3])&&(a.css("white-space","nowrap"),a.css("wordWrap","break-word")):(a.css("white-space",b),"nowrap"==b&&a.css("wordWrap","break-word"))}}},volume:{f:"volume",x:{apply:function(a,b){a.get(0).volume=b}}},className:{f:"uc",x:{apply:function(a,b){a.addClass(b)}}},controls:{a:1},alt:{a:1},title:{a:1},tabindex:{a:1}, -autoplay:{a:1},loop:{a:1},linkURL:{f:"linkURL",a:1,x:{prep:function(a,b){ga[a[0].id]=b;a[0].onclick=function(){var a=ga[this.id];a.linkTarget?window.open(a.linkURL,a.linkTarget):window.location.href=a.linkURL};a[0].style.cursor="pointer"}}}});var Y={c:"children",r:"rect",zr:"sizeRange",br:"borderRadius",cl:"clip",al:"alt",tt:"title",ti:"tabindex",cn:"controls",sr:"source",ps:"poster",pr:"preload",cu:"cursor",ap:"autoplay",lp:"loop",n:"font",tf:"transform",sh:"boxShadow",ts:"textStyle",o:"opacity", -uc:"userClass",s:"stroke",f:"fill",v:"display",fi:"filter",sN:"symbolName",tr:"trigger"};q(M.prototype,a.prototype);q(M.prototype,{init:function(a,b){var c=this.data[this.name];c&&L(this.composition,this,c.content.dom,c.content.style,a,b)},register:function(a,b){},play:function(a){}});q(I.prototype,a.prototype);I._playAuto=w;(function(){var a;T||(a=C.requestAnimationFrame||C.webkitRequestAnimationFrame||C.mozRequestAnimationFrame||C.msRequestAnimationFrame||C.oRequestAnimationFrame||function(a){C.setTimeout(a, -17)},T=function(){var b;b=N(0);J(b,"rP");J(b,"rR");J(b,"rA");a.call(C,T)},a.call(C,T))})();G.cssTransform=p(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"]);G.cssTransform3d=p(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);G.audio=function(){var a=document.createElement("audio"),b={};a.canPlayType&&(b.m4a=!!a.canPlayType('audio/mp4; codecs="mp4a.40.2"').replace(/no/,""),b.aac=b.m4a,b.mp3=!!a.canPlayType("audio/mpeg;").replace(/no/, -""),b.wav=!!a.canPlayType('audio/wav; codecs="1"').replace(/no/,""),b.ogg=!!a.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""),b.oga=b.ogg);return b}();G.video=function(){var a=document.createElement("video"),b={};a.canPlayType&&(b.webm=!!a.canPlayType("video/webm").replace(/no/,""),b.mp4=!!a.canPlayType("video/mp4;").replace(/no/,""),b.ogv=!!a.canPlayType('video/ogg; codecs="theora, vorbis"').replace(/no/,""),b.ogg=!!a.canPlayType('video/ogg; codecs="theora, vorbis"').replace(/no/,"")); -return b}();G.customEvent=function(){if(!window.CustomEvent)return!1;try{return void 0!==new CustomEvent("testCustomEvent",!1,!1)}catch(a){}return!1}();G.addEventListener=void 0!==window.addEventListener;var sa=G,ia;V.style.cssText="background-color:rgba(150,255,150,.5)";ia=0==(""+V.style.backgroundColor).indexOf("rgba")?!0:!1;sa.rgba=ia;q(f,{version:"5.0.0",Composition:I,defaultOpt:aa,$:d,An$:b,renderDOM:L,ready:W,camelize:s,splitUnits:x,loadComposition:function(a,b,c,g,m){function n(a,g){W(function(){var m= -d("."+b),k=/px|^0$/,n=c.scaleToFit,e=c.centerStage,h=c.minW,f=c.maxW,l=c.width,s=c.height,y=m[0]||document.getElementsByTagName("body")[0];"absolute"!=y.style.position&&"relative"!=y.style.position&&(y.style.position="relative");s&&(y.style.height=s);l&&(y.style.width=l);/^height$|^width$|^both$/.test(n)&&(h=k.test(h)?parseInt(h,10):void 0,f=k.test(f)?parseInt(f,10):void 0,v(d(y),n,h,f,!1,c.bScaleToParent));/^vertical$|^horizontal$|^both$/.test(e)&&t(y,e);a&&L(H[b],null,a.dom,a.style,m[0],g+b);m.removeClass("edgeLoad-"+ -b)})}function e(){K(function ea(a){a?ea&&setTimeout(ea,20):a={event:"loading",progress:0};f.preloaderDOM.script&&(new Function("e",f.preloaderDOM.script.loading))(a)});n(f.preloaderDOM,"edgePreload-")}function h(){n(f.downLevelStageDOM,"edgeDownLevel-")}var f=H[b]=AdobeEdge.compositions[b]=new I(b,c);k(AdobeEdge,"newComp",{comp:f});ba?(window.edge_authoring_mode||(g?(f.definePreloader(g),e()):f.load(a+"_edgePreload.js",e)),a&&(c&&c.bootstrapLoading?ka.push(a):window.edge_authoring_mode&&c.sym?f.load(a+ -"_edge.js?symbol="+c.sym):f.load(a+"_edge.js"))):window.edge_authoring_mode||(m?(f.defineDownLevelStage(m),h()):f.load(a+"_edgePreload.js",h))},registerCompositionDefn:function(a,b,c,g,d,m){H[a].define(m,b,c,g,d)},registerEventBinding:function(a,b){H[a].bindingFn=b},getComposition:function(a){return H[a]},defineProps:P,props:S,Symbol:M,Notifier:a,isSupported:p,supported:G,isIOS:function(){var a=navigator.userAgent;return"webkitAppearance"in document.documentElement.style&&(/iPad/.test(a)||/iPod/.test(a)|| -/iPhone/.test(a))}(),isOpera:/Opera/.test(navigator.userAgent),registerFonts:function(a){AdobeEdge.getCurrentComposition().registerFonts(a)},playWhenReady:function(){f.doPlayWhenReady=!0;for(var a=0;a=d:b.currentPosition<=d:"reverse"!==b.playDirection?b.currentPosition>d:b.currentPosition=d&&(b=d),0>=b&&(b=0),c=l.easing[this.easing](b/d,b,0,1,d)),this.animation.update(b*this.dScale,c));("reverse"===this.timeline.playDirection?0>=b:b>=d)&& -this.complete()}},complete:function(){this.done=!0;this.timeline&&this.timeline.updateComplete(this)},getPosition:function(){return this.position},setPosition:function(b){this.position=b},getDuration:function(){return-1!==this.duration?this.duration:this.animation&&this.animation.getDuration?this.animation.getDuration():0},setDuration:function(b){this.duration=0<=b?b:-1}});p.config={dropFrames:!0,fps:60,pauseThreshold:250};p.prototype.tick=function(b){this._handleTimer(b)};l.extend(p.prototype,r.prototype); -l.extend(p.prototype,{constructor:p,play:function(b){b=b||{};this.notifyObservers("play");this.playing=!0;this._stop({});if("undefined"===typeof b.pos||null===b.pos)if("reverse"==b.playDirection)b.pos=this.currentPosition,0>=b.pos&&(b.pos=this.getDuration());else if(0>this.currentPosition||this.currentPosition>=this.getDuration())b.pos=0;l.extend(this,b);this.seek(b.pos,b);this.iteration=0;this.timerStart=(new Date).getTime();this.startPosition=this.currentPosition;this.lastUpdateTime=this.timerStart; -this.firstUpdate=!0;this._handleTimer();this.firstUpdate=!1;return this},stop:function(b){this.playing=!1;b&&b.bSeek?this.seek(b.pos,b):this._stop(b)},seek:function(b,d){this.notifyObservers("seek");this.sort(d);var c=this.currentPosition;this._stop(d);l.extend(this,d);void 0!==b&&(this.currentPosition=b);this.startingFromCurrent="number"===typeof b&&c!==this.currentPosition?!1:!0;this.setup(this);this.firstUpdate=!0;this.updateSeek(this.currentPosition,1,c);this.firstUpdate=!1;return this},add:function(b, -d,c,n,h){b=new e(b,d,c,n,h);this.objects.push(b);this.sorted=!1},sort:function(b){var d={width:1,height:2,"-webkit-transform-origin":3,"transform-origin":4,"-moz-transform-origin":5,"-ms-transform-origin":6,left:7,top:8,bottom:9,right:10,motion:11};this.sorted||(this.objects.sort(function(b,c){var a=b.animation,k=c.animation;if(a||k){if(!a)return-1;if(!k)return 1}else return b.position-c.position;if(a.property||k.property){if(!a.property)return-1;if(!k.property)return 1}else return b.position-c.position; -var g=d[a.property],m=d[k.property];return a.sourceElements!==k.sourceElements?a.sourceElements>k.sourceElements?1:-1:g&&(!m||mg)?-1:b.position-c.position}),this.sorted=!0);for(b=1;b=q.position:b<=q.position+q.duration)){p=this.currentPosition=q.position;r=this.getState();for(k=0;k=f.position:p<=f.position+f.duration)&&((l=p-f.position)||f.duration||a||(l-=1),f.update(l));k=!0;q.animation.update(p);if(!this.equalState(r)){g=!1;break}}if(!k)for(k=0;k=f.position:b<=f.position+f.duration)&&((l=b-f.position)||f.duration||a||(l-=1),f.update(l));this.notifyObservers("fxUpdate",{elapsed:b});this.notifyObservers("postUpdate",{elapsed:b,easingConst:d});this.notifyObservers("update", -{elapsed:b,easingConst:d});return g},setLoop:function(b){this.loopCount=b},getState:function(){return{pos:this.currentPosition,dir:this.playDirection,playing:this.playing}},equalState:function(b){var d=!!b.playing,c=!!this.playing;return b.pos===this.currentPosition&&b.dir===this.playDirection&&d===c},_handleTimer:function(b){b=b||(new Date).getTime();var d="reverse"===this.playDirection,c=b-this.timerStart-this.iteration*(d?this.startPosition:this.duration-this.startPosition),d=this.startPosition+ -(d?-c:c);b-this.lastUpdateTime>this.pauseThreshold&&(this.timerStart+=b-this.lastUpdateTime+this.interval,c=b-this.timerStart);if(this.playing){if(this.currentPosition=d=Math.max(0,Math.min(d,this.duration)),this.update(d,1),this.lastUpdateTime=b,b=(d="reverse"===this.playDirection)?0(e/=l/2)?h/2*e*e+p:-h/2*(--e*(e-2)-1)+p},easeInCubic:function(f,e,p,h,l){return h*(e/=l)*e*e+p},easeOutCubic:function(f,e,p,h,l){return h*((e=e/l-1)*e*e+1)+p},easeInOutCubic:function(f,e,p,h, -l){return 1>(e/=l/2)?h/2*e*e*e+p:h/2*((e-=2)*e*e+2)+p},easeInQuart:function(f,e,p,h,l){return h*(e/=l)*e*e*e+p},easeOutQuart:function(f,e,p,h,l){return-h*((e=e/l-1)*e*e*e-1)+p},easeInOutQuart:function(f,e,p,h,l){return 1>(e/=l/2)?h/2*e*e*e*e+p:-h/2*((e-=2)*e*e*e-2)+p},easeInQuint:function(f,e,p,h,l){return h*(e/=l)*e*e*e*e+p},easeOutQuint:function(f,e,p,h,l){return h*((e=e/l-1)*e*e*e*e+1)+p},easeInOutQuint:function(f,e,p,h,l){return 1>(e/=l/2)?h/2*e*e*e*e*e+p:h/2*((e-=2)*e*e*e*e+2)+p},easeInSine:function(f, -e,p,h,l){return-h*Math.cos(e/l*(Math.PI/2))+h+p},easeOutSine:function(f,e,p,h,l){return h*Math.sin(e/l*(Math.PI/2))+p},easeInOutSine:function(f,e,p,h,l){return-h/2*(Math.cos(Math.PI*e/l)-1)+p},easeInExpo:function(f,e,p,h,l){return 0==e?p:h*Math.pow(2,10*(e/l-1))+p},easeOutExpo:function(f,e,p,h,l){return e==l?p+h:h*(-Math.pow(2,-10*e/l)+1)+p},easeInOutExpo:function(f,e,p,h,l){return 0==e?p:e==l?p+h:1>(e/=l/2)?h/2*Math.pow(2,10*(e-1))+p:h/2*(-Math.pow(2,-10*--e)+2)+p},easeInCirc:function(f,e,p,h,l){return-h* -(Math.sqrt(1-(e/=l)*e)-1)+p},easeOutCirc:function(f,e,p,h,l){return h*Math.sqrt(1-(e=e/l-1)*e)+p},easeInOutCirc:function(f,e,p,h,l){return 1>(e/=l/2)?-h/2*(Math.sqrt(1-e*e)-1)+p:h/2*(Math.sqrt(1-(e-=2)*e)+1)+p},easeInElastic:function(f,e,p,h,l){f=1.70158;var q=0,r=h;if(0==e)return p;if(1==(e/=l))return p+h;q||(q=0.3*l);re?-0.5*r*Math.pow(2,10*(e-=1))*Math.sin(2*(e*l-f)*Math.PI/q)+p:r*Math.pow(2,-10*(e-=1))*Math.sin(2*(e*l-f)*Math.PI/q)*0.5+h+p},easeInBack:function(f, -e,p,h,l,q){void 0==q&&(q=1.70158);return h*(e/=l)*e*((q+1)*e-q)+p},easeOutBack:function(f,e,p,h,l,q){void 0==q&&(q=1.70158);return h*((e=e/l-1)*e*((q+1)*e+q)+1)+p},easeInOutBack:function(f,e,p,h,l,q){void 0==q&&(q=1.70158);return 1>(e/=l/2)?h/2*e*e*(((q*=1.525)+1)*e-q)+p:h/2*((e-=2)*e*(((q*=1.525)+1)*e+q)+2)+p},easeInBounce:function(f,e,p,h,l){return h-r.easing.easeOutBounce(f,l-e,0,h,l)+p},easeOutBounce:function(f,e,p,h,l){return(e/=l)<1/2.75?7.5625*h*e*e+p:e<2/2.75?h*(7.5625*(e-=1.5/2.75)*e+0.75)+ -p:e<2.5/2.75?h*(7.5625*(e-=2.25/2.75)*e+0.9375)+p:h*(7.5625*(e-=2.625/2.75)*e+0.984375)+p},easeInOutBounce:function(f,e,p,h,l){return ea.length||!b)return b?f.$(b):null;b=f.$(b);if(!b||!b.length)return null;a.splice(0,1);a=a.join(" "); -return(b=u(b))?b.find$(a):void 0},$:function(a){var b=a;if("string"===typeof a)try{-1===a.search(/\$\{/)?(b=this.lookupSelector(a),"undefined"===typeof b&&(b=a)):b=c(a,this._variables)}catch(k){}void 0===b&&(b=d(a));return f.$(b)},register:function(a,b,c){var d=b.id;c=r(d,c);this._variables[d]="#"+c;b.oldId=b.id;a.id=c},seek:function(a,b){s(this);this.tlCached.seek(a,b)},play:function(a,c,d){s(this);this.tlCached&&(a=b(this,a),this.tlCached.play({pos:a,variables:this._variables,executeTriggers:c, -playDirection:d}))},stop:function(a,c){s(this);this.tlCached&&(a=b(this,a),this.tlCached.stop({pos:a,variables:this._variables,executeTriggers:c,bSeek:void 0!=a}))},playReverse:function(a,b){this.play(a,b,"reverse")},isPlaying:function(){var a=this._getTimeline();return a&&!!a.playing},isPlayDirectionReverse:function(){var a=this._getTimeline();return a&&"reverse"===a.currentDirection?!0:!1},getTimelinePosition:function(){return this.getPosition()},getPosition:function(){s(this);return this.tlCached? -this.tlCached.getCurrentPosition():0},getDuration:function(){s(this);if(this.tlCached)return this.tlCached.getDuration()},getLabelPosition:function(a){return b(this,a)},_getTimeline:function(){s(this);return this.tlCached},_rebuild:function(){s(this,!0)},getTimelineData:function(){return h(this)},getTLD:function(){return this.getTimelineData()},_applyBaseStyles:function(a,b){var c=this.data[b];if(c.content&&c.content.style&&c.content.style["${symbolSelector}"]){var c=c.content.style["${symbolSelector}"], -d;if(a&&a[0])for(d in f._.p)if(f._.p.hasOwnProperty(d)){if("width"==d||"height"==d){var k=a[0].style[d];if(null!=k&&""!=k&&"auto"!=k)continue}f._.p[d].render(a,c,this.composition)}}},getAutoPlay:function(){return this.autoPlay},setAutoPlay:function(a){this.autoPlay=a}})})(window.AdobeEdge); -(function(f){function r(h,l,q,p,s,b){f.Animation.call(this);this.name="prop tween";this.sourceElements=this.elements=q;this.deferElementResolution=!0;this.tweenType=e[h];this.updateTriggered=!1;this.property=l;this.fromValue=p;this.toValue=s;this.duration=1E3;this.fromValues=this.tokens=this.valueTemplate=null;b&&u.extend(this,b);this.deferElementResolution=this.deferElementResolution||"string"===typeof q&&-1!==q.search(/\$\{[^\{\}]+\}/);this.deferElementResolution||(this.elements=this.resolveElementSelector(q)); -q=this.toValues=[];p=this.parseValue(s);var d;u.isArray(s)||(s=[s]);p&&0!==p.length||(p=s);h=p.length;for(s=0;sq&&(q=q.toFixed(6)),m.push(q+r.unit);t=p.formatValue(m);if(0d.length)){var e=d[0],f=this.$(d[1]),a=d[2];!f||1>f.length||(f=q.getSymbol(f[0]))&&e&&(a&&"object"===typeof a||(a=null),f[e].apply(f,a))}},eSA:function(b, -d){this.executeSymbolAction(b,d)}})})(window.AdobeEdge); -(function(f,r,u){document.createEvent&&(f.addTouchSupport=function(){var e=f.$,p=f.An$;e.fn=e.fn||{};e.each("touchstart touchmove touchend swipe swipeleft swiperight ".split(" "),function(b,d){p.prototype[d]=e.fn[d]=function(b){return b?this.bind(d,b):this.trigger(d)};e.attrFn&&(e.attrFn[d]=!0)});var h="ontouchend"in document,l=!h&&r.navigator.msPointerEnabled,q=h?"touchstart":"mousedown",x=h?"touchend":"mouseup",s=h?"touchmove":"mousemove";e.event.special.swipe={scrollSupressionThreshold:30,durationThreshold:1E3, -horizontalDistanceThreshold:30,verticalDistanceThreshold:75,swipeEvent:e.Event("swipe"),swipeLeftEvent:e.Event("swipeleft"),swipeRightEvent:e.Event("swiperight"),setup:function(){if(!this.setupDone){var b=e(this);l&&b.css("-ms-touch-action","pan-y pinch-zoom double-tap-zoom");b.bind(q,function(d){function c(d){b.unbind(x,c);b.unbind(s,f);t&&a&&a.time-t.timee.event.special.swipe.horizontalDistanceThreshold&&Math.abs(t.coords[1]- -a.coords[1])a.coords[0]?e.event.special.swipe.swipeLeftEvent:e.event.special.swipe.swipeRightEvent);t=a=u}function f(b){if(t){var c=b.touches?b.touches[0]:b.originalEvent.touches?b.originalEvent.touches[0]:b;a={time:(new Date).getTime(),coords:[c.pageX,c.pageY]};Math.abs(t.coords[0]-a.coords[0])>e.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var h=d.touches?d.touches[0]: -d.originalEvent.touches?d.originalEvent.touches[0]:d,t={time:(new Date).getTime(),coords:[h.pageX,h.pageY],origin:e(d.target)},a;b.bind(s,f).bind(x,c)});this.setupDone=!0}}};e.each({swipeleft:"swipe",swiperight:"swipe"},function(b,d){e.event.special[b]={setup:function(){e(this).bind(d,e.noop)},teardown:function(b,f,h){e(b).unbind(d)}}})})})(AdobeEdge,window); -(function(f){function r(b,c,a,k,g,e){null!==s[c]&&(this.superProperty=s[c].cssProp,b=s[c].type,"color"===b?f.ColorTween&&(p.extend(this,f.ColorTween.prototype),p.extend(this,d),f.ColorTween.call(this,b,c,a,k,g,e)):(p.extend(this,h.prototype),p.extend(this,d),f.PropertyTween.call(this,b,c,a,k,g,e)));this.name="subpropertyTween"}function u(){var b=f.$.data(this.element,this.prop);b&&r.applySubproperty(this.element,b,b.tween)}function e(b,c){var a=b[0],k=this.name,g=f.$.data(a,s[k].cssProp);g||(g=d.buildProp.call({superProperty:s[k].cssProp}, -a),f.$.data(a,s[k].cssProp,g));g[k]=c;g.onFinalUpdate.call({element:a,prop:s[k].cssProp})}var p=f.$,h=f.PropertyTween,l=f.UpdateFinalizer,q,x={"box-shadow":{def:"box-shadow","-webkit-box-shadow":"boxShadow.color boxShadow.offsetH boxShadow.offsetV boxShadow.blur boxShadow.spread boxShadow.inset".split(" "),"-moz-box-shadow":"boxShadow.color boxShadow.offsetH boxShadow.offsetV boxShadow.blur boxShadow.spread boxShadow.inset".split(" "),"box-shadow":"boxShadow.color boxShadow.offsetH boxShadow.offsetV boxShadow.blur boxShadow.spread boxShadow.inset".split(" ")}, -"text-shadow":{def:"text-shadow","text-shadow":["textShadow.color","textShadow.offsetH","textShadow.offsetV","textShadow.blur"]},filter:{def:"-webkit-filter","-webkit-filter":"filter.invert filter.hue-rotate filter.contrast filter.saturate filter.brightness filter.sepia filter.grayscale filter.blur filter.drop-shadow.color filter.drop-shadow.offsetH filter.drop-shadow.offsetV filter.drop-shadow.blur".split(" "),"-moz-filter":"filter.invert filter.hue-rotate filter.contrast filter.saturate filter.brightness filter.sepia filter.grayscale filter.blur filter.drop-shadow.color filter.drop-shadow.offsetH filter.drop-shadow.offsetV filter.drop-shadow.blur".split(" "), -filter:"filter.invert filter.hue-rotate filter.contrast filter.saturate filter.brightness filter.sepia filter.grayscale filter.blur filter.drop-shadow.color filter.drop-shadow.offsetH filter.drop-shadow.offsetV filter.drop-shadow.blur".split(" ")},"background-size":{def:"background-size","background-size":["background-size.x","background-size.y"]},"background-position":{def:"background-position","background-position":["background-position.x","background-position.y"]}},s={"boxShadow.offsetH":{cssProp:"box-shadow", -type:"style",def:"0px",u:"px",i:1},"boxShadow.offsetV":{cssProp:"box-shadow",type:"style",def:"0px",u:"px",i:2},"boxShadow.blur":{cssProp:"box-shadow",type:"style",def:"0px",u:"px",i:3},"boxShadow.spread":{cssProp:"box-shadow",type:"style",def:"0px",u:"px",i:4},"boxShadow.color":{cssProp:"box-shadow",type:"color",def:"rgba(0,0,0,0)",i:5},"boxShadow.inset":{cssProp:"box-shadow",def:"",i:0},"textShadow.offsetH":{cssProp:"text-shadow",type:"style",def:"0px",u:"px",i:1},"textShadow.offsetV":{cssProp:"text-shadow", -type:"style",def:"0px",u:"px",i:2},"textShadow.blur":{cssProp:"text-shadow",type:"style",def:"0px",u:"px",i:3},"textShadow.color":{cssProp:"text-shadow",type:"color",def:"rgba(0,0,0,0)",i:0},"filter.drop-shadow.color":{cssProp:"filter",type:"color",def:"rgba(0,0,0,0)",strReplace:"drop-shadow(%1",combinedNum:4,i:8},"filter.drop-shadow.offsetH":{cssProp:"filter",type:"style",def:"0px",u:"px",i:9},"filter.drop-shadow.offsetV":{cssProp:"filter",type:"style",def:"0px",u:"px",i:10},"filter.drop-shadow.blur":{cssProp:"filter", -type:"style",def:"0px",strReplace:"%1)",u:"px",i:11},"filter.grayscale":{cssProp:"filter",type:"style",def:"0",strReplace:"grayscale(%1)",i:6},"filter.sepia":{cssProp:"filter",type:"style",def:"0",strReplace:"sepia(%1)",i:5},"filter.saturate":{cssProp:"filter",type:"style",def:"1",strReplace:"saturate(%1)",i:3},"filter.hue-rotate":{cssProp:"filter",type:"style",def:"0deg",strReplace:"hue-rotate(%1)",u:"deg",i:1},"filter.invert":{cssProp:"filter",type:"style",def:"0",strReplace:"invert(%1)",i:0},"filter.brightness":{cssProp:"filter", -type:"style",def:"0",strReplace:"brightness(%1)",i:4},"filter.contrast":{cssProp:"filter",type:"style",def:"1",strReplace:"contrast(%1)",i:2},"filter.blur":{cssProp:"filter",type:"style",def:"0px",strReplace:"blur(%1)",u:"px",i:7},"background-position.x":{cssProp:"background-position",type:"style",def:"0px",u:"px",i:2,domProp:"fill"},"background-position.y":{cssProp:"background-position",type:"style",def:"0px",u:"px",i:3,domProp:"fill"},"background-size.x":{cssProp:"background-size",type:"style", -def:"100%",u:"%",i:4,domProp:"fill"},"background-size.y":{cssProp:"background-size",type:"style",def:"100%",u:"%",i:5,domProp:"fill"}},b=1,d={setValue:function(b,c,a){f.$.data(this,s[c].cssProp)[c]=a},getValue:function(b,c){f.$.data(this,s[b].cssProp)},setupForAnimation:function(){var b=this;this.getElementSet().each(function(){var c=f.$.data(this,b.superProperty);c||(c=b.buildProp(this),f.$.data(this,b.superProperty,c))});h.prototype.setupForAnimation.call(this)},buildProp:function(c){var d,a={}, -k=this.superProperty,g=f.getSubProps(c,k);for(d in g)g.hasOwnProperty(d)&&(a[d]=g[d]);a.id=this.superProperty+b;b+=1;a.element=c;a.prop=k;a.onFinalUpdate=u;return a},update:function(b,c){h.prototype.update.call(this,b,c);var a=this.getElementSet(),d=this,g=this.property,e=this.tweenType;a.each(function(){if(d.getPropertyTweenData(this,e,g).animationID===d.animationID){var a=f.$.data(this,d.superProperty);a.timeline=d.timeline;a.tween=d;l.Register(d.timeline,a.id,a)}})}};r.prototype.constructor=r; -f.getSubProps=function(b,c){var a=p(b),d,g;for(g in x[c])if(x[c].hasOwnProperty(g)&&(d=a.css(g))&&""!==d&&"none"!==d){if("filter"==c){g=x[c][g];d=d.replace(/,\s*/g,",");var a=[],e=void 0;a["filter.invert"]=(e=d.match(/invert\((.*?)\)/))?e[1]:null;a["filter.hue-rotate"]=(e=d.match(/hue-rotate\((.*?)\)/))?e[1]:null;a["filter.contrast"]=(e=d.match(/contrast\((.*?)\)/))?e[1]:null;a["filter.saturate"]=(e=d.match(/saturate\((.*?)\)/))?e[1]:null;a["filter.brightness"]=(e=d.match(/brightness\((.*?)\)/))? -e[1]:null;a["filter.sepia"]=(e=d.match(/sepia\((.*?)\)/))?e[1]:null;a["filter.grayscale"]=(e=d.match(/grayscale\((.*?)\)/))?e[1]:null;a["filter.blur"]=(e=d.match(/blur\((.*?)\)/))?e[1]:null;d=(e=d.match(/drop-shadow\((.*?\)\s*.*?)\)/))?e[1].split(" "):[null,null,null,null];a["filter.drop-shadow.color"]=d[0];a["filter.drop-shadow.offsetH"]=d[1];a["filter.drop-shadow.offsetV"]=d[2];a["filter.drop-shadow.blur"]=d[3];d=[];e=void 0;for(e=0;en[s[0]])return null;l=c[h].match(/\([^\)]*\)/);l=l[0].replace(/[\(\)]/g,"");l=l.split(",");switch(s[0]){case "matrix":return null;case "translate3d":e.translateX=l[0];e.translateY=1a?a+1:1d?b:da;a+=1)b[a]=e[a+1]/255*100;4a.s||100a.l||100a.h;)a.h=360+a.h;var b={},c=a.h/360,d=a.s/100;a=a.l/100;var f,h,l;0===d?b.r=b.g=b.b=a:(d=0.5>=a?a*(1+d):a+d-a*d,a=2*a-d,f=e(c+n),h=e(c),c=e(c-n),l=6*(d-a),b.r=p(a,d,l,f),b.g=p(a,d,l,h),b.b=p(a,d,l,c));b.r=Math.min(100* -b.r,100);b.g=Math.min(100*b.g,100);b.b=Math.min(100*b.b,100);b.r=Math.round(1E4*b.r)/1E4;b.g=Math.round(1E4*b.g)/1E4;b.b=Math.round(1E4*b.b)/1E4;return b};f.rgbToHSL=function(a){if(null===a||0>a.r||100a.g||100a.b||100f&&0=b.l?n/(e+f):n/(2-e-f),b.h=e===a?4+(c-d)/n:e===d?2+(a-c)/n:(d-a)/n,b.h*=60,360b.h&&(b.h=360+b.h));b.s=Math.min(100* -b.s,100);b.l=Math.min(100*b.l,100);b.h=Math.round(1E4*b.h)/1E4;b.s=Math.round(1E4*b.s)/1E4;b.l=Math.round(1E4*b.l)/1E4;return b};f.colorToSupported=function(a){r();if(!d&&/rgba/.test(a)||!s&&/rgb/.test(a)||!c&&/hsla/.test(a)||!b&&/hsl/.test(a)){var e=f.parseColorValue(a).values,g,n,h;if(4<=e.length&&0.5>e[3])return"transparent";g=e[0];n=e[1];h=e[2];/hsl/.test(a)&&(a=f.hslToRGB({h:e[0],g:e[1],b:e[2]}),g=a.r,n=a.g,h=a.b);g=Math.floor(2.55*g);n=Math.floor(2.55*n);h=Math.floor(2.55*h);g=(15l&&(l=l.toFixed(6)),s.push(l+c.unit);c=e.formatValuePre(s);l=e.formatValue(s);e.setValuePre.call(this,f,q,c);e.setValue.call(this,f,q,l);e.notifyObservers("onUpdate",{elapsed:b,easingConst:d,property:q,value:l,element:this})}})},parseValue:function(b){function d(a,b){if(1b.length)){"string"===typeof b&&(b=JSON.parse(b));var c=null,n=null,h=null,l=null,a=null,k=[],g=!1,m=[],s;e.isArray(b[1])?(c=b[0],n=b[1],b[2]&&(g=b[2])):(h=[b[0],b[1]],l=b[2],a=b[3],n=b[4],b[5]&&(g=b[5]));for(b=0;bb.length||0!==(b.length-e-1)%5)){a=Math.floor((b.length-e-1)/5);for(h=0;he[0].length&&(e[0][4]=e[0][5]=0,e[e.length-1].splice(2,0,0,0));this.keyframes=[];b=document.createElement("div");c=q(b);null!==document.body&&document.body.appendChild(b);c.css("left","-9999px").css("width","100px");c.css("transform-origin","50% 50%").css("-webkit-transform-origin","50% 50%").css("-moz-transform-origin","50% 50%").css("-ms-transform-origin","50% 50%").css("-o-transform-origin", -"50% 50%");d=c.css("transform-origin")||c.css("-webkit-transform-origin")||c.css("-moz-transform-origin")||c.css("-ms-transform-origin")||c.css("-o-transform-origin");c.css("border-width","10px").css("border-style","solid");c=c.css("transform-origin")||c.css("-webkit-transform-origin")||c.css("-moz-transform-origin")||c.css("-ms-transform-origin")||c.css("-o-transform-origin");null!==b.parentNode&&b.parentNode.removeChild(b);this.originIncludesBorders=d!==c}function u(b,d,c){try{if(b[0]===d[0]&&b[1]=== -d[1])return{x:d[0],y:d[1]}}catch(e){}var f={},h=c*c,a=h*c,k=2*a-3*h+1;c=a-2*h+c;var g=-2*a+3*h,h=a-h;f.x=k*b[0]+c*b[2]+g*d[0]+h*d[4];f.y=k*b[1]+c*b[3]+g*d[1]+h*d[5];return f}function e(b,d,c){if(b[0]===d[0]&&b[1]===d[1])return{dx:0,dy:0};var e={},f=c*c,h=6*f-6*c,a=3*f-4*c+1,k=-6*f+6*c;c=3*f-2*c;var f=b[3],g=d[5];e.dx=h*b[0]+a*b[2]+k*d[0]+c*d[4];e.dy=h*b[1]+a*f+k*d[1]+c*g;return e}function p(b,d){var c=b.x-d.x,e=b.y-d.y;return Math.sqrt(c*c+e*e)}function h(b,d,c,e,f){var l=Math.floor(c[e].b),a=(c[e].b+ -c[e+1].b)/2-l,k=u(b,d,a),g=0;p({x:(c[e].x+c[e+1].x)/2,y:(c[e].y+c[e+1].y)/2},k)>f&&(k.b=a+l,c.splice(e+1,0,k),g=h(b,d,c,e+1,f),g=g+h(b,d,c,e,f)+1);return g}function l(b){var d,c,e,f,l,a,k,g;for(d=0;dc;c++)e=c/4,k={b:e},g=u(f,l,e),k.x=g.x,k.y=g.y,k.b=e,a[c]=k;a:{c=a;e=p(c[c.length-1],c[0]);var m=k=void 0,s=m=void 0;g= -c[c.length-1].x-c[0].x;var q=c[c.length-1].y-c[0].y;for(k=1;kc;c++)e=3-c,h(f,l,a,e,0.01);f=b[d];l=1;s=m=q=g=k=e=c=void 0;for(c=0;ca[m+1].x&&mq[q.length-1].t&&(q[q.length]={t:1,e:1});f.easingTable=q}}var q=f.$,x=f.TransformTween,s=f.UpdateFinalizer;q.extend(r.prototype,x.prototype);q.extend(r.prototype,{constructor:r,getValue:function(b,d){},setupForAnimation:function(){x.prototype.setupForAnimation.call(this);this.points||(this.setUpPoints(),this.setUpLen2bMap(),l(this.keyframes));this.deltas||window.edge_authoring_mode||(this.getElementSet().each(function(){var b= -q(this),c=f.$.data(this,"p_x")||"left",e=f.$.data(this,"p_y")||"top",h=q(this.parentElement),l=+parseFloat(b.css(c))||0,a=+parseFloat(b.css(e))||0;"%"===f.$.data(this,"u_x")&&(l=l/100*+h.width());"%"===f.$.data(this,"u_y")&&(a=a/100*+h.height());f.$.data(this,"deltaX",l);f.$.data(this,"deltaY",a);b.css(c,"0px").css(e,"0px")}),this.deltas=!0);for(var b=this;b._prevObj&&(2!=b._prevObj.path.length||b._prevObj.path[0][0]!==b._prevObj.path[1][0]||b._prevObj.path[0][1]!==b._prevObj.path[1][1]);)b=b._prevObj; -b=e(b.path[0],b.path[1],1E-6);this.deltaRotate=180*Math.atan2(b.dx,b.dy)/Math.PI},computeEasing:function(b){var d=this.keyframes;b/=this.getDuration();var c=0,e,f,h;for(e=0;ed||1Math.abs(r)?r.toFixed(6):r.toString();u=0!==u&&1E-6>Math.abs(u)?u.toFixed(6):u.toString();E||(K||(z=0),z=0.01h[d+1].l;)d+=1;if(d>=h.length-1)break;a=h[d].b+(b-h[d].l)*(h[d+1].b-h[d].b)/(h[d+1].l-h[d].l);f.push({l:b,b:a});b+=e}f[f.length-1].b< -h[h.length-1].b&&f.push({l:h[h.length-1].l,b:h[h.length-1].b})}else f.push({l:0,b:h[0].b})},setUpPoints:function(){var b=this.path,d,c,e,f;this.points=[];for(d=0;dc;c++)if(4>c||d===b.length-2)f=c/4,e={b:d+f},f=u(b[d],b[d+1],f),e.x=f.x,e.y=f.y,this.points.push(e);for(d=1;dc;c++)e=3-c+4*f,h(b[f],b[f+1],this.points,e,2);return this.points},len2b:function(b){this.len2bMap||this.setUpLen2bMap();var d=this.len2bMap,c=Math.min(Math.max(0,Math.floor(b/ -this.len2bStep)),this.len2bMap.length-2);return 0===d.length?0:1===d.length?d[0].b:(b-d[c].l)*(d[c+1].b-d[c].b)/(d[c+1].l-d[c].l)+d[c].b}});f.MotionTween=r;f.Timeline.addTweenType("motion",function(b,d,c,e,f,h){return new r("motion",b,d,c,e,f,h)});f.Timeline.addTweenProperty("motion","motion");f.Timeline.addTweenProperty("location","motion")})(window.AdobeEdge); -(function(f){function r(e,b,d,c,f,l){if(d&&c&&e&&e._s&&e.sym&&e.sym[d]){var p=[],a;"object"==typeof c?a=c:(a=b.find$(c))||(a=b.$(c));a.each(function(){var a=h(this),b=document.createElement("div"),c=a._children(),r={},u,x;x=q.getParentSymbol(this,!0);if(u=new q(e.sym,d,e,x,l))(f||0===f)&&a._children().eq(f)[0]?0>f?c.get(f).insertAfter(b):c.get(f).insertBefore(b):a.append(b),u.opts=u.opts||{},h.extend(u.opts,r),u.init(b),u._applyBaseStyles(h(b),d),(x.ci=x.ci||[]).push(u),p.push(u)});e.readyCalled&& -p.forEach(function(a){x._playAuto(a,!0);a.getSymbolElement().css("position","relative")});return p}}function u(e,b){var d,c=b.getSymbolElementNode().id;for(d=e.length-1;0<=d;d--)e[d].getSymbolElementNode().id===c&&e.splice(d,1)}function e(f,b){b=b||[];var d=f.parentNode;f&&1===f.nodeType&&(b.push(d),e(d,b));return b}function p(e,b){b=b||{};var d=e.composition?e.composition._s:null,c={},f=h.Event("beforeDeletion");h.extend(f,{Symbol:e,element:e.ele,performDefaultAction:!0});c&&h.extend(f,c);c=e.ci; -if(d&&(e.notifyObservers("beforeDeletion",f),f.performDefaultAction)){e.stop(0);if(c)for(;0b.length)){var d=b[0],c=this.$(b[1])[0];if(c&&d){var f=b[2];f&&"object"===typeof f||(f=null);"play"===d?(f&&0b.length)){var d=b[0],c=f.Symbol.get(this.$(b[1]));if(c&&d){var h=b[2];h&&"object"===typeof h||(h=null);c[d].apply(c,h)}}},eMA:function(e,b){this._executeMediaAction(e,b)}});q.prototype.getParameter=q.prototype.getVariable;q.prototype.setParameter=q.prototype.setVariable;h.extend(x.prototype,{createSymbolChild:function(e,b,d,c){return r(this,this.stage,e,b,d,c)},removeSymbol:function(e,b){if(this.symbolInstances){var d=q.get(e);d&&d.deleteSymbol(b)}}})})(window.AdobeEdge); diff --git a/static/js/implementations.js b/static/js/implementations.js deleted file mode 100755 index 45ffc55..0000000 --- a/static/js/implementations.js +++ /dev/null @@ -1,249 +0,0 @@ -$(function () { - $.each(data, function (name, names) { - showData(name) - }); - - function showData(tableName) { - var $section = $('#' + tableName.toLowerCase()); - var $table = $section.find('table'); - var categories = []; - - var tr = document.createElement('tr'); - tr.classList.add('head-row'); - var th = document.createElement('th'); - th.classList.add('head-col'); - tr.appendChild(th); - - $.each(data[tableName], function (item, items) { - $.each(items, function (key, values) { - if ($.inArray(key, categories) === -1) { - categories.push(key); - var th = document.createElement('th'); - th.textContent = key; - tr.appendChild(th); - } - }); - }); - $table.append(tr); - - $.each(data[tableName], function (item, items) { - var tr = document.createElement('tr'); - var th = document.createElement('th'); - th.classList.add('head-col'); - th.textContent = item; - tr.appendChild(th); - - $.each(categories, function (n, col) { - var td = document.createElement('td'); - var i = document.createElement('i'); - var status = 'grey'; - i.classList.add('icon-hexagon'); - if (items[col] && items[col].status) { - switch (items[col].status.toLowerCase()) { - case 'done': - status = 'green'; - break; - case 'usable': - status = 'yellow'; - break; - case 'unstable': - status = 'red'; - break; - default: - status = 'grey' - } - - if (items[col].url && items[col].url.length) { - var a = document.createElement('a'); - a.setAttribute('href', items[col].url); - a.appendChild(i) - } - } - i.classList.add(status); - td.appendChild(a || i); - tr.appendChild(td) - }); - - $table.append(tr); - }); - - tr = document.createElement('tr'); - tr.classList.add('empty'); - - th = document.createElement('th'); - th.classList.add('head-col'); - tr.appendChild(th); - - for (var n = 0; n < categories.length; n++) { - var td = document.createElement('td'); - tr.appendChild(td); - } - $table.append(tr); - - $table.width(categories.length * 95); - - var $parent = $table.closest('.table'); - var tableHeight = $parent.find('.title').height() + - $parent.find('.info').height() + - ($(window).innerWidth() < 940 ? 0 : $parent.find('.description').height()); - $parent.height(tableHeight) - } - - $('td').hover(function () { - $(this).find('i').removeClass('icon-hexagon').addClass('icon-cat') - }, function () { - $(this).find('i').addClass('icon-hexagon').removeClass('icon-cat') - }); - - $('a.scroll').on('click', function (e) { - e.preventDefault(); - var scrollToId = $(this).attr('href'); - var $scrollTo = $(scrollToId); - $('html, body').animate({scrollTop: $scrollTo.offset().top - 100 - 270}, 1000, 'swing'); - - var mobile = $(window).innerWidth() <= 940; - if (mobile) { - var $columns = $(this).closest('.columns'); - var $links = $columns.closest('.links'); - $columns.css('display', 'none'); - $links.find('.active-link .copy-block').html($(this).html()) - } - }); - - $('.active-link', '.links').on('click', function (e) { - e.preventDefault(); - var $link = $(this); - var $parent = $link.closest('.links'); - var $columns = $parent.find('.columns'); - - if ($columns.css('display') == 'flex') { - $columns.css('display', 'none') - } else { - $columns.css('display', 'flex') - } - }); - - $(window).on('load resize scroll', function () { - fadeInCube() - }); - - function fadeInCube() { - var $cube = $('main > .cube'); - var $articleImpl = $('article.implementations'); - var $header = $('body > header'); - var scrollTop = $(window).scrollTop(); - - var $transports = $('#transports'), - $other = $('#others'), - $streamMuxers = $('#stream-muxers'), - $cryptoChannels = $('#crypto-channels'), - $connectionUpgrades = $('#connection-upgrades'), - $peerRouting = $('#peer-routing'), - $recordStores = $('#record-stores'), - $natTraversal = $('#nat-traversal'), - $discovery = $('#discovery'), - $utils = $('#utils'); - - var sectionMarginTop = parseInt($transports.css('margin-top')); - var headerHeight = $header.outerHeight(); - - if (scrollTop >= $articleImpl.outerHeight() - 26 && scrollTop <= $other.offset().top - headerHeight) { - $cube.addClass('fixed') - } else { - $cube.removeClass('fixed') - } - - var minHeight = 0, maxHeight = 0, opacity = 0.0; - - if (scrollTop >= 235 && - scrollTop <= $transports.offset().top - headerHeight - sectionMarginTop + 140) { - maxHeight = $transports.offset().top - headerHeight - sectionMarginTop + 140; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.transports').css('opacity', opacity) - } else { - $cube.find('.transports').css('opacity', 0) - } - if (scrollTop >= $streamMuxers.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $streamMuxers.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $streamMuxers.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.stream-muxers').css('opacity', opacity) - } else { - $cube.find('.stream-muxers').css('opacity', 0) - } - if (scrollTop >= $cryptoChannels.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $cryptoChannels.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $cryptoChannels.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.crypto-channels').css('opacity', opacity) - } else { - $cube.find('.crypto-channels').css('opacity', 0) - } - if (scrollTop >= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.connection-upgrades').css('opacity', opacity) - } else { - $cube.find('.connection-upgrades').css('opacity', 0) - } - if (scrollTop >= $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.peer-routing').css('opacity', opacity) - } else { - $cube.find('.peer-routing').css('opacity', 0) - } - if (scrollTop >= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.record-stores').css('opacity', opacity) - } else { - $cube.find('.record-stores').css('opacity', 0) - } - if (scrollTop >= $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.nat-traversal').css('opacity', opacity) - } else { - $cube.find('.nat-traversal').css('opacity', 0) - } - if (scrollTop >= $discovery.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.discovery').css('opacity', opacity) - } else { - $cube.find('.discovery').css('opacity', 0) - } - if (scrollTop >= $utils.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.utils').css('opacity', opacity) - } else { - $cube.find('.utils').css('opacity', 0) - } - if (scrollTop >= $other.offset().top - headerHeight - sectionMarginTop - 60 && - scrollTop <= $other.offset().top - headerHeight - sectionMarginTop - 60 + 200) { - maxHeight = $other.offset().top - headerHeight - sectionMarginTop - 60 + 200; - opacity = maxHeight != scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0; - $cube.find('.others').css('opacity', opacity) - } else { - $cube.find('.others').css('opacity', 0) - } - } - - $(window).on('click', function (e) { - var $elem = e.target; - var mobile = $(window).innerWidth() <= 767; - if (mobile) { - if (!$($elem.closest('.links')).length) { - $('.columns', '.links').css('display', 'none') - } - } - }) -}); diff --git a/static/js/index.js b/static/js/index.js deleted file mode 100755 index 3bac66e..0000000 --- a/static/js/index.js +++ /dev/null @@ -1,367 +0,0 @@ -$(function () { - $('svg.contributors')[0].pauseAnimations(); - - var bundles = data.Bundles, - bundlesCount = 0; - createBundles(); - createCommingSoon(); - createEmpty(); - - function createEmpty() { - var template = $('
' + - '
' + - '' + - '
' + - '
'); - - var $wrap = $('.wrap', 'article.implementations-in') - for (var n = bundlesCount; n < 9; n++) { - var tmp = template.clone(); - tmp.find('img').attr('src', (n % 2) === 1 ? './img/img4.png' : './img/img5.png'); - $wrap.append(tmp); - } - } - - function createCommingSoon() { - var template = $('' - ); - - var $wrap = $('.wrap', 'article.implementations-in'), - index = 0; - $.each(bundles, function (key, values) { - var tmp = template.clone(); - if (values['status'] !== 'live' && bundlesCount < 9) { - tmp.find('a').addClass('index' + (index + 1)); - switch (key.toLowerCase()) { - case 'java': - tmp.find('img').attr('src', './img/logo_5.png'); - break; - case 'python': - tmp.find('img').attr('src', './img/logo_6.png'); - break; - default: - var imageUrl = values['image'].substring(1); - tmp.find('img').attr('src', imageUrl); - } - - $wrap.append(tmp); - index++; - - bundlesCount++; - } - }); - } - - function createBundles() { - var template = $('' - ); - - var $wrap = $('.wrap', 'article.implementations-in'); - - $.each(bundles, function (key, values) { - var tmp = template.clone(); - if (values['status'] === 'live' && bundlesCount < 9) { - tmp.find('a').attr('href', '/bundles#' + key.replace(' ', '-').toLowerCase()); - switch (key.toLowerCase()) { - case 'java': - tmp.find('img').attr('src', './img/logo_5.png'); - break; - case 'python': - tmp.find('img').attr('src', './img/logo_6.png'); - break; - default: - var imageUrl = values['image'].substring(1); - tmp.find('img').attr('src', imageUrl); - } - - tmp.find('img').attr('alt', key); - tmp.find('img').attr('title', key); - $wrap.append(tmp); - - bundlesCount++; - } - }); - } - - - var $shapes = $('#shapes'), - $shapesDefs = $shapes.find('defs'), - $contributors = $('.contributors', '.persons'), - $persons = $('.persons'), - personsWidth = $persons.width(), - personsHeight = $persons.height(), - iconWidth = 60, iconHeight = 70, - rowsCount = Math.round(personsHeight / iconHeight), - countInRow = 0, - iconCount = 0; - - var rowWidth = 0; - - $(window).on('load', function () { - setTimeout(function () { - $(".svg-wrapper").removeClass("hide"); - $('svg.contributors')[0].unpauseAnimations(); - }, 5000); - getContributors(); - }); - - function getContributors() { - $.get('https://contributors.cloud.ipfs.team/contributors?org=all', function (items) { - iconCount = items.length; - countInRow = Math.ceil(items.length / rowsCount); - rowWidth = countInRow * (iconWidth + 20); - $('.contributors', '.persons').width(rowWidth); - items.forEach(function (item, index) { - var imgId = 'img' + index; - - var pattern = document.createElementNS('http://www.w3.org/2000/svg', 'pattern'); - pattern.setAttributeNS(null, 'id', imgId); - pattern.setAttributeNS(null, 'patternContentUnits', 'objectBoundingBox'); - pattern.setAttributeNS(null, 'height', '100%'); - pattern.setAttributeNS(null, 'width', '100%'); - - var img = document.createElementNS('http://www.w3.org/2000/svg', 'image'); - img.setAttributeNS(null, 'width', '1'); - img.setAttributeNS(null, 'height', '1'); - img.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', item.photo); - img.setAttributeNS(null, 'preserveaspectratio', 'none'); - - pattern.appendChild(img); - - $shapesDefs.append(pattern); - - var g = document.createElementNS('http://www.w3.org/2000/svg', 'g'); - - var indexRow = Math.floor(index / countInRow), - y = indexRow * (iconHeight - 10), - indexInRow = index - (countInRow * indexRow), - offsetX = indexRow % 2 * ((iconWidth + (indexInRow !== 0 ? 10 : 0)) / 2), - x = indexInRow * (iconWidth + (indexInRow !== 0 ? 10 : 0)) + offsetX; - - var person = document.createElementNS('http://www.w3.org/2000/svg', 'use'); - person.setAttributeNS(null, 'id', 'icon' + index); - person.setAttributeNS(null, 'width', iconWidth); - person.setAttributeNS(null, 'height', iconHeight); - person.setAttributeNS(null, 'x', x); - person.setAttributeNS(null, 'y', y); - person.setAttributeNS(null, 'fill', 'url(#' + imgId + ')'); - person.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', '#shape-icon'); - person.setAttribute('data-url', item.url); - person.setAttribute('data-username', item.username); - person.setAttribute('data-index', indexInRow); - person.setAttribute('data-row', indexRow); - person.setAttribute('data-position', (indexInRow === 0 ? 'first' - : (indexInRow === (countInRow - 1) || index === (items.length - 1)) ? 'last' : '')); - - g.appendChild(person); - - var animateX = document.createElementNS('http://www.w3.org/2000/svg', 'animate'); - animateX.setAttributeNS(null, 'attributeName', 'x'); - animateX.setAttributeNS(null, 'from', '0'); - animateX.setAttributeNS(null, 'to', (iconWidth * (-1))); - animateX.setAttributeNS(null, 'repeatCount', 'indefinite'); - animateX.setAttributeNS(null, 'fill', 'freeze'); - animateX.setAttributeNS(null, 'additive', 'sum'); - animateX.setAttributeNS(null, 'accumulate', 'sum'); - animateX.setAttributeNS(null, 'dur', '10s'); - animateX.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', '#icon' + index); - - g.appendChild(animateX); - - var rnd1 = Math.floor(Math.random() * 15); - var rnd2 = Math.floor(Math.random() * 15); - - /* - var animateY = document.createElementNS('http://www.w3.org/2000/svg', 'animate'); - animateY.setAttributeNS(null, 'attributeName', 'y'); - animateY.setAttributeNS(null, 'from', (y)); - animateY.setAttributeNS(null, 'to', (y + 10)); - animateY.setAttributeNS(null, 'repeatCount', 'indefinite'); - animateY.setAttributeNS(null, 'values', (y) + '; ' + (y + rnd1) + '; ' + (y + rnd2) + '; ' + y); - animateY.setAttributeNS(null, 'keyTimes', '0; 0.3; 0.6; 1'); - animateY.setAttributeNS(null, 'fill', 'freeze'); - animateY.setAttributeNS(null, 'dur', '20s'); - animateY.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', '#icon' + index); - - g.appendChild(animateY); - */ - - $contributors.find('#group-icons').append(g); - - $('#icon' + index) - .mouseenter(mouseEnter) - .mouseleave(mouseLeave) - .on('click', mouseClick) - }) - }); - } - - function mouseClick() { - var url = $(this).attr('data-url'); - if (url.length) { - window.open(url) - } - } - - function mouseLeave() { - var el = $(this); - el.closest('#group-icons').find('.tooltip').remove(); - // el.closest('#group-icons').find('.hex-hover').remove(); - - el.attr('width', (iconWidth)); - el.attr('height', (iconHeight)); - - el.closest('svg')[0].unpauseAnimations() - } - - function mouseEnter() { - var el = $(this), - elX = el[0].x.animVal.value, - elY = el[0].y.animVal.value; - el.closest('svg')[0].pauseAnimations(); - - var $parent = el.closest('#group-icons'); - - // $parent[0].appendChild(hexHover(elX - 3, elY - 3, iconWidth + 6, iconHeight + 6)); - - //el.attr('width', (iconWidth + 5)); - //el.attr('height', (iconHeight + 5)); - - $parent[0].appendChild(tooltip(el.attr('data-username'))); - - var $tooltip = $parent.find('.tooltip'); - $tooltip.attr('transform', 'translate(' + (elX + 65) + ',' + (elY + 20) + ')') - } - - // reposition first icon to last - setInterval(function () { - for (var n = 0; n < rowsCount; n++) { - var $firstIcon = $('use[data-row=' + n + ']' + '[data-position=first]'), - firstIconX = (typeof $firstIcon[0] === 'undefined') ? 0 : $firstIcon[0].x.animVal.value; - if (!$firstIcon.length || firstIconX > (iconWidth * (-1))) continue; - - var firstIconIndex = parseInt($firstIcon.attr('data-index')), - nextIndex = firstIconIndex < countInRow ? firstIconIndex + 1 : 0, - $nextIcon = $('use[data-row=' + n + ']' + '[data-index=' + nextIndex + ']'); - - var $firstIconAnim = $firstIcon.closest('g').find('animate[attributeName="x"]'); - - var $lastIcon = $('use[data-row=' + n + ']' + '[data-position=last]'), - lastIconX = $lastIcon[0].x.animVal.value; - - $firstIcon[0].setAttribute('data-position', 'last'); - $nextIcon[0].setAttribute('data-position', 'first'); - $lastIcon[0].setAttribute('data-position', ''); - - var $firstIconparent = $firstIcon.closest('g'), - clone = $firstIconparent.get(0); - $firstIconparent.remove(); - - $(clone).find('use').attr('x', (lastIconX + iconWidth + 10)); - var id = $(clone).find('use').attr('id'); - $('#group-icons').append(clone); - var $el = $('#' + id); - $el.closest('g').find('[attributeName=x]')[0].beginElement(); - $el - .mouseenter(mouseEnter) - .mouseleave(mouseLeave) - .on('click', mouseClick) - } - }, 1000); - - function tooltip(username) { - var gTitle = document.createElementNS('http://www.w3.org/2000/svg', 'g'); - gTitle.setAttributeNS(null, 'class', 'tooltip'); - - // var use = document.createElementNS('http://www.w3.org/2000/svg', 'use'); - // use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', '#shape-tooltip'); - // use.setAttribute('width', '170'); - // use.setAttribute('height', '39'); - // gTitle.appendChild(use); - - var filter = document.createElementNS('http://www.w3.org/2000/svg', 'filter'); - filter.setAttribute('id', 'tooltip-shadow'); - filter.setAttribute('width', '150%'); - filter.setAttribute('height', '150%'); - - var feOffset = document.createElementNS('http://www.w3.org/2000/svg', 'feOffset'); - feOffset.setAttribute('result', 'offOut'); - feOffset.setAttribute('in', 'SourceGraphic'); - feOffset.setAttribute('dx', '3'); - feOffset.setAttribute('dy', '3'); - filter.appendChild(feOffset); - - var feColorMatrix = document.createElementNS('http://www.w3.org/2000/svg', 'feColorMatrix'); - feColorMatrix.setAttribute('result', 'matrixOut'); - feColorMatrix.setAttribute('in', 'offOut'); - feColorMatrix.setAttribute('type', 'matrix'); - feColorMatrix.setAttribute('values', '0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0'); - filter.appendChild(feColorMatrix); - - var feGaussianBlur = document.createElementNS('http://www.w3.org/2000/svg', 'feGaussianBlur'); - feGaussianBlur.setAttribute('result', 'blurOut'); - feGaussianBlur.setAttribute('in', 'matrixOut'); - feGaussianBlur.setAttribute('stdDeviation', '3'); - filter.appendChild(feGaussianBlur); - - var feBlend = document.createElementNS('http://www.w3.org/2000/svg', 'feBlend'); - feBlend.setAttribute('in', 'SourceGraphic'); - feBlend.setAttribute('in2', 'blurOut'); - feBlend.setAttribute('mode', 'normal'); - filter.appendChild(feBlend); - - gTitle.appendChild(filter); - - var path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - path.setAttribute('style', 'fill:#fff; stroke:#b3b3b3; stroke-miterlimit: 10; opacity: 1'); - path.setAttribute('d', 'M1.12,13.5,8.58,9.36a3,3,0,0,0,1.54-2.62V3.5a3,3,0,0,1,3-3h145a3,3,0,0,1,3,' + - '3v19a3,3,0,0,1-3,3h-145a3,3,0,0,1-3-3V19.45a3,3,0,0,0-1.78-2.74Z'); - path.setAttribute('filter', 'url(#tooltip-shadow)'); - - gTitle.appendChild(path); - - var text = document.createElementNS('http://www.w3.org/2000/svg', 'text'); - text.setAttributeNS(null, 'x', '15'); - text.setAttributeNS(null, 'y', '17'); - text.textContent = username; - gTitle.appendChild(text); - - return gTitle - } - - var x, left, down; - - $('.svg-wrapper') - .mousedown(function (e) { - e.preventDefault(); - down = true; - x = e.pageX; - left = $(this).scrollLeft() - }) - .mousemove(function (e) { - if (down) { - var newX = e.pageX; - $('.svg-wrapper').scrollLeft(left - newX + x) - } - }); - // .bind('DOMMouseScroll mousewheel', function (e) { - // e.preventDefault(); - // left = $(this).scrollLeft(); - // var delta = e.originalEvent.wheelDelta || (-e.originalEvent.detail * 10); - // $('.svg-wrapper').scrollLeft(left - delta); - // }); - $('body').mouseup(function (e) { - down = false - }) -}); diff --git a/static/js/jquery-2.1.1.min.js b/static/js/jquery-2.1.1.min.js deleted file mode 100755 index e5ace11..0000000 --- a/static/js/jquery-2.1.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) -},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("