From 571bf45a3b080d16fd73817f14304059251734d3 Mon Sep 17 00:00:00 2001 From: Alexander 'AlexFinn' Ivanov Date: Thu, 19 Jun 2014 14:02:28 +0400 Subject: Added theme files --- README.md | 2 + archetypes/default.md | 5 + layouts/_default/indexes.html | 6 + layouts/_default/li.html | 5 + layouts/_default/single.html | 28 ++ layouts/chrome/about.html | 5 + layouts/chrome/analytics.html | 10 + layouts/chrome/disqus.html | 14 + layouts/chrome/footer.html | 6 + layouts/chrome/header.html | 23 ++ layouts/chrome/includes.html | 4 + layouts/chrome/menu.html | 7 + layouts/chrome/meta.html | 12 + layouts/index.html | 45 ++ layouts/indexes/indexes.html | 14 + layouts/indexes/tag.html | 16 + layouts/rss.xml | 20 + layouts/shortcodes/endbox.html | 1 + layouts/shortcodes/fig.html | 18 + layouts/shortcodes/startbox.html | 1 + static/404.html | 1 + static/bootstrap/css/milk-responsive.min.css | 1 + static/bootstrap/css/milk.min.css | 1 + static/bootstrap/img/controls.png | Bin 0 -> 5218 bytes .../bootstrap/img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes static/bootstrap/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes static/bootstrap/img/syncfusion-16b-icons.png | Bin 0 -> 3199 bytes static/bootstrap/img/syncfusion-16g-icons.png | Bin 0 -> 4088 bytes static/bootstrap/img/syncfusion-16w-icons.png | Bin 0 -> 3747 bytes static/bootstrap/img/syncfusion-24b-icons.png | Bin 0 -> 3920 bytes static/bootstrap/img/syncfusion-24g-icons.png | Bin 0 -> 4693 bytes static/bootstrap/img/syncfusion-24w-icons.png | Bin 0 -> 4362 bytes static/css/fonts.css | 3 + static/css/style.css | 352 ++++++++++++++++ static/images/letter-a.png | Bin 0 -> 4047 bytes static/images/me.jpeg | Bin 0 -> 12302 bytes static/images/simple-a.ico | Bin 0 -> 6085 bytes static/js/bootstrap-affix.js | 104 +++++ static/js/bootstrap-carousel.js | 176 ++++++++ static/js/bootstrap-collapse.js | 158 +++++++ static/js/bootstrap-datepicker.js | 459 +++++++++++++++++++++ static/js/bootstrap-dropdown.js | 150 +++++++ static/js/bootstrap-tab.js | 135 ++++++ theme.toml | 6 + 44 files changed, 1788 insertions(+) create mode 100644 archetypes/default.md create mode 100644 layouts/_default/indexes.html create mode 100644 layouts/_default/li.html create mode 100644 layouts/_default/single.html create mode 100644 layouts/chrome/about.html create mode 100644 layouts/chrome/analytics.html create mode 100644 layouts/chrome/disqus.html create mode 100644 layouts/chrome/footer.html create mode 100644 layouts/chrome/header.html create mode 100644 layouts/chrome/includes.html create mode 100644 layouts/chrome/menu.html create mode 100644 layouts/chrome/meta.html create mode 100644 layouts/index.html create mode 100644 layouts/indexes/indexes.html create mode 100644 layouts/indexes/tag.html create mode 100644 layouts/rss.xml create mode 100644 layouts/shortcodes/endbox.html create mode 100644 layouts/shortcodes/fig.html create mode 100644 layouts/shortcodes/startbox.html create mode 100644 static/404.html create mode 100644 static/bootstrap/css/milk-responsive.min.css create mode 100644 static/bootstrap/css/milk.min.css create mode 100644 static/bootstrap/img/controls.png create mode 100644 static/bootstrap/img/glyphicons-halflings-white.png create mode 100644 static/bootstrap/img/glyphicons-halflings.png create mode 100644 static/bootstrap/img/syncfusion-16b-icons.png create mode 100644 static/bootstrap/img/syncfusion-16g-icons.png create mode 100644 static/bootstrap/img/syncfusion-16w-icons.png create mode 100644 static/bootstrap/img/syncfusion-24b-icons.png create mode 100644 static/bootstrap/img/syncfusion-24g-icons.png create mode 100644 static/bootstrap/img/syncfusion-24w-icons.png create mode 100644 static/css/fonts.css create mode 100644 static/css/style.css create mode 100644 static/images/letter-a.png create mode 100644 static/images/me.jpeg create mode 100644 static/images/simple-a.ico create mode 100644 static/js/bootstrap-affix.js create mode 100644 static/js/bootstrap-carousel.js create mode 100644 static/js/bootstrap-collapse.js create mode 100644 static/js/bootstrap-datepicker.js create mode 100644 static/js/bootstrap-dropdown.js create mode 100644 static/js/bootstrap-tab.js create mode 100644 theme.toml diff --git a/README.md b/README.md index 6569173..c6524ec 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,5 @@ simple-a ======== Minimalistic Hugo theme + +At this moment theme is under heavy construction. diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..b829d2e --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,5 @@ ++++ +Description = "" +Tags = [] +Categories = [] ++++ diff --git a/layouts/_default/indexes.html b/layouts/_default/indexes.html new file mode 100644 index 0000000..c5af277 --- /dev/null +++ b/layouts/_default/indexes.html @@ -0,0 +1,6 @@ +
+
+

{{ .Title }}

+
    +
    +
    \ No newline at end of file diff --git a/layouts/_default/li.html b/layouts/_default/li.html new file mode 100644 index 0000000..0376bbc --- /dev/null +++ b/layouts/_default/li.html @@ -0,0 +1,5 @@ +
  • + {{ .Title }} +
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    +
  • + \ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..0f01e0a --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,28 @@ +{{ $baseurl := .Site.BaseUrl }} +{{ template "theme/chrome/header.html" . }} + +
    +
    +

    {{ .Title }}

    +
    {{ .Date.Format "January 2 2006" }}
    +
    +
    +
    + {{ range .Params.tags }} + {{ . }} + {{ end }} +
    +
    +
    +
    +
    + {{ .Content }} +
    + + +{{ template "theme/chrome/about.html" . }} + +{{ template "theme/chrome/footer.html" . }} diff --git a/layouts/chrome/about.html b/layouts/chrome/about.html new file mode 100644 index 0000000..16950dc --- /dev/null +++ b/layouts/chrome/about.html @@ -0,0 +1,5 @@ +
    +

    + +

    +
    \ No newline at end of file diff --git a/layouts/chrome/analytics.html b/layouts/chrome/analytics.html new file mode 100644 index 0000000..2142f36 --- /dev/null +++ b/layouts/chrome/analytics.html @@ -0,0 +1,10 @@ + diff --git a/layouts/chrome/disqus.html b/layouts/chrome/disqus.html new file mode 100644 index 0000000..f26e332 --- /dev/null +++ b/layouts/chrome/disqus.html @@ -0,0 +1,14 @@ +
    +
    +
    + + + + blog comments powered by Disqus +
    +
    + + \ No newline at end of file diff --git a/layouts/chrome/footer.html b/layouts/chrome/footer.html new file mode 100644 index 0000000..a396c2a --- /dev/null +++ b/layouts/chrome/footer.html @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/layouts/chrome/header.html b/layouts/chrome/header.html new file mode 100644 index 0000000..dffe80e --- /dev/null +++ b/layouts/chrome/header.html @@ -0,0 +1,23 @@ + + + + Simple A - {{ .Title }} + + + + {{ template "theme/chrome/includes.html" . }} + + + + + + + + + + {{ template "theme/chrome/menu.html" }} + +
    +
    +
    + diff --git a/layouts/chrome/includes.html b/layouts/chrome/includes.html new file mode 100644 index 0000000..5bdb35c --- /dev/null +++ b/layouts/chrome/includes.html @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/layouts/chrome/menu.html b/layouts/chrome/menu.html new file mode 100644 index 0000000..c38beb2 --- /dev/null +++ b/layouts/chrome/menu.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/layouts/chrome/meta.html b/layouts/chrome/meta.html new file mode 100644 index 0000000..1327502 --- /dev/null +++ b/layouts/chrome/meta.html @@ -0,0 +1,12 @@ + +Simple A + + + + + + + + diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..aed54e5 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,45 @@ + + + + {{ template "theme/chrome/meta.html" . }} + {{ template "theme/chrome/includes.html" . }} + + + + + + + + + {{ template "theme/chrome/menu.html" }} + +{{ $baseurl := .Site.BaseUrl }} + +
    +
    + +
    +
    +
    + {{ range .Data.Pages }} +
    + +
    +

    {{ .Title }}

    +
    {{ .Date.Format "January 2 2006" }}, {{ .FuzzyWordCount }} Words
    +
    + +
    +
    + {{ range .Params.tags }} + {{ . }} + {{ end }} +
    +
    +
    + {{ end }} +
    +
    +
    + +{{ template "theme/chrome/footer.html" }} diff --git a/layouts/indexes/indexes.html b/layouts/indexes/indexes.html new file mode 100644 index 0000000..938b002 --- /dev/null +++ b/layouts/indexes/indexes.html @@ -0,0 +1,14 @@ +{{ $baseurl := .Site.BaseUrl }} +{{ template "theme/chrome/header.html" . }} + +
    +
    +

    {{ .Title }}

    +
      + {{ $data := .Data }} + {{ range $key,$value := .Data.Index.ByCount }} +
    • {{ $value.Name }} {{ $value.Count }}
    • + {{ end }} +
    +
    +
    diff --git a/layouts/indexes/tag.html b/layouts/indexes/tag.html new file mode 100644 index 0000000..9ddf3e8 --- /dev/null +++ b/layouts/indexes/tag.html @@ -0,0 +1,16 @@ +{{ template "theme/chrome/header.html" . }} + +
    +

    +

    Tag: {{ .Title }}

    +

    + {{ range .Data.Pages }} +
    +

    {{ .Title }}

    +
    {{ .Date.Format "January 2 2006" }}
    +
    +
    + {{ end }} +
    + +{{ template "theme/chrome/footer.html" . }} diff --git a/layouts/rss.xml b/layouts/rss.xml new file mode 100644 index 0000000..c9ff732 --- /dev/null +++ b/layouts/rss.xml @@ -0,0 +1,20 @@ + + + {{ .Title }} on {{ .Site.Title }} + {{ .Permalink }} + en-us + Author + Licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License by Author + {{ .Date }} + {{ range .Data.Pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 MST" }} + Author + {{ .Permalink }} + {{ .Content | html }} + + {{ end }} + + \ No newline at end of file diff --git a/layouts/shortcodes/endbox.html b/layouts/shortcodes/endbox.html new file mode 100644 index 0000000..7f5eaa3 --- /dev/null +++ b/layouts/shortcodes/endbox.html @@ -0,0 +1 @@ +
    \ No newline at end of file diff --git a/layouts/shortcodes/fig.html b/layouts/shortcodes/fig.html new file mode 100644 index 0000000..54d1794 --- /dev/null +++ b/layouts/shortcodes/fig.html @@ -0,0 +1,18 @@ + +
    + {{ with .Get "link"}}{{ end }} + + {{ if .Get "link"}}{{ end }} + {{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}} +
    {{ if isset .Params "title" }} + {{ .Get "title" }}{{ end }} + {{ if or (.Get "caption") (.Get "attr")}}

    + {{ .Get "caption" }} + {{ with .Get "attrlink"}} {{ end }} + {{ .Get "attr" }} + {{ if .Get "attrlink"}} {{ end }} +

    {{ end }} +
    + {{ end }} +
    + \ No newline at end of file diff --git a/layouts/shortcodes/startbox.html b/layouts/shortcodes/startbox.html new file mode 100644 index 0000000..af0d675 --- /dev/null +++ b/layouts/shortcodes/startbox.html @@ -0,0 +1 @@ +
    \ No newline at end of file diff --git a/static/404.html b/static/404.html new file mode 100644 index 0000000..d57811d --- /dev/null +++ b/static/404.html @@ -0,0 +1 @@ +Hey ho, sorry this page does not exist (anymore). diff --git a/static/bootstrap/css/milk-responsive.min.css b/static/bootstrap/css/milk-responsive.min.css new file mode 100644 index 0000000..9cad961 --- /dev/null +++ b/static/bootstrap/css/milk-responsive.min.css @@ -0,0 +1 @@ +.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.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;content:"";line-height:0}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;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;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564%;*margin-left:2.510911075%}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.946808511%}.row-fluid .span11{width:91.452991453%;*width:91.399799964%}.row-fluid .span10{width:82.905982906%;*width:82.852791417%}.row-fluid .span9{width:74.358974359%;*width:74.30578287%}.row-fluid .span8{width:65.811965812%;*width:65.758774323%}.row-fluid .span7{width:57.264957265%;*width:57.211765776%}.row-fluid .span6{width:48.717948718%;*width:48.664757229%}.row-fluid .span5{width:40.170940171%;*width:40.117748682%}.row-fluid .span4{width:31.623931624%;*width:31.570740135%}.row-fluid .span3{width:23.076923077%;*width:23.023731588%}.row-fluid .span2{width:14.52991453%;*width:14.476723041%}.row-fluid .span1{width:5.982905983%;*width:5.929714494%}.row-fluid .offset12{margin-left:105.128205128%;*margin-left:105.021822149%}.row-fluid .offset12:first-child{margin-left:102.564102564%;*margin-left:102.457719585%}.row-fluid .offset11{margin-left:96.581196581%;*margin-left:96.474813602%}.row-fluid .offset11:first-child{margin-left:94.017094017%;*margin-left:93.910711038%}.row-fluid .offset10{margin-left:88.034188034%;*margin-left:87.927805055%}.row-fluid .offset10:first-child{margin-left:85.47008547%;*margin-left:85.363702491%}.row-fluid .offset9{margin-left:79.487179487%;*margin-left:79.380796508%}.row-fluid .offset9:first-child{margin-left:76.923076923%;*margin-left:76.816693944%}.row-fluid .offset8{margin-left:70.94017094%;*margin-left:70.833787961%}.row-fluid .offset8:first-child{margin-left:68.376068376%;*margin-left:68.269685397%}.row-fluid .offset7{margin-left:62.393162393%;*margin-left:62.286779414%}.row-fluid .offset7:first-child{margin-left:59.829059829%;*margin-left:59.72267685%}.row-fluid .offset6{margin-left:53.846153846%;*margin-left:53.739770867%}.row-fluid .offset6:first-child{margin-left:51.282051282%;*margin-left:51.175668303%}.row-fluid .offset5{margin-left:45.299145299%;*margin-left:45.19276232%}.row-fluid .offset5:first-child{margin-left:42.735042735%;*margin-left:42.628659756%}.row-fluid .offset4{margin-left:36.752136752%;*margin-left:36.645753773%}.row-fluid .offset4:first-child{margin-left:34.188034188%;*margin-left:34.081651209%}.row-fluid .offset3{margin-left:28.205128205%;*margin-left:28.098745226%}.row-fluid .offset3:first-child{margin-left:25.641025641%;*margin-left:25.534642662%}.row-fluid .offset2{margin-left:19.658119658%;*margin-left:19.551736679%}.row-fluid .offset2:first-child{margin-left:17.094017094%;*margin-left:16.987634115%}.row-fluid .offset1{margin-left:11.111111111%;*margin-left:11.004728132%}.row-fluid .offset1:first-child{margin-left:8.547008547%;*margin-left:8.440625568%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12, textarea.span12, .uneditable-input.span12{width:1152px}select.span12, select.span12{width:1160px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span11, textarea.span11, .uneditable-input.span11{width:1052px}select.span11, select.span11{width:1060px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span10, textarea.span10, .uneditable-input.span10{width:952px}select.span10, select.span10{width:960px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span9, textarea.span9, .uneditable-input.span9{width:852px}select.span9, select.span9{width:860px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span8, textarea.span8, .uneditable-input.span8{width:752px}select.span8, select.span8{width:760px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span7, textarea.span7, .uneditable-input.span7{width:652px}select.span7, select.span7{width:660px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span6, textarea.span6, .uneditable-input.span6{width:552px}select.span6, select.span6{width:560px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span5, textarea.span5, .uneditable-input.span5{width:452px}select.span5, select.span5{width:460px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span4, textarea.span4, .uneditable-input.span4{width:352px}select.span4, select.span4{width:360px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span3, textarea.span3, .uneditable-input.span3{width:252px}select.span3, select.span3{width:260px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span2, textarea.span2, .uneditable-input.span2{width:152px}select.span2, select.span2{width:160px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span1, textarea.span1, .uneditable-input.span1{width:52px}select.span1, select.span1{width:60px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.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;content:"";line-height:0}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;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;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.762430939%;*margin-left:2.70923945%}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.946808511%}.row-fluid .span11{width:91.436464088%;*width:91.383272599%}.row-fluid .span10{width:82.872928177%;*width:82.819736687%}.row-fluid .span9{width:74.309392265%;*width:74.256200776%}.row-fluid .span8{width:65.745856354%;*width:65.692664864%}.row-fluid .span7{width:57.182320442%;*width:57.129128953%}.row-fluid .span6{width:48.61878453%;*width:48.565593041%}.row-fluid .span5{width:40.055248619%;*width:40.002057129%}.row-fluid .span4{width:31.491712707%;*width:31.438521218%}.row-fluid .span3{width:22.928176796%;*width:22.874985306%}.row-fluid .span2{width:14.364640884%;*width:14.311449395%}.row-fluid .span1{width:5.801104972%;*width:5.747913483%}.row-fluid .offset12{margin-left:105.524861878%;*margin-left:105.4184789%}.row-fluid .offset12:first-child{margin-left:102.762430939%;*margin-left:102.656047961%}.row-fluid .offset11{margin-left:96.961325967%;*margin-left:96.854942988%}.row-fluid .offset11:first-child{margin-left:94.198895028%;*margin-left:94.092512049%}.row-fluid .offset10{margin-left:88.397790055%;*margin-left:88.291407077%}.row-fluid .offset10:first-child{margin-left:85.635359116%;*margin-left:85.528976137%}.row-fluid .offset9{margin-left:79.834254144%;*margin-left:79.727871165%}.row-fluid .offset9:first-child{margin-left:77.071823204%;*margin-left:76.965440226%}.row-fluid .offset8{margin-left:71.270718232%;*margin-left:71.164335253%}.row-fluid .offset8:first-child{margin-left:68.508287293%;*margin-left:68.401904314%}.row-fluid .offset7{margin-left:62.70718232%;*margin-left:62.600799342%}.row-fluid .offset7:first-child{margin-left:59.944751381%;*margin-left:59.838368402%}.row-fluid .offset6{margin-left:54.143646409%;*margin-left:54.03726343%}.row-fluid .offset6:first-child{margin-left:51.38121547%;*margin-left:51.274832491%}.row-fluid .offset5{margin-left:45.580110497%;*margin-left:45.473727519%}.row-fluid .offset5:first-child{margin-left:42.817679558%;*margin-left:42.711296579%}.row-fluid .offset4{margin-left:37.016574586%;*margin-left:36.910191607%}.row-fluid .offset4:first-child{margin-left:34.254143646%;*margin-left:34.147760668%}.row-fluid .offset3{margin-left:28.453038674%;*margin-left:28.346655695%}.row-fluid .offset3:first-child{margin-left:25.690607735%;*margin-left:25.584224756%}.row-fluid .offset2{margin-left:19.889502762%;*margin-left:19.783119784%}.row-fluid .offset2:first-child{margin-left:17.127071823%;*margin-left:17.020688844%}.row-fluid .offset1{margin-left:11.325966851%;*margin-left:11.219583872%}.row-fluid .offset1:first-child{margin-left:8.563535912%;*margin-left:8.457152933%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12, textarea.span12, .uneditable-input.span12{width:706px}select.span12, select.span12{width:714px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span11, textarea.span11, .uneditable-input.span11{width:644px}select.span11, select.span11{width:652px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span10, textarea.span10, .uneditable-input.span10{width:582px}select.span10, select.span10{width:590px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span9, textarea.span9, .uneditable-input.span9{width:520px}select.span9, select.span9{width:528px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span8, textarea.span8, .uneditable-input.span8{width:458px}select.span8, select.span8{width:466px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span7, textarea.span7, .uneditable-input.span7{width:396px}select.span7, select.span7{width:404px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span6, textarea.span6, .uneditable-input.span6{width:334px}select.span6, select.span6{width:342px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span5, textarea.span5, .uneditable-input.span5{width:272px}select.span5, select.span5{width:280px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span4, textarea.span4, .uneditable-input.span4{width:210px}select.span4, select.span4{width:218px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span3, textarea.span3, .uneditable-input.span3{width:148px}select.span3, select.span3{width:156px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span2, textarea.span2, .uneditable-input.span2{width:86px}select.span2, select.span2{width:94px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span1, textarea.span1, .uneditable-input.span1{width:24px}select.span1, select.span1{width:32px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}}@media (max-width:767px){body{padding-left:20px;padding-right:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;clear:none;width:auto;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"],.row-fluid [class*="span"]:first-child{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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-append input,.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;left:20px;right: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-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-left:10px;padding-right:10px}.modal{top:10px;left:10px;right: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:0 5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-left:10px;padding-right: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>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#ccc}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;color:#fff}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#0072c6}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{color:#fff;background-color:#1e1e1e}.nav-collapse.in .btn-group{margin-top:5px;padding:0}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:block;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #0072c6;border-bottom:1px solid #0072c6}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-left:10px;padding-right:10px}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important}} \ No newline at end of file diff --git a/static/bootstrap/css/milk.min.css b/static/bootstrap/css/milk.min.css new file mode 100644 index 0000000..6ee0b8f --- /dev/null +++ b/static/bootstrap/css/milk.min.css @@ -0,0 +1 @@ +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{max-width:100%;width:auto\9;height:auto;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;content:"";line-height:0}.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:"Segoe UI",Tahoma,Arial,Helvetica,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#0072c6;text-decoration:none}a:hover{color:#00467a;text-decoration:underline}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;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;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574%;*margin-left:2.074468085%}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.946808511%}.row-fluid .span11{width:91.489361702%;*width:91.436170213%}.row-fluid .span10{width:82.978723404%;*width:82.925531915%}.row-fluid .span9{width:74.468085106%;*width:74.414893617%}.row-fluid .span8{width:65.957446809%;*width:65.904255319%}.row-fluid .span7{width:57.446808511%;*width:57.393617021%}.row-fluid .span6{width:48.936170213%;*width:48.882978723%}.row-fluid .span5{width:40.425531915%;*width:40.372340426%}.row-fluid .span4{width:31.914893617%;*width:31.861702128%}.row-fluid .span3{width:23.404255319%;*width:23.35106383%}.row-fluid .span2{width:14.893617021%;*width:14.840425532%}.row-fluid .span1{width:6.382978723%;*width:6.329787234%}.row-fluid .offset12{margin-left:104.255319149%;*margin-left:104.14893617%}.row-fluid .offset12:first-child{margin-left:102.127659574%;*margin-left:102.021276596%}.row-fluid .offset11{margin-left:95.744680851%;*margin-left:95.638297872%}.row-fluid .offset11:first-child{margin-left:93.617021277%;*margin-left:93.510638298%}.row-fluid .offset10{margin-left:87.234042553%;*margin-left:87.127659574%}.row-fluid .offset10:first-child{margin-left:85.106382979%;*margin-left:85%}.row-fluid .offset9{margin-left:78.723404255%;*margin-left:78.617021277%}.row-fluid .offset9:first-child{margin-left:76.595744681%;*margin-left:76.489361702%}.row-fluid .offset8{margin-left:70.212765957%;*margin-left:70.106382979%}.row-fluid .offset8:first-child{margin-left:68.085106383%;*margin-left:67.978723404%}.row-fluid .offset7{margin-left:61.70212766%;*margin-left:61.595744681%}.row-fluid .offset7:first-child{margin-left:59.574468085%;*margin-left:59.468085106%}.row-fluid .offset6{margin-left:53.191489362%;*margin-left:53.085106383%}.row-fluid .offset6:first-child{margin-left:51.063829787%;*margin-left:50.957446809%}.row-fluid .offset5{margin-left:44.680851064%;*margin-left:44.574468085%}.row-fluid .offset5:first-child{margin-left:42.553191489%;*margin-left:42.446808511%}.row-fluid .offset4{margin-left:36.170212766%;*margin-left:36.063829787%}.row-fluid .offset4:first-child{margin-left:34.042553191%;*margin-left:33.936170213%}.row-fluid .offset3{margin-left:27.659574468%;*margin-left:27.553191489%}.row-fluid .offset3:first-child{margin-left:25.531914894%;*margin-left:25.425531915%}.row-fluid .offset2{margin-left:19.14893617%;*margin-left:19.042553191%}.row-fluid .offset2:first-child{margin-left:17.021276596%;*margin-left:16.914893617%}.row-fluid .offset1{margin-left:10.638297872%;*margin-left:10.531914894%}.row-fluid .offset1:first-child{margin-left:8.510638298%;*margin-left:8.404255319%}[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;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:normal;line-height:1;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1{font-size:36px;line-height:40px;font-weight:100}h2{font-size:30px;line-height:40px;font-weight:100}h3{font-size:24px;line-height:40px;font-weight:100}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{background-color:#eee;padding:20px;padding-bottom:9px;margin:20px -19px 30px 0}.page-header.accent{background-color:#0072c6;color:white}ul{list-style:square}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:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}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,"Courier New",monospace;font-size:12px;color:#333}code{padding:2px 4px;color:#333}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:transparent;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15)}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px;font-size:85%;border-bottom:1px solid #7f7f7f}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom;text-transform:uppercase;color:#7f7f7f;border-bottom:3px solid #535353}.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;border-collapse:separate;*border-collapse:collapse;border-left:0;border-top-color:#ddd;border-left-color:#ddd;border-right-color:#ddd}.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-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}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;line-height:40px;color:#000;border:0;font-weight:100}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Segoe UI",Tahoma,Arial,Helvetica,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 8px;margin-bottom:9px;font-size:14px;line-height:20px;color:#555}input,textarea,.uneditable-input{width:202px}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-transition:border linear .2s;-moz-transition:border linear .2s;-o-transition:border linear .2s;transition:border linear .2s}textarea:hover,input[type="text"]:hover,input[type="password"]:hover,input[type="datetime"]:hover,input[type="datetime-local"]:hover,input[type="date"]:hover,input[type="month"]:hover,input[type="time"]:hover,input[type="week"]:hover,input[type="number"]:hover,input[type="email"]:hover,input[type="url"]:hover,input[type="search"]:hover,input[type="tel"]:hover,input[type="color"]:hover,.uneditable-input:hover{border-color:#8f8f8f}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:#5c5c5c;outline:0;outline:thin dotted \9}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;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;border:1px solid #ccc;background-color:#fff;padding:0 0 0 8px}select[multiple],select[size]{height:auto;padding:0}select:hover{border-color:#8f8f8f}select:focus{border-color:#5c5c5c;outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}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;background-color:#fcfcfc;border-color:#ccc;cursor:not-allowed}.uneditable-input:hover,.uneditable-textarea:hover,.uneditable-input:focus,.uneditable-textarea:focus{border-color:#ccc}.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}.radio.custom input[type="radio"],.checkbox.custom input[type="checkbox"]{opacity:0}.radio.custom span.radio-label,.checkbox.custom span.checkbox-label{background-image:url(../images/controls.png),url(../images/controls.png),url(../images/controls.png);background-repeat:no-repeat;padding-left:21px;margin-left:-21px}.checkbox.custom input[type="checkbox"]+span.checkbox-label{background-position:left -37px}.checkbox.custom input[type="checkbox"]:checked+span.checkbox-label{background-position:left 39px,left -113px,left -37px}.checkbox.custom input[type="checkbox"][disabled]+span.checkbox-label{background-position:left -75px}.checkbox.custom input[type="checkbox"][disabled]:checked+span.checkbox-label{background-position:left 39px,left -132px,left -75px}.radio.custom input[type="radio"]+span.radio-label{background-position:left -227px}.radio.custom input[type="radio"]:checked+span.radio-label{background-position:left 39px,left -303px,left -227px}.radio.custom input[type="radio"][disabled]+span.radio-label{background-position:left -265px}.radio.custom input[type="radio"][disabled]:checked+span.radio-label{background-position:left 39px,left -322px,left -265px}.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"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[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:922px}select.span12, select.span12{width:930px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span11, textarea.span11, .uneditable-input.span11{width:842px}select.span11, select.span11{width:850px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span10, textarea.span10, .uneditable-input.span10{width:762px}select.span10, select.span10{width:770px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span9, textarea.span9, .uneditable-input.span9{width:682px}select.span9, select.span9{width:690px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span8, textarea.span8, .uneditable-input.span8{width:602px}select.span8, select.span8{width:610px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span7, textarea.span7, .uneditable-input.span7{width:522px}select.span7, select.span7{width:530px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span6, textarea.span6, .uneditable-input.span6{width:442px}select.span6, select.span6{width:450px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span5, textarea.span5, .uneditable-input.span5{width:362px}select.span5, select.span5{width:370px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span4, textarea.span4, .uneditable-input.span4{width:282px}select.span4, select.span4{width:290px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span3, textarea.span3, .uneditable-input.span3{width:202px}select.span3, select.span3{width:210px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span2, textarea.span2, .uneditable-input.span2{width:122px}select.span2, select.span2{width:130px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input.span1, textarea.span1, .uneditable-input.span1{width:42px}select.span1, select.span1{width:50px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.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[disabled]:hover,select[disabled]:hover,textarea[disabled]:hover,input[readonly]:hover,select[readonly]:hover,textarea[readonly]:hover,input[disabled]:focus,select[disabled]:focus,textarea[disabled]:focus,input[readonly]:focus,select[readonly]:focus,textarea[readonly]:focus{border-color:#ccc}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}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c}.control-group.warning .input-append .add-on{color:#c09853;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}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39}.control-group.error .input-append .add-on{color:#b94a48;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}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635}.control-group.success .input-append .add-on{color:#468847;border-color:#468847}.control-group.info>label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987}.control-group.info .input-append .add-on{color:#3a87ad;border-color:#3a87ad}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}.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;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:gray}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-append select,.input-append .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;font-size:14px;vertical-align:top}.input-append input:focus,.input-append select:focus,.input-append .uneditable-input:focus{z-index:2}.input-append input:hover+.add-on,.input-append select:hover+.add-on,.input-append .uneditable-input:hover+.add-on{border-color:#8f8f8f}.input-append input:focus+.add-on,.input-append select:focus+.add-on,.input-append .uneditable-input:focus+.add-on{border-color:#5c5c5c}.input-append .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;border:1px solid #ccc;-webkit-transition:border linear .2s;-moz-transition:border linear .2s;-o-transition:border linear .2s;transition:border linear .2s}.input-append .add-on,.input-append .btn{vertical-align:top}.input-append .active{background-color:#a9dba9;border-color:#46a546}.input-append input,.input-append select,.input-append .uneditable-input{border-right:0 none}.input-append .add-on{background-color:#fff}.input-append .add-on,.input-append .btn{margin-left:-1px}.form-inline input,.form-horizontal input,.form-inline textarea,.form-horizontal textarea,.form-inline select,.form-horizontal select,.form-inline .help-inline,.form-horizontal .help-inline,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-inline .hide,.form-horizontal .hide{display:none}.form-inline label,.form-inline .btn-group{display:inline-block}.form-inline .input-append{margin-bottom:0}.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.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;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}.btn{display:inline-block;*display:inline;*zoom:1;padding:3px 12px 7px;margin-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:2.142em;font-family:"Segoe UI",Tahoma,Arial,Helvetica,sans-serif;font-size:14px;min-width:6em;line-height:20px;*line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#222;background-color:#ccc;*background-color:#bfbfbf;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:0 none;*border:0;*margin-left:.3em}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#222;background-color:#d9d9d9;*background-color:#ccc}.btn:active,.btn.active{background-color:silver \9}.btn:first-child{*margin-left:0}.btn:hover{color:#222;text-decoration:none;background-color:#d9d9d9;*background-color:#ccc}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:silver;background-color:#b3b3b3 \9;background-image:none;outline:0}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:0.65;filter:alpha(opacity=65)}.btn [class^="icon-"],.btn [class*=" icon-"]{vertical-align:middle;margin-top:-2px;margin-right:4px}.btn-large{padding:8px 20px 14px;font-size:20px;line-height:20px;font-weight:100}.btn-small{padding:3px 9px 5px;font-size:12px;line-height:18px}.btn-small [class^="icon-"]{margin-top:0}.btn-mini{padding:2px 6px 5px;font-size:11px;line-height:17px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block,button.btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:#fff}.btn-primary{color:#fff;background-color:#0072c6;*background-color:#0063ad;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:#3d94d4;*background-color:#2d88cb}.btn-primary:active,.btn-primary.active{background-color:#287ab6 \9}.btn-warning{color:#fff;background-color:#ff8f32;*background-color:#ff8118;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:#ff9d4c;*background-color:#ff8f32}.btn-warning:active,.btn-warning.active{background-color:#ff8119 \9}.btn-danger{color:#fff;background-color:#bd362f;*background-color:#a9302a;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:#ce3f38;*background-color:#bd362f}.btn-danger:active,.btn-danger.active{background-color:#a9302a \9}.btn-success{color:#fff;background-color:#51a351;*background-color:#499249;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:#62c462;*background-color:#4fbd4f}.btn-success:active,.btn-success.active{background-color:#42b142 \9}.btn-info{color:#fff;background-color:#2f96b4;*background-color:#2a85a0;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:#5bc0de;*background-color:#46b8da}.btn-info:active,.btn-info.active{background-color:#31b0d5 \9}.btn-inverse{color:#fff;background-color:#444;*background-color:#373737;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,.btn-link[disabled]{background-color:transparent;background-image:none;min-width:0;padding:0;height:auto}.btn-link{border-color:transparent;cursor:pointer;color:#0072c6}.btn-link:hover{color:#00467a;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}[class*=btn-striped]{border-style:solid;border-width:0}.btn-striped{border-color:#0072c6;border-left-width:4px}.btn-striped-bottom{border-color:#0072c6;border-bottom-width:3px}.btn-striped:hover,.btn-striped-bottom:hover{border-color:#3d94d4}.btn-striped-gray{border-color:#999;border-left-width:4px}.btn-striped-gray-bottom{border-color:#999;border-bottom-width:3px}.btn-striped-gray:hover,.btn-striped-gray-bottom:hover{border-color:#3d94d4}.btn-striped-pink{border-color:#dc4fad;border-left-width:4px}.btn-striped-pink-bottom{border-color:#dc4fad;border-bottom-width:3px}.btn-striped-pink:hover,.btn-striped-pink-bottom:hover{border-color:#e479c1}.btn-striped-dark-red{border-color:#ac193d;border-left-width:4px}.btn-striped-dark-red-bottom{border-color:#ac193d;border-bottom-width:3px}.btn-striped-dark-red:hover,.btn-striped-dark-red-bottom:hover{border-color:#c0506b}.btn-striped-dark-orange{border-color:#d24726;border-left-width:4px}.btn-striped-dark-orange-bottom{border-color:#d24726;border-bottom-width:3px}.btn-striped-dark-orange:hover,.btn-striped-dark-orange-bottom:hover{border-color:#dd735a}.btn-striped-orange{border-color:#ff8f32;border-left-width:4px}.btn-striped-orange-bottom{border-color:#ff8f32;border-bottom-width:3px}.btn-striped-orange:hover,.btn-striped-orange-bottom:hover{border-color:#ffaa63}.btn-striped-light-green{border-color:#82ba00;border-left-width:4px}.btn-striped-light-green-bottom{border-color:#82ba00;border-bottom-width:3px}.btn-striped-light-green:hover,.btn-striped-light-green-bottom:hover{border-color:#a1cb55}.btn-striped-green{border-color:#008a17;border-left-width:4px}.btn-striped-green-bottom{border-color:#008a17;border-bottom-width:3px}.btn-striped-green:hover,.btn-striped-green-bottom:hover{border-color:#3da64e}.btn-striped-light-teal{border-color:#03b3b2;border-left-width:4px}.btn-striped-light-teal-bottom{border-color:#03b3b2;border-bottom-width:3px}.btn-striped-light-teal:hover,.btn-striped-light-teal-bottom:hover{border-color:#3dbebe}.btn-striped-teal{border-color:#008299;border-left-width:4px}.btn-striped-teal-bottom{border-color:#008299;border-bottom-width:3px}.btn-striped-teal:hover,.btn-striped-teal-bottom:hover{border-color:#3da0b1}.btn-striped-light-blue{border-color:#5db2ff;border-left-width:4px}.btn-striped-light-blue-bottom{border-color:#5db2ff;border-bottom-width:3px}.btn-striped-light-blue:hover,.btn-striped-light-blue-bottom:hover{border-color:#84c4ff}.btn-striped-blue{border-color:#0072c6;border-left-width:4px}.btn-striped-blue-bottom{border-color:#0072c6;border-bottom-width:3px}.btn-striped-blue:hover,.btn-striped-blue-bottom:hover{border-color:#3d94d4}.btn-striped-dark-purple{border-color:#4617b4;border-left-width:4px}.btn-striped-dark-purple-bottom{border-color:#4617b4;border-bottom-width:3px}.btn-striped-dark-purple:hover,.btn-striped-dark-purple-bottom:hover{border-color:#724ec4}.btn-striped-purple{border-color:#8c0095;border-left-width:4px}.btn-striped-purple-bottom{border-color:#8c0095;border-bottom-width:3px}.btn-striped-purple:hover,.btn-striped-purple-bottom:hover{border-color:#a83dae}[class^="icon-"],[class*=" icon-"]{display:inline-block;*margin-right:.3em;vertical-align:text-top;background-repeat:no-repeat;margin-top:1px}[class^="icon-16"],[class*=" icon-16"]{width:16px;height:16px;line-height:16px;background-image:url("../images/syncfusion-16b-icons.png");background-position:0 0}[class^="icon-24"],[class*=" icon-24"]{width:24px;height:24px;line-height:24px;background-image:url("../images/syncfusion-24b-icons.png");background-position:0 0}.icon-white[class^="icon-16"],.nav-tabs>.active>a>[class^="icon-"][class^="icon-16"],.nav-tabs>.active>a>[class*=" icon-"][class^="icon-16"],.nav-pills>.active>a>[class^="icon-"][class^="icon-16"],.nav-pills>.active>a>[class*=" icon-"][class^="icon-16"],.nav-list>.active>a>[class^="icon-"][class^="icon-16"],.nav-list>.active>a>[class*=" icon-"][class^="icon-16"],.navbar .nav>li>a>[class^="icon-"][class^="icon-16"],.navbar .nav>li>a>[class*=" icon-"][class^="icon-16"],.navbar-inverse .nav>li>a>[class^="icon-"][class^="icon-16"],.navbar-inverse .nav>li>a>[class*=" icon-"][class^="icon-16"],.dropdown-menu>li>a:hover>[class^="icon-"][class^="icon-16"],.dropdown-menu>li>a:hover>[class*=" icon-"][class^="icon-16"],.dropdown-menu>.active>a>[class^="icon-"][class^="icon-16"],.dropdown-menu>.active>a>[class*=" icon-"][class^="icon-16"],.icon-white[class*=" icon-16"],.nav-tabs>.active>a>[class^="icon-"][class*=" icon-16"],.nav-tabs>.active>a>[class*=" icon-"][class*=" icon-16"],.nav-pills>.active>a>[class^="icon-"][class*=" icon-16"],.nav-pills>.active>a>[class*=" icon-"][class*=" icon-16"],.nav-list>.active>a>[class^="icon-"][class*=" icon-16"],.nav-list>.active>a>[class*=" icon-"][class*=" icon-16"],.navbar .nav>li>a>[class^="icon-"][class*=" icon-16"],.navbar .nav>li>a>[class*=" icon-"][class*=" icon-16"],.navbar-inverse .nav>li>a>[class^="icon-"][class*=" icon-16"],.navbar-inverse .nav>li>a>[class*=" icon-"][class*=" icon-16"],.dropdown-menu>li>a:hover>[class^="icon-"][class*=" icon-16"],.dropdown-menu>li>a:hover>[class*=" icon-"][class*=" icon-16"],.dropdown-menu>.active>a>[class^="icon-"][class*=" icon-16"],.dropdown-menu>.active>a>[class*=" icon-"][class*=" icon-16"]{background-image:url("../images/syncfusion-16w-icons.png")}.icon-white[class^="icon-24"],.nav-tabs>.active>a>[class^="icon-"][class^="icon-24"],.nav-tabs>.active>a>[class*=" icon-"][class^="icon-24"],.nav-pills>.active>a>[class^="icon-"][class^="icon-24"],.nav-pills>.active>a>[class*=" icon-"][class^="icon-24"],.nav-list>.active>a>[class^="icon-"][class^="icon-24"],.nav-list>.active>a>[class*=" icon-"][class^="icon-24"],.navbar .nav>li>a>[class^="icon-"][class^="icon-24"],.navbar .nav>li>a>[class*=" icon-"][class^="icon-24"],.navbar-inverse .nav>li>a>[class^="icon-"][class^="icon-24"],.navbar-inverse .nav>li>a>[class*=" icon-"][class^="icon-24"],.dropdown-menu>li>a:hover>[class^="icon-"][class^="icon-24"],.dropdown-menu>li>a:hover>[class*=" icon-"][class^="icon-24"],.dropdown-menu>.active>a>[class^="icon-"][class^="icon-24"],.dropdown-menu>.active>a>[class*=" icon-"][class^="icon-24"],.icon-white[class*=" icon-24"],.nav-tabs>.active>a>[class^="icon-"][class*=" icon-24"],.nav-tabs>.active>a>[class*=" icon-"][class*=" icon-24"],.nav-pills>.active>a>[class^="icon-"][class*=" icon-24"],.nav-pills>.active>a>[class*=" icon-"][class*=" icon-24"],.nav-list>.active>a>[class^="icon-"][class*=" icon-24"],.nav-list>.active>a>[class*=" icon-"][class*=" icon-24"],.navbar .nav>li>a>[class^="icon-"][class*=" icon-24"],.navbar .nav>li>a>[class*=" icon-"][class*=" icon-24"],.navbar-inverse .nav>li>a>[class^="icon-"][class*=" icon-24"],.navbar-inverse .nav>li>a>[class*=" icon-"][class*=" icon-24"],.dropdown-menu>li>a:hover>[class^="icon-"][class*=" icon-24"],.dropdown-menu>li>a:hover>[class*=" icon-"][class*=" icon-24"],.dropdown-menu>.active>a>[class^="icon-"][class*=" icon-24"],.dropdown-menu>.active>a>[class*=" icon-"][class*=" icon-24"]{background-image:url("../images/syncfusion-24w-icons.png")}.icon-gray[class^="icon-16"],.icon-gray[class*=" icon-16"]{background-image:url("../images/syncfusion-16g-icons.png")}.icon-gray[class^="icon-24"],.icon-gray[class*=" icon-24"]{background-image:url("../images/syncfusion-24g-icons.png")}.icon-16-Add{background-position:0 0}.icon-16-Delete{background-position:-26px 0}.icon-16-ArrowHead-Up{background-position:-52px 0}.icon-16-ArrowHead-Down{background-position:-78px 0}.icon-16-ArrowHead-Left{background-position:-104px 0}.icon-16-ArrowHead-Right{background-position:-130px 0}.icon-16-Navigation-Up{background-position:-156px 0}.icon-16-Navigation-Down{background-position:-182px 0}.icon-16-Navigation-Left{background-position:-208px 0}.icon-16-Navigation-Right{background-position:-234px 0}.icon-16-Download{background-position:-260px 0}.icon-16-Upload{background-position:-286px 0}.icon-16-Cut{background-position:-312px 0}.icon-16-Copy{background-position:-338px 0}.icon-16-Paste{background-position:-364px 0}.icon-16-Search{background-position:-390px 0}.icon-16-Print{background-position:-416px 0}.icon-16-Favorite{background-position:-442px 0}.icon-16-Bookmark{background-position:-468px 0}.icon-16-Calendar{background-position:-494px 0}.icon-16-Message{background-position:-520px 0}.icon-24-Add{background-position:0 0}.icon-24-Delete{background-position:-34px 0}.icon-24-ArrowHead-Up{background-position:-68px 0}.icon-24-ArrowHead-Down{background-position:-102px 0}.icon-24-ArrowHead-Left{background-position:-136px 0}.icon-24-ArrowHead-Right{background-position:-170px 0}.icon-24-Navigation-Up{background-position:-204px 0}.icon-24-Navigation-Down{background-position:-238px 0}.icon-24-Navigation-Left{background-position:-272px 0}.icon-24-Navigation-Right{background-position:-306px 0}.icon-24-Download{background-position:-340px 0}.icon-24-Upload{background-position:-374px 0}.icon-24-Cut{background-position:-408px 0}.icon-24-Copy{background-position:-442px 0}.icon-24-Paste{background-position:-476px 0}.icon-24-Search{background-position:-510px 0}.icon-24-Print{background-position:-544px 0}.icon-24-Favorite{background-position:-578px 0}.icon-24-Bookmark{background-position:-612px 0}.icon-24-Calendar{background-position:-646px 0}.icon-24-Message{background-position:-680px 0}.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:0;list-style:none;background-color:#fff;border:2px solid #000;*border-right-width:2px;*border-bottom-width:2px;-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 0;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu a{display:block;padding:0 15px 2px;clear:both;font-weight:normal;line-height:26px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{text-decoration:none;color:#333;background-color:#f5f5f5}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#333;text-decoration:none;outline:0;background-color:#f5f5f5}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;background-color:transparent;cursor:default}.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:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:0}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-7px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:9px;margin-right:-10px}.dropdown-submenu:hover>a:after{border-left-color:#333}.dropdown .dropdown-menu .nav-header{padding-left:15px;padding-right:15px}.typeahead{margin-top:2px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none}.nav>.pull-right{float:right}.nav-header{display:block;font-size:21px;margin-bottom:5px;font-weight:100;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav li+.nav-header{margin-top:9px}.nav-list{padding:0 10px 5px 20px;margin-bottom:0;background-color:#f3f3f3}.nav-list>li>a,.nav-list .nav-header{color:#555;padding:0 10px 0 20px;margin-left:-20px;margin-right:-10px;line-height:30px}.nav-list>li>a:hover{background-color:#e7e7e7}.nav-list>.active>a,.nav-list>.active>a:hover{background-color:#d4d4d4}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 0;*margin:-5px 0 5px;overflow:hidden;background-color:transparent;border-bottom:1px solid transparent}.nav-tabs,.nav-pills{border-bottom:1px solid #ddd;*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding:8px 12px;line-height:20px;border:1px solid transparent;margin-right:2px}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd;background-color:#eee}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li>a{color:#333;font-size:17.92px;line-height:25px;margin:10px 20px 10px 0}.nav-pills>li.pull-right>a{margin-right:0;margin-left:20px}.nav-pills>li>a:hover,.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#0072c6}.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}.nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2}.nav-pills.nav-stacked{border-bottom:none}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav .dropdown-toggle .caret{border-top-color:#0072c6;border-bottom-color:#0072c6;margin-top:6px}.nav .dropdown-toggle:hover .caret{border-top-color:#00467a;border-bottom-color:#00467a}.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;content:"";line-height:0}.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:hover{border-bottom-color:transparent;border-top-color:#ddd}.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}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.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}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.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,.nav>.disabled>a:hover{color:#999}.nav>.disabled>a:hover{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;color:#ccc;*position:relative;*z-index:2}.navbar-inner{min-height:40px;padding-left:10px;padding-right:10px;background-color:#0072c6;*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar .brand{float:left;display:block;padding:0 10px 2px 10px;margin-left:-10px;font-size:22px;line-height:38px;font-weight:100;color:#fff}.navbar .brand:hover{text-decoration:none;background-color:#0063ad}.navbar-text{margin-bottom:0;line-height:40px}.navbar-link{color:#fff}.navbar-link:hover{color:#fff}.navbar .divider-vertical{height:20px;margin:10px 0;border-left:1px solid #fff}.navbar .btn,.navbar .btn-group{margin-top:0px}.navbar .btn-group .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.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{margin-top:6px;white-space:nowrap}.navbar-form .input-append input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Segoe UI",Tahoma,Arial,Helvetica,sans-serif;font-size:13px;font-weight:normal;line-height:1}.navbar-static-top{position:static;width:100%;margin-bottom: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-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 10px;color:#fff;height:20px;text-decoration:none}.navbar .nav>li>a [class^="icon-24"],.navbar .nav>li>a [class*=" icon-24"]{margin-top:-1px}.navbar .nav>li>a [class^="icon-16"],.navbar .nav>li>a [class*=" icon-16"]{margin-top:2px}.navbar .nav>li.small>a{font-size:86%;padding-right:5px;padding-left:5px}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:#0063ad;color:#fff;text-decoration:none}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#fff;text-decoration:none;background-color:#005da2}.navbar .btn-navbar{display:none;float:right;padding:12px 10px 7px 10px;margin-left:5px;margin-right:5px;min-width:0;height:40px;color:#fff;background-color:#0072c6;*background-color:#0063ad;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#0063ad;*background-color:#005593}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#00467a \9}.navbar .btn-navbar .icon-bar{display:block;margin:0;margin-top:2px;width:18px;height:2px;background-color:#f5f5f5}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu{border-top:0 none;border-color:#0072c6}.navbar-fixed-bottom .nav>li>.dropdown-menu{border-top:2px solid;border-bottom:0 none;border-color:#0072c6}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#005da2;color:#fff}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.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:#fff;border-bottom-color:#fff}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px}.navbar-inverse{color:#ccc}.navbar-inverse .navbar-inner{border-color:#252525;background-color:#111}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#fff}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:#1e1e1e}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:#1e1e1e}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#232323}.navbar-inverse .navbar-link{color:#fff}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#fff;border-right-color:#222}.navbar-inverse .nav>li>.dropdown-menu{border-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{background-color:#232323;color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.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-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;background-color:#fff;border:0;outline:0}.navbar-inverse .btn-navbar{color:#fff;background-color:#151515;*background-color:#080808;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}[class*=tile]{margin:0 10px 10px 0;background-color:#0072c6;color:white;float:left;height:150px;padding:10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[class*=tile] h1,[class*=tile] h2,[class*=tile] h3,[class*=tile] h4,[class*=tile] h5,[class*=tile] h6{line-height:normal;margin:0 0 5px 0}[class*=tile]:hover{background-color:#3d94d4;cursor:pointer;color:white;text-decoration:none}[class*=tile].height2{height:310px}.tile1{width:150px}.tile2{width:310px}.tile3{width:470px}.datepicker{top:0;left:0;padding:0 0 5px 0;margin-top:-1px}.datepicker>div{display:none}.datepicker table{width:252px;margin:0}.datepicker td,.datepicker th{text-align:center;padding:0;width:36px;height:24px;line-height:24px}.datepicker td.day:hover{background:#eee;cursor:pointer}.datepicker td.old,.datepicker td.new{color:#999}.datepicker td.active,.datepicker td.active:hover{color:#fff;background-color:#0072c6;*background-color:#0063ad;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.datepicker td.active:hover,.datepicker td.active:hover:hover,.datepicker td.active:active,.datepicker td.active:hover:active,.datepicker td.active.active,.datepicker td.active:hover.active,.datepicker td.active.disabled,.datepicker td.active:hover.disabled,.datepicker td.active[disabled],.datepicker td.active:hover[disabled]{color:#fff;background-color:#3d94d4;*background-color:#2d88cb}.datepicker td.active:active,.datepicker td.active:hover:active,.datepicker td.active.active,.datepicker td.active:hover.active{background-color:#287ab6 \9}.datepicker td span{display:block;width:63px;height:56px;line-height:56px;float:left;margin:0;cursor:pointer}.datepicker td span:hover{background:#eee}.datepicker td span.active{color:#fff;background-color:#0072c6;*background-color:#0063ad;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.datepicker td span.active:hover,.datepicker td span.active:active,.datepicker td span.active.active,.datepicker td span.active.disabled,.datepicker td span.active[disabled]{color:#fff;background-color:#3d94d4;*background-color:#2d88cb}.datepicker td span.active:active,.datepicker td span.active.active{background-color:#287ab6 \9}.datepicker td span.old{color:#999}.datepicker th.switch{text-transform:uppercase;font-weight:normal;padding:4px 0}.datepicker th.next,.datepicker th.prev{font-size:28px;padding:4px 0}.datepicker th.next i,.datepicker th.prev i{margin-top:8px}.datepicker thead tr:first-child th{cursor:pointer}.datepicker thead tr:first-child th:hover{background:#eee}.datepicker tbody tr:first-child td{border-top:1px solid #ddd}.datepicker .dow{color:#7f7f7f;text-transform:lowercase;font-weight:normal}.input-append.date .add-on i{cursor:pointer} \ No newline at end of file diff --git a/static/bootstrap/img/controls.png b/static/bootstrap/img/controls.png new file mode 100644 index 0000000..eba06a5 Binary files /dev/null and b/static/bootstrap/img/controls.png differ diff --git a/static/bootstrap/img/glyphicons-halflings-white.png b/static/bootstrap/img/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/static/bootstrap/img/glyphicons-halflings-white.png differ diff --git a/static/bootstrap/img/glyphicons-halflings.png b/static/bootstrap/img/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/static/bootstrap/img/glyphicons-halflings.png differ diff --git a/static/bootstrap/img/syncfusion-16b-icons.png b/static/bootstrap/img/syncfusion-16b-icons.png new file mode 100644 index 0000000..4877654 Binary files /dev/null and b/static/bootstrap/img/syncfusion-16b-icons.png differ diff --git a/static/bootstrap/img/syncfusion-16g-icons.png b/static/bootstrap/img/syncfusion-16g-icons.png new file mode 100644 index 0000000..c7c5a14 Binary files /dev/null and b/static/bootstrap/img/syncfusion-16g-icons.png differ diff --git a/static/bootstrap/img/syncfusion-16w-icons.png b/static/bootstrap/img/syncfusion-16w-icons.png new file mode 100644 index 0000000..48599fd Binary files /dev/null and b/static/bootstrap/img/syncfusion-16w-icons.png differ diff --git a/static/bootstrap/img/syncfusion-24b-icons.png b/static/bootstrap/img/syncfusion-24b-icons.png new file mode 100644 index 0000000..0e25ff8 Binary files /dev/null and b/static/bootstrap/img/syncfusion-24b-icons.png differ diff --git a/static/bootstrap/img/syncfusion-24g-icons.png b/static/bootstrap/img/syncfusion-24g-icons.png new file mode 100644 index 0000000..598d09f Binary files /dev/null and b/static/bootstrap/img/syncfusion-24g-icons.png differ diff --git a/static/bootstrap/img/syncfusion-24w-icons.png b/static/bootstrap/img/syncfusion-24w-icons.png new file mode 100644 index 0000000..a9eee70 Binary files /dev/null and b/static/bootstrap/img/syncfusion-24w-icons.png differ diff --git a/static/css/fonts.css b/static/css/fonts.css new file mode 100644 index 0000000..e7de71a --- /dev/null +++ b/static/css/fonts.css @@ -0,0 +1,3 @@ +/* Generated by Font Squirrel (http://www.fontsquirrel.com) on July 21, 2013 */ +@import url(http://fonts.googleapis.com/css?family=Philosopher:400,700&subset=latin,cyrillic); +@import url(http://fonts.googleapis.com/css?family=Merriweather:400,700); \ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..f1dccbd --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,352 @@ +/* Custom container */ +body { + font-size: 16px; +/* background: url("bg.jpg");*/ +} + +.container-narrow { + margin: 0 auto; + max-width: 700px; } + +.container-narrow > hr { + margin: 30px 0; } + +.navbar .nav { + float: right; } + +/* posts index */ +.post > h3.title { + position: relative; + padding-top: 10px; } + +.post > h3.title span.date { + position: absolute; + right: 0; + font-size: 0.9em; } + +.post > .more { + margin: 10px 0; + text-align: left; } + +/* post-full*/ +.post-full { + margin-top: 1em; + } + +.post-full .date { + font-size: 0.45em; + font-variant: small-caps; + font-weight: 300; + vertical-align: 50%; + letter-spacing: -1px; + margin-left: -10px; + color: #666; + width: 100px; + } + +.post-full figure.full +{ + width:100%; + margin-top:30px; + margin-bottom:30px; + margin-left: 0px; + margin-right: 0px; +} + +figure.full img { + width: 100%; + max-width: 100%; + height: auto; +} + +figure.medium +{ + width:400px; + margin-top:30px; + margin-bottom:30px; + margin-left: auto; + margin-right: auto; +} + +figure.large +{ + width:500px; + margin-top:30px; + margin-bottom:30px; + margin-left: auto; + margin-right: auto; +} + +figure.large img { + width:500px; + height: auto; +} + +figcaption +{ + font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; + background-color: #EFEFEF; + font-size: 90%; + margin-left: 1%; + padding-left: 4%; + padding-right: 4%; + text-align: justify; + display: block; +} + + + +p + p { + margin-top: 30px; +} + +footer { + position: relative; + z-index: 10; + line-height: normal; + margin-top: 10px; + font-size: 0.75em; + font-family: 'Lato'; + padding-top: 2em; + padding-bottom: 1.5em; +} + +.content h1 { + font-family: Philosopher, serif; + color: #3F3F3F; + font-size: 1.8em; + text-align: center; + margin-bottom: 40px; +} + +#logo { + width: 80px; + margin: auto; +} + +.navbar-inner { + min-height: 40px; + padding-left: 10px; + padding-right: 10px; + background-color: white; + margin: auto; + max-width: 980px; + border-bottom: 2px solid #989898; +} + +.container { + margin: 0 auto; + max-width: 960px; + margin-top: 5%; +} + +/*.container .content { + padding-top: 60px; +}*/ + +.row-fluid .span12 ul .posts { + margin: 0 0 10px 0; +} + +.posts { + text-align: center; + padding-top: 5%; +} + +.posts li { + line-height: 90%; + list-style: none; +} +.posts li p { + margin-bottom: 25px; +} + +.posts span { + float: right; + text-transform: uppercase; + font-size: 0.70em; + color: #777777; +} + +.post { +/* margin-top: 30px; + margin-left: auto; + margin-right: auto;*/ + margin: auto; + padding-bottom: 20px; + background: #fff; + border-bottom: 1px solid #d5d5d5; + max-width: 700px; +} + +.post h2 { + font-size: 25px; +} + +.post .content { + text-align: left; + margin-top: 3em; +} + +.post-header { + padding: 20px 40px 20px 40px; + text-align: center; +} + +.post-header h1 { + font-size: 1.8em; + color: #444; + font-family: Philosopher; + margin-bottom: 10px; +} + +.post-header a { + color: headings-color; + font-size: 1em; + color: #444; +} +.post-header a:hover { + text-decoration: none; +} + +.post-time { + margin-top: 3px; + font-family: Philosopher; +} + +.post-after { + padding-left: 40px; + margin-bottom: 12px; +} + +.post-after ul { + clearfix() + margin: 0; + padding-left: 0; + list-style: none; +} + +.post-after ul li { + float: left; + margin-right: 20px; +} + +.post-after ul li a { + display: block; +} + +.tags a { + color: #505050; + margin-right: 12px; + font-size: 0.6em; + padding: 6px 8px 2px 8px; + text-decoration: none; + text-transform: uppercase; + transition: 300ms background ease; + display: inline-block; + margin-bottom: 8px; + border-bottom: 4px solid #fa5305; +} + +.tags a:hover { + color: #fff; + background-color: #fa5305; + border-bottom: 4px solid #fa5305; + text-decoration: none; +} + +.tag-list { + font-family: Philosopher; + max-width: 700px; + margin: auto; +} + +.tag-list h1 { + max-width: 300px; + margin: auto; + padding-bottom: 2em; +} + +.one-post { + padding-bottom: 30px; +} + +.about { + +} +#pagination { + margin-top: 1.5em; +} + +#pagination a { + margin-top: 20px; + padding: 7px 20px 3px 20px; + width: 115px; + color: #646464; + text-transform: uppercase; + text-decoration: none; + font-size: 15px; + font-family: "Open Sans", "Segoe UI", Helvetica, Arial, sans-serif; + border-bottom: 4px solid #646464; +} + +#pagination a:hover { + color: #fff; + background-color: #646464; + border-bottom: 4px solid #646464; + text-decoration: none; +} + +.code { + font-family: 'Source Code Pro'; + background-color: '#2A3F42'; + color: #3283B0; + display: block; +} + +.code b { + font-family: 'Source Code Pro'; + color: #B7C22C; +} + +.techdetails { + font-family: 'Segoe UI', 'HelveticaNeue', sans-serif; + font-size: 90%; + line-height: 110%; + background-color: #EFEFEF; + color: #3F3F3F; + margin-left: 25px; + padding: 20px 5px 5px 20px; + overflow: hidden; + -moz-border-radius:5px; + -webkit-border-radius:5px; + border-radius:5px; +} + +.techdetails ul { + list-style: none; +} + +.techdetails ul li p { + padding:8px; + background-color:#e6e6e6; + border-left:1px solid #999; + padding-bottom: 2px; +} + +.techdetails ul li{ + padding:0 5px; +} + +.social-links { + margin: -40px 0 0 0; + padding: 0; + padding-top: 2px; + float: right; + } + +.social-links li { + display: inline; + font-size: 22px; +} + diff --git a/static/images/letter-a.png b/static/images/letter-a.png new file mode 100644 index 0000000..5f16cc3 Binary files /dev/null and b/static/images/letter-a.png differ diff --git a/static/images/me.jpeg b/static/images/me.jpeg new file mode 100644 index 0000000..455aa38 Binary files /dev/null and b/static/images/me.jpeg differ diff --git a/static/images/simple-a.ico b/static/images/simple-a.ico new file mode 100644 index 0000000..7a4ae50 Binary files /dev/null and b/static/images/simple-a.ico differ diff --git a/static/js/bootstrap-affix.js b/static/js/bootstrap-affix.js new file mode 100644 index 0000000..c49d6e9 --- /dev/null +++ b/static/js/bootstrap-affix.js @@ -0,0 +1,104 @@ +/* ========================================================== + * bootstrap-affix.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#affix + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* AFFIX CLASS DEFINITION + * ====================== */ + + var Affix = function (element, options) { + this.options = $.extend({}, $.fn.affix.defaults, options) + this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) + this.$element = $(element) + this.checkPosition() + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var scrollHeight = $(document).height() + , scrollTop = this.$window.scrollTop() + , position = this.$element.offset() + , offset = this.options.offset + , offsetBottom = offset.bottom + , offsetTop = offset.top + , reset = 'affix affix-top affix-bottom' + , affix + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top() + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + + affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? + false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? + 'bottom' : offsetTop != null && scrollTop <= offsetTop ? + 'top' : false + + if (this.affixed === affix) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? position.top - scrollTop : null + + this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) + } + + + /* AFFIX PLUGIN DEFINITION + * ======================= */ + + $.fn.affix = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('affix') + , options = typeof option == 'object' && option + if (!data) $this.data('affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.affix.Constructor = Affix + + $.fn.affix.defaults = { + offset: 0 + } + + + /* AFFIX DATA-API + * ============== */ + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + , data = $spy.data() + + data.offset = data.offset || {} + + data.offsetBottom && (data.offset.bottom = data.offsetBottom) + data.offsetTop && (data.offset.top = data.offsetTop) + + $spy.affix(data) + }) + }) + + +}(window.jQuery); \ No newline at end of file diff --git a/static/js/bootstrap-carousel.js b/static/js/bootstrap-carousel.js new file mode 100644 index 0000000..5c194b4 --- /dev/null +++ b/static/js/bootstrap-carousel.js @@ -0,0 +1,176 @@ +/* ========================================================== + * bootstrap-carousel.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.options = options + this.options.slide && this.slide(this.options.slide) + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , to: function (pos) { + var $active = this.$element.find('.item.active') + , children = $active.parent().children() + , activePos = children.index($active) + , that = this + + if (pos > (children.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activePos == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle() + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e = $.Event('slide', { + relatedTarget: $next[0] + }) + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + if ($next.hasClass('active')) return + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL DATA-API + * ================= */ + + $(function () { + $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() + }) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/static/js/bootstrap-collapse.js b/static/js/bootstrap-collapse.js new file mode 100644 index 0000000..8116f22 --- /dev/null +++ b/static/js/bootstrap-collapse.js @@ -0,0 +1,158 @@ +/* ============================================================= + * bootstrap-collapse.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSIBLE PLUGIN DEFINITION + * ============================== */ + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = typeof option == 'object' && option + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSIBLE DATA-API + * ==================== */ + + $(function () { + $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/static/js/bootstrap-datepicker.js b/static/js/bootstrap-datepicker.js new file mode 100644 index 0000000..9d98305 --- /dev/null +++ b/static/js/bootstrap-datepicker.js @@ -0,0 +1,459 @@ +/* ========================================================= + * bootstrap-datepicker.js + * http://www.eyecon.ro/bootstrap-datepicker + * ========================================================= + * Copyright 2012 Stefan Petre + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +!function ($) { + + // Picker object + + var Datepicker = function (element, options) { + this.element = $(element); + this.format = DPGlobal.parseFormat(options.format || this.element.data('date-format') || 'mm/dd/yyyy'); + this.picker = $(DPGlobal.template) + .appendTo('body') + .on({ + click: $.proxy(this.click, this), + mousedown: $.proxy(this.mousedown, this) + }); + this.isInput = this.element.is('input'); + this.component = this.element.is('.date') ? this.element.find('.add-on') : false; + + this.isOldIe = $.browser.msie && $.browser.version < 9; + + if (this.isInput) { + this.element.on({ + focus: $.proxy(this.show, this), + keyup: $.proxy(this.update, this) + }); + + if (!this.isOldIe) { + this.element.on({ blur: $.proxy(this.hide, this) }); + } + } else { + if (this.component) { + this.component.on('click', $.proxy(this.show, this)); + } else { + this.element.on('click', $.proxy(this.show, this)); + } + } + this.minViewMode = options.minViewMode || this.element.data('date-minviewmode') || 0; + if (typeof this.minViewMode === 'string') { + switch (this.minViewMode) { + case 'months': + this.minViewMode = 1; + break; + case 'years': + this.minViewMode = 2; + break; + default: + this.minViewMode = 0; + break; + } + } + this.viewMode = options.viewMode || this.element.data('date-viewmode') || 0; + if (typeof this.viewMode === 'string') { + switch (this.viewMode) { + case 'months': + this.viewMode = 1; + break; + case 'years': + this.viewMode = 2; + break; + default: + this.viewMode = 0; + break; + } + } + this.startViewMode = this.viewMode; + this.weekStart = options.weekStart || this.element.data('date-weekstart') || 0; + this.weekEnd = this.weekStart === 0 ? 6 : this.weekStart - 1; + this.fillDow(); + this.fillMonths(); + this.update(); + this.showMode(); + }; + + Datepicker.prototype = { + constructor: Datepicker, + + show: function (e) { + this.picker.show(); + this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); + this.place(); + $(window).on('resize', $.proxy(this.place, this)); + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + if (!this.isInput || this.isOldIe) { + $(document).on('mousedown', $.proxy(this.hide, this)); + } + this.element.trigger({ + type: 'show', + date: this.date + }); + }, + + hide: function () { + this.picker.hide(); + $(window).off('resize', this.place); + this.viewMode = this.startViewMode; + this.showMode(); + if (!this.isInput || this.isOldIe) { + $(document).off('mousedown', this.hide); + } + this.set(); + this.element.trigger({ + type: 'hide', + date: this.date + }); + }, + + set: function () { + var formated = DPGlobal.formatDate(this.date, this.format); + if (!this.isInput) { + if (this.component) { + this.element.find('input').prop('value', formated); + } + this.element.data('date', formated); + } else { + this.element.prop('value', formated); + } + }, + + setValue: function (newDate) { + if (typeof newDate === 'string') { + this.date = DPGlobal.parseDate(newDate, this.format); + } else { + this.date = new Date(newDate); + } + this.set(); + this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); + this.fill(); + }, + + place: function () { + var offset = this.component ? this.component.offset() : this.element.offset(); + this.picker.css({ + top: offset.top + this.height, + left: offset.left + }); + }, + + update: function (newDate) { + this.date = DPGlobal.parseDate( + typeof newDate === 'string' ? newDate : (this.isInput ? this.element.prop('value') : this.element.data('date')), + this.format + ); + this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); + this.fill(); + }, + + fillDow: function () { + var dowCnt = this.weekStart; + var html = ''; + while (dowCnt < this.weekStart + 7) { + html += '' + DPGlobal.dates.daysMin[(dowCnt++) % 7] + ''; + } + html += ''; + this.picker.find('.datepicker-days thead').append(html); + }, + + fillMonths: function () { + var html = ''; + var i = 0 + while (i < 12) { + html += '' + DPGlobal.dates.monthsShort[i++] + ''; + } + this.picker.find('.datepicker-months td').append(html); + }, + + fill: function () { + var d = new Date(this.viewDate), + year = d.getFullYear(), + month = d.getMonth(), + currentDate = this.date.valueOf(); + this.picker.find('.datepicker-days th:eq(1)') + .text(DPGlobal.dates.months[month] + ' ' + year); + var prevMonth = new Date(year, month - 1, 28, 0, 0, 0, 0), + day = DPGlobal.getDaysInMonth(prevMonth.getFullYear(), prevMonth.getMonth()); + prevMonth.setDate(day); + prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7) % 7); + var nextMonth = new Date(prevMonth); + nextMonth.setDate(nextMonth.getDate() + 42); + nextMonth = nextMonth.valueOf(); + html = []; + var clsName; + while (prevMonth.valueOf() < nextMonth) { + if (prevMonth.getDay() === this.weekStart) { + html.push(''); + } + clsName = ''; + if (prevMonth.getMonth() < month) { + clsName += ' old'; + } else if (prevMonth.getMonth() > month) { + clsName += ' new'; + } + if (prevMonth.valueOf() === currentDate) { + clsName += ' active'; + } + html.push('' + prevMonth.getDate() + ''); + if (prevMonth.getDay() === this.weekEnd) { + html.push(''); + } + prevMonth.setDate(prevMonth.getDate() + 1); + } + this.picker.find('.datepicker-days tbody').empty().append(html.join('')); + var currentYear = this.date.getFullYear(); + + var months = this.picker.find('.datepicker-months') + .find('th:eq(1)') + .text(year) + .end() + .find('span').removeClass('active'); + if (currentYear === year) { + months.eq(this.date.getMonth()).addClass('active'); + } + + html = ''; + year = parseInt(year / 10, 10) * 10; + var yearCont = this.picker.find('.datepicker-years') + .find('th:eq(1)') + .text(year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + for (var i = -1; i < 11; i++) { + html += '' + year + ''; + year += 1; + } + yearCont.html(html); + }, + + click: function (e) { + e.stopPropagation(); + e.preventDefault(); + var target = $(e.target).closest('span, td, th'); + if (target.length === 1) { + switch (target[0].nodeName.toLowerCase()) { + case 'th': + switch (target[0].className) { + case 'switch': + this.showMode(1); + break; + case 'prev': + case 'next': + this.viewDate['set' + DPGlobal.modes[this.viewMode].navFnc].call( + this.viewDate, + this.viewDate['get' + DPGlobal.modes[this.viewMode].navFnc].call(this.viewDate) + + DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1) + ); + this.fill(); + this.set(); + break; + } + break; + case 'span': + if (target.is('.month')) { + var month = target.parent().find('span').index(target); + this.viewDate.setMonth(month); + } else { + var year = parseInt(target.text(), 10) || 0; + this.viewDate.setFullYear(year); + } + if (this.viewMode !== 0) { + this.date = new Date(this.viewDate); + this.element.trigger({ + type: 'changeDate', + date: this.date, + viewMode: DPGlobal.modes[this.viewMode].clsName + }); + } + this.showMode(-1); + this.fill(); + this.set(); + break; + case 'td': + if (target.is('.day')) { + var day = parseInt(target.text(), 10) || 1; + var month = this.viewDate.getMonth(); + if (target.is('.old')) { + month -= 1; + } else if (target.is('.new')) { + month += 1; + } + var year = this.viewDate.getFullYear(); + this.date = new Date(year, month, day, 0, 0, 0, 0); + this.viewDate = new Date(year, month, Math.min(28, day), 0, 0, 0, 0); + this.fill(); + this.set(); + this.element.trigger({ + type: 'changeDate', + date: this.date, + viewMode: DPGlobal.modes[this.viewMode].clsName + }); + } + break; + } + } + }, + + mousedown: function (e) { + e.stopPropagation(); + e.preventDefault(); + }, + + showMode: function (dir) { + if (dir) { + this.viewMode = Math.max(this.minViewMode, Math.min(2, this.viewMode + dir)); + } + this.picker.find('>div').hide().filter('.datepicker-' + DPGlobal.modes[this.viewMode].clsName).show(); + } + }; + + $.fn.datepicker = function (option, val) { + return this.each(function () { + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option === 'object' && option; + if (!data) { + $this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults, options)))); + } + if (typeof option === 'string') data[option](val); + }); + }; + + $.fn.datepicker.defaults = { + }; + $.fn.datepicker.Constructor = Datepicker; + + var DPGlobal = { + modes: [ + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + }], + dates: { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] + }, + isLeapYear: function (year) { + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) + }, + getDaysInMonth: function (year, month) { + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] + }, + parseFormat: function (format) { + var separator = format.match(/[.\/\-\s].*?/), + parts = format.split(/\W+/); + if (!separator || !parts || parts.length === 0) { + throw new Error("Invalid date format."); + } + return { separator: separator, parts: parts }; + }, + parseDate: function (date, format) { + var parts = date.split(format.separator), + date = new Date(), + val; + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + if (parts.length === format.parts.length) { + for (var i = 0, cnt = format.parts.length; i < cnt; i++) { + val = parseInt(parts[i], 10) || 1; + switch (format.parts[i]) { + case 'dd': + case 'd': + date.setDate(val); + break; + case 'mm': + case 'm': + date.setMonth(val - 1); + break; + case 'yy': + date.setFullYear(2000 + val); + break; + case 'yyyy': + date.setFullYear(val); + break; + } + } + } + return date; + }, + formatDate: function (date, format) { + var val = { + d: date.getDate(), + m: date.getMonth() + 1, + yy: date.getFullYear().toString().substring(2), + yyyy: date.getFullYear() + }; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + var date = []; + for (var i = 0, cnt = format.parts.length; i < cnt; i++) { + date.push(val[format.parts[i]]); + } + return date.join(format.separator); + }, + headTemplate: '' + + '' + + '' + + '' + + '' + + '' + + '', + contTemplate: '' + }; + DPGlobal.template = ''; + +}(window.jQuery) \ No newline at end of file diff --git a/static/js/bootstrap-dropdown.js b/static/js/bootstrap-dropdown.js new file mode 100644 index 0000000..42370df --- /dev/null +++ b/static/js/bootstrap-dropdown.js @@ -0,0 +1,150 @@ +/* ============================================================ + * bootstrap-dropdown.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + $this.focus() + } + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() + + $items = $('[role=menu] li:not(.divider) a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + getParent($(toggle)) + .removeClass('open') + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html') + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + $('body') + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/static/js/bootstrap-tab.js b/static/js/bootstrap-tab.js new file mode 100644 index 0000000..070deb8 --- /dev/null +++ b/static/js/bootstrap-tab.js @@ -0,0 +1,135 @@ +/* ======================================================== + * bootstrap-tab.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#tabs + * ======================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* TAB CLASS DEFINITION + * ==================== */ + + var Tab = function (element) { + this.element = $(element) + } + + Tab.prototype = { + + constructor: Tab + + , show: function () { + var $this = this.element + , $ul = $this.closest('ul:not(.dropdown-menu)') + , selector = $this.attr('data-target') + , previous + , $target + , e + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + if ( $this.parent('li').hasClass('active') ) return + + previous = $ul.find('.active a').last()[0] + + e = $.Event('show', { + relatedTarget: previous + }) + + $this.trigger(e) + + if (e.isDefaultPrevented()) return + + $target = $(selector) + + this.activate($this.parent('li'), $ul) + this.activate($target, $target.parent(), function () { + $this.trigger({ + type: 'shown' + , relatedTarget: previous + }) + }) + } + + , activate: function ( element, container, callback) { + var $active = container.find('> .active') + , transition = callback + && $.support.transition + && $active.hasClass('fade') + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + + element.addClass('active') + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if ( element.parent('.dropdown-menu') ) { + element.closest('li.dropdown').addClass('active') + } + + callback && callback() + } + + transition ? + $active.one($.support.transition.end, next) : + next() + + $active.removeClass('in') + } + } + + + /* TAB PLUGIN DEFINITION + * ===================== */ + + $.fn.tab = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('tab') + if (!data) $this.data('tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.tab.Constructor = Tab + + + /* TAB DATA-API + * ============ */ + + $(function () { + $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { + e.preventDefault() + $(this).tab('show') + }) + }) + +}(window.jQuery); \ No newline at end of file diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..93306ab --- /dev/null +++ b/theme.toml @@ -0,0 +1,6 @@ +name = "Simple A" +license = "MIT" +source_repo = "http://www.github.com/alexfinn/simple-a" +author = "Alexander 'alexfinn' Ivanov" +description = "Minimalistic Hugo theme" +tags = ["blog"] -- cgit v1.2.3