﻿.light{background-color:#fdf6e3;color:#657b83}.light *{color:#657b83}.light h1,.light h2,.light h3,.light h4,.light h5,.light h6{color:#586e75;border-color:#657b83}.light a,.light a:active,.light a:visited{color:#586e75}.dark{background-color:#002b36;color:#839496}.dark *{color:#839496}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#93a1a1;border-color:#839496}.dark a,.dark a:active,.dark a:visited{color:#93a1a1}header,nav,article,footer,aside,address,section{display:block}html{height:100%;overflow-y:scroll;font-size:16px;line-height:1.5625}@media (min-width: 700px){html{font-size:21px;line-height:1.71429}}body{font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:normal;background:#fcf9ec;color:#3a484d;margin:0}body{font-family:"Lora",serif}pre,tt,code,kbd,samp,var{font-family:Consolas,Monaco,"Andale Mono",monospace;-webkit-font-smoothing:subpixel-antialiased}h1,h2,h3{font-family:"Open Sans",sans-serif}h4,h5,h6{font-family:"Lora",serif}h1,h2,h3,h4,h5,h5{clear:both}aside,small,figcaption,footer,.newsletter--page,.leave a.calltoaction,legend,input,button,textarea,select,details{font-family:"Open Sans",sans-serif;-webkit-font-smoothing:subpixel-antialiased}.leave a.calltoaction{font-size:0.95em;font-weight:bold}figcaption{font-style:italic}@media (min-width: 700px){figcaption{max-width:80%;margin:0 auto}}p,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,blockquote,th,td{margin:0;padding:0}h1{color:#657576;font-size:2.25em;line-height:1.11111em;margin-top:1em}h2,legend,.post--link .title{color:#657576;font-size:28px;margin-top:1.78571em}h1{font-weight:500}h2{font-weight:700}h3{font-style:normal;font-size:24px;margin-top:2.08333em}h4,h5,h6{font-size:1em;line-height:2.34375em;margin-top:.78125em}h3,h4,h5,h6{font-weight:normal}code{font-size:.875em;line-height:1.78571em}@media (min-width: 700px){code{font-size:.85714em;line-height:1.38889em}}pre{line-height:1em}footer.footnotes ol,small,article footer,figcaption{font-size:.875em;line-height:1.78571em}aside{font-size:.875em;line-height:1.78571em}article footer{margin-top:1.78571em}footer.footnotes ol,aside p{margin-top:1.78571em}p,ol,ul,li,.long li,pre,dt,hr,legend,input,button,textarea,select,address,table,blockquote,.gist{margin-top:1.5625em}footer.footnotes ol *,ul li,ol li{margin-top:0em}a:link,a:visited{color:#268bd2;text-decoration:none;border-bottom:1px solid #268bd2}a:hover,a:focus{color:#42a4e9;border-bottom-color:transparent}a:link.imagelink,a:visited.imagelink,a:hover.imagelink,a:focus.imagelink{border-bottom-color:transparent}a:link img,a:visited img,a:hover img,a:focus img{vertical-align:baseline}a[href$=jpg],a[href$=jpeg],a[href$=jpe],a[href$=png],a[href$=gif]{border-bottom-color:transparent}a:focus,:focus{outline:1px dotted #000;background:rgba(150,50,255,0.2)}a:hover,a:active{outline:none}fieldset,img{border:0}img{vertical-align:bottom}ol li,ul ol li{list-style-type:decimal}ul li{list-style-type:disc}ul ul li{list-style-type:circle}ul ul ul li{list-style-type:square}ol ol li{list-style-type:lower-alpha}ol ol ol li{list-style-type:lower-roman}sub{vertical-align:sub;font-size:smaller}sup{vertical-align:baseline;font-size:smaller;position:relative;top:-0.4em;line-height:0}legend{padding-bottom:.5em}table{border-collapse:collapse;border-spacing:0}caption{position:absolute;left:-999em}th{text-align:center}tbody th{text-align:left}pre{background:#fdfdfa}code,pre{color:#45565c}i,em{font-style:italic}blockquote,q,cite,dfn,var,address{font-style:normal}blockquote em,q em,cite em{font-style:italic}blockquote p:before,blockquote p:after,q:before,q:after{content:''}th,strong,dt,b{font-weight:700}ins{text-decoration:none;font-style:italic}del{text-decoration:line-through}abbr{border-bottom:1px dotted #333;font-variant:normal}ul,ol,details{padding-left:40px}h1,h2,h3,h4,h5,h6,p,pre,dl,fieldset,address,.post__meta{padding:0 10px}figure{margin-left:0;margin-right:0;padding:0}@media (min-width: 700px){h1,h2,h3,h4,h5,h6,p,pre,ul,ol,dl,details,fieldset,address,.post__meta{padding:0 40px}}dd p,dd pre,dd ul,dd ol,dd dl,li p,li pre,li ul,li ol,li dl,fieldset p,fieldset ul,fieldset ol,blockquote p{padding-right:0;padding-left:0}ul,ol{list-style-position:outside}li ul,li ol{margin:0 1.618em}dl{margin:0 0 1.618em 0}dl dt{font-weight:700}dl dd{margin-left:1.618em}dd{padding-left:20px;margin-top:.5em}table{margin-right:40px;margin-left:40px}hr{margin-right:30px;margin-left:30px;border-style:inset;border-width:1px;margin-bottom:1.618em}blockquote{margin-left:30px;border-left:0.8125em solid #ddd;padding-left:0.8125em}address{font-style:italic}label{padding-top:1.618em}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline}input[type="radio"]{vertical-align:text-bottom}input{_vertical-align:text-bottom}input,button,textarea,select,optgroup,option{font-size:.9em;line-height:1.4 !important}.block{padding:0 30px;margin-top:1.618em}.padding2margin{margin-right:30px;margin-left:30px;padding-right:0;padding-left:0}.noMarker li{list-style:none;margin-left:0}.footnotes ol{list-style-position:inside}sup.footnote{line-height:0px}sup.footnote a{padding:0.1em 0.15em}#site-header{text-align:center;padding-top:1em;padding-bottom:1em;margin-bottom:1em;border-bottom:0.3em solid #9cbb08}@media (min-width: 700px){#banner{display:inline}}#navigation{font-family:"Open Sans",sans-serif;text-align:center;margin-top:0;margin-bottom:0}@media (min-width: 700px){#navigation{padding-left:10px;padding-right:0px;display:inline}}.nav_items{list-style-type:none;margin-top:0.3em;margin-bottom:0.3em;padding-left:0;padding-right:0}@media (min-width: 700px){.nav_items{display:inline}}.nav_item{display:inline;margin-right:1.2em;font-weight:200}@media (min-width: 700px){.nav_item{margin-right:1em}}.nav_item__link{padding:0.2em;display:inline-block}.nav_item__link:link,.nav_item__link:visited{color:#268bd2;border-bottom-color:transparent}.nav_item__link:hover{color:#9cbb08;border-bottom-color:transparent}section>h1{font-size:2.25em;line-height:1.38889em;text-align:center;font-weight:normal;color:#93a1a1}hr{border-width:0;border-top:1px dotted #999}pre{padding-top:0.5em;padding-bottom:0.5em;font-size:0.9em;overflow:auto;border-bottom:0.3em solid #ccc;border-top:0.3em solid #ccc}.sitetitle{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:1.5em;margin:0 0 1em 0;text-align:center;font-weight:800;color:#444;text-transform:lowercase;word-spacing:-0.3em}@media (min-width: 700px){.sitetitle{font-size:2em;display:inline;margin-bottom:0;padding-right:0.5em;padding-left:0.5em;text-align:left}}.sitetitle .forename{color:#333;font-weight:200}.sitetitle a{border:none;color:inherit}.banner__tagline{text-align:center;font-family:"Open Sans",sans-serif;font-weight:200;color:#cb4b16;margin-top:-1.5em;font-size:1.75em;line-height:.89286em;margin-bottom:1em}#banner .cafe{text-align:center;text-transform:lowercase;font-size:1.5em;line-height:1.0;margin-top:0em}#banner .cafe img{position:relative;top:10px;width:50px;height:40px;margin-top:8px}#banner .cafe span{display:inline-block;width:30%}#banner .cafe span.cafe{text-align:right}#banner .cafe span.freiheit{text-align:left}@media (min-width: 700px){#banner .cafe{font-size:1.7143em;line-height:1;margin-top:0em}#banner .cafe img{top:20px;width:100px;height:80px;margin-top:-8px}}.container{overflow-x:hidden;margin:0em auto;max-width:40em}.side{margin-left:4%}@media (min-width: 700px){.side{clear:both;float:right;width:20em;margin-left:2em}.side p{padding-left:0}}.footer{color:#657576}.footer a:link,.footer a:visited{color:#57a0d4}.footer a:hover{color:#78b9e6}#footer{margin-top:4em;padding-bottom:2em;border-top:0.3em solid #9cbb08}#section-back{color:#3a484d;border-bottom-color:transparent}#posts .title{margin-top:1.5em}#posts header .title a{border-bottom-color:transparent;color:#3289c6}#section-back:hover,#posts header .title a:hover{color:#4ca2df}.posts__to-archive{font-size:2em;font-weight:bold}#posts header .time{margin-top:0;color:#93a1a1;font-style:italic;font-size:.875em;line-height:1.78571em}#posts article{margin-bottom:6.25em}#posts article:last-child{margin-bottom:0}#posts article .gist{font-size:60%;line-height:1.2;padding:0}#posts article figure{margin-bottom:1.5625em;margin-top:1.5625em;text-align:center}#posts article figure.teaser{margin:0;padding:0;width:100%}@media (min-width: 700px){#posts article figure.teaser{max-width:40%;float:right;margin-left:0.5em;margin-top:0;margin-bottom:0}}#posts article img{border-width:0;padding:0;max-width:100%;box-sizing:border-box}@media (min-width: 700px){#posts article img{border:1px solid #d4d4d4;padding:0.25em;background:#fff}}a.citation,a.footnote{color:#666;padding:0 0.4em;border-radius:1em;background:#ebe3bf;border-bottom-color:transparent;vertical-align:baseline;font-size:smaller;position:relative;top:-0.4em;line-height:0}a.footnote{padding-right:0.2em;letter-spacing:0.2em}#posts article .footnotes{font-size:.875em;line-height:1.78571em}#posts article .footnotes ol{padding:0 10px}.post__meta{margin-top:0;display:inline-block}.post__meta li,#posts nav.pagination{font-family:"Open Sans",sans-serif}#posts nav.pagination ul li{font-weight:bold;margin-top:0;list-style:none}#posts .post__meta li{display:inline}#posts nav.pagination ul li{display:inline-block;width:49%}#posts nav.pagination li.newer{text-align:left}#posts nav.pagination li.newer a::before{content:'\2190';display:inline-block;width:1.2em}#posts nav.pagination li.older{text-align:right}#posts nav.pagination li.older a::after{content:'\2192';display:inline-block;width:1.2em}.post--link .title a::after{content:'→'}.post-moved{font-style:italic;background:#EEE8D5;padding-top:1em;padding-bottom:1em}article summary{font-weight:bold}article details{margin-top:1.5625em}.toc__list{font-size:80%}.tags{display:inline;margin-left:0}.tags li{display:inline;list-style:none;padding-right:0}#intro{position:relative}#intro .intro__text{font-style:italic}#intro .nav{z-index:1000;position:relative;font-family:"Open Sans",sans-serif}#intro .avatar{width:4em;position:absolute;right:10px;top:0;z-index:0}@media (min-width: 700px){#intro .avatar{width:8em;margin-right:4em}}.feature{float:right;width:30%;margin-top:1.5625em}.feature img{max-width:98%}.feature a{border-bottom-color:transparent}.leave::before{content:'\2192';display:inline-block;width:1.2em}@media (min-width: 700px){.leave::before{margin-left:-1.2em}}@media (min-width: 700px){footer .callme{display:none}}.photo .body div.image a,a.image{border:0}#posts article img.vgwort{border:0;padding:0;position:absolute;top:-9999px;left:-9999px}.archive-year{display:none}.archive-month{font-size:80%;font-family:"Open Sans",sans-serif}.archive-post{font-size:80%}.archive-post a,.archive-post a:link,.archive-post a:hover,.archive-post a:visited{font-family:"Open Sans",sans-serif}.archive-post__title{vertical-align:top}.archive-post__day{vertical-align:top;text-align:center;font-family:"Open Sans",sans-serif}.alltags{list-style-type:none}.alltags .tag_char{clear:both}.alltags .tag_char .char{font-weight:bold;font-family:"Open Sans",sans-serif}.alltags .tag,.alltags .tag_char{display:inline-block;float:left;width:50%}@media (min-width: 700px){.alltags .tag,.alltags .tag_char{font-size:14px;width:25%;padding:0.3em 0}}q{quotes:'\201C' '\201D' '\2018' '\2019'}:lang(de) q{quotes:'\00BB' '\00AB' '\203A' '\2039'}q:before{content:open-quote}q:after{content:close-quote}q.hang{margin-left:-0.54em}th,td{padding:0.2em 0.6em}thead{background-color:rgba(0,0,60,0.1)}tr.numerical td{text-align:right}tbody td.total{font-weight:bold}.gist table.lines{margin:0}.calltoaction--sole{font-weight:bold}.software{clear:both;margin-bottom:2em}.software.product{margin-bottom:4em}.app__icon-box{max-width:80%;margin:0 auto}@media (min-width: 700px){.app__icon-box{max-width:20%;padding-left:40px;margin-right:1em;margin-bottom:2em;float:left}}.app__icon-link:link,.app__icon-link:visited{border-bottom-color:transparent}.app__icon{width:100%}.app__text{margin-top:0}.app__title{margin-bottom:1em}.promotion{background:#fff;margin-top:1em;margin-bottom:1em;padding-top:1em;padding-bottom:1em;font-size:.875em;line-height:1.78571em}@media (min-width: 700px){.promotion{padding-left:40px;padding-right:40px;overflow:hidden;zoom:1}}.promotion__details{display:none}@media (min-width: 700px){.promotion__details{display:inline}}.product__shot{max-width:50%;max-height:14em;margin-right:1em;float:left;margin-bottom:1.5em}@media (min-width: 700px){.product__shot{margin-bottom:3em}}.promotion__text{margin-top:0}.landingpage h1{text-align:left}#introduction{margin-top:0em;margin-bottom:0em}#clean-coding h1{color:#dc322f}.clean-coding__actions li{list-style-type:none}pre{background-color:#fdf6e3;color:#586e75}code .c{color:#93a1a1}code .lineno{color:#2aa198}code .err{color:#586e75}code .g{color:#586e75}code .k{color:#859900}code .l{color:#586e75}code .n{color:#586e75}code .o{color:#859900}code .x{color:#cb4b16}code .p{color:#586e75}code .cm{color:#93a1a1}code .cp{color:#859900}code .c1{color:#93a1a1}code .cs{color:#859900}code .gd{color:#2aa198}code .ge{color:#586e75;font-style:italic}code .gr{color:#dc322f}code .gh{color:#cb4b16}code .gi{color:#859900}code .go{color:#586e75}code .gp{color:#586e75}code .gs{color:#586e75;font-weight:bold}code .gu{color:#cb4b16}code .gt{color:#586e75}code .kc{color:#cb4b16}code .kd{color:#268bd2}code .kn{color:#859900}code .kp{color:#859900}code .kr{color:#268bd2}code .kt{color:#dc322f}code .ld{color:#586e75}code .m{color:#2aa198}code .s{color:#2aa198}code .na{color:#586e75}code .nb{color:#B58900}code .nc{color:#268bd2}code .no{color:#cb4b16}code .nd{color:#268bd2}code .ni{color:#cb4b16}code .ne{color:#cb4b16}code .nf{color:#268bd2}code .nl{color:#586e75}code .nn{color:#586e75}code .nx{color:#586e75}code .py{color:#586e75}code .nt{color:#268bd2}code .nv{color:#268bd2}code .ow{color:#859900}code .w{color:#586e75}code .mf{color:#2aa198}code .mh{color:#2aa198}code .mi{color:#2aa198}code .mo{color:#2aa198}code .sb{color:#93a1a1}code .sc{color:#2aa198}code .sd{color:#586e75}code .s2{color:#2aa198}code .se{color:#cb4b16}code .sh{color:#586e75}code .si{color:#2aa198}code .sx{color:#2aa198}code .sr{color:#dc322f}code .s1{color:#2aa198}code .ss{color:#2aa198}code .bp{color:#268bd2}code .vc{color:#268bd2}code .vg{color:#268bd2}code .vi{color:#268bd2}code .il{color:#2aa198}.newsletter{background:rgba(255,255,255,0.8);padding-bottom:1.5625em;margin-bottom:1.5625em;margin-top:1.5625em;padding-top:1.5625em;font-size:1.14286em;line-height:1.5625em}.news__desc{margin-bottom:1.5625em;font-size:.875em;line-height:1.78571em}@media (min-width: 700px){.news__desc{font-size:.66667em;line-height:1.78571em}}.news__label{font-variant:small-caps;text-transform:lowercase;font-weight:bold;width:auto;text-align:right}.news__input{border:2px solid;border-color:#A3A658;background:white;padding:0.5em 1em;margin:0.5em inherit}.news__input--email{box-shadow:0 2px 1px rgba(0,0,0,0.2) inset;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.news__input--button{position:relative;font-variant:small-caps;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;text-transform:lowercase;color:#fff;letter-spacing:1px;background-color:rgba(163,166,88,0.8);box-shadow:0 2px 0 rgba(0,0,0,0.2);outline:none}.news__input--button:active{top:2px;box-shadow:none}.asterisk{color:red}.indicates-required{font-size:80%;font-style:italic}.hero{overflow:hidden}.hero__cover{text-align:center}@media (min-width: 700px){.hero__cover{margin-left:40px;width:40%;float:left;margin-right:2em}}.hero__image{border:1px solid black;max-width:60%}@media (min-width: 700px){.hero__image{max-width:100%}}.hero__heading{clear:none;margin-top:0;font-weight:normal}.hero__text{font-family:"Open Sans",sans-serif;font-weight:200}.hero__rule{border-top:4px solid #6c71c4;margin-bottom:2em;margin-top:2em}.teaser{clear:both;font-size:0.8em;font-family:"Open Sans",sans-serif;font-weight:200}.teaser strong,.teaser b{font-weight:400}.tagline{font-size:1.4em;font-weight:200;color:#586e75;text-align:center;line-height:1.2em;margin-top:1em;margin-bottom:1em;margin-left:1em;margin-right:1em}@media (min-width: 700px){.tagline{font-size:1.8em}}.actions{text-align:center;font-family:"Open Sans",sans-serif;clear:both;vertical-align:top;margin-top:2em}@media (min-width: 700px){.actions{clear:none;margin-top:3em;margin-bottom:3em}}.actions.actions--small{margin-top:0;margin-bottom:0}@media (min-width: 700px){.actions__misc{display:inline-block}}.actions__buying,.actions__misc{padding:0;vertical-align:top}@media (min-width: 700px){.actions__buying,.actions__misc{margin-top:2em}}.actions__buying__item{list-style-type:none}.action{margin-left:10%;margin-right:10%;margin-top:1em;padding:1em 2em;display:block;text-decoration:none;text-align:center;vertical-align:middle;border-radius:0.4em}@media (min-width: 700px){.action{margin-left:0;margin-right:0;margin-top:0em}}@media (min-width: 700px){.actions__buying .action{margin-left:10%;margin-right:10%}}.action.action--small{margin-top:1em;padding:0.5em 1em}@media (min-width: 700px){.action.action--small{display:inline-block;margin-top:1em;margin-left:0%;margin-right:0%}}.action--download:link,.action--download:visited{border-width:2px;border-style:solid;border-color:#4ecb19;color:#4ecb19}@media (min-width: 700px){.action--download:link,.action--download:visited{margin-left:1em}}.action--download:hover{border-color:#3d9e13;color:#3d9e13}.action.action--aux{display:inline;padding:0;border-radius:0;line-height:1.4em}.action--contact:link,.action--contact:visited{color:white;background:#5B6FDC}.action--contact:hover{color:white;background:#465dd8}.action--buy:link,.action--buy:visited{color:white;background:#0000ff}.action--buy:hover{color:white;background:#0000e6}.action--buy del{color:#E1E1E1}.action--buy ins{font-weight:bold}.action--details:link,.action--details:visited{background:transparent;border-color:transparent;text-decoration:underline}#products{margin-top:3.125em;font-family:"Open Sans",sans-serif;background:#002b36;color:#93a1a1}#products .items{padding-bottom:2em}#products .item{font-size:.875em;line-height:1.78571em;margin-top:2em;margin-bottom:2em}@media (min-width: 700px){#products .item{font-size:.66667em;line-height:1.78571em}}#products .item__title{font-size:1.2em}#products .item__title a{border-bottom-color:transparent}#products .item__headline{font-weight:bold}#products .item__actions{text-align:center;padding-top:2em}#products .item__image{display:block;max-width:16em;height:auto;margin:1em auto}#products .cta:link,#products .cta:hover,#products .cta:visited{background-color:#268bd2;border-bottom-color:#268bd2;color:#fcf9ec;font-weight:bold;font-size:1.2em;padding:0.5em 1em;border-radius:2px}@media (min-width: 700px){#products .item{float:left;width:50%}#products .item__image-container{padding:0 40px}#products .item__image{max-width:100%}}#projects{margin-top:3.125em;margin-bottom:4.6875em}.twitter-tweet{margin-top:2em;margin-left:auto;margin-right:auto}@media only screen and (max-device-width: 480px){body{-webkit-text-size-adjust:none}}
