├── CNAME ├── .gitignore ├── images ├── hen.png ├── bookst.png ├── clock.png ├── daemon.jpg ├── gearst.png ├── peert3.png ├── state.png ├── logo-node.png ├── steamw2t.png ├── tricyclet.png ├── ic_menu_36px.svg ├── ic_sort_48px.svg ├── ic_attachment_48px.svg ├── ic_memory_48px.svg ├── ic_search_48px.svg ├── ic_autorenew_48px.svg ├── ic_public_48px.svg ├── HTML5_Badge.svg ├── github.svg ├── twitter2.svg ├── google+.svg ├── github2.svg ├── twitter.svg ├── Lua-logo-nolabel.svg └── Node.js_Logo.svg ├── _config.yml ├── Gemfile ├── index.md ├── concepts.md ├── _includes ├── hero.html ├── push.html ├── footer.html ├── head.html ├── daemon.html ├── header.html ├── all-in.html ├── bus.html ├── method.html ├── peer.html ├── state.html ├── free.html └── fetching.html ├── _plugins ├── markdown.rb └── jade.rb ├── README.md ├── resources.md ├── LICENSE ├── css ├── reset.css ├── syntax.css └── style.sass ├── _layouts └── default.html ├── Gemfile.lock └── impressum.md /CNAME: -------------------------------------------------------------------------------- 1 | www.jetbus.io 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site/* 2 | 3 | *.swp 4 | -------------------------------------------------------------------------------- /images/hen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/hen.png -------------------------------------------------------------------------------- /images/bookst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/bookst.png -------------------------------------------------------------------------------- /images/clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/clock.png -------------------------------------------------------------------------------- /images/daemon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/daemon.jpg -------------------------------------------------------------------------------- /images/gearst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/gearst.png -------------------------------------------------------------------------------- /images/peert3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/peert3.png -------------------------------------------------------------------------------- /images/state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/state.png -------------------------------------------------------------------------------- /images/logo-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/logo-node.png -------------------------------------------------------------------------------- /images/steamw2t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/steamw2t.png -------------------------------------------------------------------------------- /images/tricyclet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HBM/jet/HEAD/images/tricyclet.png -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | name: Jet 2 | markdown: redcarpet 3 | highlighter: true 4 | gems: 5 | - octopress-autoprefixer 6 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'github-pages' 3 | gem 'octopress-autoprefixer' 4 | gem 'redcarpet' 5 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Jet 4 | title_hidden: true 5 | sections: 6 | - hero.html 7 | - all-in.html 8 | - free.html 9 | - bus.html 10 | order: 0 11 | --- 12 | -------------------------------------------------------------------------------- /concepts.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Concepts 4 | sections: 5 | - daemon.html 6 | - peer.html 7 | - state.html 8 | - method.html 9 | - fetching.html 10 | order: 1 11 | --- 12 | 13 | -------------------------------------------------------------------------------- /_includes/hero.html: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /images/ic_menu_36px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/ic_sort_48px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /_includes/push.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 |

Sync

5 |

"Dont call us. We call you!". Strictly publish/subscribe based mechanisms at work. 6 | Stay in sync when states or methods gets added, removed or changed. 7 |

8 |
9 |
10 | -------------------------------------------------------------------------------- /images/ic_attachment_48px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/ic_memory_48px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/ic_search_48px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/ic_autorenew_48px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/ic_public_48px.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/HTML5_Badge.svg: -------------------------------------------------------------------------------- 1 | 2 | HTML5 Logo Badge 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /_includes/footer.html: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /_plugins/markdown.rb: -------------------------------------------------------------------------------- 1 | =begin 2 | Jekyll tag to include Markdown text from _includes directory preprocessing with Liquid. 3 | Usage: 4 | {% markdown %} 5 | Dependency: 6 | - kramdown 7 | =end 8 | module Jekyll 9 | class MarkdownTag < Liquid::Tag 10 | def initialize(tag_name, text, tokens) 11 | super 12 | @text = text.strip 13 | end 14 | require "kramdown" 15 | def render(context) 16 | tmpl = File.read File.join Dir.pwd, "_includes", @text 17 | site = context.registers[:site] 18 | tmpl = (Liquid::Template.parse tmpl).render site.site_payload 19 | html = Kramdown::Document.new(tmpl).to_html 20 | end 21 | end 22 | end 23 | Liquid::Template.register_tag('markdown', Jekyll::MarkdownTag) 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Jet 2 | 3 | The JSON Bus. 4 | 5 | This is the website project for [Jet](http://jetbus.io). 6 | 7 | If you are looking for language implementations, you may be interested in: 8 | 9 | - Node.js and Browser Implementation [node-jet](http://github.com/lipp/node-jet) (Daemon and Peer) 10 | - Lua Implementation [lua-jet](http://github.com/lipp/lua-jet) (Daemon and Peer) 11 | - Arduino Implementation [Arduino-Jet](http://github.com/lipp/Arduino-Jet) (Peer) 12 | 13 | # Contribute 14 | 15 | Everybody is very welcomed to contribute. If you have: 16 | 17 | - Bugs to report 18 | - Ideas for improvements 19 | - Questions to the Protocol 20 | - Usage Feedback 21 | 22 | Please create an issue or - even better - fork and make a Pull Request. 23 | 24 | # License 25 | 26 | MIT. 27 | -------------------------------------------------------------------------------- /_includes/head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Jet 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /resources.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Resources 4 | order: 4 5 | --- 6 | 7 | # Further Readings 8 | 9 | Please checkout the following links to get started with Jet. 10 | 11 | - [Javascript Implementation](https://github.com/lipp/node-jet) For Browser and Node.js 12 | - [redux-jet](https://github.com/lipp/redux-jet) A [redux](http://redux.js.org/) adapter to integrate with [React](https://facebook.github.io/react/) or similar 13 | - [Protocol Specification](https://github.com/lipp/jet-protocol) All the details 14 | - [Radar](https://github.com/lipp/radar) Inspect and play with your Jet instance 15 | 16 | # Examples 17 | 18 | Have a look at the examples to get started. 19 | 20 | - [Todo App](https://todos.now.sh) A collaborative version in 200 lines of code powered by [Next.js](https://github.com/zeit/next.js) 21 | - [Chat App](https://chatty.now.sh) Simple chat application 22 | -------------------------------------------------------------------------------- /_plugins/jade.rb: -------------------------------------------------------------------------------- 1 | ## 2 | ## This Plugin enables Jade support to pages and posts. 3 | ## 4 | 5 | require 'open3' 6 | 7 | module Jekyll 8 | 9 | class JadeConverter < Converter 10 | 11 | def matches(ext) 12 | ext =~ /^\.jade$/i 13 | end 14 | 15 | def output_ext(ext) 16 | ".html" 17 | end 18 | 19 | def convert(content) 20 | begin 21 | o, e, s = Open3.capture3("jade", :stdin_data => content) 22 | puts(<<-eos 23 | Jade Error >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 24 | #{e} 25 | <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Jade Error 26 | eos 27 | ) if e.length > 0 28 | rescue Errno::ENOENT => e 29 | puts "** ERROR: Jade isn't installed or could not be found." 30 | puts "** ERROR: To install with NPM run: npm install jade -g" 31 | return nil 32 | end 33 | return o 34 | end 35 | 36 | end 37 | 38 | end 39 | -------------------------------------------------------------------------------- /images/github.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/daemon.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 |

Daemon

7 |

Aka Master. The Daemon is the center of communications as all Peers connect to it. When 8 | Peers communicate with each other, the Daemon handles the message routing. 9 | All the heavy-lifting like filtering and sorting happens inside the daemon. Most likely the Daemon 10 | runs on the same machine as your webserver, but just could run anywhere else! 11 |

12 |

13 | The Daemon itself does not provide any content at all, but provides means for content 14 | registration. Technically the inner wirings maybe described as a publish-subscribe engine with built-in 15 | content cache. 16 |

17 |
18 |
19 | -------------------------------------------------------------------------------- /_includes/header.html: -------------------------------------------------------------------------------- 1 |
2 | 27 |
28 | -------------------------------------------------------------------------------- /_includes/all-in.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | Watch movement 4 | 5 |
6 |

Time matters

7 |

Build Realtime Apps now! Jet is a framework for building distributed realtime 8 | Apps. It employs fast push technologies 9 | and differential updates to keep all clients in sync. 10 | It is very easy to use and features powerful query filters, sorting rules and 11 | a Web Inspector, called Radar. 12 |

13 |

Jet has been designed for IoT 14 | , Games, Collaborative Apps or anything else where things are in flux and fast 15 | communication is required. 16 | Its efficient design allows Jet Daemons to run very nicely on systems with 17 | rather limited ressources like the RaspberryPi. Jet Peers can even run on Arduino! 18 |

19 |
20 |
21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012, 2013, 2014 by Gerhard Preuss 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /_includes/bus.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 |

More than Realtime

7 |

Besides its web-capable realtime characteristics, Jet is intended to be 8 | a system bus for Linux, Windows or OSX. 9 | Much like the widely used Dbus, Jet allows distribution of system services 10 | to muliple processes using a simple API. 11 | All your Jet content is available for Browsers instantly! 12 |

13 |

14 | As Browsers can host first class Peers, they can even provide content themselfes! 15 |

16 |

17 | Jet allows to wait for content to become available and thus helps in the upstart 18 | phase of interdependent services and helps decoupling parts of complex systems. 19 |

20 |
21 |
22 | -------------------------------------------------------------------------------- /_includes/method.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 |

Method

7 |

Aka Service. An action identified by a unique name (path) which can be executed by other Peers. 8 | Methods can have any number and any type of parameters. 9 | Peers can add Methods to the Jet Bus by registrating them to the Daemon. 10 | Unlike States, Methods have no associated value. 11 | Methods are subject to fetching and thus are observable by other Peers. 12 |

13 |

14 | A method may do just anything. It could light an LED, create States 15 | (e.g. "todo/add") or 16 | perform a system update. 17 | However, it should not behave like classical "getter/setter" as States 18 | are intended for this purpose. 19 |

20 |
21 |
22 | -------------------------------------------------------------------------------- /_includes/peer.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 |

Peer

7 |

Aka Client. Peers can provide and/or consume content. They have to connect to a 8 | Daemon to be part of the Jet bus. To provide content Peers can register States and/or Methods. 9 | Consuming content means either fetching, calling or 10 | setting States/Methods. 11 |

12 |

13 | Peers can run on the same machine as the Daemon or on remote machines, possibly within Browsers. 14 | A common usage scenario is that the Peers running on the same machine as the Daemon 15 | provide content (as the Todo-Server) 16 | and other Peers consume this content from a Browser (as the 17 | Todo-Client). 18 |

19 |
20 |
21 | -------------------------------------------------------------------------------- /_includes/state.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 |

State

7 |

Aka Document. A logical piece of information (value), identified by a unique name (path). 8 | A State's value can be of any Javascript type: primitive types, nested Objects or Arrays. 9 | Peers can add States to the Jet Bus by registrating them to the Daemon. 10 | States may change its value spontaneously or on behalf of another Peer. 11 | They are subject to fetching and thus are observable by other Peers. 12 |

13 |

14 | States may represent things like user records, CPU temperature 15 | or network settings. The Peer adding the State defines the 16 | behaviour when a set request comes in and is free to do anything 17 | that is appropriate. 18 | If necessary the requested value maybe adapted, interpolated or refused. 19 |

20 |
21 |
22 | -------------------------------------------------------------------------------- /_includes/free.html: -------------------------------------------------------------------------------- 1 |
2 |
    3 |
  • 4 |
  • 5 |
  • 6 |
7 |
8 |

Open and Free

9 |

Jet is free for all! And of course, everything is open source. 10 | Beside the Javascript implementation for HTML5 and Node.js, there 11 | libs available for Lua and Arduino. 12 |

Jet is meant for Self-hosting. 13 | Intergration is very easy as Jet servers can run side-by-side with 14 | your webserver environment or fully integrate with your Node.js based solutions if desired. 15 | Jet services are fully customizable and allow features like server-side validation, 16 | live push-data, custom factories or custom services. 17 |

18 |
19 |
20 | -------------------------------------------------------------------------------- /css/reset.css: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v2.0 | 20110126 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, img, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | table, caption, tbody, tfoot, thead, tr, th, td, 15 | article, aside, canvas, details, embed, 16 | figure, figcaption, footer, header, hgroup, 17 | menu, nav, output, ruby, section, summary, 18 | time, mark, audio, video { 19 | margin: 0; 20 | padding: 0; 21 | border: 0; 22 | font-size: 100%; 23 | font: inherit; 24 | vertical-align: baseline; 25 | } 26 | /* HTML5 display-role reset for older browsers */ 27 | article, aside, details, figcaption, figure, 28 | footer, header, hgroup, menu, nav, section { 29 | display: block; 30 | } 31 | body { 32 | line-height: 1; 33 | } 34 | ol, ul { 35 | list-style: none; 36 | } 37 | blockquote, q { 38 | quotes: none; 39 | } 40 | blockquote:before, blockquote:after, 41 | q:before, q:after { 42 | content: ''; 43 | content: none; 44 | } 45 | table { 46 | border-collapse: collapse; 47 | border-spacing: 0; 48 | } 49 | -------------------------------------------------------------------------------- /_includes/fetching.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 |
7 |

Fetching

8 |

Aka Query. Fetching is the process of continuously gathering information. 9 | Peers can fetch to obtain content from a Daemon, which in turn is provided by Peers. 10 | This is much like a database query as you can exactly define what content you want 11 | based on name (path) and/or values of States and Methods. 12 | The Jet Daemon can also sort and paginate your data based on State values. 13 |

14 |

15 | The best thing is, that the content gets updated as soon as something relevant 16 | concerning your fetch rule changes: new content gets added or removed, values changed. 17 |

18 |

19 | Imagine a score board, which should display the female top ten players ordered 20 | by their score, which gets updated automatically as players score. 21 | With Jet this is piece of cake! 22 |

23 |
24 |
25 | -------------------------------------------------------------------------------- /images/twitter2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/google+.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/github2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% include head.html %} 4 | {% if page.appframe %} 5 | 6 | {% else %} 7 | 8 | {% endif %} 9 | {% include header.html %} 10 | 11 | {% if page.title_hidden != true %} 12 |
13 |

{{page.title}}

14 |
15 | {% endif %} 16 | {% if page.sections != null %} 17 | {% for sec in page.sections %} 18 |
19 | {% include {{sec}} %} 20 |
21 | {% endfor %} 22 | {% else %} 23 |
24 |
25 | {{content}} 26 |
27 |
28 | {% endif %} 29 | {% include footer.html %} 30 | 31 | 35 | 36 | 37 | 46 | 47 | 48 | 51 | 52 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /images/Lua-logo-nolabel.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | Lua programming language logo 9 | 10 | 11 | 12 | 13 | image/svg+xml 14 | 15 | Lua programming language logo 16 | 17 | 18 | 19 | 20 | 22 | 23 | 25 | 27 | 30 | 32 | 34 | 36 | 37 | -------------------------------------------------------------------------------- /css/syntax.css: -------------------------------------------------------------------------------- 1 | .highlight { 2 | background-color: #ededed; 3 | padding: 7px 7px 7px 10px; 4 | border: 1px dashed #999; 5 | margin: 20px 0 20px 0; 6 | overflow: hidden; 7 | } 8 | 9 | pre code *{ 10 | font-family: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace; 11 | font-size: 14px; 12 | line-height: 1.45; 13 | font-weight: initial; 14 | /*font-family:'Bitstream Vera Sans Mono','Courier', monospace;*/ 15 | } 16 | .highlight .c { color: #999988; font-style: italic } /* Comment */ 17 | .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ 18 | .highlight .k { font-weight: bold } /* Keyword */ 19 | .highlight .o { font-weight: bold } /* Operator */ 20 | .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ 21 | .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ 22 | .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ 23 | .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ 24 | .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ 25 | .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ 26 | .highlight .ge { font-style: italic } /* Generic.Emph */ 27 | .highlight .gr { color: #aa0000 } /* Generic.Error */ 28 | .highlight .gh { color: #999999 } /* Generic.Heading */ 29 | .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ 30 | .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ 31 | .highlight .go { color: #888888 } /* Generic.Output */ 32 | .highlight .gp { color: #555555 } /* Generic.Prompt */ 33 | .highlight .gs { font-weight: bold } /* Generic.Strong */ 34 | .highlight .gu { color: #aaaaaa } /* Generic.Subheading */ 35 | .highlight .gt { color: #aa0000 } /* Generic.Traceback */ 36 | .highlight .kc { font-weight: bold } /* Keyword.Constant */ 37 | .highlight .kd { font-weight: bold } /* Keyword.Declaration */ 38 | .highlight .kp { font-weight: bold } /* Keyword.Pseudo */ 39 | .highlight .kr { font-weight: bold } /* Keyword.Reserved */ 40 | .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ 41 | .highlight .m { color: #009999 } /* Literal.Number */ 42 | .highlight .s { color: #d14 } /* Literal.String */ 43 | .highlight .na { color: #008080 } /* Name.Attribute */ 44 | .highlight .nb { color: #0086B3 } /* Name.Builtin */ 45 | .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ 46 | .highlight .no { color: #008080 } /* Name.Constant */ 47 | .highlight .ni { color: #800080 } /* Name.Entity */ 48 | .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ 49 | .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ 50 | .highlight .nn { color: #555555 } /* Name.Namespace */ 51 | .highlight .nt { color: #000080 } /* Name.Tag */ 52 | .highlight .nv { color: #008080 } /* Name.Variable */ 53 | .highlight .ow { font-weight: bold } /* Operator.Word */ 54 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */ 55 | .highlight .mf { color: #009999 } /* Literal.Number.Float */ 56 | .highlight .mh { color: #009999 } /* Literal.Number.Hex */ 57 | .highlight .mi { color: #009999 } /* Literal.Number.Integer */ 58 | .highlight .mo { color: #009999 } /* Literal.Number.Oct */ 59 | .highlight .sb { color: #d14 } /* Literal.String.Backtick */ 60 | .highlight .sc { color: #d14 } /* Literal.String.Char */ 61 | .highlight .sd { color: #d14 } /* Literal.String.Doc */ 62 | .highlight .s2 { color: #d14 } /* Literal.String.Double */ 63 | .highlight .se { color: #d14 } /* Literal.String.Escape */ 64 | .highlight .sh { color: #d14 } /* Literal.String.Heredoc */ 65 | .highlight .si { color: #d14 } /* Literal.String.Interpol */ 66 | .highlight .sx { color: #d14 } /* Literal.String.Other */ 67 | .highlight .sr { color: #009926 } /* Literal.String.Regex */ 68 | .highlight .s1 { color: #d14 } /* Literal.String.Single */ 69 | .highlight .ss { color: #990073 } /* Literal.String.Symbol */ 70 | .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ 71 | .highlight .vc { color: #008080 } /* Name.Variable.Class */ 72 | .highlight .vg { color: #008080 } /* Name.Variable.Global */ 73 | .highlight .vi { color: #008080 } /* Name.Variable.Instance */ 74 | .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ 75 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (4.2.7) 5 | i18n (~> 0.7) 6 | json (~> 1.7, >= 1.7.7) 7 | minitest (~> 5.1) 8 | thread_safe (~> 0.3, >= 0.3.4) 9 | tzinfo (~> 1.1) 10 | addressable (2.5.0) 11 | public_suffix (~> 2.0, >= 2.0.2) 12 | autoprefixer-rails (6.7.7.1) 13 | execjs 14 | coffee-script (2.4.1) 15 | coffee-script-source 16 | execjs 17 | coffee-script-source (1.12.2) 18 | colorator (1.1.0) 19 | ethon (0.10.1) 20 | ffi (>= 1.3.0) 21 | execjs (2.7.0) 22 | faraday (0.11.0) 23 | multipart-post (>= 1.2, < 3) 24 | ffi (1.9.18) 25 | forwardable-extended (2.6.0) 26 | gemoji (3.0.0) 27 | github-pages (128) 28 | activesupport (= 4.2.7) 29 | github-pages-health-check (= 1.3.3) 30 | jekyll (= 3.4.2) 31 | jekyll-avatar (= 0.4.2) 32 | jekyll-coffeescript (= 1.0.1) 33 | jekyll-default-layout (= 0.1.4) 34 | jekyll-feed (= 0.9.1) 35 | jekyll-gist (= 1.4.0) 36 | jekyll-github-metadata (= 2.3.1) 37 | jekyll-mentions (= 1.2.0) 38 | jekyll-optional-front-matter (= 0.1.2) 39 | jekyll-paginate (= 1.1.0) 40 | jekyll-readme-index (= 0.0.4) 41 | jekyll-redirect-from (= 0.12.1) 42 | jekyll-relative-links (= 0.3.0) 43 | jekyll-sass-converter (= 1.5.0) 44 | jekyll-seo-tag (= 2.1.0) 45 | jekyll-sitemap (= 1.0.0) 46 | jekyll-swiss (= 0.4.0) 47 | jekyll-theme-architect (= 0.0.3) 48 | jekyll-theme-cayman (= 0.0.3) 49 | jekyll-theme-dinky (= 0.0.3) 50 | jekyll-theme-hacker (= 0.0.3) 51 | jekyll-theme-leap-day (= 0.0.3) 52 | jekyll-theme-merlot (= 0.0.3) 53 | jekyll-theme-midnight (= 0.0.3) 54 | jekyll-theme-minimal (= 0.0.3) 55 | jekyll-theme-modernist (= 0.0.3) 56 | jekyll-theme-primer (= 0.1.7) 57 | jekyll-theme-slate (= 0.0.3) 58 | jekyll-theme-tactile (= 0.0.3) 59 | jekyll-theme-time-machine (= 0.0.3) 60 | jekyll-titles-from-headings (= 0.1.4) 61 | jemoji (= 0.8.0) 62 | kramdown (= 1.13.2) 63 | liquid (= 3.0.6) 64 | listen (= 3.0.6) 65 | mercenary (~> 0.3) 66 | minima (= 2.0.0) 67 | nokogiri (= 1.6.8.1) 68 | rouge (= 1.11.1) 69 | terminal-table (~> 1.4) 70 | github-pages-health-check (1.3.3) 71 | addressable (~> 2.3) 72 | net-dns (~> 0.8) 73 | octokit (~> 4.0) 74 | public_suffix (~> 2.0) 75 | typhoeus (~> 0.7) 76 | html-pipeline (2.5.0) 77 | activesupport (>= 2) 78 | nokogiri (>= 1.4) 79 | i18n (0.8.1) 80 | jekyll (3.4.2) 81 | addressable (~> 2.4) 82 | colorator (~> 1.0) 83 | jekyll-sass-converter (~> 1.0) 84 | jekyll-watch (~> 1.1) 85 | kramdown (~> 1.3) 86 | liquid (~> 3.0) 87 | mercenary (~> 0.3.3) 88 | pathutil (~> 0.9) 89 | rouge (~> 1.7) 90 | safe_yaml (~> 1.0) 91 | jekyll-avatar (0.4.2) 92 | jekyll (~> 3.0) 93 | jekyll-coffeescript (1.0.1) 94 | coffee-script (~> 2.2) 95 | jekyll-default-layout (0.1.4) 96 | jekyll (~> 3.0) 97 | jekyll-feed (0.9.1) 98 | jekyll (~> 3.3) 99 | jekyll-gist (1.4.0) 100 | octokit (~> 4.2) 101 | jekyll-github-metadata (2.3.1) 102 | jekyll (~> 3.1) 103 | octokit (~> 4.0, != 4.4.0) 104 | jekyll-mentions (1.2.0) 105 | activesupport (~> 4.0) 106 | html-pipeline (~> 2.3) 107 | jekyll (~> 3.0) 108 | jekyll-optional-front-matter (0.1.2) 109 | jekyll (~> 3.0) 110 | jekyll-paginate (1.1.0) 111 | jekyll-readme-index (0.0.4) 112 | jekyll (~> 3.0) 113 | jekyll-redirect-from (0.12.1) 114 | jekyll (~> 3.3) 115 | jekyll-relative-links (0.3.0) 116 | jekyll (~> 3.3) 117 | jekyll-sass-converter (1.5.0) 118 | sass (~> 3.4) 119 | jekyll-seo-tag (2.1.0) 120 | jekyll (~> 3.3) 121 | jekyll-sitemap (1.0.0) 122 | jekyll (~> 3.3) 123 | jekyll-swiss (0.4.0) 124 | jekyll-theme-architect (0.0.3) 125 | jekyll (~> 3.3) 126 | jekyll-theme-cayman (0.0.3) 127 | jekyll (~> 3.3) 128 | jekyll-theme-dinky (0.0.3) 129 | jekyll (~> 3.3) 130 | jekyll-theme-hacker (0.0.3) 131 | jekyll (~> 3.3) 132 | jekyll-theme-leap-day (0.0.3) 133 | jekyll (~> 3.3) 134 | jekyll-theme-merlot (0.0.3) 135 | jekyll (~> 3.3) 136 | jekyll-theme-midnight (0.0.3) 137 | jekyll (~> 3.3) 138 | jekyll-theme-minimal (0.0.3) 139 | jekyll (~> 3.3) 140 | jekyll-theme-modernist (0.0.3) 141 | jekyll (~> 3.3) 142 | jekyll-theme-primer (0.1.7) 143 | jekyll (~> 3.3) 144 | jekyll-theme-slate (0.0.3) 145 | jekyll (~> 3.3) 146 | jekyll-theme-tactile (0.0.3) 147 | jekyll (~> 3.3) 148 | jekyll-theme-time-machine (0.0.3) 149 | jekyll (~> 3.3) 150 | jekyll-titles-from-headings (0.1.4) 151 | jekyll (~> 3.3) 152 | jekyll-watch (1.5.0) 153 | listen (~> 3.0, < 3.1) 154 | jemoji (0.8.0) 155 | activesupport (~> 4.0) 156 | gemoji (~> 3.0) 157 | html-pipeline (~> 2.2) 158 | jekyll (>= 3.0) 159 | json (1.8.6) 160 | kramdown (1.13.2) 161 | liquid (3.0.6) 162 | listen (3.0.6) 163 | rb-fsevent (>= 0.9.3) 164 | rb-inotify (>= 0.9.7) 165 | mercenary (0.3.6) 166 | mini_portile2 (2.1.0) 167 | minima (2.0.0) 168 | minitest (5.10.1) 169 | multipart-post (2.0.0) 170 | net-dns (0.8.0) 171 | nokogiri (1.6.8.1) 172 | mini_portile2 (~> 2.1.0) 173 | octokit (4.6.2) 174 | sawyer (~> 0.8.0, >= 0.5.3) 175 | octopress-autoprefixer (2.0.0) 176 | autoprefixer-rails 177 | jekyll (~> 3.0) 178 | pathutil (0.14.0) 179 | forwardable-extended (~> 2.6) 180 | public_suffix (2.0.5) 181 | rb-fsevent (0.9.8) 182 | rb-inotify (0.9.8) 183 | ffi (>= 0.5.0) 184 | redcarpet (3.1.2) 185 | rouge (1.11.1) 186 | safe_yaml (1.0.4) 187 | sass (3.4.23) 188 | sawyer (0.8.1) 189 | addressable (>= 2.3.5, < 2.6) 190 | faraday (~> 0.8, < 1.0) 191 | terminal-table (1.7.3) 192 | unicode-display_width (~> 1.1.1) 193 | thread_safe (0.3.6) 194 | typhoeus (0.8.0) 195 | ethon (>= 0.8.0) 196 | tzinfo (1.2.2) 197 | thread_safe (~> 0.1) 198 | unicode-display_width (1.1.3) 199 | 200 | PLATFORMS 201 | ruby 202 | 203 | DEPENDENCIES 204 | github-pages 205 | octopress-autoprefixer 206 | redcarpet 207 | 208 | BUNDLED WITH 209 | 1.14.6 210 | -------------------------------------------------------------------------------- /impressum.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Impressum / Disclaimer 4 | hidden: true 5 | --- 6 | 7 |

Impressum

8 |

Gerhard Preuss
9 | Alicenstrasse, 30
64293 Darmstadt

10 |

Telefon: 06151 / 4921933
11 | E-Mail: gelipp@gmail.com
12 |

13 |

Disclaimer – rechtliche Hinweise

14 | § 1 Haftungsbeschränkung
15 | Die Inhalte dieser Website werden mit größtmöglicher Sorgfalt erstellt. Der 16 | Anbieter übernimmt jedoch keine Gewähr für die Richtigkeit, Vollständigkeit 17 | und Aktualität der bereitgestellten Inhalte. Die Nutzung der Inhalte der 18 | Website erfolgt auf eigene Gefahr des Nutzers. Namentlich gekennzeichnete 19 | Beiträge geben die Meinung des jeweiligen Autors und nicht immer die Meinung 20 | des Anbieters wieder. Mit der reinen Nutzung der Website des Anbieters kommt 21 | keinerlei Vertragsverhältnis zwischen dem Nutzer und dem Anbieter zustande. 22 |

23 | § 2 Externe Links
24 | Diese Website enthält Verknüpfungen zu Websites Dritter ("externe Links"). 25 | Diese Websites unterliegen der Haftung der jeweiligen Betreiber. Der 26 | Anbieter hat bei der erstmaligen Verknüpfung der externen Links die fremden 27 | Inhalte daraufhin überprüft, ob etwaige Rechtsverstöße bestehen. Zu dem 28 | Zeitpunkt waren keine Rechtsverstöße ersichtlich. Der Anbieter hat keinerlei 29 | Einfluss auf die aktuelle und zukünftige Gestaltung und auf die Inhalte der 30 | verknüpften Seiten. Das Setzen von externen Links bedeutet nicht, dass sich 31 | der Anbieter die hinter dem Verweis oder Link liegenden Inhalte zu Eigen 32 | macht. Eine ständige Kontrolle der externen Links ist für den Anbieter ohne 33 | konkrete Hinweise auf Rechtsverstöße nicht zumutbar. Bei Kenntnis von 34 | Rechtsverstößen werden jedoch derartige externe Links unverzüglich gelöscht. 35 |

36 | § 3 Urheber- und Leistungsschutzrechte
37 | Die auf dieser Website veröffentlichten Inhalte unterliegen dem deutschen 38 | Urheber- und Leistungsschutzrecht. Jede vom deutschen Urheber- und 39 | Leistungsschutzrecht nicht zugelassene Verwertung bedarf der vorherigen 40 | schriftlichen Zustimmung des Anbieters oder jeweiligen Rechteinhabers. Dies 41 | gilt insbesondere für Vervielfältigung, Bearbeitung, Übersetzung, 42 | Einspeicherung, Verarbeitung bzw. Wiedergabe von Inhalten in Datenbanken 43 | oder anderen elektronischen Medien und Systemen. Inhalte und Rechte Dritter 44 | sind dabei als solche gekennzeichnet. Die unerlaubte Vervielfältigung oder 45 | Weitergabe einzelner Inhalte oder kompletter Seiten ist nicht gestattet und 46 | strafbar. Lediglich die Herstellung von Kopien und Downloads für den 47 | persönlichen, privaten und nicht kommerziellen Gebrauch ist erlaubt. 48 |

49 | Die Darstellung dieser Website in fremden Frames ist nur mit schriftlicher 50 | Erlaubnis zulässig. 51 |

52 | § 4 Besondere Nutzungsbedingungen
53 | Soweit besondere Bedingungen für einzelne Nutzungen dieser Website von den 54 | vorgenannten Paragraphen abweichen, wird an entsprechender Stelle 55 | ausdrücklich darauf hingewiesen. In diesem Falle gelten im jeweiligen 56 | Einzelfall die besonderen Nutzungsbedingungen.

Quelle: Impressum Muster von der Juraforum-Anwaltssuche in Ihrem Ort.



Datenschutzerklärung:

Datenschutzerklärung für den Webanalysedienst Google Analytics
57 | Diese Website benutzt Google Analytics, einen Webanalysedienst der Google Inc. ("Google"). Google Analytics verwendet sog. "Cookies", Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert. Wir haben die IP-Anonymisierung aktiviert. Auf dieser Webseite wird Ihre IP-Adresse von Google daher innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt. Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: http://tools.google.com/dlpage/gaoptout?hl=de

Datenschutzerklärung für die Nutzung von dem Webmessagedienst twitter.com
58 | Wir haben auf unserer Webseite auch den Webmessagedienst twitter.com integriert. Dieser wird durch die Twitter Inc., 1355 Market St, Suite 900, San Francisco, CA 94103, USA bereitgestellt. Twitter bietet die sog. „Tweet“ – Funktion an. Damit kann man 140 Zeichen lange Nachrichten auch mit Webseitenlinks in seinem eigenen Twitteraccount veröffentlichen. Wenn Sie die „Tweet“-Funktion von Twitter auf unseren Webseiten nutzen, wird die jeweilige Webseite mit Ihrem Account auf Twitter verknüpft und dort ggf. öffentlich bekannt gegeben. Hierbei werden auch Daten an Twitter übertragen.
59 | Von dem Inhalt der übermittelten Daten und deren Nutzung durch Twitter erhalten wir keine Kenntnis. Konsultieren Sie daher für weitere Informationen die Datenschutzerklärung von Twitter: http://twitter.com/privacy
60 | Twitter bietet Ihnen unter nachfolgendem Link die Möglichkeit, Ihre Datenschutzeinstellungen selbst festzulegen: http://twitter.com/account/settings.

61 | -------------------------------------------------------------------------------- /images/Node.js_Logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 11 | 14 | 18 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /css/style.sass: -------------------------------------------------------------------------------- 1 | --- 2 | # Front matter comment to ensure Jekyll properly reads file. 3 | hidden: true 4 | --- 5 | $first-bg: #319D9D 6 | 7 | $menu-break: 880px 8 | 9 | @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300) 10 | @import url(https://fonts.googleapis.com/css?family=Raleway:400,100) 11 | 12 | @mixin vertical-align 13 | position: relative 14 | top: 50% 15 | transform: translateY(-50%) 16 | 17 | body * 18 | font-family: 'Open Sans', sans-serif 19 | 20 | code 21 | font-family: Menlo, Monaco, "Andale Mono", "lucida console", "Courier New", monospace 22 | font-weight: bold 23 | 24 | body 25 | width: 100% 26 | height: 100% 27 | 28 | p 29 | font-size: 16px 30 | //text-align: justify 31 | line-height: 1.7em 32 | 33 | section, header, footer 34 | width: 100% 35 | > *:not(#todo) 36 | margin: 0 auto 37 | width: 90% 38 | max-width: 1000px 39 | 40 | 41 | #todo 42 | margin: 0 auto 43 | width: 100% 44 | height: 1000px 45 | margin-bottom: -2px 46 | 47 | header 48 | height: 50px 49 | background-color: rgb(14,97,97) 50 | box-shadow: 0px 4px 10px rgba(60, 60, 60, 0.51) 51 | position: fixed 52 | opacity: 0.98 53 | nav 54 | height: 50px 55 | display: flex 56 | align-items: center 57 | justify-content: space-between 58 | ul 59 | display: flex 60 | 61 | li 62 | line-height: 50px 63 | padding: 0 20px 64 | background-color: rgb(0,108,108) 65 | transition: background-color 0.3s ease 66 | 67 | li.active 68 | background-color: #053F3F 69 | 70 | li:hover 71 | background-color: #053F3F 72 | 73 | a 74 | text-decoration: none 75 | font-size: 1em 76 | color: white 77 | font-weight: 100 78 | height: 100% 79 | width: 100% 80 | display: block 81 | 82 | 83 | @media (max-width: $menu-break) 84 | section:first-of-type 85 | position: fixed 86 | z-index: 2 87 | // transform: translateZ(0) 88 | opacity: 0.95 89 | box-shadow: 2px 2px 11px 2px rgba(0, 0, 0, 0.32) 90 | 91 | section:nth-of-type(2) 92 | padding-top: 60px 93 | 94 | header 95 | transition: all 0.3s ease 96 | position: fixed 97 | left: -200px 98 | width: 200px 99 | right: 0 100 | top: 0 101 | height: 100vh 102 | z-index: 1 103 | transform: translateZ(0) 104 | opacity: 1.0 105 | 106 | nav 107 | //opacity: 1.0 108 | perspective: 500px 109 | width: 100% !important 110 | height: 100% 111 | align-items: flex-start 112 | flex-direction: column 113 | justify-content: flex-start 114 | 115 | ul 116 | margin-top: 60px 117 | width: 100% 118 | flex-direction: column 119 | iframe 120 | margin-left: 16px 121 | margin-top: 16px 122 | 123 | header.show 124 | transform: translate3d(100%,0,0) 125 | 126 | footer 127 | font-weight: 100 128 | padding-top: 10px 129 | padding-bottom: 10px 130 | .disclaimer 131 | display: block 132 | nav 133 | display: flex 134 | align-items: center 135 | justify-content: space-between 136 | .copyright 137 | text-align: center 138 | img 139 | width: 60px 140 | height: 60px 141 | a 142 | color: white 143 | text-decoration: none 144 | background-color: rgb(50,50,50) 145 | color: rgb(200,200,200) 146 | 147 | @media (max-width: 655px) 148 | footer 149 | img 150 | width: 50px 151 | div 152 | min-width: 110px 153 | 154 | 155 | section:first-of-type 156 | color: white 157 | padding-top: 50px 158 | background-color: $first-bg 159 | //background-image: linear-gradient(rgb(64, 169, 169), #76C8B5) 160 | > h1 161 | padding-top: 200px 162 | font-size: 10em 163 | 164 | 165 | 166 | .hero 167 | .logo 168 | padding-top: 100px 169 | padding-bottom: 30px 170 | a 171 | text-decoration: none 172 | 173 | #brand 174 | color: white 175 | font-size: 12em 176 | padding-left: 15px 177 | 178 | 179 | #tagline 180 | color: white 181 | font-size: 2em 182 | font-family: 'Raleway', sans-serif 183 | font-weight: 100 184 | max-width: 500px 185 | min-width: 320px 186 | margin-top: 30px 187 | margin-bottom: 30px 188 | 189 | @media (max-width: $menu-break) 190 | .hero 191 | .logo 192 | transform: translateY(-10px) 193 | padding-top: 0px 194 | padding-bottom: 0px 195 | 196 | #brand 197 | font-size: 3.2em 198 | padding-left: 3px 199 | #tagline 200 | display: none 201 | margin-top: 5px 202 | min-width: 100px 203 | margin-bottom: 5px 204 | font-size: 1.3em 205 | 206 | section:first-of-type 207 | min-height: 50px 208 | padding-top: 10px 209 | > h1 210 | padding-top: 0px 211 | font-size: 2.5em 212 | 213 | 214 | .split 215 | padding-top: 60px 216 | padding-bottom: 60px 217 | display: flex 218 | justify-content: space-between 219 | width: 100% 220 | align-items: center 221 | min-height: 400px 222 | .description 223 | width: 59% 224 | padding-bottom: 20px 225 | .visual 226 | img 227 | width: 100% 228 | width: 38% 229 | 230 | .description p 231 | padding-top: 20px 232 | font-size: 18px 233 | @media (max-width: 730px) 234 | font-size: 16px 235 | //line-height: 1.5em 236 | font-weight: 100 237 | color: rgb(85,85,85) 238 | strong 239 | font-weight: 400 240 | em 241 | color: rgb(216, 52, 214) 242 | font-style: italic 243 | h3 244 | font-family: "Raleway" 245 | @media (max-width: 730px) 246 | font-size: 20px 247 | font-size: 30px 248 | font-weight: 400 249 | padding-bottom: 5px 250 | color: #565656 251 | // h3::before 252 | // content: "\201e" 253 | // h3::after 254 | // content: "\201D" 255 | 256 | 257 | @media (max-width: 730px) 258 | .free .visual 259 | width: 100% 260 | li 261 | width: 22% 262 | margin-bottom: 10px 263 | .split 264 | padding-top: 20px 265 | padding-bottom: 30px 266 | flex-direction: column 267 | .visual 268 | order: 1 269 | //max-height: 100px 270 | padding-bottom: 3px 271 | .description 272 | h3 273 | text-align: center 274 | padding: 10px 275 | order: 2 276 | flex-grow: 1 277 | width: 100% 278 | p 279 | padding-top: 16px 280 | 281 | 282 | @media (min-width: 731px) 283 | .sec:nth-of-type(2n) 284 | .visual 285 | order: 1 286 | .description 287 | order: 2 288 | 289 | .sec:nth-of-type(2n+1):not(.hero) 290 | border-bottom: 1px solid #b2b2b2 291 | border-top: 1px solid #b2b2b2 292 | background-color: rgb(237, 237, 237) 293 | @media (min-width: 731px) 294 | //text-align: right 295 | .visual 296 | order: 2 297 | .description 298 | order: 1 299 | 300 | article 301 | padding-top: 20px 302 | padding-bottom: 20px 303 | 304 | p 305 | color: #555555 306 | font-size: 18px 307 | font-weight: 100 308 | 309 | h1, h2 310 | font-size: 29px 311 | margin-top: 50px 312 | margin-bottom: 20px 313 | color: #565656 314 | 315 | ul 316 | padding-top: 10px 317 | padding-bottom: 30px 318 | padding-left: 40px 319 | list-style: initial 320 | 321 | ul > li 322 | line-height: 20px 323 | 324 | .free 325 | ul 326 | display: flex 327 | flex-wrap: wrap 328 | justify-content: space-around 329 | li 330 | width: 40% 331 | //margin-right: 25px 332 | margin-top: 10px 333 | img 334 | transition: all 0.3s ease 335 | width: 100% 336 | 337 | img:hover 338 | transform: scale(1.05,1.05) 339 | 340 | 341 | .show-nav 342 | @media (min-width: $menu-break + 1px) 343 | display: none 344 | @media (max-width: $menu-break) 345 | outline: none 346 | position: fixed 347 | background: url(../images/ic_menu_36px.svg) 348 | background-size: cover 349 | background-position: center 350 | filter: invert(100%) 351 | z-index: 1000 352 | top: 10px 353 | width: 40px 354 | height: 40px 355 | right: 5% 356 | color: rgba(82, 82, 82, 0.78) 357 | border: none 358 | font-size: 0px 359 | 360 | #twitter-widget-0 361 | transform: scaleY(1.1) translateY(-1px) 362 | 363 | @media(max-width: 850px) 364 | header li 365 | padding: 0 16px 366 | 367 | body.appframe 368 | height: calc(100vh + 410px - 50px) 369 | .app 370 | max-width: 1000px 371 | width: 90% 372 | margin: 0 auto 373 | height: calc(100vh - 50px) 374 | overflow: scroll 375 | > * 376 | width: 100% 377 | height: 100% 378 | overflow: scroll 379 | footer 380 | position: absolute 381 | bottom: -360px 382 | 383 | iframe.cp_embed_iframe 384 | box-shadow: 5px 5px 10px 0px rgb(165,165,165) 385 | 386 | section 387 | min-height: 300px 388 | 389 | section ul 390 | color: #565656 391 | li 392 | font-weight: 100 393 | color: #555 394 | li a:first-child 395 | text-decoration: none 396 | margin-top: 1.5em 397 | margin-bottom: 0.3em 398 | font-size: 1.1em 399 | color: #b135ce 400 | display: block 401 | --------------------------------------------------------------------------------