diff --git a/output/about.html b/output/about.html
index 7be43ae..ce6d7c3 100644
--- a/output/about.html
+++ b/output/about.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -240,11 +247,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -255,7 +258,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -265,7 +268,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js b/output/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js
deleted file mode 100644
index e37cbb6..0000000
--- a/output/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js
+++ /dev/null
@@ -1,2439 +0,0 @@
-/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});
-
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under the MIT license
- */
-
-if (typeof jQuery === 'undefined') {
-  throw new Error('Bootstrap\'s JavaScript requires jQuery')
-}
-
-+function ($) {
-  'use strict';
-  var version = $.fn.jquery.split(' ')[0].split('.')
-  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {
-    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
-  }
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: transition.js v3.3.7
- * http://getbootstrap.com/javascript/#transitions
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
-  // ============================================================
-
-  function transitionEnd() {
-    var el = document.createElement('bootstrap')
-
-    var transEndEventNames = {
-      WebkitTransition : 'webkitTransitionEnd',
-      MozTransition    : 'transitionend',
-      OTransition      : 'oTransitionEnd otransitionend',
-      transition       : 'transitionend'
-    }
-
-    for (var name in transEndEventNames) {
-      if (el.style[name] !== undefined) {
-        return { end: transEndEventNames[name] }
-      }
-    }
-
-    return false // explicit for ie8 (  ._.)
-  }
-
-  // http://blog.alexmaccaw.com/css-transitions
-  $.fn.emulateTransitionEnd = function (duration) {
-    var called = false
-    var $el = this
-    $(this).one('bsTransitionEnd', function () { called = true })
-    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
-    setTimeout(callback, duration)
-    return this
-  }
-
-  $(function () {
-    $.support.transition = transitionEnd()
-
-    if (!$.support.transition) return
-
-    $.event.special.bsTransitionEnd = {
-      bindType: $.support.transition.end,
-      delegateType: $.support.transition.end,
-      handle: function (e) {
-        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
-      }
-    }
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: alert.js v3.3.7
- * http://getbootstrap.com/javascript/#alerts
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // ALERT CLASS DEFINITION
-  // ======================
-
-  var dismiss = '[data-dismiss="alert"]'
-  var Alert   = function (el) {
-    $(el).on('click', dismiss, this.close)
-  }
-
-  Alert.VERSION = '3.3.7'
-
-  Alert.TRANSITION_DURATION = 150
-
-  Alert.prototype.close = function (e) {
-    var $this    = $(this)
-    var selector = $this.attr('data-target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    var $parent = $(selector === '#' ? [] : selector)
-
-    if (e) e.preventDefault()
-
-    if (!$parent.length) {
-      $parent = $this.closest('.alert')
-    }
-
-    $parent.trigger(e = $.Event('close.bs.alert'))
-
-    if (e.isDefaultPrevented()) return
-
-    $parent.removeClass('in')
-
-    function removeElement() {
-      // detach from parent, fire event then clean up data
-      $parent.detach().trigger('closed.bs.alert').remove()
-    }
-
-    $.support.transition && $parent.hasClass('fade') ?
-      $parent
-        .one('bsTransitionEnd', removeElement)
-        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
-      removeElement()
-  }
-
-
-  // ALERT PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.alert')
-
-      if (!data) $this.data('bs.alert', (data = new Alert(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  var old = $.fn.alert
-
-  $.fn.alert             = Plugin
-  $.fn.alert.Constructor = Alert
-
-
-  // ALERT NO CONFLICT
-  // =================
-
-  $.fn.alert.noConflict = function () {
-    $.fn.alert = old
-    return this
-  }
-
-
-  // ALERT DATA-API
-  // ==============
-
-  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: button.js v3.3.7
- * http://getbootstrap.com/javascript/#buttons
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // BUTTON PUBLIC CLASS DEFINITION
-  // ==============================
-
-  var Button = function (element, options) {
-    this.$element  = $(element)
-    this.options   = $.extend({}, Button.DEFAULTS, options)
-    this.isLoading = false
-  }
-
-  Button.VERSION  = '3.3.7'
-
-  Button.DEFAULTS = {
-    loadingText: 'loading...'
-  }
-
-  Button.prototype.setState = function (state) {
-    var d    = 'disabled'
-    var $el  = this.$element
-    var val  = $el.is('input') ? 'val' : 'html'
-    var data = $el.data()
-
-    state += 'Text'
-
-    if (data.resetText == null) $el.data('resetText', $el[val]())
-
-    // push to event loop to allow forms to submit
-    setTimeout($.proxy(function () {
-      $el[val](data[state] == null ? this.options[state] : data[state])
-
-      if (state == 'loadingText') {
-        this.isLoading = true
-        $el.addClass(d).attr(d, d).prop(d, true)
-      } else if (this.isLoading) {
-        this.isLoading = false
-        $el.removeClass(d).removeAttr(d).prop(d, false)
-      }
-    }, this), 0)
-  }
-
-  Button.prototype.toggle = function () {
-    var changed = true
-    var $parent = this.$element.closest('[data-toggle="buttons"]')
-
-    if ($parent.length) {
-      var $input = this.$element.find('input')
-      if ($input.prop('type') == 'radio') {
-        if ($input.prop('checked')) changed = false
-        $parent.find('.active').removeClass('active')
-        this.$element.addClass('active')
-      } else if ($input.prop('type') == 'checkbox') {
-        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
-        this.$element.toggleClass('active')
-      }
-      $input.prop('checked', this.$element.hasClass('active'))
-      if (changed) $input.trigger('change')
-    } else {
-      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
-      this.$element.toggleClass('active')
-    }
-  }
-
-
-  // BUTTON PLUGIN DEFINITION
-  // ========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.button')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.button', (data = new Button(this, options)))
-
-      if (option == 'toggle') data.toggle()
-      else if (option) data.setState(option)
-    })
-  }
-
-  var old = $.fn.button
-
-  $.fn.button             = Plugin
-  $.fn.button.Constructor = Button
-
-
-  // BUTTON NO CONFLICT
-  // ==================
-
-  $.fn.button.noConflict = function () {
-    $.fn.button = old
-    return this
-  }
-
-
-  // BUTTON DATA-API
-  // ===============
-
-  $(document)
-    .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      var $btn = $(e.target).closest('.btn')
-      Plugin.call($btn, 'toggle')
-      if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
-        // Prevent double click on radios, and the double selections (so cancellation) on checkboxes
-        e.preventDefault()
-        // The target component still receive the focus
-        if ($btn.is('input,button')) $btn.trigger('focus')
-        else $btn.find('input:visible,button:visible').first().trigger('focus')
-      }
-    })
-    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
-    })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: carousel.js v3.3.7
- * http://getbootstrap.com/javascript/#carousel
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // CAROUSEL CLASS DEFINITION
-  // =========================
-
-  var Carousel = function (element, options) {
-    this.$element    = $(element)
-    this.$indicators = this.$element.find('.carousel-indicators')
-    this.options     = options
-    this.paused      = null
-    this.sliding     = null
-    this.interval    = null
-    this.$active     = null
-    this.$items      = null
-
-    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
-
-    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
-      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
-      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
-  }
-
-  Carousel.VERSION  = '3.3.7'
-
-  Carousel.TRANSITION_DURATION = 600
-
-  Carousel.DEFAULTS = {
-    interval: 5000,
-    pause: 'hover',
-    wrap: true,
-    keyboard: true
-  }
-
-  Carousel.prototype.keydown = function (e) {
-    if (/input|textarea/i.test(e.target.tagName)) return
-    switch (e.which) {
-      case 37: this.prev(); break
-      case 39: this.next(); break
-      default: return
-    }
-
-    e.preventDefault()
-  }
-
-  Carousel.prototype.cycle = function (e) {
-    e || (this.paused = false)
-
-    this.interval && clearInterval(this.interval)
-
-    this.options.interval
-      && !this.paused
-      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
-
-    return this
-  }
-
-  Carousel.prototype.getItemIndex = function (item) {
-    this.$items = item.parent().children('.item')
-    return this.$items.index(item || this.$active)
-  }
-
-  Carousel.prototype.getItemForDirection = function (direction, active) {
-    var activeIndex = this.getItemIndex(active)
-    var willWrap = (direction == 'prev' && activeIndex === 0)
-                || (direction == 'next' && activeIndex == (this.$items.length - 1))
-    if (willWrap && !this.options.wrap) return active
-    var delta = direction == 'prev' ? -1 : 1
-    var itemIndex = (activeIndex + delta) % this.$items.length
-    return this.$items.eq(itemIndex)
-  }
-
-  Carousel.prototype.to = function (pos) {
-    var that        = this
-    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
-
-    if (pos > (this.$items.length - 1) || pos < 0) return
-
-    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
-    if (activeIndex == pos) return this.pause().cycle()
-
-    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
-  }
-
-  Carousel.prototype.pause = function (e) {
-    e || (this.paused = true)
-
-    if (this.$element.find('.next, .prev').length && $.support.transition) {
-      this.$element.trigger($.support.transition.end)
-      this.cycle(true)
-    }
-
-    this.interval = clearInterval(this.interval)
-
-    return this
-  }
-
-  Carousel.prototype.next = function () {
-    if (this.sliding) return
-    return this.slide('next')
-  }
-
-  Carousel.prototype.prev = function () {
-    if (this.sliding) return
-    return this.slide('prev')
-  }
-
-  Carousel.prototype.slide = function (type, next) {
-    var $active   = this.$element.find('.item.active')
-    var $next     = next || this.getItemForDirection(type, $active)
-    var isCycling = this.interval
-    var direction = type == 'next' ? 'left' : 'right'
-    var that      = this
-
-    if ($next.hasClass('active')) return (this.sliding = false)
-
-    var relatedTarget = $next[0]
-    var slideEvent = $.Event('slide.bs.carousel', {
-      relatedTarget: relatedTarget,
-      direction: direction
-    })
-    this.$element.trigger(slideEvent)
-    if (slideEvent.isDefaultPrevented()) return
-
-    this.sliding = true
-
-    isCycling && this.pause()
-
-    if (this.$indicators.length) {
-      this.$indicators.find('.active').removeClass('active')
-      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
-      $nextIndicator && $nextIndicator.addClass('active')
-    }
-
-    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
-    if ($.support.transition && this.$element.hasClass('slide')) {
-      $next.addClass(type)
-      $next[0].offsetWidth // force reflow
-      $active.addClass(direction)
-      $next.addClass(direction)
-      $active
-        .one('bsTransitionEnd', function () {
-          $next.removeClass([type, direction].join(' ')).addClass('active')
-          $active.removeClass(['active', direction].join(' '))
-          that.sliding = false
-          setTimeout(function () {
-            that.$element.trigger(slidEvent)
-          }, 0)
-        })
-        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
-    } else {
-      $active.removeClass('active')
-      $next.addClass('active')
-      this.sliding = false
-      this.$element.trigger(slidEvent)
-    }
-
-    isCycling && this.cycle()
-
-    return this
-  }
-
-
-  // CAROUSEL PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.carousel')
-      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
-      var action  = typeof option == 'string' ? option : options.slide
-
-      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
-      if (typeof option == 'number') data.to(option)
-      else if (action) data[action]()
-      else if (options.interval) data.pause().cycle()
-    })
-  }
-
-  var old = $.fn.carousel
-
-  $.fn.carousel             = Plugin
-  $.fn.carousel.Constructor = Carousel
-
-
-  // CAROUSEL NO CONFLICT
-  // ====================
-
-  $.fn.carousel.noConflict = function () {
-    $.fn.carousel = old
-    return this
-  }
-
-
-  // CAROUSEL DATA-API
-  // =================
-
-  var clickHandler = function (e) {
-    var href
-    var $this   = $(this)
-    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
-    if (!$target.hasClass('carousel')) return
-    var options = $.extend({}, $target.data(), $this.data())
-    var slideIndex = $this.attr('data-slide-to')
-    if (slideIndex) options.interval = false
-
-    Plugin.call($target, options)
-
-    if (slideIndex) {
-      $target.data('bs.carousel').to(slideIndex)
-    }
-
-    e.preventDefault()
-  }
-
-  $(document)
-    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
-    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
-
-  $(window).on('load', function () {
-    $('[data-ride="carousel"]').each(function () {
-      var $carousel = $(this)
-      Plugin.call($carousel, $carousel.data())
-    })
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: collapse.js v3.3.7
- * http://getbootstrap.com/javascript/#collapse
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-/* jshint latedef: false */
-
-+function ($) {
-  'use strict';
-
-  // COLLAPSE PUBLIC CLASS DEFINITION
-  // ================================
-
-  var Collapse = function (element, options) {
-    this.$element      = $(element)
-    this.options       = $.extend({}, Collapse.DEFAULTS, options)
-    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
-                           '[data-toggle="collapse"][data-target="#' + element.id + '"]')
-    this.transitioning = null
-
-    if (this.options.parent) {
-      this.$parent = this.getParent()
-    } else {
-      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
-    }
-
-    if (this.options.toggle) this.toggle()
-  }
-
-  Collapse.VERSION  = '3.3.7'
-
-  Collapse.TRANSITION_DURATION = 350
-
-  Collapse.DEFAULTS = {
-    toggle: true
-  }
-
-  Collapse.prototype.dimension = function () {
-    var hasWidth = this.$element.hasClass('width')
-    return hasWidth ? 'width' : 'height'
-  }
-
-  Collapse.prototype.show = function () {
-    if (this.transitioning || this.$element.hasClass('in')) return
-
-    var activesData
-    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
-
-    if (actives && actives.length) {
-      activesData = actives.data('bs.collapse')
-      if (activesData && activesData.transitioning) return
-    }
-
-    var startEvent = $.Event('show.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
-
-    if (actives && actives.length) {
-      Plugin.call(actives, 'hide')
-      activesData || actives.data('bs.collapse', null)
-    }
-
-    var dimension = this.dimension()
-
-    this.$element
-      .removeClass('collapse')
-      .addClass('collapsing')[dimension](0)
-      .attr('aria-expanded', true)
-
-    this.$trigger
-      .removeClass('collapsed')
-      .attr('aria-expanded', true)
-
-    this.transitioning = 1
-
-    var complete = function () {
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse in')[dimension]('')
-      this.transitioning = 0
-      this.$element
-        .trigger('shown.bs.collapse')
-    }
-
-    if (!$.support.transition) return complete.call(this)
-
-    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
-
-    this.$element
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
-  }
-
-  Collapse.prototype.hide = function () {
-    if (this.transitioning || !this.$element.hasClass('in')) return
-
-    var startEvent = $.Event('hide.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
-
-    var dimension = this.dimension()
-
-    this.$element[dimension](this.$element[dimension]())[0].offsetHeight
-
-    this.$element
-      .addClass('collapsing')
-      .removeClass('collapse in')
-      .attr('aria-expanded', false)
-
-    this.$trigger
-      .addClass('collapsed')
-      .attr('aria-expanded', false)
-
-    this.transitioning = 1
-
-    var complete = function () {
-      this.transitioning = 0
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse')
-        .trigger('hidden.bs.collapse')
-    }
-
-    if (!$.support.transition) return complete.call(this)
-
-    this.$element
-      [dimension](0)
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
-  }
-
-  Collapse.prototype.toggle = function () {
-    this[this.$element.hasClass('in') ? 'hide' : 'show']()
-  }
-
-  Collapse.prototype.getParent = function () {
-    return $(this.options.parent)
-      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
-      .each($.proxy(function (i, element) {
-        var $element = $(element)
-        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
-      }, this))
-      .end()
-  }
-
-  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
-    var isOpen = $element.hasClass('in')
-
-    $element.attr('aria-expanded', isOpen)
-    $trigger
-      .toggleClass('collapsed', !isOpen)
-      .attr('aria-expanded', isOpen)
-  }
-
-  function getTargetFromTrigger($trigger) {
-    var href
-    var target = $trigger.attr('data-target')
-      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
-
-    return $(target)
-  }
-
-
-  // COLLAPSE PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.collapse')
-      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
-      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
-      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.collapse
-
-  $.fn.collapse             = Plugin
-  $.fn.collapse.Constructor = Collapse
-
-
-  // COLLAPSE NO CONFLICT
-  // ====================
-
-  $.fn.collapse.noConflict = function () {
-    $.fn.collapse = old
-    return this
-  }
-
-
-  // COLLAPSE DATA-API
-  // =================
-
-  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
-    var $this   = $(this)
-
-    if (!$this.attr('data-target')) e.preventDefault()
-
-    var $target = getTargetFromTrigger($this)
-    var data    = $target.data('bs.collapse')
-    var option  = data ? 'toggle' : $this.data()
-
-    Plugin.call($target, option)
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: dropdown.js v3.3.7
- * http://getbootstrap.com/javascript/#dropdowns
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // DROPDOWN CLASS DEFINITION
-  // =========================
-
-  var backdrop = '.dropdown-backdrop'
-  var toggle   = '[data-toggle="dropdown"]'
-  var Dropdown = function (element) {
-    $(element).on('click.bs.dropdown', this.toggle)
-  }
-
-  Dropdown.VERSION = '3.3.7'
-
-  function getParent($this) {
-    var selector = $this.attr('data-target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    var $parent = selector && $(selector)
-
-    return $parent && $parent.length ? $parent : $this.parent()
-  }
-
-  function clearMenus(e) {
-    if (e && e.which === 3) return
-    $(backdrop).remove()
-    $(toggle).each(function () {
-      var $this         = $(this)
-      var $parent       = getParent($this)
-      var relatedTarget = { relatedTarget: this }
-
-      if (!$parent.hasClass('open')) return
-
-      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
-
-      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
-
-      if (e.isDefaultPrevented()) return
-
-      $this.attr('aria-expanded', 'false')
-      $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
-    })
-  }
-
-  Dropdown.prototype.toggle = function (e) {
-    var $this = $(this)
-
-    if ($this.is('.disabled, :disabled')) return
-
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
-
-    clearMenus()
-
-    if (!isActive) {
-      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
-        // if mobile we use a backdrop because click events don't delegate
-        $(document.createElement('div'))
-          .addClass('dropdown-backdrop')
-          .insertAfter($(this))
-          .on('click', clearMenus)
-      }
-
-      var relatedTarget = { relatedTarget: this }
-      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
-
-      if (e.isDefaultPrevented()) return
-
-      $this
-        .trigger('focus')
-        .attr('aria-expanded', 'true')
-
-      $parent
-        .toggleClass('open')
-        .trigger($.Event('shown.bs.dropdown', relatedTarget))
-    }
-
-    return false
-  }
-
-  Dropdown.prototype.keydown = function (e) {
-    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
-
-    var $this = $(this)
-
-    e.preventDefault()
-    e.stopPropagation()
-
-    if ($this.is('.disabled, :disabled')) return
-
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
-
-    if (!isActive && e.which != 27 || isActive && e.which == 27) {
-      if (e.which == 27) $parent.find(toggle).trigger('focus')
-      return $this.trigger('click')
-    }
-
-    var desc = ' li:not(.disabled):visible a'
-    var $items = $parent.find('.dropdown-menu' + desc)
-
-    if (!$items.length) return
-
-    var index = $items.index(e.target)
-
-    if (e.which == 38 && index > 0)                 index--         // up
-    if (e.which == 40 && index < $items.length - 1) index++         // down
-    if (!~index)                                    index = 0
-
-    $items.eq(index).trigger('focus')
-  }
-
-
-  // DROPDOWN PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.dropdown')
-
-      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  var old = $.fn.dropdown
-
-  $.fn.dropdown             = Plugin
-  $.fn.dropdown.Constructor = Dropdown
-
-
-  // DROPDOWN NO CONFLICT
-  // ====================
-
-  $.fn.dropdown.noConflict = function () {
-    $.fn.dropdown = old
-    return this
-  }
-
-
-  // APPLY TO STANDARD DROPDOWN ELEMENTS
-  // ===================================
-
-  $(document)
-    .on('click.bs.dropdown.data-api', clearMenus)
-    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
-    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
-    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
-    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: modal.js v3.3.7
- * http://getbootstrap.com/javascript/#modals
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // MODAL CLASS DEFINITION
-  // ======================
-
-  var Modal = function (element, options) {
-    this.options             = options
-    this.$body               = $(document.body)
-    this.$element            = $(element)
-    this.$dialog             = this.$element.find('.modal-dialog')
-    this.$backdrop           = null
-    this.isShown             = null
-    this.originalBodyPad     = null
-    this.scrollbarWidth      = 0
-    this.ignoreBackdropClick = false
-
-    if (this.options.remote) {
-      this.$element
-        .find('.modal-content')
-        .load(this.options.remote, $.proxy(function () {
-          this.$element.trigger('loaded.bs.modal')
-        }, this))
-    }
-  }
-
-  Modal.VERSION  = '3.3.7'
-
-  Modal.TRANSITION_DURATION = 300
-  Modal.BACKDROP_TRANSITION_DURATION = 150
-
-  Modal.DEFAULTS = {
-    backdrop: true,
-    keyboard: true,
-    show: true
-  }
-
-  Modal.prototype.toggle = function (_relatedTarget) {
-    return this.isShown ? this.hide() : this.show(_relatedTarget)
-  }
-
-  Modal.prototype.show = function (_relatedTarget) {
-    var that = this
-    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
-
-    this.$element.trigger(e)
-
-    if (this.isShown || e.isDefaultPrevented()) return
-
-    this.isShown = true
-
-    this.checkScrollbar()
-    this.setScrollbar()
-    this.$body.addClass('modal-open')
-
-    this.escape()
-    this.resize()
-
-    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
-
-    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
-      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
-        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
-      })
-    })
-
-    this.backdrop(function () {
-      var transition = $.support.transition && that.$element.hasClass('fade')
-
-      if (!that.$element.parent().length) {
-        that.$element.appendTo(that.$body) // don't move modals dom position
-      }
-
-      that.$element
-        .show()
-        .scrollTop(0)
-
-      that.adjustDialog()
-
-      if (transition) {
-        that.$element[0].offsetWidth // force reflow
-      }
-
-      that.$element.addClass('in')
-
-      that.enforceFocus()
-
-      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
-
-      transition ?
-        that.$dialog // wait for modal to slide in
-          .one('bsTransitionEnd', function () {
-            that.$element.trigger('focus').trigger(e)
-          })
-          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-        that.$element.trigger('focus').trigger(e)
-    })
-  }
-
-  Modal.prototype.hide = function (e) {
-    if (e) e.preventDefault()
-
-    e = $.Event('hide.bs.modal')
-
-    this.$element.trigger(e)
-
-    if (!this.isShown || e.isDefaultPrevented()) return
-
-    this.isShown = false
-
-    this.escape()
-    this.resize()
-
-    $(document).off('focusin.bs.modal')
-
-    this.$element
-      .removeClass('in')
-      .off('click.dismiss.bs.modal')
-      .off('mouseup.dismiss.bs.modal')
-
-    this.$dialog.off('mousedown.dismiss.bs.modal')
-
-    $.support.transition && this.$element.hasClass('fade') ?
-      this.$element
-        .one('bsTransitionEnd', $.proxy(this.hideModal, this))
-        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-      this.hideModal()
-  }
-
-  Modal.prototype.enforceFocus = function () {
-    $(document)
-      .off('focusin.bs.modal') // guard against infinite focus loop
-      .on('focusin.bs.modal', $.proxy(function (e) {
-        if (document !== e.target &&
-            this.$element[0] !== e.target &&
-            !this.$element.has(e.target).length) {
-          this.$element.trigger('focus')
-        }
-      }, this))
-  }
-
-  Modal.prototype.escape = function () {
-    if (this.isShown && this.options.keyboard) {
-      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
-        e.which == 27 && this.hide()
-      }, this))
-    } else if (!this.isShown) {
-      this.$element.off('keydown.dismiss.bs.modal')
-    }
-  }
-
-  Modal.prototype.resize = function () {
-    if (this.isShown) {
-      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
-    } else {
-      $(window).off('resize.bs.modal')
-    }
-  }
-
-  Modal.prototype.hideModal = function () {
-    var that = this
-    this.$element.hide()
-    this.backdrop(function () {
-      that.$body.removeClass('modal-open')
-      that.resetAdjustments()
-      that.resetScrollbar()
-      that.$element.trigger('hidden.bs.modal')
-    })
-  }
-
-  Modal.prototype.removeBackdrop = function () {
-    this.$backdrop && this.$backdrop.remove()
-    this.$backdrop = null
-  }
-
-  Modal.prototype.backdrop = function (callback) {
-    var that = this
-    var animate = this.$element.hasClass('fade') ? 'fade' : ''
-
-    if (this.isShown && this.options.backdrop) {
-      var doAnimate = $.support.transition && animate
-
-      this.$backdrop = $(document.createElement('div'))
-        .addClass('modal-backdrop ' + animate)
-        .appendTo(this.$body)
-
-      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
-        if (this.ignoreBackdropClick) {
-          this.ignoreBackdropClick = false
-          return
-        }
-        if (e.target !== e.currentTarget) return
-        this.options.backdrop == 'static'
-          ? this.$element[0].focus()
-          : this.hide()
-      }, this))
-
-      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
-      this.$backdrop.addClass('in')
-
-      if (!callback) return
-
-      doAnimate ?
-        this.$backdrop
-          .one('bsTransitionEnd', callback)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callback()
-
-    } else if (!this.isShown && this.$backdrop) {
-      this.$backdrop.removeClass('in')
-
-      var callbackRemove = function () {
-        that.removeBackdrop()
-        callback && callback()
-      }
-      $.support.transition && this.$element.hasClass('fade') ?
-        this.$backdrop
-          .one('bsTransitionEnd', callbackRemove)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callbackRemove()
-
-    } else if (callback) {
-      callback()
-    }
-  }
-
-  // these following methods are used to handle overflowing modals
-
-  Modal.prototype.handleUpdate = function () {
-    this.adjustDialog()
-  }
-
-  Modal.prototype.adjustDialog = function () {
-    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
-
-    this.$element.css({
-      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
-      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
-    })
-  }
-
-  Modal.prototype.resetAdjustments = function () {
-    this.$element.css({
-      paddingLeft: '',
-      paddingRight: ''
-    })
-  }
-
-  Modal.prototype.checkScrollbar = function () {
-    var fullWindowWidth = window.innerWidth
-    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
-      var documentElementRect = document.documentElement.getBoundingClientRect()
-      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
-    }
-    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
-    this.scrollbarWidth = this.measureScrollbar()
-  }
-
-  Modal.prototype.setScrollbar = function () {
-    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
-    this.originalBodyPad = document.body.style.paddingRight || ''
-    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
-  }
-
-  Modal.prototype.resetScrollbar = function () {
-    this.$body.css('padding-right', this.originalBodyPad)
-  }
-
-  Modal.prototype.measureScrollbar = function () { // thx walsh
-    var scrollDiv = document.createElement('div')
-    scrollDiv.className = 'modal-scrollbar-measure'
-    this.$body.append(scrollDiv)
-    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
-    this.$body[0].removeChild(scrollDiv)
-    return scrollbarWidth
-  }
-
-
-  // MODAL PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option, _relatedTarget) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.modal')
-      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
-      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
-      if (typeof option == 'string') data[option](_relatedTarget)
-      else if (options.show) data.show(_relatedTarget)
-    })
-  }
-
-  var old = $.fn.modal
-
-  $.fn.modal             = Plugin
-  $.fn.modal.Constructor = Modal
-
-
-  // MODAL NO CONFLICT
-  // =================
-
-  $.fn.modal.noConflict = function () {
-    $.fn.modal = old
-    return this
-  }
-
-
-  // MODAL DATA-API
-  // ==============
-
-  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
-    var $this   = $(this)
-    var href    = $this.attr('href')
-    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
-    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
-
-    if ($this.is('a')) e.preventDefault()
-
-    $target.one('show.bs.modal', function (showEvent) {
-      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
-      $target.one('hidden.bs.modal', function () {
-        $this.is(':visible') && $this.trigger('focus')
-      })
-    })
-    Plugin.call($target, option, this)
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tooltip.js v3.3.7
- * http://getbootstrap.com/javascript/#tooltip
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // TOOLTIP PUBLIC CLASS DEFINITION
-  // ===============================
-
-  var Tooltip = function (element, options) {
-    this.type       = null
-    this.options    = null
-    this.enabled    = null
-    this.timeout    = null
-    this.hoverState = null
-    this.$element   = null
-    this.inState    = null
-
-    this.init('tooltip', element, options)
-  }
-
-  Tooltip.VERSION  = '3.3.7'
-
-  Tooltip.TRANSITION_DURATION = 150
-
-  Tooltip.DEFAULTS = {
-    animation: true,
-    placement: 'top',
-    selector: false,
-    template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
-    trigger: 'hover focus',
-    title: '',
-    delay: 0,
-    html: false,
-    container: false,
-    viewport: {
-      selector: 'body',
-      padding: 0
-    }
-  }
-
-  Tooltip.prototype.init = function (type, element, options) {
-    this.enabled   = true
-    this.type      = type
-    this.$element  = $(element)
-    this.options   = this.getOptions(options)
-    this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
-    this.inState   = { click: false, hover: false, focus: false }
-
-    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
-      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
-    }
-
-    var triggers = this.options.trigger.split(' ')
-
-    for (var i = triggers.length; i--;) {
-      var trigger = triggers[i]
-
-      if (trigger == 'click') {
-        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
-      } else if (trigger != 'manual') {
-        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
-        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
-
-        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
-        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
-      }
-    }
-
-    this.options.selector ?
-      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
-      this.fixTitle()
-  }
-
-  Tooltip.prototype.getDefaults = function () {
-    return Tooltip.DEFAULTS
-  }
-
-  Tooltip.prototype.getOptions = function (options) {
-    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
-
-    if (options.delay && typeof options.delay == 'number') {
-      options.delay = {
-        show: options.delay,
-        hide: options.delay
-      }
-    }
-
-    return options
-  }
-
-  Tooltip.prototype.getDelegateOptions = function () {
-    var options  = {}
-    var defaults = this.getDefaults()
-
-    this._options && $.each(this._options, function (key, value) {
-      if (defaults[key] != value) options[key] = value
-    })
-
-    return options
-  }
-
-  Tooltip.prototype.enter = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
-
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
-
-    if (obj instanceof $.Event) {
-      self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
-    }
-
-    if (self.tip().hasClass('in') || self.hoverState == 'in') {
-      self.hoverState = 'in'
-      return
-    }
-
-    clearTimeout(self.timeout)
-
-    self.hoverState = 'in'
-
-    if (!self.options.delay || !self.options.delay.show) return self.show()
-
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'in') self.show()
-    }, self.options.delay.show)
-  }
-
-  Tooltip.prototype.isInStateTrue = function () {
-    for (var key in this.inState) {
-      if (this.inState[key]) return true
-    }
-
-    return false
-  }
-
-  Tooltip.prototype.leave = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
-
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
-
-    if (obj instanceof $.Event) {
-      self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
-    }
-
-    if (self.isInStateTrue()) return
-
-    clearTimeout(self.timeout)
-
-    self.hoverState = 'out'
-
-    if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'out') self.hide()
-    }, self.options.delay.hide)
-  }
-
-  Tooltip.prototype.show = function () {
-    var e = $.Event('show.bs.' + this.type)
-
-    if (this.hasContent() && this.enabled) {
-      this.$element.trigger(e)
-
-      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
-      if (e.isDefaultPrevented() || !inDom) return
-      var that = this
-
-      var $tip = this.tip()
-
-      var tipId = this.getUID(this.type)
-
-      this.setContent()
-      $tip.attr('id', tipId)
-      this.$element.attr('aria-describedby', tipId)
-
-      if (this.options.animation) $tip.addClass('fade')
-
-      var placement = typeof this.options.placement == 'function' ?
-        this.options.placement.call(this, $tip[0], this.$element[0]) :
-        this.options.placement
-
-      var autoToken = /\s?auto?\s?/i
-      var autoPlace = autoToken.test(placement)
-      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
-
-      $tip
-        .detach()
-        .css({ top: 0, left: 0, display: 'block' })
-        .addClass(placement)
-        .data('bs.' + this.type, this)
-
-      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-      this.$element.trigger('inserted.bs.' + this.type)
-
-      var pos          = this.getPosition()
-      var actualWidth  = $tip[0].offsetWidth
-      var actualHeight = $tip[0].offsetHeight
-
-      if (autoPlace) {
-        var orgPlacement = placement
-        var viewportDim = this.getPosition(this.$viewport)
-
-        placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top'    :
-                    placement == 'top'    && pos.top    - actualHeight < viewportDim.top    ? 'bottom' :
-                    placement == 'right'  && pos.right  + actualWidth  > viewportDim.width  ? 'left'   :
-                    placement == 'left'   && pos.left   - actualWidth  < viewportDim.left   ? 'right'  :
-                    placement
-
-        $tip
-          .removeClass(orgPlacement)
-          .addClass(placement)
-      }
-
-      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
-
-      this.applyPlacement(calculatedOffset, placement)
-
-      var complete = function () {
-        var prevHoverState = that.hoverState
-        that.$element.trigger('shown.bs.' + that.type)
-        that.hoverState = null
-
-        if (prevHoverState == 'out') that.leave(that)
-      }
-
-      $.support.transition && this.$tip.hasClass('fade') ?
-        $tip
-          .one('bsTransitionEnd', complete)
-          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-        complete()
-    }
-  }
-
-  Tooltip.prototype.applyPlacement = function (offset, placement) {
-    var $tip   = this.tip()
-    var width  = $tip[0].offsetWidth
-    var height = $tip[0].offsetHeight
-
-    // manually read margins because getBoundingClientRect includes difference
-    var marginTop = parseInt($tip.css('margin-top'), 10)
-    var marginLeft = parseInt($tip.css('margin-left'), 10)
-
-    // we must check for NaN for ie 8/9
-    if (isNaN(marginTop))  marginTop  = 0
-    if (isNaN(marginLeft)) marginLeft = 0
-
-    offset.top  += marginTop
-    offset.left += marginLeft
-
-    // $.fn.offset doesn't round pixel values
-    // so we use setOffset directly with our own function B-0
-    $.offset.setOffset($tip[0], $.extend({
-      using: function (props) {
-        $tip.css({
-          top: Math.round(props.top),
-          left: Math.round(props.left)
-        })
-      }
-    }, offset), 0)
-
-    $tip.addClass('in')
-
-    // check to see if placing tip in new offset caused the tip to resize itself
-    var actualWidth  = $tip[0].offsetWidth
-    var actualHeight = $tip[0].offsetHeight
-
-    if (placement == 'top' && actualHeight != height) {
-      offset.top = offset.top + height - actualHeight
-    }
-
-    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
-
-    if (delta.left) offset.left += delta.left
-    else offset.top += delta.top
-
-    var isVertical          = /top|bottom/.test(placement)
-    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
-    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
-
-    $tip.offset(offset)
-    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
-  }
-
-  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
-    this.arrow()
-      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
-      .css(isVertical ? 'top' : 'left', '')
-  }
-
-  Tooltip.prototype.setContent = function () {
-    var $tip  = this.tip()
-    var title = this.getTitle()
-
-    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
-    $tip.removeClass('fade in top bottom left right')
-  }
-
-  Tooltip.prototype.hide = function (callback) {
-    var that = this
-    var $tip = $(this.$tip)
-    var e    = $.Event('hide.bs.' + this.type)
-
-    function complete() {
-      if (that.hoverState != 'in') $tip.detach()
-      if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
-        that.$element
-          .removeAttr('aria-describedby')
-          .trigger('hidden.bs.' + that.type)
-      }
-      callback && callback()
-    }
-
-    this.$element.trigger(e)
-
-    if (e.isDefaultPrevented()) return
-
-    $tip.removeClass('in')
-
-    $.support.transition && $tip.hasClass('fade') ?
-      $tip
-        .one('bsTransitionEnd', complete)
-        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-      complete()
-
-    this.hoverState = null
-
-    return this
-  }
-
-  Tooltip.prototype.fixTitle = function () {
-    var $e = this.$element
-    if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
-      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
-    }
-  }
-
-  Tooltip.prototype.hasContent = function () {
-    return this.getTitle()
-  }
-
-  Tooltip.prototype.getPosition = function ($element) {
-    $element   = $element || this.$element
-
-    var el     = $element[0]
-    var isBody = el.tagName == 'BODY'
-
-    var elRect    = el.getBoundingClientRect()
-    if (elRect.width == null) {
-      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
-      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
-    }
-    var isSvg = window.SVGElement && el instanceof window.SVGElement
-    // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.
-    // See https://github.com/twbs/bootstrap/issues/20280
-    var elOffset  = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())
-    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
-    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
-
-    return $.extend({}, elRect, scroll, outerDims, elOffset)
-  }
-
-  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
-    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
-           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
-           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
-        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
-
-  }
-
-  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
-    var delta = { top: 0, left: 0 }
-    if (!this.$viewport) return delta
-
-    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
-    var viewportDimensions = this.getPosition(this.$viewport)
-
-    if (/right|left/.test(placement)) {
-      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll
-      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
-      if (topEdgeOffset < viewportDimensions.top) { // top overflow
-        delta.top = viewportDimensions.top - topEdgeOffset
-      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
-        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
-      }
-    } else {
-      var leftEdgeOffset  = pos.left - viewportPadding
-      var rightEdgeOffset = pos.left + viewportPadding + actualWidth
-      if (leftEdgeOffset < viewportDimensions.left) { // left overflow
-        delta.left = viewportDimensions.left - leftEdgeOffset
-      } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
-        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
-      }
-    }
-
-    return delta
-  }
-
-  Tooltip.prototype.getTitle = function () {
-    var title
-    var $e = this.$element
-    var o  = this.options
-
-    title = $e.attr('data-original-title')
-      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
-
-    return title
-  }
-
-  Tooltip.prototype.getUID = function (prefix) {
-    do prefix += ~~(Math.random() * 1000000)
-    while (document.getElementById(prefix))
-    return prefix
-  }
-
-  Tooltip.prototype.tip = function () {
-    if (!this.$tip) {
-      this.$tip = $(this.options.template)
-      if (this.$tip.length != 1) {
-        throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
-      }
-    }
-    return this.$tip
-  }
-
-  Tooltip.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
-  }
-
-  Tooltip.prototype.enable = function () {
-    this.enabled = true
-  }
-
-  Tooltip.prototype.disable = function () {
-    this.enabled = false
-  }
-
-  Tooltip.prototype.toggleEnabled = function () {
-    this.enabled = !this.enabled
-  }
-
-  Tooltip.prototype.toggle = function (e) {
-    var self = this
-    if (e) {
-      self = $(e.currentTarget).data('bs.' + this.type)
-      if (!self) {
-        self = new this.constructor(e.currentTarget, this.getDelegateOptions())
-        $(e.currentTarget).data('bs.' + this.type, self)
-      }
-    }
-
-    if (e) {
-      self.inState.click = !self.inState.click
-      if (self.isInStateTrue()) self.enter(self)
-      else self.leave(self)
-    } else {
-      self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
-    }
-  }
-
-  Tooltip.prototype.destroy = function () {
-    var that = this
-    clearTimeout(this.timeout)
-    this.hide(function () {
-      that.$element.off('.' + that.type).removeData('bs.' + that.type)
-      if (that.$tip) {
-        that.$tip.detach()
-      }
-      that.$tip = null
-      that.$arrow = null
-      that.$viewport = null
-      that.$element = null
-    })
-  }
-
-
-  // TOOLTIP PLUGIN DEFINITION
-  // =========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.tooltip')
-      var options = typeof option == 'object' && option
-
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.tooltip
-
-  $.fn.tooltip             = Plugin
-  $.fn.tooltip.Constructor = Tooltip
-
-
-  // TOOLTIP NO CONFLICT
-  // ===================
-
-  $.fn.tooltip.noConflict = function () {
-    $.fn.tooltip = old
-    return this
-  }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: popover.js v3.3.7
- * http://getbootstrap.com/javascript/#popovers
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // POPOVER PUBLIC CLASS DEFINITION
-  // ===============================
-
-  var Popover = function (element, options) {
-    this.init('popover', element, options)
-  }
-
-  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
-
-  Popover.VERSION  = '3.3.7'
-
-  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
-    placement: 'right',
-    trigger: 'click',
-    content: '',
-    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
-  })
-
-
-  // NOTE: POPOVER EXTENDS tooltip.js
-  // ================================
-
-  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
-
-  Popover.prototype.constructor = Popover
-
-  Popover.prototype.getDefaults = function () {
-    return Popover.DEFAULTS
-  }
-
-  Popover.prototype.setContent = function () {
-    var $tip    = this.tip()
-    var title   = this.getTitle()
-    var content = this.getContent()
-
-    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
-    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
-      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
-    ](content)
-
-    $tip.removeClass('fade top bottom left right in')
-
-    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
-    // this manually by checking the contents.
-    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
-  }
-
-  Popover.prototype.hasContent = function () {
-    return this.getTitle() || this.getContent()
-  }
-
-  Popover.prototype.getContent = function () {
-    var $e = this.$element
-    var o  = this.options
-
-    return $e.attr('data-content')
-      || (typeof o.content == 'function' ?
-            o.content.call($e[0]) :
-            o.content)
-  }
-
-  Popover.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
-  }
-
-
-  // POPOVER PLUGIN DEFINITION
-  // =========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.popover')
-      var options = typeof option == 'object' && option
-
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.popover
-
-  $.fn.popover             = Plugin
-  $.fn.popover.Constructor = Popover
-
-
-  // POPOVER NO CONFLICT
-  // ===================
-
-  $.fn.popover.noConflict = function () {
-    $.fn.popover = old
-    return this
-  }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.7
- * http://getbootstrap.com/javascript/#scrollspy
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // SCROLLSPY CLASS DEFINITION
-  // ==========================
-
-  function ScrollSpy(element, options) {
-    this.$body          = $(document.body)
-    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
-    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
-    this.selector       = (this.options.target || '') + ' .nav li > a'
-    this.offsets        = []
-    this.targets        = []
-    this.activeTarget   = null
-    this.scrollHeight   = 0
-
-    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
-    this.refresh()
-    this.process()
-  }
-
-  ScrollSpy.VERSION  = '3.3.7'
-
-  ScrollSpy.DEFAULTS = {
-    offset: 10
-  }
-
-  ScrollSpy.prototype.getScrollHeight = function () {
-    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
-  }
-
-  ScrollSpy.prototype.refresh = function () {
-    var that          = this
-    var offsetMethod  = 'offset'
-    var offsetBase    = 0
-
-    this.offsets      = []
-    this.targets      = []
-    this.scrollHeight = this.getScrollHeight()
-
-    if (!$.isWindow(this.$scrollElement[0])) {
-      offsetMethod = 'position'
-      offsetBase   = this.$scrollElement.scrollTop()
-    }
-
-    this.$body
-      .find(this.selector)
-      .map(function () {
-        var $el   = $(this)
-        var href  = $el.data('target') || $el.attr('href')
-        var $href = /^#./.test(href) && $(href)
-
-        return ($href
-          && $href.length
-          && $href.is(':visible')
-          && [[$href[offsetMethod]().top + offsetBase, href]]) || null
-      })
-      .sort(function (a, b) { return a[0] - b[0] })
-      .each(function () {
-        that.offsets.push(this[0])
-        that.targets.push(this[1])
-      })
-  }
-
-  ScrollSpy.prototype.process = function () {
-    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
-    var scrollHeight = this.getScrollHeight()
-    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
-    var offsets      = this.offsets
-    var targets      = this.targets
-    var activeTarget = this.activeTarget
-    var i
-
-    if (this.scrollHeight != scrollHeight) {
-      this.refresh()
-    }
-
-    if (scrollTop >= maxScroll) {
-      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
-    }
-
-    if (activeTarget && scrollTop < offsets[0]) {
-      this.activeTarget = null
-      return this.clear()
-    }
-
-    for (i = offsets.length; i--;) {
-      activeTarget != targets[i]
-        && scrollTop >= offsets[i]
-        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
-        && this.activate(targets[i])
-    }
-  }
-
-  ScrollSpy.prototype.activate = function (target) {
-    this.activeTarget = target
-
-    this.clear()
-
-    var selector = this.selector +
-      '[data-target="' + target + '"],' +
-      this.selector + '[href="' + target + '"]'
-
-    var active = $(selector)
-      .parents('li')
-      .addClass('active')
-
-    if (active.parent('.dropdown-menu').length) {
-      active = active
-        .closest('li.dropdown')
-        .addClass('active')
-    }
-
-    active.trigger('activate.bs.scrollspy')
-  }
-
-  ScrollSpy.prototype.clear = function () {
-    $(this.selector)
-      .parentsUntil(this.options.target, '.active')
-      .removeClass('active')
-  }
-
-
-  // SCROLLSPY PLUGIN DEFINITION
-  // ===========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.scrollspy')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.scrollspy
-
-  $.fn.scrollspy             = Plugin
-  $.fn.scrollspy.Constructor = ScrollSpy
-
-
-  // SCROLLSPY NO CONFLICT
-  // =====================
-
-  $.fn.scrollspy.noConflict = function () {
-    $.fn.scrollspy = old
-    return this
-  }
-
-
-  // SCROLLSPY DATA-API
-  // ==================
-
-  $(window).on('load.bs.scrollspy.data-api', function () {
-    $('[data-spy="scroll"]').each(function () {
-      var $spy = $(this)
-      Plugin.call($spy, $spy.data())
-    })
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tab.js v3.3.7
- * http://getbootstrap.com/javascript/#tabs
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // TAB CLASS DEFINITION
-  // ====================
-
-  var Tab = function (element) {
-    // jscs:disable requireDollarBeforejQueryAssignment
-    this.element = $(element)
-    // jscs:enable requireDollarBeforejQueryAssignment
-  }
-
-  Tab.VERSION = '3.3.7'
-
-  Tab.TRANSITION_DURATION = 150
-
-  Tab.prototype.show = function () {
-    var $this    = this.element
-    var $ul      = $this.closest('ul:not(.dropdown-menu)')
-    var selector = $this.data('target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    if ($this.parent('li').hasClass('active')) return
-
-    var $previous = $ul.find('.active:last a')
-    var hideEvent = $.Event('hide.bs.tab', {
-      relatedTarget: $this[0]
-    })
-    var showEvent = $.Event('show.bs.tab', {
-      relatedTarget: $previous[0]
-    })
-
-    $previous.trigger(hideEvent)
-    $this.trigger(showEvent)
-
-    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
-
-    var $target = $(selector)
-
-    this.activate($this.closest('li'), $ul)
-    this.activate($target, $target.parent(), function () {
-      $previous.trigger({
-        type: 'hidden.bs.tab',
-        relatedTarget: $this[0]
-      })
-      $this.trigger({
-        type: 'shown.bs.tab',
-        relatedTarget: $previous[0]
-      })
-    })
-  }
-
-  Tab.prototype.activate = function (element, container, callback) {
-    var $active    = container.find('> .active')
-    var transition = callback
-      && $.support.transition
-      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
-
-    function next() {
-      $active
-        .removeClass('active')
-        .find('> .dropdown-menu > .active')
-          .removeClass('active')
-        .end()
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', false)
-
-      element
-        .addClass('active')
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', true)
-
-      if (transition) {
-        element[0].offsetWidth // reflow for transition
-        element.addClass('in')
-      } else {
-        element.removeClass('fade')
-      }
-
-      if (element.parent('.dropdown-menu').length) {
-        element
-          .closest('li.dropdown')
-            .addClass('active')
-          .end()
-          .find('[data-toggle="tab"]')
-            .attr('aria-expanded', true)
-      }
-
-      callback && callback()
-    }
-
-    $active.length && transition ?
-      $active
-        .one('bsTransitionEnd', next)
-        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
-      next()
-
-    $active.removeClass('in')
-  }
-
-
-  // TAB PLUGIN DEFINITION
-  // =====================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.tab')
-
-      if (!data) $this.data('bs.tab', (data = new Tab(this)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.tab
-
-  $.fn.tab             = Plugin
-  $.fn.tab.Constructor = Tab
-
-
-  // TAB NO CONFLICT
-  // ===============
-
-  $.fn.tab.noConflict = function () {
-    $.fn.tab = old
-    return this
-  }
-
-
-  // TAB DATA-API
-  // ============
-
-  var clickHandler = function (e) {
-    e.preventDefault()
-    Plugin.call($(this), 'show')
-  }
-
-  $(document)
-    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
-    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: affix.js v3.3.7
- * http://getbootstrap.com/javascript/#affix
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // AFFIX CLASS DEFINITION
-  // ======================
-
-  var Affix = function (element, options) {
-    this.options = $.extend({}, Affix.DEFAULTS, options)
-
-    this.$target = $(this.options.target)
-      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
-      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
-
-    this.$element     = $(element)
-    this.affixed      = null
-    this.unpin        = null
-    this.pinnedOffset = null
-
-    this.checkPosition()
-  }
-
-  Affix.VERSION  = '3.3.7'
-
-  Affix.RESET    = 'affix affix-top affix-bottom'
-
-  Affix.DEFAULTS = {
-    offset: 0,
-    target: window
-  }
-
-  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
-    var scrollTop    = this.$target.scrollTop()
-    var position     = this.$element.offset()
-    var targetHeight = this.$target.height()
-
-    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
-
-    if (this.affixed == 'bottom') {
-      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
-      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
-    }
-
-    var initializing   = this.affixed == null
-    var colliderTop    = initializing ? scrollTop : position.top
-    var colliderHeight = initializing ? targetHeight : height
-
-    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
-    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
-
-    return false
-  }
-
-  Affix.prototype.getPinnedOffset = function () {
-    if (this.pinnedOffset) return this.pinnedOffset
-    this.$element.removeClass(Affix.RESET).addClass('affix')
-    var scrollTop = this.$target.scrollTop()
-    var position  = this.$element.offset()
-    return (this.pinnedOffset = position.top - scrollTop)
-  }
-
-  Affix.prototype.checkPositionWithEventLoop = function () {
-    setTimeout($.proxy(this.checkPosition, this), 1)
-  }
-
-  Affix.prototype.checkPosition = function () {
-    if (!this.$element.is(':visible')) return
-
-    var height       = this.$element.height()
-    var offset       = this.options.offset
-    var offsetTop    = offset.top
-    var offsetBottom = offset.bottom
-    var scrollHeight = Math.max($(document).height(), $(document.body).height())
-
-    if (typeof offset != 'object')         offsetBottom = offsetTop = offset
-    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)
-    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
-
-    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
-
-    if (this.affixed != affix) {
-      if (this.unpin != null) this.$element.css('top', '')
-
-      var affixType = 'affix' + (affix ? '-' + affix : '')
-      var e         = $.Event(affixType + '.bs.affix')
-
-      this.$element.trigger(e)
-
-      if (e.isDefaultPrevented()) return
-
-      this.affixed = affix
-      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
-
-      this.$element
-        .removeClass(Affix.RESET)
-        .addClass(affixType)
-        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
-    }
-
-    if (affix == 'bottom') {
-      this.$element.offset({
-        top: scrollHeight - height - offsetBottom
-      })
-    }
-  }
-
-
-  // AFFIX PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.affix')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.affix
-
-  $.fn.affix             = Plugin
-  $.fn.affix.Constructor = Affix
-
-
-  // AFFIX NO CONFLICT
-  // =================
-
-  $.fn.affix.noConflict = function () {
-    $.fn.affix = old
-    return this
-  }
-
-
-  // AFFIX DATA-API
-  // ==============
-
-  $(window).on('load', function () {
-    $('[data-spy="affix"]').each(function () {
-      var $spy = $(this)
-      var data = $spy.data()
-
-      data.offset = data.offset || {}
-
-      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
-      if (data.offsetTop    != null) data.offset.top    = data.offsetTop
-
-      Plugin.call($spy, data)
-    })
-  })
-
-}(jQuery);
-
-/* global jQuery: true */
-jQuery(document).ready(function($) {
-  $('a[rel="tooltip"]').tooltip();
-});
-
-let systemInitiatedDark = window.matchMedia("(prefers-color-scheme: dark)"); 
-let theme = sessionStorage.getItem('theme');
-
-if (systemInitiatedDark.matches) {
-  document.getElementById("theme-toggle").innerHTML = "Light Mode";
-} else {
-  document.getElementById("theme-toggle").innerHTML = "Dark Mode";
-}
-
-function prefersColorTest(systemInitiatedDark) {
-  if (systemInitiatedDark.matches) {
-    document.documentElement.setAttribute('data-theme', 'dark');
-    document.getElementById("theme-toggle").innerHTML = "Light Mode";
-    sessionStorage.setItem('theme', '');
-  } else {
-    document.documentElement.setAttribute('data-theme', 'light');
-    document.getElementById("theme-toggle").innerHTML = "Dark Mode";
-    sessionStorage.setItem('theme', '');
-  }
-}
-systemInitiatedDark.addListener(prefersColorTest);
-
-
-function modeSwitcher() {
-  let theme = sessionStorage.getItem('theme');
-  if (theme === "dark") {
-    document.documentElement.setAttribute('data-theme', 'light');
-    sessionStorage.setItem('theme', 'light');
-    document.getElementById("theme-toggle").innerHTML = "Dark Mode";
-  } else if (theme === "light") {
-    document.documentElement.setAttribute('data-theme', 'dark');
-    sessionStorage.setItem('theme', 'dark');
-    document.getElementById("theme-toggle").innerHTML = "Light Mode";
-  } else if (systemInitiatedDark.matches) { 
-    document.documentElement.setAttribute('data-theme', 'light');
-    sessionStorage.setItem('theme', 'light');
-    document.getElementById("theme-toggle").innerHTML = "Dark Mode";
-  } else {
-    document.documentElement.setAttribute('data-theme', 'dark');
-    sessionStorage.setItem('theme', 'dark');
-    document.getElementById("theme-toggle").innerHTML = "Light Mode";
-  }
-}
-
-if (theme === "dark") {
-  document.documentElement.setAttribute('data-theme', 'dark');
-  sessionStorage.setItem('theme', 'dark');
-  document.getElementById("theme-toggle").innerHTML = "Light Mode";
-} else if (theme === "light") {
-  document.documentElement.setAttribute('data-theme', 'light');
-  sessionStorage.setItem('theme', 'light');
-  document.getElementById("theme-toggle").innerHTML = "Dark Mode";
-}
diff --git a/output/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js.gz b/output/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js.gz
deleted file mode 100644
index ceb03ae..0000000
--- a/output/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js.gz
+++ /dev/null
Binary files differ
diff --git a/output/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css b/output/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css
deleted file mode 100644
index d47d76b..0000000
--- a/output/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css
+++ /dev/null
@@ -1,7241 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
-html {
-  font-family: sans-serif;
-  -webkit-text-size-adjust: 100%;
-      -ms-text-size-adjust: 100%;
-}
-body {
-  margin: 0;
-}
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-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-color: transparent;
-}
-a:active,
-a:hover {
-  outline: 0;
-}
-abbr[title] {
-  border-bottom: 1px dotted;
-}
-b,
-strong {
-  font-weight: bold;
-}
-dfn {
-  font-style: italic;
-}
-h1 {
-  margin: .67em 0;
-  font-size: 2em;
-}
-mark {
-  color: #000;
-  background: #ff0;
-}
-small {
-  font-size: 80%;
-}
-sub,
-sup {
-  position: relative;
-  font-size: 75%;
-  line-height: 0;
-  vertical-align: baseline;
-}
-sup {
-  top: -.5em;
-}
-sub {
-  bottom: -.25em;
-}
-img {
-  border: 0;
-}
-svg:not(:root) {
-  overflow: hidden;
-}
-figure {
-  margin: 1em 40px;
-}
-hr {
-  height: 0;
-  -webkit-box-sizing: content-box;
-     -moz-box-sizing: content-box;
-          box-sizing: content-box;
-}
-pre {
-  overflow: auto;
-}
-code,
-kbd,
-pre,
-samp {
-  font-family: monospace, monospace;
-  font-size: 1em;
-}
-button,
-input,
-optgroup,
-select,
-textarea {
-  margin: 0;
-  font: inherit;
-  color: inherit;
-}
-button {
-  overflow: visible;
-}
-button,
-select {
-  text-transform: none;
-}
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
-  -webkit-appearance: button;
-  cursor: pointer;
-}
-button[disabled],
-html input[disabled] {
-  cursor: default;
-}
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  padding: 0;
-  border: 0;
-}
-input {
-  line-height: normal;
-}
-input[type="checkbox"],
-input[type="radio"] {
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          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-box-sizing: content-box;
-     -moz-box-sizing: content-box;
-          box-sizing: content-box;
-  -webkit-appearance: textfield;
-}
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-fieldset {
-  padding: .35em .625em .75em;
-  margin: 0 2px;
-  border: 1px solid #c0c0c0;
-}
-legend {
-  padding: 0;
-  border: 0;
-}
-textarea {
-  overflow: auto;
-}
-optgroup {
-  font-weight: bold;
-}
-table {
-  border-spacing: 0;
-  border-collapse: collapse;
-}
-td,
-th {
-  padding: 0;
-}
-/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
-@media print {
-  *,
-  *:before,
-  *:after {
-    color: #000 !important;
-    text-shadow: none !important;
-    background: transparent !important;
-    -webkit-box-shadow: none !important;
-            box-shadow: none !important;
-  }
-  a,
-  a:visited {
-    text-decoration: underline;
-  }
-  a[href]:after {
-    content: " (" attr(href) ")";
-  }
-  abbr[title]:after {
-    content: " (" attr(title) ")";
-  }
-  a[href^="#"]:after,
-  a[href^="javascript:"]:after {
-    content: "";
-  }
-  pre,
-  blockquote {
-    border: 1px solid #999;
-
-    page-break-inside: avoid;
-  }
-  thead {
-    display: table-header-group;
-  }
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-  img {
-    max-width: 100% !important;
-  }
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-  .navbar {
-    display: none;
-  }
-  .btn > .caret,
-  .dropup > .btn > .caret {
-    border-top-color: #000 !important;
-  }
-  .label {
-    border: 1px solid #000;
-  }
-  .table {
-    border-collapse: collapse !important;
-  }
-  .table td,
-  .table th {
-    background-color: #fff !important;
-  }
-  .table-bordered th,
-  .table-bordered td {
-    border: 1px solid #ddd !important;
-  }
-}
-@font-face {
-  font-family: 'Glyphicons Halflings';
-
-  src: url('/assets/fonts/glyphicons-halflings-regular.eot');
-  src: url('/assets/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('/assets/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('/assets/fonts/glyphicons-halflings-regular.woff') format('woff'), url('/assets/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('/assets/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: "\002a";
-}
-.glyphicon-plus:before {
-  content: "\002b";
-}
-.glyphicon-euro:before,
-.glyphicon-eur: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";
-}
-.glyphicon-cd:before {
-  content: "\e201";
-}
-.glyphicon-save-file:before {
-  content: "\e202";
-}
-.glyphicon-open-file:before {
-  content: "\e203";
-}
-.glyphicon-level-up:before {
-  content: "\e204";
-}
-.glyphicon-copy:before {
-  content: "\e205";
-}
-.glyphicon-paste:before {
-  content: "\e206";
-}
-.glyphicon-alert:before {
-  content: "\e209";
-}
-.glyphicon-equalizer:before {
-  content: "\e210";
-}
-.glyphicon-king:before {
-  content: "\e211";
-}
-.glyphicon-queen:before {
-  content: "\e212";
-}
-.glyphicon-pawn:before {
-  content: "\e213";
-}
-.glyphicon-bishop:before {
-  content: "\e214";
-}
-.glyphicon-knight:before {
-  content: "\e215";
-}
-.glyphicon-baby-formula:before {
-  content: "\e216";
-}
-.glyphicon-tent:before {
-  content: "\26fa";
-}
-.glyphicon-blackboard:before {
-  content: "\e218";
-}
-.glyphicon-bed:before {
-  content: "\e219";
-}
-.glyphicon-apple:before {
-  content: "\f8ff";
-}
-.glyphicon-erase:before {
-  content: "\e221";
-}
-.glyphicon-hourglass:before {
-  content: "\231b";
-}
-.glyphicon-lamp:before {
-  content: "\e223";
-}
-.glyphicon-duplicate:before {
-  content: "\e224";
-}
-.glyphicon-piggy-bank:before {
-  content: "\e225";
-}
-.glyphicon-scissors:before {
-  content: "\e226";
-}
-.glyphicon-bitcoin:before {
-  content: "\e227";
-}
-.glyphicon-btc:before {
-  content: "\e227";
-}
-.glyphicon-xbt:before {
-  content: "\e227";
-}
-.glyphicon-yen:before {
-  content: "\00a5";
-}
-.glyphicon-jpy:before {
-  content: "\00a5";
-}
-.glyphicon-ruble:before {
-  content: "\20bd";
-}
-.glyphicon-rub:before {
-  content: "\20bd";
-}
-.glyphicon-scale:before {
-  content: "\e230";
-}
-.glyphicon-ice-lolly:before {
-  content: "\e231";
-}
-.glyphicon-ice-lolly-tasted:before {
-  content: "\e232";
-}
-.glyphicon-education:before {
-  content: "\e233";
-}
-.glyphicon-option-horizontal:before {
-  content: "\e234";
-}
-.glyphicon-option-vertical:before {
-  content: "\e235";
-}
-.glyphicon-menu-hamburger:before {
-  content: "\e236";
-}
-.glyphicon-modal-window:before {
-  content: "\e237";
-}
-.glyphicon-oil:before {
-  content: "\e238";
-}
-.glyphicon-grain:before {
-  content: "\e239";
-}
-.glyphicon-sunglasses:before {
-  content: "\e240";
-}
-.glyphicon-text-size:before {
-  content: "\e241";
-}
-.glyphicon-text-color:before {
-  content: "\e242";
-}
-.glyphicon-text-background:before {
-  content: "\e243";
-}
-.glyphicon-object-align-top:before {
-  content: "\e244";
-}
-.glyphicon-object-align-bottom:before {
-  content: "\e245";
-}
-.glyphicon-object-align-horizontal:before {
-  content: "\e246";
-}
-.glyphicon-object-align-left:before {
-  content: "\e247";
-}
-.glyphicon-object-align-vertical:before {
-  content: "\e248";
-}
-.glyphicon-object-align-right:before {
-  content: "\e249";
-}
-.glyphicon-triangle-right:before {
-  content: "\e250";
-}
-.glyphicon-triangle-left:before {
-  content: "\e251";
-}
-.glyphicon-triangle-bottom:before {
-  content: "\e252";
-}
-.glyphicon-triangle-top:before {
-  content: "\e253";
-}
-.glyphicon-console:before {
-  content: "\e254";
-}
-.glyphicon-superscript:before {
-  content: "\e255";
-}
-.glyphicon-subscript:before {
-  content: "\e256";
-}
-.glyphicon-menu-left:before {
-  content: "\e257";
-}
-.glyphicon-menu-right:before {
-  content: "\e258";
-}
-.glyphicon-menu-down:before {
-  content: "\e259";
-}
-.glyphicon-menu-up:before {
-  content: "\e260";
-}
-* {
-  -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: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #333;
-  background-color: #fff;
-}
-input,
-button,
-select,
-textarea {
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-a {
-  color: #337ab7;
-  text-decoration: none;
-}
-a:hover,
-a:focus {
-  color: #23527c;
-  text-decoration: underline;
-}
-a:focus {
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-figure {
-  margin: 0;
-}
-img {
-  vertical-align: middle;
-}
-.img-responsive,
-.thumbnail > img,
-.thumbnail a > img,
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
-  display: block;
-  max-width: 100%;
-  height: auto;
-}
-.img-rounded {
-  border-radius: 6px;
-}
-.img-thumbnail {
-  display: inline-block;
-  max-width: 100%;
-  height: auto;
-  padding: 4px;
-  line-height: 1.42857143;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-radius: 4px;
-  -webkit-transition: all .2s ease-in-out;
-       -o-transition: all .2s ease-in-out;
-          transition: all .2s ease-in-out;
-}
-.img-circle {
-  border-radius: 50%;
-}
-hr {
-  margin-top: 20px;
-  margin-bottom: 20px;
-  border: 0;
-  border-top: 1px solid #eee;
-}
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  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;
-}
-[role="button"] {
-  cursor: pointer;
-}
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-.h1,
-.h2,
-.h3,
-.h4,
-.h5,
-.h6 {
-  font-family: inherit;
-  font-weight: 500;
-  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: #777;
-}
-h1,
-.h1,
-h2,
-.h2,
-h3,
-.h3 {
-  margin-top: 20px;
-  margin-bottom: 10px;
-}
-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: 10px;
-  margin-bottom: 10px;
-}
-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: 36px;
-}
-h2,
-.h2 {
-  font-size: 30px;
-}
-h3,
-.h3 {
-  font-size: 24px;
-}
-h4,
-.h4 {
-  font-size: 18px;
-}
-h5,
-.h5 {
-  font-size: 14px;
-}
-h6,
-.h6 {
-  font-size: 12px;
-}
-p {
-  margin: 0 0 10px;
-}
-.lead {
-  margin-bottom: 20px;
-  font-size: 16px;
-  font-weight: 300;
-  line-height: 1.4;
-}
-@media (min-width: 768px) {
-  .lead {
-    font-size: 21px;
-  }
-}
-small,
-.small {
-  font-size: 85%;
-}
-mark,
-.mark {
-  padding: .2em;
-  background-color: #fcf8e3;
-}
-.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: #777;
-}
-.text-primary {
-  color: #337ab7;
-}
-a.text-primary:hover,
-a.text-primary:focus {
-  color: #286090;
-}
-.text-success {
-  color: #3c763d;
-}
-a.text-success:hover,
-a.text-success:focus {
-  color: #2b542c;
-}
-.text-info {
-  color: #31708f;
-}
-a.text-info:hover,
-a.text-info:focus {
-  color: #245269;
-}
-.text-warning {
-  color: #8a6d3b;
-}
-a.text-warning:hover,
-a.text-warning:focus {
-  color: #66512c;
-}
-.text-danger {
-  color: #a94442;
-}
-a.text-danger:hover,
-a.text-danger:focus {
-  color: #843534;
-}
-.bg-primary {
-  color: #fff;
-  background-color: #337ab7;
-}
-a.bg-primary:hover,
-a.bg-primary:focus {
-  background-color: #286090;
-}
-.bg-success {
-  background-color: #dff0d8;
-}
-a.bg-success:hover,
-a.bg-success:focus {
-  background-color: #c1e2b3;
-}
-.bg-info {
-  background-color: #d9edf7;
-}
-a.bg-info:hover,
-a.bg-info:focus {
-  background-color: #afd9ee;
-}
-.bg-warning {
-  background-color: #fcf8e3;
-}
-a.bg-warning:hover,
-a.bg-warning:focus {
-  background-color: #f7ecb5;
-}
-.bg-danger {
-  background-color: #f2dede;
-}
-a.bg-danger:hover,
-a.bg-danger:focus {
-  background-color: #e4b9b9;
-}
-.page-header {
-  padding-bottom: 9px;
-  margin: 40px 0 20px;
-  border-bottom: 1px solid #eee;
-}
-ul,
-ol {
-  margin-top: 0;
-  margin-bottom: 10px;
-}
-ul ul,
-ol ul,
-ul ol,
-ol ol {
-  margin-bottom: 0;
-}
-.list-unstyled {
-  padding-left: 0;
-  list-style: none;
-}
-.list-inline {
-  padding-left: 0;
-  margin-left: -5px;
-  list-style: none;
-}
-.list-inline > li {
-  display: inline-block;
-  padding-right: 5px;
-  padding-left: 5px;
-}
-dl {
-  margin-top: 0;
-  margin-bottom: 20px;
-}
-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;
-    overflow: hidden;
-    clear: left;
-    text-align: right;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-  }
-  .dl-horizontal dd {
-    margin-left: 180px;
-  }
-}
-abbr[title],
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted #777;
-}
-.initialism {
-  font-size: 90%;
-  text-transform: uppercase;
-}
-blockquote {
-  padding: 10px 20px;
-  margin: 0 0 20px;
-  font-size: 17.5px;
-  border-left: 5px solid #eee;
-}
-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: #777;
-}
-blockquote footer:before,
-blockquote small:before,
-blockquote .small:before {
-  content: '\2014 \00A0';
-}
-.blockquote-reverse,
-blockquote.pull-right {
-  padding-right: 15px;
-  padding-left: 0;
-  text-align: right;
-  border-right: 5px solid #eee;
-  border-left: 0;
-}
-.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,
-blockquote.pull-right .small:after {
-  content: '\00A0 \2014';
-}
-address {
-  margin-bottom: 20px;
-  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: 4px;
-}
-kbd {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: #fff;
-  background-color: #333;
-  border-radius: 3px;
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
-}
-kbd kbd {
-  padding: 0;
-  font-size: 100%;
-  font-weight: bold;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-pre {
-  display: block;
-  padding: 9.5px;
-  margin: 0 0 10px;
-  font-size: 13px;
-  line-height: 1.42857143;
-  color: #333;
-  word-break: break-all;
-  word-wrap: break-word;
-  background-color: #f5f5f5;
-  border: 1px solid #ccc;
-  border-radius: 4px;
-}
-pre code {
-  padding: 0;
-  font-size: inherit;
-  color: inherit;
-  white-space: pre-wrap;
-  background-color: transparent;
-  border-radius: 0;
-}
-.pre-scrollable {
-  max-height: 340px;
-  overflow-y: scroll;
-}
-.container {
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-right: auto;
-  margin-left: auto;
-}
-@media (min-width: 768px) {
-  .container {
-    width: 750px;
-  }
-}
-@media (min-width: 992px) {
-  .container {
-    width: 970px;
-  }
-}
-@media (min-width: 1200px) {
-  .container {
-    width: 1170px;
-  }
-}
-.container-fluid {
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-right: auto;
-  margin-left: auto;
-}
-.row {
-  margin-right: -15px;
-  margin-left: -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-right: 15px;
-  padding-left: 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, .col-xs-12 {
-  float: left;
-}
-.col-xs-12 {
-  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, .col-sm-12 {
-    float: left;
-  }
-  .col-sm-12 {
-    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, .col-md-12 {
-    float: left;
-  }
-  .col-md-12 {
-    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, .col-lg-12 {
-    float: left;
-  }
-  .col-lg-12 {
-    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;
-}
-caption {
-  padding-top: 8px;
-  padding-bottom: 8px;
-  color: #777;
-  text-align: left;
-}
-th {
-  text-align: left;
-}
-.table {
-  width: 100%;
-  max-width: 100%;
-  margin-bottom: 20px;
-}
-.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 #ddd;
-}
-.table > thead > tr > th {
-  vertical-align: bottom;
-  border-bottom: 2px solid #ddd;
-}
-.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 #ddd;
-}
-.table .table {
-  background-color: #fff;
-}
-.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 #ddd;
-}
-.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 #ddd;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > thead > tr > td {
-  border-bottom-width: 2px;
-}
-.table-striped > tbody > tr:nth-of-type(odd) {
-  background-color: #f9f9f9;
-}
-.table-hover > tbody > tr:hover {
-  background-color: #f5f5f5;
-}
-table col[class*="col-"] {
-  position: static;
-  display: table-column;
-  float: none;
-}
-table td[class*="col-"],
-table th[class*="col-"] {
-  position: static;
-  display: table-cell;
-  float: none;
-}
-.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,
-.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,
-.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,
-.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,
-.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,
-.table-hover > tbody > tr.danger:hover > td,
-.table-hover > tbody > tr:hover > .danger,
-.table-hover > tbody > tr.danger:hover > th {
-  background-color: #ebcccc;
-}
-.table-responsive {
-  min-height: .01%;
-  overflow-x: auto;
-}
-@media screen and (max-width: 767px) {
-  .table-responsive {
-    width: 100%;
-    margin-bottom: 15px;
-    overflow-y: hidden;
-    -ms-overflow-style: -ms-autohiding-scrollbar;
-    border: 1px solid #ddd;
-  }
-  .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 {
-  min-width: 0;
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-legend {
-  display: block;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 20px;
-  font-size: 21px;
-  line-height: inherit;
-  color: #333;
-  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: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-output {
-  display: block;
-  padding-top: 7px;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #555;
-}
-.form-control {
-  display: block;
-  width: 100%;
-  height: 34px;
-  padding: 6px 12px;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #555;
-  background-color: #fff;
-  background-image: none;
-  border: 1px solid #ccc;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-  -webkit-transition: border-color ease-in-out .15s, -webkit-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,.075), 0 0 8px rgba(102, 175, 233, .6);
-          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
-}
-.form-control::-moz-placeholder {
-  color: #999;
-  opacity: 1;
-}
-.form-control:-ms-input-placeholder {
-  color: #999;
-}
-.form-control::-webkit-input-placeholder {
-  color: #999;
-}
-.form-control::-ms-expand {
-  background-color: transparent;
-  border: 0;
-}
-.form-control[disabled],
-.form-control[readonly],
-fieldset[disabled] .form-control {
-  background-color: #eee;
-  opacity: 1;
-}
-.form-control[disabled],
-fieldset[disabled] .form-control {
-  cursor: not-allowed;
-}
-textarea.form-control {
-  height: auto;
-}
-input[type="search"] {
-  -webkit-appearance: none;
-}
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
-  input[type="date"].form-control,
-  input[type="time"].form-control,
-  input[type="datetime-local"].form-control,
-  input[type="month"].form-control {
-    line-height: 34px;
-  }
-  input[type="date"].input-sm,
-  input[type="time"].input-sm,
-  input[type="datetime-local"].input-sm,
-  input[type="month"].input-sm,
-  .input-group-sm input[type="date"],
-  .input-group-sm input[type="time"],
-  .input-group-sm input[type="datetime-local"],
-  .input-group-sm input[type="month"] {
-    line-height: 30px;
-  }
-  input[type="date"].input-lg,
-  input[type="time"].input-lg,
-  input[type="datetime-local"].input-lg,
-  input[type="month"].input-lg,
-  .input-group-lg input[type="date"],
-  .input-group-lg input[type="time"],
-  .input-group-lg input[type="datetime-local"],
-  .input-group-lg input[type="month"] {
-    line-height: 46px;
-  }
-}
-.form-group {
-  margin-bottom: 15px;
-}
-.radio,
-.checkbox {
-  position: relative;
-  display: block;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-.radio label,
-.checkbox label {
-  min-height: 20px;
-  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-top: 4px \9;
-  margin-left: -20px;
-}
-.radio + .radio,
-.checkbox + .checkbox {
-  margin-top: -5px;
-}
-.radio-inline,
-.checkbox-inline {
-  position: relative;
-  display: inline-block;
-  padding-left: 20px;
-  margin-bottom: 0;
-  font-weight: normal;
-  vertical-align: middle;
-  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,
-fieldset[disabled] input[type="radio"],
-fieldset[disabled] input[type="checkbox"] {
-  cursor: not-allowed;
-}
-.radio-inline.disabled,
-.checkbox-inline.disabled,
-fieldset[disabled] .radio-inline,
-fieldset[disabled] .checkbox-inline {
-  cursor: not-allowed;
-}
-.radio.disabled label,
-.checkbox.disabled label,
-fieldset[disabled] .radio label,
-fieldset[disabled] .checkbox label {
-  cursor: not-allowed;
-}
-.form-control-static {
-  min-height: 34px;
-  padding-top: 7px;
-  padding-bottom: 7px;
-  margin-bottom: 0;
-}
-.form-control-static.input-lg,
-.form-control-static.input-sm {
-  padding-right: 0;
-  padding-left: 0;
-}
-.input-sm {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-select.input-sm {
-  height: 30px;
-  line-height: 30px;
-}
-textarea.input-sm,
-select[multiple].input-sm {
-  height: auto;
-}
-.form-group-sm .form-control {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.form-group-sm select.form-control {
-  height: 30px;
-  line-height: 30px;
-}
-.form-group-sm textarea.form-control,
-.form-group-sm select[multiple].form-control {
-  height: auto;
-}
-.form-group-sm .form-control-static {
-  height: 30px;
-  min-height: 32px;
-  padding: 6px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-}
-.input-lg {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-select.input-lg {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-lg,
-select[multiple].input-lg {
-  height: auto;
-}
-.form-group-lg .form-control {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-.form-group-lg select.form-control {
-  height: 46px;
-  line-height: 46px;
-}
-.form-group-lg textarea.form-control,
-.form-group-lg select[multiple].form-control {
-  height: auto;
-}
-.form-group-lg .form-control-static {
-  height: 46px;
-  min-height: 38px;
-  padding: 11px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-}
-.has-feedback {
-  position: relative;
-}
-.has-feedback .form-control {
-  padding-right: 42.5px;
-}
-.form-control-feedback {
-  position: absolute;
-  top: 0;
-  right: 0;
-  z-index: 2;
-  display: block;
-  width: 34px;
-  height: 34px;
-  line-height: 34px;
-  text-align: center;
-  pointer-events: none;
-}
-.input-lg + .form-control-feedback,
-.input-group-lg + .form-control-feedback,
-.form-group-lg .form-control + .form-control-feedback {
-  width: 46px;
-  height: 46px;
-  line-height: 46px;
-}
-.input-sm + .form-control-feedback,
-.input-group-sm + .form-control-feedback,
-.form-group-sm .form-control + .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,
-.has-success.radio label,
-.has-success.checkbox label,
-.has-success.radio-inline label,
-.has-success.checkbox-inline label {
-  color: #3c763d;
-}
-.has-success .form-control {
-  border-color: #3c763d;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-}
-.has-success .form-control:focus {
-  border-color: #2b542c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
-}
-.has-success .input-group-addon {
-  color: #3c763d;
-  background-color: #dff0d8;
-  border-color: #3c763d;
-}
-.has-success .form-control-feedback {
-  color: #3c763d;
-}
-.has-warning .help-block,
-.has-warning .control-label,
-.has-warning .radio,
-.has-warning .checkbox,
-.has-warning .radio-inline,
-.has-warning .checkbox-inline,
-.has-warning.radio label,
-.has-warning.checkbox label,
-.has-warning.radio-inline label,
-.has-warning.checkbox-inline label {
-  color: #8a6d3b;
-}
-.has-warning .form-control {
-  border-color: #8a6d3b;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-}
-.has-warning .form-control:focus {
-  border-color: #66512c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
-}
-.has-warning .input-group-addon {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-  border-color: #8a6d3b;
-}
-.has-warning .form-control-feedback {
-  color: #8a6d3b;
-}
-.has-error .help-block,
-.has-error .control-label,
-.has-error .radio,
-.has-error .checkbox,
-.has-error .radio-inline,
-.has-error .checkbox-inline,
-.has-error.radio label,
-.has-error.checkbox label,
-.has-error.radio-inline label,
-.has-error.checkbox-inline label {
-  color: #a94442;
-}
-.has-error .form-control {
-  border-color: #a94442;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-}
-.has-error .form-control:focus {
-  border-color: #843534;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
-}
-.has-error .input-group-addon {
-  color: #a94442;
-  background-color: #f2dede;
-  border-color: #a94442;
-}
-.has-error .form-control-feedback {
-  color: #a94442;
-}
-.has-feedback label ~ .form-control-feedback {
-  top: 25px;
-}
-.has-feedback label.sr-only ~ .form-control-feedback {
-  top: 0;
-}
-.help-block {
-  display: block;
-  margin-top: 5px;
-  margin-bottom: 10px;
-  color: #737373;
-}
-@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 .form-control-static {
-    display: inline-block;
-  }
-  .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 {
-  padding-top: 7px;
-  margin-top: 0;
-  margin-bottom: 0;
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox {
-  min-height: 27px;
-}
-.form-horizontal .form-group {
-  margin-right: -15px;
-  margin-left: -15px;
-}
-@media (min-width: 768px) {
-  .form-horizontal .control-label {
-    padding-top: 7px;
-    margin-bottom: 0;
-    text-align: right;
-  }
-}
-.form-horizontal .has-feedback .form-control-feedback {
-  right: 15px;
-}
-@media (min-width: 768px) {
-  .form-horizontal .form-group-lg .control-label {
-    padding-top: 11px;
-    font-size: 18px;
-  }
-}
-@media (min-width: 768px) {
-  .form-horizontal .form-group-sm .control-label {
-    padding-top: 6px;
-    font-size: 12px;
-  }
-}
-.btn {
-  display: inline-block;
-  padding: 6px 12px;
-  margin-bottom: 0;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 1.42857143;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: middle;
-  -ms-touch-action: manipulation;
-      touch-action: manipulation;
-  cursor: pointer;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  background-image: none;
-  border: 1px solid transparent;
-  border-radius: 4px;
-}
-.btn:focus,
-.btn:active:focus,
-.btn.active:focus,
-.btn.focus,
-.btn:active.focus,
-.btn.active.focus {
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-.btn:hover,
-.btn:focus,
-.btn.focus {
-  color: #333;
-  text-decoration: none;
-}
-.btn:active,
-.btn.active {
-  background-image: none;
-  outline: 0;
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-.btn.disabled,
-.btn[disabled],
-fieldset[disabled] .btn {
-  cursor: not-allowed;
-  filter: alpha(opacity=65);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  opacity: .65;
-}
-a.btn.disabled,
-fieldset[disabled] a.btn {
-  pointer-events: none;
-}
-.btn-default {
-  color: #333;
-  background-color: #fff;
-  border-color: #ccc;
-}
-.btn-default:focus,
-.btn-default.focus {
-  color: #333;
-  background-color: #e6e6e6;
-  border-color: #8c8c8c;
-}
-.btn-default:hover {
-  color: #333;
-  background-color: #e6e6e6;
-  border-color: #adadad;
-}
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
-  color: #333;
-  background-color: #e6e6e6;
-  border-color: #adadad;
-}
-.btn-default:active:hover,
-.btn-default.active:hover,
-.open > .dropdown-toggle.btn-default:hover,
-.btn-default:active:focus,
-.btn-default.active:focus,
-.open > .dropdown-toggle.btn-default:focus,
-.btn-default:active.focus,
-.btn-default.active.focus,
-.open > .dropdown-toggle.btn-default.focus {
-  color: #333;
-  background-color: #d4d4d4;
-  border-color: #8c8c8c;
-}
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
-  background-image: none;
-}
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled.focus,
-.btn-default[disabled].focus,
-fieldset[disabled] .btn-default.focus {
-  background-color: #fff;
-  border-color: #ccc;
-}
-.btn-default .badge {
-  color: #fff;
-  background-color: #333;
-}
-.btn-primary {
-  color: #fff;
-  background-color: #337ab7;
-  border-color: #2e6da4;
-}
-.btn-primary:focus,
-.btn-primary.focus {
-  color: #fff;
-  background-color: #286090;
-  border-color: #122b40;
-}
-.btn-primary:hover {
-  color: #fff;
-  background-color: #286090;
-  border-color: #204d74;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
-  color: #fff;
-  background-color: #286090;
-  border-color: #204d74;
-}
-.btn-primary:active:hover,
-.btn-primary.active:hover,
-.open > .dropdown-toggle.btn-primary:hover,
-.btn-primary:active:focus,
-.btn-primary.active:focus,
-.open > .dropdown-toggle.btn-primary:focus,
-.btn-primary:active.focus,
-.btn-primary.active.focus,
-.open > .dropdown-toggle.btn-primary.focus {
-  color: #fff;
-  background-color: #204d74;
-  border-color: #122b40;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
-  background-image: none;
-}
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled.focus,
-.btn-primary[disabled].focus,
-fieldset[disabled] .btn-primary.focus {
-  background-color: #337ab7;
-  border-color: #2e6da4;
-}
-.btn-primary .badge {
-  color: #337ab7;
-  background-color: #fff;
-}
-.btn-success {
-  color: #fff;
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success:focus,
-.btn-success.focus {
-  color: #fff;
-  background-color: #449d44;
-  border-color: #255625;
-}
-.btn-success:hover {
-  color: #fff;
-  background-color: #449d44;
-  border-color: #398439;
-}
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
-  color: #fff;
-  background-color: #449d44;
-  border-color: #398439;
-}
-.btn-success:active:hover,
-.btn-success.active:hover,
-.open > .dropdown-toggle.btn-success:hover,
-.btn-success:active:focus,
-.btn-success.active:focus,
-.open > .dropdown-toggle.btn-success:focus,
-.btn-success:active.focus,
-.btn-success.active.focus,
-.open > .dropdown-toggle.btn-success.focus {
-  color: #fff;
-  background-color: #398439;
-  border-color: #255625;
-}
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
-  background-image: none;
-}
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled.focus,
-.btn-success[disabled].focus,
-fieldset[disabled] .btn-success.focus {
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success .badge {
-  color: #5cb85c;
-  background-color: #fff;
-}
-.btn-info {
-  color: #fff;
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info:focus,
-.btn-info.focus {
-  color: #fff;
-  background-color: #31b0d5;
-  border-color: #1b6d85;
-}
-.btn-info:hover {
-  color: #fff;
-  background-color: #31b0d5;
-  border-color: #269abc;
-}
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
-  color: #fff;
-  background-color: #31b0d5;
-  border-color: #269abc;
-}
-.btn-info:active:hover,
-.btn-info.active:hover,
-.open > .dropdown-toggle.btn-info:hover,
-.btn-info:active:focus,
-.btn-info.active:focus,
-.open > .dropdown-toggle.btn-info:focus,
-.btn-info:active.focus,
-.btn-info.active.focus,
-.open > .dropdown-toggle.btn-info.focus {
-  color: #fff;
-  background-color: #269abc;
-  border-color: #1b6d85;
-}
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
-  background-image: none;
-}
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled.focus,
-.btn-info[disabled].focus,
-fieldset[disabled] .btn-info.focus {
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info .badge {
-  color: #5bc0de;
-  background-color: #fff;
-}
-.btn-warning {
-  color: #fff;
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning:focus,
-.btn-warning.focus {
-  color: #fff;
-  background-color: #ec971f;
-  border-color: #985f0d;
-}
-.btn-warning:hover {
-  color: #fff;
-  background-color: #ec971f;
-  border-color: #d58512;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
-  color: #fff;
-  background-color: #ec971f;
-  border-color: #d58512;
-}
-.btn-warning:active:hover,
-.btn-warning.active:hover,
-.open > .dropdown-toggle.btn-warning:hover,
-.btn-warning:active:focus,
-.btn-warning.active:focus,
-.open > .dropdown-toggle.btn-warning:focus,
-.btn-warning:active.focus,
-.btn-warning.active.focus,
-.open > .dropdown-toggle.btn-warning.focus {
-  color: #fff;
-  background-color: #d58512;
-  border-color: #985f0d;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
-  background-image: none;
-}
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled.focus,
-.btn-warning[disabled].focus,
-fieldset[disabled] .btn-warning.focus {
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning .badge {
-  color: #f0ad4e;
-  background-color: #fff;
-}
-.btn-danger {
-  color: #fff;
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger:focus,
-.btn-danger.focus {
-  color: #fff;
-  background-color: #c9302c;
-  border-color: #761c19;
-}
-.btn-danger:hover {
-  color: #fff;
-  background-color: #c9302c;
-  border-color: #ac2925;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
-  color: #fff;
-  background-color: #c9302c;
-  border-color: #ac2925;
-}
-.btn-danger:active:hover,
-.btn-danger.active:hover,
-.open > .dropdown-toggle.btn-danger:hover,
-.btn-danger:active:focus,
-.btn-danger.active:focus,
-.open > .dropdown-toggle.btn-danger:focus,
-.btn-danger:active.focus,
-.btn-danger.active.focus,
-.open > .dropdown-toggle.btn-danger.focus {
-  color: #fff;
-  background-color: #ac2925;
-  border-color: #761c19;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
-  background-image: none;
-}
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled.focus,
-.btn-danger[disabled].focus,
-fieldset[disabled] .btn-danger.focus {
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger .badge {
-  color: #d9534f;
-  background-color: #fff;
-}
-.btn-link {
-  font-weight: normal;
-  color: #337ab7;
-  border-radius: 0;
-}
-.btn-link,
-.btn-link:active,
-.btn-link.active,
-.btn-link[disabled],
-fieldset[disabled] .btn-link {
-  background-color: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.btn-link,
-.btn-link:hover,
-.btn-link:focus,
-.btn-link:active {
-  border-color: transparent;
-}
-.btn-link:hover,
-.btn-link:focus {
-  color: #23527c;
-  text-decoration: underline;
-  background-color: transparent;
-}
-.btn-link[disabled]:hover,
-fieldset[disabled] .btn-link:hover,
-.btn-link[disabled]:focus,
-fieldset[disabled] .btn-link:focus {
-  color: #777;
-  text-decoration: none;
-}
-.btn-lg,
-.btn-group-lg > .btn {
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-.btn-sm,
-.btn-group-sm > .btn {
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.btn-xs,
-.btn-group-xs > .btn {
-  padding: 1px 5px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.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 .15s linear;
-       -o-transition: opacity .15s linear;
-          transition: opacity .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-timing-function: ease;
-       -o-transition-timing-function: ease;
-          transition-timing-function: ease;
-  -webkit-transition-duration: .35s;
-       -o-transition-duration: .35s;
-          transition-duration: .35s;
-  -webkit-transition-property: height, visibility;
-       -o-transition-property: height, visibility;
-          transition-property: height, visibility;
-}
-.caret {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-left: 2px;
-  vertical-align: middle;
-  border-top: 4px dashed;
-  border-top: 4px solid \9;
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-}
-.dropup,
-.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;
-  font-size: 14px;
-  text-align: left;
-  list-style: none;
-  background-color: #fff;
-  -webkit-background-clip: padding-box;
-          background-clip: padding-box;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, .15);
-  border-radius: 4px;
-  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
-          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
-}
-.dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-.dropdown-menu .divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.dropdown-menu > li > a {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.42857143;
-  color: #333;
-  white-space: nowrap;
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
-  color: #262626;
-  text-decoration: none;
-  background-color: #f5f5f5;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  color: #fff;
-  text-decoration: none;
-  background-color: #337ab7;
-  outline: 0;
-}
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  color: #777;
-}
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  text-decoration: none;
-  cursor: not-allowed;
-  background-color: transparent;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-}
-.open > .dropdown-menu {
-  display: block;
-}
-.open > a {
-  outline: 0;
-}
-.dropdown-menu-right {
-  right: 0;
-  left: auto;
-}
-.dropdown-menu-left {
-  right: auto;
-  left: 0;
-}
-.dropdown-header {
-  display: block;
-  padding: 3px 20px;
-  font-size: 12px;
-  line-height: 1.42857143;
-  color: #777;
-  white-space: nowrap;
-}
-.dropdown-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 990;
-}
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
-  content: "";
-  border-top: 0;
-  border-bottom: 4px dashed;
-  border-bottom: 4px solid \9;
-}
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
-  top: auto;
-  bottom: 100%;
-  margin-bottom: 2px;
-}
-@media (min-width: 1200px) {
-  .navbar-right .dropdown-menu {
-    right: 0;
-    left: auto;
-  }
-  .navbar-right .dropdown-menu-left {
-    right: auto;
-    left: 0;
-  }
-}
-.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 + .btn,
-.btn-group .btn + .btn-group,
-.btn-group .btn-group + .btn,
-.btn-group .btn-group + .btn-group {
-  margin-left: -1px;
-}
-.btn-toolbar {
-  margin-left: -5px;
-}
-.btn-toolbar .btn,
-.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-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
-  border-top-left-radius: 0;
-  border-bottom-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:not(:last-child) > .btn:last-child,
-.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
-  outline: 0;
-}
-.btn-group > .btn + .dropdown-toggle {
-  padding-right: 8px;
-  padding-left: 8px;
-}
-.btn-group > .btn-lg + .dropdown-toggle {
-  padding-right: 12px;
-  padding-left: 12px;
-}
-.btn-group.open .dropdown-toggle {
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-.btn-group.open .dropdown-toggle.btn-link {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.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,
-.btn-group-vertical > .btn-group,
-.btn-group-vertical > .btn-group > .btn {
-  display: block;
-  float: none;
-  width: 100%;
-  max-width: 100%;
-}
-.btn-group-vertical > .btn-group > .btn {
-  float: none;
-}
-.btn-group-vertical > .btn + .btn,
-.btn-group-vertical > .btn + .btn-group,
-.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-left-radius: 4px;
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn:last-child:not(:first-child) {
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-.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-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.btn-group-justified {
-  display: table;
-  width: 100%;
-  table-layout: fixed;
-  border-collapse: separate;
-}
-.btn-group-justified > .btn,
-.btn-group-justified > .btn-group {
-  display: table-cell;
-  float: none;
-  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-group > .btn input[type="radio"],
-[data-toggle="buttons"] > .btn input[type="checkbox"],
-[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
-  position: absolute;
-  clip: rect(0, 0, 0, 0);
-  pointer-events: none;
-}
-.input-group {
-  position: relative;
-  display: table;
-  border-collapse: separate;
-}
-.input-group[class*="col-"] {
-  float: none;
-  padding-right: 0;
-  padding-left: 0;
-}
-.input-group .form-control {
-  position: relative;
-  z-index: 2;
-  float: left;
-  width: 100%;
-  margin-bottom: 0;
-}
-.input-group .form-control:focus {
-  z-index: 3;
-}
-.input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-select.input-group-lg > .form-control,
-select.input-group-lg > .input-group-addon,
-select.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-group-lg > .form-control,
-textarea.input-group-lg > .input-group-addon,
-textarea.input-group-lg > .input-group-btn > .btn,
-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: 3px;
-}
-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,
-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: 14px;
-  font-weight: normal;
-  line-height: 1;
-  color: #555;
-  text-align: center;
-  background-color: #eee;
-  border: 1px solid #ccc;
-  border-radius: 4px;
-}
-.input-group-addon.input-sm {
-  padding: 5px 10px;
-  font-size: 12px;
-  border-radius: 3px;
-}
-.input-group-addon.input-lg {
-  padding: 10px 16px;
-  font-size: 18px;
-  border-radius: 6px;
-}
-.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,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.input-group-addon:first-child {
-  border-right: 0;
-}
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
-  border-top-left-radius: 0;
-  border-bottom-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 {
-  z-index: 2;
-  margin-left: -1px;
-}
-.nav {
-  padding-left: 0;
-  margin-bottom: 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: #eee;
-}
-.nav > li.disabled > a {
-  color: #777;
-}
-.nav > li.disabled > a:hover,
-.nav > li.disabled > a:focus {
-  color: #777;
-  text-decoration: none;
-  cursor: not-allowed;
-  background-color: transparent;
-}
-.nav .open > a,
-.nav .open > a:hover,
-.nav .open > a:focus {
-  background-color: #eee;
-  border-color: #337ab7;
-}
-.nav .nav-divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.nav > li > a > img {
-  max-width: none;
-}
-.nav-tabs {
-  border-bottom: 1px solid #ddd;
-}
-.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: 4px 4px 0 0;
-}
-.nav-tabs > li > a:hover {
-  border-color: #eee #eee #ddd;
-}
-.nav-tabs > li.active > a,
-.nav-tabs > li.active > a:hover,
-.nav-tabs > li.active > a:focus {
-  color: #555;
-  cursor: default;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-bottom-color: transparent;
-}
-.nav-tabs.nav-justified {
-  width: 100%;
-  border-bottom: 0;
-}
-.nav-tabs.nav-justified > li {
-  float: none;
-}
-.nav-tabs.nav-justified > li > a {
-  margin-bottom: 5px;
-  text-align: center;
-}
-.nav-tabs.nav-justified > .dropdown .dropdown-menu {
-  top: auto;
-  left: auto;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li {
-    display: table-cell;
-    width: 1%;
-  }
-  .nav-tabs.nav-justified > li > a {
-    margin-bottom: 0;
-  }
-}
-.nav-tabs.nav-justified > li > a {
-  margin-right: 0;
-  border-radius: 4px;
-}
-.nav-tabs.nav-justified > .active > a,
-.nav-tabs.nav-justified > .active > a:hover,
-.nav-tabs.nav-justified > .active > a:focus {
-  border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li > a {
-    border-bottom: 1px solid #ddd;
-    border-radius: 4px 4px 0 0;
-  }
-  .nav-tabs.nav-justified > .active > a,
-  .nav-tabs.nav-justified > .active > a:hover,
-  .nav-tabs.nav-justified > .active > a:focus {
-    border-bottom-color: #fff;
-  }
-}
-.nav-pills > li {
-  float: left;
-}
-.nav-pills > li > a {
-  border-radius: 4px;
-}
-.nav-pills > li + li {
-  margin-left: 2px;
-}
-.nav-pills > li.active > a,
-.nav-pills > li.active > a:hover,
-.nav-pills > li.active > a:focus {
-  color: #fff;
-  background-color: #337ab7;
-}
-.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 {
-  margin-bottom: 5px;
-  text-align: center;
-}
-.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: 4px;
-}
-.nav-tabs-justified > .active > a,
-.nav-tabs-justified > .active > a:hover,
-.nav-tabs-justified > .active > a:focus {
-  border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs-justified > li > a {
-    border-bottom: 1px solid #ddd;
-    border-radius: 4px 4px 0 0;
-  }
-  .nav-tabs-justified > .active > a,
-  .nav-tabs-justified > .active > a:hover,
-  .nav-tabs-justified > .active > a:focus {
-    border-bottom-color: #fff;
-  }
-}
-.tab-content > .tab-pane {
-  display: none;
-}
-.tab-content > .active {
-  display: block;
-}
-.nav-tabs .dropdown-menu {
-  margin-top: -1px;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.navbar {
-  position: relative;
-  min-height: 50px;
-  margin-bottom: 20px;
-  border: 1px solid transparent;
-}
-@media (min-width: 1200px) {
-  .navbar {
-    border-radius: 4px;
-  }
-}
-
-
-.navbar-header:before,
-.navbar-header:after {
-  content: " ";
-  display: table;
-}
-.navbar-header:after {
-  clear: both;
-}
-.navbar-header:before,
-.navbar-header:after {
-  content: " ";
-  display: table;
-}
-.navbar-header:after {
-  clear: both;
-}
-@media (min-width: 1200px) {
-  .navbar-header {
-    float: left;
-  }
-}
-
-
-.navbar-collapse {
-  max-height: 340px;
-
-  padding-right: 15px;
-  padding-left: 15px;
-  overflow-x: visible;
-  -webkit-overflow-scrolling: touch;
-  border-top: 1px solid transparent;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
-}
-.navbar-collapse:before,
-.navbar-collapse:after {
-  content: " ";
-  display: table;
-}
-.navbar-collapse:after {
-  clear: both;
-}
-.navbar-collapse:before,
-.navbar-collapse:after {
-  content: " ";
-  display: table;
-}
-.navbar-collapse.in {
-  overflow-y: auto;
-}
-@media (min-width: 1200px) {
-  .navbar-collapse {
-    width: auto;
-    border-top: 0;
-    -webkit-box-shadow: none;
-            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-right: 0;
-    padding-left: 0;
-  }
-}
-.navbar-fixed-top .navbar-collapse,
-.navbar-fixed-bottom .navbar-collapse {
-  max-height: 340px;
-}
-@media (max-device-width: 1200px) 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: 1200px) {
-  .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: 1200px) {
-  .navbar-static-top {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  position: fixed;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-}
-@media (min-width: 1200px) {
-  .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;
-  height: 50px;
-  padding: 15px 15px;
-  font-size: 18px;
-  line-height: 20px;
-}
-.navbar-brand:hover,
-.navbar-brand:focus {
-  text-decoration: none;
-}
-@media (min-width: 1200px) {
-  .navbar > .container .navbar-brand,
-  .navbar > .container-fluid .navbar-brand {
-    margin-left: -15px;
-  }
-}
-.navbar-toggle {
-  position: relative;
-  float: right;
-  padding: 9px 10px;
-  margin-top: 8px;
-  margin-right: 15px;
-  margin-bottom: 8px;
-  background-color: transparent;
-  background-image: none;
-  border: 1px solid transparent;
-  border-radius: 4px;
-}
-.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: 1200px) {
-  .navbar-toggle {
-    display: none;
-  }
-}
-.navbar-nav {
-  margin: 7.5px -15px;
-}
-.navbar-nav > li > a {
-  padding-top: 10px;
-  padding-bottom: 10px;
-  line-height: 20px;
-}
-@media (max-width: 1199px) {
-  .navbar-nav .open .dropdown-menu {
-    position: static;
-    float: none;
-    width: auto;
-    margin-top: 0;
-    background-color: transparent;
-    border: 0;
-    -webkit-box-shadow: none;
-            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: 20px;
-  }
-  .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-nav .open .dropdown-menu > li > a:focus {
-    background-image: none;
-  }
-}
-@media (min-width: 1200px) {
-  .navbar-nav {
-    float: left;
-    margin: 0;
-  }
-  .navbar-nav > li {
-    float: left;
-  }
-  .navbar-nav > li > a {
-    padding-top: 15px;
-    padding-bottom: 15px;
-  }
-}
-.navbar-form {
-  padding: 10px 15px;
-  margin-top: 8px;
-  margin-right: -15px;
-  margin-bottom: 8px;
-  margin-left: -15px;
-  border-top: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
-}
-@media (min-width: 1200px) {
-  .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 .form-control-static {
-    display: inline-block;
-  }
-  .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: 1199px) {
-  .navbar-form .form-group {
-    margin-bottom: 5px;
-  }
-  .navbar-form .form-group:last-child {
-    margin-bottom: 0;
-  }
-}
-@media (min-width: 1200px) {
-  .navbar-form {
-    width: auto;
-    padding-top: 0;
-    padding-bottom: 0;
-    margin-right: 0;
-    margin-left: 0;
-    border: 0;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-}
-.navbar-nav > li > .dropdown-menu {
-  margin-top: 0;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
-  margin-bottom: 0;
-  border-top-left-radius: 4px;
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.navbar-btn {
-  margin-top: 8px;
-  margin-bottom: 8px;
-}
-.navbar-btn.btn-sm {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-.navbar-btn.btn-xs {
-  margin-top: 14px;
-  margin-bottom: 14px;
-}
-.navbar-text {
-  margin-top: 15px;
-  margin-bottom: 15px;
-}
-@media (min-width: 1200px) {
-  .navbar-text {
-    float: left;
-    margin-right: 15px;
-    margin-left: 15px;
-  }
-}
-@media (min-width: 1200px) {
-  .navbar-left {
-    float: left !important;
-  }
-  .navbar-right {
-    float: right !important;
-    margin-right: -15px;
-  }
-}
-.navbar-default {
-  background-color: #f8f8f8;
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-brand {
-  color: #777;
-}
-.navbar-default .navbar-brand:hover,
-.navbar-default .navbar-brand:focus {
-  color: #5e5e5e;
-  background-color: transparent;
-}
-.navbar-default .navbar-text {
-  color: #777;
-}
-.navbar-default .navbar-nav > li > a {
-  color: #777;
-}
-.navbar-default .navbar-nav > li > a:hover,
-.navbar-default .navbar-nav > li > a:focus {
-  color: #333;
-  background-color: transparent;
-}
-.navbar-default .navbar-nav > .active > a,
-.navbar-default .navbar-nav > .active > a:hover,
-.navbar-default .navbar-nav > .active > a:focus {
-  color: #555;
-  background-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .disabled > a,
-.navbar-default .navbar-nav > .disabled > a:hover,
-.navbar-default .navbar-nav > .disabled > a:focus {
-  color: #ccc;
-  background-color: transparent;
-}
-.navbar-default .navbar-toggle {
-  border-color: #ddd;
-}
-.navbar-default .navbar-toggle:hover,
-.navbar-default .navbar-toggle:focus {
-  background-color: #ddd;
-}
-.navbar-default .navbar-toggle .icon-bar {
-  background-color: #888;
-}
-.navbar-default .navbar-collapse,
-.navbar-default .navbar-form {
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .open > a:hover,
-.navbar-default .navbar-nav > .open > a:focus {
-  color: #555;
-  background-color: #e7e7e7;
-}
-@media (max-width: 767px) {
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
-    color: #777;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #333;
-    background-color: transparent;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #555;
-    background-color: #e7e7e7;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #ccc;
-    background-color: transparent;
-  }
-}
-.navbar-default .navbar-link {
-  color: #777;
-}
-.navbar-default .navbar-link:hover {
-  color: #333;
-}
-.navbar-default .btn-link {
-  color: #777;
-}
-.navbar-default .btn-link:hover,
-.navbar-default .btn-link:focus {
-  color: #333;
-}
-.navbar-default .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-default .btn-link:hover,
-.navbar-default .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-default .btn-link:focus {
-  color: #ccc;
-}
-.navbar-inverse {
-  background-color: #222;
-  border-color: #080808;
-}
-.navbar-inverse .navbar-brand {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-brand:focus {
-  color: #fff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-text {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-nav > li > a {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-nav > li > a:hover,
-.navbar-inverse .navbar-nav > li > a:focus {
-  color: #fff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-nav > .active > a,
-.navbar-inverse .navbar-nav > .active > a:hover,
-.navbar-inverse .navbar-nav > .active > a:focus {
-  color: #fff;
-  background-color: #080808;
-}
-.navbar-inverse .navbar-nav > .disabled > a,
-.navbar-inverse .navbar-nav > .disabled > a:hover,
-.navbar-inverse .navbar-nav > .disabled > a:focus {
-  color: #444;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-toggle {
-  border-color: #333;
-}
-.navbar-inverse .navbar-toggle:hover,
-.navbar-inverse .navbar-toggle:focus {
-  background-color: #333;
-}
-.navbar-inverse .navbar-toggle .icon-bar {
-  background-color: #fff;
-}
-.navbar-inverse .navbar-collapse,
-.navbar-inverse .navbar-form {
-  border-color: #101010;
-}
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .open > a:hover,
-.navbar-inverse .navbar-nav > .open > a:focus {
-  color: #fff;
-  background-color: #080808;
-}
-@media (max-width: 767px) {
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
-    border-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
-    color: #9d9d9d;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #fff;
-    background-color: transparent;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #fff;
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #444;
-    background-color: transparent;
-  }
-}
-.navbar-inverse .navbar-link {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-link:hover {
-  color: #fff;
-}
-.navbar-inverse .btn-link {
-  color: #9d9d9d;
-}
-.navbar-inverse .btn-link:hover,
-.navbar-inverse .btn-link:focus {
-  color: #fff;
-}
-.navbar-inverse .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-inverse .btn-link:hover,
-.navbar-inverse .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-inverse .btn-link:focus {
-  color: #444;
-}
-.breadcrumb {
-  padding: 8px 15px;
-  margin-bottom: 20px;
-  list-style: none;
-  background-color: #f5f5f5;
-  border-radius: 4px;
-}
-.breadcrumb > li {
-  display: inline-block;
-}
-.breadcrumb > li + li:before {
-  padding: 0 5px;
-  color: #ccc;
-  content: "/\00a0";
-}
-.breadcrumb > .active {
-  color: #777;
-}
-.pagination {
-  display: inline-block;
-  padding-left: 0;
-  margin: 20px 0;
-  border-radius: 4px;
-}
-.pagination > li {
-  display: inline;
-}
-.pagination > li > a,
-.pagination > li > span {
-  position: relative;
-  float: left;
-  padding: 6px 12px;
-  margin-left: -1px;
-  line-height: 1.42857143;
-  color: #337ab7;
-  text-decoration: none;
-  background-color: #fff;
-  border: 1px solid #ddd;
-}
-.pagination > li:first-child > a,
-.pagination > li:first-child > span {
-  margin-left: 0;
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-.pagination > li:last-child > a,
-.pagination > li:last-child > span {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-.pagination > li > a:hover,
-.pagination > li > span:hover,
-.pagination > li > a:focus,
-.pagination > li > span:focus {
-  z-index: 2;
-  color: #23527c;
-  background-color: #eee;
-  border-color: #ddd;
-}
-.pagination > .active > a,
-.pagination > .active > span,
-.pagination > .active > a:hover,
-.pagination > .active > span:hover,
-.pagination > .active > a:focus,
-.pagination > .active > span:focus {
-  z-index: 3;
-  color: #fff;
-  cursor: default;
-  background-color: #337ab7;
-  border-color: #337ab7;
-}
-.pagination > .disabled > span,
-.pagination > .disabled > span:hover,
-.pagination > .disabled > span:focus,
-.pagination > .disabled > a,
-.pagination > .disabled > a:hover,
-.pagination > .disabled > a:focus {
-  color: #777;
-  cursor: not-allowed;
-  background-color: #fff;
-  border-color: #ddd;
-}
-.pagination-lg > li > a,
-.pagination-lg > li > span {
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-}
-.pagination-lg > li:first-child > a,
-.pagination-lg > li:first-child > span {
-  border-top-left-radius: 6px;
-  border-bottom-left-radius: 6px;
-}
-.pagination-lg > li:last-child > a,
-.pagination-lg > li:last-child > span {
-  border-top-right-radius: 6px;
-  border-bottom-right-radius: 6px;
-}
-.pagination-sm > li > a,
-.pagination-sm > li > span {
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-}
-.pagination-sm > li:first-child > a,
-.pagination-sm > li:first-child > span {
-  border-top-left-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.pagination-sm > li:last-child > a,
-.pagination-sm > li:last-child > span {
-  border-top-right-radius: 3px;
-  border-bottom-right-radius: 3px;
-}
-.pager {
-  padding-left: 0;
-  margin: 20px 0;
-  text-align: center;
-  list-style: none;
-}
-.pager li {
-  display: inline;
-}
-.pager li > a,
-.pager li > span {
-  display: inline-block;
-  padding: 5px 14px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-radius: 15px;
-}
-.pager li > a:hover,
-.pager li > a:focus {
-  text-decoration: none;
-  background-color: #eee;
-}
-.pager .next > a,
-.pager .next > span {
-  float: right;
-}
-.pager .previous > a,
-.pager .previous > span {
-  float: left;
-}
-.pager .disabled > a,
-.pager .disabled > a:hover,
-.pager .disabled > a:focus,
-.pager .disabled > span {
-  color: #777;
-  cursor: not-allowed;
-  background-color: #fff;
-}
-.label {
-  display: inline;
-  padding: .2em .6em .3em;
-  font-size: 75%;
-  font-weight: bold;
-  line-height: 1;
-  color: #fff;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  border-radius: .25em;
-}
-a.label:hover,
-a.label:focus {
-  color: #fff;
-  text-decoration: none;
-  cursor: pointer;
-}
-.label:empty {
-  display: none;
-}
-.btn .label {
-  position: relative;
-  top: -1px;
-}
-.label-default {
-  background-color: #777;
-}
-.label-default[href]:hover,
-.label-default[href]:focus {
-  background-color: #5e5e5e;
-}
-.label-primary {
-  background-color: #337ab7;
-}
-.label-primary[href]:hover,
-.label-primary[href]:focus {
-  background-color: #286090;
-}
-.label-success {
-  background-color: #5cb85c;
-}
-.label-success[href]:hover,
-.label-success[href]:focus {
-  background-color: #449d44;
-}
-.label-info {
-  background-color: #5bc0de;
-}
-.label-info[href]:hover,
-.label-info[href]:focus {
-  background-color: #31b0d5;
-}
-.label-warning {
-  background-color: #f0ad4e;
-}
-.label-warning[href]:hover,
-.label-warning[href]:focus {
-  background-color: #ec971f;
-}
-.label-danger {
-  background-color: #d9534f;
-}
-.label-danger[href]:hover,
-.label-danger[href]:focus {
-  background-color: #c9302c;
-}
-.badge {
-  display: inline-block;
-  min-width: 10px;
-  padding: 3px 7px;
-  font-size: 12px;
-  font-weight: bold;
-  line-height: 1;
-  color: #fff;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: middle;
-  background-color: #777;
-  border-radius: 10px;
-}
-.badge:empty {
-  display: none;
-}
-.btn .badge {
-  position: relative;
-  top: -1px;
-}
-.btn-xs .badge,
-.btn-group-xs > .btn .badge {
-  top: 0;
-  padding: 1px 5px;
-}
-a.badge:hover,
-a.badge:focus {
-  color: #fff;
-  text-decoration: none;
-  cursor: pointer;
-}
-.list-group-item.active > .badge,
-.nav-pills > .active > a > .badge {
-  color: #337ab7;
-  background-color: #fff;
-}
-.list-group-item > .badge {
-  float: right;
-}
-.list-group-item > .badge + .badge {
-  margin-right: 5px;
-}
-.nav-pills > li > a > .badge {
-  margin-left: 3px;
-}
-.jumbotron {
-  padding-top: 30px;
-  padding-bottom: 30px;
-  margin-bottom: 30px;
-  color: inherit;
-  background-color: #eee;
-}
-.jumbotron h1,
-.jumbotron .h1 {
-  color: inherit;
-}
-.jumbotron p {
-  margin-bottom: 15px;
-  font-size: 21px;
-  font-weight: 200;
-}
-.jumbotron > hr {
-  border-top-color: #d5d5d5;
-}
-.container .jumbotron,
-.container-fluid .jumbotron {
-  padding-right: 15px;
-  padding-left: 15px;
-  border-radius: 6px;
-}
-.jumbotron .container {
-  max-width: 100%;
-}
-@media screen and (min-width: 768px) {
-  .jumbotron {
-    padding-top: 48px;
-    padding-bottom: 48px;
-  }
-  .container .jumbotron,
-  .container-fluid .jumbotron {
-    padding-right: 60px;
-    padding-left: 60px;
-  }
-  .jumbotron h1,
-  .jumbotron .h1 {
-    font-size: 63px;
-  }
-}
-.thumbnail {
-  display: block;
-  padding: 4px;
-  margin-bottom: 20px;
-  line-height: 1.42857143;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-radius: 4px;
-  -webkit-transition: border .2s ease-in-out;
-       -o-transition: border .2s ease-in-out;
-          transition: border .2s ease-in-out;
-}
-.thumbnail > img,
-.thumbnail a > img {
-  margin-right: auto;
-  margin-left: auto;
-}
-a.thumbnail:hover,
-a.thumbnail:focus,
-a.thumbnail.active {
-  border-color: #337ab7;
-}
-.thumbnail .caption {
-  padding: 9px;
-  color: #333;
-}
-.alert {
-  padding: 15px;
-  margin-bottom: 20px;
-  border: 1px solid transparent;
-  border-radius: 4px;
-}
-.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 {
-  color: #3c763d;
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-}
-.alert-success hr {
-  border-top-color: #c9e2b3;
-}
-.alert-success .alert-link {
-  color: #2b542c;
-}
-.alert-info {
-  color: #31708f;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-.alert-info hr {
-  border-top-color: #a6e1ec;
-}
-.alert-info .alert-link {
-  color: #245269;
-}
-.alert-warning {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-  border-color: #faebcc;
-}
-.alert-warning hr {
-  border-top-color: #f7e1b5;
-}
-.alert-warning .alert-link {
-  color: #66512c;
-}
-.alert-danger {
-  color: #a94442;
-  background-color: #f2dede;
-  border-color: #ebccd1;
-}
-.alert-danger hr {
-  border-top-color: #e4b9c0;
-}
-.alert-danger .alert-link {
-  color: #843534;
-}
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-@-o-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 {
-  height: 20px;
-  margin-bottom: 20px;
-  overflow: hidden;
-  background-color: #f5f5f5;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
-}
-.progress-bar {
-  float: left;
-  width: 0;
-  height: 100%;
-  font-size: 12px;
-  line-height: 20px;
-  color: #fff;
-  text-align: center;
-  background-color: #337ab7;
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
-  -webkit-transition: width .6s ease;
-       -o-transition: width .6s ease;
-          transition: width .6s ease;
-}
-.progress-striped .progress-bar,
-.progress-bar-striped {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  -webkit-background-size: 40px 40px;
-          background-size: 40px 40px;
-}
-.progress.active .progress-bar,
-.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-success {
-  background-color: #5cb85c;
-}
-.progress-striped .progress-bar-success {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .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, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.progress-bar-warning {
-  background-color: #f0ad4e;
-}
-.progress-striped .progress-bar-warning {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.progress-bar-danger {
-  background-color: #d9534f;
-}
-.progress-striped .progress-bar-danger {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.media {
-  margin-top: 15px;
-}
-.media:first-child {
-  margin-top: 0;
-}
-.media,
-.media-body {
-  overflow: hidden;
-  zoom: 1;
-}
-.media-body {
-  width: 10000px;
-}
-.media-object {
-  display: block;
-}
-.media-object.img-thumbnail {
-  max-width: none;
-}
-.media-right,
-.media > .pull-right {
-  padding-left: 10px;
-}
-.media-left,
-.media > .pull-left {
-  padding-right: 10px;
-}
-.media-left,
-.media-right,
-.media-body {
-  display: table-cell;
-  vertical-align: top;
-}
-.media-middle {
-  vertical-align: middle;
-}
-.media-bottom {
-  vertical-align: bottom;
-}
-.media-heading {
-  margin-top: 0;
-  margin-bottom: 5px;
-}
-.media-list {
-  padding-left: 0;
-  list-style: none;
-}
-.list-group {
-  padding-left: 0;
-  margin-bottom: 20px;
-}
-.list-group-item {
-  position: relative;
-  display: block;
-  padding: 10px 15px;
-  margin-bottom: -1px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-}
-.list-group-item:first-child {
-  border-top-left-radius: 4px;
-  border-top-right-radius: 4px;
-}
-.list-group-item:last-child {
-  margin-bottom: 0;
-  border-bottom-right-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-a.list-group-item,
-button.list-group-item {
-  color: #555;
-}
-a.list-group-item .list-group-item-heading,
-button.list-group-item .list-group-item-heading {
-  color: #333;
-}
-a.list-group-item:hover,
-button.list-group-item:hover,
-a.list-group-item:focus,
-button.list-group-item:focus {
-  color: #555;
-  text-decoration: none;
-  background-color: #f5f5f5;
-}
-button.list-group-item {
-  width: 100%;
-  text-align: left;
-}
-.list-group-item.disabled,
-.list-group-item.disabled:hover,
-.list-group-item.disabled:focus {
-  color: #777;
-  cursor: not-allowed;
-  background-color: #eee;
-}
-.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: #777;
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
-  z-index: 2;
-  color: #fff;
-  background-color: #337ab7;
-  border-color: #337ab7;
-}
-.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: #c7ddef;
-}
-.list-group-item-success {
-  color: #3c763d;
-  background-color: #dff0d8;
-}
-a.list-group-item-success,
-button.list-group-item-success {
-  color: #3c763d;
-}
-a.list-group-item-success .list-group-item-heading,
-button.list-group-item-success .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-success:hover,
-button.list-group-item-success:hover,
-a.list-group-item-success:focus,
-button.list-group-item-success:focus {
-  color: #3c763d;
-  background-color: #d0e9c6;
-}
-a.list-group-item-success.active,
-button.list-group-item-success.active,
-a.list-group-item-success.active:hover,
-button.list-group-item-success.active:hover,
-a.list-group-item-success.active:focus,
-button.list-group-item-success.active:focus {
-  color: #fff;
-  background-color: #3c763d;
-  border-color: #3c763d;
-}
-.list-group-item-info {
-  color: #31708f;
-  background-color: #d9edf7;
-}
-a.list-group-item-info,
-button.list-group-item-info {
-  color: #31708f;
-}
-a.list-group-item-info .list-group-item-heading,
-button.list-group-item-info .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-info:hover,
-button.list-group-item-info:hover,
-a.list-group-item-info:focus,
-button.list-group-item-info:focus {
-  color: #31708f;
-  background-color: #c4e3f3;
-}
-a.list-group-item-info.active,
-button.list-group-item-info.active,
-a.list-group-item-info.active:hover,
-button.list-group-item-info.active:hover,
-a.list-group-item-info.active:focus,
-button.list-group-item-info.active:focus {
-  color: #fff;
-  background-color: #31708f;
-  border-color: #31708f;
-}
-.list-group-item-warning {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-}
-a.list-group-item-warning,
-button.list-group-item-warning {
-  color: #8a6d3b;
-}
-a.list-group-item-warning .list-group-item-heading,
-button.list-group-item-warning .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-warning:hover,
-button.list-group-item-warning:hover,
-a.list-group-item-warning:focus,
-button.list-group-item-warning:focus {
-  color: #8a6d3b;
-  background-color: #faf2cc;
-}
-a.list-group-item-warning.active,
-button.list-group-item-warning.active,
-a.list-group-item-warning.active:hover,
-button.list-group-item-warning.active:hover,
-a.list-group-item-warning.active:focus,
-button.list-group-item-warning.active:focus {
-  color: #fff;
-  background-color: #8a6d3b;
-  border-color: #8a6d3b;
-}
-.list-group-item-danger {
-  color: #a94442;
-  background-color: #f2dede;
-}
-a.list-group-item-danger,
-button.list-group-item-danger {
-  color: #a94442;
-}
-a.list-group-item-danger .list-group-item-heading,
-button.list-group-item-danger .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-danger:hover,
-button.list-group-item-danger:hover,
-a.list-group-item-danger:focus,
-button.list-group-item-danger:focus {
-  color: #a94442;
-  background-color: #ebcccc;
-}
-a.list-group-item-danger.active,
-button.list-group-item-danger.active,
-a.list-group-item-danger.active:hover,
-button.list-group-item-danger.active:hover,
-a.list-group-item-danger.active:focus,
-button.list-group-item-danger.active:focus {
-  color: #fff;
-  background-color: #a94442;
-  border-color: #a94442;
-}
-.list-group-item-heading {
-  margin-top: 0;
-  margin-bottom: 5px;
-}
-.list-group-item-text {
-  margin-bottom: 0;
-  line-height: 1.3;
-}
-.panel {
-  margin-bottom: 20px;
-  background-color: #fff;
-  border: 1px solid transparent;
-  border-radius: 4px;
-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
-          box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
-}
-.panel-body {
-  padding: 15px;
-}
-.panel-heading {
-  padding: 10px 15px;
-  border-bottom: 1px solid transparent;
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.panel-heading > .dropdown .dropdown-toggle {
-  color: inherit;
-}
-.panel-title {
-  margin-top: 0;
-  margin-bottom: 0;
-  font-size: 16px;
-  color: inherit;
-}
-.panel-title > a,
-.panel-title > small,
-.panel-title > .small,
-.panel-title > small > a,
-.panel-title > .small > a {
-  color: inherit;
-}
-.panel-footer {
-  padding: 10px 15px;
-  background-color: #f5f5f5;
-  border-top: 1px solid #ddd;
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.panel > .list-group,
-.panel > .panel-collapse > .list-group {
-  margin-bottom: 0;
-}
-.panel > .list-group .list-group-item,
-.panel > .panel-collapse > .list-group .list-group-item {
-  border-width: 1px 0;
-  border-radius: 0;
-}
-.panel > .list-group:first-child .list-group-item:first-child,
-.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
-  border-top: 0;
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.panel > .list-group:last-child .list-group-item:last-child,
-.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
-  border-bottom: 0;
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.panel-heading + .list-group .list-group-item:first-child {
-  border-top-width: 0;
-}
-.list-group + .panel-footer {
-  border-top-width: 0;
-}
-.panel > .table,
-.panel > .table-responsive > .table,
-.panel > .panel-collapse > .table {
-  margin-bottom: 0;
-}
-.panel > .table caption,
-.panel > .table-responsive > .table caption,
-.panel > .panel-collapse > .table caption {
-  padding-right: 15px;
-  padding-left: 15px;
-}
-.panel > .table:first-child,
-.panel > .table-responsive:first-child > .table:first-child {
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.panel > .table:first-child > thead:first-child > tr:first-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.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: 3px;
-}
-.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: 3px;
-}
-.panel > .table:last-child,
-.panel > .table-responsive:last-child > .table:last-child {
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.panel > .table:last-child > tbody:last-child > tr:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.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: 3px;
-}
-.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: 3px;
-}
-.panel > .panel-body + .table,
-.panel > .panel-body + .table-responsive,
-.panel > .table + .panel-body,
-.panel > .table-responsive + .panel-body {
-  border-top: 1px solid #ddd;
-}
-.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 {
-  border-bottom: 0;
-}
-.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,
-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
-  border-bottom: 0;
-}
-.panel > .table-responsive {
-  margin-bottom: 0;
-  border: 0;
-}
-.panel-group {
-  margin-bottom: 20px;
-}
-.panel-group .panel {
-  margin-bottom: 0;
-  border-radius: 4px;
-}
-.panel-group .panel + .panel {
-  margin-top: 5px;
-}
-.panel-group .panel-heading {
-  border-bottom: 0;
-}
-.panel-group .panel-heading + .panel-collapse > .panel-body,
-.panel-group .panel-heading + .panel-collapse > .list-group {
-  border-top: 1px solid #ddd;
-}
-.panel-group .panel-footer {
-  border-top: 0;
-}
-.panel-group .panel-footer + .panel-collapse .panel-body {
-  border-bottom: 1px solid #ddd;
-}
-.panel-default {
-  border-color: #ddd;
-}
-.panel-default > .panel-heading {
-  color: #333;
-  background-color: #f5f5f5;
-  border-color: #ddd;
-}
-.panel-default > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #ddd;
-}
-.panel-default > .panel-heading .badge {
-  color: #f5f5f5;
-  background-color: #333;
-}
-.panel-default > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #ddd;
-}
-.panel-primary {
-  border-color: #337ab7;
-}
-.panel-primary > .panel-heading {
-  color: #fff;
-  background-color: #337ab7;
-  border-color: #337ab7;
-}
-.panel-primary > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #337ab7;
-}
-.panel-primary > .panel-heading .badge {
-  color: #337ab7;
-  background-color: #fff;
-}
-.panel-primary > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #337ab7;
-}
-.panel-success {
-  border-color: #d6e9c6;
-}
-.panel-success > .panel-heading {
-  color: #3c763d;
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-}
-.panel-success > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #d6e9c6;
-}
-.panel-success > .panel-heading .badge {
-  color: #dff0d8;
-  background-color: #3c763d;
-}
-.panel-success > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #d6e9c6;
-}
-.panel-info {
-  border-color: #bce8f1;
-}
-.panel-info > .panel-heading {
-  color: #31708f;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-.panel-info > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #bce8f1;
-}
-.panel-info > .panel-heading .badge {
-  color: #d9edf7;
-  background-color: #31708f;
-}
-.panel-info > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #bce8f1;
-}
-.panel-warning {
-  border-color: #faebcc;
-}
-.panel-warning > .panel-heading {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-  border-color: #faebcc;
-}
-.panel-warning > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #faebcc;
-}
-.panel-warning > .panel-heading .badge {
-  color: #fcf8e3;
-  background-color: #8a6d3b;
-}
-.panel-warning > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #faebcc;
-}
-.panel-danger {
-  border-color: #ebccd1;
-}
-.panel-danger > .panel-heading {
-  color: #a94442;
-  background-color: #f2dede;
-  border-color: #ebccd1;
-}
-.panel-danger > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #ebccd1;
-}
-.panel-danger > .panel-heading .badge {
-  color: #f2dede;
-  background-color: #a94442;
-}
-.panel-danger > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #ebccd1;
-}
-.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,
-.embed-responsive video {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 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: #f5f5f5;
-  border: 1px solid #e3e3e3;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
-}
-.well blockquote {
-  border-color: #ddd;
-  border-color: rgba(0, 0, 0, .15);
-}
-.well-lg {
-  padding: 24px;
-  border-radius: 6px;
-}
-.well-sm {
-  padding: 9px;
-  border-radius: 3px;
-}
-.close {
-  float: right;
-  font-size: 21px;
-  font-weight: bold;
-  line-height: 1;
-  color: #000;
-  text-shadow: 0 1px 0 #fff;
-  filter: alpha(opacity=20);
-  opacity: .2;
-}
-.close:hover,
-.close:focus {
-  color: #000;
-  text-decoration: none;
-  cursor: pointer;
-  filter: alpha(opacity=50);
-  opacity: .5;
-}
-button.close {
-  -webkit-appearance: none;
-  padding: 0;
-  cursor: pointer;
-  background: transparent;
-  border: 0;
-}
-.modal-open {
-  overflow: hidden;
-}
-.modal {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1050;
-  display: none;
-  overflow: hidden;
-  -webkit-overflow-scrolling: touch;
-  outline: 0;
-}
-.modal.fade .modal-dialog {
-  -webkit-transition: -webkit-transform .3s ease-out;
-       -o-transition:      -o-transform .3s ease-out;
-          transition:         transform .3s ease-out;
-  -webkit-transform: translate(0, -25%);
-      -ms-transform: translate(0, -25%);
-       -o-transform: translate(0, -25%);
-          transform: translate(0, -25%);
-}
-.modal.in .modal-dialog {
-  -webkit-transform: translate(0, 0);
-      -ms-transform: translate(0, 0);
-       -o-transform: translate(0, 0);
-          transform: translate(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: #fff;
-  -webkit-background-clip: padding-box;
-          background-clip: padding-box;
-  border: 1px solid #999;
-  border: 1px solid rgba(0, 0, 0, .2);
-  border-radius: 6px;
-  outline: 0;
-  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
-          box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
-}
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1040;
-  background-color: #000;
-}
-.modal-backdrop.fade {
-  filter: alpha(opacity=0);
-  opacity: 0;
-}
-.modal-backdrop.in {
-  filter: alpha(opacity=50);
-  opacity: .5;
-}
-.modal-header {
-  padding: 15px;
-  border-bottom: 1px solid #e5e5e5;
-}
-.modal-header .close {
-  margin-top: -2px;
-}
-.modal-title {
-  margin: 0;
-  line-height: 1.42857143;
-}
-.modal-body {
-  position: relative;
-  padding: 15px;
-}
-.modal-footer {
-  padding: 15px;
-  text-align: right;
-  border-top: 1px solid #e5e5e5;
-}
-.modal-footer .btn + .btn {
-  margin-bottom: 0;
-  margin-left: 5px;
-}
-.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, .5);
-            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
-  }
-  .modal-sm {
-    width: 300px;
-  }
-}
-@media (min-width: 992px) {
-  .modal-lg {
-    width: 900px;
-  }
-}
-.tooltip {
-  position: absolute;
-  z-index: 1070;
-  display: block;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 12px;
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1.42857143;
-  text-align: left;
-  text-align: start;
-  text-decoration: none;
-  text-shadow: none;
-  text-transform: none;
-  letter-spacing: normal;
-  word-break: normal;
-  word-spacing: normal;
-  word-wrap: normal;
-  white-space: normal;
-  filter: alpha(opacity=0);
-  opacity: 0;
-
-  line-break: auto;
-}
-.tooltip.in {
-  filter: alpha(opacity=90);
-  opacity: .9;
-}
-.tooltip.top {
-  padding: 5px 0;
-  margin-top: -3px;
-}
-.tooltip.right {
-  padding: 0 5px;
-  margin-left: 3px;
-}
-.tooltip.bottom {
-  padding: 5px 0;
-  margin-top: 3px;
-}
-.tooltip.left {
-  padding: 0 5px;
-  margin-left: -3px;
-}
-.tooltip-inner {
-  max-width: 200px;
-  padding: 3px 8px;
-  color: #fff;
-  text-align: center;
-  background-color: #000;
-  border-radius: 4px;
-}
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-.tooltip.top .tooltip-arrow {
-  bottom: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.top-left .tooltip-arrow {
-  right: 5px;
-  bottom: 0;
-  margin-bottom: -5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.top-right .tooltip-arrow {
-  bottom: 0;
-  left: 5px;
-  margin-bottom: -5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.right .tooltip-arrow {
-  top: 50%;
-  left: 0;
-  margin-top: -5px;
-  border-width: 5px 5px 5px 0;
-  border-right-color: #000;
-}
-.tooltip.left .tooltip-arrow {
-  top: 50%;
-  right: 0;
-  margin-top: -5px;
-  border-width: 5px 0 5px 5px;
-  border-left-color: #000;
-}
-.tooltip.bottom .tooltip-arrow {
-  top: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.tooltip.bottom-left .tooltip-arrow {
-  top: 0;
-  right: 5px;
-  margin-top: -5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.tooltip.bottom-right .tooltip-arrow {
-  top: 0;
-  left: 5px;
-  margin-top: -5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 1060;
-  display: none;
-  max-width: 276px;
-  padding: 1px;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1.42857143;
-  text-align: left;
-  text-align: start;
-  text-decoration: none;
-  text-shadow: none;
-  text-transform: none;
-  letter-spacing: normal;
-  word-break: normal;
-  word-spacing: normal;
-  word-wrap: normal;
-  white-space: normal;
-  background-color: #fff;
-  -webkit-background-clip: padding-box;
-          background-clip: padding-box;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, .2);
-  border-radius: 6px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
-          box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
-
-  line-break: auto;
-}
-.popover.top {
-  margin-top: -10px;
-}
-.popover.right {
-  margin-left: 10px;
-}
-.popover.bottom {
-  margin-top: 10px;
-}
-.popover.left {
-  margin-left: -10px;
-}
-.popover-title {
-  padding: 8px 14px;
-  margin: 0;
-  font-size: 14px;
-  background-color: #f7f7f7;
-  border-bottom: 1px solid #ebebeb;
-  border-radius: 5px 5px 0 0;
-}
-.popover-content {
-  padding: 9px 14px;
-}
-.popover > .arrow,
-.popover > .arrow:after {
-  position: absolute;
-  display: block;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-.popover > .arrow {
-  border-width: 11px;
-}
-.popover > .arrow:after {
-  content: "";
-  border-width: 10px;
-}
-.popover.top > .arrow {
-  bottom: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-top-color: #999;
-  border-top-color: rgba(0, 0, 0, .25);
-  border-bottom-width: 0;
-}
-.popover.top > .arrow:after {
-  bottom: 1px;
-  margin-left: -10px;
-  content: " ";
-  border-top-color: #fff;
-  border-bottom-width: 0;
-}
-.popover.right > .arrow {
-  top: 50%;
-  left: -11px;
-  margin-top: -11px;
-  border-right-color: #999;
-  border-right-color: rgba(0, 0, 0, .25);
-  border-left-width: 0;
-}
-.popover.right > .arrow:after {
-  bottom: -10px;
-  left: 1px;
-  content: " ";
-  border-right-color: #fff;
-  border-left-width: 0;
-}
-.popover.bottom > .arrow {
-  top: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-top-width: 0;
-  border-bottom-color: #999;
-  border-bottom-color: rgba(0, 0, 0, .25);
-}
-.popover.bottom > .arrow:after {
-  top: 1px;
-  margin-left: -10px;
-  content: " ";
-  border-top-width: 0;
-  border-bottom-color: #fff;
-}
-.popover.left > .arrow {
-  top: 50%;
-  right: -11px;
-  margin-top: -11px;
-  border-right-width: 0;
-  border-left-color: #999;
-  border-left-color: rgba(0, 0, 0, .25);
-}
-.popover.left > .arrow:after {
-  right: 1px;
-  bottom: -10px;
-  content: " ";
-  border-right-width: 0;
-  border-left-color: #fff;
-}
-.carousel {
-  position: relative;
-}
-.carousel-inner {
-  position: relative;
-  width: 100%;
-  overflow: hidden;
-}
-.carousel-inner > .item {
-  position: relative;
-  display: none;
-  -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;
-}
-@media all and (transform-3d), (-webkit-transform-3d) {
-  .carousel-inner > .item {
-    -webkit-transition: -webkit-transform .6s ease-in-out;
-         -o-transition:      -o-transform .6s ease-in-out;
-            transition:         transform .6s ease-in-out;
-
-    -webkit-backface-visibility: hidden;
-            backface-visibility: hidden;
-    -webkit-perspective: 1000px;
-            perspective: 1000px;
-  }
-  .carousel-inner > .item.next,
-  .carousel-inner > .item.active.right {
-    left: 0;
-    -webkit-transform: translate3d(100%, 0, 0);
-            transform: translate3d(100%, 0, 0);
-  }
-  .carousel-inner > .item.prev,
-  .carousel-inner > .item.active.left {
-    left: 0;
-    -webkit-transform: translate3d(-100%, 0, 0);
-            transform: translate3d(-100%, 0, 0);
-  }
-  .carousel-inner > .item.next.left,
-  .carousel-inner > .item.prev.right,
-  .carousel-inner > .item.active {
-    left: 0;
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
-  }
-}
-.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;
-  bottom: 0;
-  left: 0;
-  width: 15%;
-  font-size: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
-  background-color: rgba(0, 0, 0, 0);
-  filter: alpha(opacity=50);
-  opacity: .5;
-}
-.carousel-control.left {
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
-  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
-  background-repeat: repeat-x;
-}
-.carousel-control.right {
-  right: 0;
-  left: auto;
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
-  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
-  background-repeat: repeat-x;
-}
-.carousel-control:hover,
-.carousel-control:focus {
-  color: #fff;
-  text-decoration: none;
-  filter: alpha(opacity=90);
-  outline: 0;
-  opacity: .9;
-}
-.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;
-  margin-top: -10px;
-}
-.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;
-  font-family: serif;
-  line-height: 1;
-}
-.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%;
-  padding-left: 0;
-  margin-left: -30%;
-  text-align: center;
-  list-style: none;
-}
-.carousel-indicators li {
-  display: inline-block;
-  width: 10px;
-  height: 10px;
-  margin: 1px;
-  text-indent: -999px;
-  cursor: pointer;
-  background-color: #000 \9;
-  background-color: rgba(0, 0, 0, 0);
-  border: 1px solid #fff;
-  border-radius: 10px;
-}
-.carousel-indicators .active {
-  width: 12px;
-  height: 12px;
-  margin: 0;
-  background-color: #fff;
-}
-.carousel-caption {
-  position: absolute;
-  right: 15%;
-  bottom: 20px;
-  left: 15%;
-  z-index: 10;
-  padding-top: 20px;
-  padding-bottom: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(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: -10px;
-    font-size: 30px;
-  }
-  .carousel-control .glyphicon-chevron-left,
-  .carousel-control .icon-prev {
-    margin-left: -10px;
-  }
-  .carousel-control .glyphicon-chevron-right,
-  .carousel-control .icon-next {
-    margin-right: -10px;
-  }
-  .carousel-caption {
-    right: 20%;
-    left: 20%;
-    padding-bottom: 30px;
-  }
-  .carousel-indicators {
-    bottom: 20px;
-  }
-}
-.clearfix:before,
-.clearfix:after,
-.dl-horizontal dd:before,
-.dl-horizontal dd:after,
-.container:before,
-.container:after,
-.container-fluid:before,
-.container-fluid:after,
-.row:before,
-.row:after,
-.form-horizontal .form-group:before,
-.form-horizontal .form-group:after,
-.btn-toolbar:before,
-.btn-toolbar:after,
-.btn-group-vertical > .btn-group:before,
-.btn-group-vertical > .btn-group:after,
-.nav:before,
-.nav:after,
-.navbar:before,
-.navbar:after,
-.navbar-header:before,
-.navbar-header:after,
-.navbar-collapse:before,
-.navbar-collapse:after,
-.pager:before,
-.pager:after,
-.panel-body:before,
-.panel-body:after,
-.modal-header:before,
-.modal-header:after,
-.modal-footer:before,
-.modal-footer:after {
-  display: table;
-  content: " ";
-}
-.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-header:after,
-.modal-footer:after {
-  clear: both;
-}
-.center-block {
-  display: block;
-  margin-right: auto;
-  margin-left: 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;
-}
-.affix {
-  position: fixed;
-}
-@-ms-viewport {
-  width: device-width;
-}
-.visible-xs,
-.visible-sm,
-.visible-md,
-.visible-lg {
-  display: none !important;
-}
-.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 {
-  display: none !important;
-}
-@media (max-width: 767px) {
-  .visible-xs {
-    display: block !important;
-  }
-  table.visible-xs {
-    display: table !important;
-  }
-  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 !important;
-  }
-  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 !important;
-  }
-  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 !important;
-  }
-  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;
-  }
-}
-.visible-print {
-  display: none !important;
-}
-@media print {
-  .visible-print {
-    display: block !important;
-  }
-  table.visible-print {
-    display: table !important;
-  }
-  tr.visible-print {
-    display: table-row !important;
-  }
-  th.visible-print,
-  td.visible-print {
-    display: table-cell !important;
-  }
-}
-.visible-print-block {
-  display: none !important;
-}
-@media print {
-  .visible-print-block {
-    display: block !important;
-  }
-}
-.visible-print-inline {
-  display: none !important;
-}
-@media print {
-  .visible-print-inline {
-    display: inline !important;
-  }
-}
-.visible-print-inline-block {
-  display: none !important;
-}
-@media print {
-  .visible-print-inline-block {
-    display: inline-block !important;
-  }
-}
-@media print {
-  .hidden-print {
-    display: none !important;
-  }
-}
-/*# sourceMappingURL=bootstrap.css.map */
-
-.hll { background-color: #ffffcc }
-.c { color: #888888 } /* Comment */
-.err { color: #FF0000; background-color: #FFAAAA } /* Error */
-.k { color: #008800; font-weight: bold } /* Keyword */
-.o { color: #333333 } /* Operator */
-.cm { color: #888888 } /* Comment.Multiline */
-.cp { color: #557799 } /* Comment.Preproc */
-.c1 { color: #888888 } /* Comment.Single */
-.cs { color: #cc0000; font-weight: bold } /* Comment.Special */
-.gd { color: #A00000 } /* Generic.Deleted */
-.ge { font-style: italic } /* Generic.Emph */
-.gr { color: #FF0000 } /* Generic.Error */
-.gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.gi { color: #00A000 } /* Generic.Inserted */
-.go { color: #888888 } /* Generic.Output */
-.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
-.gs { font-weight: bold } /* Generic.Strong */
-.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.gt { color: #0044DD } /* Generic.Traceback */
-.kc { color: #008800; font-weight: bold } /* Keyword.Constant */
-.kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
-.kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
-.kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
-.kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
-.kt { color: #333399; font-weight: bold } /* Keyword.Type */
-.m { color: #6600EE; font-weight: bold } /* Literal.Number */
-.s { background-color: #fff0f0 } /* Literal.String */
-.na { color: #0000CC } /* Name.Attribute */
-.nb { color: #007020 } /* Name.Builtin */
-.nc { color: #BB0066; font-weight: bold } /* Name.Class */
-.no { color: #003366; font-weight: bold } /* Name.Constant */
-.nd { color: #555555; font-weight: bold } /* Name.Decorator */
-.ni { color: #880000; font-weight: bold } /* Name.Entity */
-.ne { color: #FF0000; font-weight: bold } /* Name.Exception */
-.nf { color: #0066BB; font-weight: bold } /* Name.Function */
-.nl { color: #997700; font-weight: bold } /* Name.Label */
-.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
-.nt { color: #007700 } /* Name.Tag */
-.nv { color: #996633 } /* Name.Variable */
-.ow { color: #000000; font-weight: bold } /* Operator.Word */
-.w { color: #bbbbbb } /* Text.Whitespace */
-.mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
-.mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
-.mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
-.mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
-.sb { background-color: #fff0f0 } /* Literal.String.Backtick */
-.sc { color: #0044DD } /* Literal.String.Char */
-.sd { color: #DD4422 } /* Literal.String.Doc */
-.s2 { background-color: #fff0f0 } /* Literal.String.Double */
-.se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
-.sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
-.si { background-color: #eeeeee } /* Literal.String.Interpol */
-.sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
-.sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
-.s1 { background-color: #fff0f0 } /* Literal.String.Single */
-.ss { color: #AA6600 } /* Literal.String.Symbol */
-.bp { color: #007020 } /* Name.Builtin.Pseudo */
-.vc { color: #336699 } /* Name.Variable.Class */
-.vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
-.vi { color: #3333BB } /* Name.Variable.Instance */
-.il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
-
-/* Style overrides for light and dark mode / theme */
-html, html[data-theme="light"] {
-    --main-navbar-color: #eee;
-    --main-navbar-li-active-text-color: rgb(152, 144, 130);
-    --main-navbar-li-active-text-color: #818181;
-    --main-navbar-li-active-background-color: #dfdfdf;
-    --main-background-color: #fff;
-    --main-text-color: #000;
-    --main-border-color: #ccc;
-    --main-code-text-color: #c7254e;
-    --main-code-background-color: #f9f2f4;;
-    --main-syntax-highlight-background-color: #fff0f0;
-    --main-carousel-color: #333;
-    --main-post-date-author: rgba(77,77,77,0.75);
-    --main-navbar-text-color: #000;
-    --main-a-text-color: #428bca;
-    --main-a-hover-focus-color: #2a6496;
-    --main-hr-border-color: #eee;
-}
-
-html[data-theme="dark"] {
-    --main-navbar-color: rgb(34, 36, 38);
-    --main-navbar-li-active-text-color: rgb(152, 144, 130);
-    --main-navbar-li-active-background-color: rgb(42, 46, 47);
-    --main-background-color: rgb(24, 26, 27);
-    --main-text-color: rgb(200, 195, 188);
-    --main-border-color: rgb(62, 68, 70);
-    --main-code-text-color: rgb(221, 73, 110);
-    --main-code-background-color: rgb(43, 20, 26);
-    --main-syntax-highlight-background-color: rgb(60, 0, 0);
-    --main-carousel-color: #fff;
-    --main-post-date-author: rgba(183, 177, 168, 0.75);
-    --main-navbar-text-color: #fff;
-    --main-a-text-color: rgb(125, 178, 219);
-    --main-a-hover-focus-color: rgb(125, 178, 219);
-    --main-hr-border-color: rgb(53, 57, 59);
-}
-
-@media (prefers-color-scheme: dark) {
-    html, html[data-theme="dark"] {
-        --main-navbar-color: rgb(34, 36, 38);
-        --main-navbar-li-active-text-color: rgb(152, 144, 130);
-        --main-navbar-li-active-background-color: rgb(42, 46, 47);
-        --main-background-color: rgb(24, 26, 27);
-        --main-text-color: rgb(200, 195, 188);
-        --main-border-color: rgb(62, 68, 70);
-        --main-code-text-color: rgb(221, 73, 110);
-        --main-code-background-color: rgb(43, 20, 26);
-        --main-syntax-highlight-background-color: rgb(60, 0, 0);
-        --main-carousel-color: #fff;
-        --main-post-date-author: rgba(183, 177, 168, 0.75);
-        --main-navbar-text-color: #fff;
-        --main-a-text-color: rgb(125, 178, 219);
-        --main-a-hover-focus-color: rgb(125, 178, 219);
-        --main-hr-border-color: rgb(53, 57, 59);
-    }
-    html[data-theme="light"] {
-        --main-navbar-color: #eee;
-        --main-navbar-li-active-text-color: rgb(152, 144, 130);
-        --main-navbar-li-active-text-color: #818181;
-        --main-navbar-li-active-background-color: #dfdfdf;
-        --main-text-color: #000;
-        --main-background-color: #fff;
-        --main-border-color: #ccc;
-        --main-code-text-color: #c7254e;
-        --main-code-background-color: #f9f2f4;;
-        --main-syntax-highlight-background-color: #fff0f0;
-        --main-carousel-color: #333;
-        --main-post-date-author: rgba(77,77,77,0.75);
-        --main-navbar-text-color: #000;
-        --main-a-text-color: #428bca;
-        --main-a-hover-focus-color: #2a6496;
-        --main-hr-border-color: #eee;
-    }
-}
-
-html, body {
-    height: 100%;
-    background-color: var(--main-background-color);
-    color: var(--main-text-color);
-}
-
-body {
-    font-family: 'Open Sans', sans-serif;
-    font-size: 1.6em;
-    padding-top: 80px;
-}
-
-h2 {
-    margin-top: 30px;
-}
-
-/* Needed so when user click on a link which points to the anchor we end up slightly
- * above the anchor and not below it. */
-h2:before { 
-  display: block;
-  content: " ";
-  margin-top: -90px;
-  height: 90px;
-  visibility: hidden;
-}
-
-.anchor {
-    padding-top: 80px;
-    margin-top: -70px;
-}
-
-a[name] {
-    color: #000000;
-    text-decoration: none;
-}
-
-/* Navigation bar styles */
-.navbar-brand {
-    font-weight: 600;
-    padding-top: 18px !important;
-    padding-bottom: 0 !important;
-}
-
-.navbar-logo {
-    padding-top: 1px !important;
-    margin-top: -8px;
-    margin-right: 10px;
-}
-
-/* Add top border, remove bottom one */
-nav.navbar {
-    border-top: #0c60ff 10px solid;
-    border-bottom: none;
-}
-
-/* Increase default navbar height */
-.navbar-fixed-top {
-    height: 73px;
-}
-
-.navbar-nav > li > a {
-    padding-top: 21px !important;
-    padding-bottom: 21px !important;
-    font-size: 1.1em;
-}
-
-/* Custom background color for the navbar */
-.navbar-inverse {
-    background-color: var(--main-navbar-color);
-}
-
-/* Custom hover background */
-ul.nav.navbar-nav li a {
-    color: #818181;
-}
-
-.navbar-inverse .navbar-nav > li > a:hover {
-    background-color: #3ca8ff;
-}
-
-.navbar-brand {
-    color: var(--main-navbar-text-color) !important;
-}
-
-.navbar-nav > li.active > a {
-    color: var(--main-navbar-li-active-text-color) !important;
-    background-color: var(--main-navbar-li-active-background-color) !important;
-}
-
-/* Custom color for responsive button thingy */
-.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle {
-    background-color: #818181;
-    border: none;
-}
-
-.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
-    background-color: #3ca8ff;
-    border: none;
-}
-
-/* Custom style for responsive menu bar */
-.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
-    background-color: var(-main-navbar-color);
-    /*border-top: #0c60ff solid;*/
-}
-
-/* Homepage */
-img.provider-logo {
-    margin-left: 10px;
-    margin-right: 10px;
-}
-
-h2.tagline {
-    font-size: 1.5em;
-    margin-bottom: 20px;
-}
-
-div.row-2 {
-    margin-top: 20px;
-}
-
-div.row-3, div.row-4 {
-    margin-top: 20px;
-}
-
-div.whos-using {
-    margin-bottom: 15px;
-}
-
-img.logo {
-    margin-left: 5px;
-    margin-right: 5px;
-}
-
-
-/* Carousel */
-
-/* Only specify height for larger resolutions */
-@media (min-width: 992px) {
-    #carousel-provider-logos {
-        height: 85px;
-    }
-}
-
-.carousel-inner > .item > img, .carousel-inner > .item > a > img {
-    display: inline;
-}
-
-.carousel-control.left, .carousel-control.right {
-    background: none !important;
-}
-
-.carousel-control {
-    color: var(--main-carousel-color) !important;
-}
-
-/* Content pages */
-div.sidebar-nav {
-    position: fixed;
-    margin-top: 20px;
-}
-
-@media (max-width: 1200px) {
-    div.sidebar-nav {
-        position: relative;
-    }
-}
-
-.sidebar-nav > ul > li > a {
-    padding: 5px 10px;
-}
-
-.sidebar-nav > ul > li.active > a {
-    color: black;
-    text-decoration: none;
-    cursor: default;
-}
-
-.sidebar-nav > ul > li.active > a:hover {
-    color: black;
-    text-decoration: none;
-    cursor: default;
-}
-
-/* Credits page */
-
-div.member {
-    margin-bottom: 20px;
-}
-
-img.gravatar {
-    float: left;
-    display: block;
-    margin-right: 10px;
-}
-
-/* Other */
-
-div.page-content {
-    font-size: 12pt;
-}
-
-img.inline {
-    padding-top: 10px;
-    padding-bottom: 10px;
-}
-
-img.center {
-    margin: 0 auto;
-}
-
-/* Blog styles */
-div.post h2 {
-    margin-bottom: 10px;
-}
-
-div.post pre {
-    margin-top: 15px;
-    margin-bottom: 15px;
-}
-
-pre {
-    background-color: var(--main-navbar-color);
-    color: var(--main-text-color);
-}
-
-.popover {
-    background-color: var(--main-background-color);
-    border: 1px solid var(--main-border-color);
-}
-
-pre {
-    border: 1px solid var(--main-border-color);
-}
-
-span.post-date-author {
-    font-style: italic;
-    color: var(--main-post-date-author);
-}
-
-div.post-content {
-    margin-top: 20px;
-}
-
-div.post-meta {
-    margin-top: 30px;
-}
-
-div.imginline {
-  text-align: center;
-  margin-top: 30px;
-  margin-bottom: 30px;
-}
-
-img.inline {
-  border: none !important;
-  margin: 0 auto 8px;
-}
-
-p.img-caption {
-  margin-top: 10px;
-}
-
-/* Misc */
-code {
-    font-family: 'Inconsolata', monospace;
-    font-size: 11pt !important;
-}
-
-code span[id] {
-    cursor: pointer;
-}
-
-code span[id]:hover {
-  background-color: white;
-}
-
-/* Footer */
-footer {
-    margin: 20px 0;
-    font-size: 0.9em;
-}
-
-div.footer-text {
-    margin-top: 10px;
-}
-
-div.footer-theme-switch {
-    margin-bottom: 10px;
-}
-
-div.footer-theme-switch a {
-    cursor: pointer;
-}
-
-/* Overrides for purposes of dark and light theme. */
-hr {
-    border-color: var(--main-hr-border-color);
-}
-a {
-  color: var(--main-a-text-color);
-}
-
-a:hover,
-a:focus {
-  color: var(--main-a-hover-focus-color);
-}
-.s {
-  background-color: var(--main-syntax-highlight-background-color);
-}
-
-code {
-    color: var(--main-code-text-color);
-    background-color: var(--main-code-background-color);
-}
-
diff --git a/output/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css.gz b/output/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css.gz
deleted file mode 100644
index 8d42772..0000000
--- a/output/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css.gz
+++ /dev/null
Binary files differ
diff --git a/output/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js b/output/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js
new file mode 100644
index 0000000..0690043
--- /dev/null
+++ b/output/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js
@@ -0,0 +1,8 @@
+/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
+;!function(b,a){"object"==typeof module&&"object"==typeof module.exports?module.exports=b.document?a(b,!0):function(c){if(!c.document){throw new Error("jQuery requires a window with a document")}return a(c)}:a(b)}("undefined"!=typeof window?window:this,function(bO,bv){var bC=[],bx=bO.document,bJ=Object.getPrototypeOf,bB=bC.slice,bS=bC.concat,bw=bC.push,bs=bC.indexOf,bF={},bQ=bF.toString,bM=bF.hasOwnProperty,bA=bM.toString,bP=bA.call(Object),bK={},bL=function bO(a){return"function"==typeof a&&"number"!=typeof a.nodeType},bn=function bO(a){return null!=a&&a===a.window},br={type:!0,src:!0,noModule:!0};function bE(c,b,f){var a,d=(b=b||bx).createElement("script");if(d.text=c,f){for(a in br){f[a]&&(d[a]=f[a])}}b.head.appendChild(d).parentNode.removeChild(d)}function bp(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?bF[bQ.call(a)]||"object":typeof a}var bR="3.3.1",bq=function(b,a){return new bq.fn.init(b,a)},b4=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;bq.fn=bq.prototype={jquery:"3.3.1",constructor:bq,length:0,toArray:function(){return bB.call(this)},get:function(a){return null==a?bB.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(b){var a=bq.merge(this.constructor(),b);return a.prevObject=this,a},each:function(a){return bq.each(this,a)},map:function(a){return this.pushStack(bq.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(bB.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b){var a=this.length,c=+b+(b<0?a:0);return this.pushStack(c>=0&&c<a?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:bw,sort:bC.sort,splice:bC.splice},bq.extend=bq.fn.extend=function(){var h,m,d,b,g,c,j=arguments[0]||{},p=1,k=arguments.length,f=!1;for("boolean"==typeof j&&(f=j,j=arguments[p]||{},p++),"object"==typeof j||bL(j)||(j={}),p===k&&(j=this,p--);p<k;p++){if(null!=(h=arguments[p])){for(m in h){d=j[m],j!==(b=h[m])&&(f&&b&&(bq.isPlainObject(b)||(g=Array.isArray(b)))?(g?(g=!1,c=d&&Array.isArray(d)?d:[]):c=d&&bq.isPlainObject(d)?d:{},j[m]=bq.extend(f,c,b)):void 0!==b&&(j[m]=b))}}}return j},bq.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isPlainObject:function(b){var a,c;return !(!b||"[object Object]"!==bQ.call(b))&&(!(a=bJ(b))||"function"==typeof(c=bM.call(a,"constructor")&&a.constructor)&&bA.call(c)===bP)},isEmptyObject:function(b){var a;for(a in b){return !1}return !0},globalEval:function(a){bE(a)},each:function(c,a){var d,b=0;if(cu(c)){for(d=c.length;b<d;b++){if(!1===a.call(c[b],b,c[b])){break}}}else{for(b in c){if(!1===a.call(c[b],b,c[b])){break}}}return c},trim:function(a){return null==a?"":(a+"").replace(b4,"")},makeArray:function(b,a){var c=a||[];return null!=b&&(cu(Object(b))?bq.merge(c,"string"==typeof b?[b]:b):bw.call(c,b)),c},inArray:function(b,a,c){return null==a?-1:bs.call(a,b,c)},merge:function(d,b){for(var f=+b.length,c=0,a=d.length;c<f;c++){d[a++]=b[c]}return d.length=a,d},grep:function(h,d,k){for(var g,c=[],j=0,b=h.length,f=!k;j<b;j++){(g=!d(h[j],j))!==f&&c.push(h[j])}return c},map:function(f,b,h){var d,a,g=0,c=[];if(cu(f)){for(d=f.length;g<d;g++){null!=(a=b(f[g],g,h))&&c.push(a)}}else{for(g in f){null!=(a=b(f[g],g,h))&&c.push(a)}}return bS.apply([],c)},guid:1,support:bK}),"function"==typeof Symbol&&(bq.fn[Symbol.iterator]=bC[Symbol.iterator]),bq.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(b,a){bF["[object "+a+"]"]=a.toLowerCase()});function cu(b){var a=!!b&&"length" in b&&b.length,c=bp(b);return !bL(b)&&!bn(b)&&("array"===c||0===a||"number"==typeof a&&a>0&&a-1 in b)}var cp=function(dk){var c1,c8,c3,df,c7,dq,c2,c0,db,dm,dj,c6,dl,dg,di,cW,cZ,c9,cX,dp="sizzle"+1*new Date,cY=dk.document,dy=0,dU=0,dR=dX(),dc=dX(),dA=dX(),dS=function(b,a){return b===a&&(dj=!0),0},dG={}.hasOwnProperty,dW=[],dd=dW.pop,c5=dW.push,dJ=dW.push,dO=dW.slice,dE=function(c,a){for(var d=0,b=c.length;d<b;d++){if(c[d]===a){return d}}return -1},dD="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",dI="[\\x20\\t\\r\\n\\f]",dB="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",dM="\\["+dI+"*("+dB+")(?:"+dI+"*([*^$|!~]?=)"+dI+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+dB+"))|)"+dI+"*\\]",dv=":("+dB+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+dM+")*)|.*)\\)|)",d1=new RegExp(dI+"+","g"),dV=new RegExp("^"+dI+"+|((?:^|[^\\\\])(?:\\\\.)*)"+dI+"+$","g"),dQ=new RegExp("^"+dI+"*,"+dI+"*"),dr=new RegExp("^"+dI+"*([>+~]|"+dI+")"+dI+"*"),cV=new RegExp("="+dI+"*([^\\]'\"]*?)"+dI+"*\\]","g"),du=new RegExp(dv),dx=new RegExp("^"+dB+"$"),dw={ID:new RegExp("^#("+dB+")"),CLASS:new RegExp("^\\.("+dB+")"),TAG:new RegExp("^("+dB+"|[*])"),ATTR:new RegExp("^"+dM),PSEUDO:new RegExp("^"+dv),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+dI+"*(even|odd|(([+-]|)(\\d*)n|)"+dI+"*(?:([+-]|)"+dI+"*(\\d+)|))"+dI+"*\\)|)","i"),bool:new RegExp("^(?:"+dD+")$","i"),needsContext:new RegExp("^"+dI+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+dI+"*((?:-\\d)?\\d*)"+dI+"*\\)|)(?=[^-]|$)","i")},dP=/^(?:input|select|textarea|button)$/i,dt=/^h\d$/i,dC=/^[^{]+\{\s*\[native \w/,dL=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,dK=/[+~]/,ds=new RegExp("\\\\([\\da-f]{1,6}"+dI+"?|("+dI+")|.)","ig"),at=function(c,a,d){var b="0x"+a-65536;return b!==b||d?a:b<0?String.fromCharCode(b+65536):String.fromCharCode(b>>10|55296,1023&b|56320)},dT=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,dN=function(b,a){return a?"\0"===b?"\ufffd":b.slice(0,-1)+"\\"+b.charCodeAt(b.length-1).toString(16)+" ":"\\"+b},d6=function(){c6()},da=dZ(function(a){return !0===a.disabled&&("form" in a||"label" in a)},{dir:"parentNode",next:"legend"});try{dJ.apply(dW=dO.call(cY.childNodes),cY.childNodes),dW[cY.childNodes.length].nodeType}catch(dk){dJ={apply:dW.length?function(b,a){c5.apply(b,dO.call(a))}:function(c,a){var d=c.length,b=0;while(c[d++]=a[b++]){}c.length=d-1}}}function dh(q,x,a,k){var b,y,g,u,p,n,w,d=x&&x.ownerDocument,j=x?x.nodeType:9;if(a=a||[],"string"!=typeof q||!q||1!==j&&9!==j&&11!==j){return a}if(!k&&((x?x.ownerDocument||x:cY)!==dl&&c6(x),x=x||dl,di)){if(11!==j&&(p=dL.exec(q))){if(b=p[1]){if(9===j){if(!(g=x.getElementById(b))){return a}if(g.id===b){return a.push(g),a}}else{if(d&&(g=d.getElementById(b))&&cX(x,g)&&g.id===b){return a.push(g),a}}}else{if(p[2]){return dJ.apply(a,x.getElementsByTagName(q)),a}if((b=p[3])&&c8.getElementsByClassName&&x.getElementsByClassName){return dJ.apply(a,x.getElementsByClassName(b)),a}}}if(c8.qsa&&!dA[q+" "]&&(!cW||!cW.test(q))){if(1!==j){d=x,w=q}else{if("object"!==x.nodeName.toLowerCase()){(u=x.getAttribute("id"))?u=u.replace(dT,dN):x.setAttribute("id",u=dp),y=(n=dq(q)).length;while(y--){n[y]="#"+u+" "+cU(n[y])}w=n.join(","),d=dK.test(q)&&dY(x.parentNode)||x}}if(w){try{return dJ.apply(a,d.querySelectorAll(w)),a}catch(q){}finally{u===dp&&x.removeAttribute("id")}}}}return c0(q.replace(dV,"$1"),x,a,k)}function dX(){var b=[];function a(d,c){return b.push(d+" ")>c3.cacheLength&&delete a[b.shift()],a[d+" "]=c}return a}function d0(a){return a[dp]=!0,a}function dn(b){var a=dl.createElement("fieldset");try{return !!b(a)}catch(b){return !1}finally{a.parentNode&&a.parentNode.removeChild(a),a=null}}function d5(c,b){var d=c.split("|"),a=d.length;while(a--){c3.attrHandle[d[a]]=b}}function c4(c,a){var d=a&&c,b=d&&1===c.nodeType&&1===a.nodeType&&c.sourceIndex-a.sourceIndex;if(b){return b}if(d){while(d=d.nextSibling){if(d===a){return -1}}}return c?1:-1}function d4(a){return function(b){return"input"===b.nodeName.toLowerCase()&&b.type===a}}function cT(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ct(a){return function(b){return"form" in b?b.parentNode&&!1===b.disabled?"label" in b?"label" in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&da(b)===a:b.disabled===a:"label" in b&&b.disabled===a}}function dF(a){return d0(function(b){return b=+b,d0(function(g,e){var d,f=a([],g.length,b),c=f.length;while(c--){g[d=f[c]]&&(g[d]=!(e[d]=g[d]))}})})}function dY(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c8=dh.support={},c7=dh.isXML=function(b){var a=b&&(b.ownerDocument||b).documentElement;return !!a&&"HTML"!==a.nodeName},c6=dh.setDocument=function(f){var d,c,b=f?f.ownerDocument||f:cY;return b!==dl&&9===b.nodeType&&b.documentElement?(dl=b,dg=dl.documentElement,di=!c7(dl),cY!==dl&&(c=dl.defaultView)&&c.top!==c&&(c.addEventListener?c.addEventListener("unload",d6,!1):c.attachEvent&&c.attachEvent("onunload",d6)),c8.attributes=dn(function(a){return a.className="i",!a.getAttribute("className")}),c8.getElementsByTagName=dn(function(a){return a.appendChild(dl.createComment("")),!a.getElementsByTagName("*").length}),c8.getElementsByClassName=dC.test(dl.getElementsByClassName),c8.getById=dn(function(a){return dg.appendChild(a).id=dp,!dl.getElementsByName||!dl.getElementsByName(dp).length}),c8.getById?(c3.filter.ID=function(g){var a=g.replace(ds,at);return function(h){return h.getAttribute("id")===a}},c3.find.ID=function(g,a){if("undefined"!=typeof a.getElementById&&di){var h=a.getElementById(g);return h?[h]:[]}}):(c3.filter.ID=function(g){var a=g.replace(ds,at);return function(h){var i="undefined"!=typeof h.getAttributeNode&&h.getAttributeNode("id");return i&&i.value===a}},c3.find.ID=function(j,g){if("undefined"!=typeof g.getElementById&&di){var l,h,a,k=g.getElementById(j);if(k){if((l=k.getAttributeNode("id"))&&l.value===j){return[k]}a=g.getElementsByName(j),h=0;while(k=a[h++]){if((l=k.getAttributeNode("id"))&&l.value===j){return[k]}}}return[]}}),c3.find.TAG=c8.getElementsByTagName?function(g,a){return"undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(g):c8.qsa?a.querySelectorAll(g):void 0}:function(j,g){var l,h=[],a=0,k=g.getElementsByTagName(j);if("*"===j){while(l=k[a++]){1===l.nodeType&&h.push(l)}return h}return k},c3.find.CLASS=c8.getElementsByClassName&&function(g,a){if("undefined"!=typeof a.getElementsByClassName&&di){return a.getElementsByClassName(g)}},cZ=[],cW=[],(c8.qsa=dC.test(dl.querySelectorAll))&&(dn(function(a){dg.appendChild(a).innerHTML="<a id='"+dp+"'></a><select id='"+dp+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&cW.push("[*^$]="+dI+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||cW.push("\\["+dI+"*(?:value|"+dD+")"),a.querySelectorAll("[id~="+dp+"-]").length||cW.push("~="),a.querySelectorAll(":checked").length||cW.push(":checked"),a.querySelectorAll("a#"+dp+"+*").length||cW.push(".#.+[+~]")}),dn(function(g){g.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var a=dl.createElement("input");a.setAttribute("type","hidden"),g.appendChild(a).setAttribute("name","D"),g.querySelectorAll("[name=d]").length&&cW.push("name"+dI+"*[*^$|!~]?="),2!==g.querySelectorAll(":enabled").length&&cW.push(":enabled",":disabled"),dg.appendChild(g).disabled=!0,2!==g.querySelectorAll(":disabled").length&&cW.push(":enabled",":disabled"),g.querySelectorAll("*,:x"),cW.push(",.*:")})),(c8.matchesSelector=dC.test(c9=dg.matches||dg.webkitMatchesSelector||dg.mozMatchesSelector||dg.oMatchesSelector||dg.msMatchesSelector))&&dn(function(a){c8.disconnectedMatch=c9.call(a,"*"),c9.call(a,"[s!='']:x"),cZ.push("!=",dv)}),cW=cW.length&&new RegExp(cW.join("|")),cZ=cZ.length&&new RegExp(cZ.join("|")),d=dC.test(dg.compareDocumentPosition),cX=d||dC.test(dg.contains)?function(h,a){var i=9===h.nodeType?h.documentElement:h,g=a&&a.parentNode;return h===g||!(!g||1!==g.nodeType||!(i.contains?i.contains(g):h.compareDocumentPosition&&16&h.compareDocumentPosition(g)))}:function(g,a){if(a){while(a=a.parentNode){if(a===g){return !0}}}return !1},dS=d?function(h,a){if(h===a){return dj=!0,0}var g=!h.compareDocumentPosition-!a.compareDocumentPosition;return g||(1&(g=(h.ownerDocument||h)===(a.ownerDocument||a)?h.compareDocumentPosition(a):1)||!c8.sortDetached&&a.compareDocumentPosition(h)===g?h===dl||h.ownerDocument===cY&&cX(cY,h)?-1:a===dl||a.ownerDocument===cY&&cX(cY,a)?1:dm?dE(dm,h)-dE(dm,a):0:4&g?-1:1)}:function(m,j){if(m===j){return dj=!0,0}var q,l=0,h=m.parentNode,p=j.parentNode,g=[m],k=[j];if(!h||!p){return m===dl?-1:j===dl?1:h?-1:p?1:dm?dE(dm,m)-dE(dm,j):0}if(h===p){return c4(m,j)}q=m;while(q=q.parentNode){g.unshift(q)}q=j;while(q=q.parentNode){k.unshift(q)}while(g[l]===k[l]){l++}return l?c4(g[l],k[l]):g[l]===cY?-1:k[l]===cY?1:0},dl):dl},dh.matches=function(b,a){return dh(b,null,null,a)},dh.matchesSelector=function(c,a){if((c.ownerDocument||c)!==dl&&c6(c),a=a.replace(cV,"='$1']"),c8.matchesSelector&&di&&!dA[a+" "]&&(!cZ||!cZ.test(a))&&(!cW||!cW.test(a))){try{var b=c9.call(c,a);if(b||c8.disconnectedMatch||c.document&&11!==c.document.nodeType){return b}}catch(c){}}return dh(a,dl,null,[c]).length>0},dh.contains=function(b,a){return(b.ownerDocument||b)!==dl&&c6(b),cX(b,a)},dh.attr=function(c,b){(c.ownerDocument||c)!==dl&&c6(c);var a=c3.attrHandle[b.toLowerCase()],d=a&&dG.call(c3.attrHandle,b.toLowerCase())?a(c,b,!di):void 0;return void 0!==d?d:c8.attributes||!di?c.getAttribute(b):(d=c.getAttributeNode(b))&&d.specified?d.value:null},dh.escape=function(a){return(a+"").replace(dT,dN)},dh.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},dh.uniqueSort=function(d){var b,c=[],a=0,f=0;if(dj=!c8.detectDuplicates,dm=!c8.sortStable&&d.slice(0),d.sort(dS),dj){while(b=d[f++]){b===d[f]&&(a=c.push(f))}while(a--){d.splice(c[a],1)}}return dm=null,d},df=dh.getText=function(c){var a,f="",b=0,d=c.nodeType;if(d){if(1===d||9===d||11===d){if("string"==typeof c.textContent){return c.textContent}for(c=c.firstChild;c;c=c.nextSibling){f+=df(c)}}else{if(3===d||4===d){return c.nodeValue}}}else{while(a=c[b++]){f+=df(a)}}return f},(c3=dh.selectors={cacheLength:50,createPseudo:d0,match:dw,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ds,at),a[3]=(a[3]||a[4]||a[5]||"").replace(ds,at),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||dh.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&dh.error(a[0]),a},PSEUDO:function(b){var a,c=!b[6]&&b[2];return dw.CHILD.test(b[0])?null:(b[3]?b[2]=b[4]||b[5]||"":c&&du.test(c)&&(a=dq(c,!0))&&(a=c.indexOf(")",c.length-a)-c.length)&&(b[0]=b[0].slice(0,a),b[2]=c.slice(0,a)),b.slice(0,3))}},filter:{TAG:function(b){var a=b.replace(ds,at).toLowerCase();return"*"===b?function(){return !0}:function(c){return c.nodeName&&c.nodeName.toLowerCase()===a}},CLASS:function(b){var a=dR[b+" "];return a||(a=new RegExp("(^|"+dI+")"+b+"("+dI+"|$)"))&&dR(b,function(c){return a.test("string"==typeof c.className&&c.className||"undefined"!=typeof c.getAttribute&&c.getAttribute("class")||"")})},ATTR:function(b,a,c){return function(e){var d=dh.attr(e,b);return null==d?"!="===a:!a||(d+="","="===a?d===c:"!="===a?d!==c:"^="===a?c&&0===d.indexOf(c):"*="===a?c&&d.indexOf(c)>-1:"$="===a?c&&d.slice(-c.length)===c:"~="===a?(" "+d.replace(d1," ")+" ").indexOf(c)>-1:"|="===a&&(d===c||d.slice(0,c.length+1)===c+"-"))}},CHILD:function(h,d,k,g,c){var j="nth"!==h.slice(0,3),b="last"!==h.slice(-4),f="of-type"===d;return 1===g&&0===c?function(a){return !!a.parentNode}:function(E,e,D){var o,z,s,a,w,q,r=j!==b?"nextSibling":"previousSibling",A=E.parentNode,C=f&&E.nodeName.toLowerCase(),i=!D&&!f,B=!1;if(A){if(j){while(r){a=E;while(a=a[r]){if(f?a.nodeName.toLowerCase()===C:1===a.nodeType){return !1}}q=r="only"===h&&!q&&"nextSibling"}return !0}if(q=[b?A.firstChild:A.lastChild],b&&i){B=(w=(o=(z=(s=(a=A)[dp]||(a[dp]={}))[a.uniqueID]||(s[a.uniqueID]={}))[h]||[])[0]===dy&&o[1])&&o[2],a=w&&A.childNodes[w];while(a=++w&&a&&a[r]||(B=w=0)||q.pop()){if(1===a.nodeType&&++B&&a===E){z[h]=[dy,w,B];break}}}else{if(i&&(B=w=(o=(z=(s=(a=E)[dp]||(a[dp]={}))[a.uniqueID]||(s[a.uniqueID]={}))[h]||[])[0]===dy&&o[1]),!1===B){while(a=++w&&a&&a[r]||(B=w=0)||q.pop()){if((f?a.nodeName.toLowerCase()===C:1===a.nodeType)&&++B&&(i&&((z=(s=a[dp]||(a[dp]={}))[a.uniqueID]||(s[a.uniqueID]={}))[h]=[dy,B]),a===E)){break}}}}return(B-=c)===g||B%g==0&&B/g>=0}}},PSEUDO:function(c,b){var d,a=c3.pseudos[c]||c3.setFilters[c.toLowerCase()]||dh.error("unsupported pseudo: "+c);return a[dp]?a(b):a.length>1?(d=[c,c,"",b],c3.setFilters.hasOwnProperty(c.toLowerCase())?d0(function(h,j){var g,i=a(h,b),f=i.length;while(f--){h[g=dE(h,i[f])]=!(j[g]=i[f])}}):function(f){return a(f,0,d)}):a}},pseudos:{not:d0(function(c){var a=[],d=[],b=c2(c.replace(dV,"$1"));return b[dp]?d0(function(k,h,m,g){var l,f=b(k,null,g,[]),j=k.length;while(j--){(l=f[j])&&(k[j]=!(h[j]=l))}}):function(g,f,h){return a[0]=g,b(a,null,h,d),a[0]=null,!d.pop()}}),has:d0(function(a){return function(b){return dh(a,b).length>0}}),contains:d0(function(a){return a=a.replace(ds,at),function(b){return(b.textContent||b.innerText||df(b)).indexOf(a)>-1}}),lang:d0(function(a){return dx.test(a||"")||dh.error("unsupported lang: "+a),a=a.replace(ds,at).toLowerCase(),function(b){var c;do{if(c=di?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang")){return(c=c.toLowerCase())===a||0===c.indexOf(a+"-")}}while((b=b.parentNode)&&1===b.nodeType);return !1}}),target:function(a){var b=dk.location&&dk.location.hash;return b&&b.slice(1)===a.id},root:function(a){return a===dg},focus:function(a){return a===dl.activeElement&&(!dl.hasFocus||dl.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:ct(!1),disabled:ct(!0),checked:function(b){var a=b.nodeName.toLowerCase();return"input"===a&&!!b.checked||"option"===a&&!!b.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,!0===a.selected},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling){if(a.nodeType<6){return !1}}return !0},parent:function(a){return !c3.pseudos.empty(a)},header:function(a){return dt.test(a.nodeName)},input:function(a){return dP.test(a.nodeName)},button:function(b){var a=b.nodeName.toLowerCase();return"input"===a&&"button"===b.type||"button"===a},text:function(b){var a;return"input"===b.nodeName.toLowerCase()&&"text"===b.type&&(null==(a=b.getAttribute("type"))||"text"===a.toLowerCase())},first:dF(function(){return[0]}),last:dF(function(b,a){return[a-1]}),eq:dF(function(b,a,c){return[c<0?c+a:c]}),even:dF(function(b,a){for(var c=0;c<a;c+=2){b.push(c)}return b}),odd:dF(function(b,a){for(var c=1;c<a;c+=2){b.push(c)}return b}),lt:dF(function(c,a,d){for(var b=d<0?d+a:d;--b>=0;){c.push(b)}return c}),gt:dF(function(c,a,d){for(var b=d<0?d+a:d;++b<a;){c.push(b)}return c})}}).pseudos.nth=c3.pseudos.eq;for(c1 in {radio:!0,checkbox:!0,file:!0,password:!0,image:!0}){c3.pseudos[c1]=d4(c1)}for(c1 in {submit:!0,reset:!0}){c3.pseudos[c1]=cT(c1)}function d2(){}d2.prototype=c3.filters=c3.pseudos,c3.setFilters=new d2,dq=dh.tokenize=function(h,p){var d,g,b,k,q,m,f,j=dc[h+" "];if(j){return p?0:j.slice(0)}q=h,m=[],f=c3.preFilter;while(q){d&&!(g=dQ.exec(q))||(g&&(q=q.slice(g[0].length)||q),m.push(b=[])),d=!1,(g=dr.exec(q))&&(d=g.shift(),b.push({value:d,type:g[0].replace(dV," ")}),q=q.slice(d.length));for(k in c3.filter){!(g=dw[k].exec(q))||f[k]&&!(g=f[k](g))||(d=g.shift(),b.push({value:d,type:k,matches:g}),q=q.slice(d.length))}if(!d){break}}return p?q.length:q?dh.error(h):dc(h,m).slice(0)};function cU(c){for(var a=0,d=c.length,b="";a<d;a++){b+=c[a].value}return b}function dZ(h,d,k){var g=d.dir,c=d.next,j=c||g,b=k&&"parentNode"===j,f=dU++;return d.first?function(e,l,a){while(e=e[g]){if(1===e.nodeType||b){return h(e,l,a)}}return !1}:function(i,r,e){var a,q,m,o=[dy,f];if(e){while(i=i[g]){if((1===i.nodeType||b)&&h(i,r,e)){return !0}}}else{while(i=i[g]){if(1===i.nodeType||b){if(m=i[dp]||(i[dp]={}),q=m[i.uniqueID]||(m[i.uniqueID]={}),c&&c===i.nodeName.toLowerCase()){i=i[g]||i}else{if((a=q[j])&&a[0]===dy&&a[1]===f){return o[2]=a[2]}if(q[j]=o,o[2]=h(i,r,e)){return !0}}}}}return !1}}function d7(a){return a.length>1?function(c,e,d){var b=a.length;while(b--){if(!a[b](c,e,d)){return !1}}return !0}:a[0]}function dz(d,b,f){for(var c=0,a=b.length;c<a;c++){dh(d,b[c],f)}return f}function bt(h,m,d,b,g){for(var c,j=[],p=0,k=h.length,f=null!=m;p<k;p++){(c=h[p])&&(d&&!d(c,b,g)||(j.push(c),f&&m.push(p)))}return j}function d3(d,b,g,c,a,f){return c&&!c[dp]&&(c=d3(c)),a&&!a[dp]&&(a=d3(a,f)),d0(function(i,w,A,z){var j,r,n,e=[],q=[],k=w.length,m=i||dz(b||"*",A.nodeType?[A]:A,[]),t=!d||!i&&b?m:bt(m,e,d,A,z),x=g?a||(i?d:k||c)?[]:w:t;if(g&&g(t,x,A,z),c){j=bt(x,q),c(j,[],A,z),r=j.length;while(r--){(n=j[r])&&(x[q[r]]=!(t[q[r]]=n))}}if(i){if(a||d){if(a){j=[],r=x.length;while(r--){(n=x[r])&&j.push(t[r]=n)}a(null,x=[],j,z)}r=x.length;while(r--){(n=x[r])&&(j=a?dE(i,n):e[r])>-1&&(i[j]=!(w[j]=n))}}}else{x=bt(x===w?x.splice(k,x.length):x),a?a(null,w,x,z):dJ.apply(w,x)}})}function dH(k){for(var r,g,h,d=k.length,m=c3.relative[k[0].type],v=m||c3.relative[" "],q=m?1:0,l=dZ(function(a){return a===r},v,!0),j=dZ(function(a){return dE(r,a)>-1},v,!0),b=[function(f,o,c){var a=!m&&(c||o!==db)||((r=o).nodeType?l(f,o,c):j(f,o,c));return r=null,a}];q<d;q++){if(g=c3.relative[k[q].type]){b=[dZ(d7(b),g)]}else{if((g=c3.filter[k[q].type].apply(null,k[q].matches))[dp]){for(h=++q;h<d;h++){if(c3.relative[k[h].type]){break}}return d3(q>1&&d7(b),q>1&&cU(k.slice(0,q-1).concat({value:" "===k[q-2].type?"*":""})).replace(dV,"$1"),g,q<h&&dH(k.slice(q,h)),h<d&&dH(k=k.slice(h)),h<d&&cU(k))}b.push(g)}}return d7(b)}function cS(c,b){var f=b.length>0,a=c.length>0,d=function(g,z,G,D,p){var n,l,r,B=0,i="0",t=g&&[],q=[],A=db,e=g||a&&c3.find.TAG("*",p),F=dy+=null==A?1:Math.random()||0.1,j=e.length;for(p&&(db=z===dl||z||p);i!==j&&null!=(n=e[i]);i++){if(a&&n){l=0,z||n.ownerDocument===dl||(c6(n),G=!di);while(r=c[l++]){if(r(n,z||dl,G)){D.push(n);break}}p&&(dy=F)}f&&((n=!r&&n)&&B--,g&&t.push(n))}if(B+=i,f&&i!==B){l=0;while(r=b[l++]){r(t,q,z,G)}if(g){if(B>0){while(i--){t[i]||q[i]||(q[i]=dd.call(D))}}q=bt(q)}dJ.apply(D,q),p&&!g&&q.length>0&&B+b.length>1&&dh.uniqueSort(D)}return p&&(dy=F,db=A),t};return f?d0(d):d}return c2=dh.compile=function(d,b){var g,c=[],a=[],f=dA[d+" "];if(!f){b||(b=dq(d)),g=b.length;while(g--){(f=dH(b[g]))[dp]?c.push(f):a.push(f)}(f=dA(d,cS(a,c))).selector=d}return f},c0=dh.select=function(m,v,g,j){var b,s,h,r,k,a="function"==typeof m&&m,q=!j&&dq(m=a.selector||m);if(g=g||[],1===q.length){if((s=q[0]=q[0].slice(0)).length>2&&"ID"===(h=s[0]).type&&9===v.nodeType&&di&&c3.relative[s[1].type]){if(!(v=(c3.find.ID(h.matches[0].replace(ds,at),v)||[])[0])){return g}a&&(v=v.parentNode),m=m.slice(s.shift().value.length)}b=dw.needsContext.test(m)?0:s.length;while(b--){if(h=s[b],c3.relative[r=h.type]){break}if((k=c3.find[r])&&(j=k(h.matches[0].replace(ds,at),dK.test(s[0].type)&&dY(v.parentNode)||v))){if(s.splice(b,1),!(m=j.length&&cU(s))){return dJ.apply(g,j),g}break}}}return(a||c2(m,q))(j,v,!di,g,!v||dK.test(m)&&dY(v.parentNode)||v),g},c8.sortStable=dp.split("").sort(dS).join("")===dp,c8.detectDuplicates=!!dj,c6(),c8.sortDetached=dn(function(a){return 1&a.compareDocumentPosition(dl.createElement("fieldset"))}),dn(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||d5("type|href|height|width",function(b,a,c){if(!c){return b.getAttribute(a,"type"===a.toLowerCase()?1:2)}}),c8.attributes&&dn(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||d5("value",function(b,a,c){if(!c&&"input"===b.nodeName.toLowerCase()){return b.defaultValue}}),dn(function(a){return null==a.getAttribute("disabled")})||d5(dD,function(c,a,d){var b;if(!d){return !0===c[a]?a.toLowerCase():(b=c.getAttributeNode(a))&&b.specified?b.value:null}}),dh}(bO);bq.find=cp,bq.expr=cp.selectors,bq.expr[":"]=bq.expr.pseudos,bq.uniqueSort=bq.unique=cp.uniqueSort,bq.text=cp.getText,bq.isXMLDoc=cp.isXML,bq.contains=cp.contains,bq.escapeSelector=cp.escape;var bG=function(d,b,f){var c=[],a=void 0!==f;while((d=d[b])&&9!==d.nodeType){if(1===d.nodeType){if(a&&bq(d).is(f)){break}c.push(d)}}return c},b6=function(b,a){for(var c=[];b;b=b.nextSibling){1===b.nodeType&&b!==a&&c.push(b)}return c},cr=bq.expr.match.needsContext;function cd(b,a){return b.nodeName&&b.nodeName.toLowerCase()===a.toLowerCase()}var cx=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function bH(b,a,c){return bL(a)?bq.grep(b,function(f,d){return !!a.call(f,d,f)!==c}):a.nodeType?bq.grep(b,function(d){return d===a!==c}):"string"!=typeof a?bq.grep(b,function(d){return bs.call(a,d)>-1!==c}):bq.filter(a,b,c)}bq.filter=function(c,a,d){var b=a[0];return d&&(c=":not("+c+")"),1===a.length&&1===b.nodeType?bq.find.matchesSelector(b,c)?[b]:[]:bq.find.matches(c,bq.grep(a,function(f){return 1===f.nodeType}))},bq.fn.extend({find:function(d){var b,f,c=this.length,a=this;if("string"!=typeof d){return this.pushStack(bq(d).filter(function(){for(b=0;b<c;b++){if(bq.contains(a[b],this)){return !0}}}))}for(f=this.pushStack([]),b=0;b<c;b++){bq.find(d,a[b],f)}return c>1?bq.uniqueSort(f):f},filter:function(a){return this.pushStack(bH(this,a||[],!1))},not:function(a){return this.pushStack(bH(this,a||[],!0))},is:function(a){return !!bH(this,"string"==typeof a&&cr.test(a)?bq(a):a||[],!1).length}});var by,cg=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(bq.fn.init=function(c,b,f){var a,d;if(!c){return this}if(f=f||by,"string"==typeof c){if(!(a="<"===c[0]&&">"===c[c.length-1]&&c.length>=3?[null,c,null]:cg.exec(c))||!a[1]&&b){return !b||b.jquery?(b||f).find(c):this.constructor(b).find(c)}if(a[1]){if(b=b instanceof bq?b[0]:b,bq.merge(this,bq.parseHTML(a[1],b&&b.nodeType?b.ownerDocument||b:bx,!0)),cx.test(a[1])&&bq.isPlainObject(b)){for(a in b){bL(this[a])?this[a](b[a]):this.attr(a,b[a])}}return this}return(d=bx.getElementById(a[2]))&&(this[0]=d,this.length=1),this}return c.nodeType?(this[0]=c,this.length=1,this):bL(c)?void 0!==f.ready?f.ready(c):c(bq):bq.makeArray(c,this)}).prototype=bq.fn,by=bq(bx);var cl=/^(?:parents|prev(?:Until|All))/,cb={children:!0,contents:!0,next:!0,prev:!0};bq.fn.extend({has:function(b){var a=bq(b,this),c=a.length;return this.filter(function(){for(var d=0;d<c;d++){if(bq.contains(this,a[d])){return !0}}})},closest:function(g,d){var j,f=0,c=this.length,h=[],b="string"!=typeof g&&bq(g);if(!cr.test(g)){for(;f<c;f++){for(j=this[f];j&&j!==d;j=j.parentNode){if(j.nodeType<11&&(b?b.index(j)>-1:1===j.nodeType&&bq.find.matchesSelector(j,g))){h.push(j);break}}}}return this.pushStack(h.length>1?bq.uniqueSort(h):h)},index:function(a){return a?"string"==typeof a?bs.call(bq(a),this[0]):bs.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(b,a){return this.pushStack(bq.uniqueSort(bq.merge(this.get(),bq(b,a))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function ca(b,a){while((b=b[a])&&1!==b.nodeType){}return b}bq.each({parent:function(b){var a=b.parentNode;return a&&11!==a.nodeType?a:null},parents:function(a){return bG(a,"parentNode")},parentsUntil:function(b,a,c){return bG(b,"parentNode",c)},next:function(a){return ca(a,"nextSibling")},prev:function(a){return ca(a,"previousSibling")},nextAll:function(a){return bG(a,"nextSibling")},prevAll:function(a){return bG(a,"previousSibling")},nextUntil:function(b,a,c){return bG(b,"nextSibling",c)},prevUntil:function(b,a,c){return bG(b,"previousSibling",c)},siblings:function(a){return b6((a.parentNode||{}).firstChild,a)},children:function(a){return b6(a.firstChild)},contents:function(a){return cd(a,"iframe")?a.contentDocument:(cd(a,"template")&&(a=a.content||a),bq.merge([],a.childNodes))}},function(b,a){bq.fn[b]=function(e,d){var c=bq.map(this,a,e);return"Until"!==b.slice(-5)&&(d=e),d&&"string"==typeof d&&(c=bq.filter(d,c)),this.length>1&&(cb[b]||bq.uniqueSort(c),cl.test(b)&&c.reverse()),this.pushStack(c)}});var cf=/[^\x20\t\r\n\f]+/g;function b7(b){var a={};return bq.each(b.match(cf)||[],function(c,d){a[d]=!0}),a}bq.Callbacks=function(h){h="string"==typeof h?b7(h):bq.extend({},h);var m,d,b,g,c=[],j=[],p=-1,k=function(){for(g=g||h.once,b=m=!0;j.length;p=-1){d=j.shift();while(++p<c.length){!1===c[p].apply(d[0],d[1])&&h.stopOnFalse&&(p=c.length,d=!1)}}h.memory||(d=!1),m=!1,g&&(c=d?[]:"")},f={add:function(){return c&&(d&&!a&&(p=c.length-1,j.push(d)),function a(e){bq.each(e,function(l,i){bL(i)?h.unique&&f.has(i)||c.push(i):i&&i.length&&"string"!==bp(i)&&a(i)})}(arguments),d&&!a&&k()),this},remove:function(){return bq.each(arguments,function(i,a){var l;while((l=bq.inArray(a,c,l))>-1){c.splice(l,1),l<=p&&p--}}),this},has:function(a){return a?bq.inArray(a,c)>-1:c.length>0},empty:function(){return c&&(c=[]),this},disable:function(){return g=j=[],c=d="",this},disabled:function(){return !c},lock:function(){return g=j=[],d||m||(c=d=""),this},locked:function(){return !!g},fireWith:function(a,i){return g||(i=[a,(i=i||[]).slice?i.slice():i],j.push(i),m||k()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return !!b}};return f};function ck(a){return a}function b0(a){throw a}function cH(d,b,f,c){var a;try{d&&bL(a=d.promise)?a.call(d).done(b).fail(f):d&&bL(a=d.then)?a.call(d,b,f):b.apply(void 0,[d].slice(c))}catch(d){f.apply(void 0,[d])}}bq.extend({Deferred:function(b){var e=[["notify","progress",bq.Callbacks("memory"),bq.Callbacks("memory"),2],["resolve","done",bq.Callbacks("once memory"),bq.Callbacks("once memory"),0,"resolved"],["reject","fail",bq.Callbacks("once memory"),bq.Callbacks("once memory"),1,"rejected"]],c="pending",a={state:function(){return c},always:function(){return d.done(arguments).fail(arguments),this},"catch":function(f){return a.then(null,f)},pipe:function(){var f=arguments;return bq.Deferred(function(g){bq.each(e,function(k,j){var h=bL(f[j[4]])&&f[j[4]];d[j[1]](function(){var i=h&&h.apply(this,arguments);i&&bL(i.promise)?i.promise().progress(g.notify).done(g.resolve).fail(g.reject):g[j[0]+"With"](this,h?[i]:arguments)})}),f=null}).promise()},then:function(h,j,g){var k=0;function f(m,p,o,l){return function(){var q=this,n=arguments,i=function(){var t,s;if(!(m<k)){if((t=o.apply(q,n))===p.promise()){throw new TypeError("Thenable self-resolution")}s=t&&("object"==typeof t||"function"==typeof t)&&t.then,bL(s)?l?s.call(t,f(k,p,ck,l),f(k,p,b0,l)):(k++,s.call(t,f(k,p,ck,l),f(k,p,b0,l),f(k,p,ck,p.notifyWith))):(o!==ck&&(q=void 0,n=[t]),(l||p.resolveWith)(q,n))}},r=l?i:function(){try{i()}catch(s){bq.Deferred.exceptionHook&&bq.Deferred.exceptionHook(s,r.stackTrace),m+1>=k&&(o!==b0&&(q=void 0,n=[s]),p.rejectWith(q,n))}};m?r():(bq.Deferred.getStackHook&&(r.stackTrace=bq.Deferred.getStackHook()),bO.setTimeout(r))}}return bq.Deferred(function(i){e[0][3].add(f(0,i,bL(g)?g:ck,i.notifyWith)),e[1][3].add(f(0,i,bL(h)?h:ck)),e[2][3].add(f(0,i,bL(j)?j:b0))}).promise()},promise:function(f){return null!=f?bq.extend(f,a):a}},d={};return bq.each(e,function(i,g){var f=g[2],h=g[5];a[g[1]]=f.add,h&&f.add(function(){c=h},e[3-i][2].disable,e[3-i][3].disable,e[0][2].lock,e[0][3].lock),f.add(g[3].fire),d[g[0]]=function(){return d[g[0]+"With"](this===d?void 0:this,arguments),this},d[g[0]+"With"]=f.fireWith}),a.promise(d),b&&b.call(d,d),d},when:function(h){var d=arguments.length,j=d,g=Array(j),c=bB.call(arguments),b=bq.Deferred(),f=function(a){return function(e){g[a]=this,c[a]=arguments.length>1?bB.call(arguments):e,--d||b.resolveWith(g,c)}};if(d<=1&&(cH(h,b.done(f(j)).resolve,b.reject,!d),"pending"===b.state()||bL(c[j]&&c[j].then))){return b.then()}while(j--){cH(c[j],f(j),b.reject)}return b.promise()}});var cv=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;bq.Deferred.exceptionHook=function(a,b){bO.console&&bO.console.warn&&a&&cv.test(a.name)&&bO.console.warn("jQuery.Deferred exception: "+a.message,a.stack,b)},bq.readyException=function(a){bO.setTimeout(function(){throw a})};var co=bq.Deferred();bq.fn.ready=function(a){return co.then(a)["catch"](function(b){bq.readyException(b)}),this},bq.extend({isReady:!1,readyWait:1,ready:function(a){(!0===a?--bq.readyWait:bq.isReady)||(bq.isReady=!0,!0!==a&&--bq.readyWait>0||co.resolveWith(bx,[bq]))}}),bq.ready.then=co.then;function bU(){bx.removeEventListener("DOMContentLoaded",bU),bO.removeEventListener("load",bU),bq.ready()}"complete"===bx.readyState||"loading"!==bx.readyState&&!bx.documentElement.doScroll?bO.setTimeout(bq.ready):(bx.addEventListener("DOMContentLoaded",bU),bO.addEventListener("load",bU));var bm=function(h,m,d,b,g,c,j){var p=0,k=h.length,f=null==d;if("object"===bp(d)){g=!0;for(p in d){bm(h,m,p,d[p],!0,c,j)}}else{if(void 0!==b&&(g=!0,bL(b)||(j=!0),f&&(j?(m.call(h,b),m=null):(f=m,m=function(i,a,l){return f.call(bq(i),l)})),m)){for(;p<k;p++){m(h[p],d,j?b:b.call(h[p],p,m(h[p],d)))}}}return g?h:f?m.call(h):k?m(h[0],d):c},bZ=/^-ms-/,b3=/-([a-z])/g;function b1(b,a){return a.toUpperCase()}function cm(a){return a.replace(bZ,"ms-").replace(b3,b1)}var bY=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function b9(){this.expando=bq.expando+b9.uid++}b9.uid=1,b9.prototype={cache:function(b){var a=b[this.expando];return a||(a={},bY(b)&&(b.nodeType?b[this.expando]=a:Object.defineProperty(b,this.expando,{value:a,configurable:!0}))),a},set:function(d,b,f){var c,a=this.cache(d);if("string"==typeof b){a[cm(b)]=f}else{for(c in b){a[cm(c)]=b[c]}}return a},get:function(b,a){return void 0===a?this.cache(b):b[this.expando]&&b[this.expando][cm(a)]},access:function(b,a,c){return void 0===a||a&&"string"==typeof a&&void 0===c?this.get(b,a):(this.set(b,a,c),void 0!==c?c:a)},remove:function(c,a){var d,b=c[this.expando];if(void 0!==b){if(void 0!==a){d=(a=Array.isArray(a)?a.map(cm):(a=cm(a)) in b?[a]:a.match(cf)||[]).length;while(d--){delete b[a[d]]}}(void 0===a||bq.isEmptyObject(b))&&(c.nodeType?c[this.expando]=void 0:delete c[this.expando])}},hasData:function(b){var a=b[this.expando];return void 0!==a&&!bq.isEmptyObject(a)}};var cj=new b9,ch=new b9,bW=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,a9=/[A-Z]/g;function aM(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:bW.test(a)?JSON.parse(a):a)}function cy(c,a,d){var b;if(void 0===d&&1===c.nodeType){if(b="data-"+a.replace(a9,"-$&").toLowerCase(),"string"==typeof(d=c.getAttribute(b))){try{d=aM(d)}catch(c){}ch.set(c,a,d)}else{d=void 0}}return d}bq.extend({hasData:function(a){return ch.hasData(a)||cj.hasData(a)},data:function(b,a,c){return ch.access(b,a,c)},removeData:function(b,a){ch.remove(b,a)},_data:function(b,a,c){return cj.access(b,a,c)},_removeData:function(b,a){cj.remove(b,a)}}),bq.fn.extend({data:function(g,d){var j,f,c,h=this[0],b=h&&h.attributes;if(void 0===g){if(this.length&&(c=ch.get(h),1===h.nodeType&&!cj.get(h,"hasDataAttrs"))){j=b.length;while(j--){b[j]&&0===(f=b[j].name).indexOf("data-")&&(f=cm(f.slice(5)),cy(h,f,c[f]))}cj.set(h,"hasDataAttrs",!0)}return c}return"object"==typeof g?this.each(function(){ch.set(this,g)}):bm(this,function(a){var e;if(h&&void 0===a){if(void 0!==(e=ch.get(h,g))){return e}if(void 0!==(e=cy(h,g))){return e}}else{this.each(function(){ch.set(this,g,a)})}},null,d,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){ch.remove(this,a)})}}),bq.extend({queue:function(c,a,d){var b;if(c){return a=(a||"fx")+"queue",b=cj.get(c,a),d&&(!b||Array.isArray(d)?b=cj.access(c,a,bq.makeArray(d)):b.push(d)),b||[]}},dequeue:function(g,d){d=d||"fx";var j=bq.queue(g,d),f=j.length,c=j.shift(),h=bq._queueHooks(g,d),b=function(){bq.dequeue(g,d)};"inprogress"===c&&(c=j.shift(),f--),c&&("fx"===d&&j.unshift("inprogress"),delete h.stop,c.call(g,b,h)),!f&&h&&h.empty.fire()},_queueHooks:function(b,a){var c=a+"queueHooks";return cj.get(b,c)||cj.access(b,c,{empty:bq.Callbacks("once memory").add(function(){cj.remove(b,[a+"queue",c])})})}}),bq.fn.extend({queue:function(b,a){var c=2;return"string"!=typeof b&&(a=b,b="fx",c--),arguments.length<c?bq.queue(this[0],b):void 0===a?this:this.each(function(){var d=bq.queue(this,b,a);bq._queueHooks(this,b),"fx"===b&&"inprogress"!==d[0]&&bq.dequeue(this,b)})},dequeue:function(a){return this.each(function(){bq.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(h,d){var k,g=1,c=bq.Deferred(),j=this,b=this.length,f=function(){--g||c.resolveWith(j,[j])};"string"!=typeof h&&(d=h,h=void 0),h=h||"fx";while(b--){(k=cj.get(j[b],h+"queueHooks"))&&k.empty&&(g++,k.empty.add(f))}return f(),c.promise(d)}});var a4=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,aC=new RegExp("^(?:([+-])=|)("+a4+")([a-z%]*)$","i"),bV=["Top","Right","Bottom","Left"],cE=function(b,a){return"none"===(b=a||b).style.display||""===b.style.display&&bq.contains(b.ownerDocument,b)&&"none"===bq.css(b,"display")},aU=function(g,d,j,f){var c,h,b={};for(h in d){b[h]=g.style[h],g.style[h]=d[h]}c=j.apply(g,f||[]);for(h in d){g.style[h]=b[h]}return c};function aE(j,q,f,b){var h,d,m=20,v=b?function(){return b.cur()}:function(){return bq.css(j,q,"")},p=v(),g=f&&f[3]||(bq.cssNumber[q]?"":"px"),k=(bq.cssNumber[q]||"px"!==g&&+p)&&aC.exec(bq.css(j,q));if(k&&k[3]!==g){p/=2,g=g||k[3],k=+p||1;while(m--){bq.style(j,q,k+g),(1-d)*(1-(d=v()/p||0.5))<=0&&(m=0),k/=d}k*=2,bq.style(j,q,k+g),f=f||[]}return f&&(k=+k||+p||0,h=f[1]?k+(f[1]+1)*f[2]:+f[2],b&&(b.unit=g,b.start=k,b.end=h)),h}var cR={};function bI(d){var b,f=d.ownerDocument,c=d.nodeName,a=cR[c];return a||(b=f.body.appendChild(f.createElement(c)),a=bq.css(b,"display"),b.parentNode.removeChild(b),"none"===a&&(a="block"),cR[c]=a,a)}function a1(g,d){for(var j,f,c=[],h=0,b=g.length;h<b;h++){(f=g[h]).style&&(j=f.style.display,d?("none"===j&&(c[h]=cj.get(f,"display")||null,c[h]||(f.style.display="")),""===f.style.display&&cE(f)&&(c[h]=bI(f))):"none"!==j&&(c[h]="none",cj.set(f,"display",j)))}for(h=0;h<b;h++){null!=c[h]&&(g[h].style.display=c[h])}return g}bq.fn.extend({show:function(){return a1(this,!0)},hide:function(){return a1(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){cE(this)?bq(this).show():bq(this).hide()})}});var bl=/^(?:checkbox|radio)$/i,bi=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,aK=/^$|^module$|\/(?:java|ecma)script/i,aS={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};aS.optgroup=aS.option,aS.tbody=aS.tfoot=aS.colgroup=aS.caption=aS.thead,aS.th=aS.td;function cL(b,a){var c;return c="undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a||"*"):"undefined"!=typeof b.querySelectorAll?b.querySelectorAll(a||"*"):[],void 0===a||a&&cd(b,a)?bq.merge([b],c):c}function aw(c,a){for(var d=0,b=c.length;d<b;d++){cj.set(c[d],"globalEval",!a||cj.get(a[d],"globalEval"))}}var cJ=/<|&#?\w+;/;function ac(x,C,k,b,q){for(var j,A,D,B,m,z,w=C.createDocumentFragment(),g=[],y=0,v=x.length;y<v;y++){if((j=x[y])||0===j){if("object"===bp(j)){bq.merge(g,j.nodeType?[j]:j)}else{if(cJ.test(j)){A=A||w.appendChild(C.createElement("div")),D=(bi.exec(j)||["",""])[1].toLowerCase(),B=aS[D]||aS._default,A.innerHTML=B[1]+bq.htmlPrefilter(j)+B[2],z=B[0];while(z--){A=A.lastChild}bq.merge(g,A.childNodes),(A=w.firstChild).textContent=""}else{g.push(C.createTextNode(j))}}}}w.textContent="",y=0;while(j=g[y++]){if(b&&bq.inArray(j,b)>-1){q&&q.push(j)}else{if(m=bq.contains(j.ownerDocument,j),A=cL(w.appendChild(j),"script"),m&&aw(A),k){z=0;while(j=A[z++]){aK.test(j.type||"")&&k.push(j)}}}}return w}!function(){var b=bx.createDocumentFragment().appendChild(bx.createElement("div")),a=bx.createElement("input");a.setAttribute("type","radio"),a.setAttribute("checked","checked"),a.setAttribute("name","t"),b.appendChild(a),bK.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",bK.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ci=bx.documentElement,am=/^key/,cK=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,aJ=/^([^.]*)(?:\.(.+)|)/;function ar(){return !0}function ak(){return !1}function ab(){try{return bx.activeElement}catch(a){}}function aB(h,d,k,g,c,j){var b,f;if("object"==typeof d){"string"!=typeof k&&(g=g||k,k=void 0);for(f in d){aB(h,f,k,g,d[f],j)}return h}if(null==g&&null==c?(c=k,g=k=void 0):null==c&&("string"==typeof k?(c=g,g=void 0):(c=g,g=k,k=void 0)),!1===c){c=ak}else{if(!c){return h}}return 1===j&&(b=c,(c=function(a){return bq().off(a),b.apply(this,arguments)}).guid=b.guid||(b.guid=bq.guid++)),h.each(function(){bq.event.add(this,d,c,g,k)})}bq.event={global:{},add:function(A,G,m,b,v){var k,E,H,F,q,C,z,j,B,w,x,D=cj.get(A);if(D){m.handler&&(m=(k=m).handler,v=k.selector),v&&bq.find.matchesSelector(ci,v),m.guid||(m.guid=bq.guid++),(F=D.events)||(F=D.events={}),(E=D.handle)||(E=D.handle=function(a){return"undefined"!=typeof bq&&bq.event.triggered!==a.type?bq.event.dispatch.apply(A,arguments):void 0}),q=(G=(G||"").match(cf)||[""]).length;while(q--){B=x=(H=aJ.exec(G[q])||[])[1],w=(H[2]||"").split(".").sort(),B&&(z=bq.event.special[B]||{},B=(v?z.delegateType:z.bindType)||B,z=bq.event.special[B]||{},C=bq.extend({type:B,origType:x,data:b,handler:m,guid:m.guid,selector:v,needsContext:v&&bq.expr.match.needsContext.test(v),namespace:w.join(".")},k),(j=F[B])||((j=F[B]=[]).delegateCount=0,z.setup&&!1!==z.setup.call(A,b,w,E)||A.addEventListener&&A.addEventListener(B,E)),z.add&&(z.add.call(A,C),C.handler.guid||(C.handler.guid=m.guid)),v?j.splice(j.delegateCount++,0,C):j.push(C),bq.event.global[B]=!0)}}},remove:function(A,G,m,b,v){var k,E,H,F,q,C,z,j,B,w,x,D=cj.hasData(A)&&cj.get(A);if(D&&(F=D.events)){q=(G=(G||"").match(cf)||[""]).length;while(q--){if(H=aJ.exec(G[q])||[],B=x=H[1],w=(H[2]||"").split(".").sort(),B){z=bq.event.special[B]||{},j=F[B=(b?z.delegateType:z.bindType)||B]||[],H=H[2]&&new RegExp("(^|\\.)"+w.join("\\.(?:.*\\.|)")+"(\\.|$)"),E=k=j.length;while(k--){C=j[k],!v&&x!==C.origType||m&&m.guid!==C.guid||H&&!H.test(C.namespace)||b&&b!==C.selector&&("**"!==b||!C.selector)||(j.splice(k,1),C.selector&&j.delegateCount--,z.remove&&z.remove.call(A,C))}E&&!j.length&&(z.teardown&&!1!==z.teardown.call(A,w,D.handle)||bq.removeEvent(A,B,D.handle),delete F[B])}else{for(B in F){bq.event.remove(A,B+G[q],m,b,!0)}}}bq.isEmptyObject(F)&&cj.remove(A,"handle events")}},dispatch:function(j){var q=bq.event.fix(j),f,b,h,d,m,v,p=new Array(arguments.length),g=(cj.get(this,"events")||{})[q.type]||[],k=bq.event.special[q.type]||{};for(p[0]=q,f=1;f<arguments.length;f++){p[f]=arguments[f]}if(q.delegateTarget=this,!k.preDispatch||!1!==k.preDispatch.call(this,q)){v=bq.event.handlers.call(this,q,g),f=0;while((d=v[f++])&&!q.isPropagationStopped()){q.currentTarget=d.elem,b=0;while((m=d.handlers[b++])&&!q.isImmediatePropagationStopped()){q.rnamespace&&!q.rnamespace.test(m.namespace)||(q.handleObj=m,q.data=m.data,void 0!==(h=((bq.event.special[m.origType]||{}).handle||m.handler).apply(d.elem,p))&&!1===(q.result=h)&&(q.preventDefault(),q.stopPropagation()))}}return k.postDispatch&&k.postDispatch.call(this,q),q.result}},handlers:function(h,m){var d,b,g,c,j,p=[],k=m.delegateCount,f=h.target;if(k&&f.nodeType&&!("click"===h.type&&h.button>=1)){for(;f!==this;f=f.parentNode||this){if(1===f.nodeType&&("click"!==h.type||!0!==f.disabled)){for(c=[],j={},d=0;d<k;d++){void 0===j[g=(b=m[d]).selector+" "]&&(j[g]=b.needsContext?bq(g,this).index(f)>-1:bq.find(g,this,null,[f]).length),j[g]&&c.push(b)}c.length&&p.push({elem:f,handlers:c})}}}return f=this,k<m.length&&p.push({elem:f,handlers:m.slice(k)}),p},addProp:function(b,a){Object.defineProperty(bq.Event.prototype,b,{enumerable:!0,configurable:!0,get:bL(a)?function(){if(this.originalEvent){return a(this.originalEvent)}}:function(){if(this.originalEvent){return this.originalEvent[b]}},set:function(c){Object.defineProperty(this,b,{enumerable:!0,configurable:!0,writable:!0,value:c})}})},fix:function(a){return a[bq.expando]?a:new bq.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ab()&&this.focus){return this.focus(),!1}},delegateType:"focusin"},blur:{trigger:function(){if(this===ab()&&this.blur){return this.blur(),!1}},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&cd(this,"input")){return this.click(),!1}},_default:function(a){return cd(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},bq.removeEvent=function(b,a,c){b.removeEventListener&&b.removeEventListener(a,c)},bq.Event=function(b,a){if(!(this instanceof bq.Event)){return new bq.Event(b,a)}b&&b.type?(this.originalEvent=b,this.type=b.type,this.isDefaultPrevented=b.defaultPrevented||void 0===b.defaultPrevented&&!1===b.returnValue?ar:ak,this.target=b.target&&3===b.target.nodeType?b.target.parentNode:b.target,this.currentTarget=b.currentTarget,this.relatedTarget=b.relatedTarget):this.type=b,a&&bq.extend(this,a),this.timeStamp=b&&b.timeStamp||Date.now(),this[bq.expando]=!0},bq.Event.prototype={constructor:bq.Event,isDefaultPrevented:ak,isPropagationStopped:ak,isImmediatePropagationStopped:ak,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ar,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ar,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ar,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},bq.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(b){var a=b.button;return null==b.which&&am.test(b.type)?null!=b.charCode?b.charCode:b.keyCode:!b.which&&void 0!==a&&cK.test(b.type)?1&a?1:2&a?3:4&a?2:0:b.which}},bq.event.addProp),bq.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(b,a){bq.event.special[b]={delegateType:a,bindType:a,handle:function(f){var h,d=this,c=f.relatedTarget,g=f.handleObj;return c&&(c===d||bq.contains(d,c))||(f.type=g.origType,h=g.handler.apply(this,arguments),f.type=a),h}}}),bq.fn.extend({on:function(c,a,d,b){return aB(this,c,a,d,b)},one:function(c,a,d,b){return aB(this,c,a,d,b,1)},off:function(d,b,f){var c,a;if(d&&d.preventDefault&&d.handleObj){return c=d.handleObj,bq(d.delegateTarget).off(c.namespace?c.origType+"."+c.namespace:c.origType,c.selector,c.handler),this}if("object"==typeof d){for(a in d){this.off(a,b,d[a])}return this}return !1!==b&&"function"!=typeof b||(f=b,b=void 0),!1===f&&(f=ak),this.each(function(){bq.event.remove(this,d,f,b)})}});var aT=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,a0=/<script|<style|<link/i,au=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function bb(b,a){return cd(b,"table")&&cd(11!==a.nodeType?a:a.firstChild,"tr")?bq(b).children("tbody")[0]||b:b}function cI(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function aL(a){return"true/"===(a.type||"").slice(0,5)?a.type=a.type.slice(5):a.removeAttribute("type"),a}function aD(h,m){var d,b,g,c,j,p,k,f;if(1===m.nodeType){if(cj.hasData(h)&&(c=cj.access(h),j=cj.set(m,c),f=c.events)){delete j.handle,j.events={};for(g in f){for(d=0,b=f[g].length;d<b;d++){bq.event.add(m,g,f[g][d])}}}ch.hasData(h)&&(p=ch.access(h),k=bq.extend({},p),ch.set(m,k))}}function a3(b,a){var c=a.nodeName.toLowerCase();"input"===c&&bl.test(b.type)?a.checked=b.checked:"input"!==c&&"textarea"!==c||(a.defaultValue=b.defaultValue)}function al(q,C,h,a){C=bS.apply([],C);var k,g,D,B,j,x,m=0,b=q.length,w=b-1,z=C[0],A=bL(z);if(A||b>1&&"string"==typeof z&&!bK.checkClone&&au.test(z)){return q.each(function(c){var d=q.eq(c);A&&(C[0]=z.call(this,c,d.html())),al(d,C,h,a)})}if(b&&(k=ac(C,q[0].ownerDocument,!1,q,a),g=k.firstChild,1===k.childNodes.length&&(k=g),g||a)){for(B=(D=bq.map(cL(k,"script"),cI)).length;m<b;m++){j=k,m!==w&&(j=bq.clone(j,!0,!0),B&&bq.merge(D,cL(j,"script"))),h.call(q[m],j,m)}if(B){for(x=D[D.length-1].ownerDocument,bq.map(D,aL),m=0;m<B;m++){j=D[m],aK.test(j.type||"")&&!cj.access(j,"globalEval")&&bq.contains(x,j)&&(j.src&&"module"!==(j.type||"").toLowerCase()?bq._evalUrl&&bq._evalUrl(j.src):bE(j.textContent.replace(bc,""),x,j))}}}return q}function cw(d,b,g){for(var c,a=b?bq.filter(b,d):d,f=0;null!=(c=a[f]);f++){g||1!==c.nodeType||bq.cleanData(cL(c)),c.parentNode&&(g&&bq.contains(c.ownerDocument,c)&&aw(cL(c,"script")),c.parentNode.removeChild(c))}return d}bq.extend({htmlPrefilter:function(a){return a.replace(aT,"<$1></$2>")},clone:function(g,k,d){var b,f,c,h,l=g.cloneNode(!0),j=bq.contains(g.ownerDocument,g);if(!(bK.noCloneChecked||1!==g.nodeType&&11!==g.nodeType||bq.isXMLDoc(g))){for(h=cL(l),b=0,f=(c=cL(g)).length;b<f;b++){a3(c[b],h[b])}}if(k){if(d){for(c=c||cL(g),h=h||cL(l),b=0,f=c.length;b<f;b++){aD(c[b],h[b])}}else{aD(g,l)}}return(h=cL(l,"script")).length>0&&aw(h,!j&&cL(g,"script")),l},cleanData:function(d){for(var b,g,c,a=bq.event.special,f=0;void 0!==(g=d[f]);f++){if(bY(g)){if(b=g[cj.expando]){if(b.events){for(c in b.events){a[c]?bq.event.remove(g,c):bq.removeEvent(g,c,b.handle)}}g[cj.expando]=void 0}g[ch.expando]&&(g[ch.expando]=void 0)}}}}),bq.fn.extend({detach:function(a){return cw(this,a,!0)},remove:function(a){return cw(this,a)},text:function(a){return bm(this,function(b){return void 0===b?bq.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=b)})},null,a,arguments.length)},append:function(){return al(this,arguments,function(a){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||bb(this,a).appendChild(a)})},prepend:function(){return al(this,arguments,function(b){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var a=bb(this,b);a.insertBefore(b,a.firstChild)}})},before:function(){return al(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return al(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var b,a=0;null!=(b=this[a]);a++){1===b.nodeType&&(bq.cleanData(cL(b,!1)),b.textContent="")}return this},clone:function(b,a){return b=null!=b&&b,a=null==a?b:a,this.map(function(){return bq.clone(this,b,a)})},html:function(a){return bm(this,function(d){var b=this[0]||{},f=0,c=this.length;if(void 0===d&&1===b.nodeType){return b.innerHTML}if("string"==typeof d&&!a0.test(d)&&!aS[(bi.exec(d)||["",""])[1].toLowerCase()]){d=bq.htmlPrefilter(d);try{for(;f<c;f++){1===(b=this[f]||{}).nodeType&&(bq.cleanData(cL(b,!1)),b.innerHTML=d)}b=0}catch(d){}}b&&this.empty().append(d)},null,a,arguments.length)},replaceWith:function(){var a=[];return al(this,arguments,function(b){var c=this.parentNode;bq.inArray(this,a)<0&&(bq.cleanData(cL(this)),c&&c.replaceChild(b,this))},a)}}),bq.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(b,a){bq.fn[b]=function(g){for(var j,f=[],d=bq(g),h=d.length-1,c=0;c<=h;c++){j=c===h?this:this.clone(!0),bq(d[c])[a](j),bw.apply(f,j.get())}return this.pushStack(f)}});var bu=new RegExp("^("+a4+")(?!px)[a-z%]+$","i"),cs=function(a){var b=a.ownerDocument.defaultView;return b&&b.opener||(b=bO),b.getComputedStyle(a)},aR=new RegExp(bV.join("|"),"i");!function(){function k(){if(g){e.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",g.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ci.appendChild(e).appendChild(g);var a=bO.getComputedStyle(g);f="1%"!==a.top,j=12===d(a.marginLeft),g.style.right="60%",m=36===d(a.right),b=36===d(a.width),g.style.position="absolute",h=36===g.offsetWidth||"absolute",ci.removeChild(e),g=null}}function d(a){return Math.round(parseFloat(a))}var f,b,h,m,j,e=bx.createElement("div"),g=bx.createElement("div");g.style&&(g.style.backgroundClip="content-box",g.cloneNode(!0).style.backgroundClip="",bK.clearCloneStyle="content-box"===g.style.backgroundClip,bq.extend(bK,{boxSizingReliable:function(){return k(),b},pixelBoxStyles:function(){return k(),m},pixelPosition:function(){return k(),f},reliableMarginLeft:function(){return k(),j},scrollboxSize:function(){return k(),h}}))}();function aj(h,d,k){var g,c,j,b,f=h.style;return(k=k||cs(h))&&(""!==(b=k.getPropertyValue(d)||k[d])||bq.contains(h.ownerDocument,h)||(b=bq.style(h,d)),!bK.pixelBoxStyles()&&bu.test(b)&&aR.test(d)&&(g=f.width,c=f.minWidth,j=f.maxWidth,f.minWidth=f.maxWidth=f.width=b,b=k.width,f.width=g,f.minWidth=c,f.maxWidth=j)),void 0!==b?b+"":b}function ag(b,a){return{get:function(){if(!b()){return(this.get=a).apply(this,arguments)}delete this.get}}}var cB=/^(none|table(?!-c[ea]).+)/,bf=/^--/,cA={position:"absolute",visibility:"hidden",display:"block"},b2={letterSpacing:"0",fontWeight:"400"},cQ=["Webkit","Moz","ms"],a6=bx.createElement("div").style;function av(b){if(b in a6){return b}var a=b[0].toUpperCase()+b.slice(1),c=cQ.length;while(c--){if((b=cQ[c]+a) in a6){return b}}}function bT(b){var a=bq.cssProps[b];return a||(a=bq.cssProps[b]=av(b)||b),a}function bk(c,a,d){var b=aC.exec(a);return b?Math.max(0,b[2]-(d||0))+(b[3]||"px"):a}function aX(g,k,d,b,f,c){var h="width"===k?1:0,l=0,j=0;if(d===(b?"border":"content")){return 0}for(;h<4;h+=2){"margin"===d&&(j+=bq.css(g,d+bV[h],!0,f)),b?("content"===d&&(j-=bq.css(g,"padding"+bV[h],!0,f)),"margin"!==d&&(j-=bq.css(g,"border"+bV[h]+"Width",!0,f))):(j+=bq.css(g,"padding"+bV[h],!0,f),"padding"!==d?j+=bq.css(g,"border"+bV[h]+"Width",!0,f):l+=bq.css(g,"border"+bV[h]+"Width",!0,f))}return !b&&c>=0&&(j+=Math.max(0,Math.ceil(g["offset"+k[0].toUpperCase()+k.slice(1)]-c-j-l-0.5))),j}function a5(g,d,j){var f=cs(g),c=aj(g,d,f),h="border-box"===bq.css(g,"boxSizing",!1,f),b=h;if(bu.test(c)){if(!j){return c}c="auto"}return b=b&&(bK.boxSizingReliable()||c===g.style[d]),("auto"===c||!parseFloat(c)&&"inline"===bq.css(g,"display",!1,f))&&(c=g["offset"+d[0].toUpperCase()+d.slice(1)],b=!0),(c=parseFloat(c)||0)+aX(g,d,j||(h?"border":"content"),b,f,c)+"px"}bq.extend({cssHooks:{opacity:{get:function(b,a){if(a){var c=aj(b,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(h,m,d,b){if(h&&3!==h.nodeType&&8!==h.nodeType&&h.style){var g,c,j,p=cm(m),k=bf.test(m),f=h.style;if(k||(m=bT(p)),j=bq.cssHooks[m]||bq.cssHooks[p],void 0===d){return j&&"get" in j&&void 0!==(g=j.get(h,!1,b))?g:f[m]}"string"==(c=typeof d)&&(g=aC.exec(d))&&g[1]&&(d=aE(h,m,g),c="number"),null!=d&&d===d&&("number"===c&&(d+=g&&g[3]||(bq.cssNumber[p]?"":"px")),bK.clearCloneStyle||""!==d||0!==m.indexOf("background")||(f[m]="inherit"),j&&"set" in j&&void 0===(d=j.set(h,d,b))||(k?f.setProperty(m,d):f[m]=d))}},css:function(h,d,k,g){var c,j,b,f=cm(d);return bf.test(d)||(d=bT(f)),(b=bq.cssHooks[d]||bq.cssHooks[f])&&"get" in b&&(c=b.get(h,!0,k)),void 0===c&&(c=aj(h,d,g)),"normal"===c&&d in b2&&(c=b2[d]),""===k||k?(j=parseFloat(c),!0===k||isFinite(j)?j||0:c):c}}),bq.each(["height","width"],function(b,a){bq.cssHooks[a]={get:function(d,f,c){if(f){return !cB.test(bq.css(d,"display"))||d.getClientRects().length&&d.getBoundingClientRect().width?a5(d,a,c):aU(d,cA,function(){return a5(d,a,c)})}},set:function(h,k,g){var d,j=cs(h),c="border-box"===bq.css(h,"boxSizing",!1,j),f=g&&aX(h,a,g,c,j);return c&&bK.scrollboxSize()===j.position&&(f-=Math.ceil(h["offset"+a[0].toUpperCase()+a.slice(1)]-parseFloat(j[a])-aX(h,a,"border",!1,j)-0.5)),f&&(d=aC.exec(k))&&"px"!==(d[3]||"px")&&(h.style[a]=k,k=bq.css(h,a)),bk(h,k,f)}}}),bq.cssHooks.marginLeft=ag(bK.reliableMarginLeft,function(b,a){if(a){return(parseFloat(aj(b,"marginLeft"))||b.getBoundingClientRect().left-aU(b,{marginLeft:0},function(){return b.getBoundingClientRect().left}))+"px"}}),bq.each({margin:"",padding:"",border:"Width"},function(b,a){bq.cssHooks[b+a]={expand:function(f){for(var d=0,c={},e="string"==typeof f?f.split(" "):[f];d<4;d++){c[b+bV[d]+a]=e[d]||e[d-2]||e[0]}return c}},"margin"!==b&&(bq.cssHooks[b+a].set=bk)}),bq.fn.extend({css:function(b,a){return bm(this,function(h,f,k){var g,d,j={},c=0;if(Array.isArray(f)){for(g=cs(h),d=f.length;c<d;c++){j[f[c]]=bq.css(h,f[c],!1,g)}return j}return void 0!==k?bq.style(h,f,k):bq.css(h,f)},b,a,arguments.length>1)}});function aI(d,b,f,c,a){return new aI.prototype.init(d,b,f,c,a)}bq.Tween=aI,aI.prototype={constructor:aI,init:function(d,b,g,c,a,f){this.elem=d,this.prop=g,this.easing=a||bq.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=c,this.unit=f||(bq.cssNumber[g]?"":"px")},cur:function(){var a=aI.propHooks[this.prop];return a&&a.get?a.get(this):aI.propHooks._default.get(this)},run:function(b){var a,c=aI.propHooks[this.prop];return this.options.duration?this.pos=a=bq.easing[this.easing](b,this.options.duration*b,0,1,this.options.duration):this.pos=a=b,this.now=(this.end-this.start)*a+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):aI.propHooks._default.set(this),this}},aI.prototype.init.prototype=aI.prototype,aI.propHooks={_default:{get:function(b){var a;return 1!==b.elem.nodeType||null!=b.elem[b.prop]&&null==b.elem.style[b.prop]?b.elem[b.prop]:(a=bq.css(b.elem,b.prop,""))&&"auto"!==a?a:0},set:function(a){bq.fx.step[a.prop]?bq.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[bq.cssProps[a.prop]]&&!bq.cssHooks[a.prop]?a.elem[a.prop]=a.now:bq.style(a.elem,a.prop,a.now+a.unit)}}},aI.propHooks.scrollTop=aI.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},bq.easing={linear:function(a){return a},swing:function(a){return 0.5-Math.cos(a*Math.PI)/2},_default:"swing"},bq.fx=aI.prototype.init,bq.fx.step={};var cc,aZ,ay=/^(?:toggle|show|hide)$/,bD=/queueHooks$/;function cz(){aZ&&(!1===bx.hidden&&bO.requestAnimationFrame?bO.requestAnimationFrame(cz):bO.setTimeout(cz,bq.fx.interval),bq.fx.tick())}function aQ(){return bO.setTimeout(function(){cc=void 0}),cc=Date.now()}function aA(d,b){var f,c=0,a={height:d};for(b=b?1:0;c<4;c+=2-b){a["margin"+(f=bV[c])]=a["padding"+f]=d}return b&&(a.opacity=a.width=d),a}function cN(g,d,j){for(var f,c=(bh.tweeners[d]||[]).concat(bh.tweeners["*"]),h=0,b=c.length;h<b;h++){if(f=c[h].call(j,d,g)){return f}}}function bo(A,G,m){var b,v,k,E,H,F,q,C,z="width" in G||"height" in G,j=this,B={},w=A.style,x=A.nodeType&&cE(A),D=cj.get(A,"fxshow");m.queue||(null==(E=bq._queueHooks(A,"fx")).unqueued&&(E.unqueued=0,H=E.empty.fire,E.empty.fire=function(){E.unqueued||H()}),E.unqueued++,j.always(function(){j.always(function(){E.unqueued--,bq.queue(A,"fx").length||E.empty.fire()})}));for(b in G){if(v=G[b],ay.test(v)){if(delete G[b],k=k||"toggle"===v,v===(x?"hide":"show")){if("show"!==v||!D||void 0===D[b]){continue}x=!0}B[b]=D&&D[b]||bq.style(A,b)}}if((F=!bq.isEmptyObject(G))||!bq.isEmptyObject(B)){z&&1===A.nodeType&&(m.overflow=[w.overflow,w.overflowX,w.overflowY],null==(q=D&&D.display)&&(q=cj.get(A,"display")),"none"===(C=bq.css(A,"display"))&&(q?C=q:(a1([A],!0),q=A.style.display||q,C=bq.css(A,"display"),a1([A]))),("inline"===C||"inline-block"===C&&null!=q)&&"none"===bq.css(A,"float")&&(F||(j.done(function(){w.display=q}),null==q&&(C=w.display,q="none"===C?"":C)),w.display="inline-block")),m.overflow&&(w.overflow="hidden",j.always(function(){w.overflow=m.overflow[0],w.overflowX=m.overflow[1],w.overflowY=m.overflow[2]})),F=!1;for(b in B){F||(D?"hidden" in D&&(x=D.hidden):D=cj.access(A,"fxshow",{display:q}),k&&(D.hidden=!x),x&&a1([A],!0),j.done(function(){x||a1([A]),cj.remove(A,"fxshow");for(b in B){bq.style(A,b,B[b])}})),F=cN(x?D[b]:0,b,j),b in D||(D[b]=F.start,x&&(F.end=F.start,F.start=0))}}}function aW(g,d){var j,f,c,h,b;for(j in g){if(f=cm(j),c=d[f],h=g[j],Array.isArray(h)&&(c=h[1],h=g[j]=h[0]),j!==f&&(g[f]=h,delete g[j]),(b=bq.cssHooks[f])&&"expand" in b){h=b.expand(h),delete g[f];for(j in h){j in g||(g[j]=h[j],d[j]=c)}}else{d[f]=c}}}function bh(j,q,f){var b,h,d=0,m=bh.prefilters.length,v=bq.Deferred().always(function(){delete p.elem}),p=function(){if(h){return !1}for(var e=cc||aQ(),s=Math.max(0,g.startTime+g.duration-e),i=1-(s/g.duration||0),l=0,c=g.tweens.length;l<c;l++){g.tweens[l].run(i)}return v.notifyWith(j,[g,i,s]),i<1&&c?s:(c||v.notifyWith(j,[g,1,0]),v.resolveWith(j,[g]),!1)},g=v.promise({elem:j,props:bq.extend({},q),opts:bq.extend(!0,{specialEasing:{},easing:bq.easing._default},f),originalProperties:q,originalOptions:f,startTime:cc||aQ(),duration:f.duration,tweens:[],createTween:function(a,e){var c=bq.Tween(j,g.opts,a,e,g.opts.specialEasing[a]||g.opts.easing);return g.tweens.push(c),c},stop:function(a){var e=0,c=a?g.tweens.length:0;if(h){return this}for(h=!0;e<c;e++){g.tweens[e].run(1)}return a?(v.notifyWith(j,[g,1,0]),v.resolveWith(j,[g,a])):v.rejectWith(j,[g,a]),this}}),k=g.props;for(aW(k,g.opts.specialEasing);d<m;d++){if(b=bh.prefilters[d].call(g,j,k,g.opts)){return bL(b.stop)&&(bq._queueHooks(g.elem,g.opts.queue).stop=b.stop.bind(b)),b}}return bq.map(k,cN,g),bL(g.opts.start)&&g.opts.start.call(j,g),g.progress(g.opts.progress).done(g.opts.done,g.opts.complete).fail(g.opts.fail).always(g.opts.always),bq.fx.timer(bq.extend(p,{elem:j,anim:g,queue:g.opts.queue})),g}bq.Animation=bq.extend(bh,{tweeners:{"*":[function(b,a){var c=this.createTween(b,a);return aE(c.elem,b,aC.exec(a),c),c}]},tweener:function(d,b){bL(d)?(b=d,d=["*"]):d=d.match(cf);for(var f,c=0,a=d.length;c<a;c++){f=d[c],bh.tweeners[f]=bh.tweeners[f]||[],bh.tweeners[f].unshift(b)}},prefilters:[bo],prefilter:function(b,a){a?bh.prefilters.unshift(b):bh.prefilters.push(b)}}),bq.speed=function(c,a,d){var b=c&&"object"==typeof c?bq.extend({},c):{complete:d||!d&&a||bL(c)&&c,duration:c,easing:d&&a||a&&!bL(a)&&a};return bq.fx.off?b.duration=0:"number"!=typeof b.duration&&(b.duration in bq.fx.speeds?b.duration=bq.fx.speeds[b.duration]:b.duration=bq.fx.speeds._default),null!=b.queue&&!0!==b.queue||(b.queue="fx"),b.old=b.complete,b.complete=function(){bL(b.old)&&b.old.call(this),b.queue&&bq.dequeue(this,b.queue)},b},bq.fn.extend({fadeTo:function(c,a,d,b){return this.filter(cE).css("opacity",0).show().end().animate({opacity:a},c,d,b)},animate:function(g,d,j,f){var c=bq.isEmptyObject(g),h=bq.speed(d,j,f),b=function(){var a=bh(this,bq.extend({},g),h);(c||cj.get(this,"finish"))&&a.stop(!0)};return b.finish=b,c||!1===h.queue?this.each(b):this.queue(h.queue,b)},stop:function(c,a,d){var b=function(g){var f=g.stop;delete g.stop,f(d)};return"string"!=typeof c&&(d=a,a=c,c=void 0),a&&!1!==c&&this.queue(c||"fx",[]),this.each(function(){var g=!0,f=null!=c&&c+"queueHooks",h=bq.timers,e=cj.get(this);if(f){e[f]&&e[f].stop&&b(e[f])}else{for(f in e){e[f]&&e[f].stop&&bD.test(f)&&b(e[f])}}for(f=h.length;f--;){h[f].elem!==this||null!=c&&h[f].queue!==c||(h[f].anim.stop(d),g=!1,h.splice(f,1))}!g&&d||bq.dequeue(this,c)})},finish:function(a){return !1!==a&&(a=a||"fx"),this.each(function(){var d,g=cj.get(this),e=g[a+"queue"],c=g[a+"queueHooks"],f=bq.timers,b=e?e.length:0;for(g.finish=!0,bq.queue(this,a,[]),c&&c.stop&&c.stop.call(this,!0),d=f.length;d--;){f[d].elem===this&&f[d].queue===a&&(f[d].anim.stop(!0),f.splice(d,1))}for(d=0;d<b;d++){e[d]&&e[d].finish&&e[d].finish.call(this)}delete g.finish})}}),bq.each(["toggle","show","hide"],function(b,a){var c=bq.fn[a];bq.fn[a]=function(g,f,d){return null==g||"boolean"==typeof g?c.apply(this,arguments):this.animate(aA(a,!0),g,f,d)}}),bq.each({slideDown:aA("show"),slideUp:aA("hide"),slideToggle:aA("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(b,a){bq.fn[b]=function(d,f,c){return this.animate(a,d,f,c)}}),bq.timers=[],bq.fx.tick=function(){var b,a=0,c=bq.timers;for(cc=Date.now();a<c.length;a++){(b=c[a])()||c[a]!==b||c.splice(a--,1)}c.length||bq.fx.stop(),cc=void 0},bq.fx.timer=function(a){bq.timers.push(a),bq.fx.start()},bq.fx.interval=13,bq.fx.start=function(){aZ||(aZ=!0,cz())},bq.fx.stop=function(){aZ=null},bq.fx.speeds={slow:600,fast:200,_default:400},bq.fn.delay=function(a,b){return a=bq.fx?bq.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(e,d){var c=bO.setTimeout(e,a);d.stop=function(){bO.clearTimeout(c)}})},function(){var b=bx.createElement("input"),a=bx.createElement("select").appendChild(bx.createElement("option"));b.type="checkbox",bK.checkOn=""!==b.value,bK.optSelected=a.selected,(b=bx.createElement("input")).value="t",b.type="radio",bK.radioValue="t"===b.value}();var bd,aG=bq.expr.attrHandle;bq.fn.extend({attr:function(b,a){return bm(this,bq.attr,b,a,arguments.length>1)},removeAttr:function(a){return this.each(function(){bq.removeAttr(this,a)})}}),bq.extend({attr:function(d,b,g){var c,a,f=d.nodeType;if(3!==f&&8!==f&&2!==f){return"undefined"==typeof d.getAttribute?bq.prop(d,b,g):(1===f&&bq.isXMLDoc(d)||(a=bq.attrHooks[b.toLowerCase()]||(bq.expr.match.bool.test(b)?bd:void 0)),void 0!==g?null===g?void bq.removeAttr(d,b):a&&"set" in a&&void 0!==(c=a.set(d,g,b))?c:(d.setAttribute(b,g+""),g):a&&"get" in a&&null!==(c=a.get(d,b))?c:null==(c=bq.find.attr(d,b))?void 0:c)}},attrHooks:{type:{set:function(b,a){if(!bK.radioValue&&"radio"===a&&cd(b,"input")){var c=b.value;return b.setAttribute("type",a),c&&(b.value=c),a}}}},removeAttr:function(d,b){var f,c=0,a=b&&b.match(cf);if(a&&1===d.nodeType){while(f=a[c++]){d.removeAttribute(f)}}}}),bd={set:function(b,a,c){return !1===a?bq.removeAttr(b,c):b.setAttribute(c,c),c}},bq.each(bq.expr.match.bool.source.match(/\w+/g),function(b,a){var c=aG[a]||bq.find.attr;aG[a]=function(j,g,h){var f,k,d=g.toLowerCase();return h||(k=aG[d],aG[d]=f,f=null!=c(j,g,h)?d:null,aG[d]=k),f}});var aO=/^(?:input|select|textarea|button)$/i,cG=/^(?:a|area)$/i;bq.fn.extend({prop:function(b,a){return bm(this,bq.prop,b,a,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[bq.propFix[a]||a]})}}),bq.extend({prop:function(d,b,g){var c,a,f=d.nodeType;if(3!==f&&8!==f&&2!==f){return 1===f&&bq.isXMLDoc(d)||(b=bq.propFix[b]||b,a=bq.propHooks[b]),void 0!==g?a&&"set" in a&&void 0!==(c=a.set(d,g,b))?c:d[b]=g:a&&"get" in a&&null!==(c=a.get(d,b))?c:d[b]}},propHooks:{tabIndex:{get:function(b){var a=bq.find.attr(b,"tabindex");return a?parseInt(a,10):aO.test(b.nodeName)||cG.test(b.nodeName)&&b.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),bK.optSelected||(bq.propHooks.selected={get:function(b){var a=b.parentNode;return a&&a.parentNode&&a.parentNode.selectedIndex,null},set:function(b){var a=b.parentNode;a&&(a.selectedIndex,a.parentNode&&a.parentNode.selectedIndex)}}),bq.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){bq.propFix[this.toLowerCase()]=this});function aq(a){return(a.match(cf)||[]).join(" ")}function cD(a){return a.getAttribute&&a.getAttribute("class")||""}function cP(a){return Array.isArray(a)?a:"string"==typeof a?a.match(cf)||[]:[]}bq.fn.extend({addClass:function(g){var k,d,b,f,c,h,l,j=0;if(bL(g)){return this.each(function(a){bq(this).addClass(g.call(this,a,cD(this)))})}if((k=cP(g)).length){while(d=this[j++]){if(f=cD(d),b=1===d.nodeType&&" "+aq(f)+" "){h=0;while(c=k[h++]){b.indexOf(" "+c+" ")<0&&(b+=c+" ")}f!==(l=aq(b))&&d.setAttribute("class",l)}}}return this},removeClass:function(g){var k,d,b,f,c,h,l,j=0;if(bL(g)){return this.each(function(a){bq(this).removeClass(g.call(this,a,cD(this)))})}if(!arguments.length){return this.attr("class","")}if((k=cP(g)).length){while(d=this[j++]){if(f=cD(d),b=1===d.nodeType&&" "+aq(f)+" "){h=0;while(c=k[h++]){while(b.indexOf(" "+c+" ")>-1){b=b.replace(" "+c+" "," ")}}f!==(l=aq(b))&&d.setAttribute("class",l)}}}return this},toggleClass:function(c,a){var d=typeof c,b="string"===d||Array.isArray(c);return"boolean"==typeof a&&b?a?this.addClass(c):this.removeClass(c):bL(c)?this.each(function(e){bq(this).toggleClass(c.call(this,e,cD(this),a),a)}):this.each(function(){var g,f,h,e;if(b){f=0,h=bq(this),e=cP(c);while(g=e[f++]){h.hasClass(g)?h.removeClass(g):h.addClass(g)}}else{void 0!==c&&"boolean"!==d||((g=cD(this))&&cj.set(this,"__className__",g),this.setAttribute&&this.setAttribute("class",g||!1===c?"":cj.get(this,"__className__")||""))}})},hasClass:function(c){var a,d,b=0;a=" "+c+" ";while(d=this[b++]){if(1===d.nodeType&&(" "+aq(cD(d))+" ").indexOf(a)>-1){return !0}}return !1}});var bX=/\r/g;bq.fn.extend({val:function(d){var b,f,c,a=this[0];if(arguments.length){return c=bL(d),this.each(function(g){var e;1===this.nodeType&&(null==(e=c?d.call(this,g,bq(this).val()):d)?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=bq.map(e,function(h){return null==h?"":h+""})),(b=bq.valHooks[this.type]||bq.valHooks[this.nodeName.toLowerCase()])&&"set" in b&&void 0!==b.set(this,e,"value")||(this.value=e))})}if(a){return(b=bq.valHooks[a.type]||bq.valHooks[a.nodeName.toLowerCase()])&&"get" in b&&void 0!==(f=b.get(a,"value"))?f:"string"==typeof(f=a.value)?f.replace(bX,""):null==f?"":f}}}),bq.extend({valHooks:{option:{get:function(b){var a=bq.find.attr(b,"value");return null!=a?a:aq(bq.text(b))}},select:{get:function(g){var k,d,b,f=g.options,c=g.selectedIndex,h="select-one"===g.type,l=h?null:[],j=h?c+1:f.length;for(b=c<0?j:h?c:0;b<j;b++){if(((d=f[b]).selected||b===c)&&!d.disabled&&(!d.parentNode.disabled||!cd(d.parentNode,"optgroup"))){if(k=bq(d).val(),h){return k}l.push(k)}}return l},set:function(g,d){var j,f,c=g.options,h=bq.makeArray(d),b=c.length;while(b--){((f=c[b]).selected=bq.inArray(bq.valHooks.option.get(f),h)>-1)&&(j=!0)}return j||(g.selectedIndex=-1),h}}}}),bq.each(["radio","checkbox"],function(){bq.valHooks[this]={set:function(b,a){if(Array.isArray(a)){return b.checked=bq.inArray(bq(b).val(),a)>-1}}},bK.checkOn||(bq.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),bK.focusin="onfocusin" in bO;var ai=/^(?:focusinfocus|focusoutblur)$/,cF=function(a){a.stopPropagation()};bq.extend(bq.event,{trigger:function(C,f,k,e){var z,D,B,j,w,b,r,q,A=[k||bx],g=bM.call(C,"type")?C.type:C,y=bM.call(C,"namespace")?C.namespace.split("."):[];if(D=q=B=k=k||bx,3!==k.nodeType&&8!==k.nodeType&&!ai.test(g+bq.event.triggered)&&(g.indexOf(".")>-1&&(g=(y=g.split(".")).shift(),y.sort()),w=g.indexOf(":")<0&&"on"+g,C=C[bq.expando]?C:new bq.Event(g,"object"==typeof C&&C),C.isTrigger=e?2:3,C.namespace=y.join("."),C.rnamespace=C.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,C.result=void 0,C.target||(C.target=k),f=null==f?[C]:bq.makeArray(f,[C]),r=bq.event.special[g]||{},e||!r.trigger||!1!==r.trigger.apply(k,f))){if(!e&&!r.noBubble&&!bn(k)){for(j=r.delegateType||g,ai.test(j+g)||(D=D.parentNode);D;D=D.parentNode){A.push(D),B=D}B===(k.ownerDocument||bx)&&A.push(B.defaultView||B.parentWindow||bO)}z=0;while((D=A[z++])&&!C.isPropagationStopped()){q=D,C.type=z>1?j:r.bindType||g,(b=(cj.get(D,"events")||{})[C.type]&&cj.get(D,"handle"))&&b.apply(D,f),(b=w&&D[w])&&b.apply&&bY(D)&&(C.result=b.apply(D,f),!1===C.result&&C.preventDefault())}return C.type=g,e||C.isDefaultPrevented()||r._default&&!1!==r._default.apply(A.pop(),f)||!bY(k)||w&&bL(k[g])&&!bn(k)&&((B=k[w])&&(k[w]=null),bq.event.triggered=g,C.isPropagationStopped()&&q.addEventListener(g,cF),k[g](),C.isPropagationStopped()&&q.removeEventListener(g,cF),bq.event.triggered=void 0,B&&(k[w]=B)),C.result}},simulate:function(c,a,d){var b=bq.extend(new bq.Event,d,{type:c,isSimulated:!0});bq.event.trigger(b,null,a)}}),bq.fn.extend({trigger:function(b,a){return this.each(function(){bq.event.trigger(b,a,this)})},triggerHandler:function(b,a){var c=this[0];if(c){return bq.event.trigger(b,a,c,!0)}}}),bK.focusin||bq.each({focus:"focusin",blur:"focusout"},function(b,a){var c=function(d){bq.event.simulate(a,d.target,bq.event.fix(d))};bq.event.special[a]={setup:function(){var e=this.ownerDocument||this,d=cj.access(e,a);d||e.addEventListener(b,c,!0),cj.access(e,a,(d||0)+1)},teardown:function(){var e=this.ownerDocument||this,d=cj.access(e,a)-1;d?cj.access(e,a,d):(e.removeEventListener(b,c,!0),cj.remove(e,a))}}});var aF=bO.location,an=Date.now(),af=/\?/;bq.parseXML=function(a){var c;if(!a||"string"!=typeof a){return null}try{c=(new b.DOMParser).parseFromString(a,"text/xml")}catch(b){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||bq.error("Invalid XML: "+a),c};var cO=/\[\]$/,ax=/\r?\n/g,aP=/^(?:submit|button|image|reset|file)$/i,aV=/^(?:input|select|textarea|keygen)/i;function ao(d,b,f,c){var a;if(Array.isArray(b)){bq.each(b,function(g,e){f||cO.test(d)?c(d,e):ao(d+"["+("object"==typeof e&&null!=e?g:"")+"]",e,f,c)})}else{if(f||"object"!==bp(b)){c(d,b)}else{for(a in b){ao(d+"["+a+"]",b[a],f,c)}}}}bq.param=function(d,b){var f,c=[],a=function(h,g){var i=bL(g)?g():g;c[c.length]=encodeURIComponent(h)+"="+encodeURIComponent(null==i?"":i)};if(Array.isArray(d)||d.jquery&&!bq.isPlainObject(d)){bq.each(d,function(){a(this.name,this.value)})}else{for(f in d){ao(f,d[f],b,a)}}return c.join("&")},bq.fn.extend({serialize:function(){return bq.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=bq.prop(this,"elements");return a?bq.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!bq(this).is(":disabled")&&aV.test(this.nodeName)&&!aP.test(a)&&(this.checked||!bl.test(a))}).map(function(b,a){var c=bq(this).val();return null==c?null:Array.isArray(c)?bq.map(c,function(d){return{name:a.name,value:d.replace(ax,"\r\n")}}):{name:a.name,value:c.replace(ax,"\r\n")}}).get()}});var a8=/%20/g,a7=/#.*$/,cC=/([?&])_=[^&]*/,aH=/^(.*?):[ \t]*([^\r\n]*)$/gm,az=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,aY=/^(?:GET|HEAD)$/,ah=/^\/\//,b8={},bj={},b5="*/".concat("*"),aN=bx.createElement("a");aN.href=aF.href;function ad(a){return function(c,f){"string"!=typeof c&&(f=c,c="*");var d,b=0,e=c.toLowerCase().match(cf)||[];if(bL(f)){while(d=e[b++]){"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(f)):(a[d]=a[d]||[]).push(f)}}}}function aa(g,d,j,f){var c={},h=g===bj;function b(e){var a;return c[e]=!0,bq.each(g[e]||[],function(m,k){var i=k(d,j,f);return"string"!=typeof i||h||c[i]?h?!(a=i):void 0:(d.dataTypes.unshift(i),b(i),!1)}),a}return b(d.dataTypes[0])||!c["*"]&&b("*")}function cq(d,b){var f,c,a=bq.ajaxSettings.flatOptions||{};for(f in b){void 0!==b[f]&&((a[f]?d:c||(c={}))[f]=b[f])}return c&&bq.extend(!0,d,c),d}function ba(g,k,d){var b,f,c,h,l=g.contents,j=g.dataTypes;while("*"===j[0]){j.shift(),void 0===b&&(b=g.mimeType||k.getResponseHeader("Content-Type"))}if(b){for(f in l){if(l[f]&&l[f].test(b)){j.unshift(f);break}}}if(j[0] in d){c=j[0]}else{for(f in d){if(!j[0]||g.converters[f+" "+j[0]]){c=f;break}h||(h=f)}c=c||h}if(c){return c!==j[0]&&j.unshift(c),d[c]}}function cn(j,q,f,b){var h,d,m,v,p,g={},k=j.dataTypes.slice();if(k[1]){for(m in j.converters){g[m.toLowerCase()]=j.converters[m]}}d=k.shift();while(d){if(j.responseFields[d]&&(f[j.responseFields[d]]=q),!p&&b&&j.dataFilter&&(q=j.dataFilter(q,j.dataType)),p=d,d=k.shift()){if("*"===d){d=p}else{if("*"!==p&&p!==d){if(!(m=g[p+" "+d]||g["* "+d])){for(h in g){if((v=h.split(" "))[1]===d&&(m=g[p+" "+v[0]]||g["* "+v[0]])){!0===m?m=g[h]:!0!==g[h]&&(d=v[0],k.unshift(v[1]));break}}}if(!0!==m){if(m&&j["throws"]){q=m(q)}else{try{q=m(q)}catch(j){return{state:"parsererror",error:m?j:"No conversion from "+p+" to "+d}}}}}}}}return{state:"success",data:q}}bq.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:aF.href,type:"GET",isLocal:az.test(aF.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":b5,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":bq.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(b,a){return a?cq(cq(b,bq.ajaxSettings),a):cq(bq.ajaxSettings,b)},ajaxPrefilter:ad(b8),ajaxTransport:ad(bj),ajax:function(B,I){"object"==typeof B&&(I=B,B=void 0),I=I||{};var M,H,V,D,z,K,S,P,G,R,N=bq.ajaxSetup({},I),O=N.context||N,q=N.context&&(O.nodeType||O.jquery)?bq(O):bq.event,w=bq.Deferred(),J=bq.Callbacks("once memory"),r=N.statusCode||{},U={},j={},F="canceled",A={readyState:0,getResponseHeader:function(b){var a;if(S){if(!D){D={};while(a=aH.exec(V)){D[a[1].toLowerCase()]=a[2]}}a=D[b.toLowerCase()]}return null==a?null:a},getAllResponseHeaders:function(){return S?V:null},setRequestHeader:function(b,a){return null==S&&(b=j[b.toLowerCase()]=j[b.toLowerCase()]||b,U[b]=a),this},overrideMimeType:function(a){return null==S&&(N.mimeType=a),this},statusCode:function(b){var a;if(b){if(S){A.always(b[A.status])}else{for(a in b){r[a]=[r[a],b[a]]}}}return this},abort:function(b){var a=b||F;return M&&M.abort(a),L(0,a),this}};if(w.promise(A),N.url=((B||N.url||aF.href)+"").replace(ah,aF.protocol+"//"),N.type=I.method||I.type||N.method||N.type,N.dataTypes=(N.dataType||"*").toLowerCase().match(cf)||[""],null==N.crossDomain){K=bx.createElement("a");try{K.href=N.url,K.href=K.href,N.crossDomain=aN.protocol+"//"+aN.host!=K.protocol+"//"+K.host}catch(Q){N.crossDomain=!0}}if(N.data&&N.processData&&"string"!=typeof N.data&&(N.data=bq.param(N.data,N.traditional)),aa(b8,N,I,A),S){return A}(P=bq.event&&N.global)&&0==bq.active++&&bq.event.trigger("ajaxStart"),N.type=N.type.toUpperCase(),N.hasContent=!aY.test(N.type),H=N.url.replace(a7,""),N.hasContent?N.data&&N.processData&&0===(N.contentType||"").indexOf("application/x-www-form-urlencoded")&&(N.data=N.data.replace(a8,"+")):(R=N.url.slice(H.length),N.data&&(N.processData||"string"==typeof N.data)&&(H+=(af.test(H)?"&":"?")+N.data,delete N.data),!1===N.cache&&(H=H.replace(cC,"$1"),R=(af.test(H)?"&":"?")+"_="+an+++R),N.url=H+R),N.ifModified&&(bq.lastModified[H]&&A.setRequestHeader("If-Modified-Since",bq.lastModified[H]),bq.etag[H]&&A.setRequestHeader("If-None-Match",bq.etag[H])),(N.data&&N.hasContent&&!1!==N.contentType||I.contentType)&&A.setRequestHeader("Content-Type",N.contentType),A.setRequestHeader("Accept",N.dataTypes[0]&&N.accepts[N.dataTypes[0]]?N.accepts[N.dataTypes[0]]+("*"!==N.dataTypes[0]?", "+b5+"; q=0.01":""):N.accepts["*"]);for(G in N.headers){A.setRequestHeader(G,N.headers[G])}if(N.beforeSend&&(!1===N.beforeSend.call(O,A,N)||S)){return A.abort()}if(F="abort",J.add(N.complete),A.done(N.success),A.fail(N.error),M=aa(bj,N,I,A)){if(A.readyState=1,P&&q.trigger("ajaxSend",[A,N]),S){return A}N.async&&N.timeout>0&&(z=Q.setTimeout(function(){A.abort("timeout")},N.timeout));try{S=!1,M.send(U,L)}catch(Q){if(S){throw Q}L(-1,Q)}}else{L(-1,"No Transport")}function L(m,f,a,o){var g,e,i,k,h,c=f;S||(S=!0,z&&Q.clearTimeout(z),M=void 0,V=o||"",A.readyState=m>0?4:0,g=m>=200&&m<300||304===m,a&&(k=ba(N,A,a)),k=cn(N,k,A,g),g?(N.ifModified&&((h=A.getResponseHeader("Last-Modified"))&&(bq.lastModified[H]=h),(h=A.getResponseHeader("etag"))&&(bq.etag[H]=h)),204===m||"HEAD"===N.type?c="nocontent":304===m?c="notmodified":(c=k.state,e=k.data,g=!(i=k.error))):(i=c,!m&&c||(c="error",m<0&&(m=0))),A.status=m,A.statusText=(f||c)+"",g?w.resolveWith(O,[e,c,A]):w.rejectWith(O,[A,c,i]),A.statusCode(r),r=void 0,P&&q.trigger(g?"ajaxSuccess":"ajaxError",[A,N,g?e:i]),J.fireWith(O,[A,c]),P&&(q.trigger("ajaxComplete",[A,N]),--bq.active||bq.event.trigger("ajaxStop")))}return A},getJSON:function(b,a,c){return bq.get(b,a,c,"json")},getScript:function(b,a){return bq.get(b,void 0,a,"script")}}),bq.each(["get","post"],function(b,a){bq[a]=function(f,g,d,c){return bL(g)&&(c=c||d,d=g,g=void 0),bq.ajax(bq.extend({url:f,type:a,dataType:c,data:g,success:d},bq.isPlainObject(f)&&f))}}),bq._evalUrl=function(a){return bq.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},bq.fn.extend({wrapAll:function(b){var a;return this[0]&&(bL(b)&&(b=b.call(this[0])),a=bq(b,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&a.insertBefore(this[0]),a.map(function(){var c=this;while(c.firstElementChild){c=c.firstElementChild}return c}).append(this)),this},wrapInner:function(a){return bL(a)?this.each(function(b){bq(this).wrapInner(a.call(this,b))}):this.each(function(){var b=bq(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(b){var a=bL(b);return this.each(function(c){bq(this).wrapAll(a?b.call(this,c):b)})},unwrap:function(a){return this.parent(a).not("body").each(function(){bq(this).replaceWith(this.childNodes)}),this}}),bq.expr.pseudos.hidden=function(a){return !bq.expr.pseudos.visible(a)},bq.expr.pseudos.visible=function(a){return !!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},bq.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(a){}};var bN={0:200,1223:204},cM=bq.ajaxSettings.xhr();bK.cors=!!cM&&"withCredentials" in cM,bK.ajax=cM=!!cM,bq.ajaxTransport(function(a){var c,b;if(bK.cors||cM&&!a.crossDomain){return{send:function(f,j){var d,g=a.xhr();if(g.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields){for(d in a.xhrFields){g[d]=a.xhrFields[d]}}a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),a.crossDomain||f["X-Requested-With"]||(f["X-Requested-With"]="XMLHttpRequest");for(d in f){g.setRequestHeader(d,f[d])}c=function(i){return function(){c&&(c=b=g.onload=g.onerror=g.onabort=g.ontimeout=g.onreadystatechange=null,"abort"===i?g.abort():"error"===i?"number"!=typeof g.status?j(0,"error"):j(g.status,g.statusText):j(bN[g.status]||g.status,g.statusText,"text"!==(g.responseType||"text")||"string"!=typeof g.responseText?{binary:g.response}:{text:g.responseText},g.getAllResponseHeaders()))}},g.onload=c(),b=g.onerror=g.ontimeout=c("error"),void 0!==g.onabort?g.onabort=b:g.onreadystatechange=function(){4===g.readyState&&h.setTimeout(function(){c&&b()})},c=c("abort");try{g.send(a.hasContent&&a.data||null)}catch(h){if(c){throw h}}},abort:function(){c&&c()}}}}),bq.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),bq.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return bq.globalEval(a),a}}}),bq.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),bq.ajaxTransport("script",function(b){if(b.crossDomain){var a,c;return{send:function(d,e){a=bq("<script>").prop({charset:b.scriptCharset,src:b.url}).on("load error",c=function(f){a.remove(),c=null,f&&e("error"===f.type?404:200,f.type)}),bx.head.appendChild(a[0])},abort:function(){c&&c()}}}});var a2=[],ap=/(=)\?(?=&|$)|\?\?/;bq.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=a2.pop()||bq.expando+"_"+an++;return this[a]=!0,a}}),bq.ajaxPrefilter("json jsonp",function(d,h,f){var c,g,b,e=!1!==d.jsonp&&(ap.test(d.url)?"url":"string"==typeof d.data&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&ap.test(d.data)&&"data");if(e||"jsonp"===d.dataTypes[0]){return c=d.jsonpCallback=bL(d.jsonpCallback)?d.jsonpCallback():d.jsonpCallback,e?d[e]=d[e].replace(ap,"$1"+c):!1!==d.jsonp&&(d.url+=(af.test(d.url)?"&":"?")+d.jsonp+"="+c),d.converters["script json"]=function(){return b||bq.error(c+" was not called"),b[0]},d.dataTypes[0]="json",g=bO[c],bO[c]=function(){b=arguments},f.always(function(){void 0===g?bq(bO).removeProp(c):bO[c]=g,d[c]&&(d.jsonpCallback=h.jsonpCallback,a2.push(c)),b&&bL(g)&&g(b[0]),b=g=void 0}),"script"}}),bK.createHTMLDocument=function(){var a=bx.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),bq.parseHTML=function(f,d,h){if("string"!=typeof f){return[]}"boolean"==typeof d&&(h=d,d=!1);var c,g,b;return d||(bK.createHTMLDocument?((c=(d=bx.implementation.createHTMLDocument("")).createElement("base")).href=bx.location.href,d.head.appendChild(c)):d=bx),g=cx.exec(f),b=!h&&[],g?[d.createElement(g[1])]:(g=ac([f],d,b),b&&b.length&&bq(b).remove(),bq.merge([],g.childNodes))},bq.fn.load=function(h,d,k){var g,c,j,b=this,f=h.indexOf(" ");return f>-1&&(g=aq(h.slice(f)),h=h.slice(0,f)),bL(d)?(k=d,d=void 0):d&&"object"==typeof d&&(c="POST"),b.length>0&&bq.ajax({url:h,type:c||"GET",dataType:"html",data:d}).done(function(a){j=arguments,b.html(g?bq("<div>").append(bq.parseHTML(a)).find(g):a)}).always(k&&function(i,a){b.each(function(){k.apply(this,j||[i.responseText,a,i])})}),this},bq.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(b,a){bq.fn[a]=function(c){return this.on(a,c)}}),bq.expr.pseudos.animated=function(a){return bq.grep(bq.timers,function(b){return a===b.elem}).length},bq.offset={setOffset:function(q,y,h){var b,k,g,w,z,x,j,v=bq.css(q,"position"),m=bq(q),d={};"static"===v&&(q.style.position="relative"),z=m.offset(),g=bq.css(q,"top"),x=bq.css(q,"left"),(j=("absolute"===v||"fixed"===v)&&(g+x).indexOf("auto")>-1)?(w=(b=m.position()).top,k=b.left):(w=parseFloat(g)||0,k=parseFloat(x)||0),bL(y)&&(y=y.call(q,h,bq.extend({},z))),null!=y.top&&(d.top=y.top-z.top+w),null!=y.left&&(d.left=y.left-z.left+k),"using" in y?y.using.call(q,d):m.css(d)}},bq.fn.extend({offset:function(c){if(arguments.length){return void 0===c?this:this.each(function(e){bq.offset.setOffset(this,c,e)})}var a,d,b=this[0];if(b){return b.getClientRects().length?(a=b.getBoundingClientRect(),d=b.ownerDocument.defaultView,{top:a.top+d.pageYOffset,left:a.left+d.pageXOffset}):{top:0,left:0}}},position:function(){if(this[0]){var d,b,f,c=this[0],a={top:0,left:0};if("fixed"===bq.css(c,"position")){b=c.getBoundingClientRect()}else{b=this.offset(),f=c.ownerDocument,d=c.offsetParent||f.documentElement;while(d&&(d===f.body||d===f.documentElement)&&"static"===bq.css(d,"position")){d=d.parentNode}d&&d!==c&&1===d.nodeType&&((a=bq(d).offset()).top+=bq.css(d,"borderTopWidth",!0),a.left+=bq.css(d,"borderLeftWidth",!0))}return{top:b.top-a.top-bq.css(c,"marginTop",!0),left:b.left-a.left-bq.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===bq.css(a,"position")){a=a.offsetParent}return a||ci})}}),bq.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,a){var c="pageYOffset"===a;bq.fn[b]=function(d){return bm(this,function(h,g,f){var j;if(bn(h)?j=h:9===h.nodeType&&(j=h.defaultView),void 0===f){return j?j[a]:h[g]}j?j.scrollTo(c?j.pageXOffset:f,c?f:j.pageYOffset):h[g]=f},b,d,arguments.length)}}),bq.each(["top","left"],function(b,a){bq.cssHooks[a]=ag(bK.pixelPosition,function(c,d){if(d){return d=aj(c,a),bu.test(d)?bq(c).position()[a]+"px":d}})}),bq.each({Height:"height",Width:"width"},function(b,a){bq.each({padding:"inner"+b,content:a,"":"outer"+b},function(d,c){bq.fn[c]=function(f,h){var e=arguments.length&&(d||"boolean"!=typeof f),g=d||(!0===f||!0===h?"margin":"border");return bm(this,function(k,m,j){var l;return bn(k)?0===c.indexOf("outer")?k["inner"+b]:k.document.documentElement["client"+b]:9===k.nodeType?(l=k.documentElement,Math.max(k.body["scroll"+b],l["scroll"+b],k.body["offset"+b],l["offset"+b],l["client"+b])):void 0===j?bq.css(k,m,g):bq.style(k,m,j,g)},a,e?f:void 0,e)}})}),bq.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(b,a){bq.fn[a]=function(c,d){return arguments.length>0?this.on(a,null,c,d):this.trigger(a)}}),bq.fn.extend({hover:function(b,a){return this.mouseenter(b).mouseleave(a||b)}}),bq.fn.extend({bind:function(b,a,c){return this.on(b,null,a,c)},unbind:function(b,a){return this.off(b,null,a)},delegate:function(c,a,d,b){return this.on(a,c,d,b)},undelegate:function(b,a,c){return 1===arguments.length?this.off(b,"**"):this.off(a,b||"**",c)}}),bq.proxy=function(d,b){var f,c,a;if("string"==typeof b&&(f=d[b],b=d,d=f),bL(d)){return c=bB.call(arguments,2),a=function(){return d.apply(b||this,c.concat(bB.call(arguments)))},a.guid=d.guid=d.guid||bq.guid++,a}},bq.holdReady=function(a){a?bq.readyWait++:bq.ready(!0)},bq.isArray=Array.isArray,bq.parseJSON=JSON.parse,bq.nodeName=cd,bq.isFunction=bL,bq.isWindow=bn,bq.camelCase=cm,bq.type=bp,bq.now=Date.now,bq.isNumeric=function(b){var a=bq.type(b);return("number"===a||"string"===a)&&!isNaN(b-parseFloat(b))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return bq});var bz=bO.jQuery,bg=bO.$;return bq.noConflict=function(a){return bO.$===bq&&(bO.$=bg),a&&bO.jQuery===bq&&(bO.jQuery=bz),bq},bv||(bO.jQuery=bO.$=bq),bq});
+/*!
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+;if(typeof jQuery==="undefined"){throw new Error("Bootstrap's JavaScript requires jQuery")}+function(b){var a=b.fn.jquery.split(" ")[0].split(".");if((a[0]<2&&a[1]<9)||(a[0]==1&&a[1]==9&&a[2]<1)||(a[0]>3)){throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}}(jQuery);+function(b){function a(){var e=document.createElement("bootstrap");var d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in d){if(e.style[c]!==undefined){return{end:d[c]}}}return false}b.fn.emulateTransitionEnd=function(e){var d=false;var c=this;b(this).one("bsTransitionEnd",function(){d=true});var f=function(){if(!d){b(c).trigger(b.support.transition.end)}};setTimeout(f,e);return this};b(function(){b.support.transition=a();if(!b.support.transition){return}b.event.special.bsTransitionEnd={bindType:b.support.transition.end,delegateType:b.support.transition.end,handle:function(c){if(b(c.target).is(this)){return c.handleObj.handler.apply(this,arguments)}}}})}(jQuery);+function(e){var d='[data-dismiss="alert"]';var b=function(f){e(f).on("click",d,this.close)};b.VERSION="3.3.7";b.TRANSITION_DURATION=150;b.prototype.close=function(j){var i=e(this);var g=i.attr("data-target");if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}var h=e(g==="#"?[]:g);if(j){j.preventDefault()}if(!h.length){h=i.closest(".alert")}h.trigger(j=e.Event("close.bs.alert"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.detach().trigger("closed.bs.alert").remove()}e.support.transition&&h.hasClass("fade")?h.one("bsTransitionEnd",f).emulateTransitionEnd(b.TRANSITION_DURATION):f()};function c(f){return this.each(function(){var h=e(this);var g=h.data("bs.alert");if(!g){h.data("bs.alert",(g=new b(this)))}if(typeof f=="string"){g[f].call(h)}})}var a=e.fn.alert;e.fn.alert=c;e.fn.alert.Constructor=b;e.fn.alert.noConflict=function(){e.fn.alert=a;return this};e(document).on("click.bs.alert.data-api",d,b.prototype.close)}(jQuery);+function(d){var b=function(f,e){this.$element=d(f);this.options=d.extend({},b.DEFAULTS,e);this.isLoading=false};b.VERSION="3.3.7";b.DEFAULTS={loadingText:"loading..."};b.prototype.setState=function(g){var i="disabled";var e=this.$element;var h=e.is("input")?"val":"html";var f=e.data();g+="Text";if(f.resetText==null){e.data("resetText",e[h]())}setTimeout(d.proxy(function(){e[h](f[g]==null?this.options[g]:f[g]);if(g=="loadingText"){this.isLoading=true;e.addClass(i).attr(i,i).prop(i,true)}else{if(this.isLoading){this.isLoading=false;e.removeClass(i).removeAttr(i).prop(i,false)}}},this),0)};b.prototype.toggle=function(){var f=true;var e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var g=this.$element.find("input");if(g.prop("type")=="radio"){if(g.prop("checked")){f=false}e.find(".active").removeClass("active");this.$element.addClass("active")}else{if(g.prop("type")=="checkbox"){if((g.prop("checked"))!==this.$element.hasClass("active")){f=false}this.$element.toggleClass("active")}}g.prop("checked",this.$element.hasClass("active"));if(f){g.trigger("change")}}else{this.$element.attr("aria-pressed",!this.$element.hasClass("active"));this.$element.toggleClass("active")}};function c(e){return this.each(function(){var h=d(this);var g=h.data("bs.button");var f=typeof e=="object"&&e;if(!g){h.data("bs.button",(g=new b(this,f)))}if(e=="toggle"){g.toggle()}else{if(e){g.setState(e)}}})}var a=d.fn.button;d.fn.button=c;d.fn.button.Constructor=b;d.fn.button.noConflict=function(){d.fn.button=a;return this};d(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(g){var f=d(g.target).closest(".btn");c.call(f,"toggle");if(!(d(g.target).is('input[type="radio"], input[type="checkbox"]'))){g.preventDefault();if(f.is("input,button")){f.trigger("focus")}else{f.find("input:visible,button:visible").first().trigger("focus")}}}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(f){d(f.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(f.type))})}(jQuery);+function(c){var d=function(g,f){this.$element=c(g);this.$indicators=this.$element.find(".carousel-indicators");this.options=f;this.paused=null;this.sliding=null;this.interval=null;this.$active=null;this.$items=null;this.options.keyboard&&this.$element.on("keydown.bs.carousel",c.proxy(this.keydown,this));this.options.pause=="hover"&&!("ontouchstart" in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",c.proxy(this.pause,this)).on("mouseleave.bs.carousel",c.proxy(this.cycle,this))};d.VERSION="3.3.7";d.TRANSITION_DURATION=600;d.DEFAULTS={interval:5000,pause:"hover",wrap:true,keyboard:true};d.prototype.keydown=function(f){if(/input|textarea/i.test(f.target.tagName)){return}switch(f.which){case 37:this.prev();break;case 39:this.next();break;default:return}f.preventDefault()};d.prototype.cycle=function(f){f||(this.paused=false);this.interval&&clearInterval(this.interval);this.options.interval&&!this.paused&&(this.interval=setInterval(c.proxy(this.next,this),this.options.interval));return this};d.prototype.getItemIndex=function(f){this.$items=f.parent().children(".item");return this.$items.index(f||this.$active)};d.prototype.getItemForDirection=function(j,i){var f=this.getItemIndex(i);var g=(j=="prev"&&f===0)||(j=="next"&&f==(this.$items.length-1));if(g&&!this.options.wrap){return i}var k=j=="prev"?-1:1;var h=(f+k)%this.$items.length;return this.$items.eq(h)};d.prototype.to=function(h){var g=this;var f=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(h>(this.$items.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid.bs.carousel",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",this.$items.eq(h))};d.prototype.pause=function(f){f||(this.paused=true);if(this.$element.find(".next, .prev").length&&c.support.transition){this.$element.trigger(c.support.transition.end);this.cycle(true)}this.interval=clearInterval(this.interval);return this};d.prototype.next=function(){if(this.sliding){return}return this.slide("next")};d.prototype.prev=function(){if(this.sliding){return}return this.slide("prev")};d.prototype.slide=function(m,i){var p=this.$element.find(".item.active");var g=i||this.getItemForDirection(m,p);var k=this.interval;var n=m=="next"?"left":"right";var j=this;if(g.hasClass("active")){return(this.sliding=false)}var l=g[0];var f=c.Event("slide.bs.carousel",{relatedTarget:l,direction:n});this.$element.trigger(f);if(f.isDefaultPrevented()){return}this.sliding=true;k&&this.pause();if(this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=c(this.$indicators.children()[this.getItemIndex(g)]);h&&h.addClass("active")}var o=c.Event("slid.bs.carousel",{relatedTarget:l,direction:n});if(c.support.transition&&this.$element.hasClass("slide")){g.addClass(m);g[0].offsetWidth;p.addClass(n);g.addClass(n);p.one("bsTransitionEnd",function(){g.removeClass([m,n].join(" ")).addClass("active");p.removeClass(["active",n].join(" "));j.sliding=false;setTimeout(function(){j.$element.trigger(o)},0)}).emulateTransitionEnd(d.TRANSITION_DURATION)}else{p.removeClass("active");g.addClass("active");this.sliding=false;this.$element.trigger(o)}k&&this.cycle();return this};function b(f){return this.each(function(){var j=c(this);var i=j.data("bs.carousel");var g=c.extend({},d.DEFAULTS,j.data(),typeof f=="object"&&f);var h=typeof f=="string"?f:g.slide;if(!i){j.data("bs.carousel",(i=new d(this,g)))}if(typeof f=="number"){i.to(f)}else{if(h){i[h]()}else{if(g.interval){i.pause().cycle()}}}})}var a=c.fn.carousel;c.fn.carousel=b;c.fn.carousel.Constructor=d;c.fn.carousel.noConflict=function(){c.fn.carousel=a;return this};var e=function(k){var g;var j=c(this);var f=c(j.attr("data-target")||(g=j.attr("href"))&&g.replace(/.*(?=#[^\s]+$)/,""));if(!f.hasClass("carousel")){return}var h=c.extend({},f.data(),j.data());var i=j.attr("data-slide-to");if(i){h.interval=false}b.call(f,h);if(i){f.data("bs.carousel").to(i)}k.preventDefault()};c(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e);c(window).on("load",function(){c('[data-ride="carousel"]').each(function(){var f=c(this);b.call(f,f.data())})})}(jQuery);+function(d){var e=function(g,f){this.$element=d(g);this.options=d.extend({},e.DEFAULTS,f);this.$trigger=d('[data-toggle="collapse"][href="#'+g.id+'"],[data-toggle="collapse"][data-target="#'+g.id+'"]');this.transitioning=null;if(this.options.parent){this.$parent=this.getParent()}else{this.addAriaAndCollapsedClass(this.$element,this.$trigger)}if(this.options.toggle){this.toggle()}};e.VERSION="3.3.7";e.TRANSITION_DURATION=350;e.DEFAULTS={toggle:true};e.prototype.dimension=function(){var f=this.$element.hasClass("width");return f?"width":"height"};e.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in")){return}var h;var j=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(j&&j.length){h=j.data("bs.collapse");if(h&&h.transitioning){return}}var g=d.Event("show.bs.collapse");this.$element.trigger(g);if(g.isDefaultPrevented()){return}if(j&&j.length){b.call(j,"hide");h||j.data("bs.collapse",null)}var k=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[k](0).attr("aria-expanded",true);this.$trigger.removeClass("collapsed").attr("aria-expanded",true);this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[k]("");this.transitioning=0;this.$element.trigger("shown.bs.collapse")};if(!d.support.transition){return f.call(this)}var i=d.camelCase(["scroll",k].join("-"));this.$element.one("bsTransitionEnd",d.proxy(f,this)).emulateTransitionEnd(e.TRANSITION_DURATION)[k](this.$element[0][i])};e.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in")){return}var g=d.Event("hide.bs.collapse");this.$element.trigger(g);if(g.isDefaultPrevented()){return}var h=this.dimension();this.$element[h](this.$element[h]())[0].offsetHeight;this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",false);this.$trigger.addClass("collapsed").attr("aria-expanded",false);this.transitioning=1;var f=function(){this.transitioning=0;this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!d.support.transition){return f.call(this)}this.$element[h](0).one("bsTransitionEnd",d.proxy(f,this)).emulateTransitionEnd(e.TRANSITION_DURATION)};e.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};e.prototype.getParent=function(){return d(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(d.proxy(function(h,g){var f=d(g);this.addAriaAndCollapsedClass(c(f),f)},this)).end()};e.prototype.addAriaAndCollapsedClass=function(g,f){var h=g.hasClass("in");g.attr("aria-expanded",h);f.toggleClass("collapsed",!h).attr("aria-expanded",h)};function c(f){var g;var h=f.attr("data-target")||(g=f.attr("href"))&&g.replace(/.*(?=#[^\s]+$)/,"");return d(h)}function b(f){return this.each(function(){var i=d(this);var h=i.data("bs.collapse");var g=d.extend({},e.DEFAULTS,i.data(),typeof f=="object"&&f);if(!h&&g.toggle&&/show|hide/.test(f)){g.toggle=false}if(!h){i.data("bs.collapse",(h=new e(this,g)))}if(typeof f=="string"){h[f]()}})}var a=d.fn.collapse;d.fn.collapse=b;d.fn.collapse.Constructor=e;d.fn.collapse.noConflict=function(){d.fn.collapse=a;return this};d(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(j){var i=d(this);if(!i.attr("data-target")){j.preventDefault()}var f=c(i);var h=f.data("bs.collapse");var g=h?"toggle":i.data();b.call(f,g)})}(jQuery);+function(h){var e=".dropdown-backdrop";var b='[data-toggle="dropdown"]';var a=function(i){h(i).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.7";function f(k){var i=k.attr("data-target");if(!i){i=k.attr("href");i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,"")}var j=i&&h(i);return j&&j.length?j:k.parent()}function d(i){if(i&&i.which===3){return}h(e).remove();h(b).each(function(){var l=h(this);var k=f(l);var j={relatedTarget:this};if(!k.hasClass("open")){return}if(i&&i.type=="click"&&/input|textarea/i.test(i.target.tagName)&&h.contains(k[0],i.target)){return}k.trigger(i=h.Event("hide.bs.dropdown",j));if(i.isDefaultPrevented()){return}l.attr("aria-expanded","false");k.removeClass("open").trigger(h.Event("hidden.bs.dropdown",j))})}a.prototype.toggle=function(m){var l=h(this);if(l.is(".disabled, :disabled")){return}var k=f(l);var j=k.hasClass("open");d();if(!j){if("ontouchstart" in document.documentElement&&!k.closest(".navbar-nav").length){h(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(h(this)).on("click",d)}var i={relatedTarget:this};k.trigger(m=h.Event("show.bs.dropdown",i));if(m.isDefaultPrevented()){return}l.trigger("focus").attr("aria-expanded","true");k.toggleClass("open").trigger(h.Event("shown.bs.dropdown",i))}return false};a.prototype.keydown=function(m){if(!/(38|40|27|32)/.test(m.which)||/input|textarea/i.test(m.target.tagName)){return}var l=h(this);m.preventDefault();m.stopPropagation();if(l.is(".disabled, :disabled")){return}var k=f(l);var j=k.hasClass("open");if(!j&&m.which!=27||j&&m.which==27){if(m.which==27){k.find(b).trigger("focus")}return l.trigger("click")}var n=" li:not(.disabled):visible a";var o=k.find(".dropdown-menu"+n);if(!o.length){return}var i=o.index(m.target);if(m.which==38&&i>0){i--}if(m.which==40&&i<o.length-1){i++}if(!~i){i=0}o.eq(i).trigger("focus")};function g(i){return this.each(function(){var k=h(this);var j=k.data("bs.dropdown");if(!j){k.data("bs.dropdown",(j=new a(this)))}if(typeof i=="string"){j[i].call(k)}})}var c=h.fn.dropdown;h.fn.dropdown=g;h.fn.dropdown.Constructor=a;h.fn.dropdown.noConflict=function(){h.fn.dropdown=c;return this};h(document).on("click.bs.dropdown.data-api",d).on("click.bs.dropdown.data-api",".dropdown form",function(i){i.stopPropagation()}).on("click.bs.dropdown.data-api",b,a.prototype.toggle).on("keydown.bs.dropdown.data-api",b,a.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",a.prototype.keydown)}(jQuery);+function(d){var b=function(f,e){this.options=e;this.$body=d(document.body);this.$element=d(f);this.$dialog=this.$element.find(".modal-dialog");this.$backdrop=null;this.isShown=null;this.originalBodyPad=null;this.scrollbarWidth=0;this.ignoreBackdropClick=false;if(this.options.remote){this.$element.find(".modal-content").load(this.options.remote,d.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))}};b.VERSION="3.3.7";b.TRANSITION_DURATION=300;b.BACKDROP_TRANSITION_DURATION=150;b.DEFAULTS={backdrop:true,keyboard:true,show:true};b.prototype.toggle=function(e){return this.isShown?this.hide():this.show(e)};b.prototype.show=function(h){var f=this;var g=d.Event("show.bs.modal",{relatedTarget:h});this.$element.trigger(g);if(this.isShown||g.isDefaultPrevented()){return}this.isShown=true;this.checkScrollbar();this.setScrollbar();this.$body.addClass("modal-open");this.escape();this.resize();this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',d.proxy(this.hide,this));this.$dialog.on("mousedown.dismiss.bs.modal",function(){f.$element.one("mouseup.dismiss.bs.modal",function(i){if(d(i.target).is(f.$element)){f.ignoreBackdropClick=true}})});this.backdrop(function(){var j=d.support.transition&&f.$element.hasClass("fade");if(!f.$element.parent().length){f.$element.appendTo(f.$body)}f.$element.show().scrollTop(0);f.adjustDialog();if(j){f.$element[0].offsetWidth}f.$element.addClass("in");f.enforceFocus();var i=d.Event("shown.bs.modal",{relatedTarget:h});j?f.$dialog.one("bsTransitionEnd",function(){f.$element.trigger("focus").trigger(i)}).emulateTransitionEnd(b.TRANSITION_DURATION):f.$element.trigger("focus").trigger(i)})};b.prototype.hide=function(f){if(f){f.preventDefault()}f=d.Event("hide.bs.modal");this.$element.trigger(f);if(!this.isShown||f.isDefaultPrevented()){return}this.isShown=false;this.escape();this.resize();d(document).off("focusin.bs.modal");this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal");this.$dialog.off("mousedown.dismiss.bs.modal");d.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",d.proxy(this.hideModal,this)).emulateTransitionEnd(b.TRANSITION_DURATION):this.hideModal()};b.prototype.enforceFocus=function(){d(document).off("focusin.bs.modal").on("focusin.bs.modal",d.proxy(function(f){if(document!==f.target&&this.$element[0]!==f.target&&!this.$element.has(f.target).length){this.$element.trigger("focus")}},this))};b.prototype.escape=function(){if(this.isShown&&this.options.keyboard){this.$element.on("keydown.dismiss.bs.modal",d.proxy(function(f){f.which==27&&this.hide()},this))}else{if(!this.isShown){this.$element.off("keydown.dismiss.bs.modal")}}};b.prototype.resize=function(){if(this.isShown){d(window).on("resize.bs.modal",d.proxy(this.handleUpdate,this))}else{d(window).off("resize.bs.modal")}};b.prototype.hideModal=function(){var e=this;this.$element.hide();this.backdrop(function(){e.$body.removeClass("modal-open");e.resetAdjustments();e.resetScrollbar();e.$element.trigger("hidden.bs.modal")})};b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove();this.$backdrop=null};b.prototype.backdrop=function(i){var h=this;var f=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=d.support.transition&&f;this.$backdrop=d(document.createElement("div")).addClass("modal-backdrop "+f).appendTo(this.$body);this.$element.on("click.dismiss.bs.modal",d.proxy(function(j){if(this.ignoreBackdropClick){this.ignoreBackdropClick=false;return}if(j.target!==j.currentTarget){return}this.options.backdrop=="static"?this.$element[0].focus():this.hide()},this));if(e){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");if(!i){return}e?this.$backdrop.one("bsTransitionEnd",i).emulateTransitionEnd(b.BACKDROP_TRANSITION_DURATION):i()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){h.removeBackdrop();i&&i()};d.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(b.BACKDROP_TRANSITION_DURATION):g()}else{if(i){i()}}}};b.prototype.handleUpdate=function(){this.adjustDialog()};b.prototype.adjustDialog=function(){var e=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})};b.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})};b.prototype.checkScrollbar=function(){var f=window.innerWidth;if(!f){var e=document.documentElement.getBoundingClientRect();f=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<f;this.scrollbarWidth=this.measureScrollbar()};b.prototype.setScrollbar=function(){var e=parseInt((this.$body.css("padding-right")||0),10);this.originalBodyPad=document.body.style.paddingRight||"";if(this.bodyIsOverflowing){this.$body.css("padding-right",e+this.scrollbarWidth)}};b.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)};b.prototype.measureScrollbar=function(){var f=document.createElement("div");f.className="modal-scrollbar-measure";this.$body.append(f);var e=f.offsetWidth-f.clientWidth;this.$body[0].removeChild(f);return e};function c(e,f){return this.each(function(){var i=d(this);var h=i.data("bs.modal");var g=d.extend({},b.DEFAULTS,i.data(),typeof e=="object"&&e);if(!h){i.data("bs.modal",(h=new b(this,g)))}if(typeof e=="string"){h[e](f)}else{if(g.show){h.show(f)}}})}var a=d.fn.modal;d.fn.modal=c;d.fn.modal.Constructor=b;d.fn.modal.noConflict=function(){d.fn.modal=a;return this};d(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(j){var i=d(this);var g=i.attr("href");var f=d(i.attr("data-target")||(g&&g.replace(/.*(?=#[^\s]+$)/,"")));var h=f.data("bs.modal")?"toggle":d.extend({remote:!/#/.test(g)&&g},f.data(),i.data());if(i.is("a")){j.preventDefault()}f.one("show.bs.modal",function(e){if(e.isDefaultPrevented()){return}f.one("hidden.bs.modal",function(){i.is(":visible")&&i.trigger("focus")})});c.call(f,h,this)})}(jQuery);+function(d){var c=function(f,e){this.type=null;this.options=null;this.enabled=null;this.timeout=null;this.hoverState=null;this.$element=null;this.inState=null;this.init("tooltip",f,e)};c.VERSION="3.3.7";c.TRANSITION_DURATION=150;c.DEFAULTS={animation:true,placement:"top",selector:false,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:false,container:false,viewport:{selector:"body",padding:0}};c.prototype.init=function(l,j,g){this.enabled=true;this.type=l;this.$element=d(j);this.options=this.getOptions(g);this.$viewport=this.options.viewport&&d(d.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):(this.options.viewport.selector||this.options.viewport));this.inState={click:false,hover:false,focus:false};if(this.$element[0] instanceof document.constructor&&!this.options.selector){throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!")}var k=this.options.trigger.split(" ");for(var h=k.length;h--;){var f=k[h];if(f=="click"){this.$element.on("click."+this.type,this.options.selector,d.proxy(this.toggle,this))}else{if(f!="manual"){var m=f=="hover"?"mouseenter":"focusin";var e=f=="hover"?"mouseleave":"focusout";this.$element.on(m+"."+this.type,this.options.selector,d.proxy(this.enter,this));this.$element.on(e+"."+this.type,this.options.selector,d.proxy(this.leave,this))}}}this.options.selector?(this._options=d.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()};c.prototype.getDefaults=function(){return c.DEFAULTS};c.prototype.getOptions=function(e){e=d.extend({},this.getDefaults(),this.$element.data(),e);if(e.delay&&typeof e.delay=="number"){e.delay={show:e.delay,hide:e.delay}}return e};c.prototype.getDelegateOptions=function(){var e={};var f=this.getDefaults();this._options&&d.each(this._options,function(g,h){if(f[g]!=h){e[g]=h}});return e};c.prototype.enter=function(f){var e=f instanceof this.constructor?f:d(f.currentTarget).data("bs."+this.type);if(!e){e=new this.constructor(f.currentTarget,this.getDelegateOptions());d(f.currentTarget).data("bs."+this.type,e)}if(f instanceof d.Event){e.inState[f.type=="focusin"?"focus":"hover"]=true}if(e.tip().hasClass("in")||e.hoverState=="in"){e.hoverState="in";return}clearTimeout(e.timeout);e.hoverState="in";if(!e.options.delay||!e.options.delay.show){return e.show()}e.timeout=setTimeout(function(){if(e.hoverState=="in"){e.show()}},e.options.delay.show)};c.prototype.isInStateTrue=function(){for(var e in this.inState){if(this.inState[e]){return true}}return false};c.prototype.leave=function(f){var e=f instanceof this.constructor?f:d(f.currentTarget).data("bs."+this.type);if(!e){e=new this.constructor(f.currentTarget,this.getDelegateOptions());d(f.currentTarget).data("bs."+this.type,e)}if(f instanceof d.Event){e.inState[f.type=="focusout"?"focus":"hover"]=false}if(e.isInStateTrue()){return}clearTimeout(e.timeout);e.hoverState="out";if(!e.options.delay||!e.options.delay.hide){return e.hide()}e.timeout=setTimeout(function(){if(e.hoverState=="out"){e.hide()}},e.options.delay.hide)};c.prototype.show=function(){var o=d.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(o);var p=d.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(o.isDefaultPrevented()||!p){return}var n=this;var l=this.tip();var h=this.getUID(this.type);this.setContent();l.attr("id",h);this.$element.attr("aria-describedby",h);if(this.options.animation){l.addClass("fade")}var k=typeof this.options.placement=="function"?this.options.placement.call(this,l[0],this.$element[0]):this.options.placement;var s=/\s?auto?\s?/i;var t=s.test(k);if(t){k=k.replace(s,"")||"top"}l.detach().css({top:0,left:0,display:"block"}).addClass(k).data("bs."+this.type,this);this.options.container?l.appendTo(this.options.container):l.insertAfter(this.$element);this.$element.trigger("inserted.bs."+this.type);var q=this.getPosition();var f=l[0].offsetWidth;var m=l[0].offsetHeight;if(t){var j=k;var r=this.getPosition(this.$viewport);k=k=="bottom"&&q.bottom+m>r.bottom?"top":k=="top"&&q.top-m<r.top?"bottom":k=="right"&&q.right+f>r.width?"left":k=="left"&&q.left-f<r.left?"right":k;l.removeClass(j).addClass(k)}var i=this.getCalculatedOffset(k,q,f,m);this.applyPlacement(i,k);var g=function(){var e=n.hoverState;n.$element.trigger("shown.bs."+n.type);n.hoverState=null;if(e=="out"){n.leave(n)}};d.support.transition&&this.$tip.hasClass("fade")?l.one("bsTransitionEnd",g).emulateTransitionEnd(c.TRANSITION_DURATION):g()}};c.prototype.applyPlacement=function(j,k){var l=this.tip();var g=l[0].offsetWidth;var q=l[0].offsetHeight;var f=parseInt(l.css("margin-top"),10);var i=parseInt(l.css("margin-left"),10);if(isNaN(f)){f=0}if(isNaN(i)){i=0}j.top+=f;j.left+=i;d.offset.setOffset(l[0],d.extend({using:function(r){l.css({top:Math.round(r.top),left:Math.round(r.left)})}},j),0);l.addClass("in");var e=l[0].offsetWidth;var m=l[0].offsetHeight;if(k=="top"&&m!=q){j.top=j.top+q-m}var p=this.getViewportAdjustedDelta(k,j,e,m);if(p.left){j.left+=p.left}else{j.top+=p.top}var n=/top|bottom/.test(k);var h=n?p.left*2-g+e:p.top*2-q+m;var o=n?"offsetWidth":"offsetHeight";l.offset(j);this.replaceArrow(h,l[0][o],n)};c.prototype.replaceArrow=function(g,e,f){this.arrow().css(f?"left":"top",50*(1-g/e)+"%").css(f?"top":"left","")};c.prototype.setContent=function(){var f=this.tip();var e=this.getTitle();f.find(".tooltip-inner")[this.options.html?"html":"text"](e);f.removeClass("fade in top bottom left right")};c.prototype.hide=function(j){var g=this;var i=d(this.$tip);var h=d.Event("hide.bs."+this.type);function f(){if(g.hoverState!="in"){i.detach()}if(g.$element){g.$element.removeAttr("aria-describedby").trigger("hidden.bs."+g.type)}j&&j()}this.$element.trigger(h);if(h.isDefaultPrevented()){return}i.removeClass("in");d.support.transition&&i.hasClass("fade")?i.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f();this.hoverState=null;return this};c.prototype.fixTitle=function(){var e=this.$element;if(e.attr("title")||typeof e.attr("data-original-title")!="string"){e.attr("data-original-title",e.attr("title")||"").attr("title","")}};c.prototype.hasContent=function(){return this.getTitle()};c.prototype.getPosition=function(g){g=g||this.$element;var i=g[0];var f=i.tagName=="BODY";var h=i.getBoundingClientRect();if(h.width==null){h=d.extend({},h,{width:h.right-h.left,height:h.bottom-h.top})}var k=window.SVGElement&&i instanceof window.SVGElement;var l=f?{top:0,left:0}:(k?null:g.offset());var e={scroll:f?document.documentElement.scrollTop||document.body.scrollTop:g.scrollTop()};var j=f?{width:d(window).width(),height:d(window).height()}:null;return d.extend({},h,e,j,l)};c.prototype.getCalculatedOffset=function(e,h,f,g){return e=="bottom"?{top:h.top+h.height,left:h.left+h.width/2-f/2}:e=="top"?{top:h.top-g,left:h.left+h.width/2-f/2}:e=="left"?{top:h.top+h.height/2-g/2,left:h.left-f}:{top:h.top+h.height/2-g/2,left:h.left+h.width}};c.prototype.getViewportAdjustedDelta=function(h,k,e,j){var m={top:0,left:0};if(!this.$viewport){return m}var g=this.options.viewport&&this.options.viewport.padding||0;var l=this.getPosition(this.$viewport);if(/right|left/.test(h)){var n=k.top-g-l.scroll;var i=k.top+g-l.scroll+j;if(n<l.top){m.top=l.top-n}else{if(i>l.top+l.height){m.top=l.top+l.height-i}}}else{var o=k.left-g;var f=k.left+g+e;if(o<l.left){m.left=l.left-o}else{if(f>l.right){m.left=l.left+l.width-f}}}return m};c.prototype.getTitle=function(){var g;var e=this.$element;var f=this.options;g=e.attr("data-original-title")||(typeof f.title=="function"?f.title.call(e[0]):f.title);return g};c.prototype.getUID=function(e){do{e+=~~(Math.random()*1000000)}while(document.getElementById(e));return e};c.prototype.tip=function(){if(!this.$tip){this.$tip=d(this.options.template);if(this.$tip.length!=1){throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!")}}return this.$tip};c.prototype.arrow=function(){return(this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow"))};c.prototype.enable=function(){this.enabled=true};c.prototype.disable=function(){this.enabled=false};c.prototype.toggleEnabled=function(){this.enabled=!this.enabled};c.prototype.toggle=function(g){var f=this;if(g){f=d(g.currentTarget).data("bs."+this.type);if(!f){f=new this.constructor(g.currentTarget,this.getDelegateOptions());d(g.currentTarget).data("bs."+this.type,f)}}if(g){f.inState.click=!f.inState.click;if(f.isInStateTrue()){f.enter(f)}else{f.leave(f)}}else{f.tip().hasClass("in")?f.leave(f):f.enter(f)}};c.prototype.destroy=function(){var e=this;clearTimeout(this.timeout);this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type);if(e.$tip){e.$tip.detach()}e.$tip=null;e.$arrow=null;e.$viewport=null;e.$element=null})};function b(e){return this.each(function(){var h=d(this);var g=h.data("bs.tooltip");var f=typeof e=="object"&&e;if(!g&&/destroy|hide/.test(e)){return}if(!g){h.data("bs.tooltip",(g=new c(this,f)))}if(typeof e=="string"){g[e]()}})}var a=d.fn.tooltip;d.fn.tooltip=b;d.fn.tooltip.Constructor=c;d.fn.tooltip.noConflict=function(){d.fn.tooltip=a;return this}}(jQuery);+function(d){var c=function(f,e){this.init("popover",f,e)};if(!d.fn.tooltip){throw new Error("Popover requires tooltip.js")}c.VERSION="3.3.7";c.DEFAULTS=d.extend({},d.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'});c.prototype=d.extend({},d.fn.tooltip.Constructor.prototype);c.prototype.constructor=c;c.prototype.getDefaults=function(){return c.DEFAULTS};c.prototype.setContent=function(){var g=this.tip();var f=this.getTitle();var e=this.getContent();g.find(".popover-title")[this.options.html?"html":"text"](f);g.find(".popover-content").children().detach().end()[this.options.html?(typeof e=="string"?"html":"append"):"text"](e);g.removeClass("fade top bottom left right in");if(!g.find(".popover-title").html()){g.find(".popover-title").hide()}};c.prototype.hasContent=function(){return this.getTitle()||this.getContent()};c.prototype.getContent=function(){var e=this.$element;var f=this.options;return e.attr("data-content")||(typeof f.content=="function"?f.content.call(e[0]):f.content)};c.prototype.arrow=function(){return(this.$arrow=this.$arrow||this.tip().find(".arrow"))};function b(e){return this.each(function(){var h=d(this);var g=h.data("bs.popover");var f=typeof e=="object"&&e;if(!g&&/destroy|hide/.test(e)){return}if(!g){h.data("bs.popover",(g=new c(this,f)))}if(typeof e=="string"){g[e]()}})}var a=d.fn.popover;d.fn.popover=b;d.fn.popover.Constructor=c;d.fn.popover.noConflict=function(){d.fn.popover=a;return this}}(jQuery);+function(d){function c(f,e){this.$body=d(document.body);this.$scrollElement=d(f).is(document.body)?d(window):d(f);this.options=d.extend({},c.DEFAULTS,e);this.selector=(this.options.target||"")+" .nav li > a";this.offsets=[];this.targets=[];this.activeTarget=null;this.scrollHeight=0;this.$scrollElement.on("scroll.bs.scrollspy",d.proxy(this.process,this));this.refresh();this.process()}c.VERSION="3.3.7";c.DEFAULTS={offset:10};c.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)};c.prototype.refresh=function(){var g=this;var e="offset";var f=0;this.offsets=[];this.targets=[];this.scrollHeight=this.getScrollHeight();if(!d.isWindow(this.$scrollElement[0])){e="position";f=this.$scrollElement.scrollTop()}this.$body.find(this.selector).map(function(){var i=d(this);var h=i.data("target")||i.attr("href");var j=/^#./.test(h)&&d(h);return(j&&j.length&&j.is(":visible")&&[[j[e]().top+f,h]])||null}).sort(function(i,h){return i[0]-h[0]}).each(function(){g.offsets.push(this[0]);g.targets.push(this[1])})};c.prototype.process=function(){var k=this.$scrollElement.scrollTop()+this.options.offset;var g=this.getScrollHeight();var j=this.options.offset+g-this.$scrollElement.height();var h=this.offsets;var e=this.targets;var l=this.activeTarget;var f;if(this.scrollHeight!=g){this.refresh()}if(k>=j){return l!=(f=e[e.length-1])&&this.activate(f)}if(l&&k<h[0]){this.activeTarget=null;return this.clear()}for(f=h.length;f--;){l!=e[f]&&k>=h[f]&&(h[f+1]===undefined||k<h[f+1])&&this.activate(e[f])}};c.prototype.activate=function(g){this.activeTarget=g;this.clear();var e=this.selector+'[data-target="'+g+'"],'+this.selector+'[href="'+g+'"]';var f=d(e).parents("li").addClass("active");if(f.parent(".dropdown-menu").length){f=f.closest("li.dropdown").addClass("active")}f.trigger("activate.bs.scrollspy")};c.prototype.clear=function(){d(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};function b(e){return this.each(function(){var h=d(this);var g=h.data("bs.scrollspy");var f=typeof e=="object"&&e;if(!g){h.data("bs.scrollspy",(g=new c(this,f)))}if(typeof e=="string"){g[e]()}})}var a=d.fn.scrollspy;d.fn.scrollspy=b;d.fn.scrollspy.Constructor=c;d.fn.scrollspy.noConflict=function(){d.fn.scrollspy=a;return this};d(window).on("load.bs.scrollspy.data-api",function(){d('[data-spy="scroll"]').each(function(){var e=d(this);b.call(e,e.data())})})}(jQuery);+function(d){var b=function(f){this.element=d(f)};b.VERSION="3.3.7";b.TRANSITION_DURATION=150;b.prototype.show=function(){var l=this.element;var h=l.closest("ul:not(.dropdown-menu)");var g=l.data("target");if(!g){g=l.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}if(l.parent("li").hasClass("active")){return}var j=h.find(".active:last a");var k=d.Event("hide.bs.tab",{relatedTarget:l[0]});var i=d.Event("show.bs.tab",{relatedTarget:j[0]});j.trigger(k);l.trigger(i);if(i.isDefaultPrevented()||k.isDefaultPrevented()){return}var f=d(g);this.activate(l.closest("li"),h);this.activate(f,f.parent(),function(){j.trigger({type:"hidden.bs.tab",relatedTarget:l[0]});l.trigger({type:"shown.bs.tab",relatedTarget:j[0]})})};b.prototype.activate=function(h,g,k){var f=g.find("> .active");var j=k&&d.support.transition&&(f.length&&f.hasClass("fade")||!!g.find("> .fade").length);function i(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",false);h.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",true);if(j){h[0].offsetWidth;h.addClass("in")}else{h.removeClass("fade")}if(h.parent(".dropdown-menu").length){h.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",true)}k&&k()}f.length&&j?f.one("bsTransitionEnd",i).emulateTransitionEnd(b.TRANSITION_DURATION):i();f.removeClass("in")};function c(f){return this.each(function(){var h=d(this);var g=h.data("bs.tab");if(!g){h.data("bs.tab",(g=new b(this)))}if(typeof f=="string"){g[f]()}})}var a=d.fn.tab;d.fn.tab=c;d.fn.tab.Constructor=b;d.fn.tab.noConflict=function(){d.fn.tab=a;return this};var e=function(f){f.preventDefault();c.call(d(this),"show")};d(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery);+function(d){var c=function(f,e){this.options=d.extend({},c.DEFAULTS,e);this.$target=d(this.options.target).on("scroll.bs.affix.data-api",d.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",d.proxy(this.checkPositionWithEventLoop,this));this.$element=d(f);this.affixed=null;this.unpin=null;this.pinnedOffset=null;this.checkPosition()};c.VERSION="3.3.7";c.RESET="affix affix-top affix-bottom";c.DEFAULTS={offset:0,target:window};c.prototype.getState=function(n,m,f,g){var e=this.$target.scrollTop();var i=this.$element.offset();var j=this.$target.height();if(f!=null&&this.affixed=="top"){return e<f?"top":false}if(this.affixed=="bottom"){if(f!=null){return(e+this.unpin<=i.top)?false:"bottom"}return(e+j<=n-g)?false:"bottom"}var h=this.affixed==null;var l=h?e:i.top;var k=h?j:m;if(f!=null&&e<=f){return"top"}if(g!=null&&(l+k>=n-g)){return"bottom"}return false};c.prototype.getPinnedOffset=function(){if(this.pinnedOffset){return this.pinnedOffset}this.$element.removeClass(c.RESET).addClass("affix");var f=this.$target.scrollTop();var e=this.$element.offset();return(this.pinnedOffset=e.top-f)};c.prototype.checkPositionWithEventLoop=function(){setTimeout(d.proxy(this.checkPosition,this),1)};c.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var f=this.$element.height();var l=this.options.offset;var j=l.top;var h=l.bottom;var i=Math.max(d(document).height(),d(document.body).height());if(typeof l!="object"){h=j=l}if(typeof j=="function"){j=l.top(this.$element)}if(typeof h=="function"){h=l.bottom(this.$element)}var g=this.getState(i,f,j,h);if(this.affixed!=g){if(this.unpin!=null){this.$element.css("top","")}var m="affix"+(g?"-"+g:"");var k=d.Event(m+".bs.affix");this.$element.trigger(k);if(k.isDefaultPrevented()){return}this.affixed=g;this.unpin=g=="bottom"?this.getPinnedOffset():null;this.$element.removeClass(c.RESET).addClass(m).trigger(m.replace("affix","affixed")+".bs.affix")}if(g=="bottom"){this.$element.offset({top:i-f-h})}};function b(e){return this.each(function(){var h=d(this);var g=h.data("bs.affix");var f=typeof e=="object"&&e;if(!g){h.data("bs.affix",(g=new c(this,f)))}if(typeof e=="string"){g[e]()}})}var a=d.fn.affix;d.fn.affix=b;d.fn.affix.Constructor=c;d.fn.affix.noConflict=function(){d.fn.affix=a;return this};d(window).on("load",function(){d('[data-spy="affix"]').each(function(){var f=d(this);var e=f.data();e.offset=e.offset||{};if(e.offsetBottom!=null){e.offset.bottom=e.offsetBottom}if(e.offsetTop!=null){e.offset.top=e.offsetTop}b.call(f,e)})})}(jQuery);jQuery(document).ready(function(a){a('a[rel="tooltip"]').tooltip()});let systemInitiatedDark=window.matchMedia("(prefers-color-scheme: dark)");let theme=sessionStorage.getItem("theme");if(systemInitiatedDark.matches){document.getElementById("theme-switch").checked=true}else{document.getElementById("theme-switch").checked=false;document.getElementById("theme-toggle").innerHTML="Dark Mode"}function prefersColorTest(a){if(a.matches){document.documentElement.setAttribute("data-theme","dark");document.getElementById("theme-switch").checked=true;sessionStorage.setItem("theme","")}else{document.documentElement.setAttribute("data-theme","light");document.getElementById("theme-switch").checked=false;sessionStorage.setItem("theme","")}}systemInitiatedDark.addListener(prefersColorTest);function modeSwitcher(){let theme=sessionStorage.getItem("theme");if(theme==="dark"){document.documentElement.setAttribute("data-theme","light");sessionStorage.setItem("theme","light");document.getElementById("theme-switch").checked=false}else{if(theme==="light"){document.documentElement.setAttribute("data-theme","dark");sessionStorage.setItem("theme","dark");document.getElementById("theme-switch").checked=true}else{if(systemInitiatedDark.matches){document.documentElement.setAttribute("data-theme","light");sessionStorage.setItem("theme","light");document.getElementById("theme-switch").checked=false}else{document.documentElement.setAttribute("data-theme","dark");document.getElementById("theme-switch").checked=true;sessionStorage.setItem("theme","dark")}}}}if(theme==="dark"){document.documentElement.setAttribute("data-theme","dark");sessionStorage.setItem("theme","dark");document.getElementById("theme-switch").checked=true}else{if(theme==="light"){document.documentElement.setAttribute("data-theme","light");sessionStorage.setItem("theme","light");document.getElementById("theme-switch").checked=false}};
\ No newline at end of file
diff --git a/output/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js.gz b/output/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js.gz
new file mode 100644
index 0000000..261e7f6
--- /dev/null
+++ b/output/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js.gz
Binary files differ
diff --git a/output/assets/global-a40781fe261dc321dedf73b165dc6dff.css b/output/assets/global-a40781fe261dc321dedf73b165dc6dff.css
new file mode 100644
index 0000000..4b1126a
--- /dev/null
+++ b/output/assets/global-a40781fe261dc321dedf73b165dc6dff.css
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,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-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;-webkit-box-shadow:none !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('/assets/fonts/glyphicons-halflings-regular.eot');src:url('/assets/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('/assets/fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('/assets/fonts/glyphicons-halflings-regular.woff') format('woff'),url('/assets/fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('/assets/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:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur: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"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-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:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;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}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;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:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}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:10px;margin-bottom:10px}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:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.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:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}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;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}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:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.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,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;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:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-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-right:15px;padding-left: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,.col-xs-12{float:left}.col-xs-12{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,.col-sm-12{float:left}.col-sm-12{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,.col-md-12{float:left}.col-md-12{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,.col-lg-12{float:left}.col-lg-12{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}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.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 #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.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 #ddd}.table .table{background-color:#fff}.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 #ddd}.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 #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}.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,.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,.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,.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,.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,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.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{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;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:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-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,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;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-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;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,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.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,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@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 .form-control-static{display:inline-block}.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{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media(min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media(min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:normal;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.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 .15s linear;-o-transition:opacity .15s linear;transition:opacity .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-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.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;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media(min-width:1200px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.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+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.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-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-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:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.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,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.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-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.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-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;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-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,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:3px}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,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:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.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,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-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{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom: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:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.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:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.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{margin-bottom:5px;text-align:center}.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:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media(min-width:1200px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media(min-width:1200px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse.in{overflow-y:auto}@media(min-width:1200px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;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-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media(max-device-width:1200px) 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:1200px){.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:1200px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:1200px){.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;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:1200px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.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:1200px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:1199px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;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:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:1200px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media(min-width:1200px){.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 .form-control-static{display:inline-block}.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:1199px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media(min-width:1200px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:1200px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media(min-width:1200px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.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{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-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{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.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-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.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:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.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:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.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:3px}.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:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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:3px}.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:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.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{border-bottom:0}.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,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.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,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height: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:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:transparent;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(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:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.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,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media(min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:normal;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:normal;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-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}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.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;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.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;margin-top:-10px}.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;font-family:serif;line-height:1}.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%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(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:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.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-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left: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}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.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{display:none !important}@media(max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}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 !important}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 !important}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 !important}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}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.hll{background-color:#ffc}.c{color:#888}.err{color:red;background-color:#faa}.k{color:#080;font-weight:bold}.o{color:#333}.cm{color:#888}.cp{color:#579}.c1{color:#888}.cs{color:#c00;font-weight:bold}.gd{color:#a00000}.ge{font-style:italic}.gr{color:red}.gh{color:navy;font-weight:bold}.gi{color:#00a000}.go{color:#888}.gp{color:#c65d09;font-weight:bold}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#04d}.kc{color:#080;font-weight:bold}.kd{color:#080;font-weight:bold}.kn{color:#080;font-weight:bold}.kp{color:#038;font-weight:bold}.kr{color:#080;font-weight:bold}.kt{color:#339;font-weight:bold}.m{color:#60e;font-weight:bold}.s{background-color:#fff0f0}.na{color:#00c}.nb{color:#007020}.nc{color:#b06;font-weight:bold}.no{color:#036;font-weight:bold}.nd{color:#555;font-weight:bold}.ni{color:#800;font-weight:bold}.ne{color:red;font-weight:bold}.nf{color:#06b;font-weight:bold}.nl{color:#970;font-weight:bold}.nn{color:#0e84b5;font-weight:bold}.nt{color:#070}.nv{color:#963}.ow{color:#000;font-weight:bold}.w{color:#bbb}.mf{color:#60e;font-weight:bold}.mh{color:#058;font-weight:bold}.mi{color:#00d;font-weight:bold}.mo{color:#40e;font-weight:bold}.sb{background-color:#fff0f0}.sc{color:#04d}.sd{color:#d42}.s2{background-color:#fff0f0}.se{color:#666;font-weight:bold;background-color:#fff0f0}.sh{background-color:#fff0f0}.si{background-color:#eee}.sx{color:#d20;background-color:#fff0f0}.sr{color:#000;background-color:#fff0ff}.s1{background-color:#fff0f0}.ss{color:#a60}.bp{color:#007020}.vc{color:#369}.vg{color:#d70;font-weight:bold}.vi{color:#33b}.il{color:#00d;font-weight:bold}.material-switch{margin-top:20px}.material-switch>input[type="checkbox"]{display:none}.material-switch>label{cursor:pointer;height:0;position:relative;width:40px}.material-switch>label::before{background:#000;box-shadow:inset 0 0 10px rgba(0,0,0,0.5);border-radius:8px;content:'';height:16px;margin-top:-8px;position:absolute;opacity:.3;transition:all .4s ease-in-out;width:40px}.material-switch>label::after{background:#fff;border-radius:16px;box-shadow:0 0 5px rgba(0,0,0,0.3);content:'';height:24px;left:-4px;margin-top:-8px;position:absolute;top:-4px;transition:all .3s ease-in-out;width:24px}.material-switch>input[type="checkbox"]:checked+label::before{background:inherit;opacity:.5}.material-switch>input[type="checkbox"]:checked+label::after{background:inherit;left:20px}html,html[data-theme="light"]{--main-navbar-color:#eee;--main-navbar-li-active-text-color:#989082;--main-navbar-li-active-text-color:#818181;--main-navbar-li-active-background-color:#dfdfdf;--main-background-color:#fff;--main-text-color:#000;--main-border-color:#ccc;--main-code-text-color:#c7254e;--main-code-background-color:#f9f2f4;--main-syntax-highlight-background-color:#fff0f0;--main-carousel-color:#333;--main-post-date-author:rgba(77,77,77,0.75);--main-navbar-text-color:#000;--main-a-text-color:#428bca;--main-a-hover-focus-color:#2a6496;--main-hr-border-color:#eee}html[data-theme="dark"]{--main-navbar-color:#222426;--main-navbar-li-active-text-color:#989082;--main-navbar-li-active-background-color:#2a2e2f;--main-background-color:#181a1b;--main-text-color:#c8c3bc;--main-border-color:#3e4446;--main-code-text-color:#dd496e;--main-code-background-color:#2b141a;--main-syntax-highlight-background-color:#3c0000;--main-carousel-color:#fff;--main-post-date-author:rgba(183,177,168,0.75);--main-navbar-text-color:#fff;--main-a-text-color:#7db2db;--main-a-hover-focus-color:#7db2db;--main-hr-border-color:#35393b}@media(prefers-color-scheme:dark){html,html[data-theme="dark"]{--main-navbar-color:#222426;--main-navbar-li-active-text-color:#989082;--main-navbar-li-active-background-color:#2a2e2f;--main-background-color:#181a1b;--main-text-color:#c8c3bc;--main-border-color:#3e4446;--main-code-text-color:#dd496e;--main-code-background-color:#2b141a;--main-syntax-highlight-background-color:#3c0000;--main-carousel-color:#fff;--main-post-date-author:rgba(183,177,168,0.75);--main-navbar-text-color:#fff;--main-a-text-color:#7db2db;--main-a-hover-focus-color:#7db2db;--main-hr-border-color:#35393b}html[data-theme="light"]{--main-navbar-color:#eee;--main-navbar-li-active-text-color:#989082;--main-navbar-li-active-text-color:#818181;--main-navbar-li-active-background-color:#dfdfdf;--main-text-color:#000;--main-background-color:#fff;--main-border-color:#ccc;--main-code-text-color:#c7254e;--main-code-background-color:#f9f2f4;--main-syntax-highlight-background-color:#fff0f0;--main-carousel-color:#333;--main-post-date-author:rgba(77,77,77,0.75);--main-navbar-text-color:#000;--main-a-text-color:#428bca;--main-a-hover-focus-color:#2a6496;--main-hr-border-color:#eee}}html,body{height:100%;background-color:var(--main-background-color);color:var(--main-text-color)}body{font-family:'Open Sans',sans-serif;font-size:1.6em;padding-top:80px}h2{margin-top:30px}h2:before{display:block;content:" ";margin-top:-90px;height:90px;visibility:hidden}.anchor{padding-top:80px;margin-top:-70px}a[name]{color:#000;text-decoration:none}.navbar-brand{font-weight:600;padding-top:18px !important;padding-bottom:0 !important}.navbar-logo{padding-top:1px !important;margin-top:-8px;margin-right:10px}nav.navbar{border-top:#0c60ff 10px solid;border-bottom:0}.navbar-fixed-top{height:73px}.navbar-nav>li>a{padding-top:21px !important;padding-bottom:21px !important;font-size:1.1em}.navbar-inverse{background-color:var(--main-navbar-color)}ul.nav.navbar-nav li a{color:#818181}.navbar-inverse .navbar-nav>li>a:hover{background-color:#3ca8ff}.navbar-brand{color:var(--main-navbar-text-color) !important}.navbar-nav>li.active>a{color:var(--main-navbar-li-active-text-color) !important;background-color:var(--main-navbar-li-active-background-color) !important}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle{background-color:#818181;border:0}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#3ca8ff;border:0}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{background-color:var(--main-navbar-color)}img.provider-logo{margin-left:10px;margin-right:10px}h2.tagline{font-size:1.5em;margin-bottom:20px}div.row-2{margin-top:20px}div.row-3,div.row-4{margin-top:20px}div.whos-using{margin-bottom:15px}img.logo{margin-left:5px;margin-right:5px}@media(min-width:992px){#carousel-provider-logos{height:85px}}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:inline}.carousel-control.left,.carousel-control.right{background:none !important}.carousel-control{color:var(--main-carousel-color) !important}div.sidebar-nav{position:fixed;margin-top:20px}@media(max-width:1200px){div.sidebar-nav{position:relative}}.sidebar-nav>ul>li>a{padding:5px 10px}.sidebar-nav>ul>li.active>a{color:black;text-decoration:none;cursor:default}.sidebar-nav>ul>li.active>a:hover{color:black;text-decoration:none;cursor:default}div.member{margin-bottom:20px}img.gravatar{float:left;display:block;margin-right:10px}div.page-content{font-size:12pt}img.inline{padding-top:10px;padding-bottom:10px}img.center{margin:0 auto}div.post h2{margin-bottom:10px}div.post pre{margin-top:15px;margin-bottom:15px}pre{background-color:var(--main-navbar-color);color:var(--main-text-color)}.popover{background-color:var(--main-background-color);border:1px solid var(--main-border-color)}pre{border:1px solid var(--main-border-color)}span.post-date-author{font-style:italic;color:var(--main-post-date-author)}div.post-content{margin-top:20px}div.post-meta{margin-top:30px}div.imginline{text-align:center;margin-top:30px;margin-bottom:30px}img.inline{border:none !important;margin:0 auto 8px}p.img-caption{margin-top:10px}code{font-family:'Inconsolata',monospace;font-size:11pt !important}code span[id]{cursor:pointer}code span[id]:hover{background-color:white}footer{margin:20px 0;font-size:.9em}div.footer-text{margin-top:10px}hr{border-color:var(--main-hr-border-color)}a{color:var(--main-a-text-color)}a:hover,a:focus{color:var(--main-a-hover-focus-color)}.s{background-color:var(--main-syntax-highlight-background-color)}code{color:var(--main-code-text-color);background-color:var(--main-code-background-color)}span.theme-switch{color:var(--main-navbar-li-active-text-color);margin-left:7px;font-size:.85em}
\ No newline at end of file
diff --git a/output/assets/global-a40781fe261dc321dedf73b165dc6dff.css.gz b/output/assets/global-a40781fe261dc321dedf73b165dc6dff.css.gz
new file mode 100644
index 0000000..9caea1d
--- /dev/null
+++ b/output/assets/global-a40781fe261dc321dedf73b165dc6dff.css.gz
Binary files differ
diff --git a/output/assets/index-07ca3b25bd5d68863b7f9117519bf3b5.js b/output/assets/index-07ca3b25bd5d68863b7f9117519bf3b5.js
new file mode 100644
index 0000000..72c109f
--- /dev/null
+++ b/output/assets/index-07ca3b25bd5d68863b7f9117519bf3b5.js
@@ -0,0 +1 @@
+var LINE_TOOLTIPS={"compute-1":{"1":"Import libcloud type we need","2":['Import "get_driver" method for obtaining a reference to the driver '," class."],"4":["Obtain a reference to the provider driver class. <br /><br />Keep in ","mind that Libcloud supports more than 30 providers total and ","Provider.RACKSPACE constant can be replaced with a provider constant ","of any other of the supported providers."],"5":["Instantiate the driver with your provider credentials. ",'Rackspace driver supports multiple regions so in this case, "region" ',"argument is used as well."],"7":["List all the available sizes. <br /><br />In Libcloud, size ","represents a server hardware configuration. Usually this is the amount ","of the available RAM, bandwidth, CPU speed and disk size. Most of ","the drivers also expose an hourly price (in US dollars) for the Node ","of this size."],"8":["List all the available images.<br /><br />In Libcloud, image ","represents an operating system image."],"10":"Select a size to use.","11":"Select an image to use.","13":"Create a node using a previously selected size and image.","14":"Print representation of the created Node object."},"dns-1":{"1":"Import libcloud types we need","2":['Import "get_driver" method for obtaining a reference to the driver '," class."],"4":"Obtain a reference to the provider driver class.","5":"Instantiate the driver with your provider credentials.","7":"List all the available zones (domains) on this account.","8":"Select the zone to operate on.","10":['Create a new "A" record with a name of "www" and a value of ','"127.0.0.1" under the selected zone.'],"11":"Print representation of the created Record object."}};jQuery(document).ready(function(a){a(".example code div[class]").on("mouseover click",function(b){var f,c,e,d,h,j,i,g;d=a(this).closest("div.example");h=d.attr("data-example");f=LINE_TOOLTIPS[h];if(!f){return}g=a(this).attr("title")!==undefined;c=a(this).attr("class").replace("line-","");i=f[c];if(!i){return}if(g){if(b.type==="click"){a(this).popover("toggle")}return}if(i instanceof Array){e=i.join("")}else{e=i}j={content:e,placement:"auto right",html:true,trigger:"hover",container:"body"};a(this).popover(j);a(this).popover("show")})});
\ No newline at end of file
diff --git a/output/assets/index-07ca3b25bd5d68863b7f9117519bf3b5.js.gz b/output/assets/index-07ca3b25bd5d68863b7f9117519bf3b5.js.gz
new file mode 100644
index 0000000..8e7669b
--- /dev/null
+++ b/output/assets/index-07ca3b25bd5d68863b7f9117519bf3b5.js.gz
Binary files differ
diff --git a/output/assets/index-156d95901f0d35c8301796194b43a931.js b/output/assets/index-156d95901f0d35c8301796194b43a931.js
deleted file mode 100644
index 82e8385..0000000
--- a/output/assets/index-156d95901f0d35c8301796194b43a931.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/* global jQuery: true */
-
-var LINE_TOOLTIPS = {
-  'compute-1': {
-    '1': 'Import libcloud type we need',
-    '2': [
-      'Import "get_driver" method for obtaining a reference to the driver ',
-      ' class.'
-    ],
-
-    '4': [
-      'Obtain a reference to the provider driver class. <br /><br />Keep in ',
-      'mind that Libcloud supports more than 30 providers total and ',
-      'Provider.RACKSPACE constant can be replaced with a provider constant ',
-      'of any other of the supported providers.'
-    ],
-    '5': [
-      'Instantiate the driver with your provider credentials. ',
-      'Rackspace driver supports multiple regions so in this case, "region" ',
-      'argument is used as well.'
-    ],
-
-    '7': [
-      'List all the available sizes. <br /><br />In Libcloud, size ',
-      'represents a server hardware configuration. Usually this is the amount ',
-      'of the available RAM, bandwidth, CPU speed and disk size. Most of ',
-      'the drivers also expose an hourly price (in US dollars) for the Node ',
-      'of this size.'
-    ],
-    '8': [
-      'List all the available images.<br /><br />In Libcloud, image ',
-      'represents an operating system image.'
-    ],
-
-    '10': 'Select a size to use.',
-    '11': 'Select an image to use.',
-
-    '13': 'Create a node using a previously selected size and image.',
-    '14': 'Print representation of the created Node object.'
-  },
-  'dns-1': {
-    '1': 'Import libcloud types we need',
-    '2': [
-      'Import "get_driver" method for obtaining a reference to the driver ',
-      ' class.'
-    ],
-
-    '4': 'Obtain a reference to the provider driver class.',
-    '5': 'Instantiate the driver with your provider credentials.',
-
-    '7': 'List all the available zones (domains) on this account.',
-    '8': 'Select the zone to operate on.',
-
-    '10': [
-      'Create a new "A" record with a name of "www" and a value of ',
-      '"127.0.0.1" under the selected zone.'
-    ],
-    '11': 'Print representation of the created Record object.'
-  }
-};
-
-jQuery(document).ready(function($) {
-  $('.example code div[class]').on('mouseover click', function(event) {
-    var tooltips, lineNumber, content, parentElem, key, options, tooltip,
-        hasTooltip;
-
-    parentElem = $(this).closest('div.example');
-    key = parentElem.attr('data-example');
-
-    tooltips = LINE_TOOLTIPS[key];
-
-    if (!tooltips) {
-      return;
-    }
-
-    hasTooltip = $(this).attr('title') !== undefined;
-    lineNumber = $(this).attr('class').replace('line-', '');
-    tooltip = tooltips[lineNumber];
-
-    if (!tooltip) {
-      // No tool tip for this line.
-      return;
-    }
-
-    if (hasTooltip) {
-      // Popover for this line has already been created.
-      if (event.type === 'click') {
-        $(this).popover('toggle');
-      }
-
-      return;
-    }
-
-
-    if (tooltip instanceof Array) {
-      content = tooltip.join('');
-    }
-    else {
-      content = tooltip;
-    }
-
-    options = {
-      'content': content,
-      'placement': 'auto right',
-      'html': true,
-      'trigger': 'hover',
-      'container': 'body'
-    };
-
-    $(this).popover(options);
-    $(this).popover('show');
-  });
-});
diff --git a/output/assets/index-156d95901f0d35c8301796194b43a931.js.gz b/output/assets/index-156d95901f0d35c8301796194b43a931.js.gz
deleted file mode 100644
index 41adc5d..0000000
--- a/output/assets/index-156d95901f0d35c8301796194b43a931.js.gz
+++ /dev/null
Binary files differ
diff --git a/output/blog/2010/02/02/libcloud-0-2-0-released.html b/output/blog/2010/02/02/libcloud-0-2-0-released.html
index d778c8d..d991efd 100644
--- a/output/blog/2010/02/02/libcloud-0-2-0-released.html
+++ b/output/blog/2010/02/02/libcloud-0-2-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2010/02/02/libcloud-0-2-0-released.html" property="og:url">
     
     
-      <meta content="2010-02-02T00:00:00+01:00" property="article:published_time">
+      <meta content="2010-02-02T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -135,11 +142,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -150,7 +153,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -160,7 +163,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2010/05/11/libcloud-0-3-1-released.html b/output/blog/2010/05/11/libcloud-0-3-1-released.html
index 9188ce8..c51e1c6 100644
--- a/output/blog/2010/05/11/libcloud-0-3-1-released.html
+++ b/output/blog/2010/05/11/libcloud-0-3-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2010/05/11/libcloud-0-3-1-released.html" property="og:url">
     
     
-      <meta content="2010-05-11T00:00:00+02:00" property="article:published_time">
+      <meta content="2010-05-11T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -158,11 +165,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -173,7 +176,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -183,7 +186,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2010/10/12/libcloud-0-4-0-released.html b/output/blog/2010/10/12/libcloud-0-4-0-released.html
index 7ff52ac..5b5efc0 100644
--- a/output/blog/2010/10/12/libcloud-0-4-0-released.html
+++ b/output/blog/2010/10/12/libcloud-0-4-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2010/10/12/libcloud-0-4-0-released.html" property="og:url">
     
     
-      <meta content="2010-10-12T00:00:00+02:00" property="article:published_time">
+      <meta content="2010-10-12T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -160,11 +167,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -175,7 +178,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -185,7 +188,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/01/17/libcloud-0-4-2-released.html b/output/blog/2011/01/17/libcloud-0-4-2-released.html
index 402295a..4fb201a 100644
--- a/output/blog/2011/01/17/libcloud-0-4-2-released.html
+++ b/output/blog/2011/01/17/libcloud-0-4-2-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/01/17/libcloud-0-4-2-released.html" property="og:url">
     
     
-      <meta content="2011-01-17T00:00:00+01:00" property="article:published_time">
+      <meta content="2011-01-17T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -157,11 +164,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -172,7 +175,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -182,7 +185,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/02/15/libcloud-sprint-will-be-held-at-pycon-2011.html b/output/blog/2011/02/15/libcloud-sprint-will-be-held-at-pycon-2011.html
index 70fbd11..7186f72 100644
--- a/output/blog/2011/02/15/libcloud-sprint-will-be-held-at-pycon-2011.html
+++ b/output/blog/2011/02/15/libcloud-sprint-will-be-held-at-pycon-2011.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/02/15/libcloud-sprint-will-be-held-at-pycon-2011.html" property="og:url">
     
     
-      <meta content="2011-02-15T00:00:00+01:00" property="article:published_time">
+      <meta content="2011-02-15T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -139,11 +146,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -154,7 +157,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -164,7 +167,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/05/25/libcloud-0-5-0-released.html b/output/blog/2011/05/25/libcloud-0-5-0-released.html
index 36ad84d..e84cc87 100644
--- a/output/blog/2011/05/25/libcloud-0-5-0-released.html
+++ b/output/blog/2011/05/25/libcloud-0-5-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/05/25/libcloud-0-5-0-released.html" property="og:url">
     
     
-      <meta content="2011-05-25T00:00:00+02:00" property="article:published_time">
+      <meta content="2011-05-25T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -220,11 +227,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -235,7 +238,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -245,7 +248,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/06/06/libcloud-sprint-will-be-held-at-europython-2011.html b/output/blog/2011/06/06/libcloud-sprint-will-be-held-at-europython-2011.html
index 95d9543..cb4b256 100644
--- a/output/blog/2011/06/06/libcloud-sprint-will-be-held-at-europython-2011.html
+++ b/output/blog/2011/06/06/libcloud-sprint-will-be-held-at-europython-2011.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/06/06/libcloud-sprint-will-be-held-at-europython-2011.html" property="og:url">
     
     
-      <meta content="2011-06-06T00:00:00+02:00" property="article:published_time">
+      <meta content="2011-06-06T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -139,11 +146,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -154,7 +157,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -164,7 +167,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/07/04/libcloud-0-5-2-released.html b/output/blog/2011/07/04/libcloud-0-5-2-released.html
index 49fd5cf..88c36a7 100644
--- a/output/blog/2011/07/04/libcloud-0-5-2-released.html
+++ b/output/blog/2011/07/04/libcloud-0-5-2-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/07/04/libcloud-0-5-2-released.html" property="og:url">
     
     
-      <meta content="2011-07-04T00:00:00+02:00" property="article:published_time">
+      <meta content="2011-07-04T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -187,11 +194,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -202,7 +205,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -212,7 +215,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/09/01/libcloud-on-floss-weekly.html b/output/blog/2011/09/01/libcloud-on-floss-weekly.html
index ac8297d..7e08d0f 100644
--- a/output/blog/2011/09/01/libcloud-on-floss-weekly.html
+++ b/output/blog/2011/09/01/libcloud-on-floss-weekly.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/09/01/libcloud-on-floss-weekly.html" property="og:url">
     
     
-      <meta content="2011-09-01T00:00:00+02:00" property="article:published_time">
+      <meta content="2011-09-01T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -140,11 +147,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -155,7 +158,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -165,7 +168,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/10/19/libcloud-0-6-0-beta1-released.html b/output/blog/2011/10/19/libcloud-0-6-0-beta1-released.html
index 61f31bd..28e5e4d 100644
--- a/output/blog/2011/10/19/libcloud-0-6-0-beta1-released.html
+++ b/output/blog/2011/10/19/libcloud-0-6-0-beta1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/10/19/libcloud-0-6-0-beta1-released.html" property="og:url">
     
     
-      <meta content="2011-10-19T00:00:00+02:00" property="article:published_time">
+      <meta content="2011-10-19T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -241,11 +248,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -256,7 +259,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -266,7 +269,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/11/09/libcloud-0-6-1-released.html b/output/blog/2011/11/09/libcloud-0-6-1-released.html
index 4a467e9..871a5e5 100644
--- a/output/blog/2011/11/09/libcloud-0-6-1-released.html
+++ b/output/blog/2011/11/09/libcloud-0-6-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/11/09/libcloud-0-6-1-released.html" property="og:url">
     
     
-      <meta content="2011-11-09T00:00:00+01:00" property="article:published_time">
+      <meta content="2011-11-09T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -241,11 +248,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -256,7 +259,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -266,7 +269,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/11/17/libcloud-0-6-2-released.html b/output/blog/2011/11/17/libcloud-0-6-2-released.html
index 8a1c63f..a472d6b 100644
--- a/output/blog/2011/11/17/libcloud-0-6-2-released.html
+++ b/output/blog/2011/11/17/libcloud-0-6-2-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/11/17/libcloud-0-6-2-released.html" property="og:url">
     
     
-      <meta content="2011-11-17T00:00:00+01:00" property="article:published_time">
+      <meta content="2011-11-17T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -204,11 +211,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -219,7 +222,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -229,7 +232,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html b/output/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html
index df4a291..435ef58 100644
--- a/output/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html
+++ b/output/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html" property="og:url">
     
     
-      <meta content="2011-11-22T00:00:00+01:00" property="article:published_time">
+      <meta content="2011-11-22T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -149,11 +156,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -164,7 +167,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -174,7 +177,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/12/09/libcloud-0-7-1-released.html b/output/blog/2011/12/09/libcloud-0-7-1-released.html
index a538c67..56235e8 100644
--- a/output/blog/2011/12/09/libcloud-0-7-1-released.html
+++ b/output/blog/2011/12/09/libcloud-0-7-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/12/09/libcloud-0-7-1-released.html" property="og:url">
     
     
-      <meta content="2011-12-09T00:00:00+01:00" property="article:published_time">
+      <meta content="2011-12-09T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -205,11 +212,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -220,7 +223,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -230,7 +233,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html b/output/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html
index 6e05550..d16d616 100644
--- a/output/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html
+++ b/output/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html" property="og:url">
     
     
-      <meta content="2011-12-30T00:00:00+01:00" property="article:published_time">
+      <meta content="2011-12-30T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -54,7 +54,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -95,6 +95,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -156,11 +163,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -171,7 +174,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -181,7 +184,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/02/08/libcloud-0-8-0-released.html b/output/blog/2012/02/08/libcloud-0-8-0-released.html
index bb52a3a..d7ad7d1 100644
--- a/output/blog/2012/02/08/libcloud-0-8-0-released.html
+++ b/output/blog/2012/02/08/libcloud-0-8-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/02/08/libcloud-0-8-0-released.html" property="og:url">
     
     
-      <meta content="2012-02-08T00:00:00+01:00" property="article:published_time">
+      <meta content="2012-02-08T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -201,11 +208,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -216,7 +219,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -226,7 +229,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/04/01/libcloud-0-9-1-released.html b/output/blog/2012/04/01/libcloud-0-9-1-released.html
index 3e19a56..a6218f8 100644
--- a/output/blog/2012/04/01/libcloud-0-9-1-released.html
+++ b/output/blog/2012/04/01/libcloud-0-9-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/04/01/libcloud-0-9-1-released.html" property="og:url">
     
     
-      <meta content="2012-04-01T00:00:00+02:00" property="article:published_time">
+      <meta content="2012-04-01T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -206,11 +213,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -221,7 +224,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -231,7 +234,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/05/05/website-and-code-svn-repository-moved.html b/output/blog/2012/05/05/website-and-code-svn-repository-moved.html
index b06dee0..02001b2 100644
--- a/output/blog/2012/05/05/website-and-code-svn-repository-moved.html
+++ b/output/blog/2012/05/05/website-and-code-svn-repository-moved.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/05/05/website-and-code-svn-repository-moved.html" property="og:url">
     
     
-      <meta content="2012-05-05T00:00:00+02:00" property="article:published_time">
+      <meta content="2012-05-05T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -179,11 +186,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -194,7 +197,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -204,7 +207,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/05/24/libcloud-0-10-1-released.html b/output/blog/2012/05/24/libcloud-0-10-1-released.html
index 08b0ab1..dc7e494 100644
--- a/output/blog/2012/05/24/libcloud-0-10-1-released.html
+++ b/output/blog/2012/05/24/libcloud-0-10-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/05/24/libcloud-0-10-1-released.html" property="og:url">
     
     
-      <meta content="2012-05-24T00:00:00+02:00" property="article:published_time">
+      <meta content="2012-05-24T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -223,11 +230,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -238,7 +241,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -248,7 +251,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/07/30/libcloud-0-11-0-released.html b/output/blog/2012/07/30/libcloud-0-11-0-released.html
index 0605b3e..31d94ee 100644
--- a/output/blog/2012/07/30/libcloud-0-11-0-released.html
+++ b/output/blog/2012/07/30/libcloud-0-11-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/07/30/libcloud-0-11-0-released.html" property="og:url">
     
     
-      <meta content="2012-07-30T00:00:00+02:00" property="article:published_time">
+      <meta content="2012-07-30T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -217,11 +224,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -232,7 +235,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -242,7 +245,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/08/22/libcloud-0-11-1-released.html b/output/blog/2012/08/22/libcloud-0-11-1-released.html
index d7a5b42..5ebd8f9 100644
--- a/output/blog/2012/08/22/libcloud-0-11-1-released.html
+++ b/output/blog/2012/08/22/libcloud-0-11-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/08/22/libcloud-0-11-1-released.html" property="og:url">
     
     
-      <meta content="2012-08-22T00:00:00+02:00" property="article:published_time">
+      <meta content="2012-08-22T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -190,11 +197,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -205,7 +208,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -215,7 +218,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/09/25/libcloud-0-11-3-released.html b/output/blog/2012/09/25/libcloud-0-11-3-released.html
index 074e13e..834b142 100644
--- a/output/blog/2012/09/25/libcloud-0-11-3-released.html
+++ b/output/blog/2012/09/25/libcloud-0-11-3-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/09/25/libcloud-0-11-3-released.html" property="og:url">
     
     
-      <meta content="2012-09-25T00:00:00+02:00" property="article:published_time">
+      <meta content="2012-09-25T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -204,11 +211,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -219,7 +222,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -229,7 +232,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html b/output/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html
index c8b9c8c..58dd6dc 100644
--- a/output/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html
+++ b/output/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html" property="og:url">
     
     
-      <meta content="2012-11-16T00:00:00+01:00" property="article:published_time">
+      <meta content="2012-11-16T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -149,11 +156,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -164,7 +167,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -174,7 +177,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/11/19/libcloud-0-11-4-released.html b/output/blog/2012/11/19/libcloud-0-11-4-released.html
index d82eea2..d0ba940 100644
--- a/output/blog/2012/11/19/libcloud-0-11-4-released.html
+++ b/output/blog/2012/11/19/libcloud-0-11-4-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/11/19/libcloud-0-11-4-released.html" property="og:url">
     
     
-      <meta content="2012-11-19T00:00:00+01:00" property="article:published_time">
+      <meta content="2012-11-19T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -206,11 +213,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -221,7 +224,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -231,7 +234,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html b/output/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html
index 491947d..1e1df48 100644
--- a/output/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html
+++ b/output/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html" property="og:url">
     
     
-      <meta content="2012-12-26T00:00:00+01:00" property="article:published_time">
+      <meta content="2012-12-26T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -54,7 +54,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -95,6 +95,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -180,11 +187,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -195,7 +198,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -205,7 +208,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2012/12/28/new-committer-mahendra-maheshwara-joins-our-team.html b/output/blog/2012/12/28/new-committer-mahendra-maheshwara-joins-our-team.html
index ac799a5..060762d 100644
--- a/output/blog/2012/12/28/new-committer-mahendra-maheshwara-joins-our-team.html
+++ b/output/blog/2012/12/28/new-committer-mahendra-maheshwara-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2012/12/28/new-committer-mahendra-maheshwara-joins-our-team.html" property="og:url">
     
     
-      <meta content="2012-12-28T00:00:00+01:00" property="article:published_time">
+      <meta content="2012-12-28T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -150,11 +157,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -165,7 +168,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -175,7 +178,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/02/18/libcloud-0-12-1-released.html b/output/blog/2013/02/18/libcloud-0-12-1-released.html
index 953a69b..777c4c0 100644
--- a/output/blog/2013/02/18/libcloud-0-12-1-released.html
+++ b/output/blog/2013/02/18/libcloud-0-12-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/02/18/libcloud-0-12-1-released.html" property="og:url">
     
     
-      <meta content="2013-02-18T00:00:00+01:00" property="article:published_time">
+      <meta content="2013-02-18T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -213,11 +220,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -228,7 +231,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -238,7 +241,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/03/21/libcloud-0-12-3-released.html b/output/blog/2013/03/21/libcloud-0-12-3-released.html
index 9c0efaf..4487e0c 100644
--- a/output/blog/2013/03/21/libcloud-0-12-3-released.html
+++ b/output/blog/2013/03/21/libcloud-0-12-3-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/03/21/libcloud-0-12-3-released.html" property="og:url">
     
     
-      <meta content="2013-03-21T00:00:00+01:00" property="article:published_time">
+      <meta content="2013-03-21T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -192,11 +199,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -207,7 +210,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -217,7 +220,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/07/01/libcloud-0-13-0-released.html b/output/blog/2013/07/01/libcloud-0-13-0-released.html
index 3f0cdb1..adaa4ec 100644
--- a/output/blog/2013/07/01/libcloud-0-13-0-released.html
+++ b/output/blog/2013/07/01/libcloud-0-13-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/07/01/libcloud-0-13-0-released.html" property="og:url">
     
     
-      <meta content="2013-07-01T00:00:00+02:00" property="article:published_time">
+      <meta content="2013-07-01T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -188,11 +195,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -203,7 +206,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -213,7 +216,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/08/04/new-committer-john-carr-joins-our-team.html b/output/blog/2013/08/04/new-committer-john-carr-joins-our-team.html
index f8b00ae..57fc1b0 100644
--- a/output/blog/2013/08/04/new-committer-john-carr-joins-our-team.html
+++ b/output/blog/2013/08/04/new-committer-john-carr-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/08/04/new-committer-john-carr-joins-our-team.html" property="og:url">
     
     
-      <meta content="2013-08-04T00:00:00+02:00" property="article:published_time">
+      <meta content="2013-08-04T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -145,11 +152,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -160,7 +163,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -170,7 +173,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/09/05/libcloud-0-13-1-released.html b/output/blog/2013/09/05/libcloud-0-13-1-released.html
index 3618fb5..fb8f234 100644
--- a/output/blog/2013/09/05/libcloud-0-13-1-released.html
+++ b/output/blog/2013/09/05/libcloud-0-13-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/09/05/libcloud-0-13-1-released.html" property="og:url">
     
     
-      <meta content="2013-09-05T00:00:00+02:00" property="article:published_time">
+      <meta content="2013-09-05T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -198,11 +205,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -213,7 +216,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -223,7 +226,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/11/21/libcloud-0-14-0-beta3-released.html b/output/blog/2013/11/21/libcloud-0-14-0-beta3-released.html
index 0ffa6c3..1ea8927 100644
--- a/output/blog/2013/11/21/libcloud-0-14-0-beta3-released.html
+++ b/output/blog/2013/11/21/libcloud-0-14-0-beta3-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/11/21/libcloud-0-14-0-beta3-released.html" property="og:url">
     
     
-      <meta content="2013-11-21T00:00:00+01:00" property="article:published_time">
+      <meta content="2013-11-21T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -232,11 +239,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -247,7 +250,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -257,7 +260,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html b/output/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html
index 2f1a2ba..37e2638 100644
--- a/output/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html
+++ b/output/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html" property="og:url">
     
     
-      <meta content="2013-11-25T00:00:00+01:00" property="article:published_time">
+      <meta content="2013-11-25T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -143,11 +150,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -158,7 +161,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -168,7 +171,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html b/output/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html
index 543a711..9ca7de3 100644
--- a/output/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html
+++ b/output/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html" property="og:url">
     
     
-      <meta content="2013-12-28T00:00:00+01:00" property="article:published_time">
+      <meta content="2013-12-28T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -54,7 +54,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -95,6 +95,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -197,11 +204,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -212,7 +215,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -222,7 +225,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/12/29/new-low-volume-announce-mailing-list.html b/output/blog/2013/12/29/new-low-volume-announce-mailing-list.html
index 1458550..6fbf844 100644
--- a/output/blog/2013/12/29/new-low-volume-announce-mailing-list.html
+++ b/output/blog/2013/12/29/new-low-volume-announce-mailing-list.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/12/29/new-low-volume-announce-mailing-list.html" property="og:url">
     
     
-      <meta content="2013-12-29T00:00:00+01:00" property="article:published_time">
+      <meta content="2013-12-29T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -54,7 +54,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -95,6 +95,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -144,11 +151,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -159,7 +162,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -169,7 +172,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2013/12/31/libcloud-0-13-3-released.html b/output/blog/2013/12/31/libcloud-0-13-3-released.html
index 90c632c..2b13dce 100644
--- a/output/blog/2013/12/31/libcloud-0-13-3-released.html
+++ b/output/blog/2013/12/31/libcloud-0-13-3-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2013/12/31/libcloud-0-13-3-released.html" property="og:url">
     
     
-      <meta content="2013-12-31T00:00:00+01:00" property="article:published_time">
+      <meta content="2013-12-31T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -200,11 +207,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -215,7 +218,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -225,7 +228,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html b/output/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html
index 2a53f12..0e02775 100644
--- a/output/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html
+++ b/output/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html" property="og:url">
     
     
-      <meta content="2014-01-01T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-01-01T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -157,11 +164,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -172,7 +175,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -182,7 +185,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/01/22/libcloud-0-14-0-released.html b/output/blog/2014/01/22/libcloud-0-14-0-released.html
index dc9c3ec..8c3af7e 100644
--- a/output/blog/2014/01/22/libcloud-0-14-0-released.html
+++ b/output/blog/2014/01/22/libcloud-0-14-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/01/22/libcloud-0-14-0-released.html" property="og:url">
     
     
-      <meta content="2014-01-22T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-01-22T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -206,11 +213,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -221,7 +224,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -231,7 +234,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/01/23/welcome-to-the-new-website.html b/output/blog/2014/01/23/welcome-to-the-new-website.html
index 2c9561a..a48d968 100644
--- a/output/blog/2014/01/23/welcome-to-the-new-website.html
+++ b/output/blog/2014/01/23/welcome-to-the-new-website.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/01/23/welcome-to-the-new-website.html" property="og:url">
     
     
-      <meta content="2014-01-23T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-01-23T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -245,11 +252,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -260,7 +263,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -270,7 +273,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html b/output/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html
index 725bdf4..b009b09 100644
--- a/output/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html
+++ b/output/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html" property="og:url">
     
     
-      <meta content="2014-01-27T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-01-27T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -153,11 +160,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -168,7 +171,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -178,7 +181,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/04/libcloud-0-14-and-rackspace.html b/output/blog/2014/02/04/libcloud-0-14-and-rackspace.html
index 04ea7ec..3d848aa 100644
--- a/output/blog/2014/02/04/libcloud-0-14-and-rackspace.html
+++ b/output/blog/2014/02/04/libcloud-0-14-and-rackspace.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/04/libcloud-0-14-and-rackspace.html" property="og:url">
     
     
-      <meta content="2014-02-04T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-04T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -151,11 +158,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -166,7 +169,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -176,7 +179,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html b/output/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html
index 5204d22..bf9f936 100644
--- a/output/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html
+++ b/output/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html" property="og:url">
     
     
-      <meta content="2014-02-07T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-07T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -140,11 +147,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -155,7 +158,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -165,7 +168,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/08/libcloud-0-14-1-released.html b/output/blog/2014/02/08/libcloud-0-14-1-released.html
index f00a793..c85960d 100644
--- a/output/blog/2014/02/08/libcloud-0-14-1-released.html
+++ b/output/blog/2014/02/08/libcloud-0-14-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/08/libcloud-0-14-1-released.html" property="og:url">
     
     
-      <meta content="2014-02-08T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-08T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -191,11 +198,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -206,7 +209,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -216,7 +219,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/11/libcloud-0-14-1-and-cloudsigma.html b/output/blog/2014/02/11/libcloud-0-14-1-and-cloudsigma.html
index a449c71..b4c254e 100644
--- a/output/blog/2014/02/11/libcloud-0-14-1-and-cloudsigma.html
+++ b/output/blog/2014/02/11/libcloud-0-14-1-and-cloudsigma.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/11/libcloud-0-14-1-and-cloudsigma.html" property="og:url">
     
     
-      <meta content="2014-02-11T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-11T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -148,11 +155,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -163,7 +166,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -173,7 +176,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/14/call-for-participation-in-gsoc-2014.html b/output/blog/2014/02/14/call-for-participation-in-gsoc-2014.html
index 6c0dd03..adf420c 100644
--- a/output/blog/2014/02/14/call-for-participation-in-gsoc-2014.html
+++ b/output/blog/2014/02/14/call-for-participation-in-gsoc-2014.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/14/call-for-participation-in-gsoc-2014.html" property="og:url">
     
     
-      <meta content="2014-02-14T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-14T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -146,11 +153,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -161,7 +164,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -171,7 +174,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/17/sebastien-goasguen-joins-our-team.html b/output/blog/2014/02/17/sebastien-goasguen-joins-our-team.html
index 2e5516f..e1d4eb8 100644
--- a/output/blog/2014/02/17/sebastien-goasguen-joins-our-team.html
+++ b/output/blog/2014/02/17/sebastien-goasguen-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/17/sebastien-goasguen-joins-our-team.html" property="og:url">
     
     
-      <meta content="2014-02-17T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-17T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -147,11 +154,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -162,7 +165,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -172,7 +175,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/18/libcloud-0-14-and-google-cloud-platform.html b/output/blog/2014/02/18/libcloud-0-14-and-google-cloud-platform.html
index be45c91..5ce380e 100644
--- a/output/blog/2014/02/18/libcloud-0-14-and-google-cloud-platform.html
+++ b/output/blog/2014/02/18/libcloud-0-14-and-google-cloud-platform.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/18/libcloud-0-14-and-google-cloud-platform.html" property="og:url">
     
     
-      <meta content="2014-02-18T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-18T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -313,11 +320,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -328,7 +331,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -338,7 +341,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/02/21/libcloud-0-14-and-ikoula.html b/output/blog/2014/02/21/libcloud-0-14-and-ikoula.html
index c9ada1f..4dae302 100644
--- a/output/blog/2014/02/21/libcloud-0-14-and-ikoula.html
+++ b/output/blog/2014/02/21/libcloud-0-14-and-ikoula.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/02/21/libcloud-0-14-and-ikoula.html" property="og:url">
     
     
-      <meta content="2014-02-21T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-02-21T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -60,7 +60,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -101,6 +101,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -153,11 +160,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -168,7 +171,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -178,7 +181,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/04/15/libcloud-at-apachecon.html b/output/blog/2014/04/15/libcloud-at-apachecon.html
index ef17b68..f65f54a 100644
--- a/output/blog/2014/04/15/libcloud-at-apachecon.html
+++ b/output/blog/2014/04/15/libcloud-at-apachecon.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/04/15/libcloud-at-apachecon.html" property="og:url">
     
     
-      <meta content="2014-04-15T00:00:00+02:00" property="article:published_time">
+      <meta content="2014-04-15T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -60,7 +60,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -101,6 +101,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -169,11 +176,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -184,7 +187,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -194,7 +197,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/05/13/libcloud-accepted-in-gsoc-2014.html b/output/blog/2014/05/13/libcloud-accepted-in-gsoc-2014.html
index b4742da..11b712a 100644
--- a/output/blog/2014/05/13/libcloud-accepted-in-gsoc-2014.html
+++ b/output/blog/2014/05/13/libcloud-accepted-in-gsoc-2014.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/05/13/libcloud-accepted-in-gsoc-2014.html" property="og:url">
     
     
-      <meta content="2014-05-13T00:00:00+02:00" property="article:published_time">
+      <meta content="2014-05-13T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -150,11 +157,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -165,7 +168,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -175,7 +178,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/06/26/libcloud-0-15-0-released.html b/output/blog/2014/06/26/libcloud-0-15-0-released.html
index b4bef0f..12f6108 100644
--- a/output/blog/2014/06/26/libcloud-0-15-0-released.html
+++ b/output/blog/2014/06/26/libcloud-0-15-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/06/26/libcloud-0-15-0-released.html" property="og:url">
     
     
-      <meta content="2014-06-26T00:00:00+02:00" property="article:published_time">
+      <meta content="2014-06-26T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -190,11 +197,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -205,7 +208,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -215,7 +218,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/07/07/libcloud-5th-birthday-celebration-during-europython-week-in-berlin.html b/output/blog/2014/07/07/libcloud-5th-birthday-celebration-during-europython-week-in-berlin.html
index 04a2839..57bec6b 100644
--- a/output/blog/2014/07/07/libcloud-5th-birthday-celebration-during-europython-week-in-berlin.html
+++ b/output/blog/2014/07/07/libcloud-5th-birthday-celebration-during-europython-week-in-berlin.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/07/07/libcloud-5th-birthday-celebration-during-europython-week-in-berlin.html" property="og:url">
     
     
-      <meta content="2014-07-07T00:00:00+02:00" property="article:published_time">
+      <meta content="2014-07-07T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -60,7 +60,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -101,6 +101,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -163,11 +170,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -178,7 +181,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -188,7 +191,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/07/10/libcloud-0-15-1-released.html b/output/blog/2014/07/10/libcloud-0-15-1-released.html
index f6f9fcc..b6ec973 100644
--- a/output/blog/2014/07/10/libcloud-0-15-1-released.html
+++ b/output/blog/2014/07/10/libcloud-0-15-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/07/10/libcloud-0-15-1-released.html" property="og:url">
     
     
-      <meta content="2014-07-10T00:00:00+02:00" property="article:published_time">
+      <meta content="2014-07-10T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -191,11 +198,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -206,7 +209,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -216,7 +219,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/11/12/libcloud-0-16-0-released.html b/output/blog/2014/11/12/libcloud-0-16-0-released.html
index 242469c..a136f7f 100644
--- a/output/blog/2014/11/12/libcloud-0-16-0-released.html
+++ b/output/blog/2014/11/12/libcloud-0-16-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/11/12/libcloud-0-16-0-released.html" property="og:url">
     
     
-      <meta content="2014-11-12T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-11-12T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -203,11 +210,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -218,7 +221,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -228,7 +231,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2014/12/04/eric-johnson-joins-our-team.html b/output/blog/2014/12/04/eric-johnson-joins-our-team.html
index d491b89..c82655c 100644
--- a/output/blog/2014/12/04/eric-johnson-joins-our-team.html
+++ b/output/blog/2014/12/04/eric-johnson-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2014/12/04/eric-johnson-joins-our-team.html" property="og:url">
     
     
-      <meta content="2014-12-04T00:00:00+01:00" property="article:published_time">
+      <meta content="2014-12-04T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -148,11 +155,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -163,7 +166,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -173,7 +176,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2015/02/18/libcloud-0-17-0-released.html b/output/blog/2015/02/18/libcloud-0-17-0-released.html
index 13c59da..1b4c07a 100644
--- a/output/blog/2015/02/18/libcloud-0-17-0-released.html
+++ b/output/blog/2015/02/18/libcloud-0-17-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2015/02/18/libcloud-0-17-0-released.html" property="og:url">
     
     
-      <meta content="2015-02-18T00:00:00+01:00" property="article:published_time">
+      <meta content="2015-02-18T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -193,11 +200,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -208,7 +211,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -218,7 +221,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2015/03/17/allard-hoeve-joins-our-team.html b/output/blog/2015/03/17/allard-hoeve-joins-our-team.html
index 07e6cf9..e8e6ee7 100644
--- a/output/blog/2015/03/17/allard-hoeve-joins-our-team.html
+++ b/output/blog/2015/03/17/allard-hoeve-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2015/03/17/allard-hoeve-joins-our-team.html" property="og:url">
     
     
-      <meta content="2015-03-17T00:00:00+01:00" property="article:published_time">
+      <meta content="2015-03-17T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -147,11 +154,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -162,7 +165,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -172,7 +175,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2015/08/13/libcloud-0-18-0-released.html b/output/blog/2015/08/13/libcloud-0-18-0-released.html
index 7f1b791..7b5f514 100644
--- a/output/blog/2015/08/13/libcloud-0-18-0-released.html
+++ b/output/blog/2015/08/13/libcloud-0-18-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2015/08/13/libcloud-0-18-0-released.html" property="og:url">
     
     
-      <meta content="2015-08-13T00:00:00+02:00" property="article:published_time">
+      <meta content="2015-08-13T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -201,11 +208,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -216,7 +219,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -226,7 +229,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html b/output/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html
index b008a11..45ac56c 100644
--- a/output/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html
+++ b/output/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html" property="og:url">
     
     
-      <meta content="2015-10-05T00:00:00+02:00" property="article:published_time">
+      <meta content="2015-10-05T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -164,11 +171,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -179,7 +182,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -189,7 +192,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2015/10/30/libcloud-0-19-0-released.html b/output/blog/2015/10/30/libcloud-0-19-0-released.html
index 02c0655..a357c6b 100644
--- a/output/blog/2015/10/30/libcloud-0-19-0-released.html
+++ b/output/blog/2015/10/30/libcloud-0-19-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2015/10/30/libcloud-0-19-0-released.html" property="og:url">
     
     
-      <meta content="2015-10-30T00:00:00+01:00" property="article:published_time">
+      <meta content="2015-10-30T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -201,11 +208,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -216,7 +219,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -226,7 +229,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2015/11/18/anthony-shaw-joins-our-team.html b/output/blog/2015/11/18/anthony-shaw-joins-our-team.html
index 7094f86..827de99 100644
--- a/output/blog/2015/11/18/anthony-shaw-joins-our-team.html
+++ b/output/blog/2015/11/18/anthony-shaw-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2015/11/18/anthony-shaw-joins-our-team.html" property="og:url">
     
     
-      <meta content="2015-11-18T00:00:00+01:00" property="article:published_time">
+      <meta content="2015-11-18T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -181,11 +188,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -196,7 +199,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -206,7 +209,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2015/12/15/libcloud-0-20-0-released.html b/output/blog/2015/12/15/libcloud-0-20-0-released.html
index d7d03a1..ed2c050 100644
--- a/output/blog/2015/12/15/libcloud-0-20-0-released.html
+++ b/output/blog/2015/12/15/libcloud-0-20-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2015/12/15/libcloud-0-20-0-released.html" property="og:url">
     
     
-      <meta content="2015-12-15T00:00:00+01:00" property="article:published_time">
+      <meta content="2015-12-15T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -197,11 +204,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -212,7 +215,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -222,7 +225,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/01/14/notice-for-linode-users.html b/output/blog/2016/01/14/notice-for-linode-users.html
index d78a3b4..9f6f3d2 100644
--- a/output/blog/2016/01/14/notice-for-linode-users.html
+++ b/output/blog/2016/01/14/notice-for-linode-users.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/01/14/notice-for-linode-users.html" property="og:url">
     
     
-      <meta content="2016-01-14T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-01-14T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -202,11 +209,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -217,7 +220,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -227,7 +230,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/01/19/libcloud-0-20-1-released.html b/output/blog/2016/01/19/libcloud-0-20-1-released.html
index 8fbf53e..aad713b 100644
--- a/output/blog/2016/01/19/libcloud-0-20-1-released.html
+++ b/output/blog/2016/01/19/libcloud-0-20-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/01/19/libcloud-0-20-1-released.html" property="og:url">
     
     
-      <meta content="2016-01-19T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-01-19T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -190,11 +197,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -205,7 +208,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -215,7 +218,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/01/20/libcloud-1.0-pre1.html b/output/blog/2016/01/20/libcloud-1.0-pre1.html
index 7712c06..c446284 100644
--- a/output/blog/2016/01/20/libcloud-1.0-pre1.html
+++ b/output/blog/2016/01/20/libcloud-1.0-pre1.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/01/20/libcloud-1.0-pre1.html" property="og:url">
     
     
-      <meta content="2016-01-20T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-01-20T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -311,11 +318,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -326,7 +329,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -336,7 +339,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/01/26/libcloud-1-0-0-pre1-released.html b/output/blog/2016/01/26/libcloud-1-0-0-pre1-released.html
index ff81f85..bd53a90 100644
--- a/output/blog/2016/01/26/libcloud-1-0-0-pre1-released.html
+++ b/output/blog/2016/01/26/libcloud-1-0-0-pre1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/01/26/libcloud-1-0-0-pre1-released.html" property="og:url">
     
     
-      <meta content="2016-01-26T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-01-26T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -193,11 +200,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -208,7 +211,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -218,7 +221,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/02/05/libcloud-containers-example.html b/output/blog/2016/02/05/libcloud-containers-example.html
index 887adbc..b482f9a 100644
--- a/output/blog/2016/02/05/libcloud-containers-example.html
+++ b/output/blog/2016/02/05/libcloud-containers-example.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/02/05/libcloud-containers-example.html" property="og:url">
     
     
-      <meta content="2016-02-05T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-02-05T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -350,11 +357,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -365,7 +368,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -375,7 +378,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/02/16/new-drivers-deprecated-drivers.html b/output/blog/2016/02/16/new-drivers-deprecated-drivers.html
index 5cf6ea1..42b46d3 100644
--- a/output/blog/2016/02/16/new-drivers-deprecated-drivers.html
+++ b/output/blog/2016/02/16/new-drivers-deprecated-drivers.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/02/16/new-drivers-deprecated-drivers.html" property="og:url">
     
     
-      <meta content="2016-02-16T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-02-16T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -180,11 +187,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -195,7 +198,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -205,7 +208,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/04/06/requests-support.html b/output/blog/2016/04/06/requests-support.html
index c631fb5..5c5a6f8 100644
--- a/output/blog/2016/04/06/requests-support.html
+++ b/output/blog/2016/04/06/requests-support.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/04/06/requests-support.html" property="og:url">
     
     
-      <meta content="2016-04-06T00:00:00+02:00" property="article:published_time">
+      <meta content="2016-04-06T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -225,11 +232,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -240,7 +243,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -250,7 +253,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/04/11/libcloud-1-0-0-rc2-released.html b/output/blog/2016/04/11/libcloud-1-0-0-rc2-released.html
index b505e16..6507093 100644
--- a/output/blog/2016/04/11/libcloud-1-0-0-rc2-released.html
+++ b/output/blog/2016/04/11/libcloud-1-0-0-rc2-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/04/11/libcloud-1-0-0-rc2-released.html" property="og:url">
     
     
-      <meta content="2016-04-11T00:00:00+02:00" property="article:published_time">
+      <meta content="2016-04-11T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -463,11 +470,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -478,7 +481,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -488,7 +491,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/06/22/libcloud-1-0-0-released.html b/output/blog/2016/06/22/libcloud-1-0-0-released.html
index c969f58..28e7558 100644
--- a/output/blog/2016/06/22/libcloud-1-0-0-released.html
+++ b/output/blog/2016/06/22/libcloud-1-0-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/06/22/libcloud-1-0-0-released.html" property="og:url">
     
     
-      <meta content="2016-06-22T00:00:00+02:00" property="article:published_time">
+      <meta content="2016-06-22T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -486,11 +493,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -501,7 +504,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -511,7 +514,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/07/07/libcloud-1-1-0-released.html b/output/blog/2016/07/07/libcloud-1-1-0-released.html
index a97ecf1..73ede6d 100644
--- a/output/blog/2016/07/07/libcloud-1-1-0-released.html
+++ b/output/blog/2016/07/07/libcloud-1-1-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/07/07/libcloud-1-1-0-released.html" property="og:url">
     
     
-      <meta content="2016-07-07T00:00:00+02:00" property="article:published_time">
+      <meta content="2016-07-07T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -191,11 +198,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -206,7 +209,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -216,7 +219,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/09/23/libcloud-1-2-1-released.html b/output/blog/2016/09/23/libcloud-1-2-1-released.html
index ec41618..5f2c63d 100644
--- a/output/blog/2016/09/23/libcloud-1-2-1-released.html
+++ b/output/blog/2016/09/23/libcloud-1-2-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/09/23/libcloud-1-2-1-released.html" property="og:url">
     
     
-      <meta content="2016-09-23T00:00:00+02:00" property="article:published_time">
+      <meta content="2016-09-23T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -247,11 +254,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -262,7 +265,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -272,7 +275,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/10/14/libcloud-1-3-0-released.html b/output/blog/2016/10/14/libcloud-1-3-0-released.html
index 41e730d..40fa474 100644
--- a/output/blog/2016/10/14/libcloud-1-3-0-released.html
+++ b/output/blog/2016/10/14/libcloud-1-3-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/10/14/libcloud-1-3-0-released.html" property="og:url">
     
     
-      <meta content="2016-10-14T00:00:00+02:00" property="article:published_time">
+      <meta content="2016-10-14T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -236,11 +243,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -251,7 +254,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -261,7 +264,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/11/27/libcloud-1-4-0-released.html b/output/blog/2016/11/27/libcloud-1-4-0-released.html
index c96d0fb..ee074a9 100644
--- a/output/blog/2016/11/27/libcloud-1-4-0-released.html
+++ b/output/blog/2016/11/27/libcloud-1-4-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/11/27/libcloud-1-4-0-released.html" property="og:url">
     
     
-      <meta content="2016-11-27T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-11-27T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -190,11 +197,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -205,7 +208,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -215,7 +218,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2016/12/29/libcloud-1-5-0-released.html b/output/blog/2016/12/29/libcloud-1-5-0-released.html
index 0b67ada..d34e8ff 100644
--- a/output/blog/2016/12/29/libcloud-1-5-0-released.html
+++ b/output/blog/2016/12/29/libcloud-1-5-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2016/12/29/libcloud-1-5-0-released.html" property="og:url">
     
     
-      <meta content="2016-12-29T00:00:00+01:00" property="article:published_time">
+      <meta content="2016-12-29T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -198,11 +205,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -213,7 +216,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -223,7 +226,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2017/04/07/libcloud-2-0-0-rc2-released.html b/output/blog/2017/04/07/libcloud-2-0-0-rc2-released.html
index 6f6d146..2f279f7 100644
--- a/output/blog/2017/04/07/libcloud-2-0-0-rc2-released.html
+++ b/output/blog/2017/04/07/libcloud-2-0-0-rc2-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2017/04/07/libcloud-2-0-0-rc2-released.html" property="og:url">
     
     
-      <meta content="2017-04-07T00:00:00+02:00" property="article:published_time">
+      <meta content="2017-04-07T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -267,11 +274,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -282,7 +285,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -292,7 +295,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2017/04/09/async-rfc.html b/output/blog/2017/04/09/async-rfc.html
index 0c800c0..d80fa87 100644
--- a/output/blog/2017/04/09/async-rfc.html
+++ b/output/blog/2017/04/09/async-rfc.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2017/04/09/async-rfc.html" property="og:url">
     
     
-      <meta content="2017-04-09T00:00:00+02:00" property="article:published_time">
+      <meta content="2017-04-09T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -301,11 +308,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -316,7 +319,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -326,7 +329,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2017/04/25/libcloud-2-0-0-released.html b/output/blog/2017/04/25/libcloud-2-0-0-released.html
index 33aec3f..7fc5f31 100644
--- a/output/blog/2017/04/25/libcloud-2-0-0-released.html
+++ b/output/blog/2017/04/25/libcloud-2-0-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2017/04/25/libcloud-2-0-0-released.html" property="og:url">
     
     
-      <meta content="2017-04-25T00:00:00+02:00" property="article:published_time">
+      <meta content="2017-04-25T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -339,11 +346,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -354,7 +357,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -364,7 +367,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2017/07/17/libcloud-2-1-0-released.html b/output/blog/2017/07/17/libcloud-2-1-0-released.html
index 3f3eae4..cb15e07 100644
--- a/output/blog/2017/07/17/libcloud-2-1-0-released.html
+++ b/output/blog/2017/07/17/libcloud-2-1-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2017/07/17/libcloud-2-1-0-released.html" property="og:url">
     
     
-      <meta content="2017-07-17T00:00:00+02:00" property="article:published_time">
+      <meta content="2017-07-17T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -184,11 +191,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -199,7 +202,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -209,7 +212,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2017/09/03/libcloud-2-2-0-released.html b/output/blog/2017/09/03/libcloud-2-2-0-released.html
index 8cca222..87891a3 100644
--- a/output/blog/2017/09/03/libcloud-2-2-0-released.html
+++ b/output/blog/2017/09/03/libcloud-2-2-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2017/09/03/libcloud-2-2-0-released.html" property="og:url">
     
     
-      <meta content="2017-09-03T00:00:00+02:00" property="article:published_time">
+      <meta content="2017-09-03T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -184,11 +191,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -199,7 +202,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -209,7 +212,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2017/09/21/libcloud-2-2-1-released.html b/output/blog/2017/09/21/libcloud-2-2-1-released.html
index aa122f8..18d8732 100644
--- a/output/blog/2017/09/21/libcloud-2-2-1-released.html
+++ b/output/blog/2017/09/21/libcloud-2-2-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2017/09/21/libcloud-2-2-1-released.html" property="og:url">
     
     
-      <meta content="2017-09-21T00:00:00+02:00" property="article:published_time">
+      <meta content="2017-09-21T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -191,11 +198,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -206,7 +209,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -216,7 +219,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2017/12/30/libcloud-year-in-review-2017-released.html b/output/blog/2017/12/30/libcloud-year-in-review-2017-released.html
index ebfaaa1..026d2e0 100644
--- a/output/blog/2017/12/30/libcloud-year-in-review-2017-released.html
+++ b/output/blog/2017/12/30/libcloud-year-in-review-2017-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2017/12/30/libcloud-year-in-review-2017-released.html" property="og:url">
     
     
-      <meta content="2017-12-30T00:00:00+01:00" property="article:published_time">
+      <meta content="2017-12-30T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -210,11 +217,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -225,7 +228,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -235,7 +238,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2018/03/03/libcloud-2-3-0-released.html b/output/blog/2018/03/03/libcloud-2-3-0-released.html
index 1d7091c..d23da5d 100644
--- a/output/blog/2018/03/03/libcloud-2-3-0-released.html
+++ b/output/blog/2018/03/03/libcloud-2-3-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2018/03/03/libcloud-2-3-0-released.html" property="og:url">
     
     
-      <meta content="2018-03-03T00:00:00+01:00" property="article:published_time">
+      <meta content="2018-03-03T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -185,11 +192,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -200,7 +203,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -210,7 +213,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2018/06/27/rick-van-de-loo-joins-our-team.html b/output/blog/2018/06/27/rick-van-de-loo-joins-our-team.html
index 7f1aacd..354684c 100644
--- a/output/blog/2018/06/27/rick-van-de-loo-joins-our-team.html
+++ b/output/blog/2018/06/27/rick-van-de-loo-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2018/06/27/rick-van-de-loo-joins-our-team.html" property="og:url">
     
     
-      <meta content="2018-06-27T00:00:00+02:00" property="article:published_time">
+      <meta content="2018-06-27T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -172,11 +179,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -187,7 +190,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -197,7 +200,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2018/11/08/libcloud-2-4-0-released.html b/output/blog/2018/11/08/libcloud-2-4-0-released.html
index 158fec8..c50c0b8 100644
--- a/output/blog/2018/11/08/libcloud-2-4-0-released.html
+++ b/output/blog/2018/11/08/libcloud-2-4-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2018/11/08/libcloud-2-4-0-released.html" property="og:url">
     
     
-      <meta content="2018-11-08T00:00:00+01:00" property="article:published_time">
+      <meta content="2018-11-08T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -182,11 +189,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -197,7 +200,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -207,7 +210,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2019/05/30/libcloud-2-5-0-released.html b/output/blog/2019/05/30/libcloud-2-5-0-released.html
index 18b7987..1e60aa0 100644
--- a/output/blog/2019/05/30/libcloud-2-5-0-released.html
+++ b/output/blog/2019/05/30/libcloud-2-5-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2019/05/30/libcloud-2-5-0-released.html" property="og:url">
     
     
-      <meta content="2019-05-30T00:00:00+02:00" property="article:published_time">
+      <meta content="2019-05-30T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -183,11 +190,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -198,7 +201,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -208,7 +211,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2019/08/27/clemens-wolff-joins-our-team.html b/output/blog/2019/08/27/clemens-wolff-joins-our-team.html
index c41e39f..1d70f38 100644
--- a/output/blog/2019/08/27/clemens-wolff-joins-our-team.html
+++ b/output/blog/2019/08/27/clemens-wolff-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2019/08/27/clemens-wolff-joins-our-team.html" property="og:url">
     
     
-      <meta content="2019-08-27T00:00:00+02:00" property="article:published_time">
+      <meta content="2019-08-27T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -173,11 +180,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -188,7 +191,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -198,7 +201,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2019/08/28/libcloud-2-6-0-released.html b/output/blog/2019/08/28/libcloud-2-6-0-released.html
index f37ea03..8141269 100644
--- a/output/blog/2019/08/28/libcloud-2-6-0-released.html
+++ b/output/blog/2019/08/28/libcloud-2-6-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2019/08/28/libcloud-2-6-0-released.html" property="og:url">
     
     
-      <meta content="2019-08-28T00:00:00+02:00" property="article:published_time">
+      <meta content="2019-08-28T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -194,11 +201,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -209,7 +212,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -219,7 +222,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2019/11/18/libcloud-2-6-1-released.html b/output/blog/2019/11/18/libcloud-2-6-1-released.html
index 76ec533..c6fcc53 100644
--- a/output/blog/2019/11/18/libcloud-2-6-1-released.html
+++ b/output/blog/2019/11/18/libcloud-2-6-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2019/11/18/libcloud-2-6-1-released.html" property="og:url">
     
     
-      <meta content="2019-11-18T00:00:00+01:00" property="article:published_time">
+      <meta content="2019-11-18T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -181,11 +188,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -196,7 +199,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -206,7 +209,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2019/12/09/libcloud-2-7-0-released.html b/output/blog/2019/12/09/libcloud-2-7-0-released.html
index 1679676..b505684 100644
--- a/output/blog/2019/12/09/libcloud-2-7-0-released.html
+++ b/output/blog/2019/12/09/libcloud-2-7-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2019/12/09/libcloud-2-7-0-released.html" property="og:url">
     
     
-      <meta content="2019-12-09T00:00:00+01:00" property="article:published_time">
+      <meta content="2019-12-09T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -247,11 +254,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -262,7 +265,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -272,7 +275,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/01/02/libcloud-2-8-0-released.html b/output/blog/2020/01/02/libcloud-2-8-0-released.html
index 438188d..c3d0a6b 100644
--- a/output/blog/2020/01/02/libcloud-2-8-0-released.html
+++ b/output/blog/2020/01/02/libcloud-2-8-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/01/02/libcloud-2-8-0-released.html" property="og:url">
     
     
-      <meta content="2020-01-02T00:00:00+01:00" property="article:published_time">
+      <meta content="2020-01-02T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -206,11 +213,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -221,7 +224,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -231,7 +234,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/01/29/libcloud-3-0-0-rc1-released.html b/output/blog/2020/01/29/libcloud-3-0-0-rc1-released.html
index 4369081..8c4e6d5 100644
--- a/output/blog/2020/01/29/libcloud-3-0-0-rc1-released.html
+++ b/output/blog/2020/01/29/libcloud-3-0-0-rc1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/01/29/libcloud-3-0-0-rc1-released.html" property="og:url">
     
     
-      <meta content="2020-01-29T00:00:00+01:00" property="article:published_time">
+      <meta content="2020-01-29T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -208,11 +215,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -223,7 +226,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -233,7 +236,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/03/03/libcloud-2-8-1-released.html b/output/blog/2020/03/03/libcloud-2-8-1-released.html
index 6602bab..852f60b 100644
--- a/output/blog/2020/03/03/libcloud-2-8-1-released.html
+++ b/output/blog/2020/03/03/libcloud-2-8-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/03/03/libcloud-2-8-1-released.html" property="og:url">
     
     
-      <meta content="2020-03-03T00:00:00+01:00" property="article:published_time">
+      <meta content="2020-03-03T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -186,11 +193,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -201,7 +204,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -211,7 +214,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/04/15/libcloud-2-8-2-released.html b/output/blog/2020/04/15/libcloud-2-8-2-released.html
index 45748b1..56069cd 100644
--- a/output/blog/2020/04/15/libcloud-2-8-2-released.html
+++ b/output/blog/2020/04/15/libcloud-2-8-2-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/04/15/libcloud-2-8-2-released.html" property="og:url">
     
     
-      <meta content="2020-04-15T00:00:00+02:00" property="article:published_time">
+      <meta content="2020-04-15T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -187,11 +194,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -202,7 +205,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -212,7 +215,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/04/15/libcloud-3-0-0-released.html b/output/blog/2020/04/15/libcloud-3-0-0-released.html
index c228c82..ef36300 100644
--- a/output/blog/2020/04/15/libcloud-3-0-0-released.html
+++ b/output/blog/2020/04/15/libcloud-3-0-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/04/15/libcloud-3-0-0-released.html" property="og:url">
     
     
-      <meta content="2020-04-15T00:00:00+02:00" property="article:published_time">
+      <meta content="2020-04-15T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -202,11 +209,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -217,7 +220,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -227,7 +230,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/06/12/libcloud-2-8-3-released.html b/output/blog/2020/06/12/libcloud-2-8-3-released.html
index 18170d8..7c07f24 100644
--- a/output/blog/2020/06/12/libcloud-2-8-3-released.html
+++ b/output/blog/2020/06/12/libcloud-2-8-3-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/06/12/libcloud-2-8-3-released.html" property="og:url">
     
     
-      <meta content="2020-06-12T00:00:00+02:00" property="article:published_time">
+      <meta content="2020-06-12T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -182,11 +189,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -197,7 +200,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -207,7 +210,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/06/12/libcloud-3-1-0-released.html b/output/blog/2020/06/12/libcloud-3-1-0-released.html
index dbe1109..e1fe80d 100644
--- a/output/blog/2020/06/12/libcloud-3-1-0-released.html
+++ b/output/blog/2020/06/12/libcloud-3-1-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/06/12/libcloud-3-1-0-released.html" property="og:url">
     
     
-      <meta content="2020-06-12T00:00:00+02:00" property="article:published_time">
+      <meta content="2020-06-12T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -182,11 +189,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -197,7 +200,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -207,7 +210,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html b/output/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html
index 29ba4ff..e9b13eb 100644
--- a/output/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html
+++ b/output/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html" property="og:url">
     
     
-      <meta content="2020-08-02T00:00:00+02:00" property="article:published_time">
+      <meta content="2020-08-02T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -166,11 +173,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -181,7 +184,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -191,7 +194,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/08/31/miguel-caballer-joins-our-team.html b/output/blog/2020/08/31/miguel-caballer-joins-our-team.html
index bc8cb8b..496dec3 100644
--- a/output/blog/2020/08/31/miguel-caballer-joins-our-team.html
+++ b/output/blog/2020/08/31/miguel-caballer-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/08/31/miguel-caballer-joins-our-team.html" property="og:url">
     
     
-      <meta content="2020-08-31T00:00:00+02:00" property="article:published_time">
+      <meta content="2020-08-31T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -168,11 +175,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -183,7 +186,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -193,7 +196,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2020/09/20/libcloud-3-2-0-released.html b/output/blog/2020/09/20/libcloud-3-2-0-released.html
index ffff08e..bb43375 100644
--- a/output/blog/2020/09/20/libcloud-3-2-0-released.html
+++ b/output/blog/2020/09/20/libcloud-3-2-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2020/09/20/libcloud-3-2-0-released.html" property="og:url">
     
     
-      <meta content="2020-09-20T00:00:00+02:00" property="article:published_time">
+      <meta content="2020-09-20T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -182,11 +189,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -197,7 +200,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -207,7 +210,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2021/01/02/libcloud-3-3-0-released.html b/output/blog/2021/01/02/libcloud-3-3-0-released.html
index f82673a..411a75f 100644
--- a/output/blog/2021/01/02/libcloud-3-3-0-released.html
+++ b/output/blog/2021/01/02/libcloud-3-3-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2021/01/02/libcloud-3-3-0-released.html" property="og:url">
     
     
-      <meta content="2021-01-02T00:00:00+01:00" property="article:published_time">
+      <meta content="2021-01-02T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -182,11 +189,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -197,7 +200,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -207,7 +210,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2021/01/25/libcloud-3-3-1-released.html b/output/blog/2021/01/25/libcloud-3-3-1-released.html
index 5128dfa..00eac64 100644
--- a/output/blog/2021/01/25/libcloud-3-3-1-released.html
+++ b/output/blog/2021/01/25/libcloud-3-3-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2021/01/25/libcloud-3-3-1-released.html" property="og:url">
     
     
-      <meta content="2021-01-25T00:00:00+01:00" property="article:published_time">
+      <meta content="2021-01-25T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -190,11 +197,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -205,7 +208,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -215,7 +218,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2021/06/03/dimitris-moraitis-joins-our-team.html b/output/blog/2021/06/03/dimitris-moraitis-joins-our-team.html
index 39aecfc..19780b3 100644
--- a/output/blog/2021/06/03/dimitris-moraitis-joins-our-team.html
+++ b/output/blog/2021/06/03/dimitris-moraitis-joins-our-team.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2021/06/03/dimitris-moraitis-joins-our-team.html" property="og:url">
     
     
-      <meta content="2021-06-03T00:00:00+02:00" property="article:published_time">
+      <meta content="2021-06-03T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -58,7 +58,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -99,6 +99,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -159,11 +166,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -174,7 +177,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -184,7 +187,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2021/11/11/libcloud-3-4-0-released.html b/output/blog/2021/11/11/libcloud-3-4-0-released.html
index 8479286..133301b 100644
--- a/output/blog/2021/11/11/libcloud-3-4-0-released.html
+++ b/output/blog/2021/11/11/libcloud-3-4-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2021/11/11/libcloud-3-4-0-released.html" property="og:url">
     
     
-      <meta content="2021-11-11T00:00:00+01:00" property="article:published_time">
+      <meta content="2021-11-11T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -215,11 +222,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -230,7 +233,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -240,7 +243,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2021/11/15/libcloud-3-4-1-released.html b/output/blog/2021/11/15/libcloud-3-4-1-released.html
index abc3ee6..7caccaa 100644
--- a/output/blog/2021/11/15/libcloud-3-4-1-released.html
+++ b/output/blog/2021/11/15/libcloud-3-4-1-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2021/11/15/libcloud-3-4-1-released.html" property="og:url">
     
     
-      <meta content="2021-11-15T00:00:00+01:00" property="article:published_time">
+      <meta content="2021-11-15T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -207,11 +214,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -222,7 +225,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -232,7 +235,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/2022/03/12/libcloud-3-5-0-released.html b/output/blog/2022/03/12/libcloud-3-5-0-released.html
index 6fe60d2..fe15b40 100644
--- a/output/blog/2022/03/12/libcloud-3-5-0-released.html
+++ b/output/blog/2022/03/12/libcloud-3-5-0-released.html
@@ -44,7 +44,7 @@
       <meta content="https://libcloud.apache.org/blog/2022/03/12/libcloud-3-5-0-released.html" property="og:url">
     
     
-      <meta content="2022-03-12T00:00:00+01:00" property="article:published_time">
+      <meta content="2022-03-12T00:00:00+00:00" property="article:published_time">
       <meta content="https://libcloud.apache.org/about.html" property="article:author">
     
 
@@ -56,7 +56,7 @@
       
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -97,6 +97,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -210,11 +217,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -225,7 +228,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -235,7 +238,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2010/02/index.html b/output/blog/archives/2010/02/index.html
index f2f61bf..76bb008 100644
--- a/output/blog/archives/2010/02/index.html
+++ b/output/blog/archives/2010/02/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -132,11 +139,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -147,7 +150,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -157,7 +160,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2010/05/index.html b/output/blog/archives/2010/05/index.html
index 40768fd..6436374 100644
--- a/output/blog/archives/2010/05/index.html
+++ b/output/blog/archives/2010/05/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -155,11 +162,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -170,7 +173,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -180,7 +183,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2010/10/index.html b/output/blog/archives/2010/10/index.html
index 6c39792..6f61c63 100644
--- a/output/blog/archives/2010/10/index.html
+++ b/output/blog/archives/2010/10/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -157,11 +164,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -172,7 +175,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -182,7 +185,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/01/index.html b/output/blog/archives/2011/01/index.html
index adc2228..dc6e5e7 100644
--- a/output/blog/archives/2011/01/index.html
+++ b/output/blog/archives/2011/01/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -152,11 +159,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -167,7 +170,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -177,7 +180,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/02/index.html b/output/blog/archives/2011/02/index.html
index f5d5333..89b23e4 100644
--- a/output/blog/archives/2011/02/index.html
+++ b/output/blog/archives/2011/02/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -134,11 +141,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -149,7 +152,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -159,7 +162,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/05/index.html b/output/blog/archives/2011/05/index.html
index 2b0e42c..414588c 100644
--- a/output/blog/archives/2011/05/index.html
+++ b/output/blog/archives/2011/05/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -217,11 +224,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -232,7 +235,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -242,7 +245,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/06/index.html b/output/blog/archives/2011/06/index.html
index 53c42d4..e7ae3a6 100644
--- a/output/blog/archives/2011/06/index.html
+++ b/output/blog/archives/2011/06/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -134,11 +141,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -149,7 +152,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -159,7 +162,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/07/index.html b/output/blog/archives/2011/07/index.html
index 4d596e8..6e39bd0 100644
--- a/output/blog/archives/2011/07/index.html
+++ b/output/blog/archives/2011/07/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -184,11 +191,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -199,7 +202,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -209,7 +212,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/09/index.html b/output/blog/archives/2011/09/index.html
index 91ea815..31b7627 100644
--- a/output/blog/archives/2011/09/index.html
+++ b/output/blog/archives/2011/09/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -137,11 +144,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -152,7 +155,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -162,7 +165,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/10/index.html b/output/blog/archives/2011/10/index.html
index ffd7f6e..4d69992 100644
--- a/output/blog/archives/2011/10/index.html
+++ b/output/blog/archives/2011/10/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -238,11 +245,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -253,7 +256,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -263,7 +266,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/11/index.html b/output/blog/archives/2011/11/index.html
index bbd025d..f50182b 100644
--- a/output/blog/archives/2011/11/index.html
+++ b/output/blog/archives/2011/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -359,11 +366,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -374,7 +377,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -384,7 +387,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2011/12/index.html b/output/blog/archives/2011/12/index.html
index 896cd5f..fc0f957 100644
--- a/output/blog/archives/2011/12/index.html
+++ b/output/blog/archives/2011/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -244,11 +251,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -259,7 +262,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -269,7 +272,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/02/index.html b/output/blog/archives/2012/02/index.html
index 14d5aa8..d5f9de1 100644
--- a/output/blog/archives/2012/02/index.html
+++ b/output/blog/archives/2012/02/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -198,11 +205,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -213,7 +216,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -223,7 +226,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/04/index.html b/output/blog/archives/2012/04/index.html
index bb96a69..0a8effe 100644
--- a/output/blog/archives/2012/04/index.html
+++ b/output/blog/archives/2012/04/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -203,11 +210,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -218,7 +221,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -228,7 +231,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/05/index.html b/output/blog/archives/2012/05/index.html
index 68694ba..ebbe0d0 100644
--- a/output/blog/archives/2012/05/index.html
+++ b/output/blog/archives/2012/05/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -281,11 +288,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -296,7 +299,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -306,7 +309,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/07/index.html b/output/blog/archives/2012/07/index.html
index 6dee880..3d623e1 100644
--- a/output/blog/archives/2012/07/index.html
+++ b/output/blog/archives/2012/07/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -214,11 +221,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -229,7 +232,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -239,7 +242,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/08/index.html b/output/blog/archives/2012/08/index.html
index b245dc2..5e24996 100644
--- a/output/blog/archives/2012/08/index.html
+++ b/output/blog/archives/2012/08/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -185,11 +192,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -200,7 +203,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -210,7 +213,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/09/index.html b/output/blog/archives/2012/09/index.html
index 78d5110..b6d9917 100644
--- a/output/blog/archives/2012/09/index.html
+++ b/output/blog/archives/2012/09/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -201,11 +208,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -216,7 +219,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -226,7 +229,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/11/index.html b/output/blog/archives/2012/11/index.html
index ee030c3..dcc6cc5 100644
--- a/output/blog/archives/2012/11/index.html
+++ b/output/blog/archives/2012/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -236,11 +243,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -251,7 +254,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -261,7 +264,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2012/12/index.html b/output/blog/archives/2012/12/index.html
index 3b96c14..fba65b5 100644
--- a/output/blog/archives/2012/12/index.html
+++ b/output/blog/archives/2012/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -213,11 +220,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -228,7 +231,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -238,7 +241,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2013/02/index.html b/output/blog/archives/2013/02/index.html
index 8c8538c..3199e01 100644
--- a/output/blog/archives/2013/02/index.html
+++ b/output/blog/archives/2013/02/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -210,11 +217,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -225,7 +228,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -235,7 +238,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2013/03/index.html b/output/blog/archives/2013/03/index.html
index dd2f0ac..20c2377 100644
--- a/output/blog/archives/2013/03/index.html
+++ b/output/blog/archives/2013/03/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -189,11 +196,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -204,7 +207,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -214,7 +217,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2013/07/index.html b/output/blog/archives/2013/07/index.html
index 6e065fd..76f4811 100644
--- a/output/blog/archives/2013/07/index.html
+++ b/output/blog/archives/2013/07/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -185,11 +192,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -200,7 +203,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -210,7 +213,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2013/08/index.html b/output/blog/archives/2013/08/index.html
index c870269..0f3bd46 100644
--- a/output/blog/archives/2013/08/index.html
+++ b/output/blog/archives/2013/08/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -140,11 +147,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -155,7 +158,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -165,7 +168,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2013/09/index.html b/output/blog/archives/2013/09/index.html
index 6017b6c..8234fd9 100644
--- a/output/blog/archives/2013/09/index.html
+++ b/output/blog/archives/2013/09/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -195,11 +202,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -210,7 +213,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -220,7 +223,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2013/11/index.html b/output/blog/archives/2013/11/index.html
index c09c32b..397cd97 100644
--- a/output/blog/archives/2013/11/index.html
+++ b/output/blog/archives/2013/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -256,11 +263,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -271,7 +274,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -281,7 +284,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2013/12/index.html b/output/blog/archives/2013/12/index.html
index 54c06a4..54ff12e 100644
--- a/output/blog/archives/2013/12/index.html
+++ b/output/blog/archives/2013/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -308,11 +315,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -323,7 +326,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -333,7 +336,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/01/index.html b/output/blog/archives/2014/01/index.html
index 2c1500d..6c1dfcb 100644
--- a/output/blog/archives/2014/01/index.html
+++ b/output/blog/archives/2014/01/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -410,11 +417,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -425,7 +428,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -435,7 +438,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/02/index.html b/output/blog/archives/2014/02/index.html
index 0a096cd..9556356 100644
--- a/output/blog/archives/2014/02/index.html
+++ b/output/blog/archives/2014/02/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -434,11 +441,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -449,7 +452,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -459,7 +462,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/02/page/2/index.html b/output/blog/archives/2014/02/page/2/index.html
index a46b47a..683ab51 100644
--- a/output/blog/archives/2014/02/page/2/index.html
+++ b/output/blog/archives/2014/02/page/2/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -253,11 +260,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -268,7 +271,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -278,7 +281,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/04/index.html b/output/blog/archives/2014/04/index.html
index c897949..4aa3a01 100644
--- a/output/blog/archives/2014/04/index.html
+++ b/output/blog/archives/2014/04/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -162,11 +169,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -177,7 +180,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -187,7 +190,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/05/index.html b/output/blog/archives/2014/05/index.html
index 0d35933..b97225d 100644
--- a/output/blog/archives/2014/05/index.html
+++ b/output/blog/archives/2014/05/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -145,11 +152,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -160,7 +163,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -170,7 +173,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/06/index.html b/output/blog/archives/2014/06/index.html
index b373cd4..f427d50 100644
--- a/output/blog/archives/2014/06/index.html
+++ b/output/blog/archives/2014/06/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -187,11 +194,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -202,7 +205,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -212,7 +215,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/07/index.html b/output/blog/archives/2014/07/index.html
index dba2fde..757c0af 100644
--- a/output/blog/archives/2014/07/index.html
+++ b/output/blog/archives/2014/07/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -231,11 +238,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -246,7 +249,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -256,7 +259,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/11/index.html b/output/blog/archives/2014/11/index.html
index ce3a5ee..21cff3f 100644
--- a/output/blog/archives/2014/11/index.html
+++ b/output/blog/archives/2014/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -200,11 +207,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -215,7 +218,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -225,7 +228,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2014/12/index.html b/output/blog/archives/2014/12/index.html
index fde61d0..77fd5a8 100644
--- a/output/blog/archives/2014/12/index.html
+++ b/output/blog/archives/2014/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -143,11 +150,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -158,7 +161,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -168,7 +171,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2015/02/index.html b/output/blog/archives/2015/02/index.html
index 2dd1616..43f462f 100644
--- a/output/blog/archives/2015/02/index.html
+++ b/output/blog/archives/2015/02/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -190,11 +197,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -205,7 +208,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -215,7 +218,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2015/03/index.html b/output/blog/archives/2015/03/index.html
index 0fb0f2c..45f840d 100644
--- a/output/blog/archives/2015/03/index.html
+++ b/output/blog/archives/2015/03/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -144,11 +151,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -159,7 +162,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -169,7 +172,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2015/08/index.html b/output/blog/archives/2015/08/index.html
index e621deb..ba25a51 100644
--- a/output/blog/archives/2015/08/index.html
+++ b/output/blog/archives/2015/08/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -198,11 +205,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -213,7 +216,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -223,7 +226,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2015/10/index.html b/output/blog/archives/2015/10/index.html
index 5af404e..d530ce3 100644
--- a/output/blog/archives/2015/10/index.html
+++ b/output/blog/archives/2015/10/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -244,11 +251,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -259,7 +262,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -269,7 +272,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2015/11/index.html b/output/blog/archives/2015/11/index.html
index f135f67..0e12141 100644
--- a/output/blog/archives/2015/11/index.html
+++ b/output/blog/archives/2015/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -176,11 +183,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -191,7 +194,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -201,7 +204,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2015/12/index.html b/output/blog/archives/2015/12/index.html
index f0a7810..291fcba 100644
--- a/output/blog/archives/2015/12/index.html
+++ b/output/blog/archives/2015/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -194,11 +201,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -209,7 +212,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -219,7 +222,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/01/index.html b/output/blog/archives/2016/01/index.html
index 6cd05c4..13a9c8e 100644
--- a/output/blog/archives/2016/01/index.html
+++ b/output/blog/archives/2016/01/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -531,11 +538,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -546,7 +549,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -556,7 +559,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/02/index.html b/output/blog/archives/2016/02/index.html
index 6d7c732..961fd7b 100644
--- a/output/blog/archives/2016/02/index.html
+++ b/output/blog/archives/2016/02/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -357,11 +364,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -372,7 +375,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -382,7 +385,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/04/index.html b/output/blog/archives/2016/04/index.html
index 7fecdea..72e8427 100644
--- a/output/blog/archives/2016/04/index.html
+++ b/output/blog/archives/2016/04/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -555,11 +562,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -570,7 +573,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -580,7 +583,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/06/index.html b/output/blog/archives/2016/06/index.html
index 194142c..3f4c947 100644
--- a/output/blog/archives/2016/06/index.html
+++ b/output/blog/archives/2016/06/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -479,11 +486,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -494,7 +497,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -504,7 +507,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/07/index.html b/output/blog/archives/2016/07/index.html
index 81983d9..e3d34e1 100644
--- a/output/blog/archives/2016/07/index.html
+++ b/output/blog/archives/2016/07/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -188,11 +195,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -203,7 +206,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -213,7 +216,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/09/index.html b/output/blog/archives/2016/09/index.html
index e80a6b9..cb6f54a 100644
--- a/output/blog/archives/2016/09/index.html
+++ b/output/blog/archives/2016/09/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -244,11 +251,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -259,7 +262,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -269,7 +272,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/10/index.html b/output/blog/archives/2016/10/index.html
index 5411138..d603a32 100644
--- a/output/blog/archives/2016/10/index.html
+++ b/output/blog/archives/2016/10/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -233,11 +240,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -248,7 +251,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -258,7 +261,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/11/index.html b/output/blog/archives/2016/11/index.html
index 43efa36..838de7b 100644
--- a/output/blog/archives/2016/11/index.html
+++ b/output/blog/archives/2016/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -187,11 +194,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -202,7 +205,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -212,7 +215,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2016/12/index.html b/output/blog/archives/2016/12/index.html
index 44e850f..ba5f7e7 100644
--- a/output/blog/archives/2016/12/index.html
+++ b/output/blog/archives/2016/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -195,11 +202,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -210,7 +213,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -220,7 +223,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2017/04/index.html b/output/blog/archives/2017/04/index.html
index fe12541..3980ff3 100644
--- a/output/blog/archives/2017/04/index.html
+++ b/output/blog/archives/2017/04/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -652,11 +659,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -667,7 +670,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -677,7 +680,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2017/07/index.html b/output/blog/archives/2017/07/index.html
index 91f1ccb..186b23b 100644
--- a/output/blog/archives/2017/07/index.html
+++ b/output/blog/archives/2017/07/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -181,11 +188,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -196,7 +199,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -206,7 +209,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2017/09/index.html b/output/blog/archives/2017/09/index.html
index e7e6d0d..cb5254f 100644
--- a/output/blog/archives/2017/09/index.html
+++ b/output/blog/archives/2017/09/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -256,11 +263,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -271,7 +274,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -281,7 +284,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2017/12/index.html b/output/blog/archives/2017/12/index.html
index 443fdca..5895003 100644
--- a/output/blog/archives/2017/12/index.html
+++ b/output/blog/archives/2017/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -207,11 +214,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -222,7 +225,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -232,7 +235,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2018/03/index.html b/output/blog/archives/2018/03/index.html
index 07705aa..21abb1a 100644
--- a/output/blog/archives/2018/03/index.html
+++ b/output/blog/archives/2018/03/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -182,11 +189,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -197,7 +200,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -207,7 +210,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2018/06/index.html b/output/blog/archives/2018/06/index.html
index f8b8515..3a7f0e8 100644
--- a/output/blog/archives/2018/06/index.html
+++ b/output/blog/archives/2018/06/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -169,11 +176,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -184,7 +187,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -194,7 +197,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2018/11/index.html b/output/blog/archives/2018/11/index.html
index 19429c1..59e6033 100644
--- a/output/blog/archives/2018/11/index.html
+++ b/output/blog/archives/2018/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -179,11 +186,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -194,7 +197,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -204,7 +207,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2019/05/index.html b/output/blog/archives/2019/05/index.html
index 0d57b09..dfd9a81 100644
--- a/output/blog/archives/2019/05/index.html
+++ b/output/blog/archives/2019/05/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -180,11 +187,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -195,7 +198,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -205,7 +208,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2019/08/index.html b/output/blog/archives/2019/08/index.html
index 37fdcce..8f0017b 100644
--- a/output/blog/archives/2019/08/index.html
+++ b/output/blog/archives/2019/08/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -248,11 +255,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -263,7 +266,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -273,7 +276,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2019/11/index.html b/output/blog/archives/2019/11/index.html
index 01ba94d..84e3883 100644
--- a/output/blog/archives/2019/11/index.html
+++ b/output/blog/archives/2019/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -178,11 +185,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -193,7 +196,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -203,7 +206,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2019/12/index.html b/output/blog/archives/2019/12/index.html
index d1eb94a..55faf48 100644
--- a/output/blog/archives/2019/12/index.html
+++ b/output/blog/archives/2019/12/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -244,11 +251,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -259,7 +262,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -269,7 +272,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2020/01/index.html b/output/blog/archives/2020/01/index.html
index ffe41dd..546a61b 100644
--- a/output/blog/archives/2020/01/index.html
+++ b/output/blog/archives/2020/01/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -295,11 +302,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -310,7 +313,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -320,7 +323,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2020/03/index.html b/output/blog/archives/2020/03/index.html
index eaf64f6..e8b94a1 100644
--- a/output/blog/archives/2020/03/index.html
+++ b/output/blog/archives/2020/03/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -183,11 +190,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -198,7 +201,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -208,7 +211,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2020/04/index.html b/output/blog/archives/2020/04/index.html
index adeddbb..c622582 100644
--- a/output/blog/archives/2020/04/index.html
+++ b/output/blog/archives/2020/04/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -270,11 +277,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -285,7 +288,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -295,7 +298,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2020/06/index.html b/output/blog/archives/2020/06/index.html
index 70581af..e40b432 100644
--- a/output/blog/archives/2020/06/index.html
+++ b/output/blog/archives/2020/06/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -245,11 +252,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -260,7 +263,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -270,7 +273,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2020/08/index.html b/output/blog/archives/2020/08/index.html
index 13954eb..a2a7a86 100644
--- a/output/blog/archives/2020/08/index.html
+++ b/output/blog/archives/2020/08/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -215,11 +222,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -230,7 +233,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -240,7 +243,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2020/09/index.html b/output/blog/archives/2020/09/index.html
index cb1cd6e..0894405 100644
--- a/output/blog/archives/2020/09/index.html
+++ b/output/blog/archives/2020/09/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -179,11 +186,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -194,7 +197,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -204,7 +207,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2021/01/index.html b/output/blog/archives/2021/01/index.html
index 49ab7da..fd166cd 100644
--- a/output/blog/archives/2021/01/index.html
+++ b/output/blog/archives/2021/01/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -253,11 +260,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -268,7 +271,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -278,7 +281,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2021/06/index.html b/output/blog/archives/2021/06/index.html
index d8d5497..270d3f9 100644
--- a/output/blog/archives/2021/06/index.html
+++ b/output/blog/archives/2021/06/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -154,11 +161,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -169,7 +172,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -179,7 +182,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2021/11/index.html b/output/blog/archives/2021/11/index.html
index 90adf95..ee40977 100644
--- a/output/blog/archives/2021/11/index.html
+++ b/output/blog/archives/2021/11/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -303,11 +310,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -318,7 +321,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -328,7 +331,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/archives/2022/03/index.html b/output/blog/archives/2022/03/index.html
index 7808bf0..55d64e1 100644
--- a/output/blog/archives/2022/03/index.html
+++ b/output/blog/archives/2022/03/index.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -207,11 +214,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -222,7 +225,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -232,7 +235,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/atom.xml b/output/blog/atom.xml
index 44a2f74..ab912c4 100644
--- a/output/blog/atom.xml
+++ b/output/blog/atom.xml
@@ -5,7 +5,7 @@
   <link href="https://libcloud.apache.org" rel="self" />
   <link href="https://libcloud.apache.org" />
   <id>https://libcloud.apache.org</id>
-  <updated>2022-03-29T22:18:24+02:00</updated>
+  <updated>2022-03-29T21:02:21+00:00</updated>
   <author>
     <name>The Apache Software Foundation</name>
   </author>
@@ -15,7 +15,7 @@
     <title>Libcloud 3.5.0 released</title>
     <link href="https://libcloud.apache.org/blog/2022/03/12/libcloud-3-5-0-released.html" />
     <id>https://libcloud.apache.org/blog/2022/03/12/libcloud-3-5-0-released.html</id>
-    <updated>2022-03-12T00:00:00+01:00</updated>
+    <updated>2022-03-12T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -102,7 +102,7 @@
     <title>Libcloud 3.4.1 released</title>
     <link href="https://libcloud.apache.org/blog/2021/11/15/libcloud-3-4-1-released.html" />
     <id>https://libcloud.apache.org/blog/2021/11/15/libcloud-3-4-1-released.html</id>
-    <updated>2021-11-15T00:00:00+01:00</updated>
+    <updated>2021-11-15T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -186,7 +186,7 @@
     <title>Libcloud 3.4.0 released</title>
     <link href="https://libcloud.apache.org/blog/2021/11/11/libcloud-3-4-0-released.html" />
     <id>https://libcloud.apache.org/blog/2021/11/11/libcloud-3-4-0-released.html</id>
-    <updated>2021-11-11T00:00:00+01:00</updated>
+    <updated>2021-11-11T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -278,7 +278,7 @@
     <title>Dimitris Moraitis (dmo) joins our team</title>
     <link href="https://libcloud.apache.org/blog/2021/06/03/dimitris-moraitis-joins-our-team.html" />
     <id>https://libcloud.apache.org/blog/2021/06/03/dimitris-moraitis-joins-our-team.html</id>
-    <updated>2021-06-03T00:00:00+02:00</updated>
+    <updated>2021-06-03T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -312,7 +312,7 @@
     <title>Libcloud 3.3.1 released</title>
     <link href="https://libcloud.apache.org/blog/2021/01/25/libcloud-3-3-1-released.html" />
     <id>https://libcloud.apache.org/blog/2021/01/25/libcloud-3-3-1-released.html</id>
-    <updated>2021-01-25T00:00:00+01:00</updated>
+    <updated>2021-01-25T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -379,7 +379,7 @@
     <title>Libcloud 3.3.0 released</title>
     <link href="https://libcloud.apache.org/blog/2021/01/02/libcloud-3-3-0-released.html" />
     <id>https://libcloud.apache.org/blog/2021/01/02/libcloud-3-3-0-released.html</id>
-    <updated>2021-01-02T00:00:00+01:00</updated>
+    <updated>2021-01-02T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -438,7 +438,7 @@
     <title>Libcloud 3.2.0 released</title>
     <link href="https://libcloud.apache.org/blog/2020/09/20/libcloud-3-2-0-released.html" />
     <id>https://libcloud.apache.org/blog/2020/09/20/libcloud-3-2-0-released.html</id>
-    <updated>2020-09-20T00:00:00+02:00</updated>
+    <updated>2020-09-20T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -497,7 +497,7 @@
     <title>Miguel Caballer (micafer) joins our team</title>
     <link href="https://libcloud.apache.org/blog/2020/08/31/miguel-caballer-joins-our-team.html" />
     <id>https://libcloud.apache.org/blog/2020/08/31/miguel-caballer-joins-our-team.html</id>
-    <updated>2020-08-31T00:00:00+02:00</updated>
+    <updated>2020-08-31T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -542,7 +542,7 @@
     <title>Latest up to date provider pricing.json data file is now available in an S3 bucket</title>
     <link href="https://libcloud.apache.org/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html" />
     <id>https://libcloud.apache.org/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html</id>
-    <updated>2020-08-02T00:00:00+02:00</updated>
+    <updated>2020-08-02T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
@@ -585,7 +585,7 @@
     <title>Libcloud 3.1.0 released</title>
     <link href="https://libcloud.apache.org/blog/2020/06/12/libcloud-3-1-0-released.html" />
     <id>https://libcloud.apache.org/blog/2020/06/12/libcloud-3-1-0-released.html</id>
-    <updated>2020-06-12T00:00:00+02:00</updated>
+    <updated>2020-06-12T00:00:00+00:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>
diff --git a/output/blog/index.html b/output/blog/index.html
index 9f180ed..4283cbe 100644
--- a/output/blog/index.html
+++ b/output/blog/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li class="active"><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -538,11 +545,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -553,7 +556,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -563,7 +566,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/10/index.html b/output/blog/page/10/index.html
index 1ab2507..cb4cf7b 100644
--- a/output/blog/page/10/index.html
+++ b/output/blog/page/10/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -505,11 +512,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -520,7 +523,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -530,7 +533,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/11/index.html b/output/blog/page/11/index.html
index 457d8e4..7324ed4 100644
--- a/output/blog/page/11/index.html
+++ b/output/blog/page/11/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -445,11 +452,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -460,7 +463,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -470,7 +473,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/12/index.html b/output/blog/page/12/index.html
index 8a2601a..9b259db 100644
--- a/output/blog/page/12/index.html
+++ b/output/blog/page/12/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -376,11 +383,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -391,7 +394,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -401,7 +404,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/13/index.html b/output/blog/page/13/index.html
index 666a341..7acc743 100644
--- a/output/blog/page/13/index.html
+++ b/output/blog/page/13/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -504,11 +511,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -519,7 +522,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -529,7 +532,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/14/index.html b/output/blog/page/14/index.html
index 84d3d85..c5add87 100644
--- a/output/blog/page/14/index.html
+++ b/output/blog/page/14/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -460,11 +467,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -475,7 +478,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -485,7 +488,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/15/index.html b/output/blog/page/15/index.html
index 118b770..ab5058c 100644
--- a/output/blog/page/15/index.html
+++ b/output/blog/page/15/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -408,11 +415,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -423,7 +426,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -433,7 +436,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/16/index.html b/output/blog/page/16/index.html
index 8ada242..b8ab3db 100644
--- a/output/blog/page/16/index.html
+++ b/output/blog/page/16/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -518,11 +525,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -533,7 +536,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -543,7 +546,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/17/index.html b/output/blog/page/17/index.html
index 6897661..a64888b 100644
--- a/output/blog/page/17/index.html
+++ b/output/blog/page/17/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -465,11 +472,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -480,7 +483,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -490,7 +493,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/18/index.html b/output/blog/page/18/index.html
index 982835d..2f453e1 100644
--- a/output/blog/page/18/index.html
+++ b/output/blog/page/18/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -574,11 +581,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -589,7 +592,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -599,7 +602,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/19/index.html b/output/blog/page/19/index.html
index ee813d1..ebf40cf 100644
--- a/output/blog/page/19/index.html
+++ b/output/blog/page/19/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -484,11 +491,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -499,7 +502,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -509,7 +512,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/2/index.html b/output/blog/page/2/index.html
index 123c2ec..2eab416 100644
--- a/output/blog/page/2/index.html
+++ b/output/blog/page/2/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -445,11 +452,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -460,7 +463,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -470,7 +473,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/20/index.html b/output/blog/page/20/index.html
index 745e1a0..b06d550 100644
--- a/output/blog/page/20/index.html
+++ b/output/blog/page/20/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -578,11 +585,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -593,7 +596,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -603,7 +606,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/21/index.html b/output/blog/page/21/index.html
index 547c80f..a3c1892 100644
--- a/output/blog/page/21/index.html
+++ b/output/blog/page/21/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -374,11 +381,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -389,7 +392,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -399,7 +402,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/22/index.html b/output/blog/page/22/index.html
index 0269290..71bd0fc 100644
--- a/output/blog/page/22/index.html
+++ b/output/blog/page/22/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -196,11 +203,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -211,7 +214,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -221,7 +224,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/3/index.html b/output/blog/page/3/index.html
index d5e0f6c..40ac1a0 100644
--- a/output/blog/page/3/index.html
+++ b/output/blog/page/3/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -530,11 +537,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -545,7 +548,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -555,7 +558,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/4/index.html b/output/blog/page/4/index.html
index f7ac096..11b391b 100644
--- a/output/blog/page/4/index.html
+++ b/output/blog/page/4/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -566,11 +573,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -581,7 +584,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -591,7 +594,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/5/index.html b/output/blog/page/5/index.html
index 61defc0..2dfd90e 100644
--- a/output/blog/page/5/index.html
+++ b/output/blog/page/5/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -497,11 +504,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -512,7 +515,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -522,7 +525,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/6/index.html b/output/blog/page/6/index.html
index 15edeff..9f5a824 100644
--- a/output/blog/page/6/index.html
+++ b/output/blog/page/6/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -764,11 +771,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -779,7 +782,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -789,7 +792,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/7/index.html b/output/blog/page/7/index.html
index 804bfc1..f297c8d 100644
--- a/output/blog/page/7/index.html
+++ b/output/blog/page/7/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -703,11 +710,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -718,7 +721,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -728,7 +731,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/8/index.html b/output/blog/page/8/index.html
index bd6e2dc..76447fb 100644
--- a/output/blog/page/8/index.html
+++ b/output/blog/page/8/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -1108,11 +1115,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -1123,7 +1126,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -1133,7 +1136,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/page/9/index.html b/output/blog/page/9/index.html
index 7a99240..68ed1f0 100644
--- a/output/blog/page/9/index.html
+++ b/output/blog/page/9/index.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -807,11 +814,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -822,7 +825,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -832,7 +835,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/announcement.html b/output/blog/tags/announcement.html
index ee374a7..25e811e 100644
--- a/output/blog/tags/announcement.html
+++ b/output/blog/tags/announcement.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -458,11 +465,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -473,7 +476,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -483,7 +486,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/apachecon.html b/output/blog/tags/apachecon.html
index 04c0871..23d5adc 100644
--- a/output/blog/tags/apachecon.html
+++ b/output/blog/tags/apachecon.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -160,11 +167,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -175,7 +178,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -185,7 +188,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/api.html b/output/blog/tags/api.html
index b9ee4ef..6dc2b36 100644
--- a/output/blog/tags/api.html
+++ b/output/blog/tags/api.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -218,11 +225,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -233,7 +236,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -243,7 +246,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/articles.html b/output/blog/tags/articles.html
index c1e2336..f81768b 100644
--- a/output/blog/tags/articles.html
+++ b/output/blog/tags/articles.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -451,11 +458,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -466,7 +469,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -476,7 +479,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/ccna.html b/output/blog/tags/ccna.html
index 1e7bd83..4319572 100644
--- a/output/blog/tags/ccna.html
+++ b/output/blog/tags/ccna.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -160,11 +167,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -175,7 +178,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -185,7 +188,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/celebrations.html b/output/blog/tags/celebrations.html
index 8e57be9..c9c055f 100644
--- a/output/blog/tags/celebrations.html
+++ b/output/blog/tags/celebrations.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -154,11 +161,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -169,7 +172,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -179,7 +182,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/cloudstack.html b/output/blog/tags/cloudstack.html
index f76a3f9..efa0157 100644
--- a/output/blog/tags/cloudstack.html
+++ b/output/blog/tags/cloudstack.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -144,11 +151,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -159,7 +162,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -169,7 +172,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/conferences.html b/output/blog/tags/conferences.html
index 41f4547..0e87276 100644
--- a/output/blog/tags/conferences.html
+++ b/output/blog/tags/conferences.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -205,11 +212,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -220,7 +223,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -230,7 +233,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/containers.html b/output/blog/tags/containers.html
index 739ec9e..dddad4f 100644
--- a/output/blog/tags/containers.html
+++ b/output/blog/tags/containers.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -343,11 +350,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -358,7 +361,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -368,7 +371,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/europython.html b/output/blog/tags/europython.html
index 77de345..aa7cb4b 100644
--- a/output/blog/tags/europython.html
+++ b/output/blog/tags/europython.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -132,11 +139,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -147,7 +150,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -157,7 +160,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/events.html b/output/blog/tags/events.html
index fe46eec..2c1af9c 100644
--- a/output/blog/tags/events.html
+++ b/output/blog/tags/events.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -154,11 +161,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -169,7 +172,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -179,7 +182,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/gce.html b/output/blog/tags/gce.html
index 43d3f10..7446c75 100644
--- a/output/blog/tags/gce.html
+++ b/output/blog/tags/gce.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -306,11 +313,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -321,7 +324,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -331,7 +334,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/github.html b/output/blog/tags/github.html
index 3d021ba..7e80fb8 100644
--- a/output/blog/tags/github.html
+++ b/output/blog/tags/github.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -157,11 +164,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -172,7 +175,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -182,7 +185,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/gsoc.html b/output/blog/tags/gsoc.html
index 8ce28e2..228bec9 100644
--- a/output/blog/tags/gsoc.html
+++ b/output/blog/tags/gsoc.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -173,11 +180,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -188,7 +191,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -198,7 +201,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/gsoc2014.html b/output/blog/tags/gsoc2014.html
index d1d893c..436e30e 100644
--- a/output/blog/tags/gsoc2014.html
+++ b/output/blog/tags/gsoc2014.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -173,11 +180,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -188,7 +191,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -198,7 +201,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/hacktoberfest.html b/output/blog/tags/hacktoberfest.html
index 7936272..1d2abe5 100644
--- a/output/blog/tags/hacktoberfest.html
+++ b/output/blog/tags/hacktoberfest.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -157,11 +164,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -172,7 +175,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -182,7 +185,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/ikoula.html b/output/blog/tags/ikoula.html
index 0a94436..bd100e6 100644
--- a/output/blog/tags/ikoula.html
+++ b/output/blog/tags/ikoula.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -144,11 +151,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -159,7 +162,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -169,7 +172,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/infrastructure.html b/output/blog/tags/infrastructure.html
index 362f94f..8fc2170 100644
--- a/output/blog/tags/infrastructure.html
+++ b/output/blog/tags/infrastructure.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -172,11 +179,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -187,7 +190,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -197,7 +200,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/linode.html b/output/blog/tags/linode.html
index 64cd711..2f287b1 100644
--- a/output/blog/tags/linode.html
+++ b/output/blog/tags/linode.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -195,11 +202,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -210,7 +213,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -220,7 +223,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/new-committer.html b/output/blog/tags/new-committer.html
index b75ff3d..1eab644 100644
--- a/output/blog/tags/new-committer.html
+++ b/output/blog/tags/new-committer.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -674,11 +681,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -689,7 +692,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -699,7 +702,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/new-features.html b/output/blog/tags/new-features.html
index b482f01..51d5840 100644
--- a/output/blog/tags/new-features.html
+++ b/output/blog/tags/new-features.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -254,11 +261,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -269,7 +272,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -279,7 +282,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/new-pmc-member.html b/output/blog/tags/new-pmc-member.html
index 9c05556..0016772 100644
--- a/output/blog/tags/new-pmc-member.html
+++ b/output/blog/tags/new-pmc-member.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -280,11 +287,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -295,7 +298,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -305,7 +308,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/news.html b/output/blog/tags/news.html
index b2cdb88..6c7b209 100644
--- a/output/blog/tags/news.html
+++ b/output/blog/tags/news.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -8601,11 +8608,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -8616,7 +8619,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -8626,7 +8629,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/pmc.html b/output/blog/tags/pmc.html
index f71c119..bda2bc1 100644
--- a/output/blog/tags/pmc.html
+++ b/output/blog/tags/pmc.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -138,11 +145,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -153,7 +156,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -163,7 +166,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/podcasts.html b/output/blog/tags/podcasts.html
index c2fe43f..1f9f5e3 100644
--- a/output/blog/tags/podcasts.html
+++ b/output/blog/tags/podcasts.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -135,11 +142,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -150,7 +153,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -160,7 +163,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/presentations.html b/output/blog/tags/presentations.html
index 9bf78fc..0e4666d 100644
--- a/output/blog/tags/presentations.html
+++ b/output/blog/tags/presentations.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -160,11 +167,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -175,7 +178,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -185,7 +188,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/pricing-data.html b/output/blog/tags/pricing-data.html
index 29f0600..b44cf96 100644
--- a/output/blog/tags/pricing-data.html
+++ b/output/blog/tags/pricing-data.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -161,11 +168,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -176,7 +179,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -186,7 +189,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/providers.html b/output/blog/tags/providers.html
index 81ff466..15a3edb 100644
--- a/output/blog/tags/providers.html
+++ b/output/blog/tags/providers.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -306,11 +313,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -321,7 +324,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -331,7 +334,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/pycon.html b/output/blog/tags/pycon.html
index 3dbefac..f8665cb 100644
--- a/output/blog/tags/pycon.html
+++ b/output/blog/tags/pycon.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -132,11 +139,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -147,7 +150,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -157,7 +160,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/release-announcement.html b/output/blog/tags/release-announcement.html
index 70518d8..885cc55 100644
--- a/output/blog/tags/release-announcement.html
+++ b/output/blog/tags/release-announcement.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -6314,11 +6321,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -6329,7 +6332,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -6339,7 +6342,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/security-release.html b/output/blog/tags/security-release.html
index 7fbc4e8..eab89d3 100644
--- a/output/blog/tags/security-release.html
+++ b/output/blog/tags/security-release.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -351,11 +358,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -366,7 +369,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -376,7 +379,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/sprints.html b/output/blog/tags/sprints.html
index eab830f..b7fa884 100644
--- a/output/blog/tags/sprints.html
+++ b/output/blog/tags/sprints.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -155,11 +162,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -170,7 +173,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -180,7 +183,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/svn.html b/output/blog/tags/svn.html
index 3a8e5c7..3e96fe0 100644
--- a/output/blog/tags/svn.html
+++ b/output/blog/tags/svn.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -172,11 +179,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -187,7 +190,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -197,7 +200,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/tutorial.html b/output/blog/tags/tutorial.html
index e2aa4b2..fb1986e 100644
--- a/output/blog/tags/tutorial.html
+++ b/output/blog/tags/tutorial.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -639,11 +646,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -654,7 +657,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -664,7 +667,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/website.html b/output/blog/tags/website.html
index 132c9bd..4ab9286 100644
--- a/output/blog/tags/website.html
+++ b/output/blog/tags/website.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -240,11 +247,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -255,7 +258,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -265,7 +268,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/blog/tags/year-in-review.html b/output/blog/tags/year-in-review.html
index e8c180f..0f4e8ca 100644
--- a/output/blog/tags/year-in-review.html
+++ b/output/blog/tags/year-in-review.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -205,11 +212,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -220,7 +223,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -230,7 +233,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/community-resources.html b/output/community-resources.html
index d8b591d..677ac96 100644
--- a/output/community-resources.html
+++ b/output/community-resources.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -169,11 +176,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -184,7 +187,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -194,7 +197,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/community.html b/output/community.html
index 74e1c82..f125aaf 100644
--- a/output/community.html
+++ b/output/community.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -195,11 +202,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -210,7 +213,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -220,7 +223,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/credits.html b/output/credits.html
index 532ba92..5c5ff12 100644
--- a/output/credits.html
+++ b/output/credits.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -629,11 +636,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -644,7 +647,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -654,7 +657,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/downloads.html b/output/downloads.html
index 7bc8cc7..a7e1294 100644
--- a/output/downloads.html
+++ b/output/downloads.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -334,11 +341,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -349,7 +352,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -359,7 +362,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/getting-started.html b/output/getting-started.html
index 0e671ac..ba8ab59 100644
--- a/output/getting-started.html
+++ b/output/getting-started.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -217,11 +224,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -232,7 +235,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -242,7 +245,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/gsoc-2012.html b/output/gsoc-2012.html
index bd90293..d9116f2 100644
--- a/output/gsoc-2012.html
+++ b/output/gsoc-2012.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -181,11 +188,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -196,7 +199,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -206,7 +209,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/gsoc-2014.html b/output/gsoc-2014.html
index 611ea31..fbde767 100644
--- a/output/gsoc-2014.html
+++ b/output/gsoc-2014.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -167,11 +174,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -182,7 +185,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -192,7 +195,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/gsoc.html b/output/gsoc.html
index 87fdab1..2727647 100644
--- a/output/gsoc.html
+++ b/output/gsoc.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -127,11 +134,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -142,7 +145,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -152,7 +155,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/index.html b/output/index.html
index b16354e..85bb9e6 100644
--- a/output/index.html
+++ b/output/index.html
@@ -53,7 +53,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -94,6 +94,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -321,11 +328,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -336,7 +339,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -346,10 +349,10 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
-      <script src='/assets/index-156d95901f0d35c8301796194b43a931.js' type='text/javascript'></script>
+      <script src='/assets/index-07ca3b25bd5d68863b7f9117519bf3b5.js' type='text/javascript'></script>
     
 
     <script type="text/javascript">
diff --git a/output/media.html b/output/media.html
index e342fd8..6a5d332 100644
--- a/output/media.html
+++ b/output/media.html
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -88,6 +88,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -137,11 +144,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -152,7 +155,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -162,7 +165,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/security.html b/output/security.html
index cb92b9e..a2b4157 100644
--- a/output/security.html
+++ b/output/security.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -223,11 +230,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -238,7 +241,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -248,7 +251,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
diff --git a/output/sitemap.xml b/output/sitemap.xml
index 277c77f..e148bc1 100644
--- a/output/sitemap.xml
+++ b/output/sitemap.xml
@@ -2,431 +2,431 @@
 <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>https://libcloud.apache.org/blog/2010/02/02/libcloud-0-2-0-released.html</loc>
-<lastmod>2010-02-02T00:00:00+01:00</lastmod>
+<lastmod>2010-02-02T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2010/05/11/libcloud-0-3-1-released.html</loc>
-<lastmod>2010-05-11T00:00:00+02:00</lastmod>
+<lastmod>2010-05-11T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2010/10/12/libcloud-0-4-0-released.html</loc>
-<lastmod>2010-10-12T00:00:00+02:00</lastmod>
+<lastmod>2010-10-12T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/01/17/libcloud-0-4-2-released.html</loc>
-<lastmod>2011-01-17T00:00:00+01:00</lastmod>
+<lastmod>2011-01-17T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/02/15/libcloud-sprint-will-be-held-at-pycon-2011.html</loc>
-<lastmod>2011-02-15T00:00:00+01:00</lastmod>
+<lastmod>2011-02-15T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/05/25/libcloud-0-5-0-released.html</loc>
-<lastmod>2011-05-25T00:00:00+02:00</lastmod>
+<lastmod>2011-05-25T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/06/06/libcloud-sprint-will-be-held-at-europython-2011.html</loc>
-<lastmod>2011-06-06T00:00:00+02:00</lastmod>
+<lastmod>2011-06-06T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/07/04/libcloud-0-5-2-released.html</loc>
-<lastmod>2011-07-04T00:00:00+02:00</lastmod>
+<lastmod>2011-07-04T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/09/01/libcloud-on-floss-weekly.html</loc>
-<lastmod>2011-09-01T00:00:00+02:00</lastmod>
+<lastmod>2011-09-01T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/10/19/libcloud-0-6-0-beta1-released.html</loc>
-<lastmod>2011-10-19T00:00:00+02:00</lastmod>
+<lastmod>2011-10-19T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/11/09/libcloud-0-6-1-released.html</loc>
-<lastmod>2011-11-09T00:00:00+01:00</lastmod>
+<lastmod>2011-11-09T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/11/17/libcloud-0-6-2-released.html</loc>
-<lastmod>2011-11-17T00:00:00+01:00</lastmod>
+<lastmod>2011-11-17T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html</loc>
-<lastmod>2011-11-22T00:00:00+01:00</lastmod>
+<lastmod>2011-11-22T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/12/09/libcloud-0-7-1-released.html</loc>
-<lastmod>2011-12-09T00:00:00+01:00</lastmod>
+<lastmod>2011-12-09T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html</loc>
-<lastmod>2011-12-30T00:00:00+01:00</lastmod>
+<lastmod>2011-12-30T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/02/08/libcloud-0-8-0-released.html</loc>
-<lastmod>2012-02-08T00:00:00+01:00</lastmod>
+<lastmod>2012-02-08T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/04/01/libcloud-0-9-1-released.html</loc>
-<lastmod>2012-04-01T00:00:00+02:00</lastmod>
+<lastmod>2012-04-01T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/05/05/website-and-code-svn-repository-moved.html</loc>
-<lastmod>2012-05-05T00:00:00+02:00</lastmod>
+<lastmod>2012-05-05T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/05/24/libcloud-0-10-1-released.html</loc>
-<lastmod>2012-05-24T00:00:00+02:00</lastmod>
+<lastmod>2012-05-24T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/07/30/libcloud-0-11-0-released.html</loc>
-<lastmod>2012-07-30T00:00:00+02:00</lastmod>
+<lastmod>2012-07-30T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/08/22/libcloud-0-11-1-released.html</loc>
-<lastmod>2012-08-22T00:00:00+02:00</lastmod>
+<lastmod>2012-08-22T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/09/25/libcloud-0-11-3-released.html</loc>
-<lastmod>2012-09-25T00:00:00+02:00</lastmod>
+<lastmod>2012-09-25T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html</loc>
-<lastmod>2012-11-16T00:00:00+01:00</lastmod>
+<lastmod>2012-11-16T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/11/19/libcloud-0-11-4-released.html</loc>
-<lastmod>2012-11-19T00:00:00+01:00</lastmod>
+<lastmod>2012-11-19T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html</loc>
-<lastmod>2012-12-26T00:00:00+01:00</lastmod>
+<lastmod>2012-12-26T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2012/12/28/new-committer-mahendra-maheshwara-joins-our-team.html</loc>
-<lastmod>2012-12-28T00:00:00+01:00</lastmod>
+<lastmod>2012-12-28T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/02/18/libcloud-0-12-1-released.html</loc>
-<lastmod>2013-02-18T00:00:00+01:00</lastmod>
+<lastmod>2013-02-18T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/03/21/libcloud-0-12-3-released.html</loc>
-<lastmod>2013-03-21T00:00:00+01:00</lastmod>
+<lastmod>2013-03-21T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/07/01/libcloud-0-13-0-released.html</loc>
-<lastmod>2013-07-01T00:00:00+02:00</lastmod>
+<lastmod>2013-07-01T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/08/04/new-committer-john-carr-joins-our-team.html</loc>
-<lastmod>2013-08-04T00:00:00+02:00</lastmod>
+<lastmod>2013-08-04T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/09/05/libcloud-0-13-1-released.html</loc>
-<lastmod>2013-09-05T00:00:00+02:00</lastmod>
+<lastmod>2013-09-05T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/11/21/libcloud-0-14-0-beta3-released.html</loc>
-<lastmod>2013-11-21T00:00:00+01:00</lastmod>
+<lastmod>2013-11-21T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html</loc>
-<lastmod>2013-11-25T00:00:00+01:00</lastmod>
+<lastmod>2013-11-25T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html</loc>
-<lastmod>2013-12-28T00:00:00+01:00</lastmod>
+<lastmod>2013-12-28T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/12/29/new-low-volume-announce-mailing-list.html</loc>
-<lastmod>2013-12-29T00:00:00+01:00</lastmod>
+<lastmod>2013-12-29T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2013/12/31/libcloud-0-13-3-released.html</loc>
-<lastmod>2013-12-31T00:00:00+01:00</lastmod>
+<lastmod>2013-12-31T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html</loc>
-<lastmod>2014-01-01T00:00:00+01:00</lastmod>
+<lastmod>2014-01-01T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/01/22/libcloud-0-14-0-released.html</loc>
-<lastmod>2014-01-22T00:00:00+01:00</lastmod>
+<lastmod>2014-01-22T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/01/23/welcome-to-the-new-website.html</loc>
-<lastmod>2014-01-23T00:00:00+01:00</lastmod>
+<lastmod>2014-01-23T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html</loc>
-<lastmod>2014-01-27T00:00:00+01:00</lastmod>
+<lastmod>2014-01-27T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/04/libcloud-0-14-and-rackspace.html</loc>
-<lastmod>2014-02-04T00:00:00+01:00</lastmod>
+<lastmod>2014-02-04T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html</loc>
-<lastmod>2014-02-07T00:00:00+01:00</lastmod>
+<lastmod>2014-02-07T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/08/libcloud-0-14-1-released.html</loc>
-<lastmod>2014-02-08T00:00:00+01:00</lastmod>
+<lastmod>2014-02-08T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/11/libcloud-0-14-1-and-cloudsigma.html</loc>
-<lastmod>2014-02-11T00:00:00+01:00</lastmod>
+<lastmod>2014-02-11T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/14/call-for-participation-in-gsoc-2014.html</loc>
-<lastmod>2014-02-14T00:00:00+01:00</lastmod>
+<lastmod>2014-02-14T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/17/sebastien-goasguen-joins-our-team.html</loc>
-<lastmod>2014-02-17T00:00:00+01:00</lastmod>
+<lastmod>2014-02-17T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/18/libcloud-0-14-and-google-cloud-platform.html</loc>
-<lastmod>2014-02-18T00:00:00+01:00</lastmod>
+<lastmod>2014-02-18T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/02/21/libcloud-0-14-and-ikoula.html</loc>
-<lastmod>2014-02-21T00:00:00+01:00</lastmod>
+<lastmod>2014-02-21T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/04/15/libcloud-at-apachecon.html</loc>
-<lastmod>2014-04-15T00:00:00+02:00</lastmod>
+<lastmod>2014-04-15T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/05/13/libcloud-accepted-in-gsoc-2014.html</loc>
-<lastmod>2014-05-13T00:00:00+02:00</lastmod>
+<lastmod>2014-05-13T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/06/26/libcloud-0-15-0-released.html</loc>
-<lastmod>2014-06-26T00:00:00+02:00</lastmod>
+<lastmod>2014-06-26T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/07/07/libcloud-5th-birthday-celebration-during-europython-week-in-berlin.html</loc>
-<lastmod>2014-07-07T00:00:00+02:00</lastmod>
+<lastmod>2014-07-07T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/07/10/libcloud-0-15-1-released.html</loc>
-<lastmod>2014-07-10T00:00:00+02:00</lastmod>
+<lastmod>2014-07-10T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/11/12/libcloud-0-16-0-released.html</loc>
-<lastmod>2014-11-12T00:00:00+01:00</lastmod>
+<lastmod>2014-11-12T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2014/12/04/eric-johnson-joins-our-team.html</loc>
-<lastmod>2014-12-04T00:00:00+01:00</lastmod>
+<lastmod>2014-12-04T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2015/02/18/libcloud-0-17-0-released.html</loc>
-<lastmod>2015-02-18T00:00:00+01:00</lastmod>
+<lastmod>2015-02-18T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2015/03/17/allard-hoeve-joins-our-team.html</loc>
-<lastmod>2015-03-17T00:00:00+01:00</lastmod>
+<lastmod>2015-03-17T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2015/08/13/libcloud-0-18-0-released.html</loc>
-<lastmod>2015-08-13T00:00:00+02:00</lastmod>
+<lastmod>2015-08-13T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html</loc>
-<lastmod>2015-10-05T00:00:00+02:00</lastmod>
+<lastmod>2015-10-05T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2015/10/30/libcloud-0-19-0-released.html</loc>
-<lastmod>2015-10-30T00:00:00+01:00</lastmod>
+<lastmod>2015-10-30T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2015/11/18/anthony-shaw-joins-our-team.html</loc>
-<lastmod>2015-11-18T00:00:00+01:00</lastmod>
+<lastmod>2015-11-18T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2015/12/15/libcloud-0-20-0-released.html</loc>
-<lastmod>2015-12-15T00:00:00+01:00</lastmod>
+<lastmod>2015-12-15T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/01/14/notice-for-linode-users.html</loc>
-<lastmod>2016-01-14T00:00:00+01:00</lastmod>
+<lastmod>2016-01-14T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/01/19/libcloud-0-20-1-released.html</loc>
-<lastmod>2016-01-19T00:00:00+01:00</lastmod>
+<lastmod>2016-01-19T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/01/20/libcloud-1.0-pre1.html</loc>
-<lastmod>2016-01-20T00:00:00+01:00</lastmod>
+<lastmod>2016-01-20T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/01/26/libcloud-1-0-0-pre1-released.html</loc>
-<lastmod>2016-01-26T00:00:00+01:00</lastmod>
+<lastmod>2016-01-26T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/02/05/libcloud-containers-example.html</loc>
-<lastmod>2016-02-05T00:00:00+01:00</lastmod>
+<lastmod>2016-02-05T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/02/16/new-drivers-deprecated-drivers.html</loc>
-<lastmod>2016-02-16T00:00:00+01:00</lastmod>
+<lastmod>2016-02-16T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/04/06/requests-support.html</loc>
-<lastmod>2016-04-06T00:00:00+02:00</lastmod>
+<lastmod>2016-04-06T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/04/11/libcloud-1-0-0-rc2-released.html</loc>
-<lastmod>2016-04-11T00:00:00+02:00</lastmod>
+<lastmod>2016-04-11T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/06/22/libcloud-1-0-0-released.html</loc>
-<lastmod>2016-06-22T00:00:00+02:00</lastmod>
+<lastmod>2016-06-22T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/07/07/libcloud-1-1-0-released.html</loc>
-<lastmod>2016-07-07T00:00:00+02:00</lastmod>
+<lastmod>2016-07-07T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/09/23/libcloud-1-2-1-released.html</loc>
-<lastmod>2016-09-23T00:00:00+02:00</lastmod>
+<lastmod>2016-09-23T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/10/14/libcloud-1-3-0-released.html</loc>
-<lastmod>2016-10-14T00:00:00+02:00</lastmod>
+<lastmod>2016-10-14T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/11/27/libcloud-1-4-0-released.html</loc>
-<lastmod>2016-11-27T00:00:00+01:00</lastmod>
+<lastmod>2016-11-27T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2016/12/29/libcloud-1-5-0-released.html</loc>
-<lastmod>2016-12-29T00:00:00+01:00</lastmod>
+<lastmod>2016-12-29T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2017/04/07/libcloud-2-0-0-rc2-released.html</loc>
-<lastmod>2017-04-07T00:00:00+02:00</lastmod>
+<lastmod>2017-04-07T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2017/04/09/async-rfc.html</loc>
-<lastmod>2017-04-09T00:00:00+02:00</lastmod>
+<lastmod>2017-04-09T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2017/04/25/libcloud-2-0-0-released.html</loc>
-<lastmod>2017-04-25T00:00:00+02:00</lastmod>
+<lastmod>2017-04-25T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2017/07/17/libcloud-2-1-0-released.html</loc>
-<lastmod>2017-07-17T00:00:00+02:00</lastmod>
+<lastmod>2017-07-17T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2017/09/03/libcloud-2-2-0-released.html</loc>
-<lastmod>2017-09-03T00:00:00+02:00</lastmod>
+<lastmod>2017-09-03T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2017/09/21/libcloud-2-2-1-released.html</loc>
-<lastmod>2017-09-21T00:00:00+02:00</lastmod>
+<lastmod>2017-09-21T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2017/12/30/libcloud-year-in-review-2017-released.html</loc>
-<lastmod>2017-12-30T00:00:00+01:00</lastmod>
+<lastmod>2017-12-30T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2018/03/03/libcloud-2-3-0-released.html</loc>
-<lastmod>2018-03-03T00:00:00+01:00</lastmod>
+<lastmod>2018-03-03T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2018/06/27/rick-van-de-loo-joins-our-team.html</loc>
-<lastmod>2018-06-27T00:00:00+02:00</lastmod>
+<lastmod>2018-06-27T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2018/11/08/libcloud-2-4-0-released.html</loc>
-<lastmod>2018-11-08T00:00:00+01:00</lastmod>
+<lastmod>2018-11-08T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2019/05/30/libcloud-2-5-0-released.html</loc>
-<lastmod>2019-05-30T00:00:00+02:00</lastmod>
+<lastmod>2019-05-30T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2019/08/27/clemens-wolff-joins-our-team.html</loc>
-<lastmod>2019-08-27T00:00:00+02:00</lastmod>
+<lastmod>2019-08-27T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2019/08/28/libcloud-2-6-0-released.html</loc>
-<lastmod>2019-08-28T00:00:00+02:00</lastmod>
+<lastmod>2019-08-28T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2019/11/18/libcloud-2-6-1-released.html</loc>
-<lastmod>2019-11-18T00:00:00+01:00</lastmod>
+<lastmod>2019-11-18T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2019/12/09/libcloud-2-7-0-released.html</loc>
-<lastmod>2019-12-09T00:00:00+01:00</lastmod>
+<lastmod>2019-12-09T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/01/02/libcloud-2-8-0-released.html</loc>
-<lastmod>2020-01-02T00:00:00+01:00</lastmod>
+<lastmod>2020-01-02T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/01/29/libcloud-3-0-0-rc1-released.html</loc>
-<lastmod>2020-01-29T00:00:00+01:00</lastmod>
+<lastmod>2020-01-29T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/03/03/libcloud-2-8-1-released.html</loc>
-<lastmod>2020-03-03T00:00:00+01:00</lastmod>
+<lastmod>2020-03-03T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/04/15/libcloud-2-8-2-released.html</loc>
-<lastmod>2020-04-15T00:00:00+02:00</lastmod>
+<lastmod>2020-04-15T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/04/15/libcloud-3-0-0-released.html</loc>
-<lastmod>2020-04-15T00:00:00+02:00</lastmod>
+<lastmod>2020-04-15T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/06/12/libcloud-2-8-3-released.html</loc>
-<lastmod>2020-06-12T00:00:00+02:00</lastmod>
+<lastmod>2020-06-12T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/06/12/libcloud-3-1-0-released.html</loc>
-<lastmod>2020-06-12T00:00:00+02:00</lastmod>
+<lastmod>2020-06-12T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/08/02/latest-provider-pricing-data-available-in-s3-bucket.html</loc>
-<lastmod>2020-08-02T00:00:00+02:00</lastmod>
+<lastmod>2020-08-02T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/08/31/miguel-caballer-joins-our-team.html</loc>
-<lastmod>2020-08-31T00:00:00+02:00</lastmod>
+<lastmod>2020-08-31T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2020/09/20/libcloud-3-2-0-released.html</loc>
-<lastmod>2020-09-20T00:00:00+02:00</lastmod>
+<lastmod>2020-09-20T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2021/01/02/libcloud-3-3-0-released.html</loc>
-<lastmod>2021-01-02T00:00:00+01:00</lastmod>
+<lastmod>2021-01-02T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2021/01/25/libcloud-3-3-1-released.html</loc>
-<lastmod>2021-01-25T00:00:00+01:00</lastmod>
+<lastmod>2021-01-25T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2021/06/03/dimitris-moraitis-joins-our-team.html</loc>
-<lastmod>2021-06-03T00:00:00+02:00</lastmod>
+<lastmod>2021-06-03T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2021/11/11/libcloud-3-4-0-released.html</loc>
-<lastmod>2021-11-11T00:00:00+01:00</lastmod>
+<lastmod>2021-11-11T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2021/11/15/libcloud-3-4-1-released.html</loc>
-<lastmod>2021-11-15T00:00:00+01:00</lastmod>
+<lastmod>2021-11-15T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/blog/2022/03/12/libcloud-3-5-0-released.html</loc>
-<lastmod>2022-03-12T00:00:00+01:00</lastmod>
+<lastmod>2022-03-12T00:00:00+00:00</lastmod>
 </url>
 <url>
 <loc>https://libcloud.apache.org/about</loc>
diff --git a/output/whois-using.html b/output/whois-using.html
index c4a7f97..373b7ae 100644
--- a/output/whois-using.html
+++ b/output/whois-using.html
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-9ad44ae0b8c243de34d83a0fd302c8ab.css' rel='stylesheet' type='text/css' />
+    <link href='/assets/global-a40781fe261dc321dedf73b165dc6dff.css' rel='stylesheet' type='text/css' />
   </head>
 
   <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
@@ -92,6 +92,13 @@
               <li ><a href="/blog/" >Blog</a></li>
             
           </ul>
+
+          <div class="material-switch pull-right">
+              <input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
+              <label for="theme-switch" class="label-default"></label>
+              <span id="theme-toggle" class="theme-switch">Dark mode</span>
+          </div>
+
         </div><!-- /.navbar-collapse -->
       </div><!-- /.container -->
     </nav>
@@ -279,11 +286,7 @@
       <footer>
         <div class="row">
           <div class="col-lg-12 text-center">
-            <div class="footer-theme-switch">
-Theme: <a id="theme-toggle" onclick="modeSwitcher()"></a>
-</div>
-
-<div class="footer-links">
+            <div class="footer-links">
   <p><a href="http://www.apache.org/licenses/">License</a> | <a
   href="/security.html">Security</a> | <a
   href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
@@ -294,7 +297,7 @@
 <div class="footer-text">
   <p class="">Copyright &copy; 2009-2022 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
   <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
-  <p class="">Site last updated on 2022-03-29 22:18:24 +0200</p>
+  <p class="">Site last updated on 2022-03-29 21:02:21 +0000</p>
 </div>
 
           </div>
@@ -304,7 +307,7 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-1f3baa3761ee0b5fc71e1fd192fe1c26.js' type='text/javascript'></script>
+    <script src='/assets/global-9d3ec4fa3c143ff7102734d40de1aad8.js' type='text/javascript'></script>
 
     
 
