From 101f7f49d1ff8502e50a24771946d9baa8529bd9 Mon Sep 17 00:00:00 2001 From: Jonathan Rudenberg Date: Fri, 7 Sep 2012 08:24:41 -0400 Subject: [PATCH] Revert "Include generated documentation in repo for now" This reverts commit 7ee72b80db98a72a54bd21fce31bb27941508d02. --- .buildpack.rb | 29 + .gitignore | 1 + output/assets/css/bootstrap-cb0b9b6b1fd.css | 1 - .../css/bootstrap-responsive-cb034fa29d4.css | 1 - output/assets/css/style-cba5092b759.css | 1 - output/blog.html | 189 ------ output/blog.xml | 186 ------ output/blog/introducing-tent.html | 116 ---- output/blog/the-tent-manifesto.html | 101 --- output/docs.html | 117 ---- output/docs/app-auth.html | 539 ---------------- output/docs/app-server.html | 591 ------------------ output/docs/info-types.html | 132 ---- output/docs/post-types.html | 194 ------ output/docs/server-protocol.html | 319 ---------- output/index.html | 187 ------ output/robots.txt | 3 - output/sitemap.xml | 43 -- 18 files changed, 30 insertions(+), 2720 deletions(-) create mode 100644 .buildpack.rb delete mode 100644 output/assets/css/bootstrap-cb0b9b6b1fd.css delete mode 100644 output/assets/css/bootstrap-responsive-cb034fa29d4.css delete mode 100644 output/assets/css/style-cba5092b759.css delete mode 100644 output/blog.html delete mode 100644 output/blog.xml delete mode 100644 output/blog/introducing-tent.html delete mode 100644 output/blog/the-tent-manifesto.html delete mode 100644 output/docs.html delete mode 100644 output/docs/app-auth.html delete mode 100644 output/docs/app-server.html delete mode 100644 output/docs/info-types.html delete mode 100644 output/docs/post-types.html delete mode 100644 output/docs/server-protocol.html delete mode 100644 output/index.html delete mode 100644 output/robots.txt delete mode 100644 output/sitemap.xml diff --git a/.buildpack.rb b/.buildpack.rb new file mode 100644 index 0000000..2cbc058 --- /dev/null +++ b/.buildpack.rb @@ -0,0 +1,29 @@ +require 'fileutils' + +class LanguagePack::Custom < LanguagePack::Rack + def self.use? + true + end + + def name + "Nanoc" + end + + # hack to hook into ruby pack + def run_assets_precompile_rake_task + require 'benchmark' + topic "Compiling nanoc site" + + cache_clear 'output' if ENV['CLEAR_CACHE'] + + puts "Found cached output directory." if cache_load 'output' + time = Benchmark.realtime { pipe("env PATH=$PATH:vendor/pygments:bin bundle exec nanoc compile") } + + if $?.success? + cache_store 'output' + puts "Nanoc compilation completed (#{"%.2f" % time}s)" + else + exit $?.to_i + end + end +end diff --git a/.gitignore b/.gitignore index 534dcd0..a18d9d5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ tmp +output crash.log diff --git a/output/assets/css/bootstrap-cb0b9b6b1fd.css b/output/assets/css/bootstrap-cb0b9b6b1fd.css deleted file mode 100644 index fb7df21..0000000 --- a/output/assets/css/bootstrap-cb0b9b6b1fd.css +++ /dev/null @@ -1 +0,0 @@ -article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:20px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#999}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:1;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#999}h1{font-size:36px;line-height:40px}h2{font-size:30px;line-height:40px}h3{font-size:24px;line-height:40px}h4{font-size:18px;line-height:20px}h5{font-size:14px;line-height:20px}h6{font-size:12px;line-height:20px}h1 small{font-size:24px}h2 small{font-size:18px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid#eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal dt{float:left;width:120px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:130px}hr{margin:20px 0;border:0;border-top:1px solid#eee;border-bottom:1px solid#fff}abbr[title]{cursor:help;border-bottom:1px dotted#999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid#eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid#eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:9px;font-size:14px;line-height:20px;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}input,textarea{width:210px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid#ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal;cursor:pointer}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #bbb}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:18px;padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls > .radio:first-child,.controls > .checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline + .radio.inline,.checkbox.inline + .checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"] + [class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"]{float:left}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning > label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning .checkbox:focus,.control-group.warning .radio:focus,.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error > label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error .checkbox:focus,.control-group.error .radio:focus,.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success > label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success .checkbox:focus,.control-group.success .radio:focus,.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;font-size:14px;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0#fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn{margin-left:-1px;vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend + .control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:160px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:160px}.form-horizontal .help-block{margin-top:10px;margin-bottom:0}.form-horizontal .form-actions{padding-left:160px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid#ddd}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption + thead tr:first-child th,.table caption + thead tr:first-child td,.table colgroup + thead tr:first-child th,.table colgroup + thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody + tbody{border-top:2px solid#ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid#ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid#ddd}.table-bordered caption + thead tr:first-child th,.table-bordered caption + tbody tr:first-child th,.table-bordered caption + tbody tr:first-child td,.table-bordered colgroup + thead tr:first-child th,.table-bordered colgroup + tbody tr:first-child th,.table-bordered colgroup + tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child,.table-bordered tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered caption + thead tr:first-child th:first-child,.table-bordered caption + tbody tr:first-child td:first-child,.table-bordered colgroup + thead tr:first-child th:first-child,.table-bordered colgroup + tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption + thead tr:first-child th:last-child,.table-bordered caption + tbody tr:first-child td:last-child,.table-bordered colgroup + thead tr:first-child th:last-child,.table-bordered colgroup + tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-right-topleft:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table [class*=span],.row-fluid table [class*=span]{display:table-cell;float:none;margin-left:0}table .span1{float:none;width:44px;margin-left:0}table .span2{float:none;width:124px;margin-left:0}table .span3{float:none;width:204px;margin-left:0}table .span4{float:none;width:284px;margin-left:0}table .span5{float:none;width:364px;margin-left:0}table .span6{float:none;width:444px;margin-left:0}table .span7{float:none;width:524px;margin-left:0}table .span8{float:none;width:604px;margin-left:0}table .span9{float:none;width:684px;margin-left:0}table .span10{float:none;width:764px;margin-left:0}table .span11{float:none;width:844px;margin-left:0}table .span12{float:none;width:924px;margin-left:0}table .span13{float:none;width:1004px;margin-left:0}table .span14{float:none;width:1084px;margin-left:0}table .span15{float:none;width:1164px;margin-left:0}table .span16{float:none;width:1244px;margin-left:0}table .span17{float:none;width:1324px;margin-left:0}table .span18{float:none;width:1404px;margin-left:0}table .span19{float:none;width:1484px;margin-left:0}table .span20{float:none;width:1564px;margin-left:0}table .span21{float:none;width:1644px;margin-left:0}table .span22{float:none;width:1724px;margin-left:0}table .span23{float:none;width:1804px;margin-left:0}table .span24{float:none;width:1884px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.info td{background-color:#d9edf7}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav > .active > a > [class^="icon-"],.nav > .active > a > [class*=" icon-"],.dropdown-menu > li > a:hover > [class^="icon-"],.dropdown-menu > li > a:hover > [class*=" icon-"],.dropdown-menu > .active > a > [class^="icon-"],.dropdown-menu > .active > a > [class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid#000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.dropdown-menu a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li > a:hover,.dropdown-menu li > a:focus,.dropdown-submenu:hover > a{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active > a,.dropdown-menu .active > a:hover{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:linear-gradient(to bottom,#08c,#0077b3);background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled > a,.dropdown-menu .disabled > a:hover{color:#999}.dropdown-menu .disabled > a:hover{text-decoration:none;cursor:default;background-color:transparent}.open{*z-index:1000}.open > .dropdown-menu{display:block}.pull-right > .dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid#000;content:"\2191"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu > .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover .dropdown-menu{display:block}.dropdown-submenu > a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover > a:after{border-left-color:#fff}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;overflow:visible \9;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0#fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 14px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid#bbb;*border:0;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:2px}.btn-small{padding:3px 9px;font-size:12px;line-height:18px}.btn-small [class^="icon-"]{margin-top:0}.btn-mini{padding:2px 6px;font-size:11px;line-height:16px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block + .btn-block{margin-top:5px}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-image:-moz-linear-gradient(top,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-image:-moz-linear-gradient(top,#444,#222);background-repeat:repeat-x;border-color:#222 #222222#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-group{position:relative;*margin-left:.3em;font-size:0;white-space:nowrap}.btn-group:first-child{*margin-left:0}.btn-group + .btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-toolbar .btn + .btn,.btn-toolbar .btn-group + .btn,.btn-toolbar .btn + .btn-group{margin-left:5px}.btn-group > .btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group > .btn + .btn{margin-left:-1px}.btn-group > .btn,.btn-group > .dropdown-menu{font-size:14px}.btn-group > .btn-mini{font-size:11px}.btn-group > .btn-small{font-size:12px}.btn-group > .btn-large{font-size:16px}.btn-group > .btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group > .btn:last-child,.btn-group > .dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group > .btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group > .btn.large:last-child,.btn-group > .large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group > .btn:hover,.btn-group > .btn:focus,.btn-group > .btn:active,.btn-group > .btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group > .btn + .dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group > .btn-mini + .dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group > .btn-small + .dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group > .btn-large + .dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-top:0;border-bottom:5px solid#000}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical .btn{display:block;float:none;width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical .btn + .btn{margin-top:-1px;margin-left:0}.btn-group-vertical .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;color:#c09853;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block > p,.alert-block > ul{margin-bottom:0}.alert-block p + p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav > li > a{display:block}.nav > li > a:hover{text-decoration:none;background-color:#eee}.nav > .pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li + .nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list > li > a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list > li > a{padding:3px 15px}.nav-list > .active > a,.nav-list > .active > a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs > li,.nav-pills > li{float:left}.nav-tabs > li > a,.nav-pills > li > a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs > li{margin-bottom:-1px}.nav-tabs > li > a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs > li > a:hover{border-color:#eee #eeeeee#ddd}.nav-tabs > .active > a,.nav-tabs > .active > a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills > li > a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills > .active > a,.nav-pills > .active > a:hover{color:#fff;background-color:#08c}.nav-stacked > li{float:none}.nav-stacked > li > a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked > li > a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked > li:first-child > a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked > li:last-child > a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked > li > a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked > li > a{margin-bottom:3px}.nav-pills.nav-stacked > li:last-child > a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav > .dropdown.active > a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav > li.dropdown.open.active > a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open > a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below > .nav-tabs,.tabs-right > .nav-tabs,.tabs-left > .nav-tabs{border-bottom:0}.tab-content > .tab-pane,.pill-content > .pill-pane{display:none}.tab-content > .active,.pill-content > .active{display:block}.tabs-below > .nav-tabs{border-top:1px solid #ddd}.tabs-below > .nav-tabs > li{margin-top:-1px;margin-bottom:0}.tabs-below > .nav-tabs > li > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below > .nav-tabs > li > a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below > .nav-tabs > .active > a,.tabs-below > .nav-tabs > .active > a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left > .nav-tabs > li,.tabs-right > .nav-tabs > li{float:none}.tabs-left > .nav-tabs > li > a,.tabs-right > .nav-tabs > li > a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left > .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left > .nav-tabs > li > a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left > .nav-tabs > li > a:hover{border-color:#eee #dddddd#eee #eeeeee}.tabs-left > .nav-tabs .active > a,.tabs-left > .nav-tabs .active > a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right > .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right > .nav-tabs > li > a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right > .nav-tabs > li > a:hover{border-color:#eee #eeeeee#eee #dddddd}.tabs-right > .nav-tabs .active > a,.tabs-right > .nav-tabs .active > a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav > .disabled > a{color:#999}.nav > .disabled > a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible;color:#555}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#555;text-shadow:0 1px 0#fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px}.navbar-link{color:#555}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid#fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:6px}.navbar .btn-group .btn{margin:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;width:100%;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner,.navbar-static-top .navbar-inner{border:0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right}.navbar .nav > li{float:left}.navbar .nav > li > a{float:none;padding:10px 15px 10px;color:#555;text-decoration:none;text-shadow:0 1px 0#fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav > li > a:focus,.navbar .nav > li > a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav > .active > a,.navbar .nav > .active > a:hover,.navbar .nav > .active > a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar + .icon-bar{margin-top:3px}.navbar .nav > li > .dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav > li > .dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid#fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav > li > .dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav > li > .dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid#fff;border-bottom:0}.navbar .nav li.dropdown.open > .dropdown-toggle,.navbar .nav li.dropdown.active > .dropdown-toggle,.navbar .nav li.dropdown.open.active > .dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open > .dropdown-toggle .caret,.navbar .nav li.dropdown.active > .dropdown-toggle .caret,.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right > li > .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right > li > .dropdown-menu:before,.navbar .nav > li > .dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right > li > .dropdown-menu:after,.navbar .nav > li > .dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right > li > .dropdown-menu .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse{color:#999}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav > li > a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav > li > a:hover{color:#fff}.navbar-inverse .nav > li > a:focus,.navbar-inverse .nav > li > a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active > a,.navbar-inverse .nav .active > a:hover,.navbar-inverse .nav .active > a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0#fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-image:-moz-linear-gradient(top,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb li{display:inline-block;*display:inline;text-shadow:0 1px 0#fff;*zoom:1}.breadcrumb .divider{padding:0 5px;color:#ccc}.breadcrumb .active{color:#999}.pagination{height:40px;margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination li{display:inline}.pagination a,.pagination span{float:left;padding:0 14px;line-height:38px;text-decoration:none;background-color:#fff;border:1px solid#ddd;border-left-width:0}.pagination a:hover,.pagination .active a,.pagination .active span{background-color:#f5f5f5}.pagination .active a,.pagination .active span{color:#999;cursor:default}.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover{color:#999;cursor:default;background-color:transparent}.pagination li:first-child a,.pagination li:first-child span{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination li:last-child a,.pagination li:last-child span{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover{color:#999;cursor:default;background-color:#fff}.modal-open .dropdown-menu{z-index:2050}.modal-open .dropdown.open{*z-index:2050}.modal-open .popover{z-index:2060}.modal-open .tooltip{z-index:2080}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;width:560px;margin:-250px 0 0 -280px;overflow:auto;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn + .btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn + .btn{margin-left:-1px}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-bottom:10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-right:10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow:after{z-index:-1;content:""}.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-top-color:#fff;border-width:10px 10px 0}.popover.top .arrow:after{bottom:-1px;left:-11px;border-top-color:rgba(0,0,0,0.25);border-width:11px 11px 0}.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-right-color:#fff;border-width:10px 10px 10px 0}.popover.right .arrow:after{bottom:-11px;left:-1px;border-right-color:rgba(0,0,0,0.25);border-width:11px 11px 11px 0}.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-bottom-color:#fff;border-width:0 10px 10px}.popover.bottom .arrow:after{top:-1px;left:-11px;border-bottom-color:rgba(0,0,0,0.25);border-width:0 11px 11px}.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-left-color:#fff;border-width:10px 0 10px 10px}.popover.left .arrow:after{right:-1px;bottom:-11px;border-left-color:rgba(0,0,0,0.25);border-width:11px 0 11px 11px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails > li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail > img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.label,.badge{font-size:11.844px;font-weight:700;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar + .bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel .item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item > img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid#fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit p{font-size:18px;font-weight:200;line-height:30px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} \ No newline at end of file diff --git a/output/assets/css/bootstrap-responsive-cb034fa29d4.css b/output/assets/css/bootstrap-responsive-cb034fa29d4.css deleted file mode 100644 index 0d044b1..0000000 --- a/output/assets/css/bootstrap-responsive-cb034fa29d4.css +++ /dev/null @@ -1 +0,0 @@ -.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none !important}.visible-tablet{display:none !important}.hidden-desktop{display:none !important}.visible-desktop{display:inherit !important}@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-tablet{display:inherit !important}.hidden-tablet{display:none !important}}@media (max-width:767px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-phone{display:inherit !important}.hidden-phone{display:none !important}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"] + [class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails > li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"] + [class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media (max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails > li{float:none;margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:auto;margin-left:0}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade.in{top:auto}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-group > label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media (max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav > li{float:none}.nav-collapse .nav > li > a{margin-bottom:2px}.nav-collapse .nav > .divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#555;text-shadow:none}.nav-collapse .nav > li > a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:700;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:400;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li + li a{margin-bottom:2px}.nav-collapse .nav > li > a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav > li > a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important}} \ No newline at end of file diff --git a/output/assets/css/style-cba5092b759.css b/output/assets/css/style-cba5092b759.css deleted file mode 100644 index f23dd68..0000000 --- a/output/assets/css/style-cba5092b759.css +++ /dev/null @@ -1 +0,0 @@ -.hll{background-color:#ffc}.c{color:#408080;font-style:italic}.k{color:#008000;font-weight:700}.o{color:#666}.cm{color:#408080;font-style:italic}.cp{color:#BC7A00}.c1{color:#408080;font-style:italic}.cs{color:#408080;font-style:italic}.gd{color:#A00000}.ge{font-style:italic}.gr{color:red}.gh{color:#000080;font-weight:700}.gi{color:#00A000}.go{color:#808080}.gp{color:#000080;font-weight:700}.gs{font-weight:700}.gu{color:#800080;font-weight:700}.gt{color:#0040D0}.kc{color:#008000;font-weight:700}.kd{color:#008000;font-weight:700}.kn{color:#008000;font-weight:700}.kp{color:#008000}.kr{color:#008000;font-weight:700}.kt{color:#B00040}.m{color:#666}.s{color:#BA2121}.na{color:#7D9029}.nb{color:#008000}.nc{color:#00F;font-weight:700}.no{color:#800}.nd{color:#A2F}.ni{color:#999;font-weight:700}.ne{color:#D2413A;font-weight:700}.nf{color:#00F}.nl{color:#A0A000}.nn{color:#00F;font-weight:700}.nt{color:#008000;font-weight:700}.nv{color:#19177C}.ow{color:#A2F;font-weight:700}.w{color:#bbb}.mf{color:#666}.mh{color:#666}.mi{color:#666}.mo{color:#666}.sb{color:#BA2121}.sc{color:#BA2121}.sd{color:#BA2121;font-style:italic}.s2{color:#BA2121}.se{color:#B62;font-weight:700}.sh{color:#BA2121}.si{color:#B68;font-weight:700}.sx{color:#008000}.sr{color:#B68}.s1{color:#BA2121}.ss{color:#19177C}.bp{color:#008000}.vc{color:#19177C}.vg{color:#19177C}.vi{color:#19177C}.il{color:#666}h1,h2,h3,h4,h5,h6{font-weight:200}article{margin-bottom:30px}article date{display:block;margin-bottom:10px;margin-top:10px}footer{text-align:center;margin-top:20px;padding-top:10px;padding-bottom:10px;border-top:1px grey solid}.doc{margin-top:10px}.alert h4{font-weight:700} \ No newline at end of file diff --git a/output/blog.html b/output/blog.html deleted file mode 100644 index 08b2009..0000000 --- a/output/blog.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Tent - the decentralized social web - - - - - -
-
-
- August 22, 2012 -

Introducing Tent

Tent is a new protocol for open, distributed social networking.

- -

What we believeThe Tent Manifesto

- -

What makes Tent different?

- -

Tent is decentralized, not federated or centralized. Any Tent server can connect - to any other Tent server. All features are available to any server as - first-class citizens. Anyone can host their own Tent server. Tent servers can - also be run as Tor hidden services to create a social darknet for at-risk - organizers and activists. Anyone can write applications that connect to Tent in - order to display or create user content.

- -

Relationships are between users, independent of their service providers, so - users take their data and relationships with them when they change Tent service - providers. Every user decides which other users can follow them and what - information will be shared with each of their followers.

- -

You are your memories and relationships

- -

We use social networks to advertise our identities, communicate with friends, - families, co-workers, customers, and brands. The content we create in the form - of messages, uploaded media, and social graphs is not only valuable, it has come - to define each of us. This information, our relationships and our data needs to - be under our own control. When a user leaves a social service provider for any - reason, that user should be able to take their relationships, not just a copy of - their data, with them. Tent lets them.

- -

Planning for the Future

- -

Tent supports extensible formats for post types and profile information. As - developers' needs change they are free to create new open formats for data - exchange. Tent is built on HTTPS, JSON and OAuth, each of which handles hundreds - of millions of transactions online each day. We designed Tent to grow and adapt - with its users.

- -

The Tent Ecosystem

- -

Tent is not specifying the economics of an ecosystem. There will be many options - for users, from free to paid to self hosted, from ad-supported to - advertising-free, with providers that serve different market segments and - types of users. Since anyone can set up a Tent server or become a service - provider, niche needs should quickly be met, based on demand.

- -

There are many spectrums of need:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
technically experiencedinexperienced
richpoor
ad tolerantad intolerant
verifiedpseudonyms
publicprivate
centralizeddistributed
- -

Next steps

- -

The first Tent server implementation will be available as an open source - repository very soon. A hosted version for users unwilling or unable to host - their own will follow quickly.

- -

In the meantime, we encourage anyone with feedback or suggestions on the protocol or who is developing apps or services supporting Tent to add your services to the list in the GitHub repository via pull request. The - same goes for post-types and profile info-types: a community site will launch - soon, for now, use pull requests or reach out directly: info@tent.io

- -

Read more about Tent in the FAQ and developer documentation.

-
- August 22, 2012 -

The Tent Manifesto

Every user has the right to freedom of expression.

- -

Free speech is a necessary feature of all open societies. Speech can not be free - if communication is centralized or intermediated. Users must be able to say - anything to anyone they want on their own terms.

- -

Every user has the right to control their own data.

- -

This includes who can access the data they create and how that data is later - used.

- -

Every user has the right to choose and change their social services providers.

- -

This includes the right to negotiate reasonable terms of service collectively or - individually.

- -

Every user has the right to host their own social services.

- -

All social service providers must be treated equally, regardless of the number - of user accounts hosted.

- -

Every user has the right to communicate with any other user, regardless of their service provider.

- -

No service provider shall interfere with the communications of any group or pair of users, or exclude any users on the basis of their service provider.

- -

Every user has the right to take their data and relationships with them.

- -

User relationships, like content, belong to the user. When changing service - providers, users have a right to transfer their relationships and data, and for - those relationships and data to be forgotten by the former provider.

- -

Every user has the right to choose their own name.

- -

Pesudonyms, multiple accounts, and anonymity are an integral part of - communications and must not be restricted.

- -

Different users have different needs.

- -

No single company, product, or platform can solve them all equally. The only - ecosystems capable of serving these needs are protocol-based and decentralized. - No user's needs need be served poorly for others' needs to be served.

- -

Communication must be decentralized.

- -

Only decentralized systems provide protection from outside control. - Decentralized systems limit the consequences of a single element failing. - Centralized systems by nature limit what can be shared and by whom. In - distributed systems, users have the power.

- -

Communication protocols must be standardized.

- -

All communication from spoken language to digital packets requires a basic set - of shared ideas. Global communication systems require a greater degree of detail - to be interoperable. These standards must be available to and extensible by the - community of users in order to adapt to changing needs.

- -

The internet is capable of more.

- -

Closed and fragmented systems have stifled growth and change. An open social web - will create a new generation of tools, services, and content impossible in - today's systems.

- -

Conversations change the world.

- -

Every revolution, whether political, scientific, or ideological began as - a conversation. The rules, conventions, and ethics of communication can be - determined only by those participating. Conversation is too important to trust - to any third party.

- -

We're introducing Tent, an open protocol for distributed social networks. - Everyone controls what happens to their content.

-
-
-
- \ No newline at end of file diff --git a/output/blog.xml b/output/blog.xml deleted file mode 100644 index e101b3b..0000000 --- a/output/blog.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - http://tent.io/ - Tent - 2012-08-22T18:05:00Z - - - - Tent - http://tent.io - - - tag:tent.io,2012-08-22:/blog/introducing-tent.html - Introducing Tent - 2012-08-22T18:05:00Z - 2012-08-22T18:05:00Z - - <p>Tent is a new protocol for open, distributed social networking.</p> - -<p><em>What we believe</em> &ndash; <a href="/blog/the-tent-manifesto">The Tent Manifesto</a></p> - -<h3>What makes Tent different?</h3> - -<p>Tent is decentralized, not federated or centralized. Any Tent server can connect -to any other Tent server. All features are available to any server as -first-class citizens. Anyone can host their own Tent server. Tent servers can -also be run as Tor hidden services to create a social darknet for at-risk -organizers and activists. Anyone can write applications that connect to Tent in -order to display or create user content.</p> - -<p>Relationships are between users, independent of their service providers, so -users take their data and relationships with them when they change Tent service -providers. Every user decides which other users can follow them and what -information will be shared with each of their followers.</p> - -<h3>You are your memories and relationships</h3> - -<p>We use social networks to advertise our identities, communicate with friends, -families, co-workers, customers, and brands. The content we create in the form -of messages, uploaded media, and social graphs is not only valuable, it has come -to define each of us. This information, our relationships and our data needs to -be under our own control. When a user leaves a social service provider for any -reason, that user should be able to take their relationships, not just a copy of -their data, with them. Tent lets them.</p> - -<h3>Planning for the Future</h3> - -<p>Tent supports extensible formats for post types and profile information. As -developers&#39; needs change they are free to create new open formats for data -exchange. Tent is built on HTTPS, JSON and OAuth, each of which handles hundreds -of millions of transactions online each day. We designed Tent to grow and adapt -with its users.</p> - -<h3>The Tent Ecosystem</h3> - -<p>Tent is not specifying the economics of an ecosystem. There will be many options -for users, from free to paid to self hosted, from ad-supported to -advertising-free, with providers that serve different market segments and -types of users. Since anyone can set up a Tent server or become a service -provider, niche needs should quickly be met, based on demand.</p> - -<p>There are many spectrums of need:</p> - -<table class="table table-bordered"> - <tbody> - <tr> - <td>technically experienced</td> - <td>inexperienced</td> - </tr> - <tr> - <td>rich</td> - <td>poor</td> - </tr> - <tr> - <td>ad tolerant</td> - <td>ad intolerant</td> - </tr> - <tr> - <td>verified</td> - <td>pseudonyms</td> - </tr> - <tr> - <td>public</td> - <td>private</td> - </tr> - <tr> - <td>centralized</td> - <td>distributed</td> - </tr> - </tbody> -</table> - -<h2>Next steps</h2> - -<p>The first Tent server implementation will be available as an open source -repository very soon. A hosted version for users unwilling or unable to host -their own will follow quickly.</p> - -<p>In the meantime, we encourage anyone with feedback or suggestions on the protocol or who is developing apps or services supporting Tent to add your services to the list in the GitHub repository via pull request. The -same goes for post-types and profile info-types: a community site will launch -soon, for now, use pull requests or reach out directly: <a href="mailto:info@tent.io">info@tent.io</a></p> - -<p>Read more about Tent in the <a href="http://tent.io">FAQ</a> and <a href="/docs/">developer documentation</a>.</p> - - - - tag:tent.io,2012-08-22:/blog/the-tent-manifesto.html - The Tent Manifesto - 2012-08-22T18:00:00Z - 2012-08-22T18:00:00Z - - <h3>Every user has the right to freedom of expression.</h3> - -<p>Free speech is a necessary feature of all open societies. Speech can not be free -if communication is centralized or intermediated. Users must be able to say -anything to anyone they want on their own terms.</p> - -<h3>Every user has the right to control their own data.</h3> - -<p>This includes who can access the data they create and how that data is later -used.</p> - -<h3>Every user has the right to choose and change their social services providers.</h3> - -<p>This includes the right to negotiate reasonable terms of service collectively or -individually.</p> - -<h3>Every user has the right to host their own social services.</h3> - -<p>All social service providers must be treated equally, regardless of the number -of user accounts hosted.</p> - -<h3>Every user has the right to communicate with any other user, regardless of their service provider.</h3> - -<p>No service provider shall interfere with the communications of any group or pair of users, or exclude any users on the basis of their service provider.</p> - -<h3>Every user has the right to take their data and relationships with them.</h3> - -<p>User relationships, like content, belong to the user. When changing service -providers, users have a right to transfer their relationships and data, and for -those relationships and data to be forgotten by the former provider.</p> - -<h3>Every user has the right to choose their own name.</h3> - -<p>Pesudonyms, multiple accounts, and anonymity are an integral part of -communications and must not be restricted.</p> - -<h3>Different users have different needs.</h3> - -<p>No single company, product, or platform can solve them all equally. The only -ecosystems capable of serving these needs are protocol-based and decentralized. -No user&#39;s needs need be served poorly for others&#39; needs to be served.</p> - -<h3>Communication must be decentralized.</h3> - -<p>Only decentralized systems provide protection from outside control. -Decentralized systems limit the consequences of a single element failing. -Centralized systems by nature limit what can be shared and by whom. In -distributed systems, users have the power.</p> - -<h3>Communication protocols must be standardized.</h3> - -<p>All communication from spoken language to digital packets requires a basic set -of shared ideas. Global communication systems require a greater degree of detail -to be interoperable. These standards must be available to and extensible by the -community of users in order to adapt to changing needs.</p> - -<h3>The internet is capable of more.</h3> - -<p>Closed and fragmented systems have stifled growth and change. An open social web -will create a new generation of tools, services, and content impossible in -today&#39;s systems.</p> - -<h3>Conversations change the world.</h3> - -<p>Every revolution, whether political, scientific, or ideological began as -a conversation. The rules, conventions, and ethics of communication can be -determined only by those participating. Conversation is too important to trust -to any third party.</p> - -<p>We&#39;re <a href="/blog/introducing-tent">introducing Tent</a>, an open protocol for distributed social networks. -Everyone controls what happens to their content.</p> - - - - diff --git a/output/blog/introducing-tent.html b/output/blog/introducing-tent.html deleted file mode 100644 index b1bbca5..0000000 --- a/output/blog/introducing-tent.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - Introducing Tent · Tent - the decentralized social web - - - - - -
-
-
- August 22, 2012 -

Introducing Tent

Tent is a new protocol for open, distributed social networking.

- -

What we believeThe Tent Manifesto

- -

What makes Tent different?

- -

Tent is decentralized, not federated or centralized. Any Tent server can connect - to any other Tent server. All features are available to any server as - first-class citizens. Anyone can host their own Tent server. Tent servers can - also be run as Tor hidden services to create a social darknet for at-risk - organizers and activists. Anyone can write applications that connect to Tent in - order to display or create user content.

- -

Relationships are between users, independent of their service providers, so - users take their data and relationships with them when they change Tent service - providers. Every user decides which other users can follow them and what - information will be shared with each of their followers.

- -

You are your memories and relationships

- -

We use social networks to advertise our identities, communicate with friends, - families, co-workers, customers, and brands. The content we create in the form - of messages, uploaded media, and social graphs is not only valuable, it has come - to define each of us. This information, our relationships and our data needs to - be under our own control. When a user leaves a social service provider for any - reason, that user should be able to take their relationships, not just a copy of - their data, with them. Tent lets them.

- -

Planning for the Future

- -

Tent supports extensible formats for post types and profile information. As - developers' needs change they are free to create new open formats for data - exchange. Tent is built on HTTPS, JSON and OAuth, each of which handles hundreds - of millions of transactions online each day. We designed Tent to grow and adapt - with its users.

- -

The Tent Ecosystem

- -

Tent is not specifying the economics of an ecosystem. There will be many options - for users, from free to paid to self hosted, from ad-supported to - advertising-free, with providers that serve different market segments and - types of users. Since anyone can set up a Tent server or become a service - provider, niche needs should quickly be met, based on demand.

- -

There are many spectrums of need:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
technically experiencedinexperienced
richpoor
ad tolerantad intolerant
verifiedpseudonyms
publicprivate
centralizeddistributed
- -

Next steps

- -

The first Tent server implementation will be available as an open source - repository very soon. A hosted version for users unwilling or unable to host - their own will follow quickly.

- -

In the meantime, we encourage anyone with feedback or suggestions on the protocol or who is developing apps or services supporting Tent to add your services to the list in the GitHub repository via pull request. The - same goes for post-types and profile info-types: a community site will launch - soon, for now, use pull requests or reach out directly: info@tent.io

- -

Read more about Tent in the FAQ and developer documentation.

-
-
-
- \ No newline at end of file diff --git a/output/blog/the-tent-manifesto.html b/output/blog/the-tent-manifesto.html deleted file mode 100644 index 32c6950..0000000 --- a/output/blog/the-tent-manifesto.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - The Tent Manifesto · Tent - the decentralized social web - - - - - -
-
-
- August 22, 2012 -

The Tent Manifesto

Every user has the right to freedom of expression.

- -

Free speech is a necessary feature of all open societies. Speech can not be free - if communication is centralized or intermediated. Users must be able to say - anything to anyone they want on their own terms.

- -

Every user has the right to control their own data.

- -

This includes who can access the data they create and how that data is later - used.

- -

Every user has the right to choose and change their social services providers.

- -

This includes the right to negotiate reasonable terms of service collectively or - individually.

- -

Every user has the right to host their own social services.

- -

All social service providers must be treated equally, regardless of the number - of user accounts hosted.

- -

Every user has the right to communicate with any other user, regardless of their service provider.

- -

No service provider shall interfere with the communications of any group or pair of users, or exclude any users on the basis of their service provider.

- -

Every user has the right to take their data and relationships with them.

- -

User relationships, like content, belong to the user. When changing service - providers, users have a right to transfer their relationships and data, and for - those relationships and data to be forgotten by the former provider.

- -

Every user has the right to choose their own name.

- -

Pesudonyms, multiple accounts, and anonymity are an integral part of - communications and must not be restricted.

- -

Different users have different needs.

- -

No single company, product, or platform can solve them all equally. The only - ecosystems capable of serving these needs are protocol-based and decentralized. - No user's needs need be served poorly for others' needs to be served.

- -

Communication must be decentralized.

- -

Only decentralized systems provide protection from outside control. - Decentralized systems limit the consequences of a single element failing. - Centralized systems by nature limit what can be shared and by whom. In - distributed systems, users have the power.

- -

Communication protocols must be standardized.

- -

All communication from spoken language to digital packets requires a basic set - of shared ideas. Global communication systems require a greater degree of detail - to be interoperable. These standards must be available to and extensible by the - community of users in order to adapt to changing needs.

- -

The internet is capable of more.

- -

Closed and fragmented systems have stifled growth and change. An open social web - will create a new generation of tools, services, and content impossible in - today's systems.

- -

Conversations change the world.

- -

Every revolution, whether political, scientific, or ideological began as - a conversation. The rules, conventions, and ethics of communication can be - determined only by those participating. Conversation is too important to trust - to any third party.

- -

We're introducing Tent, an open protocol for distributed social networks. - Everyone controls what happens to their content.

-
-
-
- \ No newline at end of file diff --git a/output/docs.html b/output/docs.html deleted file mode 100644 index 084e157..0000000 --- a/output/docs.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - Protocol Introduction · Tent - the decentralized social web - - - - - -
-
- -
-
-

Alpha Documentation

-

These docs are very rough, incorrect, and incomplete. They will be modified heavily over the next few weeks.

-

Please contribute by making Pull Requests and Issues on the GitHub repository.

-

The Tent Protocol

- -

Tent is a protocol for distributed social networking. It allows you to control -your data, who has access to it, and what can be done with it.

- -

API Overview

- -

Tent is a social layer over HTTP using JSON.

- -

Requests are authenticated with HMAC -signatures, and apps use OAuth 2 to access -content on behalf of users.

- -

Users

- -

Tent users are called entities and are defined by a URI.

- -

Example: John Smith's entity might be https://johnsmith.me/, implying a HEAD -request to -https://johnsmith.me/ would respond with a Link header pointing to -a Tent profile (e.g. https://tent.johnsmith.me/profile)

- -

Profiles

- -

Every Tent entity has a profile JSON file describing it. The most basic profile -has a single object containing the Tent version, the entity name (e.g. -johnsmith.me), an array of supported licences, and an array of servers -containing canonical API roots.

- -

You may have multiple versions of the same info type in your profile (e.g. you -might need to support multiple versions of Tent.)

- -

Servers

- -

Tent servers are the protocol core. A server handles these responsibilities:

- -
    -
  • Persisting data
  • -
  • Notifying other servers about new data
  • -
  • Ensuring content is only pushed to recipients accepting associated licences
  • -
  • Managing a list of servers (entities) it is following
  • -
  • Managing a list of servers (entities) that are following it
  • -
  • Authorizing apps to access data
  • -
  • Notifying apps about new or modified data they have access to
  • -
- -

Apps

- -

Tent apps are typically where content is created and consumed.

- -

For example:

- -
    -
  1. ian-hanson.me (Ian) posts a status update (post) from a micro blogging app authenticated with his server.
  2. -
  3. The app publishes the post to his server.
  4. -
  5. His server sends a notification to every server following him or mentioned in the post with permission to see the post.
  6. -
  7. If anna-collins.me (Anna) is following Ian, her server will receive a notification from Ian’s server containing the post.
  8. -
  9. If Anna has an app setup for consuming status updates, her server will send it a notification with Ian’s post.
  10. -
  11. Anna can now read Ian’s post from the status app.
  12. -
  13. If Anna decides to reply, her response will follow a path inverse to Ian’s post.
  14. -
- -

Posts

- -

Tent posts can be used to describe anything. The term used to describe a piece -of content is post. Posts each have a post type which describes its data.

- -

Notifications

- -

Tent notifications are used when a server needs to let another server or app -know about new content updates. Notifications are JSON POST requests containing -posts.

-
-
-
- \ No newline at end of file diff --git a/output/docs/app-auth.html b/output/docs/app-auth.html deleted file mode 100644 index efd478f..0000000 --- a/output/docs/app-auth.html +++ /dev/null @@ -1,539 +0,0 @@ - - - - App Authentication · Tent - the decentralized social web - - - - - -
-
- -
-
-

Alpha Documentation

-

These docs are very rough, incorrect, and incomplete. They will be modified heavily over the next few weeks.

-

Please contribute by making Pull Requests and Issues on the GitHub repository.

-

App Authentication

- -

Tent uses OAuth 2 for app -authentication. Because of the distributed nature of Tent, it is necessary for -apps to register with the Tent entity before doing the authentication flow.

- -

After the authentication flow, requests are authenticated using the credentials -with MAC Access -Authentication.

- -

App Registration

- -

Before authenticating a user, the application must be registered with the -specified Tent entity. The first step is to perform discovery on the provided -entity url.

-
HEAD / HTTP/1.1
-Accept: application/vnd.tent.v0+json
-
-
-
HTTP/1.1 200 OK
-Content-Type: text/html
-Link: </profile>; rel="https://tent.io/rels/profile"
-
-
- -

The next step is to register the application with the server. Registration -specifies some details about the app, as well as the exact redirect_uris that -will be used during the OAuth flow. The response id, secret, and -mac_algorithm are used to authenticate future requests to the Tent server. -The id is used as the client_id in all OAuth requests.

-
POST /apps HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-
-
-
{
-  "name": "FooApp",
-  "description": "Does amazing foos with your data",
-  "url": "http://example.com",
-  "icon": "http://example.com/icon.png",
-  "redirect_uris": [
-    "https://app.example.com/tent/callback"
-  ],
-  "scopes": {
-    "write_profile": "Uses an app profile section to describe foos",
-    "read_followings": "Calculates foos based on your followings"
-  }
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 459
-
-
-
{
-  "name": "FooApp",
-  "description": "Does amazing foos with your data",
-  "url": "http://example.com",
-  "icon": "http://example.com/icon.png",
-  "redirect_uris": [
-    "https://app.example.com/tent/callback"
-  ],
-  "scopes": {
-    "write_profile": "Uses an app profile section to describe foos",
-    "read_followings": "Calculates foos based on your followings"
-  },
-  "id": "p0cq4m",
-  "mac_key_id": "a:f665629b",
-  "mac_key": "6cda8195d50bb55fb17d22de3f7575de",
-  "mac_algorithm": "hmac-sha-256",
-  "authorizations": [
-
-  ]
-}
-
-
- -

App JSON Schema

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyRequiredTypeDescription
idOptionalStringThe unique identifier of the app.
nameRequiredStringThe short display name for the app.
descriptionRequiredStringThe short display description of the app.
urlRequiredStringThe URL for the home page of the app.
iconOptionalStringThe URL to the icon for the app.
redirect_urisRequiredArrayThe exact (including parameters) uris that will be used as OAuth redirect_uri.
scopesRequiredObjectAll of the scopes that the application will use, and the reason why each is required.
mac_algorithmOptionalStringThe MAC algorithm to use when authenticating the app.
mac_key_idOptionalStringThe MAC key identifier to use when authenticating the app.
mac_keyOptionalStringThe MAC key to use when authenticating the app.
- -

Authentication Flow

- -

Auth Request

- -

The app requests the user's Tent identifier, and performs discovery on it to -find the Tent API root. The app then builds an auth request and redirects the -user-agent to it:

-
/oauth/authorize?client_id=p0cq4m
-  &redirect_uri=http://app.example.com/tent/callback
-  &scope=read_posts,read_profile
-  &state=87351cc2f6737bfc8ba
-  &tent_profile_info_types=https://tent.io/types/info/music/v0.1.0
-  &tent_post_types=https://tent.io/types/posts/status/v0.1.0,https://tent.io/types/posts/photo/v0.1.0
-
-
- -
Parameters
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameRequiredDescription
client_idRequiredThe id obtained by registering with the Tent server
redirect_uriRequiredThe URI to redirect to after authentication is complete. It must exactly match a URI (including parameters) provided during app registration in redirect_uris.
stateOptionalThis parameter will be added to the redirect_uri and should always be set to a random string that is stored in the session, and then verified to prevent cross-site request forgery attacks.
scopeOptionalA comma-separated list of scopes that the app is requesting access to.
tent_profile_info_typesOptionalA comma-separated list of profile info type urls that the app is requesting access to. Set to all to request full access to the profile.
tent_post_typesOptionalA comma-separated list of type urls that the app is requesting access to. Set to all to request access to all posts.
tent_notification_urlOptionalThe URI to send post notifications to.
- -
Scopes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ScopeDescription
read_profileRead profile sections listed in the profile_info parameter
write_profileRead and write profile sections listed in the profile_info parameter
read_followersRead follower list
write_followersRead follower list and block followers
read_followingsRead followings list
write_followingsRead followings list and follow new entities
read_postsRead posts with types listed in the post_types parameter
write_postsRead and publish posts with types listed in the post_types parameter
- -

Redirect

- -

After the user has authorized the application, the Tent server will redirect the -User-Agent back to the specified redirect_uri with a code that can be used -to retrieve authentication details from the server.

- -

The state parameter should be matched against the state parameter sent in -the initial request to prevent request forgery.

-
HTTP/1.1 302 Found
-Location: http://app.example.com/tent/callback?code=9a27c37c0adb08351b1e7aac4ec12dc6&state=87351cc2f6737bfc8ba
-
-
- -

Access Token

- -

The code must be traded for permanent authentication details that can be used -to access the Tent server on behalf of the user.

- -
POST /apps/:id/authorizations
- -

The request must be signed with a MAC using the secret obtained during app -registration. Currently only the mac token_type is supported.

-
POST /apps/p0cq4m/authorizations HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="a:f665629b", ts="1346984266", nonce="1f400b", mac="9kvPu8d7eM0kT/19XjHC39FiOWJZyYHAqbD5cTjAAkc="
-
-
-
{
-  "code": "9a27c37c0adb08351b1e7aac4ec12dc6",
-  "token_type": "mac"
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 124
-
-
-
{
-  "access_token": "u:083dc7a9",
-  "mac_key": "b67e42ad66e10538785d6d1bca024a17",
-  "mac_algorithm": "hmac-sha-256",
-  "token_type": "mac"
-}
-
-
- -
Response Parameters
- - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
access_tokenUsed as the MAC key identifier.
mac_keyUsed as the MAC key for requests.
mac_algorithmThe MAC algorithm to be used.
token_typeSpecifies the token type. Currently always mac
- -

Request Authentication

- -

Tent uses HTTP MAC Access -Authentication to -authenticate app requests. Requests to modify the app's registration details -must be authorized using the provided id and secret as the -MAC key identifier and MAC key respectively.

- -

Requests to the Tent server on behalf of an authenticated user must be -authorized using the credentials retrieved at the end of the auth flow. -The access_token and mac_key are the MAC key identifier and MAC key -respectively.

- -

App Registration Modification

- -

The request must be authenticated with a MAC generated using the secret from the -initial registration.

- -

GET /apps/:id

-
GET /apps/p0cq4m HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="a:f665629b", ts="1346984266", nonce="173d55", mac="lXyfBqkxNmZZ83f5brd1dlgm6V0ZQjkSCSwjnR5U6Fo="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Content-Length: 853
-
-
-
{
-  "name": "FooApp",
-  "description": "Does amazing foos with your data",
-  "url": "http://example.com",
-  "icon": "http://example.com/icon.png",
-  "redirect_uris": [
-    "https://app.example.com/tent/callback"
-  ],
-  "scopes": {
-    "write_profile": "Uses an app profile section to describe foos",
-    "read_followings": "Calculates foos based on your followings"
-  },
-  "id": "p0cq4m",
-  "authorizations": [
-    {
-      "post_types": [
-        "https://tent.io/types/post/status/v0.1.0",
-        "https://tent.io/types/post/photo/v0.1.0"
-      ],
-      "profile_info_types": [
-        "https://tent.io/types/info/basic/v0.1.0"
-      ],
-      "scopes": [
-        "read_posts",
-        "write_posts",
-        "import_posts",
-        "read_profile",
-        "write_profile",
-        "read_followers",
-        "write_followers",
-        "read_followings",
-        "write_followings",
-        "read_groups",
-        "write_groups",
-        "read_permissions",
-        "write_permissions",
-        "read_apps",
-        "write_apps",
-        "follow_ui",
-        "read_secrets",
-        "write_secrets"
-      ],
-      "notification_url": null,
-      "id": "ha4g6i"
-    }
-  ]
-}
-
-
- -

PUT /apps/:id

-
PUT /apps/p0cq4m HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="a:f665629b", ts="1346984266", nonce="722389", mac="X0okwuXuknoB+FjbVS02LzIvL4dmYDHlnkSjwmmpBMg="
-
-
-
{
-  "name": "FooApp",
-  "description": "Does amazing foos with your data",
-  "url": "http://example.com",
-  "icon": "http://example.com/icon.png",
-  "redirect_uris": [
-    "https://app.example.com/tent/callback"
-  ],
-  "scopes": {
-    "write_profile": "Uses an app profile section to describe foos",
-    "read_followings": "Calculates foos based on your followings",
-    "write_following": "Follow new users when you click"
-  }
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 905
-
-
-
{
-  "name": "FooApp",
-  "description": "Does amazing foos with your data",
-  "url": "http://example.com",
-  "icon": "http://example.com/icon.png",
-  "redirect_uris": [
-    "https://app.example.com/tent/callback"
-  ],
-  "scopes": {
-    "write_profile": "Uses an app profile section to describe foos",
-    "read_followings": "Calculates foos based on your followings",
-    "write_following": "Follow new users when you click"
-  },
-  "id": "p0cq4m",
-  "authorizations": [
-    {
-      "post_types": [
-        "https://tent.io/types/post/status/v0.1.0",
-        "https://tent.io/types/post/photo/v0.1.0"
-      ],
-      "profile_info_types": [
-        "https://tent.io/types/info/basic/v0.1.0"
-      ],
-      "scopes": [
-        "read_posts",
-        "write_posts",
-        "import_posts",
-        "read_profile",
-        "write_profile",
-        "read_followers",
-        "write_followers",
-        "read_followings",
-        "write_followings",
-        "read_groups",
-        "write_groups",
-        "read_permissions",
-        "write_permissions",
-        "read_apps",
-        "write_apps",
-        "follow_ui",
-        "read_secrets",
-        "write_secrets"
-      ],
-      "notification_url": null,
-      "id": "ha4g6i"
-    }
-  ]
-}
-
-
-
-
-
- \ No newline at end of file diff --git a/output/docs/app-server.html b/output/docs/app-server.html deleted file mode 100644 index f82475b..0000000 --- a/output/docs/app-server.html +++ /dev/null @@ -1,591 +0,0 @@ - - - - Server API for Apps · Tent - the decentralized social web - - - - - -
-
- -
-
-

Alpha Documentation

-

These docs are very rough, incorrect, and incomplete. They will be modified heavily over the next few weeks.

-

Please contribute by making Pull Requests and Issues on the GitHub repository.

-

Server API for Apps

- -

GET /profile

-
GET /profile HTTP/1.1
-Accept: application/vnd.tent.v0+json
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 420
-
-
-
{
-  "https://tent.io/types/info/core/v0.1.0": {
-    "licenses": [
-      "http://creativecommons.org/licenses/by/3.0/"
-    ],
-    "entity": "https://example.org",
-    "servers": [
-      "https://tent.example.org",
-      "http://eqt5g4fuenphqinx.onion/"
-    ]
-  },
-  "https://tent.io/types/info/basic/v0.1.0": {
-    "name": "The Tentity",
-    "avatar_url": "http://example.org/avatar.jpg",
-    "birthdate": "2012-08-23",
-    "location": "The Internet",
-    "gender": "Unknown",
-    "bio": "Et repudiandae et itaque."
-  }
-}
-
-
- -

PUT /profile/:type

-
PUT /profile/https%3A%2F%2Ftent.io%2Ftypes%2Finfo%2Fbasic%2Fv0.1.0 HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="53958a", mac="tyDhHq7ys5JWbXRbunucJt10Hr1GpJxQWZRfGWm9Abs="
-
-
-
{
-  "name": "The Tentity",
-  "avatar_url": "http://example.org/avatar.jpg",
-  "birthdate": "2012-08-23",
-  "location": "The Internet",
-  "gender": "Unknown",
-  "bio": "Exercitationem perferendis voluptatem ad dolorem velit dolores cumque vero."
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 470
-
-
-
{
-  "https://tent.io/types/info/core/v0.1.0": {
-    "licenses": [
-      "http://creativecommons.org/licenses/by/3.0/"
-    ],
-    "entity": "https://example.org",
-    "servers": [
-      "https://tent.example.org",
-      "http://eqt5g4fuenphqinx.onion/"
-    ]
-  },
-  "https://tent.io/types/info/basic/v0.1.0": {
-    "name": "The Tentity",
-    "avatar_url": "http://example.org/avatar.jpg",
-    "birthdate": "2012-08-23",
-    "location": "The Internet",
-    "gender": "Unknown",
-    "bio": "Exercitationem perferendis voluptatem ad dolorem velit dolores cumque vero."
-  }
-}
-
-
- -

POST /followings

-
POST /followings HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="9aa86d", mac="Phkn5uHbA4vZxUFxTRDYV+XdqyH/fd6VG8DR41aIKn4="
-
-
-
{
-  "entity": "https://example.org"
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 211
-
-
-
{
-  "remote_id": "eazohw",
-  "entity": "https://example.org",
-  "permissions": {
-    "groups": [
-
-    ],
-    "entities": {
-    },
-    "public": false
-  },
-  "id": "icb7x0",
-  "created_at": 1346984266,
-  "updated_at": 1346984266,
-  "groups": [
-
-  ],
-  "profile": {
-  },
-  "licenses": [
-
-  ]
-}
-
-
- -

GET /followings

-
GET /followings HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="5fb6eb", mac="rT3N3hbziQMelFZrq3dzLoyBJhvPd5NUiJ4wPumY30A="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: private
-Content-Length: 213
-
-
-
[
-  {
-    "remote_id": "eazohw",
-    "entity": "https://example.org",
-    "permissions": {
-      "groups": [
-
-      ],
-      "entities": {
-      },
-      "public": false
-    },
-    "id": "icb7x0",
-    "created_at": 1346984266,
-    "updated_at": 1346984266,
-    "groups": [
-
-    ],
-    "profile": {
-    },
-    "licenses": [
-
-    ]
-  }
-]
-
-
- -

GET /followings/:id

-
GET /followings HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="5fb6eb", mac="rT3N3hbziQMelFZrq3dzLoyBJhvPd5NUiJ4wPumY30A="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: private
-Content-Length: 213
-
-
-
[
-  {
-    "remote_id": "eazohw",
-    "entity": "https://example.org",
-    "permissions": {
-      "groups": [
-
-      ],
-      "entities": {
-      },
-      "public": false
-    },
-    "id": "icb7x0",
-    "created_at": 1346984266,
-    "updated_at": 1346984266,
-    "groups": [
-
-    ],
-    "profile": {
-    },
-    "licenses": [
-
-    ]
-  }
-]
-
-
- -

DELETE /followings/:id

-
DELETE /followings/icb7x0 HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="681e1c", mac="4fOAdx3lv4Yz/xwDRWnui5RXvUbgjbLLajG1jCXMZeQ="
-
-
-
HTTP/1.1 200 OK
-Content-Type: text/html
-Content-Length: 0
-
-
- -

GET /followers

-
GET /followers HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="867d51", mac="s72ysBXjISmuyTEsL0XMymcBgL67kxLHetvdpn5no/s="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: private
-Content-Length: 1432
-
-
-
[
-  {
-    "entity": "https://example.org",
-    "permissions": {
-      "groups": [
-
-      ],
-      "entities": {
-      },
-      "public": false
-    },
-    "id": "7m3dto",
-    "created_at": 1346984266,
-    "updated_at": 1346984266,
-    "groups": [
-
-    ],
-    "profile": {
-      "https://tent.io/types/info/core/v0.1.0": {
-        "licenses": [
-          "http://creativecommons.org/licenses/by/3.0/"
-        ],
-        "entity": "https://example.org",
-        "servers": [
-          "https://tent.example.org",
-          "http://eqt5g4fuenphqinx.onion/"
-        ]
-      },
-      "https://tent.io/types/info/basic/v0.1.0": {
-        "name": "The Tentity",
-        "avatar_url": "http://example.org/avatar.jpg",
-        "birthdate": "2012-08-23",
-        "location": "The Internet",
-        "gender": "Unknown",
-        "bio": "Et repudiandae et itaque."
-      }
-    },
-    "licenses": [
-      "http://creativecommons.org/licenses/by/3.0/"
-    ],
-    "types": [
-      "https://tent.io/types/post/essay/v0.1.0#full"
-    ]
-  },
-  {
-    "entity": "https://example.org",
-    "permissions": {
-      "groups": [
-
-      ],
-      "entities": {
-      },
-      "public": false
-    },
-    "id": "eazohw",
-    "created_at": 1346984266,
-    "updated_at": 1346984266,
-    "groups": [
-
-    ],
-    "profile": {
-      "https://tent.io/types/info/core/v0.1.0": {
-        "licenses": [
-          "http://creativecommons.org/licenses/by/3.0/"
-        ],
-        "entity": "https://example.org",
-        "servers": [
-          "https://tent.example.org",
-          "http://eqt5g4fuenphqinx.onion/"
-        ]
-      },
-      "https://tent.io/types/info/basic/v0.1.0": {
-        "name": "The Tentity",
-        "avatar_url": "http://example.org/avatar.jpg",
-        "birthdate": "2012-08-23",
-        "location": "The Internet",
-        "gender": "Unknown",
-        "bio": "Exercitationem perferendis voluptatem ad dolorem velit dolores cumque vero."
-      }
-    },
-    "licenses": [
-      "http://creativecommons.org/licenses/by/3.0/"
-    ],
-    "types": [
-      "all"
-    ]
-  }
-]
-
-
- -

GET /followers/:id

-
GET /followers/7m3dto HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="s:16e9933f", ts="1346984266", nonce="3824e1", mac="aRnrSo+80AHRru2FJE1Sj6GfCsmpKcyv7w5FZONAtOM="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: private
-Content-Length: 152
-
-
-
{
-  "entity": "https://example.org",
-  "permissions": {
-    "public": false
-  },
-  "id": "7m3dto",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "types": [
-    "all"
-  ]
-}
-
-
- -

DELETE /followers/:id

-
DELETE /followers/eazohw HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="s:16e9933f", ts="1346984266", nonce="fa20ba", mac="SkbEBnIsBUvZ9jLce6cXfry7dqNN9OELnnF1UvwkHys="
-
-
-
HTTP/1.1 403 Forbidden
-Content-Type: text/html
-Content-Length: 12
-
-
-
Unauthorized
-
-
- -

POST /posts

-
POST /posts HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="25d6b6", mac="En8hMilWUOdUKaaKBbGduhsSKU/a/01NmlPd/knxf4w="
-
-
-
{
-  "type": "https://tent.io/types/post/status/v0.1.0",
-  "published_at": 1346984266,
-  "permissions": {
-    "public": true
-  },
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "content": {
-    "text": "Just landed.",
-    "location": {
-      "type": "Point",
-      "coordinates": [
-        50.923878,
-        4.028605
-      ]
-    }
-  }
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 471
-
-
-
{
-  "entity": "https://example.org",
-  "type": "https://tent.io/types/post/status/v0.1.0",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "content": {
-    "text": "Just landed.",
-    "location": {
-      "type": "Point",
-      "coordinates": [
-        50.923878,
-        4.028605
-      ]
-    }
-  },
-  "published_at": 1346984266,
-  "permissions": {
-    "groups": [
-
-    ],
-    "entities": {
-    },
-    "public": true
-  },
-  "id": "xk3mlq",
-  "updated_at": 1346984266,
-  "received_at": 1346984266,
-  "app": {
-    "url": "http://example.com",
-    "name": "FooApp"
-  },
-  "attachments": [
-
-  ],
-  "known_entity": null
-}
-
-
- -

GET /posts

-
GET /posts HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="c45f60", mac="gGFV+/u8vMxq0Inp40dlzyN40k9Y1YNriznzv7QKKOA="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: private
-Content-Length: 473
-
-
-
[
-  {
-    "entity": "https://example.org",
-    "type": "https://tent.io/types/post/status/v0.1.0",
-    "licenses": [
-      "http://creativecommons.org/licenses/by/3.0/"
-    ],
-    "content": {
-      "text": "Just landed.",
-      "location": {
-        "type": "Point",
-        "coordinates": [
-          50.923878,
-          4.028605
-        ]
-      }
-    },
-    "published_at": 1346984266,
-    "permissions": {
-      "groups": [
-
-      ],
-      "entities": {
-      },
-      "public": true
-    },
-    "id": "xk3mlq",
-    "updated_at": 1346984266,
-    "received_at": 1346984266,
-    "app": {
-      "url": "http://example.com",
-      "name": "FooApp"
-    },
-    "attachments": [
-
-    ],
-    "known_entity": null
-  }
-]
-
-
- -

GET /posts/:id

-
GET /posts/xk3mlq HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="u:083dc7a9", ts="1346984266", nonce="026f07", mac="mvVK92nXEX8XQor+x4nH46OcvtopAX8YHJwiiylH8r0="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: public
-Content-Length: 471
-
-
-
{
-  "entity": "https://example.org",
-  "type": "https://tent.io/types/post/status/v0.1.0",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "content": {
-    "text": "Just landed.",
-    "location": {
-      "type": "Point",
-      "coordinates": [
-        50.923878,
-        4.028605
-      ]
-    }
-  },
-  "published_at": 1346984266,
-  "permissions": {
-    "groups": [
-
-    ],
-    "entities": {
-    },
-    "public": true
-  },
-  "id": "xk3mlq",
-  "updated_at": 1346984266,
-  "received_at": 1346984266,
-  "app": {
-    "url": "http://example.com",
-    "name": "FooApp"
-  },
-  "attachments": [
-
-  ],
-  "known_entity": null
-}
-
-
-
-
-
- \ No newline at end of file diff --git a/output/docs/info-types.html b/output/docs/info-types.html deleted file mode 100644 index 2f77ecd..0000000 --- a/output/docs/info-types.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - Profile Info Types · Tent - the decentralized social web - - - - - -
-
- -
-
-

Alpha Documentation

-

These docs are very rough, incorrect, and incomplete. They will be modified heavily over the next few weeks.

-

Please contribute by making Pull Requests and Issues on the GitHub repository.

-

Profile Info Types

- -

Core

- -

https://tent.io/types/info/core/v0.1.0

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyRequiredTypeDescription
entityOptionalStringThe canonical entity identitifier.
licensesOptionalArrayThe licenses the entity publishes content under.
serversOptionalArrayThe canonical API roots that can be used to interact with the entity.
- -

Basic

- -

https://tent.io/types/info/basic/v0.1.0

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyRequiredTypeDescription
nameOptionalStringName to be displayed publicly.
avatar_urlOptionalStringURL to avatar to be displayed publicly.
birthdateOptionalStringDate of birth in one of these formats: YYYY-MM-DD, YYYY-MM, MM-DD
locationOptionalStringLocation to be displayed publicly.
genderOptionalStringGender to be displayed publicly.
bioOptionalStringBiography/self-description to be displayed publicly.
-
-
-
- \ No newline at end of file diff --git a/output/docs/post-types.html b/output/docs/post-types.html deleted file mode 100644 index 50aae3a..0000000 --- a/output/docs/post-types.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - Post Types · Tent - the decentralized social web - - - - - -
-
- -
-
-

Alpha Documentation

-

These docs are very rough, incorrect, and incomplete. They will be modified heavily over the next few weeks.

-

Please contribute by making Pull Requests and Issues on the GitHub repository.

-

Post Types

- -

Status

- -

https://tent.io/types/post/status/v0.1.0

- - - - - - - - - - - - - - - - - - - - - - - -
PropertyRequiredTypeDescription
textOptionalStringThe status text.
locationOptionalObjectThe GeoJSON Point from which the post originated.
- -

Essay

- -

https://tent.io/types/post/essay/v0.1.0

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyRequiredTypeDescription
titleOptionalStringThe title of the post.
excerptOptionalStringAn excerpt of the post in HTML format to be displayed when the whole post is not available.
bodyRequiredStringThe body of the post in HTML format. Renderers may sanitize some HTML.
tagsOptionalArrayTags that describe the post.
- -

Photo

- -

https://tent.io/types/post/album/v0.1.0

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyRequiredTypeDescription
captionOptionalStringA caption that describes the photo.
albumsOptionalArrayA list of the Post IDs of albums that this photo belongs to.
tagsOptionalArrayA list of tags that describe this photo.
exifOptionalObjectThe EXIF data that describes the photo.
- -

Album

- -

https://tent.io/types/post/album/v0.1.0

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyRequiredTypeDescription
titleOptionalStringThe title of the album.
descriptionOptionalStringThe description of the album.
photosRequiredArrayThe list of Post IDs of photos that the album contains.
coverOptionalStringThe Post ID of a photo that should be used as the cover/display image for the album.
-
-
-
- \ No newline at end of file diff --git a/output/docs/server-protocol.html b/output/docs/server-protocol.html deleted file mode 100644 index cd8ce82..0000000 --- a/output/docs/server-protocol.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - Tent - the decentralized social web - - - - - -
-
- -
-
-

Alpha Documentation

-

These docs are very rough, incorrect, and incomplete. They will be modified heavily over the next few weeks.

-

Please contribute by making Pull Requests and Issues on the GitHub repository.

-

Tent Server-Server Communication Protocol

- -

This document describes the protocol that Tent servers use to communicate with -each other.

- -

Server Discovery

- -

Server discovery is done through HTTP Link headers as well as HTML link -tags. Multiple links may be presented, and should be tried by the client in -order.

- -

HTTP Link Header

- -

The HTTP header allows discovery of Tent servers by just doing a HEAD request -instead of getting the page and parsing it for the link tag. It should be -added to all responses associated with the Tent entity.

-
Link: <https://tent.titanous.com/profile>; rel="https://tent.io/rels/profile"
-
-
- -

HTML link tag

- -

The link tag should be placed in the head tag of all HTML pages associated -with the Tent entity.

-
<link href="https://tent.titanous.com/profile" rel="https://tent.io/rels/profile" />
-
-
- -

Follow an entity

- -

A follow request is required in order to receive notifications about posts -published by an entity.

- -

POST /followers

-
POST /followers HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-
-
-
{
-  "entity": "https://example.org",
-  "types": [
-    "all"
-  ],
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ]
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 254
-
-
-
{
-  "entity": "https://example.org",
-  "permissions": {
-    "public": false
-  },
-  "id": "7m3dto",
-  "mac_key_id": "s:16e9933f",
-  "mac_key": "fd45af54f59b930e5e6eab4bf1e6a0f3",
-  "mac_algorithm": "hmac-sha-256",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "types": [
-    "all"
-  ]
-}
-
-
- -

Authentication

- -

All requests should be made using SSL.

- -

Authentication is required to access resources that are not marked as public.

- -

Tent uses MAC Access -Authentication -for all requests.

- -

All requests must be signed using MAC, and all notifications from the server -are signed as well.

- -

Get Current Following

- -

GET /followers/:id

-
GET /followers/7m3dto HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="s:16e9933f", ts="1346984266", nonce="3824e1", mac="aRnrSo+80AHRru2FJE1Sj6GfCsmpKcyv7w5FZONAtOM="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: private
-Content-Length: 152
-
-
-
{
-  "entity": "https://example.org",
-  "permissions": {
-    "public": false
-  },
-  "id": "7m3dto",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "types": [
-    "all"
-  ]
-}
-
-
- -

Edit Following

- -

PUT /followers/:id

-
PUT /followers/7m3dto HTTP/1.1
-Content-Type: application/vnd.tent.v0+json
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="s:16e9933f", ts="1346984266", nonce="6e4ff8", mac="MAr2L6Z1ZcAe4tv5XGmafCUH8w/OrkUFpJKhK8dtoBs="
-
-
-
{
-  "entity": "https://example.org",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "types": [
-    "https://tent.io/types/post/essay/v0.1.0#full"
-  ]
-}
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Content-Length: 193
-
-
-
{
-  "entity": "https://example.org",
-  "permissions": {
-    "public": false
-  },
-  "id": "7m3dto",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "types": [
-    "https://tent.io/types/post/essay/v0.1.0#full"
-  ]
-}
-
-
- -

Stop Following

- -

DELETE /followers/:id

-
DELETE /followers/eazohw HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="s:16e9933f", ts="1346984266", nonce="fa20ba", mac="SkbEBnIsBUvZ9jLce6cXfry7dqNN9OELnnF1UvwkHys="
-
-
-
HTTP/1.1 403 Forbidden
-Content-Type: text/html
-Content-Length: 12
-
-
-
Unauthorized
-
-
- -

Fetch Posts

- -

GET /posts

-
GET /posts HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="s:16e9933f", ts="1346984266", nonce="11a3ee", mac="30RvjuvuDkTitC+iubWLvMfqyr2JegqtrKaSE+cEN78="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: private
-Content-Length: 378
-
-
-
[
-  {
-    "entity": "https://example.org",
-    "type": "https://tent.io/types/post/status/v0.1.0",
-    "licenses": [
-      "http://creativecommons.org/licenses/by/3.0/"
-    ],
-    "content": {
-      "text": "Just landed.",
-      "location": {
-        "type": "Point",
-        "coordinates": [
-          50.923878,
-          4.028605
-        ]
-      }
-    },
-    "published_at": 1346984266,
-    "permissions": {
-      "public": true
-    },
-    "id": "xk3mlq",
-    "app": {
-      "url": "http://example.com",
-      "name": "FooApp"
-    },
-    "attachments": [
-
-    ]
-  }
-]
-
-
- -

GET /posts/:id

-
GET /posts/xk3mlq HTTP/1.1
-Accept: application/vnd.tent.v0+json
-Authorization: MAC id="s:16e9933f", ts="1346984266", nonce="e9d768", mac="gaw/GTjat0ANZmdoo+X4NHpAk+SuJNLj+rSGdcD0JbE="
-
-
-
HTTP/1.1 200 OK
-Content-Type: application/vnd.tent.v0+json
-Last-Modified: Fri, 07 Sep 2012 02:17:46 GMT
-Cache-Control: public
-Content-Length: 376
-
-
-
{
-  "entity": "https://example.org",
-  "type": "https://tent.io/types/post/status/v0.1.0",
-  "licenses": [
-    "http://creativecommons.org/licenses/by/3.0/"
-  ],
-  "content": {
-    "text": "Just landed.",
-    "location": {
-      "type": "Point",
-      "coordinates": [
-        50.923878,
-        4.028605
-      ]
-    }
-  },
-  "published_at": 1346984266,
-  "permissions": {
-    "public": true
-  },
-  "id": "xk3mlq",
-  "app": {
-    "url": "http://example.com",
-    "name": "FooApp"
-  },
-  "attachments": [
-
-  ]
-}
-
-
- -

Notifications

- -

Notifications of new content are sent as POST requests to /posts and -authenticated using the negotiated credentials.

-
-
-
- \ No newline at end of file diff --git a/output/index.html b/output/index.html deleted file mode 100644 index e28d533..0000000 --- a/output/index.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - Tent - the decentralized social web - - - - - -
-
-

What is Tent?

- -

Tent is a protocol for open, decentralized social networking. Tent users share content with - apps and each other. Anyone can run a Tent server, or write an app or alternative server implementation - that uses the Tent protocol. Users can take their content and relationships with - them when they change or move servers. Tent supports extensible data types so developers can create new kinds of interaction.

- -

Tent is for sharing with others and seeing what others have shared with you. You can ask to follow other users and other users can follow you. Because you control your own Tent server, it is also a good place to store things you do not - want to share with others, a sort of personal data vault. It can also be used as a secure site login replacement so you don't need passwords when accessing other sites on the web.

- -

Why is Tent decentralized?

- -

Decentralized services are resilient. If one part breaks or is turned off the other parts continue to operate normally. The Internet is decentralized. That's why the whole Internet doesn't shut down when one site or server is having problems. Important systems should be decentralized. The Internet itself, and the most important services on it, like the World Wide Web and email, are all decentralized systems based on open protocols. So is Tent. Most existing social sites could be reimplemented using Tent.

- -

Decentralized services put users in control. Companies and products do not last forever. If a company changes its terms, shuts down, is acquired, discontinues a product, no problem – users can take their data and services with them and set up somewhere else – on their own server or at another service provider. Decentralized, protocol-based systems offer users a choice of providers and developers the opportunity to innovate, since developers deal directly with users, not a platform or company.

- -

Distributed services using protocols have another big advantage: users on a network separated from the regular internet can still use them. Some countries and Internet Service Providers block access to services, users, and content that clash with the adminstration's politics. Totalitarian regimes have blocked centralized social networks, but distributed services inside the country, like that nation's web often continue to operate. Tent servers can be accessed over a wireless mesh network and run as a Tor hidden service, unlike centralized social networks.

- -

The social web is too important to leave in the hands of any one company or government. The services on which the world depends need to be decentralized. Using Tent, the world can depend on social.

- -

What does Tent do?

- -

Tent servers maintain relationships between users and manage apps. Users create and view content on apps. When a users creates new content, their Tent server sends it to the followers they chose. It also listens for and stores new messages and content from the people and organizations that user follows. Every user on Tent also has a profile that stores basic information about the user. Tent also lets users control which apps can access their data and what can be done with it.

- -

How can I use Tent?

- -

First you need a Tent server. A Tent server sends new content to your followers - and listens for new content from people you follow. It stores all this content - safely so it's available for you to view later. You view and create content with - apps. Apps connect to your server to post new content you've created and ask for - content from people you follow. You can limit apps so they can't see all your - content. If you have private photos or messages, you might want only a few apps - to see them.

- -

Soon you will be able to download and run Tent server on your own hardware or get started with - a hosted provider who runs the server for you. You could also write your own - server and apps from scratch using the developer documentation.

- -

Can I switch Tent servers?

- -

Absolutely! And you can take your relationships – your followers with you. If - a service provider changes its terms, shuts down, is acquired, discontinues - a product, no problem – you can take your data and relationships with you and - set up somewhere else – on your own server or at another provider.

- -

Can I get my data out of Tent?

- -

Of course! There are two simple ways: with an app or another Tent server. Just - authorize a Tent app or a new Tent server to view the content and it will - transfer over automatically.

- -

What can Tent users do that they could not on other social networks?

- -

Tent users can take their relationships–the users they follow and the users who follow - them–and their content with them. Tent also lets them control their data, decide who - can see it, and how they can use it. Tent is distributed and an open protocol, - so if they don't like an app or service they can change - providers or write their own.

- -

They do not have to tell anyone about their Tent servers. They can also run a Tent - server as a Tor hidden service, making it even harder for anyone to silence their voices online or track them down. Tent respects pseudonyms, handles, and everyone's - right to anonymity. Since users control their own Tent servers, they also choose their - name, which can be anything they want.

- -

Even more features are coming in the next version of Tent.

- -

What is wrong with other social services?

- -

Centralized Social Service Providers limit what you can share and who - you can share with. They only allow users to interact with other users on the same network. - Because their products are centralized and maintained by a company, users are left in the cold when the company changes its products or shuts down. There's nothing wrong with a company offering users social services. But users shouldn't be limited by those companies. Imagine if you could only email other customers of your Internet Service Provider. - Unfortunately Centralized Social Service Providers have done just that. You can only communicate directly with other users of their closed network.

- -

If you don't like a bank you can withdraw your money and deposit it somewhere else, including your own home. You could even start a new bank where you and your friends felt safe. You can still pay your bills and maintain your financial - relationships, just tell them about your new account. We aren't talking about money. Your data is far more valuable– your family and friends' photos, locations, and private communications. You should be able to store them somewhere you trust, move them when you want, control who can and can't see them.

- -

What about the federated social web?

- -

Federated services add a few capabilities to Centralized Social Service - Providers' products. Generally users can broadcast a stream of public events to - other services in the Federation. Because private messages (and many other - important features) are beyond the scope of most federation protocols, users can - not send private messages to users of other Social Service Providers. Since - these features are not standardized, Social Service Providers must implement - proprietary features. This locks users into a specific Social Service Provider, - and causes fragmentation which prevents interoperability. Diaspora* and OStatus - were the first steps in moving away from Centralized Social Service Providers, but - stopped short of actual decentralization. Any long-term solution will require - a fully distributed architecture in its core design.

- -

Does Tent have ads?

- -

Tent is a protocol like email or the World Wide Web. Anyone can run their own - Tent server (which would be ad-free) or host a Tent server for others. Just like - email, some providers show ads to make money so they can host your Tent server - for free. Others charge users directly and don't need ads. It's your choice.

- -

Does Tent cost money?

- -

Tent is a set of protocols like email or the world wide web. Tent itself is and - will always be free. Anyone can run or implement a Tent service or write a new - app that works with Tent. Just like email, some providers are free and others - cost money. Don't like any of the existing providers? Start your own.

- -

What is a protocol?

- -

A protocol defines how to do something in a standard way. Our daily lives are - filled with protocols. If you want to enter someone's home, knock or ring the - doorbell first. If you attach a stamp to a letter and address it properly, the - post office will mail it for you. You don't have to have a conversation with the - letter carrier each time. Computers need protocols to handle information properly. Tent tells computers how to handle social information – what to share with a specific group of followers or apps, and what to keep private. It also helps you tell another user that you want to know when they post new information, like a status or photo.

- -

Why doesn't Tent use my favorite protocol?

- -

The architects of Tent investigated existing protocols for the distributed - social web. Each of them lacked several critical features necessary for modern users.

- -

Can I donate to Tent?

- -

Tent needs you, not your money. There are several ways you can help:

- -
    -
  1. Start your own Tent server. The most important thing you can do is switch to - using Tent. Very soon you will be able to download the source code for Tent server and host your own. - There will also be a hosted service at Tent.is soon.
  2. -
  3. Tell your friends. The next generation of the social web won't be of much - use if people don't use it for their social networks. Tell your friends to - get a Tent server and proudly display your Tent address throughout your - world–on your business card, email signatures, and other social services.
  4. -
  5. Suggest a feature or change in Tent. Tent is still under development. If you - see something wrong or confusing or think we left something out, please tell - us by emailing comment@tent.io or creating an issue on our github repository.
  6. -
  7. Build for Tent. Please integrate Tent support into your existing and new - services. The Tent ecosystem needs apps as much as users. Tent gives - developers much more freedom than Centralized Social Service Providers have - allowed before. We can't wait to see what the community comes up with. Client - libraries are coming soon.
  8. -
  9. Ask others to build for Tent Request Tent support in your favorite social apps. Developers will only support new protocols if they know their users are interested and will use the new features. Tell them you want support for Tent.
  10. -
- -

Is there a Tent app for my favorite activity?

- -

If there isn't you should write one!

- -

Where did Tent come from?

- -

Tent began after a conversation between Jonathan Rudenberg, Daniel Siders, Jesse - Stuart, and Lucas Wojciechowski. It was inspired by Hypertext, Xanadu, SMTP, the - World Wide Web, and distributed peer-to-peer services.

- -

How is Tent licensed?

- -

Tent will be completely free and open and treated as a standard. To prevent fragmentation before launch, the original authors currently retain copyright. This is a temporary situation which will be remedied immediately after a governance model is chosen. We decided it would be best to share what we could as soon as possible, releasing early and often. We are entirely committed to free and open software and protocols with open governance models leading to a ratified standard. Tent will be released under an open license in the immediate future.

-
-
-

For updates on Tent, sign up here:

-
- -
-
-
-
- \ No newline at end of file diff --git a/output/robots.txt b/output/robots.txt deleted file mode 100644 index 088f77e..0000000 --- a/output/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -User-agent: * -Allow: * -Sitemap: http://tent.io/sitemap.xml diff --git a/output/sitemap.xml b/output/sitemap.xml deleted file mode 100644 index f4e3d5d..0000000 --- a/output/sitemap.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - http://tent.io/blog/introducing-tent - 2012-08-23 - - - http://tent.io/blog/the-tent-manifesto - 2012-08-23 - - - http://tent.io/blog - 2012-08-22 - - - http://tent.io/docs/app-auth - 2012-09-06 - - - http://tent.io/docs/app-server - 2012-09-06 - - - http://tent.io/docs - 2012-09-06 - - - http://tent.io/docs/info-types - 2012-09-06 - - - http://tent.io/docs/post-types - 2012-09-06 - - - http://tent.io/docs/server-protocol - 2012-09-06 - - - http://tent.io - 2012-08-22 - -