diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000000000000000000000000000000000000..c791f38eb76cd6d940c6c11dd65ea303321c7198 --- /dev/null +++ b/_config.yml @@ -0,0 +1,44 @@ +# Site settings +title: Swift +description: A clean minimal Theme for Jekyll +email: pranav@maangalabs.com +baseurl: "/swift/" # the subpath of your site, e.g. /blog/ +url: "http://pranav.maangalabs.com" # the base hostname & protocol for your site +#favicon +favicon: favicon.ico + +#feed +feedburner_username: maangalabs +#twitter +twitter_username: pranavrajs +github_username: pranavrajs + +#linkedin +linkedin_username: pranavrajs + +#google analytics +google_analytics_id : UA-53386152-1 +#gplus +gplus_username: 101893920934936418705 + +#fb_username +fb_username: pranav.tayberrycreative + +#permalink /blog/2014/11/11/this-is-a-sample-post +permalink: /blog/:year/:month/:day/:title +# Build settings +markdown: kramdown + +#Disqus configuration +disqus_short_name: maangalabscom +disqus_show_comment_count: true + +#Can be used for multiple author blogs ! Add name to post For more visit the sample +authors: + pranavrajs: + display_name: Pranav Raj S + email: pranavrajs@gmail.com + fb: pranav.tayberrycreative + linkedin: pranavrajs + twitter: pranavrajs + github: pranavrajs \ No newline at end of file diff --git a/_includes/author_block.html b/_includes/author_block.html new file mode 100644 index 0000000000000000000000000000000000000000..1927dcb5e7e4b9278d49fd3a210225a8ec89be32 --- /dev/null +++ b/_includes/author_block.html @@ -0,0 +1,57 @@ +{% assign author = site.authors[page.author] %} +<!-- Output author details if some exist. --> +{% if author %} +<div class="author_block col-md-12"> + <div class="row"> + <div class="col-md-1"></div> + <div class="col-md-2"> + <p>Written by <strong>{{ author.display_name }}</strong></p> + </div> + <div class="col-md-3"> + <ul> + <li><a href="http://github.com/{{ author.github }}" target="_blank"><i class="fa fa-github"></i></a></li> + <li><a href="http://facebook.com/{{ author.facebook }}" target="_blank"><i class="fa fa-facebook"></i></a></li> + <li><a href="http://twitter.com/{{ author.twitter }}" target="_blank"><i class="fa fa-twitter"></i></a></li> + <li><a href="http://in.linkedin.com/in/{{ author.linkedin }}" target="_blank"><i class="fa fa-linkedin"></i></a></li> + <li><a href="mailto:{{author.email}}" target="_blank"><i class="fa fa-send-o"></i></a></li> + </ul> + </div> + <div class="col-md-4"> + + {% if page.github_repo_username %} + <div class="col-md-12"> + <a class= "btn-primary btn-large" style="padding:10px; line-height: 44px; margin-left:-24px; text-decoration:none;" href = "//github.com/{{ page.github_repo_username }}/{{page.github_repo}}" target="_blank">Download Source</a> + <iframe style = "line-height:44px"src="http://ghbtns.com/github-btn.html?user={{ page.github_repo_username }}&repo={{page.github_repo}}&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="95" height="20"></iframe> + </div> + {% endif %} + + </div> + <div class="col-md-2"></div> + </div> +</div> +{% endif %} +{% if page.comments %} +<div id="disqus_thread"></div> +<script type="text/javascript"> + var disqus_shortname = '{{ site.disqus_short_name }}'; // required: replace example with your forum shortname + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); +</script> +<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> +{% endif %} + <ul class="pager"> + {% if page.previous.url %} + <li class="previous"><a class="basic-alignment left" + href="{{page.previous.url}}" title="Previous Post: + {{page.previous.title}}">« {{page.previous.title}}</a></li> + {% endif %} + <li><a href="/blog/archives">Blog Archives</a></li> + {% if page.next.url %} + <li class="next"><a class="basic-alignment right" href="{{page.next.url}}" + title="Next Post: {{page.next.title}}">{{page.next.title}} + »</a></li> + {% endif %} + </ul> \ No newline at end of file diff --git a/_includes/endfooter.html b/_includes/endfooter.html new file mode 100644 index 0000000000000000000000000000000000000000..a641759ed55c04faa937863d42039fc3c9d606d2 --- /dev/null +++ b/_includes/endfooter.html @@ -0,0 +1,8 @@ + <div class="row end_footer"> + <div class="col-md-1"></div> + <div class="col-md-6"> + <p>Copyright © {{ site.title }} 2014</p> + </div> + <div class="col-md-4"></div> + <div class="col-md-1"></div> + </div> \ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000000000000000000000000000000000000..62c35a947e47f05897c1ac1b3e92437351a43017 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,50 @@ +<!-- Footer --> + <div class="row footer"> + <div class="col-md-1"></div> + <div class="col-md-10"> + <div class="row"> + <div class="col-md-3"> + <h4>Recent Posts</h4> + <ul> + {% for post in site.posts limit:4 %} + <li><a href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></li> + {% endfor %} + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + <h4>Github Repositories</h4> + <ul> + {% if site.github_username %} + <li> + <a href="https://github.com/{{ site.github_username }}"> + <span class="username">{{ site.github_username }}</span> + </a> + </li> + {% endif %} + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + + <h4>Follow Us Here</h4> + {% if site.gplus_username %} + + <!-- Place this tag where you want the widget to render. --> + <div class="g-page" data-width="273" data-href="//plus.google.com/u/0/{{ site.gplus_username }}" data-theme="dark" data-layout="landscape" style="border:0px;" data-rel="publisher"></div> + + <!-- Place this tag after the last widget tag. --> + <script type="text/javascript"> + (function() { + var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; + po.src = 'https://apis.google.com/js/platform.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); + })(); + </script> + {% endif %} + <!-- <img class="footer-logo" src="img/maanga-logo.png"/> --> + + </div> + </div> + </div> + <div class="col-md-1"></div> + </div> + <!-- End Footer --> diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000000000000000000000000000000000000..48a0e3059102310741286fe83ae7a59c5f0afa1f --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,14 @@ +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width initial-scale=1"> + + <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title> + <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}"> + <meta name="google-translate-customization" content="b9870a0c7376df54-aa35852016e6a5cc-ga0a0d80f6c171f17-e"></meta> + <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}"> + <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}"> + <link href="/{{site.favicon}}" rel="icon"> + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> + <link rel="alternate" type="application/atom+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" /> +</head> diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000000000000000000000000000000000000..9e053236dd2be60c6d29a19493861f1c497a1d01 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,37 @@ + <div class="col-md-12 navbar navbar-inverse navbar-fixed-top"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-inverse-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="{{ site.baseurl }}/">{{ site.title }}</a> + </div> + <div class="navbar-collapse collapse navbar-inverse-collapse"> + <ul class="nav navbar-nav"> + {% for page in site.pages %} + {% if page.title %} + <li><a href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a></li> + {% endif %} + {% endfor %} + +<!-- <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Pages<b class="caret"></b></a> + <ul class="dropdown-menu"> + {% for page in site.pages %} + {% if page.title %} + <li><a href="{{ page.url | prepend: site.baseurl }}" style="text-transform : uppercase;">{{ page.title }}</a></li> + {% endif %} + {% endfor %} + </ul> + </li> + --> </ul> + + <ul class="nav navbar-nav navbar-right left-syms"> + <li><a href="https://facebook.com/{{site.fb_username}}" target="_blank"><i class="fa fa-facebook-square"></i> <span>Facebook</span></a></li> + <li><a href="http://github.com/{{ site.github_username}}" target="_blank"><i class="fa fa-github"></i> <span>Github</span></a></li> + <li><a href="//twitter.com/{{site.twitter_username}}" target="_blank"><i class="fa fa-twitter"></i> <span>Twitter</span></a></li> + <li><a href="/atom.xml" target="_blank"><i class="fa fa-rss"></i> <span>RSS Feed</span></a></li> + </ul> + </div> + </div> diff --git a/_includes/include_js.html b/_includes/include_js.html new file mode 100644 index 0000000000000000000000000000000000000000..3ec08a5bb1dfc74c89c5848ab5037bbd6d82461a --- /dev/null +++ b/_includes/include_js.html @@ -0,0 +1,32 @@ + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> + <script type="text/javascript" src="/js/prettify.js"></script> + <script> + [].forEach.call(document.getElementsByTagName("pre"), function(el) { + el.classList.add("prettyprint"); + }); + + prettyPrint(); + </script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', '{{site.google_analytics_id}}']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + <style> + pre.prettyprint { + + font-size: 13px; + font-family: "Open Sans"; + padding: 8px 12px; + border: 1px solid #bbb; + border-radius: 4px; + } + </style> \ No newline at end of file diff --git a/_includes/sharer.html b/_includes/sharer.html new file mode 100644 index 0000000000000000000000000000000000000000..dba32fe60b870e523503a29ceca9090868b07d61 --- /dev/null +++ b/_includes/sharer.html @@ -0,0 +1,36 @@ +{% if site.fb_username %} +<div class="fb_share"> + <div id="fb-root"></div> + <script>(function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=354997024639145&version=v2.0"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk'));</script> +<div class="fb-share-button" data-layout="button_count"></div> +</div> +{% endif %} + +{% if site.twitter_username %} +<div class="twitter_share"> + <a href="https://twitter.com/share" class="twitter-share-button" data-via="{{ site.twitter_username }}" data-hashtags="sailsjs">Tweet</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> +</div> +{% endif %} + +{% if site.linkedin_username %} +<div class="linkedin_share"> + <script src="//platform.linkedin.com/in.js" type="text/javascript"> + lang: en_US + </script> + <script type="IN/Share" data-counter="right"></script> +</div> +{% endif %} + +{% if site.gplus_username %} +<div class="g_share"> + <script src="https://apis.google.com/js/platform.js" async defer></script> + <div class="g-plus" data-action="share" data-annotation="bubble"></div> +</div> +{% endif %} \ No newline at end of file diff --git a/_layouts/category_archive.html b/_layouts/category_archive.html new file mode 100644 index 0000000000000000000000000000000000000000..1432112c2c949ce31ee97e3eca0ae1cad86533e8 --- /dev/null +++ b/_layouts/category_archive.html @@ -0,0 +1,15 @@ +--- +layout: default +--- +<div class="row"> + <div class="col-md-1"></div> + <div class="col-md-10"> + + + <h1>Category archive for {{ page.category }}</h1> + <article class="blog-post-small blog-post-content"> + {{ content }} + </article> + </div> + <div class="col-md-1"></div> +</div> diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000000000000000000000000000000000000..84512166635e2733e203f8a0ddd196042e9df91d --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + + {% include head.html %} + + <body> + {% include header.html %} + + <div class="col-md-12 blog-theme-class"> + <!-- Top Blog Header --> + <div class="row jumb-bot"> + <div class="col-md-1"></div> + <div class="jumbotron jumb-bot-jumbu col-md-10"> + + <h1>{{site.title}}</h1> + <p>{{site.description}}</p> + </div> + <div class="col-md-1"></div> + </div> + </div> + <div class="col-md-12"> + {{ content }} + </div> + <div class="col-md-12 share-div"> + <div class="col-md-1"></div> + <div class="col-md-10"> + {% include sharer.html %} + </div> + <div class="col-md-1"></div> + </div> + <div class="col-md-12"> + {% include footer.html %} + </div> + <div class="col-md-12"> + {% include endfooter.html %} + </div> + {% include include_js.html %} + + </body> + +</html> diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000000000000000000000000000000000000..abde0056999dded6c8e7ab820c78fedbae85fa8f --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,17 @@ +--- +layout: default +--- +<div class="row"> + <div class="col-md-1"></div> + <div class="col-md-10"> + + + <h1>{{ page.title }}</h1> + + + <article class="blog-post-small blog-post-content"> + {{ content }} + </article> + </div> + <div class="col-md-1"></div> +</div> \ No newline at end of file diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000000000000000000000000000000000000..ba5caafab493f6806f7479c744eeb0e4d0179fae --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,27 @@ +--- +layout: default +--- +<div class="row"> + <div class="col-md-1"></div> + <div class="col-md-10"> + + + <h1>{{ page.title }}</h1> + <div id="google_translate_element" style="padding-right: 27px;float: left;"></div><script type="text/javascript"> + function googleTranslateElementInit() { + new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); + } + </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> + + <p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}</p> + + + <article class="blog-post-small blog-post-content"> + {{ content }} + </article> + + + {% include author_block.html %} + </div> + <div class="col-md-1"></div> +</div> \ No newline at end of file diff --git a/_posts/2014-09-09-example.markdown b/_posts/2014-09-09-example.markdown new file mode 100644 index 0000000000000000000000000000000000000000..5a7c4b4fc5ab8e790b80dc3071205f6392c3e76e --- /dev/null +++ b/_posts/2014-09-09-example.markdown @@ -0,0 +1,49 @@ +--- +layout: post +title: "Example" +date: 2014-09-09 22:37:00 +05:30 +categories: example +author: pranavrajs +github_repo_username: pranavrajs +github_repo : swift +comments: true +--- + +This is a sample post to denote the features of Swift theme . The theme consists of various share plugins , feedburner support , sitemap generation etc. You can configure the blog in similar way you use a word press blog + +<!-- more --> + +**Basic** + +Neque porro *quisquam* est, qui **dolorem** ipsum, quia ***dolor*** sit, amet, [consectetur](http://cjdns.info/), adipisci velit. + + * lorem + * ipsum + +1. dolor +2. sit + + +**Blockquote** + +> They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety. +> +> _Benjamin Franklin_ + +**Code** + +{% highlight c %} + +static void asyncEnabled(Dict* args, void* vAdmin, String* txid, struct Allocator* requestAlloc) +{ + struct Admin* admin = Identity_check((struct Admin*) vAdmin); + int64_t enabled = admin->asyncEnabled; + Dict d = Dict_CONST(String_CONST("asyncEnabled"), Int_OBJ(enabled), NULL); + Admin_sendMessage(&d, txid, admin); +} + +{% endhighlight %} + +**Image** + + diff --git a/_sass/_base.scss b/_sass/_base.scss new file mode 100644 index 0000000000000000000000000000000000000000..8d749fefd552924e01641f503c12da5a41812692 --- /dev/null +++ b/_sass/_base.scss @@ -0,0 +1,7488 @@ +@import url("//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700"); + +/*! + * Bootswatch v3.2.0 + * Homepage: http://bootswatch.com + * Copyright 2012-2014 Thomas Park + * Licensed under MIT + * Based on Bootstrap +*/ + +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ + +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +audio, canvas, progress, video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], template { + display: none; +} + +a { + background: transparent; + &:active, &:hover { + outline: 0; + } +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +mark { + background: #ff0; + color: #000; +} + +small { + font-size: 80%; +} + +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, kbd, pre, samp { + font-family: monospace, monospace; + font-size: 1em; +} + +button, input, optgroup, select, textarea { + color: inherit; + font: inherit; + margin: 0; +} + +button { + overflow: visible; + text-transform: none; +} + +select { + text-transform: none; +} + +button, html input[type="button"] { + -webkit-appearance: button; + cursor: pointer; +} + +input { + &[type="reset"], &[type="submit"] { + -webkit-appearance: button; + cursor: pointer; + } +} + +button[disabled], html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner { + border: 0; + padding: 0; +} + +input { + &::-moz-focus-inner { + border: 0; + padding: 0; + } + line-height: normal; + &[type="checkbox"], &[type="radio"] { + box-sizing: border-box; + padding: 0; + } + &[type="number"] { + &::-webkit-inner-spin-button, &::-webkit-outer-spin-button { + height: auto; + } + } + &[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; + &::-webkit-search-cancel-button, &::-webkit-search-decoration { + -webkit-appearance: none; + } + } +} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +legend { + border: 0; + padding: 0; +} + +textarea { + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, th { + padding: 0; +} + +@media print { + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; + } + a { + text-decoration: underline; + &:visited { + text-decoration: underline; + } + &[href]:after { + content: " (" attr(href) ")"; + } + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a { + &[href^="javascript:"]:after, &[href^="#"]:after { + content: ""; + } + } + pre, blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr { + page-break-inside: avoid; + } + img { + page-break-inside: avoid; + max-width: 100% !important; + } + p, h2, h3 { + orphans: 3; + widows: 3; + } + h2, h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .table { + td, th { + background-color: #fff !important; + } + } + .btn > .caret, .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered { + th, td { + border: 1px solid #ddd !important; + } + } +} + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format("embedded-opentype"), url('../fonts/glyphicons-halflings-regular.woff') format("woff"), url('../fonts/glyphicons-halflings-regular.ttf') format("truetype"), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format("svg"); +} + + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.glyphicon-asterisk:before { + content: "\2a"; +} + +.glyphicon-plus:before { + content: "\2b"; +} + +.glyphicon-euro:before { + content: "\20ac"; +} + +.glyphicon-minus:before { + content: "\2212"; +} + +.glyphicon-cloud:before { + content: "\2601"; +} + +.glyphicon-envelope:before { + content: "\2709"; +} + +.glyphicon-pencil:before { + content: "\270f"; +} + +.glyphicon-glass:before { + content: "\e001"; +} + +.glyphicon-music:before { + content: "\e002"; +} + +.glyphicon-search:before { + content: "\e003"; +} + +.glyphicon-heart:before { + content: "\e005"; +} + +.glyphicon-star:before { + content: "\e006"; +} + +.glyphicon-star-empty:before { + content: "\e007"; +} + +.glyphicon-user:before { + content: "\e008"; +} + +.glyphicon-film:before { + content: "\e009"; +} + +.glyphicon-th-large:before { + content: "\e010"; +} + +.glyphicon-th:before { + content: "\e011"; +} + +.glyphicon-th-list:before { + content: "\e012"; +} + +.glyphicon-ok:before { + content: "\e013"; +} + +.glyphicon-remove:before { + content: "\e014"; +} + +.glyphicon-zoom-in:before { + content: "\e015"; +} + +.glyphicon-zoom-out:before { + content: "\e016"; +} + +.glyphicon-off:before { + content: "\e017"; +} + +.glyphicon-signal:before { + content: "\e018"; +} + +.glyphicon-cog:before { + content: "\e019"; +} + +.glyphicon-trash:before { + content: "\e020"; +} + +.glyphicon-home:before { + content: "\e021"; +} + +.glyphicon-file:before { + content: "\e022"; +} + +.glyphicon-time:before { + content: "\e023"; +} + +.glyphicon-road:before { + content: "\e024"; +} + +.glyphicon-download-alt:before { + content: "\e025"; +} + +.glyphicon-download:before { + content: "\e026"; +} + +.glyphicon-upload:before { + content: "\e027"; +} + +.glyphicon-inbox:before { + content: "\e028"; +} + +.glyphicon-play-circle:before { + content: "\e029"; +} + +.glyphicon-repeat:before { + content: "\e030"; +} + +.glyphicon-refresh:before { + content: "\e031"; +} + +.glyphicon-list-alt:before { + content: "\e032"; +} + +.glyphicon-lock:before { + content: "\e033"; +} + +.glyphicon-flag:before { + content: "\e034"; +} + +.glyphicon-headphones:before { + content: "\e035"; +} + +.glyphicon-volume-off:before { + content: "\e036"; +} + +.glyphicon-volume-down:before { + content: "\e037"; +} + +.glyphicon-volume-up:before { + content: "\e038"; +} + +.glyphicon-qrcode:before { + content: "\e039"; +} + +.glyphicon-barcode:before { + content: "\e040"; +} + +.glyphicon-tag:before { + content: "\e041"; +} + +.glyphicon-tags:before { + content: "\e042"; +} + +.glyphicon-book:before { + content: "\e043"; +} + +.glyphicon-bookmark:before { + content: "\e044"; +} + +.glyphicon-print:before { + content: "\e045"; +} + +.glyphicon-camera:before { + content: "\e046"; +} + +.glyphicon-font:before { + content: "\e047"; +} + +.glyphicon-bold:before { + content: "\e048"; +} + +.glyphicon-italic:before { + content: "\e049"; +} + +.glyphicon-text-height:before { + content: "\e050"; +} + +.glyphicon-text-width:before { + content: "\e051"; +} + +.glyphicon-align-left:before { + content: "\e052"; +} + +.glyphicon-align-center:before { + content: "\e053"; +} + +.glyphicon-align-right:before { + content: "\e054"; +} + +.glyphicon-align-justify:before { + content: "\e055"; +} + +.glyphicon-list:before { + content: "\e056"; +} + +.glyphicon-indent-left:before { + content: "\e057"; +} + +.glyphicon-indent-right:before { + content: "\e058"; +} + +.glyphicon-facetime-video:before { + content: "\e059"; +} + +.glyphicon-picture:before { + content: "\e060"; +} + +.glyphicon-map-marker:before { + content: "\e062"; +} + +.glyphicon-adjust:before { + content: "\e063"; +} + +.glyphicon-tint:before { + content: "\e064"; +} + +.glyphicon-edit:before { + content: "\e065"; +} + +.glyphicon-share:before { + content: "\e066"; +} + +.glyphicon-check:before { + content: "\e067"; +} + +.glyphicon-move:before { + content: "\e068"; +} + +.glyphicon-step-backward:before { + content: "\e069"; +} + +.glyphicon-fast-backward:before { + content: "\e070"; +} + +.glyphicon-backward:before { + content: "\e071"; +} + +.glyphicon-play:before { + content: "\e072"; +} + +.glyphicon-pause:before { + content: "\e073"; +} + +.glyphicon-stop:before { + content: "\e074"; +} + +.glyphicon-forward:before { + content: "\e075"; +} + +.glyphicon-fast-forward:before { + content: "\e076"; +} + +.glyphicon-step-forward:before { + content: "\e077"; +} + +.glyphicon-eject:before { + content: "\e078"; +} + +.glyphicon-chevron-left:before { + content: "\e079"; +} + +.glyphicon-chevron-right:before { + content: "\e080"; +} + +.glyphicon-plus-sign:before { + content: "\e081"; +} + +.glyphicon-minus-sign:before { + content: "\e082"; +} + +.glyphicon-remove-sign:before { + content: "\e083"; +} + +.glyphicon-ok-sign:before { + content: "\e084"; +} + +.glyphicon-question-sign:before { + content: "\e085"; +} + +.glyphicon-info-sign:before { + content: "\e086"; +} + +.glyphicon-screenshot:before { + content: "\e087"; +} + +.glyphicon-remove-circle:before { + content: "\e088"; +} + +.glyphicon-ok-circle:before { + content: "\e089"; +} + +.glyphicon-ban-circle:before { + content: "\e090"; +} + +.glyphicon-arrow-left:before { + content: "\e091"; +} + +.glyphicon-arrow-right:before { + content: "\e092"; +} + +.glyphicon-arrow-up:before { + content: "\e093"; +} + +.glyphicon-arrow-down:before { + content: "\e094"; +} + +.glyphicon-share-alt:before { + content: "\e095"; +} + +.glyphicon-resize-full:before { + content: "\e096"; +} + +.glyphicon-resize-small:before { + content: "\e097"; +} + +.glyphicon-exclamation-sign:before { + content: "\e101"; +} + +.glyphicon-gift:before { + content: "\e102"; +} + +.glyphicon-leaf:before { + content: "\e103"; +} + +.glyphicon-fire:before { + content: "\e104"; +} + +.glyphicon-eye-open:before { + content: "\e105"; +} + +.glyphicon-eye-close:before { + content: "\e106"; +} + +.glyphicon-warning-sign:before { + content: "\e107"; +} + +.glyphicon-plane:before { + content: "\e108"; +} + +.glyphicon-calendar:before { + content: "\e109"; +} + +.glyphicon-random:before { + content: "\e110"; +} + +.glyphicon-comment:before { + content: "\e111"; +} + +.glyphicon-magnet:before { + content: "\e112"; +} + +.glyphicon-chevron-up:before { + content: "\e113"; +} + +.glyphicon-chevron-down:before { + content: "\e114"; +} + +.glyphicon-retweet:before { + content: "\e115"; +} + +.glyphicon-shopping-cart:before { + content: "\e116"; +} + +.glyphicon-folder-close:before { + content: "\e117"; +} + +.glyphicon-folder-open:before { + content: "\e118"; +} + +.glyphicon-resize-vertical:before { + content: "\e119"; +} + +.glyphicon-resize-horizontal:before { + content: "\e120"; +} + +.glyphicon-hdd:before { + content: "\e121"; +} + +.glyphicon-bullhorn:before { + content: "\e122"; +} + +.glyphicon-bell:before { + content: "\e123"; +} + +.glyphicon-certificate:before { + content: "\e124"; +} + +.glyphicon-thumbs-up:before { + content: "\e125"; +} + +.glyphicon-thumbs-down:before { + content: "\e126"; +} + +.glyphicon-hand-right:before { + content: "\e127"; +} + +.glyphicon-hand-left:before { + content: "\e128"; +} + +.glyphicon-hand-up:before { + content: "\e129"; +} + +.glyphicon-hand-down:before { + content: "\e130"; +} + +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} + +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} + +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} + +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} + +.glyphicon-globe:before { + content: "\e135"; +} + +.glyphicon-wrench:before { + content: "\e136"; +} + +.glyphicon-tasks:before { + content: "\e137"; +} + +.glyphicon-filter:before { + content: "\e138"; +} + +.glyphicon-briefcase:before { + content: "\e139"; +} + +.glyphicon-fullscreen:before { + content: "\e140"; +} + +.glyphicon-dashboard:before { + content: "\e141"; +} + +.glyphicon-paperclip:before { + content: "\e142"; +} + +.glyphicon-heart-empty:before { + content: "\e143"; +} + +.glyphicon-link:before { + content: "\e144"; +} + +.glyphicon-phone:before { + content: "\e145"; +} + +.glyphicon-pushpin:before { + content: "\e146"; +} + +.glyphicon-usd:before { + content: "\e148"; +} + +.glyphicon-gbp:before { + content: "\e149"; +} + +.glyphicon-sort:before { + content: "\e150"; +} + +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} + +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} + +.glyphicon-sort-by-order:before { + content: "\e153"; +} + +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} + +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} + +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} + +.glyphicon-unchecked:before { + content: "\e157"; +} + +.glyphicon-expand:before { + content: "\e158"; +} + +.glyphicon-collapse-down:before { + content: "\e159"; +} + +.glyphicon-collapse-up:before { + content: "\e160"; +} + +.glyphicon-log-in:before { + content: "\e161"; +} + +.glyphicon-flash:before { + content: "\e162"; +} + +.glyphicon-log-out:before { + content: "\e163"; +} + +.glyphicon-new-window:before { + content: "\e164"; +} + +.glyphicon-record:before { + content: "\e165"; +} + +.glyphicon-save:before { + content: "\e166"; +} + +.glyphicon-open:before { + content: "\e167"; +} + +.glyphicon-saved:before { + content: "\e168"; +} + +.glyphicon-import:before { + content: "\e169"; +} + +.glyphicon-export:before { + content: "\e170"; +} + +.glyphicon-send:before { + content: "\e171"; +} + +.glyphicon-floppy-disk:before { + content: "\e172"; +} + +.glyphicon-floppy-saved:before { + content: "\e173"; +} + +.glyphicon-floppy-remove:before { + content: "\e174"; +} + +.glyphicon-floppy-save:before { + content: "\e175"; +} + +.glyphicon-floppy-open:before { + content: "\e176"; +} + +.glyphicon-credit-card:before { + content: "\e177"; +} + +.glyphicon-transfer:before { + content: "\e178"; +} + +.glyphicon-cutlery:before { + content: "\e179"; +} + +.glyphicon-header:before { + content: "\e180"; +} + +.glyphicon-compressed:before { + content: "\e181"; +} + +.glyphicon-earphone:before { + content: "\e182"; +} + +.glyphicon-phone-alt:before { + content: "\e183"; +} + +.glyphicon-tower:before { + content: "\e184"; +} + +.glyphicon-stats:before { + content: "\e185"; +} + +.glyphicon-sd-video:before { + content: "\e186"; +} + +.glyphicon-hd-video:before { + content: "\e187"; +} + +.glyphicon-subtitles:before { + content: "\e188"; +} + +.glyphicon-sound-stereo:before { + content: "\e189"; +} + +.glyphicon-sound-dolby:before { + content: "\e190"; +} + +.glyphicon-sound-5-1:before { + content: "\e191"; +} + +.glyphicon-sound-6-1:before { + content: "\e192"; +} + +.glyphicon-sound-7-1:before { + content: "\e193"; +} + +.glyphicon-copyright-mark:before { + content: "\e194"; +} + +.glyphicon-registration-mark:before { + content: "\e195"; +} + +.glyphicon-cloud-download:before { + content: "\e197"; +} + +.glyphicon-cloud-upload:before { + content: "\e198"; +} + +.glyphicon-tree-conifer:before { + content: "\e199"; +} + +.glyphicon-tree-deciduous:before { + content: "\e200"; +} + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + &:before, &:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } +} + +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +body { + font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 15px; + line-height: 1.42857143; + color: #222222; + background-color: #ffffff; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +a { + color: #008cba; + text-decoration: none; + &:hover { + color: #00526e; + text-decoration: underline; + } + &:focus { + color: #00526e; + text-decoration: underline; + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; + } +} + +figure { + margin: 0; +} + +img { + vertical-align: middle; +} + +.img-responsive { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; +} + +.thumbnail { + > img, a > img { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; + } +} + +.carousel-inner > .item > { + img, a > img { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; + } +} + +.img-rounded { + border-radius: 0; +} + +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 0; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + display: inline-block; + width: 100% \9; + max-width: 100%; + height: auto; +} + +.img-circle { + border-radius: 50%; +} + +hr { + margin-top: 21px; + margin-bottom: 21px; + border: 0; + border-top: 1px solid #dddddd; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +.sr-only-focusable { + &:active, &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} + +h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { + font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + font-weight: 300; + line-height: 1.1; + color: inherit; +} + +h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, .h1, h2, .h2, h3, .h3 { + margin-top: 21px; + margin-bottom: 10.5px; +} + +h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { + font-size: 65%; +} + +h4, .h4, h5, .h5, h6, .h6 { + margin-top: 10.5px; + margin-bottom: 10.5px; +} + +h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { + font-size: 75%; +} + +h1, .h1 { + font-size: 39px; +} + +h2, .h2 { + font-size: 32px; +} + +h3, .h3 { + font-size: 26px; +} + +h4, .h4 { + font-size: 19px; +} + +h5, .h5 { + font-size: 15px; +} + +h6, .h6 { + font-size: 13px; +} + +p { + margin: 0 0 10.5px; +} + +.lead { + margin-bottom: 21px; + font-size: 17px; + font-weight: 300; + line-height: 1.4; +} + +@media (min-width: 768px) { + .lead { + font-size: 22.5px; + } +} + +small, .small { + font-size: 80%; +} + +cite { + font-style: normal; +} + +mark, .mark { + background-color: #fcf8e3; + padding: .2em; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +.text-justify { + text-align: justify; +} + +.text-nowrap { + white-space: nowrap; +} + +.text-lowercase { + text-transform: lowercase; +} + +.text-uppercase { + text-transform: uppercase; +} + +.text-capitalize { + text-transform: capitalize; +} + +.text-muted { + color: #999999; +} + +.text-primary { + color: #008cba; +} + +a.text-primary:hover { + color: #006687; +} + +.text-success { + color: #43ac6a; +} + +a.text-success:hover { + color: #358753; +} + +.text-info { + color: #5bc0de; +} + +a.text-info:hover { + color: #31b0d5; +} + +.text-warning { + color: #e99002; +} + +a.text-warning:hover { + color: #b67102; +} + +.text-danger { + color: #f04124; +} + +a.text-danger:hover { + color: #d32a0e; +} + +.bg-primary { + color: #fff; + background-color: #008cba; +} + +a.bg-primary:hover { + background-color: #006687; +} + +.bg-success { + background-color: #dff0d8; +} + +a.bg-success:hover { + background-color: #c1e2b3; +} + +.bg-info { + background-color: #d9edf7; +} + +a.bg-info:hover { + background-color: #afd9ee; +} + +.bg-warning { + background-color: #fcf8e3; +} + +a.bg-warning:hover { + background-color: #f7ecb5; +} + +.bg-danger { + background-color: #f2dede; +} + +a.bg-danger:hover { + background-color: #e4b9b9; +} + +.page-header { + padding-bottom: 9.5px; + margin: 42px 0 21px; + border-bottom: 1px solid #dddddd; +} + +ul, ol { + margin-top: 0; + margin-bottom: 10.5px; +} + +ul ul, ol ul, ul ol, ol ol { + margin-bottom: 0; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; + > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; + } +} + +dl { + margin-top: 0; + margin-bottom: 21px; +} + +dt, dd { + line-height: 1.42857143; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 0; +} + +@media (min-width: 768px) { + .dl-horizontal { + dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + dd { + margin-left: 180px; + } + } +} + +abbr { + &[title], &[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; + } +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 10.5px 21px; + margin: 0 0 21px; + font-size: 18.75px; + border-left: 5px solid #dddddd; + p:last-child, ul:last-child, ol:last-child { + margin-bottom: 0; + } + footer, small, .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #6f6f6f; + } + footer:before, small:before, .small:before { + content: '\2014 \00A0'; + } +} + +.blockquote-reverse, blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #dddddd; + border-left: 0; + text-align: right; +} + +.blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { + content: ''; +} + +.blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after { + content: '\00A0 \2014'; +} + +blockquote { + &.pull-right .small:after { + content: '\00A0 \2014'; + } + &:before, &:after { + content: ""; + } +} + +address { + margin-bottom: 21px; + font-style: normal; + line-height: 1.42857143; +} + +code, kbd, pre, samp { + font-family: Menlo,Monaco,Consolas,"Courier New",monospace; +} + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 0; +} + +kbd { + padding: 2px 4px; + font-size: 90%; + color: #ffffff; + background-color: #333333; + border-radius: 0; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + kbd { + padding: 0; + font-size: 100%; + box-shadow: none; + } +} + +pre { + display: block; + padding: 10px; + margin: 0 0 10.5px; + font-size: 14px; + line-height: 1.42857143; + word-break: break-all; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 0; + code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; + } +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container, .container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +@media (min-width: 768px) { + .container { + width: 750px; + } +} + +@media (min-width: 992px) { + .container { + width: 970px; + } +} + +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} + +.row { + margin-left: -15px; + margin-right: -15px; +} + +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 { + float: left; +} + +.col-xs-12 { + float: left; + width: 100%; +} + +.col-xs-11 { + width: 91.66666667%; +} + +.col-xs-10 { + width: 83.33333333%; +} + +.col-xs-9 { + width: 75%; +} + +.col-xs-8 { + width: 66.66666667%; +} + +.col-xs-7 { + width: 58.33333333%; +} + +.col-xs-6 { + width: 50%; +} + +.col-xs-5 { + width: 41.66666667%; +} + +.col-xs-4 { + width: 33.33333333%; +} + +.col-xs-3 { + width: 25%; +} + +.col-xs-2 { + width: 16.66666667%; +} + +.col-xs-1 { + width: 8.33333333%; +} + +.col-xs-pull-12 { + right: 100%; +} + +.col-xs-pull-11 { + right: 91.66666667%; +} + +.col-xs-pull-10 { + right: 83.33333333%; +} + +.col-xs-pull-9 { + right: 75%; +} + +.col-xs-pull-8 { + right: 66.66666667%; +} + +.col-xs-pull-7 { + right: 58.33333333%; +} + +.col-xs-pull-6 { + right: 50%; +} + +.col-xs-pull-5 { + right: 41.66666667%; +} + +.col-xs-pull-4 { + right: 33.33333333%; +} + +.col-xs-pull-3 { + right: 25%; +} + +.col-xs-pull-2 { + right: 16.66666667%; +} + +.col-xs-pull-1 { + right: 8.33333333%; +} + +.col-xs-pull-0 { + right: auto; +} + +.col-xs-push-12 { + left: 100%; +} + +.col-xs-push-11 { + left: 91.66666667%; +} + +.col-xs-push-10 { + left: 83.33333333%; +} + +.col-xs-push-9 { + left: 75%; +} + +.col-xs-push-8 { + left: 66.66666667%; +} + +.col-xs-push-7 { + left: 58.33333333%; +} + +.col-xs-push-6 { + left: 50%; +} + +.col-xs-push-5 { + left: 41.66666667%; +} + +.col-xs-push-4 { + left: 33.33333333%; +} + +.col-xs-push-3 { + left: 25%; +} + +.col-xs-push-2 { + left: 16.66666667%; +} + +.col-xs-push-1 { + left: 8.33333333%; +} + +.col-xs-push-0 { + left: auto; +} + +.col-xs-offset-12 { + margin-left: 100%; +} + +.col-xs-offset-11 { + margin-left: 91.66666667%; +} + +.col-xs-offset-10 { + margin-left: 83.33333333%; +} + +.col-xs-offset-9 { + margin-left: 75%; +} + +.col-xs-offset-8 { + margin-left: 66.66666667%; +} + +.col-xs-offset-7 { + margin-left: 58.33333333%; +} + +.col-xs-offset-6 { + margin-left: 50%; +} + +.col-xs-offset-5 { + margin-left: 41.66666667%; +} + +.col-xs-offset-4 { + margin-left: 33.33333333%; +} + +.col-xs-offset-3 { + margin-left: 25%; +} + +.col-xs-offset-2 { + margin-left: 16.66666667%; +} + +.col-xs-offset-1 { + margin-left: 8.33333333%; +} + +.col-xs-offset-0 { + margin-left: 0%; +} + +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 { + float: left; + } + .col-sm-12 { + float: left; + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} + +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 { + float: left; + } + .col-md-12 { + /*float: left;*/ + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} + +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 { + float: left; + } + .col-lg-12 { + float: left; + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} + +table { + background-color: transparent; +} + +th { + text-align: left; +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 21px; + > { + thead > tr > th, tbody > tr > th, tfoot > tr > th, thead > tr > td, tbody > tr > td, tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #dddddd; + } + thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; + } + caption + thead > tr:first-child > th, colgroup + thead > tr:first-child > th, thead:first-child > tr:first-child > th, caption + thead > tr:first-child > td, colgroup + thead > tr:first-child > td, thead:first-child > tr:first-child > td { + border-top: 0; + } + tbody + tbody { + border-top: 2px solid #dddddd; + } + } + .table { + background-color: #ffffff; + } +} + +.table-condensed > { + thead > tr > th, tbody > tr > th, tfoot > tr > th, thead > tr > td, tbody > tr > td, tfoot > tr > td { + padding: 5px; + } +} + +.table-bordered { + border: 1px solid #dddddd; + > { + thead > tr > th, tbody > tr > th, tfoot > tr > th, thead > tr > td, tbody > tr > td, tfoot > tr > td { + border: 1px solid #dddddd; + } + thead > tr > { + th, td { + border-bottom-width: 2px; + } + } + } +} + +.table-striped > tbody > tr:nth-child(odd) > { + td, th { + background-color: #f9f9f9; + } +} + +.table-hover > tbody > tr:hover > { + td, th { + background-color: #f5f5f5; + } +} + +table { + col[class*="col-"] { + position: static; + float: none; + display: table-column; + } + td[class*="col-"], th[class*="col-"] { + position: static; + float: none; + display: table-cell; + } +} + +.table > { + thead > tr > td.active, tbody > tr > td.active, tfoot > tr > td.active, thead > tr > th.active, tbody > tr > th.active, tfoot > tr > th.active, thead > tr.active > td, tbody > tr.active > td, tfoot > tr.active > td, thead > tr.active > th, tbody > tr.active > th, tfoot > tr.active > th { + background-color: #f5f5f5; + } +} + +.table-hover > tbody > tr { + > { + td.active:hover, th.active:hover { + background-color: #e8e8e8; + } + } + &.active:hover > td, &:hover > .active, &.active:hover > th { + background-color: #e8e8e8; + } +} + +.table > { + thead > tr > td.success, tbody > tr > td.success, tfoot > tr > td.success, thead > tr > th.success, tbody > tr > th.success, tfoot > tr > th.success, thead > tr.success > td, tbody > tr.success > td, tfoot > tr.success > td, thead > tr.success > th, tbody > tr.success > th, tfoot > tr.success > th { + background-color: #dff0d8; + } +} + +.table-hover > tbody > tr { + > { + td.success:hover, th.success:hover { + background-color: #d0e9c6; + } + } + &.success:hover > td, &:hover > .success, &.success:hover > th { + background-color: #d0e9c6; + } +} + +.table > { + thead > tr > td.info, tbody > tr > td.info, tfoot > tr > td.info, thead > tr > th.info, tbody > tr > th.info, tfoot > tr > th.info, thead > tr.info > td, tbody > tr.info > td, tfoot > tr.info > td, thead > tr.info > th, tbody > tr.info > th, tfoot > tr.info > th { + background-color: #d9edf7; + } +} + +.table-hover > tbody > tr { + > { + td.info:hover, th.info:hover { + background-color: #c4e3f3; + } + } + &.info:hover > td, &:hover > .info, &.info:hover > th { + background-color: #c4e3f3; + } +} + +.table > { + thead > tr > td.warning, tbody > tr > td.warning, tfoot > tr > td.warning, thead > tr > th.warning, tbody > tr > th.warning, tfoot > tr > th.warning, thead > tr.warning > td, tbody > tr.warning > td, tfoot > tr.warning > td, thead > tr.warning > th, tbody > tr.warning > th, tfoot > tr.warning > th { + background-color: #fcf8e3; + } +} + +.table-hover > tbody > tr { + > { + td.warning:hover, th.warning:hover { + background-color: #faf2cc; + } + } + &.warning:hover > td, &:hover > .warning, &.warning:hover > th { + background-color: #faf2cc; + } +} + +.table > { + thead > tr > td.danger, tbody > tr > td.danger, tfoot > tr > td.danger, thead > tr > th.danger, tbody > tr > th.danger, tfoot > tr > th.danger, thead > tr.danger > td, tbody > tr.danger > td, tfoot > tr.danger > td, thead > tr.danger > th, tbody > tr.danger > th, tfoot > tr.danger > th { + background-color: #f2dede; + } +} + +.table-hover > tbody > tr { + > { + td.danger:hover, th.danger:hover { + background-color: #ebcccc; + } + } + &.danger:hover > td, &:hover > .danger, &.danger:hover > th { + background-color: #ebcccc; + } +} + +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15.75px; + overflow-y: hidden; + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #dddddd; + -webkit-overflow-scrolling: touch; + > { + .table { + margin-bottom: 0; + > { + thead > tr > th, tbody > tr > th, tfoot > tr > th, thead > tr > td, tbody > tr > td, tfoot > tr > td { + white-space: nowrap; + } + } + } + .table-bordered { + border: 0; + > { + thead > tr > th:first-child, tbody > tr > th:first-child, tfoot > tr > th:first-child, thead > tr > td:first-child, tbody > tr > td:first-child, tfoot > tr > td:first-child { + border-left: 0; + } + thead > tr > th:last-child, tbody > tr > th:last-child, tfoot > tr > th:last-child, thead > tr > td:last-child, tbody > tr > td:last-child, tfoot > tr > td:last-child { + border-right: 0; + } + tbody > tr:last-child > th, tfoot > tr:last-child > th, tbody > tr:last-child > td, tfoot > tr:last-child > td { + border-bottom: 0; + } + } + } + } + } +} + +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 21px; + font-size: 22.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} + +input { + &[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + &[type="radio"], &[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; + } + &[type="file"] { + display: block; + } + &[type="range"] { + display: block; + width: 100%; + } +} + +select { + &[multiple], &[size] { + height: auto; + } +} + +input { + &[type="file"]:focus, &[type="radio"]:focus, &[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; + } +} + +output { + display: block; + padding-top: 7px; + font-size: 15px; + line-height: 1.42857143; + color: #6f6f6f; +} + +.form-control { + display: block; + width: 100%; + height: 35px; + padding: 6px 12px; + font-size: 15px; + line-height: 1.42857143; + color: #6f6f6f; + background-color: #ffffff; + background-image: none; + border: 1px solid #cccccc; + border-radius: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + &:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + } + &::-moz-placeholder { + color: #999999; + opacity: 1; + } + &:-ms-input-placeholder, &::-webkit-input-placeholder { + color: #999999; + } + &[disabled], &[readonly] { + cursor: not-allowed; + background-color: #eeeeee; + opacity: 1; + } +} + +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eeeeee; + opacity: 1; +} + +textarea.form-control { + height: auto; +} + +input { + &[type="search"] { + -webkit-appearance: none; + } + &[type="date"], &[type="time"], &[type="datetime-local"], &[type="month"] { + line-height: 35px; + line-height: 1.42857143 \0; + } + &[type="date"].input-sm, &[type="time"].input-sm, &[type="datetime-local"].input-sm, &[type="month"].input-sm { + line-height: 30px; + } + &[type="date"].input-lg, &[type="time"].input-lg, &[type="datetime-local"].input-lg, &[type="month"].input-lg { + line-height: 48px; + } +} + +.form-group { + margin-bottom: 15px; +} + +.radio, .checkbox { + position: relative; + display: block; + min-height: 21px; + margin-top: 10px; + margin-bottom: 10px; +} + +.radio label, .checkbox label { + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} + +.radio + .radio, .checkbox + .checkbox { + margin-top: -5px; +} + +.radio-inline, .checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} + +.radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} + +input { + &[type="radio"][disabled], &[type="checkbox"][disabled], &[type="radio"].disabled, &[type="checkbox"].disabled { + cursor: not-allowed; + } +} + +fieldset[disabled] input { + &[type="radio"], &[type="checkbox"] { + cursor: not-allowed; + } +} + +.radio-inline.disabled, .checkbox-inline.disabled { + cursor: not-allowed; +} + +fieldset[disabled] { + .radio-inline, .checkbox-inline { + cursor: not-allowed; + } +} + +.radio.disabled label, .checkbox.disabled label { + cursor: not-allowed; +} + +fieldset[disabled] { + .radio label, .checkbox label { + cursor: not-allowed; + } +} + +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + &.input-lg, &.input-sm { + padding-left: 0; + padding-right: 0; + } +} + +.input-sm, .form-horizontal .form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} + +select.input-sm { + height: 30px; + line-height: 30px; +} + +textarea.input-sm, select[multiple].input-sm { + height: auto; +} + +.input-lg, .form-horizontal .form-group-lg .form-control { + height: 48px; + padding: 10px 16px; + font-size: 19px; + line-height: 1.33; + border-radius: 0; +} + +select.input-lg { + height: 48px; + line-height: 48px; +} + +textarea.input-lg, select[multiple].input-lg { + height: auto; +} + +.has-feedback { + position: relative; + .form-control { + padding-right: 43.75px; + } +} + +.form-control-feedback { + position: absolute; + top: 26px; + right: 0; + z-index: 2; + display: block; + width: 35px; + height: 35px; + line-height: 35px; + text-align: center; +} + +.input-lg + .form-control-feedback { + width: 48px; + height: 48px; + line-height: 48px; +} + +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} + +.has-success { + .help-block, .control-label, .radio, .checkbox, .radio-inline, .checkbox-inline { + color: #43ac6a; + } + .form-control { + border-color: #43ac6a; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + &:focus { + border-color: #358753; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1; + } + } + .input-group-addon { + color: #43ac6a; + border-color: #43ac6a; + background-color: #dff0d8; + } + .form-control-feedback { + color: #43ac6a; + } +} + +.has-warning { + .help-block, .control-label, .radio, .checkbox, .radio-inline, .checkbox-inline { + color: #e99002; + } + .form-control { + border-color: #e99002; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + &:focus { + border-color: #b67102; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53; + } + } + .input-group-addon { + color: #e99002; + border-color: #e99002; + background-color: #fcf8e3; + } + .form-control-feedback { + color: #e99002; + } +} + +.has-error { + .help-block, .control-label, .radio, .checkbox, .radio-inline, .checkbox-inline { + color: #f04124; + } + .form-control { + border-color: #f04124; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + &:focus { + border-color: #d32a0e; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483; + } + } + .input-group-addon { + color: #f04124; + border-color: #f04124; + background-color: #f2dede; + } + .form-control-feedback { + color: #f04124; + } +} + +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #626262; +} + +@media (min-width: 768px) { + .form-inline { + .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .input-group { + display: inline-table; + vertical-align: middle; + .input-group-addon, .input-group-btn, .form-control { + width: auto; + } + > .form-control { + width: 100%; + } + } + .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .radio, .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .radio label, .checkbox label { + padding-left: 0; + } + .radio input[type="radio"], .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .has-feedback .form-control-feedback { + top: 0; + } + } +} + +.form-horizontal { + .radio, .checkbox, .radio-inline, .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; + } + .radio, .checkbox { + min-height: 28px; + } + .form-group { + margin-left: -15px; + margin-right: -15px; + } + .has-feedback .form-control-feedback { + top: 0; + right: 15px; + } +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} + +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + } +} + +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } +} + +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 15px; + line-height: 1.42857143; + border-radius: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + &:focus, &:active:focus, &.active:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; + } + &:hover, &:focus { + color: #333333; + text-decoration: none; + } + &:active, &.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + } + &.disabled, &[disabled] { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + filter: alpha(opacity = 65); + -webkit-box-shadow: none; + box-shadow: none; + } +} + +fieldset[disabled] .btn { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + filter: alpha(opacity = 65); + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-default { + color: #333333; + background-color: #e7e7e7; + border-color: #dadada; + &:hover, &:focus, &:active, &.active { + color: #333333; + background-color: #cecece; + border-color: #bbbbbb; + } +} + +.open > .dropdown-toggle.btn-default { + color: #333333; + background-color: #cecece; + border-color: #bbbbbb; +} + +.btn-default { + &:active, &.active { + background-image: none; + } +} + +.open > .dropdown-toggle.btn-default { + background-image: none; +} + +.btn-default { + &.disabled, &[disabled] { + background-color: #e7e7e7; + border-color: #dadada; + } +} + +fieldset[disabled] .btn-default { + background-color: #e7e7e7; + border-color: #dadada; +} + +.btn-default { + &.disabled:hover, &[disabled]:hover { + background-color: #e7e7e7; + border-color: #dadada; + } +} + +fieldset[disabled] .btn-default:hover { + background-color: #e7e7e7; + border-color: #dadada; +} + +.btn-default { + &.disabled:focus, &[disabled]:focus { + background-color: #e7e7e7; + border-color: #dadada; + } +} + +fieldset[disabled] .btn-default:focus { + background-color: #e7e7e7; + border-color: #dadada; +} + +.btn-default { + &.disabled:active, &[disabled]:active { + background-color: #e7e7e7; + border-color: #dadada; + } +} + +fieldset[disabled] .btn-default:active { + background-color: #e7e7e7; + border-color: #dadada; +} + +.btn-default { + &.disabled.active, &[disabled].active { + background-color: #e7e7e7; + border-color: #dadada; + } +} + +fieldset[disabled] .btn-default.active { + background-color: #e7e7e7; + border-color: #dadada; +} + +.btn-default .badge { + color: #e7e7e7; + background-color: #333333; +} + +.btn-primary { + color: #ffffff; + background-color: #008cba; + border-color: #0079a1; + &:hover, &:focus, &:active, &.active { + color: #ffffff; + background-color: #006687; + border-color: #004b63; + } +} + +.open > .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #006687; + border-color: #004b63; +} + +.btn-primary { + &:active, &.active { + background-image: none; + } +} + +.open > .dropdown-toggle.btn-primary { + background-image: none; +} + +.btn-primary { + &.disabled, &[disabled] { + background-color: #008cba; + border-color: #0079a1; + } +} + +fieldset[disabled] .btn-primary { + background-color: #008cba; + border-color: #0079a1; +} + +.btn-primary { + &.disabled:hover, &[disabled]:hover { + background-color: #008cba; + border-color: #0079a1; + } +} + +fieldset[disabled] .btn-primary:hover { + background-color: #008cba; + border-color: #0079a1; +} + +.btn-primary { + &.disabled:focus, &[disabled]:focus { + background-color: #008cba; + border-color: #0079a1; + } +} + +fieldset[disabled] .btn-primary:focus { + background-color: #008cba; + border-color: #0079a1; +} + +.btn-primary { + &.disabled:active, &[disabled]:active { + background-color: #008cba; + border-color: #0079a1; + } +} + +fieldset[disabled] .btn-primary:active { + background-color: #008cba; + border-color: #0079a1; +} + +.btn-primary { + &.disabled.active, &[disabled].active { + background-color: #008cba; + border-color: #0079a1; + } +} + +fieldset[disabled] .btn-primary.active { + background-color: #008cba; + border-color: #0079a1; +} + +.btn-primary .badge { + color: #008cba; + background-color: #ffffff; +} + +.btn-success { + color: #ffffff; + background-color: #43ac6a; + border-color: #3c9a5f; + &:hover, &:focus, &:active, &.active { + color: #ffffff; + background-color: #358753; + border-color: #2b6e44; + } +} + +.open > .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #358753; + border-color: #2b6e44; +} + +.btn-success { + &:active, &.active { + background-image: none; + } +} + +.open > .dropdown-toggle.btn-success { + background-image: none; +} + +.btn-success { + &.disabled, &[disabled] { + background-color: #43ac6a; + border-color: #3c9a5f; + } +} + +fieldset[disabled] .btn-success { + background-color: #43ac6a; + border-color: #3c9a5f; +} + +.btn-success { + &.disabled:hover, &[disabled]:hover { + background-color: #43ac6a; + border-color: #3c9a5f; + } +} + +fieldset[disabled] .btn-success:hover { + background-color: #43ac6a; + border-color: #3c9a5f; +} + +.btn-success { + &.disabled:focus, &[disabled]:focus { + background-color: #43ac6a; + border-color: #3c9a5f; + } +} + +fieldset[disabled] .btn-success:focus { + background-color: #43ac6a; + border-color: #3c9a5f; +} + +.btn-success { + &.disabled:active, &[disabled]:active { + background-color: #43ac6a; + border-color: #3c9a5f; + } +} + +fieldset[disabled] .btn-success:active { + background-color: #43ac6a; + border-color: #3c9a5f; +} + +.btn-success { + &.disabled.active, &[disabled].active { + background-color: #43ac6a; + border-color: #3c9a5f; + } +} + +fieldset[disabled] .btn-success.active { + background-color: #43ac6a; + border-color: #3c9a5f; +} + +.btn-success .badge { + color: #43ac6a; + background-color: #ffffff; +} + +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; + &:hover, &:focus, &:active, &.active { + color: #ffffff; + background-color: #31b0d5; + border-color: #269abc; + } +} + +.open > .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #31b0d5; + border-color: #269abc; +} + +.btn-info { + &:active, &.active { + background-image: none; + } +} + +.open > .dropdown-toggle.btn-info { + background-image: none; +} + +.btn-info { + &.disabled, &[disabled] { + background-color: #5bc0de; + border-color: #46b8da; + } +} + +fieldset[disabled] .btn-info { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info { + &.disabled:hover, &[disabled]:hover { + background-color: #5bc0de; + border-color: #46b8da; + } +} + +fieldset[disabled] .btn-info:hover { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info { + &.disabled:focus, &[disabled]:focus { + background-color: #5bc0de; + border-color: #46b8da; + } +} + +fieldset[disabled] .btn-info:focus { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info { + &.disabled:active, &[disabled]:active { + background-color: #5bc0de; + border-color: #46b8da; + } +} + +fieldset[disabled] .btn-info:active { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info { + &.disabled.active, &[disabled].active { + background-color: #5bc0de; + border-color: #46b8da; + } +} + +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info .badge { + color: #5bc0de; + background-color: #ffffff; +} + +.btn-warning { + color: #ffffff; + background-color: #e99002; + border-color: #d08002; + &:hover, &:focus, &:active, &.active { + color: #ffffff; + background-color: #b67102; + border-color: #935b01; + } +} + +.open > .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #b67102; + border-color: #935b01; +} + +.btn-warning { + &:active, &.active { + background-image: none; + } +} + +.open > .dropdown-toggle.btn-warning { + background-image: none; +} + +.btn-warning { + &.disabled, &[disabled] { + background-color: #e99002; + border-color: #d08002; + } +} + +fieldset[disabled] .btn-warning { + background-color: #e99002; + border-color: #d08002; +} + +.btn-warning { + &.disabled:hover, &[disabled]:hover { + background-color: #e99002; + border-color: #d08002; + } +} + +fieldset[disabled] .btn-warning:hover { + background-color: #e99002; + border-color: #d08002; +} + +.btn-warning { + &.disabled:focus, &[disabled]:focus { + background-color: #e99002; + border-color: #d08002; + } +} + +fieldset[disabled] .btn-warning:focus { + background-color: #e99002; + border-color: #d08002; +} + +.btn-warning { + &.disabled:active, &[disabled]:active { + background-color: #e99002; + border-color: #d08002; + } +} + +fieldset[disabled] .btn-warning:active { + background-color: #e99002; + border-color: #d08002; +} + +.btn-warning { + &.disabled.active, &[disabled].active { + background-color: #e99002; + border-color: #d08002; + } +} + +fieldset[disabled] .btn-warning.active { + background-color: #e99002; + border-color: #d08002; +} + +.btn-warning .badge { + color: #e99002; + background-color: #ffffff; +} + +.btn-danger { + color: #ffffff; + background-color: #f04124; + border-color: #ea2f10; + &:hover, &:focus, &:active, &.active { + color: #ffffff; + background-color: #d32a0e; + border-color: #b1240c; + } +} + +.open > .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #d32a0e; + border-color: #b1240c; +} + +.btn-danger { + &:active, &.active { + background-image: none; + } +} + +.open > .dropdown-toggle.btn-danger { + background-image: none; +} + +.btn-danger { + &.disabled, &[disabled] { + background-color: #f04124; + border-color: #ea2f10; + } +} + +fieldset[disabled] .btn-danger { + background-color: #f04124; + border-color: #ea2f10; +} + +.btn-danger { + &.disabled:hover, &[disabled]:hover { + background-color: #f04124; + border-color: #ea2f10; + } +} + +fieldset[disabled] .btn-danger:hover { + background-color: #f04124; + border-color: #ea2f10; +} + +.btn-danger { + &.disabled:focus, &[disabled]:focus { + background-color: #f04124; + border-color: #ea2f10; + } +} + +fieldset[disabled] .btn-danger:focus { + background-color: #f04124; + border-color: #ea2f10; +} + +.btn-danger { + &.disabled:active, &[disabled]:active { + background-color: #f04124; + border-color: #ea2f10; + } +} + +fieldset[disabled] .btn-danger:active { + background-color: #f04124; + border-color: #ea2f10; +} + +.btn-danger { + &.disabled.active, &[disabled].active { + background-color: #f04124; + border-color: #ea2f10; + } +} + +fieldset[disabled] .btn-danger.active { + background-color: #f04124; + border-color: #ea2f10; +} + +.btn-danger .badge { + color: #f04124; + background-color: #ffffff; +} + +.btn-link { + color: #008cba; + font-weight: normal; + cursor: pointer; + border-radius: 0; + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; + &:active, &[disabled] { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; + } +} + +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-link { + border-color: transparent; + &:hover, &:focus, &:active { + border-color: transparent; + } + &:hover, &:focus { + color: #00526e; + text-decoration: underline; + background-color: transparent; + } + &[disabled]:hover { + color: #999999; + text-decoration: none; + } +} + +fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { + color: #999999; + text-decoration: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 10px 16px; + font-size: 19px; + line-height: 1.33; + border-radius: 0; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} + +.btn-xs, .btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; +} + +.btn-block { + display: block; + width: 100%; + + .btn-block { + margin-top: 5px; + } +} + +input { + &[type="submit"].btn-block, &[type="reset"].btn-block, &[type="button"].btn-block { + width: 100%; + } +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + &.in { + opacity: 1; + } +} + +.collapse { + display: none; + &.in { + display: block; + } +} + +tr.collapse.in { + display: table-row; +} + +tbody.collapse.in { + display: table-row-group; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} + +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 15px; + text-align: left; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; + &.pull-right { + right: 0; + left: auto; + } + .divider { + height: 1px; + margin: 9.5px 0; + overflow: hidden; + background-color: rgba(0, 0, 0, 0.2); + } + > { + li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #555555; + white-space: nowrap; + &:hover, &:focus { + text-decoration: none; + color: #262626; + background-color: #eeeeee; + } + } + .active > a { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #008cba; + &:hover, &:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #008cba; + } + } + .disabled > a { + color: #999999; + &:hover, &:focus { + color: #999999; + } + &:hover, &:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + cursor: not-allowed; + } + } + } +} + +.open > { + .dropdown-menu { + display: block; + } + a { + outline: 0; + } +} + +.dropdown-menu-right { + left: auto; + right: 0; +} + +.dropdown-menu-left { + left: 0; + right: auto; +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #999999; + white-space: nowrap; +} + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, .navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid; + content: ""; +} + +.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +@media (min-width: 768px) { + .navbar-right { + .dropdown-menu { + left: auto; + right: 0; + } + .dropdown-menu-left { + left: 0; + right: auto; + } + } +} + +.btn-group, .btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} + +.btn-group > .btn, .btn-group-vertical > .btn { + position: relative; + float: left; +} + +.btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { + z-index: 2; +} + +.btn-group > .btn:focus, .btn-group-vertical > .btn:focus { + outline: 0; +} + +.btn-group { + .btn + { + .btn, .btn-group { + margin-left: -1px; + } + } + .btn-group + { + .btn, .btn-group { + margin-left: -1px; + } + } +} + +.btn-toolbar { + margin-left: -5px; + .btn-group, .input-group { + float: left; + } + > { + .btn, .btn-group, .input-group { + margin-left: 5px; + } + } +} + +.btn-group { + > { + .btn { + &:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; + } + &:first-child { + margin-left: 0; + &:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + } + &:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } + .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + .btn-group { + float: left; + &:not(:first-child):not(:last-child) > .btn { + border-radius: 0; + } + &:first-child > { + .btn:last-child, .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + } + &:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } + } + .dropdown-toggle:active { + outline: 0; + } + &.open .dropdown-toggle { + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + &.btn-link { + -webkit-box-shadow: none; + box-shadow: none; + } + } + > { + .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + } + .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; + } + } +} + +.btn .caret { + margin-left: 0; +} + +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} + +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} + +.btn-group-vertical > { + .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + } + .btn-group { + display: block; + float: none; + width: 100%; + max-width: 100%; + > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + float: none; + } + } + .btn + { + .btn, .btn-group { + margin-top: -1px; + margin-left: 0; + } + } + .btn-group + { + .btn, .btn-group { + margin-top: -1px; + margin-left: 0; + } + } + .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:first-child:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + &:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + } + } + .btn-group { + &:not(:first-child):not(:last-child) > .btn { + border-radius: 0; + } + &:first-child:not(:last-child) > { + .btn:last-child, .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + } + &:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; + } + } +} + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; + > { + .btn { + float: none; + display: table-cell; + width: 1%; + } + .btn-group { + float: none; + display: table-cell; + width: 1%; + .btn { + width: 100%; + } + .dropdown-menu { + left: auto; + } + } + } +} + +[data-toggle="buttons"] > .btn > input { + &[type="radio"], &[type="checkbox"] { + position: absolute; + z-index: -1; + opacity: 0; + filter: alpha(opacity = 0); + } +} + +.input-group { + position: relative; + display: table; + border-collapse: separate; + &[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; + } + .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; + } +} + +.input-group-lg > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: 48px; + padding: 10px 16px; + font-size: 19px; + line-height: 1.33; + border-radius: 0; + } +} + +select.input-group-lg > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: 48px; + line-height: 48px; + } +} + +textarea.input-group-lg > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: auto; + } +} + +select[multiple].input-group-lg > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: auto; + } +} + +.input-group-sm > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; + } +} + +select.input-group-sm > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: 30px; + line-height: 30px; + } +} + +textarea.input-group-sm > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: auto; + } +} + +select[multiple].input-group-sm > { + .form-control, .input-group-addon, .input-group-btn > .btn { + height: auto; + } +} + +.input-group-addon, .input-group-btn, .input-group .form-control { + display: table-cell; +} + +.input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.input-group-addon, .input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} + +.input-group-addon { + padding: 6px 12px; + font-size: 15px; + font-weight: normal; + line-height: 1; + color: #6f6f6f; + text-align: center; + background-color: #eeeeee; + border: 1px solid #cccccc; + border-radius: 0; + &.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 0; + } + &.input-lg { + padding: 10px 16px; + font-size: 19px; + border-radius: 0; + } + input { + &[type="radio"], &[type="checkbox"] { + margin-top: 0; + } + } +} + +.input-group .form-control:first-child, .input-group-addon:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +.input-group-btn { + &:first-child > { + .btn, .btn-group > .btn, .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + } + &:last-child > { + .btn:not(:last-child):not(.dropdown-toggle), .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + } +} + +.input-group-addon:first-child { + border-right: 0; +} + +.input-group .form-control:last-child, .input-group-addon:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.input-group-btn { + &:last-child > { + .btn, .btn-group > .btn, .dropdown-toggle { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } + &:first-child > { + .btn:not(:first-child), .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } +} + +.input-group-addon:last-child { + border-left: 0; +} + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; + > .btn { + position: relative; + + .btn { + margin-left: -1px; + } + &:hover, &:focus, &:active { + z-index: 2; + } + } + &:first-child > { + .btn, .btn-group { + margin-right: -1px; + } + } + &:last-child > { + .btn, .btn-group { + margin-left: -1px; + } + } +} + +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; + > li { + position: relative; + display: block; + > a { + position: relative; + display: block; + padding: 10px 15px; + &:hover, &:focus { + text-decoration: none; + background-color: #eeeeee; + } + } + &.disabled > a { + color: #999999; + &:hover, &:focus { + color: #999999; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; + } + } + } + .open > a { + background-color: #eeeeee; + border-color: #008cba; + &:hover, &:focus { + background-color: #eeeeee; + border-color: #008cba; + } + } + .nav-divider { + height: 1px; + margin: 9.5px 0; + overflow: hidden; + background-color: #e5e5e5; + } + > li > a > img { + max-width: none; + } +} + +.nav-tabs { + border-bottom: 1px solid #dddddd; + > li { + float: left; + margin-bottom: -1px; + > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; + &:hover { + border-color: #eeeeee #eeeeee #dddddd; + } + } + &.active > a { + color: #6f6f6f; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; + cursor: default; + &:hover, &:focus { + color: #6f6f6f; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; + cursor: default; + } + } + } + &.nav-justified { + width: 100%; + border-bottom: 0; + > { + li { + float: none; + > a { + text-align: center; + margin-bottom: 5px; + } + } + .dropdown .dropdown-menu { + top: auto; + left: auto; + } + li > a { + margin-right: 0; + border-radius: 0; + } + .active > a { + border: 1px solid #dddddd; + &:hover, &:focus { + border: 1px solid #dddddd; + } + } + } + } +} + +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + > a { + margin-bottom: 0; + } + } +} + +@media (min-width: 768px) { + .nav-tabs.nav-justified > { + li > a { + border-bottom: 1px solid #dddddd; + border-radius: 0 0 0 0; + } + .active > a { + border-bottom-color: #ffffff; + &:hover, &:focus { + border-bottom-color: #ffffff; + } + } + } +} + +.nav-pills > li { + float: left; + > a { + border-radius: 0; + } + + li { + margin-left: 2px; + } + &.active > a { + color: #ffffff; + background-color: #008cba; + &:hover, &:focus { + color: #ffffff; + background-color: #008cba; + } + } +} + +.nav-stacked > li { + float: none; + + li { + margin-top: 2px; + margin-left: 0; + } +} + +.nav-justified { + width: 100%; + > { + li { + float: none; + > a { + text-align: center; + margin-bottom: 5px; + } + } + .dropdown .dropdown-menu { + top: auto; + left: auto; + } + } +} + +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + > a { + margin-bottom: 0; + } + } +} + +.nav-tabs-justified { + border-bottom: 0; + > { + li > a { + margin-right: 0; + border-radius: 0; + } + .active > a { + border: 1px solid #dddddd; + &:hover, &:focus { + border: 1px solid #dddddd; + } + } + } +} + +@media (min-width: 768px) { + .nav-tabs-justified > { + li > a { + border-bottom: 1px solid #dddddd; + border-radius: 0 0 0 0; + } + .active > a { + border-bottom-color: #ffffff; + &:hover, &:focus { + border-bottom-color: #ffffff; + } + } + } +} + +.tab-content > { + .tab-pane { + display: none; + } + .active { + display: block; + } +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar { + position: relative; + min-height: 45px; + margin-bottom: 21px; + border: 1px solid transparent; +} + +@media (min-width: 768px) { + .navbar { + border-radius: 0; + } +} + +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} + +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; + &.in { + overflow-y: auto; + } +} + +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + &.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + &.in { + overflow-y: visible; + } + } + .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} + +.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} + +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} + +.container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} + +@media (min-width: 768px) { + .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} + +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} + +.navbar-fixed-top, .navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +@media (min-width: 768px) { + .navbar-fixed-top, .navbar-fixed-bottom { + border-radius: 0; + } +} + +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} + +.navbar-brand { + float: left; + padding: 12px 15px; + font-size: 19px; + line-height: 21px; + height: 45px; + &:hover, &:focus { + text-decoration: none; + } +} + +@media (min-width: 768px) { + .navbar > { + .container .navbar-brand, .container-fluid .navbar-brand { + margin-left: -15px; + } + } +} + +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 5.5px; + margin-bottom: 5.5px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; + &:focus { + outline: 0; + } + .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; + + .icon-bar { + margin-top: 4px; + } + } +} + +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} + +.navbar-nav { + margin: 6px -15px; + > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 21px; + } +} + +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + > li > a, .dropdown-header { + padding: 5px 15px 5px 25px; + } + > li > a { + line-height: 21px; + &:hover, &:focus { + background-image: none; + } + } + } +} + +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + > li { + float: left; + > a { + padding-top: 12px; + padding-bottom: 12px; + } + } + &.navbar-right:last-child { + margin-right: -15px; + } + } +} + +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} + +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 5px; + margin-bottom: 5px; +} + +@media (min-width: 768px) { + .navbar-form { + .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .input-group { + display: inline-table; + vertical-align: middle; + .input-group-addon, .input-group-btn, .form-control { + width: auto; + } + > .form-control { + width: 100%; + } + } + .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .radio, .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .radio label, .checkbox label { + padding-left: 0; + } + .radio input[type="radio"], .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .has-feedback .form-control-feedback { + top: 0; + } + } +} + +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} + +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + &.navbar-right:last-child { + margin-right: -15px; + } + } +} + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.navbar-btn { + margin-top: 5px; + margin-bottom: 5px; + &.btn-sm { + margin-top: 7.5px; + margin-bottom: 7.5px; + } + &.btn-xs { + margin-top: 11.5px; + margin-bottom: 11.5px; + } +} + +.navbar-text { + margin-top: 12px; + margin-bottom: 12px; +} + +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + &.navbar-right:last-child { + margin-right: 0; + } + } +} + +.navbar-default { + background-color: #333333; + border-color: #222222; + .navbar-brand { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + background-color: transparent; + } + } + .navbar-text { + color: #ffffff; + } + .navbar-nav > { + li > a { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + background-color: #272727; + } + } + .active > a { + color: #ffffff; + background-color: #272727; + &:hover, &:focus { + color: #ffffff; + background-color: #272727; + } + } + .disabled > a { + color: #cccccc; + background-color: transparent; + &:hover, &:focus { + color: #cccccc; + background-color: transparent; + } + } + } + .navbar-toggle { + border-color: transparent; + &:hover, &:focus { + background-color: transparent; + } + .icon-bar { + background-color: #ffffff; + } + } + .navbar-collapse, .navbar-form { + border-color: #222222; + } + .navbar-nav > .open > a { + background-color: #272727; + color: #ffffff; + &:hover, &:focus { + background-color: #272727; + color: #ffffff; + } + } + .navbar-link { + color: #ffffff; + &:hover { + color: #ffffff; + } + } + .btn-link { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + } + &[disabled]:hover { + color: #cccccc; + } + } +} + +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > { + li > a { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + background-color: #272727; + } + } + .active > a { + color: #ffffff; + background-color: #272727; + &:hover, &:focus { + color: #ffffff; + background-color: #272727; + } + } + .disabled > a { + color: #cccccc; + background-color: transparent; + &:hover, &:focus { + color: #cccccc; + background-color: transparent; + } + } + } +} + +fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} + +.navbar-inverse { + background-color: #008cba; + border-color: #006687; + .navbar-brand { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + background-color: transparent; + } + } + .navbar-text { + color: #ffffff; + } + .navbar-nav > { + li > a { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + background-color: #006687; + } + } + .active > a { + color: #ffffff; + background-color: #006687; + &:hover, &:focus { + color: #ffffff; + background-color: #006687; + } + } + .disabled > a { + color: #444444; + background-color: transparent; + &:hover, &:focus { + color: #444444; + background-color: transparent; + } + } + } + .navbar-toggle { + border-color: transparent; + &:hover, &:focus { + background-color: transparent; + } + .icon-bar { + background-color: #ffffff; + } + } + .navbar-collapse, .navbar-form { + border-color: #007196; + } + .navbar-nav > .open > a { + background-color: #006687; + color: #ffffff; + &:hover, &:focus { + background-color: #006687; + color: #ffffff; + } + } + .navbar-link { + color: #ffffff; + &:hover { + color: #ffffff; + } + } + .btn-link { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + } + &[disabled]:hover { + color: #444444; + } + } +} + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu { + > .dropdown-header { + border-color: #006687; + } + .divider { + background-color: #006687; + } + > { + li > a { + color: #ffffff; + &:hover, &:focus { + color: #ffffff; + background-color: #006687; + } + } + .active > a { + color: #ffffff; + background-color: #006687; + &:hover, &:focus { + color: #ffffff; + background-color: #006687; + } + } + .disabled > a { + color: #444444; + background-color: transparent; + &:hover, &:focus { + color: #444444; + background-color: transparent; + } + } + } + } +} + +fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444444; +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 21px; + list-style: none; + background-color: #f5f5f5; + border-radius: 0; + > { + li { + display: inline-block; + + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #999999; + } + } + .active { + color: #333333; + } + } +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 21px 0; + border-radius: 0; + > { + li { + display: inline; + > { + a, span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #008cba; + background-color: transparent; + border: 1px solid transparent; + margin-left: -1px; + } + } + &:first-child > { + a, span { + margin-left: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } + &:last-child > { + a, span { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + } + > { + a:hover, span:hover, a:focus, span:focus { + color: #00526e; + background-color: #eeeeee; + border-color: transparent; + } + } + } + .active > { + a, span, a:hover, span:hover, a:focus, span:focus { + z-index: 2; + color: #ffffff; + background-color: #008cba; + border-color: transparent; + cursor: default; + } + } + .disabled > { + span { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; + &:hover, &:focus { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; + } + } + a { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; + &:hover, &:focus { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; + } + } + } + } +} + +.pagination-lg > li { + > { + a, span { + padding: 10px 16px; + font-size: 19px; + } + } + &:first-child > { + a, span { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } + &:last-child > { + a, span { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + } +} + +.pagination-sm > li { + > { + a, span { + padding: 5px 10px; + font-size: 12px; + } + } + &:first-child > { + a, span { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + } + &:last-child > { + a, span { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + } +} + +.pager { + padding-left: 0; + margin: 21px 0; + list-style: none; + text-align: center; + li { + display: inline; + > { + a, span { + display: inline-block; + padding: 5px 14px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 3px; + } + a { + &:hover, &:focus { + text-decoration: none; + background-color: #eeeeee; + } + } + } + } + .next > { + a, span { + float: right; + } + } + .previous > { + a, span { + float: left; + } + } + .disabled > { + a { + color: #999999; + background-color: transparent; + cursor: not-allowed; + &:hover, &:focus { + color: #999999; + background-color: transparent; + cursor: not-allowed; + } + } + span { + color: #999999; + background-color: transparent; + cursor: not-allowed; + } + } +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} + +a.label { + &:hover, &:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; + } +} + +.label:empty { + display: none; +} + +.btn .label { + position: relative; + top: -1px; +} + +.label-default { + background-color: #999999; + &[href] { + &:hover, &:focus { + background-color: #808080; + } + } +} + +.label-primary { + background-color: #008cba; + &[href] { + &:hover, &:focus { + background-color: #006687; + } + } +} + +.label-success { + background-color: #43ac6a; + &[href] { + &:hover, &:focus { + background-color: #358753; + } + } +} + +.label-info { + background-color: #5bc0de; + &[href] { + &:hover, &:focus { + background-color: #31b0d5; + } + } +} + +.label-warning { + background-color: #e99002; + &[href] { + &:hover, &:focus { + background-color: #b67102; + } + } +} + +.label-danger { + background-color: #f04124; + &[href] { + &:hover, &:focus { + background-color: #d32a0e; + } + } +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #777777; + line-height: 1; + vertical-align: baseline; + white-space: nowrap; + text-align: center; + background-color: #e7e7e7; + border-radius: 10px; + &:empty { + display: none; + } +} + +.btn .badge { + position: relative; + top: -1px; +} + +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} + +a { + &.badge { + &:hover, &:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; + } + } + &.list-group-item.active > .badge { + color: #008cba; + background-color: #ffffff; + } +} + +.nav-pills > { + .active > a > .badge { + color: #008cba; + background-color: #ffffff; + } + li > a > .badge { + margin-left: 3px; + } +} + +.jumbotron { + padding: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #fafafa; + h1, .h1 { + color: inherit; + } + p { + margin-bottom: 15px; + font-size: 23px; + font-weight: 200; + } + > hr { + border-top-color: #e1e1e1; + } +} + +.container .jumbotron { + border-radius: 0; +} + +.jumbotron .container { + max-width: 100%; +} + +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron { + h1, .h1 { + font-size: 67.5px; + } + } +} + +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 21px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 0; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + > img, a > img { + margin-left: auto; + margin-right: auto; + } +} + +a.thumbnail { + &:hover, &:focus, &.active { + border-color: #008cba; + } +} + +.thumbnail .caption { + padding: 9px; + color: #222222; +} + +.alert { + padding: 15px; + margin-bottom: 21px; + border: 1px solid transparent; + border-radius: 0; + h4 { + margin-top: 0; + color: inherit; + } + .alert-link { + font-weight: bold; + } + > { + p, ul { + margin-bottom: 0; + } + p + p { + margin-top: 5px; + } + } +} + +.alert-dismissable, .alert-dismissible { + padding-right: 35px; +} + +.alert-dismissable .close, .alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} + +.alert-success { + background-color: #43ac6a; + border-color: #3c9a5f; + color: #ffffff; + hr { + border-top-color: #358753; + } + .alert-link { + color: #e6e6e6; + } +} + +.alert-info { + background-color: #5bc0de; + border-color: #3db5d8; + color: #ffffff; + hr { + border-top-color: #2aabd2; + } + .alert-link { + color: #e6e6e6; + } +} + +.alert-warning { + background-color: #e99002; + border-color: #d08002; + color: #ffffff; + hr { + border-top-color: #b67102; + } + .alert-link { + color: #e6e6e6; + } +} + +.alert-danger { + background-color: #f04124; + border-color: #ea2f10; + color: #ffffff; + hr { + border-top-color: #d32a0e; + } + .alert-link { + color: #e6e6e6; + } +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + + +.progress { + overflow: hidden; + height: 21px; + margin-bottom: 21px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 21px; + color: #ffffff; + text-align: center; + background-color: #008cba; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress-striped .progress-bar, .progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} + +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-bar { + &.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; + } + &[aria-valuenow="1"], &[aria-valuenow="2"] { + min-width: 30px; + } + &[aria-valuenow="0"] { + color: #999999; + min-width: 30px; + background-color: transparent; + background-image: none; + box-shadow: none; + } +} + +.progress-bar-success { + background-color: #43ac6a; +} + +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-info { + background-color: #5bc0de; +} + +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-warning { + background-color: #e99002; +} + +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-danger { + background-color: #f04124; +} + +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.media, .media-body { + overflow: hidden; + zoom: 1; +} + +.media { + margin-top: 15px; + .media { + margin-top: 15px; + } + &:first-child { + margin-top: 0; + } +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media > { + .pull-left { + margin-right: 10px; + } + .pull-right { + margin-left: 10px; + } +} + +.media-list { + padding-left: 0; + list-style: none; +} + +.list-group { + margin-bottom: 20px; + padding-left: 0; +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; + &:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; + } + &:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + > .badge { + float: right; + + .badge { + margin-right: 5px; + } + } +} + +a.list-group-item { + color: #555555; + .list-group-item-heading { + color: #333333; + } + &:hover, &:focus { + text-decoration: none; + color: #555555; + background-color: #f5f5f5; + } +} + +.list-group-item { + &.disabled { + background-color: #eeeeee; + color: #999999; + &:hover, &:focus { + background-color: #eeeeee; + color: #999999; + } + .list-group-item-heading, &:hover .list-group-item-heading, &:focus .list-group-item-heading { + color: inherit; + } + .list-group-item-text, &:hover .list-group-item-text, &:focus .list-group-item-text { + color: #999999; + } + } + &.active { + z-index: 2; + color: #ffffff; + background-color: #008cba; + border-color: #008cba; + &:hover, &:focus { + z-index: 2; + color: #ffffff; + background-color: #008cba; + border-color: #008cba; + } + .list-group-item-heading, &:hover .list-group-item-heading, &:focus .list-group-item-heading, .list-group-item-heading > small, &:hover .list-group-item-heading > small, &:focus .list-group-item-heading > small, .list-group-item-heading > .small, &:hover .list-group-item-heading > .small, &:focus .list-group-item-heading > .small { + color: inherit; + } + .list-group-item-text, &:hover .list-group-item-text, &:focus .list-group-item-text { + color: #87e1ff; + } + } +} + +.list-group-item-success { + color: #43ac6a; + background-color: #dff0d8; +} + +a.list-group-item-success { + color: #43ac6a; + .list-group-item-heading { + color: inherit; + } + &:hover, &:focus { + color: #43ac6a; + background-color: #d0e9c6; + } + &.active { + color: #fff; + background-color: #43ac6a; + border-color: #43ac6a; + &:hover, &:focus { + color: #fff; + background-color: #43ac6a; + border-color: #43ac6a; + } + } +} + +.list-group-item-info { + color: #5bc0de; + background-color: #d9edf7; +} + +a.list-group-item-info { + color: #5bc0de; + .list-group-item-heading { + color: inherit; + } + &:hover, &:focus { + color: #5bc0de; + background-color: #c4e3f3; + } + &.active { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; + &:hover, &:focus { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; + } + } +} + +.list-group-item-warning { + color: #e99002; + background-color: #fcf8e3; +} + +a.list-group-item-warning { + color: #e99002; + .list-group-item-heading { + color: inherit; + } + &:hover, &:focus { + color: #e99002; + background-color: #faf2cc; + } + &.active { + color: #fff; + background-color: #e99002; + border-color: #e99002; + &:hover, &:focus { + color: #fff; + background-color: #e99002; + border-color: #e99002; + } + } +} + +.list-group-item-danger { + color: #f04124; + background-color: #f2dede; +} + +a.list-group-item-danger { + color: #f04124; + .list-group-item-heading { + color: inherit; + } + &:hover, &:focus { + color: #f04124; + background-color: #ebcccc; + } + &.active { + color: #fff; + background-color: #f04124; + border-color: #f04124; + &:hover, &:focus { + color: #fff; + background-color: #f04124; + border-color: #f04124; + } + } +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} + +.panel { + margin-bottom: 21px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.panel-body { + padding: 15px; +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: -1; + border-top-left-radius: -1; + > .dropdown .dropdown-toggle { + color: inherit; + } +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 17px; + color: inherit; + > a { + color: inherit; + } +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; +} + +.panel > .list-group { + margin-bottom: 0; + .list-group-item { + border-width: 1px 0; + border-radius: 0; + } + &:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: -1; + border-top-left-radius: -1; + } + &:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; + } +} + +.panel-heading + .list-group .list-group-item:first-child, .list-group + .panel-footer { + border-top-width: 0; +} + +.panel > { + .table, .table-responsive > .table, .panel-collapse > .table { + margin-bottom: 0; + } + .table:first-child, .table-responsive:first-child > .table:first-child { + border-top-right-radius: -1; + border-top-left-radius: -1; + } + .table:first-child > thead:first-child > tr:first-child td:first-child, .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .table:first-child > tbody:first-child > tr:first-child td:first-child, .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .table:first-child > thead:first-child > tr:first-child th:first-child, .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .table:first-child > tbody:first-child > tr:first-child th:first-child, .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: -1; + } + .table:first-child > thead:first-child > tr:first-child td:last-child, .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .table:first-child > tbody:first-child > tr:first-child td:last-child, .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .table:first-child > thead:first-child > tr:first-child th:last-child, .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .table:first-child > tbody:first-child > tr:first-child th:last-child, .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: -1; + } + .table:last-child, .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; + } + .table:last-child > tbody:last-child > tr:last-child td:first-child, .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .table:last-child > tfoot:last-child > tr:last-child td:first-child, .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .table:last-child > tbody:last-child > tr:last-child th:first-child, .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .table:last-child > tfoot:last-child > tr:last-child th:first-child, .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: -1; + } + .table:last-child > tbody:last-child > tr:last-child td:last-child, .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .table:last-child > tfoot:last-child > tr:last-child td:last-child, .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .table:last-child > tbody:last-child > tr:last-child th:last-child, .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .table:last-child > tfoot:last-child > tr:last-child th:last-child, .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: -1; + } + .panel-body + { + .table, .table-responsive { + border-top: 1px solid #dddddd; + } + } + .table > tbody:first-child > tr:first-child { + th, td { + border-top: 0; + } + } + .table-bordered, .table-responsive > .table-bordered { + border: 0; + } + .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > th:first-child, .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-bordered > tfoot > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > th:last-child, .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-bordered > tfoot > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-bordered > thead > tr:first-child > td, .table-responsive > .table-bordered > thead > tr:first-child > td, .table-bordered > tbody > tr:first-child > td, .table-responsive > .table-bordered > tbody > tr:first-child > td, .table-bordered > thead > tr:first-child > th, .table-responsive > .table-bordered > thead > tr:first-child > th, .table-bordered > tbody > tr:first-child > th, .table-responsive > .table-bordered > tbody > tr:first-child > th, .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-bordered > tfoot > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td, .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; + } + .table-responsive { + > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; + } + border: 0; + margin-bottom: 0; + } +} + +.panel-group { + margin-bottom: 21px; + .panel { + margin-bottom: 0; + border-radius: 0; + + .panel { + margin-top: 5px; + } + } + .panel-heading { + border-bottom: 0; + + .panel-collapse > .panel-body { + border-top: 1px solid #dddddd; + } + } + .panel-footer { + border-top: 0; + + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; + } + } +} + +.panel-default { + border-color: #dddddd; + > { + .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; + + .panel-collapse > .panel-body { + border-top-color: #dddddd; + } + .badge { + color: #f5f5f5; + background-color: #333333; + } + } + .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #dddddd; + } + } +} + +.panel-primary { + border-color: #008cba; + > { + .panel-heading { + color: #ffffff; + background-color: #008cba; + border-color: #008cba; + + .panel-collapse > .panel-body { + border-top-color: #008cba; + } + .badge { + color: #008cba; + background-color: #ffffff; + } + } + .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #008cba; + } + } +} + +.panel-success { + border-color: #3c9a5f; + > { + .panel-heading { + color: #ffffff; + background-color: #43ac6a; + border-color: #3c9a5f; + + .panel-collapse > .panel-body { + border-top-color: #3c9a5f; + } + .badge { + color: #43ac6a; + background-color: #ffffff; + } + } + .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #3c9a5f; + } + } +} + +.panel-info { + border-color: #3db5d8; + > { + .panel-heading { + color: #ffffff; + background-color: #5bc0de; + border-color: #3db5d8; + + .panel-collapse > .panel-body { + border-top-color: #3db5d8; + } + .badge { + color: #5bc0de; + background-color: #ffffff; + } + } + .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #3db5d8; + } + } +} + +.panel-warning { + border-color: #d08002; + > { + .panel-heading { + color: #ffffff; + background-color: #e99002; + border-color: #d08002; + + .panel-collapse > .panel-body { + border-top-color: #d08002; + } + .badge { + color: #e99002; + background-color: #ffffff; + } + } + .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d08002; + } + } +} + +.panel-danger { + border-color: #ea2f10; + > { + .panel-heading { + color: #ffffff; + background-color: #f04124; + border-color: #ea2f10; + + .panel-collapse > .panel-body { + border-top-color: #ea2f10; + } + .badge { + color: #f04124; + background-color: #ffffff; + } + } + .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ea2f10; + } + } +} + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; + .embed-responsive-item, iframe, embed, object { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; + } + &.embed-responsive-16by9 { + padding-bottom: 56.25%; + } + &.embed-responsive-4by3 { + padding-bottom: 75%; + } +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #fafafa; + border: 1px solid #e8e8e8; + border-radius: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); + } +} + +.well-lg { + padding: 24px; + border-radius: 0; +} + +.well-sm { + padding: 9px; + border-radius: 0; +} + +.close { + float: right; + font-size: 22.5px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity = 20); + &:hover, &:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity = 50); + } +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; + &.fade .modal-dialog { + -webkit-transform: translate3d(0, -25%, 0); + transform: translate3d(0, -25%, 0); + -webkit-transition: -webkit-transform .3s ease-out; + -moz-transition: -moz-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + } + &.in .modal-dialog { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} + +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; + &.fade { + opacity: 0; + filter: alpha(opacity = 0); + } + &.in { + opacity: 0.5; + filter: alpha(opacity = 50); + } +} + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.42857143px; + .close { + margin-top: -2px; + } +} + +.modal-title { + margin: 0; + line-height: 1.42857143; +} + +.modal-body { + position: relative; + padding: 20px; +} + +.modal-footer { + padding: 20px; + text-align: right; + border-top: 1px solid #e5e5e5; + .btn + .btn { + margin-left: 5px; + margin-bottom: 0; + } + .btn-group .btn + .btn { + margin-left: -1px; + } + .btn-block + .btn-block { + margin-left: 0; + } +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + visibility: visible; + font-size: 12px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity = 0); + &.in { + opacity: 0.9; + filter: alpha(opacity = 90); + } + &.top { + margin-top: -3px; + padding: 5px 0; + } + &.right { + margin-left: 3px; + padding: 0 5px; + } + &.bottom { + margin-top: 3px; + padding: 5px 0; + } + &.left { + margin-left: -3px; + padding: 0 5px; + } +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #333333; + border-radius: 0; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip { + &.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #333333; + } + &.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #333333; + } + &.top-right .tooltip-arrow { + bottom: 0; + right: 5px; + border-width: 5px 5px 0; + border-top-color: #333333; + } + &.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #333333; + } + &.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #333333; + } + &.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #333333; + } + &.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #333333; + } + &.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #333333; + } +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + background-color: #333333; + background-clip: padding-box; + border: 1px solid #333333; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + white-space: normal; + &.top { + margin-top: -10px; + } + &.right { + margin-left: 10px; + } + &.bottom { + margin-top: 10px; + } + &.left { + margin-left: -10px; + } +} + +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 15px; + font-weight: normal; + line-height: 18px; + background-color: #333333; + border-bottom: 1px solid #262626; + border-radius: -1 -1 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover { + > .arrow { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + &:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 10px; + content: ""; + } + border-width: 11px; + } + &.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #000000; + border-top-color: rgba(0, 0, 0, 0.05); + bottom: -11px; + &:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #333333; + } + } + &.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #000000; + border-right-color: rgba(0, 0, 0, 0.05); + &:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #333333; + } + } + &.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #000000; + border-bottom-color: rgba(0, 0, 0, 0.05); + top: -11px; + &:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #333333; + } + } + &.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #000000; + border-left-color: rgba(0, 0, 0, 0.05); + &:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #333333; + bottom: -10px; + } + } +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; + > { + .item { + display: none; + position: relative; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; + > { + img, a > img { + line-height: 1; + } + } + } + .active, .next, .prev { + display: block; + } + .active { + left: 0; + } + .next, .prev { + position: absolute; + top: 0; + width: 100%; + } + .next { + left: 100%; + } + .prev { + left: -100%; + } + .next.left, .prev.right { + left: 0; + } + .active { + &.left { + left: -100%; + } + &.right { + left: 100%; + } + } + } +} + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity = 50); + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + &.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + } + &.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + } + &:hover, &:focus { + outline: 0; + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity = 90); + } + .icon-prev, .icon-next, .glyphicon-chevron-left, .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + } + .icon-prev, .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; + } + .icon-next, .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; + } + .icon-prev, .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; + } + .icon-prev:before { + content: '\2039'; + } + .icon-next:before { + content: '\203a'; + } +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; + li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #ffffff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + } + .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #ffffff; + } +} + +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + .btn { + text-shadow: none; + } +} + +@media screen and (min-width: 768px) { + .carousel-control { + .glyphicon-chevron-left, .glyphicon-chevron-right, .icon-prev, .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .glyphicon-chevron-left, .icon-prev { + margin-left: -15px; + } + .glyphicon-chevron-right, .icon-next { + margin-right: -15px; + } + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} + +.clearfix { + &:before, &:after { + content: " "; + display: table; + } +} + +.dl-horizontal dd { + &:before, &:after { + content: " "; + display: table; + } +} + +.container { + &:before, &:after { + content: " "; + display: table; + } +} + +.container-fluid { + &:before, &:after { + content: " "; + display: table; + } +} + +.row { + &:before, &:after { + content: " "; + display: table; + } +} + +.form-horizontal .form-group { + &:before, &:after { + content: " "; + display: table; + } +} + +.btn-toolbar { + &:before, &:after { + content: " "; + display: table; + } +} + +.btn-group-vertical > .btn-group { + &:before, &:after { + content: " "; + display: table; + } +} + +.nav { + &:before, &:after { + content: " "; + display: table; + } +} + +.navbar { + &:before, &:after { + content: " "; + display: table; + } +} + +.navbar-header { + &:before, &:after { + content: " "; + display: table; + } +} + +.navbar-collapse { + &:before, &:after { + content: " "; + display: table; + } +} + +.pager { + &:before, &:after { + content: " "; + display: table; + } +} + +.panel-body { + &:before, &:after { + content: " "; + display: table; + } +} + +.modal-footer { + &:before, &:after { + content: " "; + display: table; + } +} + +.clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after { + clear: both; +} + +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} + +.pull-right { + float: right !important; +} + +.pull-left { + float: left !important; +} + +.hide { + display: none !important; +} + +.show { + display: block !important; +} + +.invisible { + visibility: hidden; +} + +.text-hide { + font: 0 / 0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.hidden { + display: none !important; + visibility: hidden !important; +} + +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +@-ms-viewport { + width: device-width; +} + + +.visible-xs, .visible-sm, .visible-md, .visible-lg, .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block, .visible-print, .visible-print-block, .visible-print-inline, .visible-print-inline-block { + display: none !important; +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, td.visible-xs { + display: table-cell !important; + } +} + +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} + +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} + +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, td.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, td.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, td.visible-lg { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} + +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} + +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} + +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} + +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, td.visible-print { + display: table-cell !important; + } +} + +@media print { + .visible-print-block { + display: block !important; + } +} + +@media print { + .visible-print-inline { + display: inline !important; + } +} + +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} + +@media print { + .hidden-print { + display: none !important; + } +} + +.navbar { + border: none; + font-size: 13px; + font-weight: 300; + .navbar-toggle:hover .icon-bar { + background-color: #b3b3b3; + } +} + +.navbar-collapse { + border-top-color: rgba(0, 0, 0, 0.2); + -webkit-box-shadow: none; + box-shadow: none; +} + +.navbar { + .btn { + padding-top: 6px; + padding-bottom: 6px; + } + .dropdown-menu { + border: none; + > li > a { + background-color: transparent; + font-size: 13px; + font-weight: 300; + &:focus { + background-color: transparent; + font-size: 13px; + font-weight: 300; + } + } + } + .dropdown-header { + color: rgba(255, 255, 255, 0.5); + } +} + +.navbar-default .dropdown-menu { + background-color: #333333; + > { + li > a { + color: #ffffff; + &:focus { + color: #ffffff; + } + &:hover { + background-color: #272727; + } + } + .active > a { + background-color: #272727; + &:hover { + background-color: #272727; + } + } + } +} + +.navbar-inverse .dropdown-menu { + background-color: #008cba; + > { + li > a { + color: #ffffff; + &:focus { + color: #ffffff; + } + &:hover { + background-color: #006687; + } + } + .active > a { + background-color: #006687; + &:hover { + background-color: #006687; + } + } + } +} + +.btn { + padding: 14px 28px; +} + +.btn-lg { + padding: 16px 32px; +} + +.btn-sm { + padding: 8px 16px; +} + +.btn-xs { + padding: 4px 8px; +} + +.btn-group { + .btn ~ .dropdown-toggle { + padding-left: 16px; + padding-right: 16px; + } + .dropdown-menu { + border-top-width: 0; + } + &.dropup .dropdown-menu { + border-top-width: 1px; + border-bottom-width: 0; + margin-bottom: 0; + } + .dropdown-toggle { + &.btn-default ~ .dropdown-menu { + background-color: #e7e7e7; + border-color: #dadada; + > li > a { + color: #333333; + &:hover { + background-color: #d3d3d3; + } + } + } + &.btn-primary ~ .dropdown-menu { + background-color: #008cba; + border-color: #0079a1; + > li > a { + color: #ffffff; + &:hover { + background-color: #006d91; + } + } + } + &.btn-success ~ .dropdown-menu { + background-color: #43ac6a; + border-color: #3c9a5f; + > li > a { + color: #ffffff; + &:hover { + background-color: #388f58; + } + } + } + &.btn-info ~ .dropdown-menu { + background-color: #5bc0de; + border-color: #46b8da; + > li > a { + color: #ffffff; + &:hover { + background-color: #39b3d7; + } + } + } + &.btn-warning ~ .dropdown-menu { + background-color: #e99002; + border-color: #d08002; + > li > a { + color: #ffffff; + &:hover { + background-color: #c17702; + } + } + } + &.btn-danger ~ .dropdown-menu { + background-color: #f04124; + border-color: #ea2f10; + > li > a { + color: #ffffff; + &:hover { + background-color: #dc2c0f; + } + } + } + } +} + +.lead { + color: #6f6f6f; +} + +cite { + font-style: italic; +} + +blockquote { + border-left-width: 1px; + color: #6f6f6f; + &.pull-right { + border-right-width: 1px; + } + small { + font-size: 12px; + font-weight: 300; + } +} + +table { + font-size: 12px; +} + +input { + padding: 7px; +} + +label, .control-label, .help-block, .checkbox, .radio { + font-size: 12px; + font-weight: normal; +} + +.input-group-addon, .input-group-btn .btn { + padding: 8px 14px; + font-size: 12px; +} + +.nav .open > a { + border-color: transparent; + &:hover, &:focus { + border-color: transparent; + } +} + +.nav-tabs { + > li > a { + background-color: #e7e7e7; + color: #222222; + } + .caret { + border-top-color: #222222; + border-bottom-color: #222222; + } +} + +.nav-pills { + font-weight: 300; +} + +.breadcrumb { + border: 1px solid #dddddd; + border-radius: 3px; + font-size: 10px; + font-weight: 300; + text-transform: uppercase; +} + +.pagination { + font-size: 12px; + font-weight: 300; + color: #999999; + > { + li > { + a, span { + margin-left: 4px; + color: #999999; + } + } + .active > { + a, span { + color: #fff; + } + } + li { + > a, &:first-child > a, &:last-child > a, > span, &:first-child > span, &:last-child > span { + border-radius: 3px; + } + } + } +} + +.pagination-lg > li > a { + padding-left: 22px; + padding-right: 22px; +} + +.pagination-sm > li > a { + padding: 0 5px; +} + +.pager { + font-size: 12px; + font-weight: 300; + color: #999999; +} + +.list-group { + font-size: 12px; + font-weight: 300; +} + +.close { + opacity: 0.4; + text-decoration: none; + text-shadow: none; + &:hover, &:focus { + opacity: 1; + } +} + +.alert { + font-size: 12px; + font-weight: 300; + .alert-link { + font-weight: normal; + color: #fff; + text-decoration: underline; + } +} + +.label { + padding-left: 1em; + padding-right: 1em; + border-radius: 0; + font-weight: 300; +} + +.label-default { + background-color: #e7e7e7; + color: #333333; +} + +.badge { + font-weight: 300; +} + +.progress { + height: 22px; + padding: 2px; + background-color: #f6f6f6; + border: 1px solid #ccc; + -webkit-box-shadow: none; + box-shadow: none; +} + +.dropdown-menu { + padding: 0; + margin-top: 0; + font-size: 12px; + > li > a { + padding: 12px 15px; + } +} + +.dropdown-header { + padding-left: 15px; + padding-right: 15px; + font-size: 9px; + text-transform: uppercase; +} + +.popover { + color: #fff; + font-size: 12px; + font-weight: 300; +} + +.panel-heading, .panel-footer { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.panel-default .close, .modal .close { + color: #222222; +} \ No newline at end of file diff --git a/_sass/_layout.scss b/_sass/_layout.scss new file mode 100644 index 0000000000000000000000000000000000000000..7074e6e239c01ca19f037a41ef364e1a3e4549f4 --- /dev/null +++ b/_sass/_layout.scss @@ -0,0 +1,164 @@ +.blog-theme-class { + margin-top:0.3%; + padding:3%; + background:#008cba; + .jumb-bot { + background:#008cba; + + } + .jumbotron{ + background:#008cba; + h1 { + color :#fff; + } + p{ + color:#fff; + } + } +} +.blog-post-small { + border-bottom: #008CBA 1px dashed; + text-align: justify; + padding: 10px; + p { + font-size: 14.43px; + } +} + +.navbar { + margin-bottom: 0px; +} + +.jumb-bot { +} + +.jumb-bot-jumbu { + margin: 0px; + padding-top: 15px; + padding-bottom: 20px; + background: #eee; + p { + padding-top: 13px; + } +} + +.left-syms { + font-size: 20px; + li a span { + font-size: 12.5px; + display: none; + } +} + +.listgroup-div { + margin-top: 10px; +} +.author_block{ + padding:2%; + p{ + line-height: 44px; + font-size: 13px; + } + ul{ + display: block; + float:left; + li{ + float:left; + display:block; + font-size: 24px; + padding: 5px; + a{ + text-decoration:none; + } + } + } +} +.blog-post-content { + font-size: 14px; + img{ + max-width:100%; + border:#eee 2px solid; + } +} +.twitter_share{ + float:left; + padding:10px; +} +.fb_share{ + float:left; + padding:10px; +} +.linkedin_share{ + float:left; + padding:10px; + padding-left:0px; +} +.g_share{ + float:left; + padding:10px; +} +.footer { + a { + font-size: 13px; + text-decoration: none; + color: #fff; + &:after { + content: ""; + } + } + h4 { + color: #fff; + } +} +.share-div{ + padding:3%; + padding-left:1%; + padding-top:1%; +} +.recent_posts li { + display: block; + color: #fff; +} + +.footer { + background: #222222; + margin-top: 10px; + ul { + margin-left: 0px; + padding-left: 0px; + li a:hover { + text-decoration: underline; + } + } +} + +.end_footer { + background: #222222; +} + +.footer { + padding-top: 20px; + padding-bottom: 20px; + border-bottom: #2b2b2b 1px solid; +} + +.end_footer p { + margin-top: 10px; + font-size: 13px; + color: #fff; + text-align: left; +} + +.footer-logo { + margin-left: auto; + margin-right: auto; + width: 150px; + height: 150px; + padding: 0px; +} + +@media screen and (max-width: 480px) { + .left-syms li a span { + display: block; + } +} \ No newline at end of file diff --git a/_sass/_syntax-highlighting.scss b/_sass/_syntax-highlighting.scss new file mode 100644 index 0000000000000000000000000000000000000000..9511957dcb0780496d23f63c408b677bdb524dac --- /dev/null +++ b/_sass/_syntax-highlighting.scss @@ -0,0 +1,115 @@ + +.pln { + color: #000; +} + +/* plain text */ + +@media screen { + .str { + color: #080; + } + /* string content */ + .kwd { + color: #008; + } + /* a keyword */ + .com { + color: #800; + } + /* a comment */ + .typ { + color: #606; + } + /* a type name */ + .lit { + color: #066; + } + /* a literal value */ + /* punctuation, lisp open bracket, lisp close bracket */ + .pun, .opn, .clo { + color: #660; + } + .tag { + color: #008; + } + /* a markup tag name */ + .atn { + color: #606; + } + /* a markup attribute name */ + .atv { + color: #080; + } + /* a markup attribute value */ + .dec, .var { + color: #606; + } + /* a declaration; a variable name */ + .fun { + color: red; + } + /* a function name */ +} + +/* Use higher contrast and text-weight for printable form. */ +@media print, projection { + .str { + color: #060; + } + .kwd { + color: #006; + font-weight: bold; + } + .com { + color: #600; + font-style: italic; + } + .typ { + color: #404; + font-weight: bold; + } + .lit { + color: #044; + } + .pun, .opn, .clo { + color: #440; + } + .tag { + color: #006; + font-weight: bold; + } + .atn { + color: #404; + } + .atv { + color: #060; + } +} + +/* Put a border around prettyprinted code snippets. */ + +pre.prettyprint { + padding: 2px; + border: 1px solid #888; +} + +/* Specify class=linenums on a pre to get line numbering */ + +ol.linenums { + margin-top: 0; + margin-bottom: 0; +} + +/* IE indents via margin-left */ + +li { + &.L0, &.L1, &.L2, &.L3, &.L5, &.L6, &.L7, &.L8 { + list-style-type: none; + } + &.L1, &.L3, &.L5, &.L7, &.L9 { + background: #eee; + } +} + +/* Alternate shading for lines */ \ No newline at end of file diff --git a/_site/LICENSE b/_site/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..4c603553d3f9a84822630eefb69ec3248ac2d309 --- /dev/null +++ b/_site/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014 Pranav Raj S + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/_site/README.md b/_site/README.md new file mode 100644 index 0000000000000000000000000000000000000000..78e263095e199123fce6c97ee00577a3b022e50c --- /dev/null +++ b/_site/README.md @@ -0,0 +1,4 @@ +swift +===== + +A clean Minimal Blog theme for Jekyll , built with Bootswatch diff --git a/_site/atom.xml b/_site/atom.xml new file mode 100644 index 0000000000000000000000000000000000000000..bff846661854c84b05c3b88cae11817c197fb45e --- /dev/null +++ b/_site/atom.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>Swift</title> + <description>A clean minimal Theme for Jekyll</description> + <link>http://maangalabs.com/</link> + <atom:link href="http://maangalabs.com/feed.xml" rel="self" type="application/rss+xml"/> + <pubDate>Mon, 01 Dec 2014 15:36:02 +0530</pubDate> + <lastBuildDate>Mon, 01 Dec 2014 15:36:02 +0530</lastBuildDate> + <generator>Jekyll v2.5.1</generator> + + <item> + <title>Example</title> + <description><p>This is a sample post to denote the features of Swift theme . The theme consists of various share plugins , feedburner support , sitemap generation etc. You can configure the blog in similar way you use a word press blog</p> + +<!-- more --> + +<p><strong>Basic</strong></p> + +<p>Neque porro <em>quisquam</em> est, qui <strong>dolorem</strong> ipsum, quia <strong><em>dolor</em></strong> sit, amet, <a href="http://cjdns.info/">consectetur</a>, adipisci velit.</p> + +<ul> + <li>lorem</li> + <li>ipsum</li> +</ul> + +<ol> + <li>dolor</li> + <li>sit</li> +</ol> + +<p><strong>Blockquote</strong></p> + +<blockquote> + <p>They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.</p> + + <p><em>Benjamin Franklin</em></p> +</blockquote> + +<p><strong>Code</strong></p> + +<div class="highlight"><pre><code class="language-c" data-lang="c"><span class="k">static</span> <span class="kt">void</span> <span class="nf">asyncEnabled</span><span class="p">(</span><span class="n">Dict</span><span class="o">*</span> <span class="n">args</span><span class="p">,</span> <span class="kt">void</span><span class="o">*</span> <span class="n">vAdmin</span><span class="p">,</span> <span class="n">String</span><span class="o">*</span> <span class="n">txid</span><span class="p">,</span> <span class="k">struct</span> <span class="n">Allocator</span><span class="o">*</span> <span class="n">requestAlloc</span><span class="p">)</span> +<span class="p">{</span> + <span class="k">struct</span> <span class="n">Admin</span><span class="o">*</span> <span class="n">admin</span> <span class="o">=</span> <span class="n">Identity_check</span><span class="p">((</span><span class="k">struct</span> <span class="n">Admin</span><span class="o">*</span><span class="p">)</span> <span class="n">vAdmin</span><span class="p">);</span> + <span class="kt">int64_t</span> <span class="n">enabled</span> <span class="o">=</span> <span class="n">admin</span><span class="o">-&gt;</span><span class="n">asyncEnabled</span><span class="p">;</span> + <span class="n">Dict</span> <span class="n">d</span> <span class="o">=</span> <span class="n">Dict_CONST</span><span class="p">(</span><span class="n">String_CONST</span><span class="p">(</span><span class="s">&quot;asyncEnabled&quot;</span><span class="p">),</span> <span class="n">Int_OBJ</span><span class="p">(</span><span class="n">enabled</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span> + <span class="n">Admin_sendMessage</span><span class="p">(</span><span class="o">&amp;</span><span class="n">d</span><span class="p">,</span> <span class="n">txid</span><span class="p">,</span> <span class="n">admin</span><span class="p">);</span> +<span class="p">}</span></code></pre></div> + +<p><strong>Image</strong></p> + +<p><img src="http://media.vector4free.com/normal/flat-banner-vectors.jpg" alt="ThisIsADemoPhoto" /></p> +</description> + <pubDate>Tue, 09 Sep 2014 22:37:00 +0530</pubDate> + <link>http://maangalabs.com/blog/2014/09/09/example</link> + <guid isPermaLink="true">http://maangalabs.com/blog/2014/09/09/example</guid> + + + <category>example</category> + + </item> + + </channel> +</rss> diff --git a/_site/blog/2014/09/09/example/index.html b/_site/blog/2014/09/09/example/index.html new file mode 100644 index 0000000000000000000000000000000000000000..55e7bc0b62835706f529420c679138ef53913617 --- /dev/null +++ b/_site/blog/2014/09/09/example/index.html @@ -0,0 +1,349 @@ +<!DOCTYPE html> +<html> + + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width initial-scale=1"> + + <title>Example</title> + <meta name="description" content="This is a sample post to denote the features of Swift theme . The theme consists of various share plugins , feedburner support , sitemap generation etc. You ..."> + <meta name="google-translate-customization" content="b9870a0c7376df54-aa35852016e6a5cc-ga0a0d80f6c171f17-e"></meta> + <link rel="stylesheet" href="/css/main.css"> + <link rel="canonical" href="http://maangalabs.com/blog/2014/09/09/example"> + <link href="/favicon.ico" rel="icon"> + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> + <link rel="alternate" type="application/atom+xml" title="Swift" href="http://maangalabs.com/feed.xml" /> +</head> + + + <body> + <div class="col-md-12 navbar navbar-inverse navbar-fixed-top"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-inverse-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/">Swift</a> + </div> + <div class="navbar-collapse collapse navbar-inverse-collapse"> + <ul class="nav navbar-nav"> + + + + + <li><a href="/contribute/">Contribute</a></li> + + + + <li><a href="/donate/">Donate</a></li> + + + + + + + + + +<!-- <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Pages<b class="caret"></b></a> + <ul class="dropdown-menu"> + + + + + <li><a href="/contribute/" style="text-transform : uppercase;">Contribute</a></li> + + + + <li><a href="/donate/" style="text-transform : uppercase;">Donate</a></li> + + + + + + + + + </ul> + </li> + --> </ul> + + <ul class="nav navbar-nav navbar-right left-syms"> + <li><a href="https://facebook.com/pranav.tayberrycreative" target="_blank"><i class="fa fa-facebook-square"></i> <span>Facebook</span></a></li> + <li><a href="http://github.com/pranavrajs" target="_blank"><i class="fa fa-github"></i> <span>Github</span></a></li> + <li><a href="//twitter.com/pranavrajs" target="_blank"><i class="fa fa-twitter"></i> <span>Twitter</span></a></li> + <li><a href="/atom.xml" target="_blank"><i class="fa fa-rss"></i> <span>RSS Feed</span></a></li> + </ul> + </div> + </div> + + + <div class="col-md-12 blog-theme-class"> + <!-- Top Blog Header --> + <div class="row jumb-bot"> + <div class="col-md-1"></div> + <div class="jumbotron jumb-bot-jumbu col-md-10"> + + <h1>Swift</h1> + <p>A clean minimal Theme for Jekyll</p> + </div> + <div class="col-md-1"></div> + </div> + </div> + <div class="col-md-12"> + <div class="row"> + <div class="col-md-1"></div> + <div class="col-md-10"> + + + <h1>Example</h1> + <div id="google_translate_element" style="padding-right: 27px;float: left;"></div><script type="text/javascript"> + function googleTranslateElementInit() { + new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); + } + </script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> + + <p class="post-meta">Sep 9, 2014</p> + + + <article class="blog-post-small blog-post-content"> + <p>This is a sample post to denote the features of Swift theme . The theme consists of various share plugins , feedburner support , sitemap generation etc. You can configure the blog in similar way you use a word press blog</p> + +<!-- more --> + +<p><strong>Basic</strong></p> + +<p>Neque porro <em>quisquam</em> est, qui <strong>dolorem</strong> ipsum, quia <strong><em>dolor</em></strong> sit, amet, <a href="http://cjdns.info/">consectetur</a>, adipisci velit.</p> + +<ul> + <li>lorem</li> + <li>ipsum</li> +</ul> + +<ol> + <li>dolor</li> + <li>sit</li> +</ol> + +<p><strong>Blockquote</strong></p> + +<blockquote> + <p>They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.</p> + + <p><em>Benjamin Franklin</em></p> +</blockquote> + +<p><strong>Code</strong></p> + +<div class="highlight"><pre><code class="language-c" data-lang="c"><span class="k">static</span> <span class="kt">void</span> <span class="nf">asyncEnabled</span><span class="p">(</span><span class="n">Dict</span><span class="o">*</span> <span class="n">args</span><span class="p">,</span> <span class="kt">void</span><span class="o">*</span> <span class="n">vAdmin</span><span class="p">,</span> <span class="n">String</span><span class="o">*</span> <span class="n">txid</span><span class="p">,</span> <span class="k">struct</span> <span class="n">Allocator</span><span class="o">*</span> <span class="n">requestAlloc</span><span class="p">)</span> +<span class="p">{</span> + <span class="k">struct</span> <span class="n">Admin</span><span class="o">*</span> <span class="n">admin</span> <span class="o">=</span> <span class="n">Identity_check</span><span class="p">((</span><span class="k">struct</span> <span class="n">Admin</span><span class="o">*</span><span class="p">)</span> <span class="n">vAdmin</span><span class="p">);</span> + <span class="kt">int64_t</span> <span class="n">enabled</span> <span class="o">=</span> <span class="n">admin</span><span class="o">-></span><span class="n">asyncEnabled</span><span class="p">;</span> + <span class="n">Dict</span> <span class="n">d</span> <span class="o">=</span> <span class="n">Dict_CONST</span><span class="p">(</span><span class="n">String_CONST</span><span class="p">(</span><span class="s">"asyncEnabled"</span><span class="p">),</span> <span class="n">Int_OBJ</span><span class="p">(</span><span class="n">enabled</span><span class="p">),</span> <span class="nb">NULL</span><span class="p">);</span> + <span class="n">Admin_sendMessage</span><span class="p">(</span><span class="o">&</span><span class="n">d</span><span class="p">,</span> <span class="n">txid</span><span class="p">,</span> <span class="n">admin</span><span class="p">);</span> +<span class="p">}</span></code></pre></div> + +<p><strong>Image</strong></p> + +<p><img src="http://media.vector4free.com/normal/flat-banner-vectors.jpg" alt="ThisIsADemoPhoto" /></p> + + </article> + + + +<!-- Output author details if some exist. --> + +<div class="author_block col-md-12"> + <div class="row"> + <div class="col-md-1"></div> + <div class="col-md-2"> + <p>Written by <strong>Pranav Raj S</strong></p> + </div> + <div class="col-md-3"> + <ul> + <li><a href="http://github.com/pranavrajs" target="_blank"><i class="fa fa-github"></i></a></li> + <li><a href="http://facebook.com/" target="_blank"><i class="fa fa-facebook"></i></a></li> + <li><a href="http://twitter.com/pranavrajs" target="_blank"><i class="fa fa-twitter"></i></a></li> + <li><a href="http://in.linkedin.com/in/pranavrajs" target="_blank"><i class="fa fa-linkedin"></i></a></li> + <li><a href="mailto:pranavrajs@gmail.com" target="_blank"><i class="fa fa-send-o"></i></a></li> + </ul> + </div> + <div class="col-md-4"> + + + <div class="col-md-12"> + <a class= "btn-primary btn-large" style="padding:10px; line-height: 44px; margin-left:-24px; text-decoration:none;" href = "//github.com/pranavrajs/swift" target="_blank">Download Source</a> + <iframe style = "line-height:44px"src="http://ghbtns.com/github-btn.html?user=pranavrajs&repo=swift&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="95" height="20"></iframe> + </div> + + + </div> + <div class="col-md-2"></div> + </div> +</div> + + +<div id="disqus_thread"></div> +<script type="text/javascript"> + var disqus_shortname = 'maangalabscom'; // required: replace example with your forum shortname + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); +</script> +<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> + + <ul class="pager"> + + <li><a href="/blog/archives">Blog Archives</a></li> + + </ul> + </div> + <div class="col-md-1"></div> +</div> + </div> + <div class="col-md-12 share-div"> + <div class="col-md-1"></div> + <div class="col-md-10"> + +<div class="fb_share"> + <div id="fb-root"></div> + <script>(function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=354997024639145&version=v2.0"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk'));</script> +<div class="fb-share-button" data-layout="button_count"></div> +</div> + + + +<div class="twitter_share"> + <a href="https://twitter.com/share" class="twitter-share-button" data-via="pranavrajs" data-hashtags="sailsjs">Tweet</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> +</div> + + + +<div class="linkedin_share"> + <script src="//platform.linkedin.com/in.js" type="text/javascript"> + lang: en_US + </script> + <script type="IN/Share" data-counter="right"></script> +</div> + + + +<div class="g_share"> + <script src="https://apis.google.com/js/platform.js" async defer></script> + <div class="g-plus" data-action="share" data-annotation="bubble"></div> +</div> + + </div> + <div class="col-md-1"></div> + </div> + <div class="col-md-12"> + <!-- Footer --> + <div class="row footer"> + <div class="col-md-1"></div> + <div class="col-md-10"> + <div class="row"> + <div class="col-md-3"> + <h4>Recent Posts</h4> + <ul> + + <li><a href="/blog/2014/09/09/example">Example</a></li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + <h4>Github Repositories</h4> + <ul> + + <li> + <a href="https://github.com/pranavrajs"> + <span class="username">pranavrajs</span> + </a> + </li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + + <h4>Follow Us Here</h4> + + + <!-- Place this tag where you want the widget to render. --> + <div class="g-page" data-width="273" data-href="//plus.google.com/u/0/101893920934936418705" data-theme="dark" data-layout="landscape" style="border:0px;" data-rel="publisher"></div> + + <!-- Place this tag after the last widget tag. --> + <script type="text/javascript"> + (function() { + var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; + po.src = 'https://apis.google.com/js/platform.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); + })(); + </script> + + <!-- <img class="footer-logo" src="img/maanga-logo.png"/> --> + + </div> + </div> + </div> + <div class="col-md-1"></div> + </div> + <!-- End Footer --> + + </div> + <div class="col-md-12"> + <div class="row end_footer"> + <div class="col-md-1"></div> + <div class="col-md-6"> + <p>Copyright © Swift 2014</p> + </div> + <div class="col-md-4"></div> + <div class="col-md-1"></div> + </div> + </div> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> + <script type="text/javascript" src="/js/prettify.js"></script> + <script> + [].forEach.call(document.getElementsByTagName("pre"), function(el) { + el.classList.add("prettyprint"); + }); + + prettyPrint(); + </script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-53386152-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + <style> + pre.prettyprint { + + font-size: 13px; + font-family: "Open Sans"; + padding: 8px 12px; + border: 1px solid #bbb; + border-radius: 4px; + } + </style> + + </body> + +</html> diff --git a/_site/contribute/index.html b/_site/contribute/index.html new file mode 100644 index 0000000000000000000000000000000000000000..f0e7ea32b8d44829d822d339444a833e58f29617 --- /dev/null +++ b/_site/contribute/index.html @@ -0,0 +1,253 @@ +<!DOCTYPE html> +<html> + + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width initial-scale=1"> + + <title>Contribute</title> + <meta name="description" content="A clean minimal Theme for Jekyll"> + <meta name="google-translate-customization" content="b9870a0c7376df54-aa35852016e6a5cc-ga0a0d80f6c171f17-e"></meta> + <link rel="stylesheet" href="/css/main.css"> + <link rel="canonical" href="http://maangalabs.com/contribute/"> + <link href="/favicon.ico" rel="icon"> + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> + <link rel="alternate" type="application/atom+xml" title="Swift" href="http://maangalabs.com/feed.xml" /> +</head> + + + <body> + <div class="col-md-12 navbar navbar-inverse navbar-fixed-top"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-inverse-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/">Swift</a> + </div> + <div class="navbar-collapse collapse navbar-inverse-collapse"> + <ul class="nav navbar-nav"> + + + + + <li><a href="/contribute/">Contribute</a></li> + + + + <li><a href="/donate/">Donate</a></li> + + + + + + + + + +<!-- <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Pages<b class="caret"></b></a> + <ul class="dropdown-menu"> + + + + + <li><a href="/contribute/" style="text-transform : uppercase;">Contribute</a></li> + + + + <li><a href="/donate/" style="text-transform : uppercase;">Donate</a></li> + + + + + + + + + </ul> + </li> + --> </ul> + + <ul class="nav navbar-nav navbar-right left-syms"> + <li><a href="https://facebook.com/pranav.tayberrycreative" target="_blank"><i class="fa fa-facebook-square"></i> <span>Facebook</span></a></li> + <li><a href="http://github.com/pranavrajs" target="_blank"><i class="fa fa-github"></i> <span>Github</span></a></li> + <li><a href="//twitter.com/pranavrajs" target="_blank"><i class="fa fa-twitter"></i> <span>Twitter</span></a></li> + <li><a href="/atom.xml" target="_blank"><i class="fa fa-rss"></i> <span>RSS Feed</span></a></li> + </ul> + </div> + </div> + + + <div class="col-md-12 blog-theme-class"> + <!-- Top Blog Header --> + <div class="row jumb-bot"> + <div class="col-md-1"></div> + <div class="jumbotron jumb-bot-jumbu col-md-10"> + + <h1>Swift</h1> + <p>A clean minimal Theme for Jekyll</p> + </div> + <div class="col-md-1"></div> + </div> + </div> + <div class="col-md-12"> + <div class="row"> + <div class="col-md-1"></div> + <div class="col-md-10"> + + + <h1>Contribute</h1> + + + <article class="blog-post-small blog-post-content"> + <p><strong>NB:</strong> Page is under construction and i’ll be adding more details soon.</p> + + </article> + </div> + <div class="col-md-1"></div> +</div> + </div> + <div class="col-md-12 share-div"> + <div class="col-md-1"></div> + <div class="col-md-10"> + +<div class="fb_share"> + <div id="fb-root"></div> + <script>(function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=354997024639145&version=v2.0"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk'));</script> +<div class="fb-share-button" data-layout="button_count"></div> +</div> + + + +<div class="twitter_share"> + <a href="https://twitter.com/share" class="twitter-share-button" data-via="pranavrajs" data-hashtags="sailsjs">Tweet</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> +</div> + + + +<div class="linkedin_share"> + <script src="//platform.linkedin.com/in.js" type="text/javascript"> + lang: en_US + </script> + <script type="IN/Share" data-counter="right"></script> +</div> + + + +<div class="g_share"> + <script src="https://apis.google.com/js/platform.js" async defer></script> + <div class="g-plus" data-action="share" data-annotation="bubble"></div> +</div> + + </div> + <div class="col-md-1"></div> + </div> + <div class="col-md-12"> + <!-- Footer --> + <div class="row footer"> + <div class="col-md-1"></div> + <div class="col-md-10"> + <div class="row"> + <div class="col-md-3"> + <h4>Recent Posts</h4> + <ul> + + <li><a href="/blog/2014/09/09/example">Example</a></li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + <h4>Github Repositories</h4> + <ul> + + <li> + <a href="https://github.com/pranavrajs"> + <span class="username">pranavrajs</span> + </a> + </li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + + <h4>Follow Us Here</h4> + + + <!-- Place this tag where you want the widget to render. --> + <div class="g-page" data-width="273" data-href="//plus.google.com/u/0/101893920934936418705" data-theme="dark" data-layout="landscape" style="border:0px;" data-rel="publisher"></div> + + <!-- Place this tag after the last widget tag. --> + <script type="text/javascript"> + (function() { + var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; + po.src = 'https://apis.google.com/js/platform.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); + })(); + </script> + + <!-- <img class="footer-logo" src="img/maanga-logo.png"/> --> + + </div> + </div> + </div> + <div class="col-md-1"></div> + </div> + <!-- End Footer --> + + </div> + <div class="col-md-12"> + <div class="row end_footer"> + <div class="col-md-1"></div> + <div class="col-md-6"> + <p>Copyright © Swift 2014</p> + </div> + <div class="col-md-4"></div> + <div class="col-md-1"></div> + </div> + </div> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> + <script type="text/javascript" src="/js/prettify.js"></script> + <script> + [].forEach.call(document.getElementsByTagName("pre"), function(el) { + el.classList.add("prettyprint"); + }); + + prettyPrint(); + </script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-53386152-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + <style> + pre.prettyprint { + + font-size: 13px; + font-family: "Open Sans"; + padding: 8px 12px; + border: 1px solid #bbb; + border-radius: 4px; + } + </style> + + </body> + +</html> diff --git a/_site/css/main.css b/_site/css/main.css new file mode 100644 index 0000000000000000000000000000000000000000..a99ba016411e442317133feb21bc96ce4b75140c --- /dev/null +++ b/_site/css/main.css @@ -0,0 +1,5786 @@ +@import url("//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700"); +/*! + * Bootswatch v3.2.0 + * Homepage: http://bootswatch.com + * Copyright 2012-2014 Thomas Park + * Licensed under MIT + * Based on Bootstrap +*/ +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } + +body { + margin: 0; } + +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; } + +audio, canvas, progress, video { + display: inline-block; + vertical-align: baseline; } + +audio:not([controls]) { + display: none; + height: 0; } + +[hidden], template { + display: none; } + +a { + background: transparent; } + a:active, a:hover { + outline: 0; } + +abbr[title] { + border-bottom: 1px dotted; } + +b, strong { + font-weight: bold; } + +dfn { + font-style: italic; } + +h1 { + font-size: 2em; + margin: 0.67em 0; } + +mark { + background: #ff0; + color: #000; } + +small { + font-size: 80%; } + +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; } + +sub { + bottom: -0.25em; } + +img { + border: 0; } + +svg:not(:root) { + overflow: hidden; } + +figure { + margin: 1em 40px; } + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; } + +pre { + overflow: auto; } + +code, kbd, pre, samp { + font-family: monospace, monospace; + font-size: 1em; } + +button, input, optgroup, select, textarea { + color: inherit; + font: inherit; + margin: 0; } + +button { + overflow: visible; + text-transform: none; } + +select { + text-transform: none; } + +button, html input[type="button"] { + -webkit-appearance: button; + cursor: pointer; } + +input[type="reset"], input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; } + +button[disabled], html input[disabled] { + cursor: default; } + +button::-moz-focus-inner { + border: 0; + padding: 0; } + +input { + line-height: normal; } + input::-moz-focus-inner { + border: 0; + padding: 0; } + input[type="checkbox"], input[type="radio"] { + box-sizing: border-box; + padding: 0; } + input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { + height: auto; } + input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; } + input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +legend { + border: 0; + padding: 0; } + +textarea { + overflow: auto; } + +optgroup { + font-weight: bold; } + +table { + border-collapse: collapse; + border-spacing: 0; } + +td, th { + padding: 0; } + +@media print { + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; } + + a { + text-decoration: underline; } + a:visited { + text-decoration: underline; } + a[href]:after { + content: " (" attr(href) ")"; } + + abbr[title]:after { + content: " (" attr(title) ")"; } + + a[href^="javascript:"]:after, a[href^="#"]:after { + content: ""; } + + pre, blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + + thead { + display: table-header-group; } + + tr { + page-break-inside: avoid; } + + img { + page-break-inside: avoid; + max-width: 100% !important; } + + p, h2, h3 { + orphans: 3; + widows: 3; } + + h2, h3 { + page-break-after: avoid; } + + select { + background: #fff !important; } + + .navbar { + display: none; } + + .table td, .table th { + background-color: #fff !important; } + + .btn > .caret, .dropup > .btn > .caret { + border-top-color: #000 !important; } + + .label { + border: 1px solid #000; } + + .table { + border-collapse: collapse !important; } + + .table-bordered th, .table-bordered td { + border: 1px solid #ddd !important; } } +@font-face { + font-family: 'Glyphicons Halflings'; + src: url("../fonts/glyphicons-halflings-regular.eot"); + src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); } +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +.glyphicon-asterisk:before { + content: "\2a"; } + +.glyphicon-plus:before { + content: "\2b"; } + +.glyphicon-euro:before { + content: "\20ac"; } + +.glyphicon-minus:before { + content: "\2212"; } + +.glyphicon-cloud:before { + content: "\2601"; } + +.glyphicon-envelope:before { + content: "\2709"; } + +.glyphicon-pencil:before { + content: "\270f"; } + +.glyphicon-glass:before { + content: "\e001"; } + +.glyphicon-music:before { + content: "\e002"; } + +.glyphicon-search:before { + content: "\e003"; } + +.glyphicon-heart:before { + content: "\e005"; } + +.glyphicon-star:before { + content: "\e006"; } + +.glyphicon-star-empty:before { + content: "\e007"; } + +.glyphicon-user:before { + content: "\e008"; } + +.glyphicon-film:before { + content: "\e009"; } + +.glyphicon-th-large:before { + content: "\e010"; } + +.glyphicon-th:before { + content: "\e011"; } + +.glyphicon-th-list:before { + content: "\e012"; } + +.glyphicon-ok:before { + content: "\e013"; } + +.glyphicon-remove:before { + content: "\e014"; } + +.glyphicon-zoom-in:before { + content: "\e015"; } + +.glyphicon-zoom-out:before { + content: "\e016"; } + +.glyphicon-off:before { + content: "\e017"; } + +.glyphicon-signal:before { + content: "\e018"; } + +.glyphicon-cog:before { + content: "\e019"; } + +.glyphicon-trash:before { + content: "\e020"; } + +.glyphicon-home:before { + content: "\e021"; } + +.glyphicon-file:before { + content: "\e022"; } + +.glyphicon-time:before { + content: "\e023"; } + +.glyphicon-road:before { + content: "\e024"; } + +.glyphicon-download-alt:before { + content: "\e025"; } + +.glyphicon-download:before { + content: "\e026"; } + +.glyphicon-upload:before { + content: "\e027"; } + +.glyphicon-inbox:before { + content: "\e028"; } + +.glyphicon-play-circle:before { + content: "\e029"; } + +.glyphicon-repeat:before { + content: "\e030"; } + +.glyphicon-refresh:before { + content: "\e031"; } + +.glyphicon-list-alt:before { + content: "\e032"; } + +.glyphicon-lock:before { + content: "\e033"; } + +.glyphicon-flag:before { + content: "\e034"; } + +.glyphicon-headphones:before { + content: "\e035"; } + +.glyphicon-volume-off:before { + content: "\e036"; } + +.glyphicon-volume-down:before { + content: "\e037"; } + +.glyphicon-volume-up:before { + content: "\e038"; } + +.glyphicon-qrcode:before { + content: "\e039"; } + +.glyphicon-barcode:before { + content: "\e040"; } + +.glyphicon-tag:before { + content: "\e041"; } + +.glyphicon-tags:before { + content: "\e042"; } + +.glyphicon-book:before { + content: "\e043"; } + +.glyphicon-bookmark:before { + content: "\e044"; } + +.glyphicon-print:before { + content: "\e045"; } + +.glyphicon-camera:before { + content: "\e046"; } + +.glyphicon-font:before { + content: "\e047"; } + +.glyphicon-bold:before { + content: "\e048"; } + +.glyphicon-italic:before { + content: "\e049"; } + +.glyphicon-text-height:before { + content: "\e050"; } + +.glyphicon-text-width:before { + content: "\e051"; } + +.glyphicon-align-left:before { + content: "\e052"; } + +.glyphicon-align-center:before { + content: "\e053"; } + +.glyphicon-align-right:before { + content: "\e054"; } + +.glyphicon-align-justify:before { + content: "\e055"; } + +.glyphicon-list:before { + content: "\e056"; } + +.glyphicon-indent-left:before { + content: "\e057"; } + +.glyphicon-indent-right:before { + content: "\e058"; } + +.glyphicon-facetime-video:before { + content: "\e059"; } + +.glyphicon-picture:before { + content: "\e060"; } + +.glyphicon-map-marker:before { + content: "\e062"; } + +.glyphicon-adjust:before { + content: "\e063"; } + +.glyphicon-tint:before { + content: "\e064"; } + +.glyphicon-edit:before { + content: "\e065"; } + +.glyphicon-share:before { + content: "\e066"; } + +.glyphicon-check:before { + content: "\e067"; } + +.glyphicon-move:before { + content: "\e068"; } + +.glyphicon-step-backward:before { + content: "\e069"; } + +.glyphicon-fast-backward:before { + content: "\e070"; } + +.glyphicon-backward:before { + content: "\e071"; } + +.glyphicon-play:before { + content: "\e072"; } + +.glyphicon-pause:before { + content: "\e073"; } + +.glyphicon-stop:before { + content: "\e074"; } + +.glyphicon-forward:before { + content: "\e075"; } + +.glyphicon-fast-forward:before { + content: "\e076"; } + +.glyphicon-step-forward:before { + content: "\e077"; } + +.glyphicon-eject:before { + content: "\e078"; } + +.glyphicon-chevron-left:before { + content: "\e079"; } + +.glyphicon-chevron-right:before { + content: "\e080"; } + +.glyphicon-plus-sign:before { + content: "\e081"; } + +.glyphicon-minus-sign:before { + content: "\e082"; } + +.glyphicon-remove-sign:before { + content: "\e083"; } + +.glyphicon-ok-sign:before { + content: "\e084"; } + +.glyphicon-question-sign:before { + content: "\e085"; } + +.glyphicon-info-sign:before { + content: "\e086"; } + +.glyphicon-screenshot:before { + content: "\e087"; } + +.glyphicon-remove-circle:before { + content: "\e088"; } + +.glyphicon-ok-circle:before { + content: "\e089"; } + +.glyphicon-ban-circle:before { + content: "\e090"; } + +.glyphicon-arrow-left:before { + content: "\e091"; } + +.glyphicon-arrow-right:before { + content: "\e092"; } + +.glyphicon-arrow-up:before { + content: "\e093"; } + +.glyphicon-arrow-down:before { + content: "\e094"; } + +.glyphicon-share-alt:before { + content: "\e095"; } + +.glyphicon-resize-full:before { + content: "\e096"; } + +.glyphicon-resize-small:before { + content: "\e097"; } + +.glyphicon-exclamation-sign:before { + content: "\e101"; } + +.glyphicon-gift:before { + content: "\e102"; } + +.glyphicon-leaf:before { + content: "\e103"; } + +.glyphicon-fire:before { + content: "\e104"; } + +.glyphicon-eye-open:before { + content: "\e105"; } + +.glyphicon-eye-close:before { + content: "\e106"; } + +.glyphicon-warning-sign:before { + content: "\e107"; } + +.glyphicon-plane:before { + content: "\e108"; } + +.glyphicon-calendar:before { + content: "\e109"; } + +.glyphicon-random:before { + content: "\e110"; } + +.glyphicon-comment:before { + content: "\e111"; } + +.glyphicon-magnet:before { + content: "\e112"; } + +.glyphicon-chevron-up:before { + content: "\e113"; } + +.glyphicon-chevron-down:before { + content: "\e114"; } + +.glyphicon-retweet:before { + content: "\e115"; } + +.glyphicon-shopping-cart:before { + content: "\e116"; } + +.glyphicon-folder-close:before { + content: "\e117"; } + +.glyphicon-folder-open:before { + content: "\e118"; } + +.glyphicon-resize-vertical:before { + content: "\e119"; } + +.glyphicon-resize-horizontal:before { + content: "\e120"; } + +.glyphicon-hdd:before { + content: "\e121"; } + +.glyphicon-bullhorn:before { + content: "\e122"; } + +.glyphicon-bell:before { + content: "\e123"; } + +.glyphicon-certificate:before { + content: "\e124"; } + +.glyphicon-thumbs-up:before { + content: "\e125"; } + +.glyphicon-thumbs-down:before { + content: "\e126"; } + +.glyphicon-hand-right:before { + content: "\e127"; } + +.glyphicon-hand-left:before { + content: "\e128"; } + +.glyphicon-hand-up:before { + content: "\e129"; } + +.glyphicon-hand-down:before { + content: "\e130"; } + +.glyphicon-circle-arrow-right:before { + content: "\e131"; } + +.glyphicon-circle-arrow-left:before { + content: "\e132"; } + +.glyphicon-circle-arrow-up:before { + content: "\e133"; } + +.glyphicon-circle-arrow-down:before { + content: "\e134"; } + +.glyphicon-globe:before { + content: "\e135"; } + +.glyphicon-wrench:before { + content: "\e136"; } + +.glyphicon-tasks:before { + content: "\e137"; } + +.glyphicon-filter:before { + content: "\e138"; } + +.glyphicon-briefcase:before { + content: "\e139"; } + +.glyphicon-fullscreen:before { + content: "\e140"; } + +.glyphicon-dashboard:before { + content: "\e141"; } + +.glyphicon-paperclip:before { + content: "\e142"; } + +.glyphicon-heart-empty:before { + content: "\e143"; } + +.glyphicon-link:before { + content: "\e144"; } + +.glyphicon-phone:before { + content: "\e145"; } + +.glyphicon-pushpin:before { + content: "\e146"; } + +.glyphicon-usd:before { + content: "\e148"; } + +.glyphicon-gbp:before { + content: "\e149"; } + +.glyphicon-sort:before { + content: "\e150"; } + +.glyphicon-sort-by-alphabet:before { + content: "\e151"; } + +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; } + +.glyphicon-sort-by-order:before { + content: "\e153"; } + +.glyphicon-sort-by-order-alt:before { + content: "\e154"; } + +.glyphicon-sort-by-attributes:before { + content: "\e155"; } + +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; } + +.glyphicon-unchecked:before { + content: "\e157"; } + +.glyphicon-expand:before { + content: "\e158"; } + +.glyphicon-collapse-down:before { + content: "\e159"; } + +.glyphicon-collapse-up:before { + content: "\e160"; } + +.glyphicon-log-in:before { + content: "\e161"; } + +.glyphicon-flash:before { + content: "\e162"; } + +.glyphicon-log-out:before { + content: "\e163"; } + +.glyphicon-new-window:before { + content: "\e164"; } + +.glyphicon-record:before { + content: "\e165"; } + +.glyphicon-save:before { + content: "\e166"; } + +.glyphicon-open:before { + content: "\e167"; } + +.glyphicon-saved:before { + content: "\e168"; } + +.glyphicon-import:before { + content: "\e169"; } + +.glyphicon-export:before { + content: "\e170"; } + +.glyphicon-send:before { + content: "\e171"; } + +.glyphicon-floppy-disk:before { + content: "\e172"; } + +.glyphicon-floppy-saved:before { + content: "\e173"; } + +.glyphicon-floppy-remove:before { + content: "\e174"; } + +.glyphicon-floppy-save:before { + content: "\e175"; } + +.glyphicon-floppy-open:before { + content: "\e176"; } + +.glyphicon-credit-card:before { + content: "\e177"; } + +.glyphicon-transfer:before { + content: "\e178"; } + +.glyphicon-cutlery:before { + content: "\e179"; } + +.glyphicon-header:before { + content: "\e180"; } + +.glyphicon-compressed:before { + content: "\e181"; } + +.glyphicon-earphone:before { + content: "\e182"; } + +.glyphicon-phone-alt:before { + content: "\e183"; } + +.glyphicon-tower:before { + content: "\e184"; } + +.glyphicon-stats:before { + content: "\e185"; } + +.glyphicon-sd-video:before { + content: "\e186"; } + +.glyphicon-hd-video:before { + content: "\e187"; } + +.glyphicon-subtitles:before { + content: "\e188"; } + +.glyphicon-sound-stereo:before { + content: "\e189"; } + +.glyphicon-sound-dolby:before { + content: "\e190"; } + +.glyphicon-sound-5-1:before { + content: "\e191"; } + +.glyphicon-sound-6-1:before { + content: "\e192"; } + +.glyphicon-sound-7-1:before { + content: "\e193"; } + +.glyphicon-copyright-mark:before { + content: "\e194"; } + +.glyphicon-registration-mark:before { + content: "\e195"; } + +.glyphicon-cloud-download:before { + content: "\e197"; } + +.glyphicon-cloud-upload:before { + content: "\e198"; } + +.glyphicon-tree-conifer:before { + content: "\e199"; } + +.glyphicon-tree-deciduous:before { + content: "\e200"; } + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + *:before, *:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; } + +body { + font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 15px; + line-height: 1.42857143; + color: #222222; + background-color: #ffffff; } + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +a { + color: #008cba; + text-decoration: none; } + a:hover { + color: #00526e; + text-decoration: underline; } + a:focus { + color: #00526e; + text-decoration: underline; + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +figure { + margin: 0; } + +img { + vertical-align: middle; } + +.img-responsive { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; } + +.thumbnail > img, .thumbnail a > img { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; } + +.carousel-inner > .item > img, .carousel-inner > .item > a > img { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; } + +.img-rounded { + border-radius: 0; } + +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 0; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; + display: inline-block; + width: 100% \9; + max-width: 100%; + height: auto; } + +.img-circle { + border-radius: 50%; } + +hr { + margin-top: 21px; + margin-bottom: 21px; + border: 0; + border-top: 1px solid #dddddd; } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } + +h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { + font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + font-weight: 300; + line-height: 1.1; + color: inherit; } + +h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { + font-weight: normal; + line-height: 1; + color: #999999; } + +h1, .h1, h2, .h2, h3, .h3 { + margin-top: 21px; + margin-bottom: 10.5px; } + +h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { + font-size: 65%; } + +h4, .h4, h5, .h5, h6, .h6 { + margin-top: 10.5px; + margin-bottom: 10.5px; } + +h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { + font-size: 75%; } + +h1, .h1 { + font-size: 39px; } + +h2, .h2 { + font-size: 32px; } + +h3, .h3 { + font-size: 26px; } + +h4, .h4 { + font-size: 19px; } + +h5, .h5 { + font-size: 15px; } + +h6, .h6 { + font-size: 13px; } + +p { + margin: 0 0 10.5px; } + +.lead { + margin-bottom: 21px; + font-size: 17px; + font-weight: 300; + line-height: 1.4; } + +@media (min-width: 768px) { + .lead { + font-size: 22.5px; } } +small, .small { + font-size: 80%; } + +cite { + font-style: normal; } + +mark, .mark { + background-color: #fcf8e3; + padding: .2em; } + +.text-left { + text-align: left; } + +.text-right { + text-align: right; } + +.text-center { + text-align: center; } + +.text-justify { + text-align: justify; } + +.text-nowrap { + white-space: nowrap; } + +.text-lowercase { + text-transform: lowercase; } + +.text-uppercase { + text-transform: uppercase; } + +.text-capitalize { + text-transform: capitalize; } + +.text-muted { + color: #999999; } + +.text-primary { + color: #008cba; } + +a.text-primary:hover { + color: #006687; } + +.text-success { + color: #43ac6a; } + +a.text-success:hover { + color: #358753; } + +.text-info { + color: #5bc0de; } + +a.text-info:hover { + color: #31b0d5; } + +.text-warning { + color: #e99002; } + +a.text-warning:hover { + color: #b67102; } + +.text-danger { + color: #f04124; } + +a.text-danger:hover { + color: #d32a0e; } + +.bg-primary { + color: #fff; + background-color: #008cba; } + +a.bg-primary:hover { + background-color: #006687; } + +.bg-success { + background-color: #dff0d8; } + +a.bg-success:hover { + background-color: #c1e2b3; } + +.bg-info { + background-color: #d9edf7; } + +a.bg-info:hover { + background-color: #afd9ee; } + +.bg-warning { + background-color: #fcf8e3; } + +a.bg-warning:hover { + background-color: #f7ecb5; } + +.bg-danger { + background-color: #f2dede; } + +a.bg-danger:hover { + background-color: #e4b9b9; } + +.page-header { + padding-bottom: 9.5px; + margin: 42px 0 21px; + border-bottom: 1px solid #dddddd; } + +ul, ol { + margin-top: 0; + margin-bottom: 10.5px; } + +ul ul, ol ul, ul ol, ol ol { + margin-bottom: 0; } + +.list-unstyled { + padding-left: 0; + list-style: none; } + +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; } + .list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; } + +dl { + margin-top: 0; + margin-bottom: 21px; } + +dt, dd { + line-height: 1.42857143; } + +dt { + font-weight: bold; } + +dd { + margin-left: 0; } + +@media (min-width: 768px) { + .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; } } +abbr[title], abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; } + +.initialism { + font-size: 90%; + text-transform: uppercase; } + +blockquote { + padding: 10.5px 21px; + margin: 0 0 21px; + font-size: 18.75px; + border-left: 5px solid #dddddd; } + blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { + margin-bottom: 0; } + blockquote footer, blockquote small, blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #6f6f6f; } + blockquote footer:before, blockquote small:before, blockquote .small:before { + content: '\2014 \00A0'; } + +.blockquote-reverse, blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #dddddd; + border-left: 0; + text-align: right; } + +.blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { + content: ''; } + +.blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after { + content: '\00A0 \2014'; } + +blockquote.pull-right .small:after { + content: '\00A0 \2014'; } +blockquote:before, blockquote:after { + content: ""; } + +address { + margin-bottom: 21px; + font-style: normal; + line-height: 1.42857143; } + +code, kbd, pre, samp { + font-family: Menlo,Monaco,Consolas,"Courier New",monospace; } + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 0; } + +kbd { + padding: 2px 4px; + font-size: 90%; + color: #ffffff; + background-color: #333333; + border-radius: 0; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } + kbd kbd { + padding: 0; + font-size: 100%; + box-shadow: none; } + +pre { + display: block; + padding: 10px; + margin: 0 0 10.5px; + font-size: 14px; + line-height: 1.42857143; + word-break: break-all; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 0; } + pre code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + +.container, .container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + +@media (min-width: 768px) { + .container { + width: 750px; } } +@media (min-width: 992px) { + .container { + width: 970px; } } +@media (min-width: 1200px) { + .container { + width: 1170px; } } +.row { + margin-left: -15px; + margin-right: -15px; } + +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; } + +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 { + float: left; } + +.col-xs-12 { + float: left; + width: 100%; } + +.col-xs-11 { + width: 91.66666667%; } + +.col-xs-10 { + width: 83.33333333%; } + +.col-xs-9 { + width: 75%; } + +.col-xs-8 { + width: 66.66666667%; } + +.col-xs-7 { + width: 58.33333333%; } + +.col-xs-6 { + width: 50%; } + +.col-xs-5 { + width: 41.66666667%; } + +.col-xs-4 { + width: 33.33333333%; } + +.col-xs-3 { + width: 25%; } + +.col-xs-2 { + width: 16.66666667%; } + +.col-xs-1 { + width: 8.33333333%; } + +.col-xs-pull-12 { + right: 100%; } + +.col-xs-pull-11 { + right: 91.66666667%; } + +.col-xs-pull-10 { + right: 83.33333333%; } + +.col-xs-pull-9 { + right: 75%; } + +.col-xs-pull-8 { + right: 66.66666667%; } + +.col-xs-pull-7 { + right: 58.33333333%; } + +.col-xs-pull-6 { + right: 50%; } + +.col-xs-pull-5 { + right: 41.66666667%; } + +.col-xs-pull-4 { + right: 33.33333333%; } + +.col-xs-pull-3 { + right: 25%; } + +.col-xs-pull-2 { + right: 16.66666667%; } + +.col-xs-pull-1 { + right: 8.33333333%; } + +.col-xs-pull-0 { + right: auto; } + +.col-xs-push-12 { + left: 100%; } + +.col-xs-push-11 { + left: 91.66666667%; } + +.col-xs-push-10 { + left: 83.33333333%; } + +.col-xs-push-9 { + left: 75%; } + +.col-xs-push-8 { + left: 66.66666667%; } + +.col-xs-push-7 { + left: 58.33333333%; } + +.col-xs-push-6 { + left: 50%; } + +.col-xs-push-5 { + left: 41.66666667%; } + +.col-xs-push-4 { + left: 33.33333333%; } + +.col-xs-push-3 { + left: 25%; } + +.col-xs-push-2 { + left: 16.66666667%; } + +.col-xs-push-1 { + left: 8.33333333%; } + +.col-xs-push-0 { + left: auto; } + +.col-xs-offset-12 { + margin-left: 100%; } + +.col-xs-offset-11 { + margin-left: 91.66666667%; } + +.col-xs-offset-10 { + margin-left: 83.33333333%; } + +.col-xs-offset-9 { + margin-left: 75%; } + +.col-xs-offset-8 { + margin-left: 66.66666667%; } + +.col-xs-offset-7 { + margin-left: 58.33333333%; } + +.col-xs-offset-6 { + margin-left: 50%; } + +.col-xs-offset-5 { + margin-left: 41.66666667%; } + +.col-xs-offset-4 { + margin-left: 33.33333333%; } + +.col-xs-offset-3 { + margin-left: 25%; } + +.col-xs-offset-2 { + margin-left: 16.66666667%; } + +.col-xs-offset-1 { + margin-left: 8.33333333%; } + +.col-xs-offset-0 { + margin-left: 0%; } + +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 { + float: left; } + + .col-sm-12 { + float: left; + width: 100%; } + + .col-sm-11 { + width: 91.66666667%; } + + .col-sm-10 { + width: 83.33333333%; } + + .col-sm-9 { + width: 75%; } + + .col-sm-8 { + width: 66.66666667%; } + + .col-sm-7 { + width: 58.33333333%; } + + .col-sm-6 { + width: 50%; } + + .col-sm-5 { + width: 41.66666667%; } + + .col-sm-4 { + width: 33.33333333%; } + + .col-sm-3 { + width: 25%; } + + .col-sm-2 { + width: 16.66666667%; } + + .col-sm-1 { + width: 8.33333333%; } + + .col-sm-pull-12 { + right: 100%; } + + .col-sm-pull-11 { + right: 91.66666667%; } + + .col-sm-pull-10 { + right: 83.33333333%; } + + .col-sm-pull-9 { + right: 75%; } + + .col-sm-pull-8 { + right: 66.66666667%; } + + .col-sm-pull-7 { + right: 58.33333333%; } + + .col-sm-pull-6 { + right: 50%; } + + .col-sm-pull-5 { + right: 41.66666667%; } + + .col-sm-pull-4 { + right: 33.33333333%; } + + .col-sm-pull-3 { + right: 25%; } + + .col-sm-pull-2 { + right: 16.66666667%; } + + .col-sm-pull-1 { + right: 8.33333333%; } + + .col-sm-pull-0 { + right: auto; } + + .col-sm-push-12 { + left: 100%; } + + .col-sm-push-11 { + left: 91.66666667%; } + + .col-sm-push-10 { + left: 83.33333333%; } + + .col-sm-push-9 { + left: 75%; } + + .col-sm-push-8 { + left: 66.66666667%; } + + .col-sm-push-7 { + left: 58.33333333%; } + + .col-sm-push-6 { + left: 50%; } + + .col-sm-push-5 { + left: 41.66666667%; } + + .col-sm-push-4 { + left: 33.33333333%; } + + .col-sm-push-3 { + left: 25%; } + + .col-sm-push-2 { + left: 16.66666667%; } + + .col-sm-push-1 { + left: 8.33333333%; } + + .col-sm-push-0 { + left: auto; } + + .col-sm-offset-12 { + margin-left: 100%; } + + .col-sm-offset-11 { + margin-left: 91.66666667%; } + + .col-sm-offset-10 { + margin-left: 83.33333333%; } + + .col-sm-offset-9 { + margin-left: 75%; } + + .col-sm-offset-8 { + margin-left: 66.66666667%; } + + .col-sm-offset-7 { + margin-left: 58.33333333%; } + + .col-sm-offset-6 { + margin-left: 50%; } + + .col-sm-offset-5 { + margin-left: 41.66666667%; } + + .col-sm-offset-4 { + margin-left: 33.33333333%; } + + .col-sm-offset-3 { + margin-left: 25%; } + + .col-sm-offset-2 { + margin-left: 16.66666667%; } + + .col-sm-offset-1 { + margin-left: 8.33333333%; } + + .col-sm-offset-0 { + margin-left: 0%; } } +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 { + float: left; } + + .col-md-12 { + /*float: left;*/ + width: 100%; } + + .col-md-11 { + width: 91.66666667%; } + + .col-md-10 { + width: 83.33333333%; } + + .col-md-9 { + width: 75%; } + + .col-md-8 { + width: 66.66666667%; } + + .col-md-7 { + width: 58.33333333%; } + + .col-md-6 { + width: 50%; } + + .col-md-5 { + width: 41.66666667%; } + + .col-md-4 { + width: 33.33333333%; } + + .col-md-3 { + width: 25%; } + + .col-md-2 { + width: 16.66666667%; } + + .col-md-1 { + width: 8.33333333%; } + + .col-md-pull-12 { + right: 100%; } + + .col-md-pull-11 { + right: 91.66666667%; } + + .col-md-pull-10 { + right: 83.33333333%; } + + .col-md-pull-9 { + right: 75%; } + + .col-md-pull-8 { + right: 66.66666667%; } + + .col-md-pull-7 { + right: 58.33333333%; } + + .col-md-pull-6 { + right: 50%; } + + .col-md-pull-5 { + right: 41.66666667%; } + + .col-md-pull-4 { + right: 33.33333333%; } + + .col-md-pull-3 { + right: 25%; } + + .col-md-pull-2 { + right: 16.66666667%; } + + .col-md-pull-1 { + right: 8.33333333%; } + + .col-md-pull-0 { + right: auto; } + + .col-md-push-12 { + left: 100%; } + + .col-md-push-11 { + left: 91.66666667%; } + + .col-md-push-10 { + left: 83.33333333%; } + + .col-md-push-9 { + left: 75%; } + + .col-md-push-8 { + left: 66.66666667%; } + + .col-md-push-7 { + left: 58.33333333%; } + + .col-md-push-6 { + left: 50%; } + + .col-md-push-5 { + left: 41.66666667%; } + + .col-md-push-4 { + left: 33.33333333%; } + + .col-md-push-3 { + left: 25%; } + + .col-md-push-2 { + left: 16.66666667%; } + + .col-md-push-1 { + left: 8.33333333%; } + + .col-md-push-0 { + left: auto; } + + .col-md-offset-12 { + margin-left: 100%; } + + .col-md-offset-11 { + margin-left: 91.66666667%; } + + .col-md-offset-10 { + margin-left: 83.33333333%; } + + .col-md-offset-9 { + margin-left: 75%; } + + .col-md-offset-8 { + margin-left: 66.66666667%; } + + .col-md-offset-7 { + margin-left: 58.33333333%; } + + .col-md-offset-6 { + margin-left: 50%; } + + .col-md-offset-5 { + margin-left: 41.66666667%; } + + .col-md-offset-4 { + margin-left: 33.33333333%; } + + .col-md-offset-3 { + margin-left: 25%; } + + .col-md-offset-2 { + margin-left: 16.66666667%; } + + .col-md-offset-1 { + margin-left: 8.33333333%; } + + .col-md-offset-0 { + margin-left: 0%; } } +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 { + float: left; } + + .col-lg-12 { + float: left; + width: 100%; } + + .col-lg-11 { + width: 91.66666667%; } + + .col-lg-10 { + width: 83.33333333%; } + + .col-lg-9 { + width: 75%; } + + .col-lg-8 { + width: 66.66666667%; } + + .col-lg-7 { + width: 58.33333333%; } + + .col-lg-6 { + width: 50%; } + + .col-lg-5 { + width: 41.66666667%; } + + .col-lg-4 { + width: 33.33333333%; } + + .col-lg-3 { + width: 25%; } + + .col-lg-2 { + width: 16.66666667%; } + + .col-lg-1 { + width: 8.33333333%; } + + .col-lg-pull-12 { + right: 100%; } + + .col-lg-pull-11 { + right: 91.66666667%; } + + .col-lg-pull-10 { + right: 83.33333333%; } + + .col-lg-pull-9 { + right: 75%; } + + .col-lg-pull-8 { + right: 66.66666667%; } + + .col-lg-pull-7 { + right: 58.33333333%; } + + .col-lg-pull-6 { + right: 50%; } + + .col-lg-pull-5 { + right: 41.66666667%; } + + .col-lg-pull-4 { + right: 33.33333333%; } + + .col-lg-pull-3 { + right: 25%; } + + .col-lg-pull-2 { + right: 16.66666667%; } + + .col-lg-pull-1 { + right: 8.33333333%; } + + .col-lg-pull-0 { + right: auto; } + + .col-lg-push-12 { + left: 100%; } + + .col-lg-push-11 { + left: 91.66666667%; } + + .col-lg-push-10 { + left: 83.33333333%; } + + .col-lg-push-9 { + left: 75%; } + + .col-lg-push-8 { + left: 66.66666667%; } + + .col-lg-push-7 { + left: 58.33333333%; } + + .col-lg-push-6 { + left: 50%; } + + .col-lg-push-5 { + left: 41.66666667%; } + + .col-lg-push-4 { + left: 33.33333333%; } + + .col-lg-push-3 { + left: 25%; } + + .col-lg-push-2 { + left: 16.66666667%; } + + .col-lg-push-1 { + left: 8.33333333%; } + + .col-lg-push-0 { + left: auto; } + + .col-lg-offset-12 { + margin-left: 100%; } + + .col-lg-offset-11 { + margin-left: 91.66666667%; } + + .col-lg-offset-10 { + margin-left: 83.33333333%; } + + .col-lg-offset-9 { + margin-left: 75%; } + + .col-lg-offset-8 { + margin-left: 66.66666667%; } + + .col-lg-offset-7 { + margin-left: 58.33333333%; } + + .col-lg-offset-6 { + margin-left: 50%; } + + .col-lg-offset-5 { + margin-left: 41.66666667%; } + + .col-lg-offset-4 { + margin-left: 33.33333333%; } + + .col-lg-offset-3 { + margin-left: 25%; } + + .col-lg-offset-2 { + margin-left: 16.66666667%; } + + .col-lg-offset-1 { + margin-left: 8.33333333%; } + + .col-lg-offset-0 { + margin-left: 0%; } } +table { + background-color: transparent; } + +th { + text-align: left; } + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 21px; } + .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #dddddd; } + .table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; } + .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { + border-top: 0; } + .table > tbody + tbody { + border-top: 2px solid #dddddd; } + .table .table { + background-color: #ffffff; } + +.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { + padding: 5px; } + +.table-bordered { + border: 1px solid #dddddd; } + .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { + border: 1px solid #dddddd; } + .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { + border-bottom-width: 2px; } + +.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 col[class*="col-"] { + position: static; + float: none; + display: table-column; } +table td[class*="col-"], table th[class*="col-"] { + position: static; + float: none; + display: table-cell; } + +.table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { + background-color: #f5f5f5; } + +.table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover { + background-color: #e8e8e8; } +.table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; } + +.table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { + background-color: #dff0d8; } + +.table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover { + background-color: #d0e9c6; } +.table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; } + +.table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { + background-color: #d9edf7; } + +.table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover { + background-color: #c4e3f3; } +.table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; } + +.table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { + background-color: #fcf8e3; } + +.table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover { + background-color: #faf2cc; } +.table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; } + +.table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { + background-color: #f2dede; } + +.table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover { + background-color: #ebcccc; } +.table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; } + +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15.75px; + overflow-y: hidden; + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #dddddd; + -webkit-overflow-scrolling: touch; } + .table-responsive > .table { + margin-bottom: 0; } + .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; } + .table-responsive > .table-bordered { + border: 0; } + .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } + .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } + .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; } } +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; } + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 21px; + font-size: 22.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; } + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; } + +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } +input[type="radio"], input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; } +input[type="file"] { + display: block; } +input[type="range"] { + display: block; + width: 100%; } + +select[multiple], select[size] { + height: auto; } + +input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +output { + display: block; + padding-top: 7px; + font-size: 15px; + line-height: 1.42857143; + color: #6f6f6f; } + +.form-control { + display: block; + width: 100%; + height: 35px; + padding: 6px 12px; + font-size: 15px; + line-height: 1.42857143; + color: #6f6f6f; + background-color: #ffffff; + background-image: none; + border: 1px solid #cccccc; + border-radius: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; } + .form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } + .form-control::-moz-placeholder { + color: #999999; + opacity: 1; } + .form-control:-ms-input-placeholder, .form-control::-webkit-input-placeholder { + color: #999999; } + .form-control[disabled], .form-control[readonly] { + cursor: not-allowed; + background-color: #eeeeee; + opacity: 1; } + +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eeeeee; + opacity: 1; } + +textarea.form-control { + height: auto; } + +input[type="search"] { + -webkit-appearance: none; } +input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { + line-height: 35px; + line-height: 1.42857143 \0; } +input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm { + line-height: 30px; } +input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg { + line-height: 48px; } + +.form-group { + margin-bottom: 15px; } + +.radio, .checkbox { + position: relative; + display: block; + min-height: 21px; + margin-top: 10px; + margin-bottom: 10px; } + +.radio label, .checkbox label { + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } + +.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; } + +.radio + .radio, .checkbox + .checkbox { + margin-top: -5px; } + +.radio-inline, .checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; } + +.radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; } + +input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled { + cursor: not-allowed; } + +fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; } + +.radio-inline.disabled, .checkbox-inline.disabled { + cursor: not-allowed; } + +fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { + cursor: not-allowed; } + +.radio.disabled label, .checkbox.disabled label { + cursor: not-allowed; } + +fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { + cursor: not-allowed; } + +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; } + .form-control-static.input-lg, .form-control-static.input-sm { + padding-left: 0; + padding-right: 0; } + +.input-sm, .form-horizontal .form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; } + +select.input-sm { + height: 30px; + line-height: 30px; } + +textarea.input-sm, select[multiple].input-sm { + height: auto; } + +.input-lg, .form-horizontal .form-group-lg .form-control { + height: 48px; + padding: 10px 16px; + font-size: 19px; + line-height: 1.33; + border-radius: 0; } + +select.input-lg { + height: 48px; + line-height: 48px; } + +textarea.input-lg, select[multiple].input-lg { + height: auto; } + +.has-feedback { + position: relative; } + .has-feedback .form-control { + padding-right: 43.75px; } + +.form-control-feedback { + position: absolute; + top: 26px; + right: 0; + z-index: 2; + display: block; + width: 35px; + height: 35px; + line-height: 35px; + text-align: center; } + +.input-lg + .form-control-feedback { + width: 48px; + height: 48px; + line-height: 48px; } + +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; } + +.has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline { + color: #43ac6a; } +.has-success .form-control { + border-color: #43ac6a; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-success .form-control:focus { + border-color: #358753; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1; } +.has-success .input-group-addon { + color: #43ac6a; + border-color: #43ac6a; + background-color: #dff0d8; } +.has-success .form-control-feedback { + color: #43ac6a; } + +.has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline { + color: #e99002; } +.has-warning .form-control { + border-color: #e99002; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-warning .form-control:focus { + border-color: #b67102; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53; } +.has-warning .input-group-addon { + color: #e99002; + border-color: #e99002; + background-color: #fcf8e3; } +.has-warning .form-control-feedback { + color: #e99002; } + +.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline { + color: #f04124; } +.has-error .form-control { + border-color: #f04124; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-error .form-control:focus { + border-color: #d32a0e; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483; } +.has-error .input-group-addon { + color: #f04124; + border-color: #f04124; + background-color: #f2dede; } +.has-error .form-control-feedback { + color: #f04124; } + +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; } + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #626262; } + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; } + .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { + width: auto; } + .form-inline .input-group > .form-control { + width: 100%; } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; } + .form-inline .radio, .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .form-inline .radio label, .form-inline .checkbox label { + padding-left: 0; } + .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; } + .form-inline .has-feedback .form-control-feedback { + top: 0; } } +.form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; } +.form-horizontal .radio, .form-horizontal .checkbox { + min-height: 28px; } +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; } +.form-horizontal .has-feedback .form-control-feedback { + top: 0; + right: 15px; } + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; } } +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; } } +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; } } +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 15px; + line-height: 1.42857143; + border-radius: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .btn:focus, .btn:active:focus, .btn.active:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + .btn:hover, .btn:focus { + color: #333333; + text-decoration: none; } + .btn:active, .btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn.disabled, .btn[disabled] { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; } + +fieldset[disabled] .btn { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; } + +.btn-default { + color: #333333; + background-color: #e7e7e7; + border-color: #dadada; } + .btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active { + color: #333333; + background-color: #cecece; + border-color: #bbbbbb; } + +.open > .dropdown-toggle.btn-default { + color: #333333; + background-color: #cecece; + border-color: #bbbbbb; } + +.btn-default:active, .btn-default.active { + background-image: none; } + +.open > .dropdown-toggle.btn-default { + background-image: none; } + +.btn-default.disabled, .btn-default[disabled] { + background-color: #e7e7e7; + border-color: #dadada; } + +fieldset[disabled] .btn-default { + background-color: #e7e7e7; + border-color: #dadada; } + +.btn-default.disabled:hover, .btn-default[disabled]:hover { + background-color: #e7e7e7; + border-color: #dadada; } + +fieldset[disabled] .btn-default:hover { + background-color: #e7e7e7; + border-color: #dadada; } + +.btn-default.disabled:focus, .btn-default[disabled]:focus { + background-color: #e7e7e7; + border-color: #dadada; } + +fieldset[disabled] .btn-default:focus { + background-color: #e7e7e7; + border-color: #dadada; } + +.btn-default.disabled:active, .btn-default[disabled]:active { + background-color: #e7e7e7; + border-color: #dadada; } + +fieldset[disabled] .btn-default:active { + background-color: #e7e7e7; + border-color: #dadada; } + +.btn-default.disabled.active, .btn-default[disabled].active { + background-color: #e7e7e7; + border-color: #dadada; } + +fieldset[disabled] .btn-default.active { + background-color: #e7e7e7; + border-color: #dadada; } + +.btn-default .badge { + color: #e7e7e7; + background-color: #333333; } + +.btn-primary { + color: #ffffff; + background-color: #008cba; + border-color: #0079a1; } + .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active { + color: #ffffff; + background-color: #006687; + border-color: #004b63; } + +.open > .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #006687; + border-color: #004b63; } + +.btn-primary:active, .btn-primary.active { + background-image: none; } + +.open > .dropdown-toggle.btn-primary { + background-image: none; } + +.btn-primary.disabled, .btn-primary[disabled] { + background-color: #008cba; + border-color: #0079a1; } + +fieldset[disabled] .btn-primary { + background-color: #008cba; + border-color: #0079a1; } + +.btn-primary.disabled:hover, .btn-primary[disabled]:hover { + background-color: #008cba; + border-color: #0079a1; } + +fieldset[disabled] .btn-primary:hover { + background-color: #008cba; + border-color: #0079a1; } + +.btn-primary.disabled:focus, .btn-primary[disabled]:focus { + background-color: #008cba; + border-color: #0079a1; } + +fieldset[disabled] .btn-primary:focus { + background-color: #008cba; + border-color: #0079a1; } + +.btn-primary.disabled:active, .btn-primary[disabled]:active { + background-color: #008cba; + border-color: #0079a1; } + +fieldset[disabled] .btn-primary:active { + background-color: #008cba; + border-color: #0079a1; } + +.btn-primary.disabled.active, .btn-primary[disabled].active { + background-color: #008cba; + border-color: #0079a1; } + +fieldset[disabled] .btn-primary.active { + background-color: #008cba; + border-color: #0079a1; } + +.btn-primary .badge { + color: #008cba; + background-color: #ffffff; } + +.btn-success { + color: #ffffff; + background-color: #43ac6a; + border-color: #3c9a5f; } + .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active { + color: #ffffff; + background-color: #358753; + border-color: #2b6e44; } + +.open > .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #358753; + border-color: #2b6e44; } + +.btn-success:active, .btn-success.active { + background-image: none; } + +.open > .dropdown-toggle.btn-success { + background-image: none; } + +.btn-success.disabled, .btn-success[disabled] { + background-color: #43ac6a; + border-color: #3c9a5f; } + +fieldset[disabled] .btn-success { + background-color: #43ac6a; + border-color: #3c9a5f; } + +.btn-success.disabled:hover, .btn-success[disabled]:hover { + background-color: #43ac6a; + border-color: #3c9a5f; } + +fieldset[disabled] .btn-success:hover { + background-color: #43ac6a; + border-color: #3c9a5f; } + +.btn-success.disabled:focus, .btn-success[disabled]:focus { + background-color: #43ac6a; + border-color: #3c9a5f; } + +fieldset[disabled] .btn-success:focus { + background-color: #43ac6a; + border-color: #3c9a5f; } + +.btn-success.disabled:active, .btn-success[disabled]:active { + background-color: #43ac6a; + border-color: #3c9a5f; } + +fieldset[disabled] .btn-success:active { + background-color: #43ac6a; + border-color: #3c9a5f; } + +.btn-success.disabled.active, .btn-success[disabled].active { + background-color: #43ac6a; + border-color: #3c9a5f; } + +fieldset[disabled] .btn-success.active { + background-color: #43ac6a; + border-color: #3c9a5f; } + +.btn-success .badge { + color: #43ac6a; + background-color: #ffffff; } + +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; } + .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active { + color: #ffffff; + background-color: #31b0d5; + border-color: #269abc; } + +.open > .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #31b0d5; + border-color: #269abc; } + +.btn-info:active, .btn-info.active { + background-image: none; } + +.open > .dropdown-toggle.btn-info { + background-image: none; } + +.btn-info.disabled, .btn-info[disabled] { + background-color: #5bc0de; + border-color: #46b8da; } + +fieldset[disabled] .btn-info { + background-color: #5bc0de; + border-color: #46b8da; } + +.btn-info.disabled:hover, .btn-info[disabled]:hover { + background-color: #5bc0de; + border-color: #46b8da; } + +fieldset[disabled] .btn-info:hover { + background-color: #5bc0de; + border-color: #46b8da; } + +.btn-info.disabled:focus, .btn-info[disabled]:focus { + background-color: #5bc0de; + border-color: #46b8da; } + +fieldset[disabled] .btn-info:focus { + background-color: #5bc0de; + border-color: #46b8da; } + +.btn-info.disabled:active, .btn-info[disabled]:active { + background-color: #5bc0de; + border-color: #46b8da; } + +fieldset[disabled] .btn-info:active { + background-color: #5bc0de; + border-color: #46b8da; } + +.btn-info.disabled.active, .btn-info[disabled].active { + background-color: #5bc0de; + border-color: #46b8da; } + +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; } + +.btn-info .badge { + color: #5bc0de; + background-color: #ffffff; } + +.btn-warning { + color: #ffffff; + background-color: #e99002; + border-color: #d08002; } + .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active { + color: #ffffff; + background-color: #b67102; + border-color: #935b01; } + +.open > .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #b67102; + border-color: #935b01; } + +.btn-warning:active, .btn-warning.active { + background-image: none; } + +.open > .dropdown-toggle.btn-warning { + background-image: none; } + +.btn-warning.disabled, .btn-warning[disabled] { + background-color: #e99002; + border-color: #d08002; } + +fieldset[disabled] .btn-warning { + background-color: #e99002; + border-color: #d08002; } + +.btn-warning.disabled:hover, .btn-warning[disabled]:hover { + background-color: #e99002; + border-color: #d08002; } + +fieldset[disabled] .btn-warning:hover { + background-color: #e99002; + border-color: #d08002; } + +.btn-warning.disabled:focus, .btn-warning[disabled]:focus { + background-color: #e99002; + border-color: #d08002; } + +fieldset[disabled] .btn-warning:focus { + background-color: #e99002; + border-color: #d08002; } + +.btn-warning.disabled:active, .btn-warning[disabled]:active { + background-color: #e99002; + border-color: #d08002; } + +fieldset[disabled] .btn-warning:active { + background-color: #e99002; + border-color: #d08002; } + +.btn-warning.disabled.active, .btn-warning[disabled].active { + background-color: #e99002; + border-color: #d08002; } + +fieldset[disabled] .btn-warning.active { + background-color: #e99002; + border-color: #d08002; } + +.btn-warning .badge { + color: #e99002; + background-color: #ffffff; } + +.btn-danger { + color: #ffffff; + background-color: #f04124; + border-color: #ea2f10; } + .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active { + color: #ffffff; + background-color: #d32a0e; + border-color: #b1240c; } + +.open > .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #d32a0e; + border-color: #b1240c; } + +.btn-danger:active, .btn-danger.active { + background-image: none; } + +.open > .dropdown-toggle.btn-danger { + background-image: none; } + +.btn-danger.disabled, .btn-danger[disabled] { + background-color: #f04124; + border-color: #ea2f10; } + +fieldset[disabled] .btn-danger { + background-color: #f04124; + border-color: #ea2f10; } + +.btn-danger.disabled:hover, .btn-danger[disabled]:hover { + background-color: #f04124; + border-color: #ea2f10; } + +fieldset[disabled] .btn-danger:hover { + background-color: #f04124; + border-color: #ea2f10; } + +.btn-danger.disabled:focus, .btn-danger[disabled]:focus { + background-color: #f04124; + border-color: #ea2f10; } + +fieldset[disabled] .btn-danger:focus { + background-color: #f04124; + border-color: #ea2f10; } + +.btn-danger.disabled:active, .btn-danger[disabled]:active { + background-color: #f04124; + border-color: #ea2f10; } + +fieldset[disabled] .btn-danger:active { + background-color: #f04124; + border-color: #ea2f10; } + +.btn-danger.disabled.active, .btn-danger[disabled].active { + background-color: #f04124; + border-color: #ea2f10; } + +fieldset[disabled] .btn-danger.active { + background-color: #f04124; + border-color: #ea2f10; } + +.btn-danger .badge { + color: #f04124; + background-color: #ffffff; } + +.btn-link { + color: #008cba; + font-weight: normal; + cursor: pointer; + border-radius: 0; + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-link:active, .btn-link[disabled] { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; } + +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; } + +.btn-link { + border-color: transparent; } + .btn-link:hover, .btn-link:focus, .btn-link:active { + border-color: transparent; } + .btn-link:hover, .btn-link:focus { + color: #00526e; + text-decoration: underline; + background-color: transparent; } + .btn-link[disabled]:hover { + color: #999999; + text-decoration: none; } + +fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { + color: #999999; + text-decoration: none; } + +.btn-lg, .btn-group-lg > .btn { + padding: 10px 16px; + font-size: 19px; + line-height: 1.33; + border-radius: 0; } + +.btn-sm, .btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; } + +.btn-xs, .btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; } + +.btn-block { + display: block; + width: 100%; } + .btn-block + .btn-block { + margin-top: 5px; } + +input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { + width: 100%; } + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } + .fade.in { + opacity: 1; } + +.collapse { + display: none; } + .collapse.in { + display: block; } + +tr.collapse.in { + display: table-row; } + +tbody.collapse.in { + display: table-row-group; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; } + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; } + +.dropdown { + position: relative; } + +.dropdown-toggle:focus { + outline: 0; } + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 15px; + text-align: left; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; } + .dropdown-menu.pull-right { + right: 0; + left: auto; } + .dropdown-menu .divider { + height: 1px; + margin: 9.5px 0; + overflow: hidden; + background-color: rgba(0, 0, 0, 0.2); } + .dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #555555; + white-space: nowrap; } + .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #eeeeee; } + .dropdown-menu > .active > a { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #008cba; } + .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #008cba; } + .dropdown-menu > .disabled > a { + color: #999999; } + .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + color: #999999; } + .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + cursor: not-allowed; } + +.open > .dropdown-menu { + display: block; } +.open > a { + outline: 0; } + +.dropdown-menu-right { + left: auto; + right: 0; } + +.dropdown-menu-left { + left: 0; + right: auto; } + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #999999; + white-space: nowrap; } + +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; } + +.pull-right > .dropdown-menu { + right: 0; + left: auto; } + +.dropup .caret, .navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid; + content: ""; } + +.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; } + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; } } +.btn-group, .btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; } + +.btn-group > .btn, .btn-group-vertical > .btn { + position: relative; + float: left; } + +.btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { + z-index: 2; } + +.btn-group > .btn:focus, .btn-group-vertical > .btn:focus { + outline: 0; } + +.btn-group .btn + .btn, .btn-group .btn + .btn-group { + margin-left: -1px; } +.btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { + margin-left: -1px; } + +.btn-toolbar { + margin-left: -5px; } + .btn-toolbar .btn-group, .btn-toolbar .input-group { + float: left; } + .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { + margin-left: 5px; } + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; } +.btn-group > .btn:first-child { + margin-left: 0; } + .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } +.btn-group > .btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } +.btn-group > .btn-group { + float: left; } + .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } + .btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + .btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } +.btn-group .dropdown-toggle:active { + outline: 0; } +.btn-group.open .dropdown-toggle { + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; } +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; } +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; } + +.btn .caret { + margin-left: 0; } + +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; } + +.dropup .btn-lg .caret { + border-width: 0 5px 5px; } + +.btn-group-vertical > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; } +.btn-group-vertical > .btn-group { + display: block; + float: none; + width: 100%; + max-width: 100%; } + .btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + float: none; } +.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group { + margin-top: -1px; + margin-left: 0; } +.btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; } +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; } +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-bottom-left-radius: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; } +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; } +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; } + .btn-group-justified > .btn { + float: none; + display: table-cell; + width: 1%; } + .btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; } + .btn-group-justified > .btn-group .btn { + width: 100%; } + .btn-group-justified > .btn-group .dropdown-menu { + left: auto; } + +[data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { + position: absolute; + z-index: -1; + opacity: 0; + filter: alpha(opacity=0); } + +.input-group { + position: relative; + display: table; + border-collapse: separate; } + .input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; } + .input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; } + +.input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { + height: 48px; + padding: 10px 16px; + font-size: 19px; + line-height: 1.33; + border-radius: 0; } + +select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { + height: 48px; + line-height: 48px; } + +textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn { + height: auto; } + +select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; } + +.input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 0; } + +select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; } + +textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn { + height: auto; } + +select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; } + +.input-group-addon, .input-group-btn, .input-group .form-control { + display: table-cell; } + +.input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; } + +.input-group-addon, .input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; } + +.input-group-addon { + padding: 6px 12px; + font-size: 15px; + font-weight: normal; + line-height: 1; + color: #6f6f6f; + text-align: center; + background-color: #eeeeee; + border: 1px solid #cccccc; + border-radius: 0; } + .input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 0; } + .input-group-addon.input-lg { + padding: 10px 16px; + font-size: 19px; + border-radius: 0; } + .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { + margin-top: 0; } + +.input-group .form-control:first-child, .input-group-addon:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.input-group-addon:first-child { + border-right: 0; } + +.input-group .form-control:last-child, .input-group-addon:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } +.input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + +.input-group-addon:last-child { + border-left: 0; } + +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; } + .input-group-btn > .btn { + position: relative; } + .input-group-btn > .btn + .btn { + margin-left: -1px; } + .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { + z-index: 2; } + .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { + margin-right: -1px; } + .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { + margin-left: -1px; } + +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; } + .nav > li { + position: relative; + display: block; } + .nav > li > a { + position: relative; + display: block; + padding: 10px 15px; } + .nav > li > a:hover, .nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .nav > li.disabled > a { + color: #999999; } + .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { + color: #999999; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; } + .nav .open > a { + background-color: #eeeeee; + border-color: #008cba; } + .nav .open > a:hover, .nav .open > a:focus { + background-color: #eeeeee; + border-color: #008cba; } + .nav .nav-divider { + height: 1px; + margin: 9.5px 0; + overflow: hidden; + background-color: #e5e5e5; } + .nav > li > a > img { + max-width: none; } + +.nav-tabs { + border-bottom: 1px solid #dddddd; } + .nav-tabs > li { + float: left; + margin-bottom: -1px; } + .nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 0 0 0 0; } + .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; } + .nav-tabs > li.active > a { + color: #6f6f6f; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; + cursor: default; } + .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + color: #6f6f6f; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; + cursor: default; } + .nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; } + .nav-tabs.nav-justified > li { + float: none; } + .nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; } + .nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; } + .nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 0; } + .nav-tabs.nav-justified > .active > a { + border: 1px solid #dddddd; } + .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #dddddd; } + +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; } } +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 0 0 0 0; } + .nav-tabs.nav-justified > .active > a { + border-bottom-color: #ffffff; } + .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; } } +.nav-pills > li { + float: left; } + .nav-pills > li > a { + border-radius: 0; } + .nav-pills > li + li { + margin-left: 2px; } + .nav-pills > li.active > a { + color: #ffffff; + background-color: #008cba; } + .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #008cba; } + +.nav-stacked > li { + float: none; } + .nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; } + +.nav-justified { + width: 100%; } + .nav-justified > li { + float: none; } + .nav-justified > li > a { + text-align: center; + margin-bottom: 5px; } + .nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; } + +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; } + .nav-justified > li > a { + margin-bottom: 0; } } +.nav-tabs-justified { + border-bottom: 0; } + .nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 0; } + .nav-tabs-justified > .active > a { + border: 1px solid #dddddd; } + .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { + border: 1px solid #dddddd; } + +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 0 0 0 0; } + .nav-tabs-justified > .active > a { + border-bottom-color: #ffffff; } + .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; } } +.tab-content > .tab-pane { + display: none; } +.tab-content > .active { + display: block; } + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.navbar { + position: relative; + min-height: 45px; + margin-bottom: 21px; + border: 1px solid transparent; } + +@media (min-width: 768px) { + .navbar { + border-radius: 0; } } +@media (min-width: 768px) { + .navbar-header { + float: left; } } +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; } + .navbar-collapse.in { + overflow-y: auto; } + +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; } + .navbar-collapse.in { + overflow-y: visible; } + + .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; } } +.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { + max-height: 340px; } + +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; } } +.container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; } + +@media (min-width: 768px) { + .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; } } +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; } + +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; } } +.navbar-fixed-top, .navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +@media (min-width: 768px) { + .navbar-fixed-top, .navbar-fixed-bottom { + border-radius: 0; } } +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; } + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; } + +.navbar-brand { + float: left; + padding: 12px 15px; + font-size: 19px; + line-height: 21px; + height: 45px; } + .navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; } + +@media (min-width: 768px) { + .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { + margin-left: -15px; } } +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 5.5px; + margin-bottom: 5.5px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 0; } + .navbar-toggle:focus { + outline: 0; } + .navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; } + .navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; } + +@media (min-width: 768px) { + .navbar-toggle { + display: none; } } +.navbar-nav { + margin: 6px -15px; } + .navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 21px; } + +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; } + .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 21px; } + .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; } } +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; } + .navbar-nav > li { + float: left; } + .navbar-nav > li > a { + padding-top: 12px; + padding-bottom: 12px; } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; } } +@media (min-width: 768px) { + .navbar-left { + float: left !important; } + + .navbar-right { + float: right !important; } } +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 5px; + margin-bottom: 5px; } + +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; } + .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { + width: auto; } + .navbar-form .input-group > .form-control { + width: 100%; } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio, .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio label, .navbar-form .checkbox label { + padding-left: 0; } + .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; } + .navbar-form .has-feedback .form-control-feedback { + top: 0; } } +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; } } +@media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; } + .navbar-form.navbar-right:last-child { + margin-right: -15px; } } +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.navbar-btn { + margin-top: 5px; + margin-bottom: 5px; } + .navbar-btn.btn-sm { + margin-top: 7.5px; + margin-bottom: 7.5px; } + .navbar-btn.btn-xs { + margin-top: 11.5px; + margin-bottom: 11.5px; } + +.navbar-text { + margin-top: 12px; + margin-bottom: 12px; } + +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; } + .navbar-text.navbar-right:last-child { + margin-right: 0; } } +.navbar-default { + background-color: #333333; + border-color: #222222; } + .navbar-default .navbar-brand { + color: #ffffff; } + .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { + color: #ffffff; + background-color: transparent; } + .navbar-default .navbar-text { + color: #ffffff; } + .navbar-default .navbar-nav > li > a { + color: #ffffff; } + .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { + color: #ffffff; + background-color: #272727; } + .navbar-default .navbar-nav > .active > a { + color: #ffffff; + background-color: #272727; } + .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #272727; } + .navbar-default .navbar-nav > .disabled > a { + color: #cccccc; + background-color: transparent; } + .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; } + .navbar-default .navbar-toggle { + border-color: transparent; } + .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { + background-color: transparent; } + .navbar-default .navbar-toggle .icon-bar { + background-color: #ffffff; } + .navbar-default .navbar-collapse, .navbar-default .navbar-form { + border-color: #222222; } + .navbar-default .navbar-nav > .open > a { + background-color: #272727; + color: #ffffff; } + .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { + background-color: #272727; + color: #ffffff; } + .navbar-default .navbar-link { + color: #ffffff; } + .navbar-default .navbar-link:hover { + color: #ffffff; } + .navbar-default .btn-link { + color: #ffffff; } + .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { + color: #ffffff; } + .navbar-default .btn-link[disabled]:hover { + color: #cccccc; } + +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #ffffff; } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: #272727; } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a { + color: #ffffff; + background-color: #272727; } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #272727; } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a { + color: #cccccc; + background-color: transparent; } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; } } +fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; } + +.navbar-inverse { + background-color: #008cba; + border-color: #006687; } + .navbar-inverse .navbar-brand { + color: #ffffff; } + .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; } + .navbar-inverse .navbar-text { + color: #ffffff; } + .navbar-inverse .navbar-nav > li > a { + color: #ffffff; } + .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: #006687; } + .navbar-inverse .navbar-nav > .active > a { + color: #ffffff; + background-color: #006687; } + .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #006687; } + .navbar-inverse .navbar-nav > .disabled > a { + color: #444444; + background-color: transparent; } + .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444444; + background-color: transparent; } + .navbar-inverse .navbar-toggle { + border-color: transparent; } + .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { + background-color: transparent; } + .navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; } + .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { + border-color: #007196; } + .navbar-inverse .navbar-nav > .open > a { + background-color: #006687; + color: #ffffff; } + .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { + background-color: #006687; + color: #ffffff; } + .navbar-inverse .navbar-link { + color: #ffffff; } + .navbar-inverse .navbar-link:hover { + color: #ffffff; } + .navbar-inverse .btn-link { + color: #ffffff; } + .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { + color: #ffffff; } + .navbar-inverse .btn-link[disabled]:hover { + color: #444444; } + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #006687; } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #006687; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #ffffff; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: #006687; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a { + color: #ffffff; + background-color: #006687; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #006687; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a { + color: #444444; + background-color: transparent; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444444; + background-color: transparent; } } +fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444444; } + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 21px; + list-style: none; + background-color: #f5f5f5; + border-radius: 0; } + .breadcrumb > li { + display: inline-block; } + .breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #999999; } + .breadcrumb > .active { + color: #333333; } + +.pagination { + display: inline-block; + padding-left: 0; + margin: 21px 0; + border-radius: 0; } + .pagination > li { + display: inline; } + .pagination > li > a, .pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #008cba; + background-color: transparent; + border: 1px solid transparent; + margin-left: -1px; } + .pagination > li:first-child > a, .pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 0; + border-top-left-radius: 0; } + .pagination > li:last-child > a, .pagination > li:last-child > span { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { + color: #00526e; + background-color: #eeeeee; + border-color: transparent; } + .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #008cba; + border-color: transparent; + cursor: default; } + .pagination > .disabled > span { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; } + .pagination > .disabled > span:hover, .pagination > .disabled > span:focus { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; } + .pagination > .disabled > a { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; } + .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { + color: #999999; + background-color: #ffffff; + border-color: transparent; + cursor: not-allowed; } + +.pagination-lg > li > a, .pagination-lg > li > span { + padding: 10px 16px; + font-size: 19px; } +.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } +.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.pagination-sm > li > a, .pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; } +.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { + border-bottom-left-radius: 0; + border-top-left-radius: 0; } +.pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + +.pager { + padding-left: 0; + margin: 21px 0; + list-style: none; + text-align: center; } + .pager li { + display: inline; } + .pager li > a, .pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 3px; } + .pager li > a:hover, .pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .pager .next > a, .pager .next > span { + float: right; } + .pager .previous > a, .pager .previous > span { + float: left; } + .pager .disabled > a { + color: #999999; + background-color: transparent; + cursor: not-allowed; } + .pager .disabled > a:hover, .pager .disabled > a:focus { + color: #999999; + background-color: transparent; + cursor: not-allowed; } + .pager .disabled > span { + color: #999999; + background-color: transparent; + cursor: not-allowed; } + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; } + +a.label:hover, a.label:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; } + +.label:empty { + display: none; } + +.btn .label { + position: relative; + top: -1px; } + +.label-default { + background-color: #999999; } + .label-default[href]:hover, .label-default[href]:focus { + background-color: #808080; } + +.label-primary { + background-color: #008cba; } + .label-primary[href]:hover, .label-primary[href]:focus { + background-color: #006687; } + +.label-success { + background-color: #43ac6a; } + .label-success[href]:hover, .label-success[href]:focus { + background-color: #358753; } + +.label-info { + background-color: #5bc0de; } + .label-info[href]:hover, .label-info[href]:focus { + background-color: #31b0d5; } + +.label-warning { + background-color: #e99002; } + .label-warning[href]:hover, .label-warning[href]:focus { + background-color: #b67102; } + +.label-danger { + background-color: #f04124; } + .label-danger[href]:hover, .label-danger[href]:focus { + background-color: #d32a0e; } + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #777777; + line-height: 1; + vertical-align: baseline; + white-space: nowrap; + text-align: center; + background-color: #e7e7e7; + border-radius: 10px; } + .badge:empty { + display: none; } + +.btn .badge { + position: relative; + top: -1px; } + +.btn-xs .badge { + top: 0; + padding: 1px 5px; } + +a.badge:hover, a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; } +a.list-group-item.active > .badge { + color: #008cba; + background-color: #ffffff; } + +.nav-pills > .active > a > .badge { + color: #008cba; + background-color: #ffffff; } +.nav-pills > li > a > .badge { + margin-left: 3px; } + +.jumbotron { + padding: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #fafafa; } + .jumbotron h1, .jumbotron .h1 { + color: inherit; } + .jumbotron p { + margin-bottom: 15px; + font-size: 23px; + font-weight: 200; } + .jumbotron > hr { + border-top-color: #e1e1e1; } + +.container .jumbotron { + border-radius: 0; } + +.jumbotron .container { + max-width: 100%; } + +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; } + + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; } + + .jumbotron h1, .jumbotron .h1 { + font-size: 67.5px; } } +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 21px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 0; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; } + .thumbnail > img, .thumbnail a > img { + margin-left: auto; + margin-right: auto; } + +a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { + border-color: #008cba; } + +.thumbnail .caption { + padding: 9px; + color: #222222; } + +.alert { + padding: 15px; + margin-bottom: 21px; + border: 1px solid transparent; + border-radius: 0; } + .alert h4 { + margin-top: 0; + color: inherit; } + .alert .alert-link { + font-weight: bold; } + .alert > p, .alert > ul { + margin-bottom: 0; } + .alert > p + p { + margin-top: 5px; } + +.alert-dismissable, .alert-dismissible { + padding-right: 35px; } + +.alert-dismissable .close, .alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; } + +.alert-success { + background-color: #43ac6a; + border-color: #3c9a5f; + color: #ffffff; } + .alert-success hr { + border-top-color: #358753; } + .alert-success .alert-link { + color: #e6e6e6; } + +.alert-info { + background-color: #5bc0de; + border-color: #3db5d8; + color: #ffffff; } + .alert-info hr { + border-top-color: #2aabd2; } + .alert-info .alert-link { + color: #e6e6e6; } + +.alert-warning { + background-color: #e99002; + border-color: #d08002; + color: #ffffff; } + .alert-warning hr { + border-top-color: #b67102; } + .alert-warning .alert-link { + color: #e6e6e6; } + +.alert-danger { + background-color: #f04124; + border-color: #ea2f10; + color: #ffffff; } + .alert-danger hr { + border-top-color: #d32a0e; } + .alert-danger .alert-link { + color: #e6e6e6; } + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; } + + to { + background-position: 0 0; } } +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; } + + to { + background-position: 0 0; } } +.progress { + overflow: hidden; + height: 21px; + margin-bottom: 21px; + background-color: #f5f5f5; + border-radius: 0; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } + +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 21px; + color: #ffffff; + text-align: center; + background-color: #008cba; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; } + +.progress-striped .progress-bar, .progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; } + +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; } + +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; } +.progress-bar[aria-valuenow="1"], .progress-bar[aria-valuenow="2"] { + min-width: 30px; } +.progress-bar[aria-valuenow="0"] { + color: #999999; + min-width: 30px; + background-color: transparent; + background-image: none; + box-shadow: none; } + +.progress-bar-success { + background-color: #43ac6a; } + +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.progress-bar-info { + background-color: #5bc0de; } + +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.progress-bar-warning { + background-color: #e99002; } + +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.progress-bar-danger { + background-color: #f04124; } + +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + +.media, .media-body { + overflow: hidden; + zoom: 1; } + +.media { + margin-top: 15px; } + .media .media { + margin-top: 15px; } + .media:first-child { + margin-top: 0; } + +.media-object { + display: block; } + +.media-heading { + margin: 0 0 5px; } + +.media > .pull-left { + margin-right: 10px; } +.media > .pull-right { + margin-left: 10px; } + +.media-list { + padding-left: 0; + list-style: none; } + +.list-group { + margin-bottom: 20px; + padding-left: 0; } + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; } + .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .list-group-item > .badge { + float: right; } + .list-group-item > .badge + .badge { + margin-right: 5px; } + +a.list-group-item { + color: #555555; } + a.list-group-item .list-group-item-heading { + color: #333333; } + a.list-group-item:hover, a.list-group-item:focus { + text-decoration: none; + color: #555555; + background-color: #f5f5f5; } + +.list-group-item.disabled { + background-color: #eeeeee; + color: #999999; } + .list-group-item.disabled:hover, .list-group-item.disabled:focus { + background-color: #eeeeee; + color: #999999; } + .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { + color: inherit; } + .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { + color: #999999; } +.list-group-item.active { + z-index: 2; + color: #ffffff; + background-color: #008cba; + border-color: #008cba; } + .list-group-item.active:hover, .list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #008cba; + border-color: #008cba; } + .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; } + .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { + color: #87e1ff; } + +.list-group-item-success { + color: #43ac6a; + background-color: #dff0d8; } + +a.list-group-item-success { + color: #43ac6a; } + a.list-group-item-success .list-group-item-heading { + color: inherit; } + a.list-group-item-success:hover, a.list-group-item-success:focus { + color: #43ac6a; + background-color: #d0e9c6; } + a.list-group-item-success.active { + color: #fff; + background-color: #43ac6a; + border-color: #43ac6a; } + a.list-group-item-success.active:hover, a.list-group-item-success.active:focus { + color: #fff; + background-color: #43ac6a; + border-color: #43ac6a; } + +.list-group-item-info { + color: #5bc0de; + background-color: #d9edf7; } + +a.list-group-item-info { + color: #5bc0de; } + a.list-group-item-info .list-group-item-heading { + color: inherit; } + a.list-group-item-info:hover, a.list-group-item-info:focus { + color: #5bc0de; + background-color: #c4e3f3; } + a.list-group-item-info.active { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; } + a.list-group-item-info.active:hover, a.list-group-item-info.active:focus { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; } + +.list-group-item-warning { + color: #e99002; + background-color: #fcf8e3; } + +a.list-group-item-warning { + color: #e99002; } + a.list-group-item-warning .list-group-item-heading { + color: inherit; } + a.list-group-item-warning:hover, a.list-group-item-warning:focus { + color: #e99002; + background-color: #faf2cc; } + a.list-group-item-warning.active { + color: #fff; + background-color: #e99002; + border-color: #e99002; } + a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus { + color: #fff; + background-color: #e99002; + border-color: #e99002; } + +.list-group-item-danger { + color: #f04124; + background-color: #f2dede; } + +a.list-group-item-danger { + color: #f04124; } + a.list-group-item-danger .list-group-item-heading { + color: inherit; } + a.list-group-item-danger:hover, a.list-group-item-danger:focus { + color: #f04124; + background-color: #ebcccc; } + a.list-group-item-danger.active { + color: #fff; + background-color: #f04124; + border-color: #f04124; } + a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus { + color: #fff; + background-color: #f04124; + border-color: #f04124; } + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; } + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; } + +.panel { + margin-bottom: 21px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } + +.panel-body { + padding: 15px; } + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: -1; + border-top-left-radius: -1; } + .panel-heading > .dropdown .dropdown-toggle { + color: inherit; } + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 17px; + color: inherit; } + .panel-title > a { + color: inherit; } + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; } + +.panel > .list-group { + margin-bottom: 0; } + .panel > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; } + .panel > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: -1; + border-top-left-radius: -1; } + .panel > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; } + +.panel-heading + .list-group .list-group-item:first-child, .list-group + .panel-footer { + border-top-width: 0; } + +.panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { + margin-bottom: 0; } +.panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: -1; + border-top-left-radius: -1; } +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: -1; } +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: -1; } +.panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: -1; + border-bottom-left-radius: -1; } +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: -1; } +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: -1; } +.panel > .panel-body + .table, .panel > .panel-body + .table-responsive { + border-top: 1px solid #dddddd; } +.panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; } +.panel > .table-bordered, .panel > .table-responsive > .table-bordered { + border: 0; } +.panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } +.panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } +.panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th, .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; } +.panel > .table-responsive { + border: 0; + margin-bottom: 0; } + .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; } + +.panel-group { + margin-bottom: 21px; } + .panel-group .panel { + margin-bottom: 0; + border-radius: 0; } + .panel-group .panel + .panel { + margin-top: 5px; } + .panel-group .panel-heading { + border-bottom: 0; } + .panel-group .panel-heading + .panel-collapse > .panel-body { + border-top: 1px solid #dddddd; } + .panel-group .panel-footer { + border-top: 0; } + .panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; } + +.panel-default { + border-color: #dddddd; } + .panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; } + .panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #dddddd; } + .panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; } + .panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #dddddd; } + +.panel-primary { + border-color: #008cba; } + .panel-primary > .panel-heading { + color: #ffffff; + background-color: #008cba; + border-color: #008cba; } + .panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #008cba; } + .panel-primary > .panel-heading .badge { + color: #008cba; + background-color: #ffffff; } + .panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #008cba; } + +.panel-success { + border-color: #3c9a5f; } + .panel-success > .panel-heading { + color: #ffffff; + background-color: #43ac6a; + border-color: #3c9a5f; } + .panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #3c9a5f; } + .panel-success > .panel-heading .badge { + color: #43ac6a; + background-color: #ffffff; } + .panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #3c9a5f; } + +.panel-info { + border-color: #3db5d8; } + .panel-info > .panel-heading { + color: #ffffff; + background-color: #5bc0de; + border-color: #3db5d8; } + .panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #3db5d8; } + .panel-info > .panel-heading .badge { + color: #5bc0de; + background-color: #ffffff; } + .panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #3db5d8; } + +.panel-warning { + border-color: #d08002; } + .panel-warning > .panel-heading { + color: #ffffff; + background-color: #e99002; + border-color: #d08002; } + .panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d08002; } + .panel-warning > .panel-heading .badge { + color: #e99002; + background-color: #ffffff; } + .panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d08002; } + +.panel-danger { + border-color: #ea2f10; } + .panel-danger > .panel-heading { + color: #ffffff; + background-color: #f04124; + border-color: #ea2f10; } + .panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ea2f10; } + .panel-danger > .panel-heading .badge { + color: #f04124; + background-color: #ffffff; } + .panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ea2f10; } + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; } + .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; } + .embed-responsive.embed-responsive-16by9 { + padding-bottom: 56.25%; } + .embed-responsive.embed-responsive-4by3 { + padding-bottom: 75%; } + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #fafafa; + border: 1px solid #e8e8e8; + border-radius: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } + .well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); } + +.well-lg { + padding: 24px; + border-radius: 0; } + +.well-sm { + padding: 9px; + border-radius: 0; } + +.close { + float: right; + font-size: 22.5px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); } + .close:hover, .close:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); } + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; } + +.modal-open { + overflow: hidden; } + +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; } + .modal.fade .modal-dialog { + -webkit-transform: translate3d(0, -25%, 0); + transform: translate3d(0, -25%, 0); + -webkit-transition: -webkit-transform .3s ease-out; + -moz-transition: -moz-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; } + .modal.in .modal-dialog { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } + +.modal-dialog { + position: relative; + width: auto; + margin: 10px; } + +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; } + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; } + .modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); } + .modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); } + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.42857143px; } + .modal-header .close { + margin-top: -2px; } + +.modal-title { + margin: 0; + line-height: 1.42857143; } + +.modal-body { + position: relative; + padding: 20px; } + +.modal-footer { + padding: 20px; + text-align: right; + border-top: 1px solid #e5e5e5; } + .modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; } + .modal-footer .btn-group .btn + .btn { + margin-left: -1px; } + .modal-footer .btn-block + .btn-block { + margin-left: 0; } + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; } + + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } + + .modal-sm { + width: 300px; } } +@media (min-width: 992px) { + .modal-lg { + width: 900px; } } +.tooltip { + position: absolute; + z-index: 1070; + display: block; + visibility: visible; + font-size: 12px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); } + .tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); } + .tooltip.top { + margin-top: -3px; + padding: 5px 0; } + .tooltip.right { + margin-left: 3px; + padding: 0 5px; } + .tooltip.bottom { + margin-top: 3px; + padding: 5px 0; } + .tooltip.left { + margin-left: -3px; + padding: 0 5px; } + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #333333; + border-radius: 0; } + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #333333; } +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #333333; } +.tooltip.top-right .tooltip-arrow { + bottom: 0; + right: 5px; + border-width: 5px 5px 0; + border-top-color: #333333; } +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #333333; } +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #333333; } +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #333333; } +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #333333; } +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #333333; } + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + background-color: #333333; + background-clip: padding-box; + border: 1px solid #333333; + border: 1px solid transparent; + border-radius: 0; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + white-space: normal; } + .popover.top { + margin-top: -10px; } + .popover.right { + margin-left: 10px; } + .popover.bottom { + margin-top: 10px; } + .popover.left { + margin-left: -10px; } + +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 15px; + font-weight: normal; + line-height: 18px; + background-color: #333333; + border-bottom: 1px solid #262626; + border-radius: -1 -1 0 0; } + +.popover-content { + padding: 9px 14px; } + +.popover > .arrow { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 11px; } + .popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 10px; + content: ""; } +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #000000; + border-top-color: rgba(0, 0, 0, 0.05); + bottom: -11px; } + .popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #333333; } +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #000000; + border-right-color: rgba(0, 0, 0, 0.05); } + .popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #333333; } +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #000000; + border-bottom-color: rgba(0, 0, 0, 0.05); + top: -11px; } + .popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #333333; } +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #000000; + border-left-color: rgba(0, 0, 0, 0.05); } + .popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #333333; + bottom: -10px; } + +.carousel { + position: relative; } + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; } + .carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; } + .carousel-inner > .item > img, .carousel-inner > .item > a > img { + line-height: 1; } + .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { + display: block; } + .carousel-inner > .active { + left: 0; } + .carousel-inner > .next, .carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; } + .carousel-inner > .next { + left: 100%; } + .carousel-inner > .prev { + left: -100%; } + .carousel-inner > .next.left, .carousel-inner > .prev.right { + left: 0; } + .carousel-inner > .active.left { + left: -100%; } + .carousel-inner > .active.right { + left: 100%; } + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + .carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } + .carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } + .carousel-control:hover, .carousel-control:focus { + outline: 0; + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); } + .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; } + .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; } + .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; } + .carousel-control .icon-prev, .carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; } + .carousel-control .icon-prev:before { + content: '\2039'; } + .carousel-control .icon-next:before { + content: '\203a'; } + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; } + .carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #ffffff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: transparent; } + .carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #ffffff; } + +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + .carousel-caption .btn { + text-shadow: none; } + +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; } + .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { + margin-left: -15px; } + .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { + margin-right: -15px; } + + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; } + + .carousel-indicators { + bottom: 20px; } } +.clearfix:before, .clearfix:after { + content: " "; + display: table; } + +.dl-horizontal dd:before, .dl-horizontal dd:after { + content: " "; + display: table; } + +.container:before, .container:after { + content: " "; + display: table; } + +.container-fluid:before, .container-fluid:after { + content: " "; + display: table; } + +.row:before, .row:after { + content: " "; + display: table; } + +.form-horizontal .form-group:before, .form-horizontal .form-group:after { + content: " "; + display: table; } + +.btn-toolbar:before, .btn-toolbar:after { + content: " "; + display: table; } + +.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { + content: " "; + display: table; } + +.nav:before, .nav:after { + content: " "; + display: table; } + +.navbar:before, .navbar:after { + content: " "; + display: table; } + +.navbar-header:before, .navbar-header:after { + content: " "; + display: table; } + +.navbar-collapse:before, .navbar-collapse:after { + content: " "; + display: table; } + +.pager:before, .pager:after { + content: " "; + display: table; } + +.panel-body:before, .panel-body:after { + content: " "; + display: table; } + +.modal-footer:before, .modal-footer:after { + content: " "; + display: table; } + +.clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after { + clear: both; } + +.center-block { + display: block; + margin-left: auto; + margin-right: auto; } + +.pull-right { + float: right !important; } + +.pull-left { + float: left !important; } + +.hide { + display: none !important; } + +.show { + display: block !important; } + +.invisible { + visibility: hidden; } + +.text-hide { + font: 0 / 0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + +.hidden { + display: none !important; + visibility: hidden !important; } + +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +@-ms-viewport { + width: device-width; } +.visible-xs, .visible-sm, .visible-md, .visible-lg, .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block, .visible-print, .visible-print-block, .visible-print-inline, .visible-print-inline-block { + display: none !important; } + +@media (max-width: 767px) { + .visible-xs { + display: block !important; } + + table.visible-xs { + display: table; } + + tr.visible-xs { + display: table-row !important; } + + th.visible-xs, td.visible-xs { + display: table-cell !important; } } +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; } } +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; } } +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; } } +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; } + + table.visible-sm { + display: table; } + + tr.visible-sm { + display: table-row !important; } + + th.visible-sm, td.visible-sm { + display: table-cell !important; } } +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; } } +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; } } +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; } } +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; } + + table.visible-md { + display: table; } + + tr.visible-md { + display: table-row !important; } + + th.visible-md, td.visible-md { + display: table-cell !important; } } +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; } } +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; } } +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; } } +@media (min-width: 1200px) { + .visible-lg { + display: block !important; } + + table.visible-lg { + display: table; } + + tr.visible-lg { + display: table-row !important; } + + th.visible-lg, td.visible-lg { + display: table-cell !important; } } +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; } } +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; } } +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; } } +@media (max-width: 767px) { + .hidden-xs { + display: none !important; } } +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; } } +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; } } +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; } } +@media print { + .visible-print { + display: block !important; } + + table.visible-print { + display: table; } + + tr.visible-print { + display: table-row !important; } + + th.visible-print, td.visible-print { + display: table-cell !important; } } +@media print { + .visible-print-block { + display: block !important; } } +@media print { + .visible-print-inline { + display: inline !important; } } +@media print { + .visible-print-inline-block { + display: inline-block !important; } } +@media print { + .hidden-print { + display: none !important; } } +.navbar { + border: none; + font-size: 13px; + font-weight: 300; } + .navbar .navbar-toggle:hover .icon-bar { + background-color: #b3b3b3; } + +.navbar-collapse { + border-top-color: rgba(0, 0, 0, 0.2); + -webkit-box-shadow: none; + box-shadow: none; } + +.navbar .btn { + padding-top: 6px; + padding-bottom: 6px; } +.navbar .dropdown-menu { + border: none; } + .navbar .dropdown-menu > li > a { + background-color: transparent; + font-size: 13px; + font-weight: 300; } + .navbar .dropdown-menu > li > a:focus { + background-color: transparent; + font-size: 13px; + font-weight: 300; } +.navbar .dropdown-header { + color: rgba(255, 255, 255, 0.5); } + +.navbar-default .dropdown-menu { + background-color: #333333; } + .navbar-default .dropdown-menu > li > a { + color: #ffffff; } + .navbar-default .dropdown-menu > li > a:focus { + color: #ffffff; } + .navbar-default .dropdown-menu > li > a:hover { + background-color: #272727; } + .navbar-default .dropdown-menu > .active > a { + background-color: #272727; } + .navbar-default .dropdown-menu > .active > a:hover { + background-color: #272727; } + +.navbar-inverse .dropdown-menu { + background-color: #008cba; } + .navbar-inverse .dropdown-menu > li > a { + color: #ffffff; } + .navbar-inverse .dropdown-menu > li > a:focus { + color: #ffffff; } + .navbar-inverse .dropdown-menu > li > a:hover { + background-color: #006687; } + .navbar-inverse .dropdown-menu > .active > a { + background-color: #006687; } + .navbar-inverse .dropdown-menu > .active > a:hover { + background-color: #006687; } + +.btn { + padding: 14px 28px; } + +.btn-lg { + padding: 16px 32px; } + +.btn-sm { + padding: 8px 16px; } + +.btn-xs { + padding: 4px 8px; } + +.btn-group .btn ~ .dropdown-toggle { + padding-left: 16px; + padding-right: 16px; } +.btn-group .dropdown-menu { + border-top-width: 0; } +.btn-group.dropup .dropdown-menu { + border-top-width: 1px; + border-bottom-width: 0; + margin-bottom: 0; } +.btn-group .dropdown-toggle.btn-default ~ .dropdown-menu { + background-color: #e7e7e7; + border-color: #dadada; } + .btn-group .dropdown-toggle.btn-default ~ .dropdown-menu > li > a { + color: #333333; } + .btn-group .dropdown-toggle.btn-default ~ .dropdown-menu > li > a:hover { + background-color: #d3d3d3; } +.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu { + background-color: #008cba; + border-color: #0079a1; } + .btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu > li > a { + color: #ffffff; } + .btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu > li > a:hover { + background-color: #006d91; } +.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu { + background-color: #43ac6a; + border-color: #3c9a5f; } + .btn-group .dropdown-toggle.btn-success ~ .dropdown-menu > li > a { + color: #ffffff; } + .btn-group .dropdown-toggle.btn-success ~ .dropdown-menu > li > a:hover { + background-color: #388f58; } +.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu { + background-color: #5bc0de; + border-color: #46b8da; } + .btn-group .dropdown-toggle.btn-info ~ .dropdown-menu > li > a { + color: #ffffff; } + .btn-group .dropdown-toggle.btn-info ~ .dropdown-menu > li > a:hover { + background-color: #39b3d7; } +.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu { + background-color: #e99002; + border-color: #d08002; } + .btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu > li > a { + color: #ffffff; } + .btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu > li > a:hover { + background-color: #c17702; } +.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu { + background-color: #f04124; + border-color: #ea2f10; } + .btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu > li > a { + color: #ffffff; } + .btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu > li > a:hover { + background-color: #dc2c0f; } + +.lead { + color: #6f6f6f; } + +cite { + font-style: italic; } + +blockquote { + border-left-width: 1px; + color: #6f6f6f; } + blockquote.pull-right { + border-right-width: 1px; } + blockquote small { + font-size: 12px; + font-weight: 300; } + +table { + font-size: 12px; } + +input { + padding: 7px; } + +label, .control-label, .help-block, .checkbox, .radio { + font-size: 12px; + font-weight: normal; } + +.input-group-addon, .input-group-btn .btn { + padding: 8px 14px; + font-size: 12px; } + +.nav .open > a { + border-color: transparent; } + .nav .open > a:hover, .nav .open > a:focus { + border-color: transparent; } + +.nav-tabs > li > a { + background-color: #e7e7e7; + color: #222222; } +.nav-tabs .caret { + border-top-color: #222222; + border-bottom-color: #222222; } + +.nav-pills { + font-weight: 300; } + +.breadcrumb { + border: 1px solid #dddddd; + border-radius: 3px; + font-size: 10px; + font-weight: 300; + text-transform: uppercase; } + +.pagination { + font-size: 12px; + font-weight: 300; + color: #999999; } + .pagination > li > a, .pagination > li > span { + margin-left: 4px; + color: #999999; } + .pagination > .active > a, .pagination > .active > span { + color: #fff; } + .pagination > li > a, .pagination > li:first-child > a, .pagination > li:last-child > a, .pagination > li > span, .pagination > li:first-child > span, .pagination > li:last-child > span { + border-radius: 3px; } + +.pagination-lg > li > a { + padding-left: 22px; + padding-right: 22px; } + +.pagination-sm > li > a { + padding: 0 5px; } + +.pager { + font-size: 12px; + font-weight: 300; + color: #999999; } + +.list-group { + font-size: 12px; + font-weight: 300; } + +.close { + opacity: 0.4; + text-decoration: none; + text-shadow: none; } + .close:hover, .close:focus { + opacity: 1; } + +.alert { + font-size: 12px; + font-weight: 300; } + .alert .alert-link { + font-weight: normal; + color: #fff; + text-decoration: underline; } + +.label { + padding-left: 1em; + padding-right: 1em; + border-radius: 0; + font-weight: 300; } + +.label-default { + background-color: #e7e7e7; + color: #333333; } + +.badge { + font-weight: 300; } + +.progress { + height: 22px; + padding: 2px; + background-color: #f6f6f6; + border: 1px solid #ccc; + -webkit-box-shadow: none; + box-shadow: none; } + +.dropdown-menu { + padding: 0; + margin-top: 0; + font-size: 12px; } + .dropdown-menu > li > a { + padding: 12px 15px; } + +.dropdown-header { + padding-left: 15px; + padding-right: 15px; + font-size: 9px; + text-transform: uppercase; } + +.popover { + color: #fff; + font-size: 12px; + font-weight: 300; } + +.panel-heading, .panel-footer { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.panel-default .close, .modal .close { + color: #222222; } + +.blog-theme-class { + margin-top: 0.3%; + padding: 3%; + background: #008cba; } + .blog-theme-class .jumb-bot { + background: #008cba; } + .blog-theme-class .jumbotron { + background: #008cba; } + .blog-theme-class .jumbotron h1 { + color: #fff; } + .blog-theme-class .jumbotron p { + color: #fff; } + +.blog-post-small { + border-bottom: #008CBA 1px dashed; + text-align: justify; + padding: 10px; } + .blog-post-small p { + font-size: 14.43px; } + +.navbar { + margin-bottom: 0px; } + +.jumb-bot-jumbu { + margin: 0px; + padding-top: 15px; + padding-bottom: 20px; + background: #eee; } + .jumb-bot-jumbu p { + padding-top: 13px; } + +.left-syms { + font-size: 20px; } + .left-syms li a span { + font-size: 12.5px; + display: none; } + +.listgroup-div { + margin-top: 10px; } + +.author_block { + padding: 2%; } + .author_block p { + line-height: 44px; + font-size: 13px; } + .author_block ul { + display: block; + float: left; } + .author_block ul li { + float: left; + display: block; + font-size: 24px; + padding: 5px; } + .author_block ul li a { + text-decoration: none; } + +.blog-post-content { + font-size: 14px; } + .blog-post-content img { + max-width: 100%; + border: #eee 2px solid; } + +.twitter_share { + float: left; + padding: 10px; } + +.fb_share { + float: left; + padding: 10px; } + +.linkedin_share { + float: left; + padding: 10px; + padding-left: 0px; } + +.g_share { + float: left; + padding: 10px; } + +.footer a { + font-size: 13px; + text-decoration: none; + color: #fff; } + .footer a:after { + content: ""; } +.footer h4 { + color: #fff; } + +.share-div { + padding: 3%; + padding-left: 1%; + padding-top: 1%; } + +.recent_posts li { + display: block; + color: #fff; } + +.footer { + background: #222222; + margin-top: 10px; } + .footer ul { + margin-left: 0px; + padding-left: 0px; } + .footer ul li a:hover { + text-decoration: underline; } + +.end_footer { + background: #222222; } + +.footer { + padding-top: 20px; + padding-bottom: 20px; + border-bottom: #2b2b2b 1px solid; } + +.end_footer p { + margin-top: 10px; + font-size: 13px; + color: #fff; + text-align: left; } + +.footer-logo { + margin-left: auto; + margin-right: auto; + width: 150px; + height: 150px; + padding: 0px; } + +@media screen and (max-width: 480px) { + .left-syms li a span { + display: block; } } +.pln { + color: #000; } + +/* plain text */ +@media screen { + .str { + color: #080; } + + /* string content */ + .kwd { + color: #008; } + + /* a keyword */ + .com { + color: #800; } + + /* a comment */ + .typ { + color: #606; } + + /* a type name */ + .lit { + color: #066; } + + /* a literal value */ + /* punctuation, lisp open bracket, lisp close bracket */ + .pun, .opn, .clo { + color: #660; } + + .tag { + color: #008; } + + /* a markup tag name */ + .atn { + color: #606; } + + /* a markup attribute name */ + .atv { + color: #080; } + + /* a markup attribute value */ + .dec, .var { + color: #606; } + + /* a declaration; a variable name */ + .fun { + color: red; } + + /* a function name */ } +/* Use higher contrast and text-weight for printable form. */ +@media print, projection { + .str { + color: #060; } + + .kwd { + color: #006; + font-weight: bold; } + + .com { + color: #600; + font-style: italic; } + + .typ { + color: #404; + font-weight: bold; } + + .lit { + color: #044; } + + .pun, .opn, .clo { + color: #440; } + + .tag { + color: #006; + font-weight: bold; } + + .atn { + color: #404; } + + .atv { + color: #060; } } +/* Put a border around prettyprinted code snippets. */ +pre.prettyprint { + padding: 2px; + border: 1px solid #888; } + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; } + +/* IE indents via margin-left */ +li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 { + list-style-type: none; } +li.L1, li.L3, li.L5, li.L7, li.L9 { + background: #eee; } + +/* Alternate shading for lines */ diff --git a/_site/donate/index.html b/_site/donate/index.html new file mode 100644 index 0000000000000000000000000000000000000000..ad9abf52fb0a8f73a5849059e91d356c2b66a06a --- /dev/null +++ b/_site/donate/index.html @@ -0,0 +1,253 @@ +<!DOCTYPE html> +<html> + + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width initial-scale=1"> + + <title>Donate</title> + <meta name="description" content="A clean minimal Theme for Jekyll"> + <meta name="google-translate-customization" content="b9870a0c7376df54-aa35852016e6a5cc-ga0a0d80f6c171f17-e"></meta> + <link rel="stylesheet" href="/css/main.css"> + <link rel="canonical" href="http://maangalabs.com/donate/"> + <link href="/favicon.ico" rel="icon"> + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> + <link rel="alternate" type="application/atom+xml" title="Swift" href="http://maangalabs.com/feed.xml" /> +</head> + + + <body> + <div class="col-md-12 navbar navbar-inverse navbar-fixed-top"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-inverse-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/">Swift</a> + </div> + <div class="navbar-collapse collapse navbar-inverse-collapse"> + <ul class="nav navbar-nav"> + + + + + <li><a href="/contribute/">Contribute</a></li> + + + + <li><a href="/donate/">Donate</a></li> + + + + + + + + + +<!-- <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Pages<b class="caret"></b></a> + <ul class="dropdown-menu"> + + + + + <li><a href="/contribute/" style="text-transform : uppercase;">Contribute</a></li> + + + + <li><a href="/donate/" style="text-transform : uppercase;">Donate</a></li> + + + + + + + + + </ul> + </li> + --> </ul> + + <ul class="nav navbar-nav navbar-right left-syms"> + <li><a href="https://facebook.com/pranav.tayberrycreative" target="_blank"><i class="fa fa-facebook-square"></i> <span>Facebook</span></a></li> + <li><a href="http://github.com/pranavrajs" target="_blank"><i class="fa fa-github"></i> <span>Github</span></a></li> + <li><a href="//twitter.com/pranavrajs" target="_blank"><i class="fa fa-twitter"></i> <span>Twitter</span></a></li> + <li><a href="/atom.xml" target="_blank"><i class="fa fa-rss"></i> <span>RSS Feed</span></a></li> + </ul> + </div> + </div> + + + <div class="col-md-12 blog-theme-class"> + <!-- Top Blog Header --> + <div class="row jumb-bot"> + <div class="col-md-1"></div> + <div class="jumbotron jumb-bot-jumbu col-md-10"> + + <h1>Swift</h1> + <p>A clean minimal Theme for Jekyll</p> + </div> + <div class="col-md-1"></div> + </div> + </div> + <div class="col-md-12"> + <div class="row"> + <div class="col-md-1"></div> + <div class="col-md-10"> + + + <h1>Donate</h1> + + + <article class="blog-post-small blog-post-content"> + <p>Page is under construction and i’ll be adding more details soon.</p> + + </article> + </div> + <div class="col-md-1"></div> +</div> + </div> + <div class="col-md-12 share-div"> + <div class="col-md-1"></div> + <div class="col-md-10"> + +<div class="fb_share"> + <div id="fb-root"></div> + <script>(function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=354997024639145&version=v2.0"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk'));</script> +<div class="fb-share-button" data-layout="button_count"></div> +</div> + + + +<div class="twitter_share"> + <a href="https://twitter.com/share" class="twitter-share-button" data-via="pranavrajs" data-hashtags="sailsjs">Tweet</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> +</div> + + + +<div class="linkedin_share"> + <script src="//platform.linkedin.com/in.js" type="text/javascript"> + lang: en_US + </script> + <script type="IN/Share" data-counter="right"></script> +</div> + + + +<div class="g_share"> + <script src="https://apis.google.com/js/platform.js" async defer></script> + <div class="g-plus" data-action="share" data-annotation="bubble"></div> +</div> + + </div> + <div class="col-md-1"></div> + </div> + <div class="col-md-12"> + <!-- Footer --> + <div class="row footer"> + <div class="col-md-1"></div> + <div class="col-md-10"> + <div class="row"> + <div class="col-md-3"> + <h4>Recent Posts</h4> + <ul> + + <li><a href="/blog/2014/09/09/example">Example</a></li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + <h4>Github Repositories</h4> + <ul> + + <li> + <a href="https://github.com/pranavrajs"> + <span class="username">pranavrajs</span> + </a> + </li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + + <h4>Follow Us Here</h4> + + + <!-- Place this tag where you want the widget to render. --> + <div class="g-page" data-width="273" data-href="//plus.google.com/u/0/101893920934936418705" data-theme="dark" data-layout="landscape" style="border:0px;" data-rel="publisher"></div> + + <!-- Place this tag after the last widget tag. --> + <script type="text/javascript"> + (function() { + var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; + po.src = 'https://apis.google.com/js/platform.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); + })(); + </script> + + <!-- <img class="footer-logo" src="img/maanga-logo.png"/> --> + + </div> + </div> + </div> + <div class="col-md-1"></div> + </div> + <!-- End Footer --> + + </div> + <div class="col-md-12"> + <div class="row end_footer"> + <div class="col-md-1"></div> + <div class="col-md-6"> + <p>Copyright © Swift 2014</p> + </div> + <div class="col-md-4"></div> + <div class="col-md-1"></div> + </div> + </div> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> + <script type="text/javascript" src="/js/prettify.js"></script> + <script> + [].forEach.call(document.getElementsByTagName("pre"), function(el) { + el.classList.add("prettyprint"); + }); + + prettyPrint(); + </script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-53386152-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + <style> + pre.prettyprint { + + font-size: 13px; + font-family: "Open Sans"; + padding: 8px 12px; + border: 1px solid #bbb; + border-radius: 4px; + } + </style> + + </body> + +</html> diff --git a/_site/gitignore b/_site/gitignore new file mode 100644 index 0000000000000000000000000000000000000000..308259eacddff6fa5eef188068b181224b062659 --- /dev/null +++ b/_site/gitignore @@ -0,0 +1,2 @@ +/_site/* +/.sass-cache/* diff --git a/_site/images/maanga-logo.png b/_site/images/maanga-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8f07f6886758a2c5023c612e8ef11c399668ab52 Binary files /dev/null and b/_site/images/maanga-logo.png differ diff --git a/_site/images/posts/1/sails-1.png b/_site/images/posts/1/sails-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7fa7edc5bd967e92222b3e978e49910f6dc144d9 Binary files /dev/null and b/_site/images/posts/1/sails-1.png differ diff --git a/_site/images/posts/1/sails-2.png b/_site/images/posts/1/sails-2.png new file mode 100644 index 0000000000000000000000000000000000000000..87800d9a8e5dc8c91603f1bbc808abf473b8d307 Binary files /dev/null and b/_site/images/posts/1/sails-2.png differ diff --git a/_site/images/posts/2/api-1.png b/_site/images/posts/2/api-1.png new file mode 100644 index 0000000000000000000000000000000000000000..89be186d8876a0f13906e62caed158e232c62770 Binary files /dev/null and b/_site/images/posts/2/api-1.png differ diff --git a/_site/images/posts/2/api-2.png b/_site/images/posts/2/api-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca8e96387be93c2c55af3e44e7b48ff8da96bd8c Binary files /dev/null and b/_site/images/posts/2/api-2.png differ diff --git a/_site/images/posts/2/api-3.png b/_site/images/posts/2/api-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a667c14dae680c494f320cc881b395a0518a3b75 Binary files /dev/null and b/_site/images/posts/2/api-3.png differ diff --git a/_site/images/posts/2/api-4.png b/_site/images/posts/2/api-4.png new file mode 100644 index 0000000000000000000000000000000000000000..54c3ec6405a837500530cc8a1f4a84075118513e Binary files /dev/null and b/_site/images/posts/2/api-4.png differ diff --git a/_site/images/posts/2/api-5.png b/_site/images/posts/2/api-5.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6b57e6958250c7e3451a7380bdf3dccbecddfd Binary files /dev/null and b/_site/images/posts/2/api-5.png differ diff --git a/_site/images/posts/3/arc-1.png b/_site/images/posts/3/arc-1.png new file mode 100644 index 0000000000000000000000000000000000000000..966f948a85e2826b788c76516bf9cc9240e5f8a4 Binary files /dev/null and b/_site/images/posts/3/arc-1.png differ diff --git a/_site/images/posts/3/arc-2.png b/_site/images/posts/3/arc-2.png new file mode 100644 index 0000000000000000000000000000000000000000..12a34d3761dd7173399304ff6067c5e0a762f856 Binary files /dev/null and b/_site/images/posts/3/arc-2.png differ diff --git a/_site/images/posts/3/arc-3.png b/_site/images/posts/3/arc-3.png new file mode 100644 index 0000000000000000000000000000000000000000..abf055daf57f5d43378ae516de72aee0e563a1fa Binary files /dev/null and b/_site/images/posts/3/arc-3.png differ diff --git a/_site/images/posts/3/arc-4.png b/_site/images/posts/3/arc-4.png new file mode 100644 index 0000000000000000000000000000000000000000..a78034628ee2ed1905b9da318e528a44a358f5a1 Binary files /dev/null and b/_site/images/posts/3/arc-4.png differ diff --git a/_site/images/posts/3/arc-5.png b/_site/images/posts/3/arc-5.png new file mode 100644 index 0000000000000000000000000000000000000000..313bfa1b4fbc8cc931197ae41ec09b7b1e80d6ad Binary files /dev/null and b/_site/images/posts/3/arc-5.png differ diff --git a/_site/images/posts/3/arc-6.png b/_site/images/posts/3/arc-6.png new file mode 100644 index 0000000000000000000000000000000000000000..9d63835412d5daa768d0753889a96b4e31240a57 Binary files /dev/null and b/_site/images/posts/3/arc-6.png differ diff --git a/_site/images/posts/4/routes-1.png b/_site/images/posts/4/routes-1.png new file mode 100644 index 0000000000000000000000000000000000000000..63a348f814892dc71ef999402123ef9c43019884 Binary files /dev/null and b/_site/images/posts/4/routes-1.png differ diff --git a/_site/images/posts/4/routes-2.png b/_site/images/posts/4/routes-2.png new file mode 100644 index 0000000000000000000000000000000000000000..34908f5dcaa16a6c19c874eabd0ca1b178df669e Binary files /dev/null and b/_site/images/posts/4/routes-2.png differ diff --git a/_site/images/posts/4/routes-3.png b/_site/images/posts/4/routes-3.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3c6f969bee761aae12235aac95eafd502c2613 Binary files /dev/null and b/_site/images/posts/4/routes-3.png differ diff --git a/_site/images/posts/4/routes-4.png b/_site/images/posts/4/routes-4.png new file mode 100644 index 0000000000000000000000000000000000000000..607b60e415b5ac4bf726f6eb2c9d83f08a8b9feb Binary files /dev/null and b/_site/images/posts/4/routes-4.png differ diff --git a/_site/images/posts/5/theme-1.png b/_site/images/posts/5/theme-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f9158def9d6e819fbd0907d425c0d8edbb96b8 Binary files /dev/null and b/_site/images/posts/5/theme-1.png differ diff --git a/_site/images/posts/5/theme-2.png b/_site/images/posts/5/theme-2.png new file mode 100644 index 0000000000000000000000000000000000000000..be475476eaba311a892cc40717654344d5b06917 Binary files /dev/null and b/_site/images/posts/5/theme-2.png differ diff --git a/_site/images/posts/5/theme-3.png b/_site/images/posts/5/theme-3.png new file mode 100644 index 0000000000000000000000000000000000000000..51c7af9ca5256fb8baf4d0f5a6096eddcdade663 Binary files /dev/null and b/_site/images/posts/5/theme-3.png differ diff --git a/_site/images/posts/6/adap-1.png b/_site/images/posts/6/adap-1.png new file mode 100644 index 0000000000000000000000000000000000000000..dd3c0280ac9e778d5c500c0e2fdaa8a4142dcade Binary files /dev/null and b/_site/images/posts/6/adap-1.png differ diff --git a/_site/images/posts/6/adap-2.png b/_site/images/posts/6/adap-2.png new file mode 100644 index 0000000000000000000000000000000000000000..846212e6b9aeb0e4b29bf91cb4e938fd89a0806a Binary files /dev/null and b/_site/images/posts/6/adap-2.png differ diff --git a/_site/images/posts/6/adap-3.png b/_site/images/posts/6/adap-3.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf143c974075e68626d3218f7a72ec0c0ccee11 Binary files /dev/null and b/_site/images/posts/6/adap-3.png differ diff --git a/_site/images/posts/6/adap-4.png b/_site/images/posts/6/adap-4.png new file mode 100644 index 0000000000000000000000000000000000000000..57981c0623b9aa682d6e80c5a4663303511d760f Binary files /dev/null and b/_site/images/posts/6/adap-4.png differ diff --git a/_site/images/posts/6/adap-5.png b/_site/images/posts/6/adap-5.png new file mode 100644 index 0000000000000000000000000000000000000000..73587917877ec03d7824838a57109d89311200d6 Binary files /dev/null and b/_site/images/posts/6/adap-5.png differ diff --git a/_site/images/posts/6/adap-6.png b/_site/images/posts/6/adap-6.png new file mode 100644 index 0000000000000000000000000000000000000000..ead29580a30229cc5204d8c8e264cd46e9e6b2b7 Binary files /dev/null and b/_site/images/posts/6/adap-6.png differ diff --git a/_site/images/posts/6/adap-7.png b/_site/images/posts/6/adap-7.png new file mode 100644 index 0000000000000000000000000000000000000000..ed222a3519ee5de1091d6ec13021aea7bdf9f6a5 Binary files /dev/null and b/_site/images/posts/6/adap-7.png differ diff --git a/_site/images/posts/7/upl-1.png b/_site/images/posts/7/upl-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed7d4576447c906cccf340af4974d92ba965be6 Binary files /dev/null and b/_site/images/posts/7/upl-1.png differ diff --git a/_site/images/posts/7/upl-2.png b/_site/images/posts/7/upl-2.png new file mode 100644 index 0000000000000000000000000000000000000000..dcda1088050e061c194201efe5c46e395b279f66 Binary files /dev/null and b/_site/images/posts/7/upl-2.png differ diff --git a/_site/images/posts/7/upl-3.png b/_site/images/posts/7/upl-3.png new file mode 100644 index 0000000000000000000000000000000000000000..bc319d168c7573136dff6cb45bd83db35adc6bfc Binary files /dev/null and b/_site/images/posts/7/upl-3.png differ diff --git a/_site/images/posts/7/upl-4.png b/_site/images/posts/7/upl-4.png new file mode 100644 index 0000000000000000000000000000000000000000..6d7039ee654e74cc7d2d8ac1197c710d0c7f8c18 Binary files /dev/null and b/_site/images/posts/7/upl-4.png differ diff --git a/_site/images/posts/7/upl-5.png b/_site/images/posts/7/upl-5.png new file mode 100644 index 0000000000000000000000000000000000000000..179124bd2edd48d3b10a99287fb72973fd895ad8 Binary files /dev/null and b/_site/images/posts/7/upl-5.png differ diff --git a/_site/images/posts/7/upl-6.png b/_site/images/posts/7/upl-6.png new file mode 100644 index 0000000000000000000000000000000000000000..a7eb28da045a1ee2615c87139c0f1bd15ef2887b Binary files /dev/null and b/_site/images/posts/7/upl-6.png differ diff --git a/_site/images/posts/7/upl-7.png b/_site/images/posts/7/upl-7.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec474227f5a5c12463a521cd6b0ccc83ca2ed29 Binary files /dev/null and b/_site/images/posts/7/upl-7.png differ diff --git a/_site/images/posts/7/upl-8.png b/_site/images/posts/7/upl-8.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d36515282c135a7d2d69223bd5109857018ef2 Binary files /dev/null and b/_site/images/posts/7/upl-8.png differ diff --git a/_site/images/posts/8/10436156_918411888173088_1138930819191182253_n.jpg b/_site/images/posts/8/10436156_918411888173088_1138930819191182253_n.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74349ef78d6ad1cf3e7b8fc13c44d3860ff42cf0 Binary files /dev/null and b/_site/images/posts/8/10436156_918411888173088_1138930819191182253_n.jpg differ diff --git a/_site/images/posts/8/pyr-1.png b/_site/images/posts/8/pyr-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8248ee637784a9a5d103adc88084069b5261de92 Binary files /dev/null and b/_site/images/posts/8/pyr-1.png differ diff --git a/_site/images/posts/8/pyr-2.png b/_site/images/posts/8/pyr-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5bbe63804741e9d160be3ff10faa7efbabbd2e33 Binary files /dev/null and b/_site/images/posts/8/pyr-2.png differ diff --git a/_site/images/posts/9/waterlock-1.png b/_site/images/posts/9/waterlock-1.png new file mode 100644 index 0000000000000000000000000000000000000000..89bbf829258aab3fd596284b55d1145f2c3ef790 Binary files /dev/null and b/_site/images/posts/9/waterlock-1.png differ diff --git a/_site/images/posts/9/waterlock-2.png b/_site/images/posts/9/waterlock-2.png new file mode 100644 index 0000000000000000000000000000000000000000..671f3ed2bdecb0acf1c534707de88eafb44970cc Binary files /dev/null and b/_site/images/posts/9/waterlock-2.png differ diff --git a/_site/images/posts/9/waterlock-3.png b/_site/images/posts/9/waterlock-3.png new file mode 100644 index 0000000000000000000000000000000000000000..716588fa1bb4065e102197f4d1788b6f553bf6d3 Binary files /dev/null and b/_site/images/posts/9/waterlock-3.png differ diff --git a/_site/images/posts/9/waterlock-4.png b/_site/images/posts/9/waterlock-4.png new file mode 100644 index 0000000000000000000000000000000000000000..73afb557797e403b35eabe78c7f8d1416dfe3675 Binary files /dev/null and b/_site/images/posts/9/waterlock-4.png differ diff --git a/_site/images/posts/9/waterlock-5.png b/_site/images/posts/9/waterlock-5.png new file mode 100644 index 0000000000000000000000000000000000000000..f3fafaa6cdbef8d9cb68069f9f63757d969fc317 Binary files /dev/null and b/_site/images/posts/9/waterlock-5.png differ diff --git a/_site/images/posts/9/waterlock-6.png b/_site/images/posts/9/waterlock-6.png new file mode 100644 index 0000000000000000000000000000000000000000..2d51508d4b378a8d94ad11f88037d6cc75593440 Binary files /dev/null and b/_site/images/posts/9/waterlock-6.png differ diff --git a/_site/images/posts/9/waterlock-7.png b/_site/images/posts/9/waterlock-7.png new file mode 100644 index 0000000000000000000000000000000000000000..85893bfa86758770f9643a08633d8ae543f65eae Binary files /dev/null and b/_site/images/posts/9/waterlock-7.png differ diff --git a/_site/images/posts/9/waterlock-8.png b/_site/images/posts/9/waterlock-8.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ca25a90eb19aa603009ccb3ff76076e67e3b2a Binary files /dev/null and b/_site/images/posts/9/waterlock-8.png differ diff --git a/_site/images/posts/9/waterlock-9.png b/_site/images/posts/9/waterlock-9.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7c502cf3714ca9841a264f665a42ef1da62f83 Binary files /dev/null and b/_site/images/posts/9/waterlock-9.png differ diff --git a/_site/index.html b/_site/index.html new file mode 100644 index 0000000000000000000000000000000000000000..32d406cd98b4915116880aed6c6138ddbbe69075 --- /dev/null +++ b/_site/index.html @@ -0,0 +1,287 @@ +<!DOCTYPE html> +<html> + + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width initial-scale=1"> + + <title>Swift</title> + <meta name="description" content="A clean minimal Theme for Jekyll"> + <meta name="google-translate-customization" content="b9870a0c7376df54-aa35852016e6a5cc-ga0a0d80f6c171f17-e"></meta> + <link rel="stylesheet" href="/css/main.css"> + <link rel="canonical" href="http://maangalabs.com/"> + <link href="/favicon.ico" rel="icon"> + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> + <link rel="alternate" type="application/atom+xml" title="Swift" href="http://maangalabs.com/feed.xml" /> +</head> + + + <body> + <div class="col-md-12 navbar navbar-inverse navbar-fixed-top"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-inverse-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/">Swift</a> + </div> + <div class="navbar-collapse collapse navbar-inverse-collapse"> + <ul class="nav navbar-nav"> + + + + + <li><a href="/contribute/">Contribute</a></li> + + + + <li><a href="/donate/">Donate</a></li> + + + + + + + + + +<!-- <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Pages<b class="caret"></b></a> + <ul class="dropdown-menu"> + + + + + <li><a href="/contribute/" style="text-transform : uppercase;">Contribute</a></li> + + + + <li><a href="/donate/" style="text-transform : uppercase;">Donate</a></li> + + + + + + + + + </ul> + </li> + --> </ul> + + <ul class="nav navbar-nav navbar-right left-syms"> + <li><a href="https://facebook.com/pranav.tayberrycreative" target="_blank"><i class="fa fa-facebook-square"></i> <span>Facebook</span></a></li> + <li><a href="http://github.com/pranavrajs" target="_blank"><i class="fa fa-github"></i> <span>Github</span></a></li> + <li><a href="//twitter.com/pranavrajs" target="_blank"><i class="fa fa-twitter"></i> <span>Twitter</span></a></li> + <li><a href="/atom.xml" target="_blank"><i class="fa fa-rss"></i> <span>RSS Feed</span></a></li> + </ul> + </div> + </div> + + + <div class="col-md-12 blog-theme-class"> + <!-- Top Blog Header --> + <div class="row jumb-bot"> + <div class="col-md-1"></div> + <div class="jumbotron jumb-bot-jumbu col-md-10"> + + <h1>Swift</h1> + <p>A clean minimal Theme for Jekyll</p> + </div> + <div class="col-md-1"></div> + </div> + </div> + <div class="col-md-12"> + <div class="row"> + <div class="col-md-1"></div> + <div class="col-md-7"> + <!-- Blog Post Links --> + <div class="blog-post-small"> + + <h3><a href="/blog/2014/09/09/example">Example</a></h3> + <p><i class="fa fa-calendar"></i> Sep 9, 2014 | + <a href="/blog/2014/09/09/example#disqus_thread">Comments</a> + </p> + + <p><p>This is a sample post to denote the features of Swift theme . The theme consists of various share plugins , feedburner support , sitemap generation etc. You can configure the blog in similar way you use a word press blog</p> + + + <br><br> + <a href="/blog/2014/09/09/example"class="btn btn-primary btn-sm">Read More</a> + </p> + + + </div> + <!-- End Blog Post Links --> + </div> + <!-- SideBar --> + <div class="col-md-3"> + + <div class="panel panel-primary" style="margin-top:10%;"> + <div class="panel-body"> + + <form action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=maangalabs', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true"> + <div class="input-group"> + <input type="text" class="form-control" name="email"/> + <input type="hidden" value="maangalabs" name="uri"/> + <input type="hidden" name="loc" value="en_US"/> + <span class="input-group-btn"> + <input type="submit" class="btn btn-primary" value="Subscribe Us" /> + </span> + </div> + <p><a href="http://feeds.feedburner.com/maangalabs"><img style="margin-left:auto;margin-right:auto;" src="http://feeds.feedburner.com/~fc/maangalabs?bg=007196&fg=FFFFFF&anim=1" height="26" width="88" style="border:1;" alt="" /></a></form> + + </div> + + </div> + + </div> + <!-- End Sidebar --> + <div class="col-md-1"></div> + </div> + + + </div> + <div class="col-md-12 share-div"> + <div class="col-md-1"></div> + <div class="col-md-10"> + +<div class="fb_share"> + <div id="fb-root"></div> + <script>(function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=354997024639145&version=v2.0"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk'));</script> +<div class="fb-share-button" data-layout="button_count"></div> +</div> + + + +<div class="twitter_share"> + <a href="https://twitter.com/share" class="twitter-share-button" data-via="pranavrajs" data-hashtags="sailsjs">Tweet</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> +</div> + + + +<div class="linkedin_share"> + <script src="//platform.linkedin.com/in.js" type="text/javascript"> + lang: en_US + </script> + <script type="IN/Share" data-counter="right"></script> +</div> + + + +<div class="g_share"> + <script src="https://apis.google.com/js/platform.js" async defer></script> + <div class="g-plus" data-action="share" data-annotation="bubble"></div> +</div> + + </div> + <div class="col-md-1"></div> + </div> + <div class="col-md-12"> + <!-- Footer --> + <div class="row footer"> + <div class="col-md-1"></div> + <div class="col-md-10"> + <div class="row"> + <div class="col-md-3"> + <h4>Recent Posts</h4> + <ul> + + <li><a href="/blog/2014/09/09/example">Example</a></li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + <h4>Github Repositories</h4> + <ul> + + <li> + <a href="https://github.com/pranavrajs"> + <span class="username">pranavrajs</span> + </a> + </li> + + </ul> + </div> + <div class="col-md-3 col-md-offset-1"> + + <h4>Follow Us Here</h4> + + + <!-- Place this tag where you want the widget to render. --> + <div class="g-page" data-width="273" data-href="//plus.google.com/u/0/101893920934936418705" data-theme="dark" data-layout="landscape" style="border:0px;" data-rel="publisher"></div> + + <!-- Place this tag after the last widget tag. --> + <script type="text/javascript"> + (function() { + var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; + po.src = 'https://apis.google.com/js/platform.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); + })(); + </script> + + <!-- <img class="footer-logo" src="img/maanga-logo.png"/> --> + + </div> + </div> + </div> + <div class="col-md-1"></div> + </div> + <!-- End Footer --> + + </div> + <div class="col-md-12"> + <div class="row end_footer"> + <div class="col-md-1"></div> + <div class="col-md-6"> + <p>Copyright © Swift 2014</p> + </div> + <div class="col-md-4"></div> + <div class="col-md-1"></div> + </div> + </div> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> + <script type="text/javascript" src="/js/prettify.js"></script> + <script> + [].forEach.call(document.getElementsByTagName("pre"), function(el) { + el.classList.add("prettyprint"); + }); + + prettyPrint(); + </script> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-53386152-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + <style> + pre.prettyprint { + + font-size: 13px; + font-family: "Open Sans"; + padding: 8px 12px; + border: 1px solid #bbb; + border-radius: 4px; + } + </style> + + </body> + +</html> diff --git a/_site/js/prettify.js b/_site/js/prettify.js new file mode 100644 index 0000000000000000000000000000000000000000..10c9fb73d75268107f8273ebbb83aaae361d2a85 --- /dev/null +++ b/_site/js/prettify.js @@ -0,0 +1,1655 @@ +// Copyright (C) 2006 Google 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. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + * + * <p> + * For a fairly comprehensive set of languages see the + * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a> + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + * <p> + * Usage: <ol> + * <li> include this source file in an html page via + * {@code <script type="text/javascript" src="/path/to/prettify.js"></script>} + * <li> define style rules. See the example page for examples. + * <li> mark the {@code <pre>} and {@code <code>} tags in your source with + * {@code class=prettyprint.} + * You can also use the (html deprecated) {@code <xmp>} tag, but the pretty + * printer needs to do more substantial DOM manipulations to support that, so + * some css styles may not be preserved. + * </ol> + * That's it. I wanted to keep the API as simple as possible, so there's no + * need to specify which language the code is in, but if you wish, you can add + * another class to the {@code <pre>} or {@code <code>} element to specify the + * language, as in {@code <pre class="prettyprint lang-java">}. Any class that + * starts with "lang-" followed by a file extension, specifies the file type. + * See the "lang-*.js" files in this directory for code that implements + * per-language file handlers. + * <p> + * Change log:<br> + * cbeust, 2006/08/22 + * <blockquote> + * Java annotations (start with "@") are now captured as literals ("lit") + * </blockquote> + * @requires console + */ + +// JSLint declarations +/*global console, document, navigator, setTimeout, window, define */ + +/** @define {boolean} */ +var IN_GLOBAL_SCOPE = true; + +/** + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with + * UI events. + * If set to {@code false}, {@code prettyPrint()} is synchronous. + */ +window['PR_SHOULD_USE_CONTINUATION'] = true; + +/** + * Pretty print a chunk of code. + * @param {string} sourceCodeHtml The HTML to pretty print. + * @param {string} opt_langExtension The language name to use. + * Typically, a filename extension like 'cpp' or 'java'. + * @param {number|boolean} opt_numberLines True to number lines, + * or the 1-indexed number of the first line in sourceCodeHtml. + * @return {string} code as html, but prettier + */ +var prettyPrintOne; +/** + * Find all the {@code <pre>} and {@code <code>} tags in the DOM with + * {@code class=prettyprint} and prettify them. + * + * @param {Function} opt_whenDone called when prettifying is done. + * @param {HTMLElement|HTMLDocument} opt_root an element or document + * containing all the elements to pretty print. + * Defaults to {@code document.body}. + */ +var prettyPrint; + + +(function () { + var win = window; + // Keyword lists for various languages. + // We use things that coerce to strings to make them compact when minified + // and to defeat aggressive optimizers that fold large string constants. + var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"]; + var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," + + "double,enum,extern,float,goto,inline,int,long,register,short,signed," + + "sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"]; + var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," + + "new,operator,private,protected,public,this,throw,true,try,typeof"]; + var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," + + "concept,concept_map,const_cast,constexpr,decltype,delegate," + + "dynamic_cast,explicit,export,friend,generic,late_check," + + "mutable,namespace,nullptr,property,reinterpret_cast,static_assert," + + "static_cast,template,typeid,typename,using,virtual,where"]; + var JAVA_KEYWORDS = [COMMON_KEYWORDS, + "abstract,assert,boolean,byte,extends,final,finally,implements,import," + + "instanceof,interface,null,native,package,strictfp,super,synchronized," + + "throws,transient"]; + var CSHARP_KEYWORDS = [JAVA_KEYWORDS, + "as,base,by,checked,decimal,delegate,descending,dynamic,event," + + "fixed,foreach,from,group,implicit,in,internal,into,is,let," + + "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," + + "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," + + "var,virtual,where"]; + var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," + + "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," + + "throw,true,try,unless,until,when,while,yes"; + var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS, + "debugger,eval,export,function,get,null,set,undefined,var,with," + + "Infinity,NaN"]; + var PERL_KEYWORDS = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," + + "goto,if,import,last,local,my,next,no,our,print,package,redo,require," + + "sub,undef,unless,until,use,wantarray,while,BEGIN,END"; + var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," + + "elif,except,exec,finally,from,global,import,in,is,lambda," + + "nonlocal,not,or,pass,print,raise,try,with,yield," + + "False,True,None"]; + var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," + + "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," + + "rescue,retry,self,super,then,true,undef,unless,until,when,yield," + + "BEGIN,END"]; + var RUST_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "as,assert,const,copy,drop," + + "enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv," + + "pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"]; + var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," + + "function,in,local,set,then,until"]; + var ALL_KEYWORDS = [ + CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS, + PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS]; + var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/; + + // token style names. correspond to css classes + /** + * token style for a string literal + * @const + */ + var PR_STRING = 'str'; + /** + * token style for a keyword + * @const + */ + var PR_KEYWORD = 'kwd'; + /** + * token style for a comment + * @const + */ + var PR_COMMENT = 'com'; + /** + * token style for a type + * @const + */ + var PR_TYPE = 'typ'; + /** + * token style for a literal value. e.g. 1, null, true. + * @const + */ + var PR_LITERAL = 'lit'; + /** + * token style for a punctuation string. + * @const + */ + var PR_PUNCTUATION = 'pun'; + /** + * token style for plain text. + * @const + */ + var PR_PLAIN = 'pln'; + + /** + * token style for an sgml tag. + * @const + */ + var PR_TAG = 'tag'; + /** + * token style for a markup declaration such as a DOCTYPE. + * @const + */ + var PR_DECLARATION = 'dec'; + /** + * token style for embedded source. + * @const + */ + var PR_SOURCE = 'src'; + /** + * token style for an sgml attribute name. + * @const + */ + var PR_ATTRIB_NAME = 'atn'; + /** + * token style for an sgml attribute value. + * @const + */ + var PR_ATTRIB_VALUE = 'atv'; + + /** + * A class that indicates a section of markup that is not code, e.g. to allow + * embedding of line numbers within code listings. + * @const + */ + var PR_NOCODE = 'nocode'; + + + + /** + * A set of tokens that can precede a regular expression literal in + * javascript + * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html + * has the full list, but I've removed ones that might be problematic when + * seen in languages that don't support regular expression literals. + * + * <p>Specifically, I've removed any keywords that can't precede a regexp + * literal in a syntactically legal javascript program, and I've removed the + * "in" keyword since it's not a keyword in many languages, and might be used + * as a count of inches. + * + * <p>The link above does not accurately describe EcmaScript rules since + * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works + * very well in practice. + * + * @private + * @const + */ + var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*'; + + // CAVEAT: this does not properly handle the case where a regular + // expression immediately follows another since a regular expression may + // have flags for case-sensitivity and the like. Having regexp tokens + // adjacent is not valid in any language I'm aware of, so I'm punting. + // TODO: maybe style special characters inside a regexp as punctuation. + + /** + * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally + * matches the union of the sets of strings matched by the input RegExp. + * Since it matches globally, if the input strings have a start-of-input + * anchor (/^.../), it is ignored for the purposes of unioning. + * @param {Array.<RegExp>} regexs non multiline, non-global regexs. + * @return {RegExp} a global regex. + */ + function combinePrefixPatterns(regexs) { + var capturedGroupIndex = 0; + + var needToFoldCase = false; + var ignoreCase = false; + for (var i = 0, n = regexs.length; i < n; ++i) { + var regex = regexs[i]; + if (regex.ignoreCase) { + ignoreCase = true; + } else if (/[a-z]/i.test(regex.source.replace( + /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) { + needToFoldCase = true; + ignoreCase = false; + break; + } + } + + var escapeCharToCodeUnit = { + 'b': 8, + 't': 9, + 'n': 0xa, + 'v': 0xb, + 'f': 0xc, + 'r': 0xd + }; + + function decodeEscape(charsetPart) { + var cc0 = charsetPart.charCodeAt(0); + if (cc0 !== 92 /* \\ */) { + return cc0; + } + var c1 = charsetPart.charAt(1); + cc0 = escapeCharToCodeUnit[c1]; + if (cc0) { + return cc0; + } else if ('0' <= c1 && c1 <= '7') { + return parseInt(charsetPart.substring(1), 8); + } else if (c1 === 'u' || c1 === 'x') { + return parseInt(charsetPart.substring(2), 16); + } else { + return charsetPart.charCodeAt(1); + } + } + + function encodeEscape(charCode) { + if (charCode < 0x20) { + return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16); + } + var ch = String.fromCharCode(charCode); + return (ch === '\\' || ch === '-' || ch === ']' || ch === '^') + ? "\\" + ch : ch; + } + + function caseFoldCharset(charSet) { + var charsetParts = charSet.substring(1, charSet.length - 1).match( + new RegExp( + '\\\\u[0-9A-Fa-f]{4}' + + '|\\\\x[0-9A-Fa-f]{2}' + + '|\\\\[0-3][0-7]{0,2}' + + '|\\\\[0-7]{1,2}' + + '|\\\\[\\s\\S]' + + '|-' + + '|[^-\\\\]', + 'g')); + var ranges = []; + var inverse = charsetParts[0] === '^'; + + var out = ['[']; + if (inverse) { out.push('^'); } + + for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) { + var p = charsetParts[i]; + if (/\\[bdsw]/i.test(p)) { // Don't muck with named groups. + out.push(p); + } else { + var start = decodeEscape(p); + var end; + if (i + 2 < n && '-' === charsetParts[i + 1]) { + end = decodeEscape(charsetParts[i + 2]); + i += 2; + } else { + end = start; + } + ranges.push([start, end]); + // If the range might intersect letters, then expand it. + // This case handling is too simplistic. + // It does not deal with non-latin case folding. + // It works for latin source code identifiers though. + if (!(end < 65 || start > 122)) { + if (!(end < 65 || start > 90)) { + ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]); + } + if (!(end < 97 || start > 122)) { + ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]); + } + } + } + } + + // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]] + // -> [[1, 12], [14, 14], [16, 17]] + ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1] - a[1]); }); + var consolidatedRanges = []; + var lastRange = []; + for (var i = 0; i < ranges.length; ++i) { + var range = ranges[i]; + if (range[0] <= lastRange[1] + 1) { + lastRange[1] = Math.max(lastRange[1], range[1]); + } else { + consolidatedRanges.push(lastRange = range); + } + } + + for (var i = 0; i < consolidatedRanges.length; ++i) { + var range = consolidatedRanges[i]; + out.push(encodeEscape(range[0])); + if (range[1] > range[0]) { + if (range[1] + 1 > range[0]) { out.push('-'); } + out.push(encodeEscape(range[1])); + } + } + out.push(']'); + return out.join(''); + } + + function allowAnywhereFoldCaseAndRenumberGroups(regex) { + // Split into character sets, escape sequences, punctuation strings + // like ('(', '(?:', ')', '^'), and runs of characters that do not + // include any of the above. + var parts = regex.source.match( + new RegExp( + '(?:' + + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]' // a character set + + '|\\\\u[A-Fa-f0-9]{4}' // a unicode escape + + '|\\\\x[A-Fa-f0-9]{2}' // a hex escape + + '|\\\\[0-9]+' // a back-reference or octal escape + + '|\\\\[^ux0-9]' // other escape sequence + + '|\\(\\?[:!=]' // start of a non-capturing group + + '|[\\(\\)\\^]' // start/end of a group, or line start + + '|[^\\x5B\\x5C\\(\\)\\^]+' // run of other characters + + ')', + 'g')); + var n = parts.length; + + // Maps captured group numbers to the number they will occupy in + // the output or to -1 if that has not been determined, or to + // undefined if they need not be capturing in the output. + var capturedGroups = []; + + // Walk over and identify back references to build the capturedGroups + // mapping. + for (var i = 0, groupIndex = 0; i < n; ++i) { + var p = parts[i]; + if (p === '(') { + // groups are 1-indexed, so max group index is count of '(' + ++groupIndex; + } else if ('\\' === p.charAt(0)) { + var decimalValue = +p.substring(1); + if (decimalValue) { + if (decimalValue <= groupIndex) { + capturedGroups[decimalValue] = -1; + } else { + // Replace with an unambiguous escape sequence so that + // an octal escape sequence does not turn into a backreference + // to a capturing group from an earlier regex. + parts[i] = encodeEscape(decimalValue); + } + } + } + } + + // Renumber groups and reduce capturing groups to non-capturing groups + // where possible. + for (var i = 1; i < capturedGroups.length; ++i) { + if (-1 === capturedGroups[i]) { + capturedGroups[i] = ++capturedGroupIndex; + } + } + for (var i = 0, groupIndex = 0; i < n; ++i) { + var p = parts[i]; + if (p === '(') { + ++groupIndex; + if (!capturedGroups[groupIndex]) { + parts[i] = '(?:'; + } + } else if ('\\' === p.charAt(0)) { + var decimalValue = +p.substring(1); + if (decimalValue && decimalValue <= groupIndex) { + parts[i] = '\\' + capturedGroups[decimalValue]; + } + } + } + + // Remove any prefix anchors so that the output will match anywhere. + // ^^ really does mean an anchored match though. + for (var i = 0; i < n; ++i) { + if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; } + } + + // Expand letters to groups to handle mixing of case-sensitive and + // case-insensitive patterns if necessary. + if (regex.ignoreCase && needToFoldCase) { + for (var i = 0; i < n; ++i) { + var p = parts[i]; + var ch0 = p.charAt(0); + if (p.length >= 2 && ch0 === '[') { + parts[i] = caseFoldCharset(p); + } else if (ch0 !== '\\') { + // TODO: handle letters in numeric escapes. + parts[i] = p.replace( + /[a-zA-Z]/g, + function (ch) { + var cc = ch.charCodeAt(0); + return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']'; + }); + } + } + } + + return parts.join(''); + } + + var rewritten = []; + for (var i = 0, n = regexs.length; i < n; ++i) { + var regex = regexs[i]; + if (regex.global || regex.multiline) { throw new Error('' + regex); } + rewritten.push( + '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')'); + } + + return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g'); + } + + /** + * Split markup into a string of source code and an array mapping ranges in + * that string to the text nodes in which they appear. + * + * <p> + * The HTML DOM structure:</p> + * <pre> + * (Element "p" + * (Element "b" + * (Text "print ")) ; #1 + * (Text "'Hello '") ; #2 + * (Element "br") ; #3 + * (Text " + 'World';")) ; #4 + * </pre> + * <p> + * corresponds to the HTML + * {@code <p><b>print </b>'Hello '<br> + 'World';</p>}.</p> + * + * <p> + * It will produce the output:</p> + * <pre> + * { + * sourceCode: "print 'Hello '\n + 'World';", + * // 1 2 + * // 012345678901234 5678901234567 + * spans: [0, #1, 6, #2, 14, #3, 15, #4] + * } + * </pre> + * <p> + * where #1 is a reference to the {@code "print "} text node above, and so + * on for the other text nodes. + * </p> + * + * <p> + * The {@code} spans array is an array of pairs. Even elements are the start + * indices of substrings, and odd elements are the text nodes (or BR elements) + * that contain the text for those substrings. + * Substrings continue until the next index or the end of the source. + * </p> + * + * @param {Node} node an HTML DOM subtree containing source-code. + * @param {boolean} isPreformatted true if white-space in text nodes should + * be considered significant. + * @return {Object} source code and the text nodes in which they occur. + */ + function extractSourceSpans(node, isPreformatted) { + var nocode = /(?:^|\s)nocode(?:\s|$)/; + + var chunks = []; + var length = 0; + var spans = []; + var k = 0; + + function walk(node) { + var type = node.nodeType; + if (type == 1) { // Element + if (nocode.test(node.className)) { return; } + for (var child = node.firstChild; child; child = child.nextSibling) { + walk(child); + } + var nodeName = node.nodeName.toLowerCase(); + if ('br' === nodeName || 'li' === nodeName) { + chunks[k] = '\n'; + spans[k << 1] = length++; + spans[(k++ << 1) | 1] = node; + } + } else if (type == 3 || type == 4) { // Text + var text = node.nodeValue; + if (text.length) { + if (!isPreformatted) { + text = text.replace(/[ \t\r\n]+/g, ' '); + } else { + text = text.replace(/\r\n?/g, '\n'); // Normalize newlines. + } + // TODO: handle tabs here? + chunks[k] = text; + spans[k << 1] = length; + length += text.length; + spans[(k++ << 1) | 1] = node; + } + } + } + + walk(node); + + return { + sourceCode: chunks.join('').replace(/\n$/, ''), + spans: spans + }; + } + + /** + * Apply the given language handler to sourceCode and add the resulting + * decorations to out. + * @param {number} basePos the index of sourceCode within the chunk of source + * whose decorations are already present on out. + */ + function appendDecorations(basePos, sourceCode, langHandler, out) { + if (!sourceCode) { return; } + var job = { + sourceCode: sourceCode, + basePos: basePos + }; + langHandler(job); + out.push.apply(out, job.decorations); + } + + var notWs = /\S/; + + /** + * Given an element, if it contains only one child element and any text nodes + * it contains contain only space characters, return the sole child element. + * Otherwise returns undefined. + * <p> + * This is meant to return the CODE element in {@code <pre><code ...>} when + * there is a single child element that contains all the non-space textual + * content, but not to return anything where there are multiple child elements + * as in {@code <pre><code>...</code><code>...</code></pre>} or when there + * is textual content. + */ + function childContentWrapper(element) { + var wrapper = undefined; + for (var c = element.firstChild; c; c = c.nextSibling) { + var type = c.nodeType; + wrapper = (type === 1) // Element Node + ? (wrapper ? element : c) + : (type === 3) // Text Node + ? (notWs.test(c.nodeValue) ? element : wrapper) + : wrapper; + } + return wrapper === element ? undefined : wrapper; + } + + /** Given triples of [style, pattern, context] returns a lexing function, + * The lexing function interprets the patterns to find token boundaries and + * returns a decoration list of the form + * [index_0, style_0, index_1, style_1, ..., index_n, style_n] + * where index_n is an index into the sourceCode, and style_n is a style + * constant like PR_PLAIN. index_n-1 <= index_n, and style_n-1 applies to + * all characters in sourceCode[index_n-1:index_n]. + * + * The stylePatterns is a list whose elements have the form + * [style : string, pattern : RegExp, DEPRECATED, shortcut : string]. + * + * Style is a style constant like PR_PLAIN, or can be a string of the + * form 'lang-FOO', where FOO is a language extension describing the + * language of the portion of the token in $1 after pattern executes. + * E.g., if style is 'lang-lisp', and group 1 contains the text + * '(hello (world))', then that portion of the token will be passed to the + * registered lisp handler for formatting. + * The text before and after group 1 will be restyled using this decorator + * so decorators should take care that this doesn't result in infinite + * recursion. For example, the HTML lexer rule for SCRIPT elements looks + * something like ['lang-js', /<[s]cript>(.+?)<\/script>/]. This may match + * '<script>foo()<\/script>', which would cause the current decorator to + * be called with '<script>' which would not match the same rule since + * group 1 must not be empty, so it would be instead styled as PR_TAG by + * the generic tag rule. The handler registered for the 'js' extension would + * then be called with 'foo()', and finally, the current decorator would + * be called with '<\/script>' which would not match the original rule and + * so the generic tag rule would identify it as a tag. + * + * Pattern must only match prefixes, and if it matches a prefix, then that + * match is considered a token with the same style. + * + * Context is applied to the last non-whitespace, non-comment token + * recognized. + * + * Shortcut is an optional string of characters, any of which, if the first + * character, gurantee that this pattern and only this pattern matches. + * + * @param {Array} shortcutStylePatterns patterns that always start with + * a known character. Must have a shortcut string. + * @param {Array} fallthroughStylePatterns patterns that will be tried in + * order if the shortcut ones fail. May have shortcuts. + * + * @return {function (Object)} a + * function that takes source code and returns a list of decorations. + */ + function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) { + var shortcuts = {}; + var tokenizer; + (function () { + var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns); + var allRegexs = []; + var regexKeys = {}; + for (var i = 0, n = allPatterns.length; i < n; ++i) { + var patternParts = allPatterns[i]; + var shortcutChars = patternParts[3]; + if (shortcutChars) { + for (var c = shortcutChars.length; --c >= 0;) { + shortcuts[shortcutChars.charAt(c)] = patternParts; + } + } + var regex = patternParts[1]; + var k = '' + regex; + if (!regexKeys.hasOwnProperty(k)) { + allRegexs.push(regex); + regexKeys[k] = null; + } + } + allRegexs.push(/[\0-\uffff]/); + tokenizer = combinePrefixPatterns(allRegexs); + })(); + + var nPatterns = fallthroughStylePatterns.length; + + /** + * Lexes job.sourceCode and produces an output array job.decorations of + * style classes preceded by the position at which they start in + * job.sourceCode in order. + * + * @param {Object} job an object like <pre>{ + * sourceCode: {string} sourceText plain text, + * basePos: {int} position of job.sourceCode in the larger chunk of + * sourceCode. + * }</pre> + */ + var decorate = function (job) { + var sourceCode = job.sourceCode, basePos = job.basePos; + /** Even entries are positions in source in ascending order. Odd enties + * are style markers (e.g., PR_COMMENT) that run from that position until + * the end. + * @type {Array.<number|string>} + */ + var decorations = [basePos, PR_PLAIN]; + var pos = 0; // index into sourceCode + var tokens = sourceCode.match(tokenizer) || []; + var styleCache = {}; + + for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) { + var token = tokens[ti]; + var style = styleCache[token]; + var match = void 0; + + var isEmbedded; + if (typeof style === 'string') { + isEmbedded = false; + } else { + var patternParts = shortcuts[token.charAt(0)]; + if (patternParts) { + match = token.match(patternParts[1]); + style = patternParts[0]; + } else { + for (var i = 0; i < nPatterns; ++i) { + patternParts = fallthroughStylePatterns[i]; + match = token.match(patternParts[1]); + if (match) { + style = patternParts[0]; + break; + } + } + + if (!match) { // make sure that we make progress + style = PR_PLAIN; + } + } + + isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5); + if (isEmbedded && !(match && typeof match[1] === 'string')) { + isEmbedded = false; + style = PR_SOURCE; + } + + if (!isEmbedded) { styleCache[token] = style; } + } + + var tokenStart = pos; + pos += token.length; + + if (!isEmbedded) { + decorations.push(basePos + tokenStart, style); + } else { // Treat group 1 as an embedded block of source code. + var embeddedSource = match[1]; + var embeddedSourceStart = token.indexOf(embeddedSource); + var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length; + if (match[2]) { + // If embeddedSource can be blank, then it would match at the + // beginning which would cause us to infinitely recurse on the + // entire token, so we catch the right context in match[2]. + embeddedSourceEnd = token.length - match[2].length; + embeddedSourceStart = embeddedSourceEnd - embeddedSource.length; + } + var lang = style.substring(5); + // Decorate the left of the embedded source + appendDecorations( + basePos + tokenStart, + token.substring(0, embeddedSourceStart), + decorate, decorations); + // Decorate the embedded source + appendDecorations( + basePos + tokenStart + embeddedSourceStart, + embeddedSource, + langHandlerForExtension(lang, embeddedSource), + decorations); + // Decorate the right of the embedded section + appendDecorations( + basePos + tokenStart + embeddedSourceEnd, + token.substring(embeddedSourceEnd), + decorate, decorations); + } + } + job.decorations = decorations; + }; + return decorate; + } + + /** returns a function that produces a list of decorations from source text. + * + * This code treats ", ', and ` as string delimiters, and \ as a string + * escape. It does not recognize perl's qq() style strings. + * It has no special handling for double delimiter escapes as in basic, or + * the tripled delimiters used in python, but should work on those regardless + * although in those cases a single string literal may be broken up into + * multiple adjacent string literals. + * + * It recognizes C, C++, and shell style comments. + * + * @param {Object} options a set of optional parameters. + * @return {function (Object)} a function that examines the source code + * in the input job and builds the decoration list. + */ + function sourceDecorator(options) { + var shortcutStylePatterns = [], fallthroughStylePatterns = []; + if (options['tripleQuotedStrings']) { + // '''multi-line-string''', 'single-line-string', and double-quoted + shortcutStylePatterns.push( + [PR_STRING, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, + null, '\'"']); + } else if (options['multiLineStrings']) { + // 'multi-line-string', "multi-line-string" + shortcutStylePatterns.push( + [PR_STRING, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, + null, '\'"`']); + } else { + // 'single-line-string', "single-line-string" + shortcutStylePatterns.push( + [PR_STRING, + /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, + null, '"\'']); + } + if (options['verbatimStrings']) { + // verbatim-string-literal production from the C# grammar. See issue 93. + fallthroughStylePatterns.push( + [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]); + } + var hc = options['hashComments']; + if (hc) { + if (options['cStyleComments']) { + if (hc > 1) { // multiline hash comments + shortcutStylePatterns.push( + [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']); + } else { + // Stop C preprocessor declarations at an unclosed open comment + shortcutStylePatterns.push( + [PR_COMMENT, /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/, + null, '#']); + } + // #include <stdio.h> + fallthroughStylePatterns.push( + [PR_STRING, + /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/, + null]); + } else { + shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']); + } + } + if (options['cStyleComments']) { + fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]); + fallthroughStylePatterns.push( + [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]); + } + var regexLiterals = options['regexLiterals']; + if (regexLiterals) { + /** + * @const + */ + var regexExcls = regexLiterals > 1 + ? '' // Multiline regex literals + : '\n\r'; + /** + * @const + */ + var regexAny = regexExcls ? '.' : '[\\S\\s]'; + /** + * @const + */ + var REGEX_LITERAL = ( + // A regular expression literal starts with a slash that is + // not followed by * or / so that it is not confused with + // comments. + '/(?=[^/*' + regexExcls + '])' + // and then contains any number of raw characters, + + '(?:[^/\\x5B\\x5C' + regexExcls + ']' + // escape sequences (\x5C), + + '|\\x5C' + regexAny + // or non-nesting character sets (\x5B\x5D); + + '|\\x5B(?:[^\\x5C\\x5D' + regexExcls + ']' + + '|\\x5C' + regexAny + ')*(?:\\x5D|$))+' + // finally closed by a /. + + '/'); + fallthroughStylePatterns.push( + ['lang-regex', + RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')') + ]); + } + + var types = options['types']; + if (types) { + fallthroughStylePatterns.push([PR_TYPE, types]); + } + + var keywords = ("" + options['keywords']).replace(/^ | $/g, ''); + if (keywords.length) { + fallthroughStylePatterns.push( + [PR_KEYWORD, + new RegExp('^(?:' + keywords.replace(/[\s,]+/g, '|') + ')\\b'), + null]); + } + + shortcutStylePatterns.push([PR_PLAIN, /^\s+/, null, ' \r\n\t\xA0']); + + var punctuation = + // The Bash man page says + + // A word is a sequence of characters considered as a single + // unit by GRUB. Words are separated by metacharacters, + // which are the following plus space, tab, and newline: { } + // | & $ ; < > + // ... + + // A word beginning with # causes that word and all remaining + // characters on that line to be ignored. + + // which means that only a '#' after /(?:^|[{}|&$;<>\s])/ starts a + // comment but empirically + // $ echo {#} + // {#} + // $ echo \$# + // $# + // $ echo }# + // }# + + // so /(?:^|[|&;<>\s])/ is more appropriate. + + // http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC3 + // suggests that this definition is compatible with a + // default mode that tries to use a single token definition + // to recognize both bash/python style comments and C + // preprocessor directives. + + // This definition of punctuation does not include # in the list of + // follow-on exclusions, so # will not be broken before if preceeded + // by a punctuation character. We could try to exclude # after + // [|&;<>] but that doesn't seem to cause many major problems. + // If that does turn out to be a problem, we should change the below + // when hc is truthy to include # in the run of punctuation characters + // only when not followint [|&;<>]. + '^.[^\\s\\w.$@\'"`/\\\\]*'; + if (options['regexLiterals']) { + punctuation += '(?!\s*\/)'; + } + + fallthroughStylePatterns.push( + // TODO(mikesamuel): recognize non-latin letters and numerals in idents + [PR_LITERAL, /^@[a-z_$][a-z_$@0-9]*/i, null], + [PR_TYPE, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], + [PR_PLAIN, /^[a-z_$][a-z_$@0-9]*/i, null], + [PR_LITERAL, + new RegExp( + '^(?:' + // A hex number + + '0x[a-f0-9]+' + // or an octal or decimal number, + + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)' + // possibly in scientific notation + + '(?:e[+\\-]?\\d+)?' + + ')' + // with an optional modifier like UL for unsigned long + + '[a-z]*', 'i'), + null, '0123456789'], + // Don't treat escaped quotes in bash as starting strings. + // See issue 144. + [PR_PLAIN, /^\\[\s\S]?/, null], + [PR_PUNCTUATION, new RegExp(punctuation), null]); + + return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns); + } + + var decorateSource = sourceDecorator({ + 'keywords': ALL_KEYWORDS, + 'hashComments': true, + 'cStyleComments': true, + 'multiLineStrings': true, + 'regexLiterals': true + }); + + /** + * Given a DOM subtree, wraps it in a list, and puts each line into its own + * list item. + * + * @param {Node} node modified in place. Its content is pulled into an + * HTMLOListElement, and each line is moved into a separate list item. + * This requires cloning elements, so the input might not have unique + * IDs after numbering. + * @param {boolean} isPreformatted true iff white-space in text nodes should + * be treated as significant. + */ + function numberLines(node, opt_startLineNum, isPreformatted) { + var nocode = /(?:^|\s)nocode(?:\s|$)/; + var lineBreak = /\r\n?|\n/; + + var document = node.ownerDocument; + + var li = document.createElement('li'); + while (node.firstChild) { + li.appendChild(node.firstChild); + } + // An array of lines. We split below, so this is initialized to one + // un-split line. + var listItems = [li]; + + function walk(node) { + var type = node.nodeType; + if (type == 1 && !nocode.test(node.className)) { // Element + if ('br' === node.nodeName) { + breakAfter(node); + // Discard the <BR> since it is now flush against a </LI>. + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } else { + for (var child = node.firstChild; child; child = child.nextSibling) { + walk(child); + } + } + } else if ((type == 3 || type == 4) && isPreformatted) { // Text + var text = node.nodeValue; + var match = text.match(lineBreak); + if (match) { + var firstLine = text.substring(0, match.index); + node.nodeValue = firstLine; + var tail = text.substring(match.index + match[0].length); + if (tail) { + var parent = node.parentNode; + parent.insertBefore( + document.createTextNode(tail), node.nextSibling); + } + breakAfter(node); + if (!firstLine) { + // Don't leave blank text nodes in the DOM. + node.parentNode.removeChild(node); + } + } + } + } + + // Split a line after the given node. + function breakAfter(lineEndNode) { + // If there's nothing to the right, then we can skip ending the line + // here, and move root-wards since splitting just before an end-tag + // would require us to create a bunch of empty copies. + while (!lineEndNode.nextSibling) { + lineEndNode = lineEndNode.parentNode; + if (!lineEndNode) { return; } + } + + function breakLeftOf(limit, copy) { + // Clone shallowly if this node needs to be on both sides of the break. + var rightSide = copy ? limit.cloneNode(false) : limit; + var parent = limit.parentNode; + if (parent) { + // We clone the parent chain. + // This helps us resurrect important styling elements that cross lines. + // E.g. in <i>Foo<br>Bar</i> + // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>. + var parentClone = breakLeftOf(parent, 1); + // Move the clone and everything to the right of the original + // onto the cloned parent. + var next = limit.nextSibling; + parentClone.appendChild(rightSide); + for (var sibling = next; sibling; sibling = next) { + next = sibling.nextSibling; + parentClone.appendChild(sibling); + } + } + return rightSide; + } + + var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0); + + // Walk the parent chain until we reach an unattached LI. + for (var parent; + // Check nodeType since IE invents document fragments. + (parent = copiedListItem.parentNode) && parent.nodeType === 1;) { + copiedListItem = parent; + } + // Put it on the list of lines for later processing. + listItems.push(copiedListItem); + } + + // Split lines while there are lines left to split. + for (var i = 0; // Number of lines that have been split so far. + i < listItems.length; // length updated by breakAfter calls. + ++i) { + walk(listItems[i]); + } + + // Make sure numeric indices show correctly. + if (opt_startLineNum === (opt_startLineNum|0)) { + listItems[0].setAttribute('value', opt_startLineNum); + } + + var ol = document.createElement('ol'); + ol.className = 'linenums'; + var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0; + for (var i = 0, n = listItems.length; i < n; ++i) { + li = listItems[i]; + // Stick a class on the LIs so that stylesheets can + // color odd/even rows, or any other row pattern that + // is co-prime with 10. + li.className = 'L' + ((i + offset) % 10); + if (!li.firstChild) { + li.appendChild(document.createTextNode('\xA0')); + } + ol.appendChild(li); + } + + node.appendChild(ol); + } + /** + * Breaks {@code job.sourceCode} around style boundaries in + * {@code job.decorations} and modifies {@code job.sourceNode} in place. + * @param {Object} job like <pre>{ + * sourceCode: {string} source as plain text, + * sourceNode: {HTMLElement} the element containing the source, + * spans: {Array.<number|Node>} alternating span start indices into source + * and the text node or element (e.g. {@code <BR>}) corresponding to that + * span. + * decorations: {Array.<number|string} an array of style classes preceded + * by the position at which they start in job.sourceCode in order + * }</pre> + * @private + */ + function recombineTagsAndDecorations(job) { + var isIE8OrEarlier = /\bMSIE\s(\d+)/.exec(navigator.userAgent); + isIE8OrEarlier = isIE8OrEarlier && +isIE8OrEarlier[1] <= 8; + var newlineRe = /\n/g; + + var source = job.sourceCode; + var sourceLength = source.length; + // Index into source after the last code-unit recombined. + var sourceIndex = 0; + + var spans = job.spans; + var nSpans = spans.length; + // Index into spans after the last span which ends at or before sourceIndex. + var spanIndex = 0; + + var decorations = job.decorations; + var nDecorations = decorations.length; + // Index into decorations after the last decoration which ends at or before + // sourceIndex. + var decorationIndex = 0; + + // Remove all zero-length decorations. + decorations[nDecorations] = sourceLength; + var decPos, i; + for (i = decPos = 0; i < nDecorations;) { + if (decorations[i] !== decorations[i + 2]) { + decorations[decPos++] = decorations[i++]; + decorations[decPos++] = decorations[i++]; + } else { + i += 2; + } + } + nDecorations = decPos; + + // Simplify decorations. + for (i = decPos = 0; i < nDecorations;) { + var startPos = decorations[i]; + // Conflate all adjacent decorations that use the same style. + var startDec = decorations[i + 1]; + var end = i + 2; + while (end + 2 <= nDecorations && decorations[end + 1] === startDec) { + end += 2; + } + decorations[decPos++] = startPos; + decorations[decPos++] = startDec; + i = end; + } + + nDecorations = decorations.length = decPos; + + var sourceNode = job.sourceNode; + var oldDisplay; + if (sourceNode) { + oldDisplay = sourceNode.style.display; + sourceNode.style.display = 'none'; + } + try { + var decoration = null; + while (spanIndex < nSpans) { + var spanStart = spans[spanIndex]; + var spanEnd = spans[spanIndex + 2] || sourceLength; + + var decEnd = decorations[decorationIndex + 2] || sourceLength; + + var end = Math.min(spanEnd, decEnd); + + var textNode = spans[spanIndex + 1]; + var styledText; + if (textNode.nodeType !== 1 // Don't muck with <BR>s or <LI>s + // Don't introduce spans around empty text nodes. + && (styledText = source.substring(sourceIndex, end))) { + // This may seem bizarre, and it is. Emitting LF on IE causes the + // code to display with spaces instead of line breaks. + // Emitting Windows standard issue linebreaks (CRLF) causes a blank + // space to appear at the beginning of every line but the first. + // Emitting an old Mac OS 9 line separator makes everything spiffy. + if (isIE8OrEarlier) { + styledText = styledText.replace(newlineRe, '\r'); + } + textNode.nodeValue = styledText; + var document = textNode.ownerDocument; + var span = document.createElement('span'); + span.className = decorations[decorationIndex + 1]; + var parentNode = textNode.parentNode; + parentNode.replaceChild(span, textNode); + span.appendChild(textNode); + if (sourceIndex < spanEnd) { // Split off a text node. + spans[spanIndex + 1] = textNode + // TODO: Possibly optimize by using '' if there's no flicker. + = document.createTextNode(source.substring(end, spanEnd)); + parentNode.insertBefore(textNode, span.nextSibling); + } + } + + sourceIndex = end; + + if (sourceIndex >= spanEnd) { + spanIndex += 2; + } + if (sourceIndex >= decEnd) { + decorationIndex += 2; + } + } + } finally { + if (sourceNode) { + sourceNode.style.display = oldDisplay; + } + } + } + + /** Maps language-specific file extensions to handlers. */ + var langHandlerRegistry = {}; + /** Register a language handler for the given file extensions. + * @param {function (Object)} handler a function from source code to a list + * of decorations. Takes a single argument job which describes the + * state of the computation. The single parameter has the form + * {@code { + * sourceCode: {string} as plain text. + * decorations: {Array.<number|string>} an array of style classes + * preceded by the position at which they start in + * job.sourceCode in order. + * The language handler should assigned this field. + * basePos: {int} the position of source in the larger source chunk. + * All positions in the output decorations array are relative + * to the larger source chunk. + * } } + * @param {Array.<string>} fileExtensions + */ + function registerLangHandler(handler, fileExtensions) { + for (var i = fileExtensions.length; --i >= 0;) { + var ext = fileExtensions[i]; + if (!langHandlerRegistry.hasOwnProperty(ext)) { + langHandlerRegistry[ext] = handler; + } else if (win['console']) { + console['warn']('cannot override language handler %s', ext); + } + } + } + function langHandlerForExtension(extension, source) { + if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) { + // Treat it as markup if the first non whitespace character is a < and + // the last non-whitespace character is a >. + extension = /^\s*</.test(source) + ? 'default-markup' + : 'default-code'; + } + return langHandlerRegistry[extension]; + } + registerLangHandler(decorateSource, ['default-code']); + registerLangHandler( + createSimpleLexer( + [], + [ + [PR_PLAIN, /^[^<?]+/], + [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/], + [PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], + // Unescaped content in an unknown language + ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], + ['lang-', /^<%([\s\S]+?)(?:%>|$)/], + [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], + ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], + // Unescaped content in javascript. (Or possibly vbscript). + ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], + // Contains unescaped stylesheet content + ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], + ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i] + ]), + ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']); + registerLangHandler( + createSimpleLexer( + [ + [PR_PLAIN, /^[\s]+/, null, ' \t\r\n'], + [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\''] + ], + [ + [PR_TAG, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], + [PR_ATTRIB_NAME, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], + ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], + [PR_PUNCTUATION, /^[=<>\/]+/], + ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i], + ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i], + ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i], + ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i], + ['lang-css', /^style\s*=\s*\'([^\']+)\'/i], + ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i] + ]), + ['in.tag']); + registerLangHandler( + createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']); + registerLangHandler(sourceDecorator({ + 'keywords': CPP_KEYWORDS, + 'hashComments': true, + 'cStyleComments': true, + 'types': C_TYPES + }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']); + registerLangHandler(sourceDecorator({ + 'keywords': 'null,true,false' + }), ['json']); + registerLangHandler(sourceDecorator({ + 'keywords': CSHARP_KEYWORDS, + 'hashComments': true, + 'cStyleComments': true, + 'verbatimStrings': true, + 'types': C_TYPES + }), ['cs']); + registerLangHandler(sourceDecorator({ + 'keywords': JAVA_KEYWORDS, + 'cStyleComments': true + }), ['java']); + registerLangHandler(sourceDecorator({ + 'keywords': SH_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true + }), ['bash', 'bsh', 'csh', 'sh']); + registerLangHandler(sourceDecorator({ + 'keywords': PYTHON_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true, + 'tripleQuotedStrings': true + }), ['cv', 'py', 'python']); + registerLangHandler(sourceDecorator({ + 'keywords': PERL_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true, + 'regexLiterals': 2 // multiline regex literals + }), ['perl', 'pl', 'pm']); + registerLangHandler(sourceDecorator({ + 'keywords': RUBY_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true, + 'regexLiterals': true + }), ['rb', 'ruby']); + registerLangHandler(sourceDecorator({ + 'keywords': JSCRIPT_KEYWORDS, + 'cStyleComments': true, + 'regexLiterals': true + }), ['javascript', 'js']); + registerLangHandler(sourceDecorator({ + 'keywords': COFFEE_KEYWORDS, + 'hashComments': 3, // ### style block comments + 'cStyleComments': true, + 'multilineStrings': true, + 'tripleQuotedStrings': true, + 'regexLiterals': true + }), ['coffee']); + registerLangHandler(sourceDecorator({ + 'keywords': RUST_KEYWORDS, + 'cStyleComments': true, + 'multilineStrings': true + }), ['rc', 'rs', 'rust']); + registerLangHandler( + createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']); + + function applyDecorator(job) { + var opt_langExtension = job.langExtension; + + try { + // Extract tags, and convert the source code to plain text. + var sourceAndSpans = extractSourceSpans(job.sourceNode, job.pre); + /** Plain text. @type {string} */ + var source = sourceAndSpans.sourceCode; + job.sourceCode = source; + job.spans = sourceAndSpans.spans; + job.basePos = 0; + + // Apply the appropriate language handler + langHandlerForExtension(opt_langExtension, source)(job); + + // Integrate the decorations and tags back into the source code, + // modifying the sourceNode in place. + recombineTagsAndDecorations(job); + } catch (e) { + if (win['console']) { + console['log'](e && e['stack'] || e); + } + } + } + + /** + * Pretty print a chunk of code. + * @param sourceCodeHtml {string} The HTML to pretty print. + * @param opt_langExtension {string} The language name to use. + * Typically, a filename extension like 'cpp' or 'java'. + * @param opt_numberLines {number|boolean} True to number lines, + * or the 1-indexed number of the first line in sourceCodeHtml. + */ + function $prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) { + var container = document.createElement('div'); + // This could cause images to load and onload listeners to fire. + // E.g. <img onerror="alert(1337)" src="nosuchimage.png">. + // We assume that the inner HTML is from a trusted source. + // The pre-tag is required for IE8 which strips newlines from innerHTML + // when it is injected into a <pre> tag. + // http://stackoverflow.com/questions/451486/pre-tag-loses-line-breaks-when-setting-innerhtml-in-ie + // http://stackoverflow.com/questions/195363/inserting-a-newline-into-a-pre-tag-ie-javascript + container.innerHTML = '<pre>' + sourceCodeHtml + '</pre>'; + container = container.firstChild; + if (opt_numberLines) { + numberLines(container, opt_numberLines, true); + } + + var job = { + langExtension: opt_langExtension, + numberLines: opt_numberLines, + sourceNode: container, + pre: 1 + }; + applyDecorator(job); + return container.innerHTML; + } + + /** + * Find all the {@code <pre>} and {@code <code>} tags in the DOM with + * {@code class=prettyprint} and prettify them. + * + * @param {Function} opt_whenDone called when prettifying is done. + * @param {HTMLElement|HTMLDocument} opt_root an element or document + * containing all the elements to pretty print. + * Defaults to {@code document.body}. + */ + function $prettyPrint(opt_whenDone, opt_root) { + var root = opt_root || document.body; + var doc = root.ownerDocument || document; + function byTagName(tn) { return root.getElementsByTagName(tn); } + // fetch a list of nodes to rewrite + var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')]; + var elements = []; + for (var i = 0; i < codeSegments.length; ++i) { + for (var j = 0, n = codeSegments[i].length; j < n; ++j) { + elements.push(codeSegments[i][j]); + } + } + codeSegments = null; + + var clock = Date; + if (!clock['now']) { + clock = { 'now': function () { return +(new Date); } }; + } + + // The loop is broken into a series of continuations to make sure that we + // don't make the browser unresponsive when rewriting a large page. + var k = 0; + var prettyPrintingJob; + + var langExtensionRe = /\blang(?:uage)?-([\w.]+)(?!\S)/; + var prettyPrintRe = /\bprettyprint\b/; + var prettyPrintedRe = /\bprettyprinted\b/; + var preformattedTagNameRe = /pre|xmp/i; + var codeRe = /^code$/i; + var preCodeXmpRe = /^(?:pre|code|xmp)$/i; + var EMPTY = {}; + + function doWork() { + var endTime = (win['PR_SHOULD_USE_CONTINUATION'] ? + clock['now']() + 250 /* ms */ : + Infinity); + for (; k < elements.length && clock['now']() < endTime; k++) { + var cs = elements[k]; + + // Look for a preceding comment like + // <?prettify lang="..." linenums="..."?> + var attrs = EMPTY; + { + for (var preceder = cs; (preceder = preceder.previousSibling);) { + var nt = preceder.nodeType; + // <?foo?> is parsed by HTML 5 to a comment node (8) + // like <!--?foo?-->, but in XML is a processing instruction + var value = (nt === 7 || nt === 8) && preceder.nodeValue; + if (value + ? !/^\??prettify\b/.test(value) + : (nt !== 3 || /\S/.test(preceder.nodeValue))) { + // Skip over white-space text nodes but not others. + break; + } + if (value) { + attrs = {}; + value.replace( + /\b(\w+)=([\w:.%+-]+)/g, + function (_, name, value) { attrs[name] = value; }); + break; + } + } + } + + var className = cs.className; + if ((attrs !== EMPTY || prettyPrintRe.test(className)) + // Don't redo this if we've already done it. + // This allows recalling pretty print to just prettyprint elements + // that have been added to the page since last call. + && !prettyPrintedRe.test(className)) { + + // make sure this is not nested in an already prettified element + var nested = false; + for (var p = cs.parentNode; p; p = p.parentNode) { + var tn = p.tagName; + if (preCodeXmpRe.test(tn) + && p.className && prettyPrintRe.test(p.className)) { + nested = true; + break; + } + } + if (!nested) { + // Mark done. If we fail to prettyprint for whatever reason, + // we shouldn't try again. + cs.className += ' prettyprinted'; + + // If the classes includes a language extensions, use it. + // Language extensions can be specified like + // <pre class="prettyprint lang-cpp"> + // the language extension "cpp" is used to find a language handler + // as passed to PR.registerLangHandler. + // HTML5 recommends that a language be specified using "language-" + // as the prefix instead. Google Code Prettify supports both. + // http://dev.w3.org/html5/spec-author-view/the-code-element.html + var langExtension = attrs['lang']; + if (!langExtension) { + langExtension = className.match(langExtensionRe); + // Support <pre class="prettyprint"><code class="language-c"> + var wrapper; + if (!langExtension && (wrapper = childContentWrapper(cs)) + && codeRe.test(wrapper.tagName)) { + langExtension = wrapper.className.match(langExtensionRe); + } + + if (langExtension) { langExtension = langExtension[1]; } + } + + var preformatted; + if (preformattedTagNameRe.test(cs.tagName)) { + preformatted = 1; + } else { + var currentStyle = cs['currentStyle']; + var defaultView = doc.defaultView; + var whitespace = ( + currentStyle + ? currentStyle['whiteSpace'] + : (defaultView + && defaultView.getComputedStyle) + ? defaultView.getComputedStyle(cs, null) + .getPropertyValue('white-space') + : 0); + preformatted = whitespace + && 'pre' === whitespace.substring(0, 3); + } + + // Look for a class like linenums or linenums:<n> where <n> is the + // 1-indexed number of the first line. + var lineNums = attrs['linenums']; + if (!(lineNums = lineNums === 'true' || +lineNums)) { + lineNums = className.match(/\blinenums\b(?::(\d+))?/); + lineNums = + lineNums + ? lineNums[1] && lineNums[1].length + ? +lineNums[1] : true + : false; + } + if (lineNums) { numberLines(cs, lineNums, preformatted); } + + // do the pretty printing + prettyPrintingJob = { + langExtension: langExtension, + sourceNode: cs, + numberLines: lineNums, + pre: preformatted + }; + applyDecorator(prettyPrintingJob); + } + } + } + if (k < elements.length) { + // finish up in a continuation + setTimeout(doWork, 250); + } else if ('function' === typeof opt_whenDone) { + opt_whenDone(); + } + } + + doWork(); + } + + /** + * Contains functions for creating and registering new language handlers. + * @type {Object} + */ + var PR = win['PR'] = { + 'createSimpleLexer': createSimpleLexer, + 'registerLangHandler': registerLangHandler, + 'sourceDecorator': sourceDecorator, + 'PR_ATTRIB_NAME': PR_ATTRIB_NAME, + 'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE, + 'PR_COMMENT': PR_COMMENT, + 'PR_DECLARATION': PR_DECLARATION, + 'PR_KEYWORD': PR_KEYWORD, + 'PR_LITERAL': PR_LITERAL, + 'PR_NOCODE': PR_NOCODE, + 'PR_PLAIN': PR_PLAIN, + 'PR_PUNCTUATION': PR_PUNCTUATION, + 'PR_SOURCE': PR_SOURCE, + 'PR_STRING': PR_STRING, + 'PR_TAG': PR_TAG, + 'PR_TYPE': PR_TYPE, + 'prettyPrintOne': + IN_GLOBAL_SCOPE + ? (win['prettyPrintOne'] = $prettyPrintOne) + : (prettyPrintOne = $prettyPrintOne), + 'prettyPrint': prettyPrint = + IN_GLOBAL_SCOPE + ? (win['prettyPrint'] = $prettyPrint) + : (prettyPrint = $prettyPrint) + }; + + // Make PR available via the Asynchronous Module Definition (AMD) API. + // Per https://github.com/amdjs/amdjs-api/wiki/AMD: + // The Asynchronous Module Definition (AMD) API specifies a + // mechanism for defining modules such that the module and its + // dependencies can be asynchronously loaded. + // ... + // To allow a clear indicator that a global define function (as + // needed for script src browser loading) conforms to the AMD API, + // any global define function SHOULD have a property called "amd" + // whose value is an object. This helps avoid conflict with any + // other existing JavaScript code that could have defined a define() + // function that does not conform to the AMD API. + if (typeof define === "function" && define['amd']) { + define("google-code-prettify", [], function () { + return PR; + }); + } +})(); diff --git a/_site/sitemap.xml b/_site/sitemap.xml new file mode 100644 index 0000000000000000000000000000000000000000..55648c963b9c6bd455d3599644a32210279d4721 --- /dev/null +++ b/_site/sitemap.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 + http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" + xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> + + <url> + <loc>http://maangalabs.com/blog/2014/09/09/example</loc> + + <lastmod>2014-09-09T22:37:00+05:30</lastmod> + + <changefreq>weekly</changefreq> + <priority>1.0</priority> + </url> + + + + + + + + + + + + + + +</urlset> \ No newline at end of file diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000000000000000000000000000000000000..a6628bd842af95a7f423155dd95510941d3a78dc --- /dev/null +++ b/atom.xml @@ -0,0 +1,30 @@ +--- +layout: null +--- +<?xml version="1.0" encoding="UTF-8"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> + <channel> + <title>{{ site.title | xml_escape }}</title> + <description>{{ site.description | xml_escape }}</description> + <link>{{ site.url }}{{ site.baseurl }}/</link> + <atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/> + <pubDate>{{ site.time | date_to_rfc822 }}</pubDate> + <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate> + <generator>Jekyll v{{ jekyll.version }}</generator> + {% for post in site.posts limit:10 %} + <item> + <title>{{ post.title | xml_escape }}</title> + <description>{{ post.content | xml_escape }}</description> + <pubDate>{{ post.date | date_to_rfc822 }}</pubDate> + <link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link> + <guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid> + {% for tag in post.tags %} + <category>{{ tag | xml_escape }}</category> + {% endfor %} + {% for cat in post.categories %} + <category>{{ cat | xml_escape }}</category> + {% endfor %} + </item> + {% endfor %} + </channel> +</rss> diff --git a/contribute.md b/contribute.md new file mode 100644 index 0000000000000000000000000000000000000000..e4f85032db8a460479f8b3fb980f658d52c71058 --- /dev/null +++ b/contribute.md @@ -0,0 +1,8 @@ +--- +layout: page +title: Contribute +permalink: /contribute/ +--- + + +<strong>NB:</strong> Page is under construction and i'll be adding more details soon. \ No newline at end of file diff --git a/css/main.scss b/css/main.scss new file mode 100755 index 0000000000000000000000000000000000000000..beee4e3daf15e5fbaa871f11b089c525af14df76 --- /dev/null +++ b/css/main.scss @@ -0,0 +1,52 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- +@charset "utf-8"; + + + +// Our variables +$base-font-family: Helvetica, Arial, sans-serif; +$base-font-size: 16px; +$small-font-size: $base-font-size * 0.875; +$base-line-height: 1.5; + +$spacing-unit: 30px; + +$text-color: #111; +$background-color: #fdfdfd; +$brand-color: #2a7ae2; + +$grey-color: #828282; +$grey-color-light: lighten($grey-color, 40%); +$grey-color-dark: darken($grey-color, 25%); + +// Width of the content area +$content-width: 800px; + +$on-palm: 600px; +$on-laptop: 800px; + + + +// Using media queries with like this: +// @include media-query($on-palm) { +// .wrapper { +// padding-right: $spacing-unit / 2; +// padding-left: $spacing-unit / 2; +// } +// } +@mixin media-query($device) { + @media screen and (max-width: $device) { + @content; + } +} + + + +// Import partials from `sass_dir` (defaults to `_sass`) +@import + "base", + "layout", + "syntax-highlighting" +; diff --git a/donate.md b/donate.md new file mode 100644 index 0000000000000000000000000000000000000000..a7c8387305b5b7d4c64b09880734ebef3ac53d4f --- /dev/null +++ b/donate.md @@ -0,0 +1,8 @@ +--- +layout: page +title: Donate +permalink: /donate/ +--- + + +Page is under construction and i'll be adding more details soon. diff --git a/gitignore b/gitignore new file mode 100644 index 0000000000000000000000000000000000000000..308259eacddff6fa5eef188068b181224b062659 --- /dev/null +++ b/gitignore @@ -0,0 +1,2 @@ +/_site/* +/.sass-cache/* diff --git a/images/maanga-logo.png b/images/maanga-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8f07f6886758a2c5023c612e8ef11c399668ab52 Binary files /dev/null and b/images/maanga-logo.png differ diff --git a/images/posts/1/sails-1.png b/images/posts/1/sails-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7fa7edc5bd967e92222b3e978e49910f6dc144d9 Binary files /dev/null and b/images/posts/1/sails-1.png differ diff --git a/images/posts/1/sails-2.png b/images/posts/1/sails-2.png new file mode 100644 index 0000000000000000000000000000000000000000..87800d9a8e5dc8c91603f1bbc808abf473b8d307 Binary files /dev/null and b/images/posts/1/sails-2.png differ diff --git a/images/posts/2/api-1.png b/images/posts/2/api-1.png new file mode 100644 index 0000000000000000000000000000000000000000..89be186d8876a0f13906e62caed158e232c62770 Binary files /dev/null and b/images/posts/2/api-1.png differ diff --git a/images/posts/2/api-2.png b/images/posts/2/api-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca8e96387be93c2c55af3e44e7b48ff8da96bd8c Binary files /dev/null and b/images/posts/2/api-2.png differ diff --git a/images/posts/2/api-3.png b/images/posts/2/api-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a667c14dae680c494f320cc881b395a0518a3b75 Binary files /dev/null and b/images/posts/2/api-3.png differ diff --git a/images/posts/2/api-4.png b/images/posts/2/api-4.png new file mode 100644 index 0000000000000000000000000000000000000000..54c3ec6405a837500530cc8a1f4a84075118513e Binary files /dev/null and b/images/posts/2/api-4.png differ diff --git a/images/posts/2/api-5.png b/images/posts/2/api-5.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6b57e6958250c7e3451a7380bdf3dccbecddfd Binary files /dev/null and b/images/posts/2/api-5.png differ diff --git a/images/posts/3/arc-1.png b/images/posts/3/arc-1.png new file mode 100644 index 0000000000000000000000000000000000000000..966f948a85e2826b788c76516bf9cc9240e5f8a4 Binary files /dev/null and b/images/posts/3/arc-1.png differ diff --git a/images/posts/3/arc-2.png b/images/posts/3/arc-2.png new file mode 100644 index 0000000000000000000000000000000000000000..12a34d3761dd7173399304ff6067c5e0a762f856 Binary files /dev/null and b/images/posts/3/arc-2.png differ diff --git a/images/posts/3/arc-3.png b/images/posts/3/arc-3.png new file mode 100644 index 0000000000000000000000000000000000000000..abf055daf57f5d43378ae516de72aee0e563a1fa Binary files /dev/null and b/images/posts/3/arc-3.png differ diff --git a/images/posts/3/arc-4.png b/images/posts/3/arc-4.png new file mode 100644 index 0000000000000000000000000000000000000000..a78034628ee2ed1905b9da318e528a44a358f5a1 Binary files /dev/null and b/images/posts/3/arc-4.png differ diff --git a/images/posts/3/arc-5.png b/images/posts/3/arc-5.png new file mode 100644 index 0000000000000000000000000000000000000000..313bfa1b4fbc8cc931197ae41ec09b7b1e80d6ad Binary files /dev/null and b/images/posts/3/arc-5.png differ diff --git a/images/posts/3/arc-6.png b/images/posts/3/arc-6.png new file mode 100644 index 0000000000000000000000000000000000000000..9d63835412d5daa768d0753889a96b4e31240a57 Binary files /dev/null and b/images/posts/3/arc-6.png differ diff --git a/images/posts/4/routes-1.png b/images/posts/4/routes-1.png new file mode 100644 index 0000000000000000000000000000000000000000..63a348f814892dc71ef999402123ef9c43019884 Binary files /dev/null and b/images/posts/4/routes-1.png differ diff --git a/images/posts/4/routes-2.png b/images/posts/4/routes-2.png new file mode 100644 index 0000000000000000000000000000000000000000..34908f5dcaa16a6c19c874eabd0ca1b178df669e Binary files /dev/null and b/images/posts/4/routes-2.png differ diff --git a/images/posts/4/routes-3.png b/images/posts/4/routes-3.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3c6f969bee761aae12235aac95eafd502c2613 Binary files /dev/null and b/images/posts/4/routes-3.png differ diff --git a/images/posts/4/routes-4.png b/images/posts/4/routes-4.png new file mode 100644 index 0000000000000000000000000000000000000000..607b60e415b5ac4bf726f6eb2c9d83f08a8b9feb Binary files /dev/null and b/images/posts/4/routes-4.png differ diff --git a/images/posts/5/theme-1.png b/images/posts/5/theme-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f9158def9d6e819fbd0907d425c0d8edbb96b8 Binary files /dev/null and b/images/posts/5/theme-1.png differ diff --git a/images/posts/5/theme-2.png b/images/posts/5/theme-2.png new file mode 100644 index 0000000000000000000000000000000000000000..be475476eaba311a892cc40717654344d5b06917 Binary files /dev/null and b/images/posts/5/theme-2.png differ diff --git a/images/posts/5/theme-3.png b/images/posts/5/theme-3.png new file mode 100644 index 0000000000000000000000000000000000000000..51c7af9ca5256fb8baf4d0f5a6096eddcdade663 Binary files /dev/null and b/images/posts/5/theme-3.png differ diff --git a/images/posts/6/adap-1.png b/images/posts/6/adap-1.png new file mode 100644 index 0000000000000000000000000000000000000000..dd3c0280ac9e778d5c500c0e2fdaa8a4142dcade Binary files /dev/null and b/images/posts/6/adap-1.png differ diff --git a/images/posts/6/adap-2.png b/images/posts/6/adap-2.png new file mode 100644 index 0000000000000000000000000000000000000000..846212e6b9aeb0e4b29bf91cb4e938fd89a0806a Binary files /dev/null and b/images/posts/6/adap-2.png differ diff --git a/images/posts/6/adap-3.png b/images/posts/6/adap-3.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf143c974075e68626d3218f7a72ec0c0ccee11 Binary files /dev/null and b/images/posts/6/adap-3.png differ diff --git a/images/posts/6/adap-4.png b/images/posts/6/adap-4.png new file mode 100644 index 0000000000000000000000000000000000000000..57981c0623b9aa682d6e80c5a4663303511d760f Binary files /dev/null and b/images/posts/6/adap-4.png differ diff --git a/images/posts/6/adap-5.png b/images/posts/6/adap-5.png new file mode 100644 index 0000000000000000000000000000000000000000..73587917877ec03d7824838a57109d89311200d6 Binary files /dev/null and b/images/posts/6/adap-5.png differ diff --git a/images/posts/6/adap-6.png b/images/posts/6/adap-6.png new file mode 100644 index 0000000000000000000000000000000000000000..ead29580a30229cc5204d8c8e264cd46e9e6b2b7 Binary files /dev/null and b/images/posts/6/adap-6.png differ diff --git a/images/posts/6/adap-7.png b/images/posts/6/adap-7.png new file mode 100644 index 0000000000000000000000000000000000000000..ed222a3519ee5de1091d6ec13021aea7bdf9f6a5 Binary files /dev/null and b/images/posts/6/adap-7.png differ diff --git a/images/posts/7/upl-1.png b/images/posts/7/upl-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed7d4576447c906cccf340af4974d92ba965be6 Binary files /dev/null and b/images/posts/7/upl-1.png differ diff --git a/images/posts/7/upl-2.png b/images/posts/7/upl-2.png new file mode 100644 index 0000000000000000000000000000000000000000..dcda1088050e061c194201efe5c46e395b279f66 Binary files /dev/null and b/images/posts/7/upl-2.png differ diff --git a/images/posts/7/upl-3.png b/images/posts/7/upl-3.png new file mode 100644 index 0000000000000000000000000000000000000000..bc319d168c7573136dff6cb45bd83db35adc6bfc Binary files /dev/null and b/images/posts/7/upl-3.png differ diff --git a/images/posts/7/upl-4.png b/images/posts/7/upl-4.png new file mode 100644 index 0000000000000000000000000000000000000000..6d7039ee654e74cc7d2d8ac1197c710d0c7f8c18 Binary files /dev/null and b/images/posts/7/upl-4.png differ diff --git a/images/posts/7/upl-5.png b/images/posts/7/upl-5.png new file mode 100644 index 0000000000000000000000000000000000000000..179124bd2edd48d3b10a99287fb72973fd895ad8 Binary files /dev/null and b/images/posts/7/upl-5.png differ diff --git a/images/posts/7/upl-6.png b/images/posts/7/upl-6.png new file mode 100644 index 0000000000000000000000000000000000000000..a7eb28da045a1ee2615c87139c0f1bd15ef2887b Binary files /dev/null and b/images/posts/7/upl-6.png differ diff --git a/images/posts/7/upl-7.png b/images/posts/7/upl-7.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec474227f5a5c12463a521cd6b0ccc83ca2ed29 Binary files /dev/null and b/images/posts/7/upl-7.png differ diff --git a/images/posts/7/upl-8.png b/images/posts/7/upl-8.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d36515282c135a7d2d69223bd5109857018ef2 Binary files /dev/null and b/images/posts/7/upl-8.png differ diff --git a/images/posts/8/10436156_918411888173088_1138930819191182253_n.jpg b/images/posts/8/10436156_918411888173088_1138930819191182253_n.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74349ef78d6ad1cf3e7b8fc13c44d3860ff42cf0 Binary files /dev/null and b/images/posts/8/10436156_918411888173088_1138930819191182253_n.jpg differ diff --git a/images/posts/8/pyr-1.png b/images/posts/8/pyr-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8248ee637784a9a5d103adc88084069b5261de92 Binary files /dev/null and b/images/posts/8/pyr-1.png differ diff --git a/images/posts/8/pyr-2.png b/images/posts/8/pyr-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5bbe63804741e9d160be3ff10faa7efbabbd2e33 Binary files /dev/null and b/images/posts/8/pyr-2.png differ diff --git a/images/posts/9/waterlock-1.png b/images/posts/9/waterlock-1.png new file mode 100644 index 0000000000000000000000000000000000000000..89bbf829258aab3fd596284b55d1145f2c3ef790 Binary files /dev/null and b/images/posts/9/waterlock-1.png differ diff --git a/images/posts/9/waterlock-2.png b/images/posts/9/waterlock-2.png new file mode 100644 index 0000000000000000000000000000000000000000..671f3ed2bdecb0acf1c534707de88eafb44970cc Binary files /dev/null and b/images/posts/9/waterlock-2.png differ diff --git a/images/posts/9/waterlock-3.png b/images/posts/9/waterlock-3.png new file mode 100644 index 0000000000000000000000000000000000000000..716588fa1bb4065e102197f4d1788b6f553bf6d3 Binary files /dev/null and b/images/posts/9/waterlock-3.png differ diff --git a/images/posts/9/waterlock-4.png b/images/posts/9/waterlock-4.png new file mode 100644 index 0000000000000000000000000000000000000000..73afb557797e403b35eabe78c7f8d1416dfe3675 Binary files /dev/null and b/images/posts/9/waterlock-4.png differ diff --git a/images/posts/9/waterlock-5.png b/images/posts/9/waterlock-5.png new file mode 100644 index 0000000000000000000000000000000000000000..f3fafaa6cdbef8d9cb68069f9f63757d969fc317 Binary files /dev/null and b/images/posts/9/waterlock-5.png differ diff --git a/images/posts/9/waterlock-6.png b/images/posts/9/waterlock-6.png new file mode 100644 index 0000000000000000000000000000000000000000..2d51508d4b378a8d94ad11f88037d6cc75593440 Binary files /dev/null and b/images/posts/9/waterlock-6.png differ diff --git a/images/posts/9/waterlock-7.png b/images/posts/9/waterlock-7.png new file mode 100644 index 0000000000000000000000000000000000000000..85893bfa86758770f9643a08633d8ae543f65eae Binary files /dev/null and b/images/posts/9/waterlock-7.png differ diff --git a/images/posts/9/waterlock-8.png b/images/posts/9/waterlock-8.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ca25a90eb19aa603009ccb3ff76076e67e3b2a Binary files /dev/null and b/images/posts/9/waterlock-8.png differ diff --git a/images/posts/9/waterlock-9.png b/images/posts/9/waterlock-9.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7c502cf3714ca9841a264f665a42ef1da62f83 Binary files /dev/null and b/images/posts/9/waterlock-9.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000000000000000000000000000000000000..8a729ae29eee6b6c2ebd03ae804a915de78913f4 --- /dev/null +++ b/index.html @@ -0,0 +1,54 @@ +--- +layout: default +index: true +--- + + + <div class="row"> + <div class="col-md-1"></div> + <div class="col-md-7"> + <!-- Blog Post Links --> + <div class="blog-post-small"> + {% for post in site.posts %} + <h3><a href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></h3> + <p><i class="fa fa-calendar"></i> {{ post.date | date: "%b %-d, %Y" }} | {% if site.disqus_short_name and page.comments != false and site.disqus_show_comment_count == true %} + <a href="{% if page.index %}{{ root_url }}{{ post.url }}{% endif %}#disqus_thread">Comments</a> + {% endif %}</p> + {% if post.content contains '<!-- more -->' %} + <p>{{ post.content | split:'<!-- more -->' | first }} + <br><br> + <a href="{{ post.url }}"class="btn btn-primary btn-sm">Read More</a> + </p> + {% else %} + {{ post.content }} + {% endif %} + {% endfor %} + </div> + <!-- End Blog Post Links --> + </div> + <!-- SideBar --> + <div class="col-md-3"> + {% if site.feedburner_username %} + <div class="panel panel-primary" style="margin-top:10%;"> + <div class="panel-body"> + + <form action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri={{site.feedburner_username}}', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true"> + <div class="input-group"> + <input type="text" class="form-control" name="email"/> + <input type="hidden" value="maangalabs" name="uri"/> + <input type="hidden" name="loc" value="en_US"/> + <span class="input-group-btn"> + <input type="submit" class="btn btn-primary" value="Subscribe Us" /> + </span> + </div> + <p><a href="http://feeds.feedburner.com/{{site.feedburner_username}}"><img style="margin-left:auto;margin-right:auto;" src="http://feeds.feedburner.com/~fc/{{site.feedburner_username}}?bg=007196&fg=FFFFFF&anim=1" height="26" width="88" style="border:1;" alt="" /></a></form> + + </div> + + </div> + {% endif %} + </div> + <!-- End Sidebar --> + <div class="col-md-1"></div> + </div> + diff --git a/js/prettify.js b/js/prettify.js new file mode 100644 index 0000000000000000000000000000000000000000..10c9fb73d75268107f8273ebbb83aaae361d2a85 --- /dev/null +++ b/js/prettify.js @@ -0,0 +1,1655 @@ +// Copyright (C) 2006 Google 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. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + * + * <p> + * For a fairly comprehensive set of languages see the + * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a> + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + * <p> + * Usage: <ol> + * <li> include this source file in an html page via + * {@code <script type="text/javascript" src="/path/to/prettify.js"></script>} + * <li> define style rules. See the example page for examples. + * <li> mark the {@code <pre>} and {@code <code>} tags in your source with + * {@code class=prettyprint.} + * You can also use the (html deprecated) {@code <xmp>} tag, but the pretty + * printer needs to do more substantial DOM manipulations to support that, so + * some css styles may not be preserved. + * </ol> + * That's it. I wanted to keep the API as simple as possible, so there's no + * need to specify which language the code is in, but if you wish, you can add + * another class to the {@code <pre>} or {@code <code>} element to specify the + * language, as in {@code <pre class="prettyprint lang-java">}. Any class that + * starts with "lang-" followed by a file extension, specifies the file type. + * See the "lang-*.js" files in this directory for code that implements + * per-language file handlers. + * <p> + * Change log:<br> + * cbeust, 2006/08/22 + * <blockquote> + * Java annotations (start with "@") are now captured as literals ("lit") + * </blockquote> + * @requires console + */ + +// JSLint declarations +/*global console, document, navigator, setTimeout, window, define */ + +/** @define {boolean} */ +var IN_GLOBAL_SCOPE = true; + +/** + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with + * UI events. + * If set to {@code false}, {@code prettyPrint()} is synchronous. + */ +window['PR_SHOULD_USE_CONTINUATION'] = true; + +/** + * Pretty print a chunk of code. + * @param {string} sourceCodeHtml The HTML to pretty print. + * @param {string} opt_langExtension The language name to use. + * Typically, a filename extension like 'cpp' or 'java'. + * @param {number|boolean} opt_numberLines True to number lines, + * or the 1-indexed number of the first line in sourceCodeHtml. + * @return {string} code as html, but prettier + */ +var prettyPrintOne; +/** + * Find all the {@code <pre>} and {@code <code>} tags in the DOM with + * {@code class=prettyprint} and prettify them. + * + * @param {Function} opt_whenDone called when prettifying is done. + * @param {HTMLElement|HTMLDocument} opt_root an element or document + * containing all the elements to pretty print. + * Defaults to {@code document.body}. + */ +var prettyPrint; + + +(function () { + var win = window; + // Keyword lists for various languages. + // We use things that coerce to strings to make them compact when minified + // and to defeat aggressive optimizers that fold large string constants. + var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"]; + var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," + + "double,enum,extern,float,goto,inline,int,long,register,short,signed," + + "sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"]; + var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," + + "new,operator,private,protected,public,this,throw,true,try,typeof"]; + var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," + + "concept,concept_map,const_cast,constexpr,decltype,delegate," + + "dynamic_cast,explicit,export,friend,generic,late_check," + + "mutable,namespace,nullptr,property,reinterpret_cast,static_assert," + + "static_cast,template,typeid,typename,using,virtual,where"]; + var JAVA_KEYWORDS = [COMMON_KEYWORDS, + "abstract,assert,boolean,byte,extends,final,finally,implements,import," + + "instanceof,interface,null,native,package,strictfp,super,synchronized," + + "throws,transient"]; + var CSHARP_KEYWORDS = [JAVA_KEYWORDS, + "as,base,by,checked,decimal,delegate,descending,dynamic,event," + + "fixed,foreach,from,group,implicit,in,internal,into,is,let," + + "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," + + "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," + + "var,virtual,where"]; + var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," + + "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," + + "throw,true,try,unless,until,when,while,yes"; + var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS, + "debugger,eval,export,function,get,null,set,undefined,var,with," + + "Infinity,NaN"]; + var PERL_KEYWORDS = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," + + "goto,if,import,last,local,my,next,no,our,print,package,redo,require," + + "sub,undef,unless,until,use,wantarray,while,BEGIN,END"; + var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," + + "elif,except,exec,finally,from,global,import,in,is,lambda," + + "nonlocal,not,or,pass,print,raise,try,with,yield," + + "False,True,None"]; + var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," + + "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," + + "rescue,retry,self,super,then,true,undef,unless,until,when,yield," + + "BEGIN,END"]; + var RUST_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "as,assert,const,copy,drop," + + "enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv," + + "pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"]; + var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," + + "function,in,local,set,then,until"]; + var ALL_KEYWORDS = [ + CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS, + PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS]; + var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/; + + // token style names. correspond to css classes + /** + * token style for a string literal + * @const + */ + var PR_STRING = 'str'; + /** + * token style for a keyword + * @const + */ + var PR_KEYWORD = 'kwd'; + /** + * token style for a comment + * @const + */ + var PR_COMMENT = 'com'; + /** + * token style for a type + * @const + */ + var PR_TYPE = 'typ'; + /** + * token style for a literal value. e.g. 1, null, true. + * @const + */ + var PR_LITERAL = 'lit'; + /** + * token style for a punctuation string. + * @const + */ + var PR_PUNCTUATION = 'pun'; + /** + * token style for plain text. + * @const + */ + var PR_PLAIN = 'pln'; + + /** + * token style for an sgml tag. + * @const + */ + var PR_TAG = 'tag'; + /** + * token style for a markup declaration such as a DOCTYPE. + * @const + */ + var PR_DECLARATION = 'dec'; + /** + * token style for embedded source. + * @const + */ + var PR_SOURCE = 'src'; + /** + * token style for an sgml attribute name. + * @const + */ + var PR_ATTRIB_NAME = 'atn'; + /** + * token style for an sgml attribute value. + * @const + */ + var PR_ATTRIB_VALUE = 'atv'; + + /** + * A class that indicates a section of markup that is not code, e.g. to allow + * embedding of line numbers within code listings. + * @const + */ + var PR_NOCODE = 'nocode'; + + + + /** + * A set of tokens that can precede a regular expression literal in + * javascript + * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html + * has the full list, but I've removed ones that might be problematic when + * seen in languages that don't support regular expression literals. + * + * <p>Specifically, I've removed any keywords that can't precede a regexp + * literal in a syntactically legal javascript program, and I've removed the + * "in" keyword since it's not a keyword in many languages, and might be used + * as a count of inches. + * + * <p>The link above does not accurately describe EcmaScript rules since + * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works + * very well in practice. + * + * @private + * @const + */ + var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*'; + + // CAVEAT: this does not properly handle the case where a regular + // expression immediately follows another since a regular expression may + // have flags for case-sensitivity and the like. Having regexp tokens + // adjacent is not valid in any language I'm aware of, so I'm punting. + // TODO: maybe style special characters inside a regexp as punctuation. + + /** + * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally + * matches the union of the sets of strings matched by the input RegExp. + * Since it matches globally, if the input strings have a start-of-input + * anchor (/^.../), it is ignored for the purposes of unioning. + * @param {Array.<RegExp>} regexs non multiline, non-global regexs. + * @return {RegExp} a global regex. + */ + function combinePrefixPatterns(regexs) { + var capturedGroupIndex = 0; + + var needToFoldCase = false; + var ignoreCase = false; + for (var i = 0, n = regexs.length; i < n; ++i) { + var regex = regexs[i]; + if (regex.ignoreCase) { + ignoreCase = true; + } else if (/[a-z]/i.test(regex.source.replace( + /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) { + needToFoldCase = true; + ignoreCase = false; + break; + } + } + + var escapeCharToCodeUnit = { + 'b': 8, + 't': 9, + 'n': 0xa, + 'v': 0xb, + 'f': 0xc, + 'r': 0xd + }; + + function decodeEscape(charsetPart) { + var cc0 = charsetPart.charCodeAt(0); + if (cc0 !== 92 /* \\ */) { + return cc0; + } + var c1 = charsetPart.charAt(1); + cc0 = escapeCharToCodeUnit[c1]; + if (cc0) { + return cc0; + } else if ('0' <= c1 && c1 <= '7') { + return parseInt(charsetPart.substring(1), 8); + } else if (c1 === 'u' || c1 === 'x') { + return parseInt(charsetPart.substring(2), 16); + } else { + return charsetPart.charCodeAt(1); + } + } + + function encodeEscape(charCode) { + if (charCode < 0x20) { + return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16); + } + var ch = String.fromCharCode(charCode); + return (ch === '\\' || ch === '-' || ch === ']' || ch === '^') + ? "\\" + ch : ch; + } + + function caseFoldCharset(charSet) { + var charsetParts = charSet.substring(1, charSet.length - 1).match( + new RegExp( + '\\\\u[0-9A-Fa-f]{4}' + + '|\\\\x[0-9A-Fa-f]{2}' + + '|\\\\[0-3][0-7]{0,2}' + + '|\\\\[0-7]{1,2}' + + '|\\\\[\\s\\S]' + + '|-' + + '|[^-\\\\]', + 'g')); + var ranges = []; + var inverse = charsetParts[0] === '^'; + + var out = ['[']; + if (inverse) { out.push('^'); } + + for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) { + var p = charsetParts[i]; + if (/\\[bdsw]/i.test(p)) { // Don't muck with named groups. + out.push(p); + } else { + var start = decodeEscape(p); + var end; + if (i + 2 < n && '-' === charsetParts[i + 1]) { + end = decodeEscape(charsetParts[i + 2]); + i += 2; + } else { + end = start; + } + ranges.push([start, end]); + // If the range might intersect letters, then expand it. + // This case handling is too simplistic. + // It does not deal with non-latin case folding. + // It works for latin source code identifiers though. + if (!(end < 65 || start > 122)) { + if (!(end < 65 || start > 90)) { + ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]); + } + if (!(end < 97 || start > 122)) { + ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]); + } + } + } + } + + // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]] + // -> [[1, 12], [14, 14], [16, 17]] + ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1] - a[1]); }); + var consolidatedRanges = []; + var lastRange = []; + for (var i = 0; i < ranges.length; ++i) { + var range = ranges[i]; + if (range[0] <= lastRange[1] + 1) { + lastRange[1] = Math.max(lastRange[1], range[1]); + } else { + consolidatedRanges.push(lastRange = range); + } + } + + for (var i = 0; i < consolidatedRanges.length; ++i) { + var range = consolidatedRanges[i]; + out.push(encodeEscape(range[0])); + if (range[1] > range[0]) { + if (range[1] + 1 > range[0]) { out.push('-'); } + out.push(encodeEscape(range[1])); + } + } + out.push(']'); + return out.join(''); + } + + function allowAnywhereFoldCaseAndRenumberGroups(regex) { + // Split into character sets, escape sequences, punctuation strings + // like ('(', '(?:', ')', '^'), and runs of characters that do not + // include any of the above. + var parts = regex.source.match( + new RegExp( + '(?:' + + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]' // a character set + + '|\\\\u[A-Fa-f0-9]{4}' // a unicode escape + + '|\\\\x[A-Fa-f0-9]{2}' // a hex escape + + '|\\\\[0-9]+' // a back-reference or octal escape + + '|\\\\[^ux0-9]' // other escape sequence + + '|\\(\\?[:!=]' // start of a non-capturing group + + '|[\\(\\)\\^]' // start/end of a group, or line start + + '|[^\\x5B\\x5C\\(\\)\\^]+' // run of other characters + + ')', + 'g')); + var n = parts.length; + + // Maps captured group numbers to the number they will occupy in + // the output or to -1 if that has not been determined, or to + // undefined if they need not be capturing in the output. + var capturedGroups = []; + + // Walk over and identify back references to build the capturedGroups + // mapping. + for (var i = 0, groupIndex = 0; i < n; ++i) { + var p = parts[i]; + if (p === '(') { + // groups are 1-indexed, so max group index is count of '(' + ++groupIndex; + } else if ('\\' === p.charAt(0)) { + var decimalValue = +p.substring(1); + if (decimalValue) { + if (decimalValue <= groupIndex) { + capturedGroups[decimalValue] = -1; + } else { + // Replace with an unambiguous escape sequence so that + // an octal escape sequence does not turn into a backreference + // to a capturing group from an earlier regex. + parts[i] = encodeEscape(decimalValue); + } + } + } + } + + // Renumber groups and reduce capturing groups to non-capturing groups + // where possible. + for (var i = 1; i < capturedGroups.length; ++i) { + if (-1 === capturedGroups[i]) { + capturedGroups[i] = ++capturedGroupIndex; + } + } + for (var i = 0, groupIndex = 0; i < n; ++i) { + var p = parts[i]; + if (p === '(') { + ++groupIndex; + if (!capturedGroups[groupIndex]) { + parts[i] = '(?:'; + } + } else if ('\\' === p.charAt(0)) { + var decimalValue = +p.substring(1); + if (decimalValue && decimalValue <= groupIndex) { + parts[i] = '\\' + capturedGroups[decimalValue]; + } + } + } + + // Remove any prefix anchors so that the output will match anywhere. + // ^^ really does mean an anchored match though. + for (var i = 0; i < n; ++i) { + if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; } + } + + // Expand letters to groups to handle mixing of case-sensitive and + // case-insensitive patterns if necessary. + if (regex.ignoreCase && needToFoldCase) { + for (var i = 0; i < n; ++i) { + var p = parts[i]; + var ch0 = p.charAt(0); + if (p.length >= 2 && ch0 === '[') { + parts[i] = caseFoldCharset(p); + } else if (ch0 !== '\\') { + // TODO: handle letters in numeric escapes. + parts[i] = p.replace( + /[a-zA-Z]/g, + function (ch) { + var cc = ch.charCodeAt(0); + return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']'; + }); + } + } + } + + return parts.join(''); + } + + var rewritten = []; + for (var i = 0, n = regexs.length; i < n; ++i) { + var regex = regexs[i]; + if (regex.global || regex.multiline) { throw new Error('' + regex); } + rewritten.push( + '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')'); + } + + return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g'); + } + + /** + * Split markup into a string of source code and an array mapping ranges in + * that string to the text nodes in which they appear. + * + * <p> + * The HTML DOM structure:</p> + * <pre> + * (Element "p" + * (Element "b" + * (Text "print ")) ; #1 + * (Text "'Hello '") ; #2 + * (Element "br") ; #3 + * (Text " + 'World';")) ; #4 + * </pre> + * <p> + * corresponds to the HTML + * {@code <p><b>print </b>'Hello '<br> + 'World';</p>}.</p> + * + * <p> + * It will produce the output:</p> + * <pre> + * { + * sourceCode: "print 'Hello '\n + 'World';", + * // 1 2 + * // 012345678901234 5678901234567 + * spans: [0, #1, 6, #2, 14, #3, 15, #4] + * } + * </pre> + * <p> + * where #1 is a reference to the {@code "print "} text node above, and so + * on for the other text nodes. + * </p> + * + * <p> + * The {@code} spans array is an array of pairs. Even elements are the start + * indices of substrings, and odd elements are the text nodes (or BR elements) + * that contain the text for those substrings. + * Substrings continue until the next index or the end of the source. + * </p> + * + * @param {Node} node an HTML DOM subtree containing source-code. + * @param {boolean} isPreformatted true if white-space in text nodes should + * be considered significant. + * @return {Object} source code and the text nodes in which they occur. + */ + function extractSourceSpans(node, isPreformatted) { + var nocode = /(?:^|\s)nocode(?:\s|$)/; + + var chunks = []; + var length = 0; + var spans = []; + var k = 0; + + function walk(node) { + var type = node.nodeType; + if (type == 1) { // Element + if (nocode.test(node.className)) { return; } + for (var child = node.firstChild; child; child = child.nextSibling) { + walk(child); + } + var nodeName = node.nodeName.toLowerCase(); + if ('br' === nodeName || 'li' === nodeName) { + chunks[k] = '\n'; + spans[k << 1] = length++; + spans[(k++ << 1) | 1] = node; + } + } else if (type == 3 || type == 4) { // Text + var text = node.nodeValue; + if (text.length) { + if (!isPreformatted) { + text = text.replace(/[ \t\r\n]+/g, ' '); + } else { + text = text.replace(/\r\n?/g, '\n'); // Normalize newlines. + } + // TODO: handle tabs here? + chunks[k] = text; + spans[k << 1] = length; + length += text.length; + spans[(k++ << 1) | 1] = node; + } + } + } + + walk(node); + + return { + sourceCode: chunks.join('').replace(/\n$/, ''), + spans: spans + }; + } + + /** + * Apply the given language handler to sourceCode and add the resulting + * decorations to out. + * @param {number} basePos the index of sourceCode within the chunk of source + * whose decorations are already present on out. + */ + function appendDecorations(basePos, sourceCode, langHandler, out) { + if (!sourceCode) { return; } + var job = { + sourceCode: sourceCode, + basePos: basePos + }; + langHandler(job); + out.push.apply(out, job.decorations); + } + + var notWs = /\S/; + + /** + * Given an element, if it contains only one child element and any text nodes + * it contains contain only space characters, return the sole child element. + * Otherwise returns undefined. + * <p> + * This is meant to return the CODE element in {@code <pre><code ...>} when + * there is a single child element that contains all the non-space textual + * content, but not to return anything where there are multiple child elements + * as in {@code <pre><code>...</code><code>...</code></pre>} or when there + * is textual content. + */ + function childContentWrapper(element) { + var wrapper = undefined; + for (var c = element.firstChild; c; c = c.nextSibling) { + var type = c.nodeType; + wrapper = (type === 1) // Element Node + ? (wrapper ? element : c) + : (type === 3) // Text Node + ? (notWs.test(c.nodeValue) ? element : wrapper) + : wrapper; + } + return wrapper === element ? undefined : wrapper; + } + + /** Given triples of [style, pattern, context] returns a lexing function, + * The lexing function interprets the patterns to find token boundaries and + * returns a decoration list of the form + * [index_0, style_0, index_1, style_1, ..., index_n, style_n] + * where index_n is an index into the sourceCode, and style_n is a style + * constant like PR_PLAIN. index_n-1 <= index_n, and style_n-1 applies to + * all characters in sourceCode[index_n-1:index_n]. + * + * The stylePatterns is a list whose elements have the form + * [style : string, pattern : RegExp, DEPRECATED, shortcut : string]. + * + * Style is a style constant like PR_PLAIN, or can be a string of the + * form 'lang-FOO', where FOO is a language extension describing the + * language of the portion of the token in $1 after pattern executes. + * E.g., if style is 'lang-lisp', and group 1 contains the text + * '(hello (world))', then that portion of the token will be passed to the + * registered lisp handler for formatting. + * The text before and after group 1 will be restyled using this decorator + * so decorators should take care that this doesn't result in infinite + * recursion. For example, the HTML lexer rule for SCRIPT elements looks + * something like ['lang-js', /<[s]cript>(.+?)<\/script>/]. This may match + * '<script>foo()<\/script>', which would cause the current decorator to + * be called with '<script>' which would not match the same rule since + * group 1 must not be empty, so it would be instead styled as PR_TAG by + * the generic tag rule. The handler registered for the 'js' extension would + * then be called with 'foo()', and finally, the current decorator would + * be called with '<\/script>' which would not match the original rule and + * so the generic tag rule would identify it as a tag. + * + * Pattern must only match prefixes, and if it matches a prefix, then that + * match is considered a token with the same style. + * + * Context is applied to the last non-whitespace, non-comment token + * recognized. + * + * Shortcut is an optional string of characters, any of which, if the first + * character, gurantee that this pattern and only this pattern matches. + * + * @param {Array} shortcutStylePatterns patterns that always start with + * a known character. Must have a shortcut string. + * @param {Array} fallthroughStylePatterns patterns that will be tried in + * order if the shortcut ones fail. May have shortcuts. + * + * @return {function (Object)} a + * function that takes source code and returns a list of decorations. + */ + function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) { + var shortcuts = {}; + var tokenizer; + (function () { + var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns); + var allRegexs = []; + var regexKeys = {}; + for (var i = 0, n = allPatterns.length; i < n; ++i) { + var patternParts = allPatterns[i]; + var shortcutChars = patternParts[3]; + if (shortcutChars) { + for (var c = shortcutChars.length; --c >= 0;) { + shortcuts[shortcutChars.charAt(c)] = patternParts; + } + } + var regex = patternParts[1]; + var k = '' + regex; + if (!regexKeys.hasOwnProperty(k)) { + allRegexs.push(regex); + regexKeys[k] = null; + } + } + allRegexs.push(/[\0-\uffff]/); + tokenizer = combinePrefixPatterns(allRegexs); + })(); + + var nPatterns = fallthroughStylePatterns.length; + + /** + * Lexes job.sourceCode and produces an output array job.decorations of + * style classes preceded by the position at which they start in + * job.sourceCode in order. + * + * @param {Object} job an object like <pre>{ + * sourceCode: {string} sourceText plain text, + * basePos: {int} position of job.sourceCode in the larger chunk of + * sourceCode. + * }</pre> + */ + var decorate = function (job) { + var sourceCode = job.sourceCode, basePos = job.basePos; + /** Even entries are positions in source in ascending order. Odd enties + * are style markers (e.g., PR_COMMENT) that run from that position until + * the end. + * @type {Array.<number|string>} + */ + var decorations = [basePos, PR_PLAIN]; + var pos = 0; // index into sourceCode + var tokens = sourceCode.match(tokenizer) || []; + var styleCache = {}; + + for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) { + var token = tokens[ti]; + var style = styleCache[token]; + var match = void 0; + + var isEmbedded; + if (typeof style === 'string') { + isEmbedded = false; + } else { + var patternParts = shortcuts[token.charAt(0)]; + if (patternParts) { + match = token.match(patternParts[1]); + style = patternParts[0]; + } else { + for (var i = 0; i < nPatterns; ++i) { + patternParts = fallthroughStylePatterns[i]; + match = token.match(patternParts[1]); + if (match) { + style = patternParts[0]; + break; + } + } + + if (!match) { // make sure that we make progress + style = PR_PLAIN; + } + } + + isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5); + if (isEmbedded && !(match && typeof match[1] === 'string')) { + isEmbedded = false; + style = PR_SOURCE; + } + + if (!isEmbedded) { styleCache[token] = style; } + } + + var tokenStart = pos; + pos += token.length; + + if (!isEmbedded) { + decorations.push(basePos + tokenStart, style); + } else { // Treat group 1 as an embedded block of source code. + var embeddedSource = match[1]; + var embeddedSourceStart = token.indexOf(embeddedSource); + var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length; + if (match[2]) { + // If embeddedSource can be blank, then it would match at the + // beginning which would cause us to infinitely recurse on the + // entire token, so we catch the right context in match[2]. + embeddedSourceEnd = token.length - match[2].length; + embeddedSourceStart = embeddedSourceEnd - embeddedSource.length; + } + var lang = style.substring(5); + // Decorate the left of the embedded source + appendDecorations( + basePos + tokenStart, + token.substring(0, embeddedSourceStart), + decorate, decorations); + // Decorate the embedded source + appendDecorations( + basePos + tokenStart + embeddedSourceStart, + embeddedSource, + langHandlerForExtension(lang, embeddedSource), + decorations); + // Decorate the right of the embedded section + appendDecorations( + basePos + tokenStart + embeddedSourceEnd, + token.substring(embeddedSourceEnd), + decorate, decorations); + } + } + job.decorations = decorations; + }; + return decorate; + } + + /** returns a function that produces a list of decorations from source text. + * + * This code treats ", ', and ` as string delimiters, and \ as a string + * escape. It does not recognize perl's qq() style strings. + * It has no special handling for double delimiter escapes as in basic, or + * the tripled delimiters used in python, but should work on those regardless + * although in those cases a single string literal may be broken up into + * multiple adjacent string literals. + * + * It recognizes C, C++, and shell style comments. + * + * @param {Object} options a set of optional parameters. + * @return {function (Object)} a function that examines the source code + * in the input job and builds the decoration list. + */ + function sourceDecorator(options) { + var shortcutStylePatterns = [], fallthroughStylePatterns = []; + if (options['tripleQuotedStrings']) { + // '''multi-line-string''', 'single-line-string', and double-quoted + shortcutStylePatterns.push( + [PR_STRING, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, + null, '\'"']); + } else if (options['multiLineStrings']) { + // 'multi-line-string', "multi-line-string" + shortcutStylePatterns.push( + [PR_STRING, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, + null, '\'"`']); + } else { + // 'single-line-string', "single-line-string" + shortcutStylePatterns.push( + [PR_STRING, + /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, + null, '"\'']); + } + if (options['verbatimStrings']) { + // verbatim-string-literal production from the C# grammar. See issue 93. + fallthroughStylePatterns.push( + [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]); + } + var hc = options['hashComments']; + if (hc) { + if (options['cStyleComments']) { + if (hc > 1) { // multiline hash comments + shortcutStylePatterns.push( + [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']); + } else { + // Stop C preprocessor declarations at an unclosed open comment + shortcutStylePatterns.push( + [PR_COMMENT, /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/, + null, '#']); + } + // #include <stdio.h> + fallthroughStylePatterns.push( + [PR_STRING, + /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/, + null]); + } else { + shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']); + } + } + if (options['cStyleComments']) { + fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]); + fallthroughStylePatterns.push( + [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]); + } + var regexLiterals = options['regexLiterals']; + if (regexLiterals) { + /** + * @const + */ + var regexExcls = regexLiterals > 1 + ? '' // Multiline regex literals + : '\n\r'; + /** + * @const + */ + var regexAny = regexExcls ? '.' : '[\\S\\s]'; + /** + * @const + */ + var REGEX_LITERAL = ( + // A regular expression literal starts with a slash that is + // not followed by * or / so that it is not confused with + // comments. + '/(?=[^/*' + regexExcls + '])' + // and then contains any number of raw characters, + + '(?:[^/\\x5B\\x5C' + regexExcls + ']' + // escape sequences (\x5C), + + '|\\x5C' + regexAny + // or non-nesting character sets (\x5B\x5D); + + '|\\x5B(?:[^\\x5C\\x5D' + regexExcls + ']' + + '|\\x5C' + regexAny + ')*(?:\\x5D|$))+' + // finally closed by a /. + + '/'); + fallthroughStylePatterns.push( + ['lang-regex', + RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')') + ]); + } + + var types = options['types']; + if (types) { + fallthroughStylePatterns.push([PR_TYPE, types]); + } + + var keywords = ("" + options['keywords']).replace(/^ | $/g, ''); + if (keywords.length) { + fallthroughStylePatterns.push( + [PR_KEYWORD, + new RegExp('^(?:' + keywords.replace(/[\s,]+/g, '|') + ')\\b'), + null]); + } + + shortcutStylePatterns.push([PR_PLAIN, /^\s+/, null, ' \r\n\t\xA0']); + + var punctuation = + // The Bash man page says + + // A word is a sequence of characters considered as a single + // unit by GRUB. Words are separated by metacharacters, + // which are the following plus space, tab, and newline: { } + // | & $ ; < > + // ... + + // A word beginning with # causes that word and all remaining + // characters on that line to be ignored. + + // which means that only a '#' after /(?:^|[{}|&$;<>\s])/ starts a + // comment but empirically + // $ echo {#} + // {#} + // $ echo \$# + // $# + // $ echo }# + // }# + + // so /(?:^|[|&;<>\s])/ is more appropriate. + + // http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC3 + // suggests that this definition is compatible with a + // default mode that tries to use a single token definition + // to recognize both bash/python style comments and C + // preprocessor directives. + + // This definition of punctuation does not include # in the list of + // follow-on exclusions, so # will not be broken before if preceeded + // by a punctuation character. We could try to exclude # after + // [|&;<>] but that doesn't seem to cause many major problems. + // If that does turn out to be a problem, we should change the below + // when hc is truthy to include # in the run of punctuation characters + // only when not followint [|&;<>]. + '^.[^\\s\\w.$@\'"`/\\\\]*'; + if (options['regexLiterals']) { + punctuation += '(?!\s*\/)'; + } + + fallthroughStylePatterns.push( + // TODO(mikesamuel): recognize non-latin letters and numerals in idents + [PR_LITERAL, /^@[a-z_$][a-z_$@0-9]*/i, null], + [PR_TYPE, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], + [PR_PLAIN, /^[a-z_$][a-z_$@0-9]*/i, null], + [PR_LITERAL, + new RegExp( + '^(?:' + // A hex number + + '0x[a-f0-9]+' + // or an octal or decimal number, + + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)' + // possibly in scientific notation + + '(?:e[+\\-]?\\d+)?' + + ')' + // with an optional modifier like UL for unsigned long + + '[a-z]*', 'i'), + null, '0123456789'], + // Don't treat escaped quotes in bash as starting strings. + // See issue 144. + [PR_PLAIN, /^\\[\s\S]?/, null], + [PR_PUNCTUATION, new RegExp(punctuation), null]); + + return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns); + } + + var decorateSource = sourceDecorator({ + 'keywords': ALL_KEYWORDS, + 'hashComments': true, + 'cStyleComments': true, + 'multiLineStrings': true, + 'regexLiterals': true + }); + + /** + * Given a DOM subtree, wraps it in a list, and puts each line into its own + * list item. + * + * @param {Node} node modified in place. Its content is pulled into an + * HTMLOListElement, and each line is moved into a separate list item. + * This requires cloning elements, so the input might not have unique + * IDs after numbering. + * @param {boolean} isPreformatted true iff white-space in text nodes should + * be treated as significant. + */ + function numberLines(node, opt_startLineNum, isPreformatted) { + var nocode = /(?:^|\s)nocode(?:\s|$)/; + var lineBreak = /\r\n?|\n/; + + var document = node.ownerDocument; + + var li = document.createElement('li'); + while (node.firstChild) { + li.appendChild(node.firstChild); + } + // An array of lines. We split below, so this is initialized to one + // un-split line. + var listItems = [li]; + + function walk(node) { + var type = node.nodeType; + if (type == 1 && !nocode.test(node.className)) { // Element + if ('br' === node.nodeName) { + breakAfter(node); + // Discard the <BR> since it is now flush against a </LI>. + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } else { + for (var child = node.firstChild; child; child = child.nextSibling) { + walk(child); + } + } + } else if ((type == 3 || type == 4) && isPreformatted) { // Text + var text = node.nodeValue; + var match = text.match(lineBreak); + if (match) { + var firstLine = text.substring(0, match.index); + node.nodeValue = firstLine; + var tail = text.substring(match.index + match[0].length); + if (tail) { + var parent = node.parentNode; + parent.insertBefore( + document.createTextNode(tail), node.nextSibling); + } + breakAfter(node); + if (!firstLine) { + // Don't leave blank text nodes in the DOM. + node.parentNode.removeChild(node); + } + } + } + } + + // Split a line after the given node. + function breakAfter(lineEndNode) { + // If there's nothing to the right, then we can skip ending the line + // here, and move root-wards since splitting just before an end-tag + // would require us to create a bunch of empty copies. + while (!lineEndNode.nextSibling) { + lineEndNode = lineEndNode.parentNode; + if (!lineEndNode) { return; } + } + + function breakLeftOf(limit, copy) { + // Clone shallowly if this node needs to be on both sides of the break. + var rightSide = copy ? limit.cloneNode(false) : limit; + var parent = limit.parentNode; + if (parent) { + // We clone the parent chain. + // This helps us resurrect important styling elements that cross lines. + // E.g. in <i>Foo<br>Bar</i> + // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>. + var parentClone = breakLeftOf(parent, 1); + // Move the clone and everything to the right of the original + // onto the cloned parent. + var next = limit.nextSibling; + parentClone.appendChild(rightSide); + for (var sibling = next; sibling; sibling = next) { + next = sibling.nextSibling; + parentClone.appendChild(sibling); + } + } + return rightSide; + } + + var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0); + + // Walk the parent chain until we reach an unattached LI. + for (var parent; + // Check nodeType since IE invents document fragments. + (parent = copiedListItem.parentNode) && parent.nodeType === 1;) { + copiedListItem = parent; + } + // Put it on the list of lines for later processing. + listItems.push(copiedListItem); + } + + // Split lines while there are lines left to split. + for (var i = 0; // Number of lines that have been split so far. + i < listItems.length; // length updated by breakAfter calls. + ++i) { + walk(listItems[i]); + } + + // Make sure numeric indices show correctly. + if (opt_startLineNum === (opt_startLineNum|0)) { + listItems[0].setAttribute('value', opt_startLineNum); + } + + var ol = document.createElement('ol'); + ol.className = 'linenums'; + var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0; + for (var i = 0, n = listItems.length; i < n; ++i) { + li = listItems[i]; + // Stick a class on the LIs so that stylesheets can + // color odd/even rows, or any other row pattern that + // is co-prime with 10. + li.className = 'L' + ((i + offset) % 10); + if (!li.firstChild) { + li.appendChild(document.createTextNode('\xA0')); + } + ol.appendChild(li); + } + + node.appendChild(ol); + } + /** + * Breaks {@code job.sourceCode} around style boundaries in + * {@code job.decorations} and modifies {@code job.sourceNode} in place. + * @param {Object} job like <pre>{ + * sourceCode: {string} source as plain text, + * sourceNode: {HTMLElement} the element containing the source, + * spans: {Array.<number|Node>} alternating span start indices into source + * and the text node or element (e.g. {@code <BR>}) corresponding to that + * span. + * decorations: {Array.<number|string} an array of style classes preceded + * by the position at which they start in job.sourceCode in order + * }</pre> + * @private + */ + function recombineTagsAndDecorations(job) { + var isIE8OrEarlier = /\bMSIE\s(\d+)/.exec(navigator.userAgent); + isIE8OrEarlier = isIE8OrEarlier && +isIE8OrEarlier[1] <= 8; + var newlineRe = /\n/g; + + var source = job.sourceCode; + var sourceLength = source.length; + // Index into source after the last code-unit recombined. + var sourceIndex = 0; + + var spans = job.spans; + var nSpans = spans.length; + // Index into spans after the last span which ends at or before sourceIndex. + var spanIndex = 0; + + var decorations = job.decorations; + var nDecorations = decorations.length; + // Index into decorations after the last decoration which ends at or before + // sourceIndex. + var decorationIndex = 0; + + // Remove all zero-length decorations. + decorations[nDecorations] = sourceLength; + var decPos, i; + for (i = decPos = 0; i < nDecorations;) { + if (decorations[i] !== decorations[i + 2]) { + decorations[decPos++] = decorations[i++]; + decorations[decPos++] = decorations[i++]; + } else { + i += 2; + } + } + nDecorations = decPos; + + // Simplify decorations. + for (i = decPos = 0; i < nDecorations;) { + var startPos = decorations[i]; + // Conflate all adjacent decorations that use the same style. + var startDec = decorations[i + 1]; + var end = i + 2; + while (end + 2 <= nDecorations && decorations[end + 1] === startDec) { + end += 2; + } + decorations[decPos++] = startPos; + decorations[decPos++] = startDec; + i = end; + } + + nDecorations = decorations.length = decPos; + + var sourceNode = job.sourceNode; + var oldDisplay; + if (sourceNode) { + oldDisplay = sourceNode.style.display; + sourceNode.style.display = 'none'; + } + try { + var decoration = null; + while (spanIndex < nSpans) { + var spanStart = spans[spanIndex]; + var spanEnd = spans[spanIndex + 2] || sourceLength; + + var decEnd = decorations[decorationIndex + 2] || sourceLength; + + var end = Math.min(spanEnd, decEnd); + + var textNode = spans[spanIndex + 1]; + var styledText; + if (textNode.nodeType !== 1 // Don't muck with <BR>s or <LI>s + // Don't introduce spans around empty text nodes. + && (styledText = source.substring(sourceIndex, end))) { + // This may seem bizarre, and it is. Emitting LF on IE causes the + // code to display with spaces instead of line breaks. + // Emitting Windows standard issue linebreaks (CRLF) causes a blank + // space to appear at the beginning of every line but the first. + // Emitting an old Mac OS 9 line separator makes everything spiffy. + if (isIE8OrEarlier) { + styledText = styledText.replace(newlineRe, '\r'); + } + textNode.nodeValue = styledText; + var document = textNode.ownerDocument; + var span = document.createElement('span'); + span.className = decorations[decorationIndex + 1]; + var parentNode = textNode.parentNode; + parentNode.replaceChild(span, textNode); + span.appendChild(textNode); + if (sourceIndex < spanEnd) { // Split off a text node. + spans[spanIndex + 1] = textNode + // TODO: Possibly optimize by using '' if there's no flicker. + = document.createTextNode(source.substring(end, spanEnd)); + parentNode.insertBefore(textNode, span.nextSibling); + } + } + + sourceIndex = end; + + if (sourceIndex >= spanEnd) { + spanIndex += 2; + } + if (sourceIndex >= decEnd) { + decorationIndex += 2; + } + } + } finally { + if (sourceNode) { + sourceNode.style.display = oldDisplay; + } + } + } + + /** Maps language-specific file extensions to handlers. */ + var langHandlerRegistry = {}; + /** Register a language handler for the given file extensions. + * @param {function (Object)} handler a function from source code to a list + * of decorations. Takes a single argument job which describes the + * state of the computation. The single parameter has the form + * {@code { + * sourceCode: {string} as plain text. + * decorations: {Array.<number|string>} an array of style classes + * preceded by the position at which they start in + * job.sourceCode in order. + * The language handler should assigned this field. + * basePos: {int} the position of source in the larger source chunk. + * All positions in the output decorations array are relative + * to the larger source chunk. + * } } + * @param {Array.<string>} fileExtensions + */ + function registerLangHandler(handler, fileExtensions) { + for (var i = fileExtensions.length; --i >= 0;) { + var ext = fileExtensions[i]; + if (!langHandlerRegistry.hasOwnProperty(ext)) { + langHandlerRegistry[ext] = handler; + } else if (win['console']) { + console['warn']('cannot override language handler %s', ext); + } + } + } + function langHandlerForExtension(extension, source) { + if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) { + // Treat it as markup if the first non whitespace character is a < and + // the last non-whitespace character is a >. + extension = /^\s*</.test(source) + ? 'default-markup' + : 'default-code'; + } + return langHandlerRegistry[extension]; + } + registerLangHandler(decorateSource, ['default-code']); + registerLangHandler( + createSimpleLexer( + [], + [ + [PR_PLAIN, /^[^<?]+/], + [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/], + [PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], + // Unescaped content in an unknown language + ['lang-', /^<\?([\s\S]+?)(?:\?>|$)/], + ['lang-', /^<%([\s\S]+?)(?:%>|$)/], + [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], + ['lang-', /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], + // Unescaped content in javascript. (Or possibly vbscript). + ['lang-js', /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], + // Contains unescaped stylesheet content + ['lang-css', /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], + ['lang-in.tag', /^(<\/?[a-z][^<>]*>)/i] + ]), + ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']); + registerLangHandler( + createSimpleLexer( + [ + [PR_PLAIN, /^[\s]+/, null, ' \t\r\n'], + [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\''] + ], + [ + [PR_TAG, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], + [PR_ATTRIB_NAME, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], + ['lang-uq.val', /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], + [PR_PUNCTUATION, /^[=<>\/]+/], + ['lang-js', /^on\w+\s*=\s*\"([^\"]+)\"/i], + ['lang-js', /^on\w+\s*=\s*\'([^\']+)\'/i], + ['lang-js', /^on\w+\s*=\s*([^\"\'>\s]+)/i], + ['lang-css', /^style\s*=\s*\"([^\"]+)\"/i], + ['lang-css', /^style\s*=\s*\'([^\']+)\'/i], + ['lang-css', /^style\s*=\s*([^\"\'>\s]+)/i] + ]), + ['in.tag']); + registerLangHandler( + createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']); + registerLangHandler(sourceDecorator({ + 'keywords': CPP_KEYWORDS, + 'hashComments': true, + 'cStyleComments': true, + 'types': C_TYPES + }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']); + registerLangHandler(sourceDecorator({ + 'keywords': 'null,true,false' + }), ['json']); + registerLangHandler(sourceDecorator({ + 'keywords': CSHARP_KEYWORDS, + 'hashComments': true, + 'cStyleComments': true, + 'verbatimStrings': true, + 'types': C_TYPES + }), ['cs']); + registerLangHandler(sourceDecorator({ + 'keywords': JAVA_KEYWORDS, + 'cStyleComments': true + }), ['java']); + registerLangHandler(sourceDecorator({ + 'keywords': SH_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true + }), ['bash', 'bsh', 'csh', 'sh']); + registerLangHandler(sourceDecorator({ + 'keywords': PYTHON_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true, + 'tripleQuotedStrings': true + }), ['cv', 'py', 'python']); + registerLangHandler(sourceDecorator({ + 'keywords': PERL_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true, + 'regexLiterals': 2 // multiline regex literals + }), ['perl', 'pl', 'pm']); + registerLangHandler(sourceDecorator({ + 'keywords': RUBY_KEYWORDS, + 'hashComments': true, + 'multiLineStrings': true, + 'regexLiterals': true + }), ['rb', 'ruby']); + registerLangHandler(sourceDecorator({ + 'keywords': JSCRIPT_KEYWORDS, + 'cStyleComments': true, + 'regexLiterals': true + }), ['javascript', 'js']); + registerLangHandler(sourceDecorator({ + 'keywords': COFFEE_KEYWORDS, + 'hashComments': 3, // ### style block comments + 'cStyleComments': true, + 'multilineStrings': true, + 'tripleQuotedStrings': true, + 'regexLiterals': true + }), ['coffee']); + registerLangHandler(sourceDecorator({ + 'keywords': RUST_KEYWORDS, + 'cStyleComments': true, + 'multilineStrings': true + }), ['rc', 'rs', 'rust']); + registerLangHandler( + createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']); + + function applyDecorator(job) { + var opt_langExtension = job.langExtension; + + try { + // Extract tags, and convert the source code to plain text. + var sourceAndSpans = extractSourceSpans(job.sourceNode, job.pre); + /** Plain text. @type {string} */ + var source = sourceAndSpans.sourceCode; + job.sourceCode = source; + job.spans = sourceAndSpans.spans; + job.basePos = 0; + + // Apply the appropriate language handler + langHandlerForExtension(opt_langExtension, source)(job); + + // Integrate the decorations and tags back into the source code, + // modifying the sourceNode in place. + recombineTagsAndDecorations(job); + } catch (e) { + if (win['console']) { + console['log'](e && e['stack'] || e); + } + } + } + + /** + * Pretty print a chunk of code. + * @param sourceCodeHtml {string} The HTML to pretty print. + * @param opt_langExtension {string} The language name to use. + * Typically, a filename extension like 'cpp' or 'java'. + * @param opt_numberLines {number|boolean} True to number lines, + * or the 1-indexed number of the first line in sourceCodeHtml. + */ + function $prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) { + var container = document.createElement('div'); + // This could cause images to load and onload listeners to fire. + // E.g. <img onerror="alert(1337)" src="nosuchimage.png">. + // We assume that the inner HTML is from a trusted source. + // The pre-tag is required for IE8 which strips newlines from innerHTML + // when it is injected into a <pre> tag. + // http://stackoverflow.com/questions/451486/pre-tag-loses-line-breaks-when-setting-innerhtml-in-ie + // http://stackoverflow.com/questions/195363/inserting-a-newline-into-a-pre-tag-ie-javascript + container.innerHTML = '<pre>' + sourceCodeHtml + '</pre>'; + container = container.firstChild; + if (opt_numberLines) { + numberLines(container, opt_numberLines, true); + } + + var job = { + langExtension: opt_langExtension, + numberLines: opt_numberLines, + sourceNode: container, + pre: 1 + }; + applyDecorator(job); + return container.innerHTML; + } + + /** + * Find all the {@code <pre>} and {@code <code>} tags in the DOM with + * {@code class=prettyprint} and prettify them. + * + * @param {Function} opt_whenDone called when prettifying is done. + * @param {HTMLElement|HTMLDocument} opt_root an element or document + * containing all the elements to pretty print. + * Defaults to {@code document.body}. + */ + function $prettyPrint(opt_whenDone, opt_root) { + var root = opt_root || document.body; + var doc = root.ownerDocument || document; + function byTagName(tn) { return root.getElementsByTagName(tn); } + // fetch a list of nodes to rewrite + var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')]; + var elements = []; + for (var i = 0; i < codeSegments.length; ++i) { + for (var j = 0, n = codeSegments[i].length; j < n; ++j) { + elements.push(codeSegments[i][j]); + } + } + codeSegments = null; + + var clock = Date; + if (!clock['now']) { + clock = { 'now': function () { return +(new Date); } }; + } + + // The loop is broken into a series of continuations to make sure that we + // don't make the browser unresponsive when rewriting a large page. + var k = 0; + var prettyPrintingJob; + + var langExtensionRe = /\blang(?:uage)?-([\w.]+)(?!\S)/; + var prettyPrintRe = /\bprettyprint\b/; + var prettyPrintedRe = /\bprettyprinted\b/; + var preformattedTagNameRe = /pre|xmp/i; + var codeRe = /^code$/i; + var preCodeXmpRe = /^(?:pre|code|xmp)$/i; + var EMPTY = {}; + + function doWork() { + var endTime = (win['PR_SHOULD_USE_CONTINUATION'] ? + clock['now']() + 250 /* ms */ : + Infinity); + for (; k < elements.length && clock['now']() < endTime; k++) { + var cs = elements[k]; + + // Look for a preceding comment like + // <?prettify lang="..." linenums="..."?> + var attrs = EMPTY; + { + for (var preceder = cs; (preceder = preceder.previousSibling);) { + var nt = preceder.nodeType; + // <?foo?> is parsed by HTML 5 to a comment node (8) + // like <!--?foo?-->, but in XML is a processing instruction + var value = (nt === 7 || nt === 8) && preceder.nodeValue; + if (value + ? !/^\??prettify\b/.test(value) + : (nt !== 3 || /\S/.test(preceder.nodeValue))) { + // Skip over white-space text nodes but not others. + break; + } + if (value) { + attrs = {}; + value.replace( + /\b(\w+)=([\w:.%+-]+)/g, + function (_, name, value) { attrs[name] = value; }); + break; + } + } + } + + var className = cs.className; + if ((attrs !== EMPTY || prettyPrintRe.test(className)) + // Don't redo this if we've already done it. + // This allows recalling pretty print to just prettyprint elements + // that have been added to the page since last call. + && !prettyPrintedRe.test(className)) { + + // make sure this is not nested in an already prettified element + var nested = false; + for (var p = cs.parentNode; p; p = p.parentNode) { + var tn = p.tagName; + if (preCodeXmpRe.test(tn) + && p.className && prettyPrintRe.test(p.className)) { + nested = true; + break; + } + } + if (!nested) { + // Mark done. If we fail to prettyprint for whatever reason, + // we shouldn't try again. + cs.className += ' prettyprinted'; + + // If the classes includes a language extensions, use it. + // Language extensions can be specified like + // <pre class="prettyprint lang-cpp"> + // the language extension "cpp" is used to find a language handler + // as passed to PR.registerLangHandler. + // HTML5 recommends that a language be specified using "language-" + // as the prefix instead. Google Code Prettify supports both. + // http://dev.w3.org/html5/spec-author-view/the-code-element.html + var langExtension = attrs['lang']; + if (!langExtension) { + langExtension = className.match(langExtensionRe); + // Support <pre class="prettyprint"><code class="language-c"> + var wrapper; + if (!langExtension && (wrapper = childContentWrapper(cs)) + && codeRe.test(wrapper.tagName)) { + langExtension = wrapper.className.match(langExtensionRe); + } + + if (langExtension) { langExtension = langExtension[1]; } + } + + var preformatted; + if (preformattedTagNameRe.test(cs.tagName)) { + preformatted = 1; + } else { + var currentStyle = cs['currentStyle']; + var defaultView = doc.defaultView; + var whitespace = ( + currentStyle + ? currentStyle['whiteSpace'] + : (defaultView + && defaultView.getComputedStyle) + ? defaultView.getComputedStyle(cs, null) + .getPropertyValue('white-space') + : 0); + preformatted = whitespace + && 'pre' === whitespace.substring(0, 3); + } + + // Look for a class like linenums or linenums:<n> where <n> is the + // 1-indexed number of the first line. + var lineNums = attrs['linenums']; + if (!(lineNums = lineNums === 'true' || +lineNums)) { + lineNums = className.match(/\blinenums\b(?::(\d+))?/); + lineNums = + lineNums + ? lineNums[1] && lineNums[1].length + ? +lineNums[1] : true + : false; + } + if (lineNums) { numberLines(cs, lineNums, preformatted); } + + // do the pretty printing + prettyPrintingJob = { + langExtension: langExtension, + sourceNode: cs, + numberLines: lineNums, + pre: preformatted + }; + applyDecorator(prettyPrintingJob); + } + } + } + if (k < elements.length) { + // finish up in a continuation + setTimeout(doWork, 250); + } else if ('function' === typeof opt_whenDone) { + opt_whenDone(); + } + } + + doWork(); + } + + /** + * Contains functions for creating and registering new language handlers. + * @type {Object} + */ + var PR = win['PR'] = { + 'createSimpleLexer': createSimpleLexer, + 'registerLangHandler': registerLangHandler, + 'sourceDecorator': sourceDecorator, + 'PR_ATTRIB_NAME': PR_ATTRIB_NAME, + 'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE, + 'PR_COMMENT': PR_COMMENT, + 'PR_DECLARATION': PR_DECLARATION, + 'PR_KEYWORD': PR_KEYWORD, + 'PR_LITERAL': PR_LITERAL, + 'PR_NOCODE': PR_NOCODE, + 'PR_PLAIN': PR_PLAIN, + 'PR_PUNCTUATION': PR_PUNCTUATION, + 'PR_SOURCE': PR_SOURCE, + 'PR_STRING': PR_STRING, + 'PR_TAG': PR_TAG, + 'PR_TYPE': PR_TYPE, + 'prettyPrintOne': + IN_GLOBAL_SCOPE + ? (win['prettyPrintOne'] = $prettyPrintOne) + : (prettyPrintOne = $prettyPrintOne), + 'prettyPrint': prettyPrint = + IN_GLOBAL_SCOPE + ? (win['prettyPrint'] = $prettyPrint) + : (prettyPrint = $prettyPrint) + }; + + // Make PR available via the Asynchronous Module Definition (AMD) API. + // Per https://github.com/amdjs/amdjs-api/wiki/AMD: + // The Asynchronous Module Definition (AMD) API specifies a + // mechanism for defining modules such that the module and its + // dependencies can be asynchronously loaded. + // ... + // To allow a clear indicator that a global define function (as + // needed for script src browser loading) conforms to the AMD API, + // any global define function SHOULD have a property called "amd" + // whose value is an object. This helps avoid conflict with any + // other existing JavaScript code that could have defined a define() + // function that does not conform to the AMD API. + if (typeof define === "function" && define['amd']) { + define("google-code-prettify", [], function () { + return PR; + }); + } +})(); diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000000000000000000000000000000000000..f436e30277d841a8e1dc1a966818c020b76b210e --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,31 @@ +--- +layout: nil +--- +<?xml version="1.0" encoding="UTF-8"?> +<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 + http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" + xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> + {% for post in site.posts %} + <url> + <loc>{{site.url}}{{ site.baseurl }}{{ post.url }}</loc> + {% if post.lastmod == null %} + <lastmod>{{ post.date | date_to_xmlschema }}</lastmod> + {% else %} + <lastmod>{{ post.lastmod | date_to_xmlschema }}</lastmod> + {% endif %} + <changefreq>weekly</changefreq> + <priority>1.0</priority> + </url> + {% endfor %} + {% for page in site.pages %} + {% if page.sitemap != null and page.sitemap != empty %} + <url> + <loc>{{ site.url }}{{ site.baseurl }}{{ page.url }}</loc> + <lastmod>{{ page.sitemap.lastmod | date_to_xmlschema }}</lastmod> + <changefreq>{{ page.sitemap.changefreq }}</changefreq> + <priority>{{ page.sitemap.priority }}</priority> + </url> + {% endif %} + {% endfor %} +</urlset> \ No newline at end of file