diff --git a/README.md b/README.md
index 1916b4c5fd288f03970e7effc22b51b3ccf6d24c..e2d69437de66d343fb7962a5c2d98d85df687180 100644
--- a/README.md
+++ b/README.md
@@ -50,7 +50,6 @@ optional arguments:
                         verbosity: "debug", "info", or "quiet"
   --version             show version information and exit
   -h, --help            show this help message and exit
-
 ```
 
 To run the test suite, do the following:
diff --git a/docs/build.sh b/docs/build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7e936db39e94c48be4144425b0bb4f672d30d1a1
--- /dev/null
+++ b/docs/build.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+echo "Preprocessing..."
+
+# include a date stamp with the latest commit
+sed -i -e "s/\*Last updated:.*/\*Last updated: $(git log --format="%cd (commit %h)" --date=short -1)\*  /" src/index.md 
+
+echo "Building documentation..."
+
+julia builddocs.jl
+
+# Disabling the pretty-url feature of `makedocs` doesn't work, so we have to
+# revert it manually
+
+echo "Postprocessing..."
+
+sed -i -e "s/io\//io\/index.html/g" build/index.html build/search_index.js
+sed -i -e "s/developing\//developing\/index.html/g" build/index.html build/search_index.js
+sed -i -e "s/populations\//populations\/index.html/g" build/index.html build/search_index.js
+sed -i -e "s/species\//species\/index.html/g" build/index.html build/search_index.js
+sed -i -e "s/crops\//crops\/index.html/g" build/index.html build/search_index.js
+sed -i -e "s/farm\//farm\/index.html/g" build/index.html build/search_index.js
+sed -i -e "s/simulation\//simulation\/index.html/g" build/index.html build/search_index.js
+sed -i -e "s/search\//search\/index.html/g" build/index.html build/search_index.js
+
+sed -i -e "s/href=\"..\/\"/href=\"..\/index.html\"/g" build/*/index.html
+sed -i -e "s/..\/io\//..\/io\/index.html/g" build/*/index.html
+sed -i -e "s/..\/developing\//..\/developing\/index.html/g" build/*/index.html
+sed -i -e "s/..\/nature\//..\/nature\/index.html/g" build/*/index.html
+sed -i -e "s/..\/species\//..\/species\/index.html/g" build/*/index.html
+sed -i -e "s/..\/crops\//..\/crops\/index.html/g" build/*/index.html
+sed -i -e "s/..\/farm\//..\/farm\/index.html/g" build/*/index.html
+sed -i -e "s/..\/simulation\//..\/simulation\/index.html/g" build/*/index.html
+sed -i -e "s/..\/search\//..\/search\/index.html/g" build/*/index.html
+
+echo "Done."
diff --git a/docs/build/assets/documenter.js b/docs/build/assets/documenter.js
new file mode 100644
index 0000000000000000000000000000000000000000..6adfbbbf4b7053d5471b0aae6abb5fd350c5d0b6
--- /dev/null
+++ b/docs/build/assets/documenter.js
@@ -0,0 +1,331 @@
+// Generated by Documenter.jl
+requirejs.config({
+  paths: {
+    'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min',
+    'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min',
+    'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
+    'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min',
+    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
+    'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min',
+    'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min',
+    'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min',
+    'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min',
+  },
+  shim: {
+  "highlight-julia": {
+    "deps": [
+      "highlight"
+    ]
+  },
+  "katex-auto-render": {
+    "deps": [
+      "katex"
+    ]
+  },
+  "headroom-jquery": {
+    "deps": [
+      "jquery",
+      "headroom"
+    ]
+  },
+  "highlight-julia-repl": {
+    "deps": [
+      "highlight"
+    ]
+  }
+}
+});
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) {
+$(document).ready(function() {
+  renderMathInElement(
+    document.body,
+    {
+  "delimiters": [
+    {
+      "left": "$",
+      "right": "$",
+      "display": false
+    },
+    {
+      "left": "$$",
+      "right": "$$",
+      "display": true
+    },
+    {
+      "left": "\\[",
+      "right": "\\]",
+      "display": true
+    }
+  ]
+}
+
+  );
+})
+
+})
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) {
+$(document).ready(function() {
+    hljs.highlightAll();
+})
+
+})
+////////////////////////////////////////////////////////////////////////////////
+require([], function() {
+function addCopyButtonCallbacks() {
+  for (const el of document.getElementsByTagName("pre")) {
+    const button = document.createElement("button");
+    button.classList.add("copy-button", "fas", "fa-copy");
+    el.appendChild(button);
+
+    const success = function () {
+      button.classList.add("success", "fa-check");
+      button.classList.remove("fa-copy");
+    };
+
+    const failure = function () {
+      button.classList.add("error", "fa-times");
+      button.classList.remove("fa-copy");
+    };
+
+    button.addEventListener("click", function () {
+      copyToClipboard(el.innerText).then(success, failure);
+
+      setTimeout(function () {
+        button.classList.add("fa-copy");
+        button.classList.remove("success", "fa-check", "fa-times");
+      }, 5000);
+    });
+  }
+}
+
+function copyToClipboard(text) {
+  // clipboard API is only available in secure contexts
+  if (window.navigator && window.navigator.clipboard) {
+    return window.navigator.clipboard.writeText(text);
+  } else {
+    return new Promise(function (resolve, reject) {
+      try {
+        const el = document.createElement("textarea");
+        el.textContent = text;
+        el.style.position = "fixed";
+        el.style.opacity = 0;
+        document.body.appendChild(el);
+        el.select();
+        document.execCommand("copy");
+
+        resolve();
+      } catch (err) {
+        reject(err);
+      } finally {
+        document.body.removeChild(el);
+      }
+    });
+  }
+}
+
+if (document.readyState === "loading") {
+  document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks);
+} else {
+  addCopyButtonCallbacks();
+}
+
+})
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
+
+// Manages the top navigation bar (hides it when the user starts scrolling down on the
+// mobile).
+window.Headroom = Headroom; // work around buggy module loading?
+$(document).ready(function() {
+  $('#documenter .docs-navbar').headroom({
+    "tolerance": {"up": 10, "down": 10},
+  });
+})
+
+})
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery'], function($) {
+
+// Modal settings dialog
+$(document).ready(function() {
+  var settings = $('#documenter-settings');
+  $('#documenter-settings-button').click(function(){
+    settings.toggleClass('is-active');
+  });
+  // Close the dialog if X is clicked
+  $('#documenter-settings button.delete').click(function(){
+    settings.removeClass('is-active');
+  });
+  // Close dialog if ESC is pressed
+  $(document).keyup(function(e) {
+    if (e.keyCode == 27) settings.removeClass('is-active');
+  });
+});
+
+})
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery'], function($) {
+
+// Manages the showing and hiding of the sidebar.
+$(document).ready(function() {
+  var sidebar = $("#documenter > .docs-sidebar");
+  var sidebar_button = $("#documenter-sidebar-button")
+  sidebar_button.click(function(ev) {
+    ev.preventDefault();
+    sidebar.toggleClass('visible');
+    if (sidebar.hasClass('visible')) {
+      // Makes sure that the current menu item is visible in the sidebar.
+      $("#documenter .docs-menu a.is-active").focus();
+    }
+  });
+  $("#documenter > .docs-main").bind('click', function(ev) {
+    if ($(ev.target).is(sidebar_button)) {
+      return;
+    }
+    if (sidebar.hasClass('visible')) {
+      sidebar.removeClass('visible');
+    }
+  });
+})
+
+// Resizes the package name / sitename in the sidebar if it is too wide.
+// Inspired by: https://github.com/davatron5000/FitText.js
+$(document).ready(function() {
+  e = $("#documenter .docs-autofit");
+  function resize() {
+    var L = parseInt(e.css('max-width'), 10);
+    var L0 = e.width();
+    if(L0 > L) {
+      var h0 = parseInt(e.css('font-size'), 10);
+      e.css('font-size', L * h0 / L0);
+      // TODO: make sure it survives resizes?
+    }
+  }
+  // call once and then register events
+  resize();
+  $(window).resize(resize);
+  $(window).on('orientationchange', resize);
+});
+
+// Scroll the navigation bar to the currently selected menu item
+$(document).ready(function() {
+  var sidebar = $("#documenter .docs-menu").get(0);
+  var active = $("#documenter .docs-menu .is-active").get(0);
+  if(typeof active !== 'undefined') {
+    sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
+  }
+})
+
+})
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery'], function($) {
+
+function set_theme(theme) {
+  var active = null;
+  var disabled = [];
+  for (var i = 0; i < document.styleSheets.length; i++) {
+    var ss = document.styleSheets[i];
+    var themename = ss.ownerNode.getAttribute("data-theme-name");
+    if(themename === null) continue; // ignore non-theme stylesheets
+    // Find the active theme
+    if(themename === theme) active = ss;
+    else disabled.push(ss);
+  }
+  if(active !== null) {
+    active.disabled = false;
+    if(active.ownerNode.getAttribute("data-theme-primary") === null) {
+      document.getElementsByTagName('html')[0].className = "theme--" + theme;
+    } else {
+      document.getElementsByTagName('html')[0].className = "";
+    }
+    disabled.forEach(function(ss){
+      ss.disabled = true;
+    });
+  }
+
+  // Store the theme in localStorage
+  if(typeof(window.localStorage) !== "undefined") {
+    window.localStorage.setItem("documenter-theme", theme);
+  } else {
+    console.error("Browser does not support window.localStorage");
+  }
+}
+
+// Theme picker setup
+$(document).ready(function() {
+  // onchange callback
+  $('#documenter-themepicker').change(function themepick_callback(ev){
+    var themename = $('#documenter-themepicker option:selected').attr('value');
+    set_theme(themename);
+  });
+
+  // Make sure that the themepicker displays the correct theme when the theme is retrieved
+  // from localStorage
+  if(typeof(window.localStorage) !== "undefined") {
+    var theme =  window.localStorage.getItem("documenter-theme");
+    if(theme !== null) {
+      $('#documenter-themepicker option').each(function(i,e) {
+        e.selected = (e.value === theme);
+      })
+    } else {
+      $('#documenter-themepicker option').each(function(i,e) {
+        e.selected = $("html").hasClass(`theme--${e.value}`);
+      })
+    }
+  }
+})
+
+})
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery'], function($) {
+
+// update the version selector with info from the siteinfo.js and ../versions.js files
+$(document).ready(function() {
+  // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
+  // siteinfo.js file, we just return immediately and not display the version selector.
+  if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) {
+    return;
+  }
+
+  var version_selector = $("#documenter .docs-version-selector");
+  var version_selector_select = $("#documenter .docs-version-selector select");
+
+  version_selector_select.change(function(x) {
+    target_href = version_selector_select.children("option:selected").get(0).value;
+    window.location.href = target_href;
+  });
+
+  // add the current version to the selector based on siteinfo.js, but only if the selector is empty
+  if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
+    var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
+    version_selector_select.append(option);
+  }
+
+  if (typeof DOC_VERSIONS !== 'undefined') {
+    var existing_versions = version_selector_select.children("option");
+    var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
+    DOC_VERSIONS.forEach(function(each) {
+      var version_url = documenterBaseURL + "/../" + each;
+      var existing_id = $.inArray(each, existing_versions_texts);
+      // if not already in the version selector, add it as a new option,
+      // otherwise update the old option with the URL and enable it
+      if (existing_id == -1) {
+        var option = $("<option value='" + version_url + "'>" + each + "</option>");
+        version_selector_select.append(option);
+      } else {
+        var option = existing_versions[existing_id];
+        option.value = version_url;
+        option.disabled = false;
+      }
+    });
+  }
+
+  // only show the version selector if the selector has been populated
+  if (version_selector_select.children("option").length > 0) {
+    version_selector.toggleClass("visible");
+  }
+})
+
+})
diff --git a/docs/build/assets/logo.png b/docs/build/assets/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fcae1bfb8df8bca2a249b69a91ca68db4f7531d
Binary files /dev/null and b/docs/build/assets/logo.png differ
diff --git a/docs/build/assets/search.js b/docs/build/assets/search.js
new file mode 100644
index 0000000000000000000000000000000000000000..c133f74101b10f5aaa443c6d5b6e1282a31db2c6
--- /dev/null
+++ b/docs/build/assets/search.js
@@ -0,0 +1,267 @@
+// Generated by Documenter.jl
+requirejs.config({
+  paths: {
+    'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min',
+    'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min',
+    'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
+  }
+});
+////////////////////////////////////////////////////////////////////////////////
+require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
+
+$(document).ready(function() {
+  // parseUri 1.2.2
+  // (c) Steven Levithan <stevenlevithan.com>
+  // MIT License
+  function parseUri (str) {
+    var  o   = parseUri.options,
+      m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
+      uri = {},
+      i   = 14;
+
+    while (i--) uri[o.key[i]] = m[i] || "";
+
+    uri[o.q.name] = {};
+    uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
+      if ($1) uri[o.q.name][$1] = $2;
+    });
+
+    return uri;
+  };
+  parseUri.options = {
+    strictMode: false,
+    key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
+    q:   {
+      name:   "queryKey",
+      parser: /(?:^|&)([^&=]*)=?([^&]*)/g
+    },
+    parser: {
+      strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
+      loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
+    }
+  };
+
+  $("#search-form").submit(function(e) {
+    e.preventDefault()
+  })
+
+  // list below is the lunr 2.1.3 list minus the intersect with names(Base)
+  // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
+  // ideally we'd just filter the original list but it's not available as a variable
+  lunr.stopWordFilter = lunr.generateStopWordFilter([
+    'a',
+    'able',
+    'about',
+    'across',
+    'after',
+    'almost',
+    'also',
+    'am',
+    'among',
+    'an',
+    'and',
+    'are',
+    'as',
+    'at',
+    'be',
+    'because',
+    'been',
+    'but',
+    'by',
+    'can',
+    'cannot',
+    'could',
+    'dear',
+    'did',
+    'does',
+    'either',
+    'ever',
+    'every',
+    'from',
+    'got',
+    'had',
+    'has',
+    'have',
+    'he',
+    'her',
+    'hers',
+    'him',
+    'his',
+    'how',
+    'however',
+    'i',
+    'if',
+    'into',
+    'it',
+    'its',
+    'just',
+    'least',
+    'like',
+    'likely',
+    'may',
+    'me',
+    'might',
+    'most',
+    'must',
+    'my',
+    'neither',
+    'no',
+    'nor',
+    'not',
+    'of',
+    'off',
+    'often',
+    'on',
+    'or',
+    'other',
+    'our',
+    'own',
+    'rather',
+    'said',
+    'say',
+    'says',
+    'she',
+    'should',
+    'since',
+    'so',
+    'some',
+    'than',
+    'that',
+    'the',
+    'their',
+    'them',
+    'then',
+    'there',
+    'these',
+    'they',
+    'this',
+    'tis',
+    'to',
+    'too',
+    'twas',
+    'us',
+    'wants',
+    'was',
+    'we',
+    'were',
+    'what',
+    'when',
+    'who',
+    'whom',
+    'why',
+    'will',
+    'would',
+    'yet',
+    'you',
+    'your'
+  ])
+
+  // add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
+  // would not find anything if searching for "add!", only for the entire qualification
+  lunr.tokenizer.separator = /[\s\-\.]+/
+
+  // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
+  lunr.trimmer = function (token) {
+    return token.update(function (s) {
+      return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
+    })
+  }
+
+  lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
+  lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
+
+  var index = lunr(function () {
+    this.ref('location')
+    this.field('title',{boost: 100})
+    this.field('text')
+    documenterSearchIndex['docs'].forEach(function(e) {
+        this.add(e)
+    }, this)
+  })
+  var store = {}
+
+  documenterSearchIndex['docs'].forEach(function(e) {
+      store[e.location] = {title: e.title, category: e.category, page: e.page}
+  })
+
+  $(function(){
+    searchresults = $('#documenter-search-results');
+    searchinfo = $('#documenter-search-info');
+    searchbox = $('#documenter-search-query');
+    searchform = $('.docs-search');
+    sidebar = $('.docs-sidebar');
+    function update_search(querystring) {
+      tokens = lunr.tokenizer(querystring)
+      results = index.query(function (q) {
+        tokens.forEach(function (t) {
+          q.term(t.toString(), {
+            fields: ["title"],
+            boost: 100,
+            usePipeline: true,
+            editDistance: 0,
+            wildcard: lunr.Query.wildcard.NONE
+          })
+          q.term(t.toString(), {
+            fields: ["title"],
+            boost: 10,
+            usePipeline: true,
+            editDistance: 2,
+            wildcard: lunr.Query.wildcard.NONE
+          })
+          q.term(t.toString(), {
+            fields: ["text"],
+            boost: 1,
+            usePipeline: true,
+            editDistance: 0,
+            wildcard: lunr.Query.wildcard.NONE
+          })
+        })
+      })
+      searchinfo.text("Number of results: " + results.length)
+      searchresults.empty()
+      results.forEach(function(result) {
+        data = store[result.ref]
+        link = $('<a class="docs-label">'+data.title+'</a>')
+        link.attr('href', documenterBaseURL+'/'+result.ref)
+        if (data.category != "page"){
+          cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>')
+        } else {
+          cat = $('<span class="docs-category">('+data.category+')</span>')
+        }
+        li = $('<li>').append(link).append(" ").append(cat)
+        searchresults.append(li)
+      })
+    }
+
+    function update_search_box() {
+      querystring = searchbox.val()
+      update_search(querystring)
+    }
+
+    searchbox.keyup(_.debounce(update_search_box, 250))
+    searchbox.change(update_search_box)
+
+    // Disable enter-key form submission for the searchbox on the search page
+    // and just re-run search rather than refresh the whole page.
+    searchform.keypress(
+      function(event){
+        if (event.which == '13') {
+          if (sidebar.hasClass('visible')) {
+            sidebar.removeClass('visible');
+          }
+          update_search_box();
+          event.preventDefault();
+        }
+      }
+    );
+
+    search_query_uri = parseUri(window.location).queryKey["q"]
+    if(search_query_uri !== undefined) {
+      search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
+      searchbox.val(search_query)
+    }
+    update_search_box();
+  })
+})
+
+})
diff --git a/docs/build/assets/themes/documenter-dark.css b/docs/build/assets/themes/documenter-dark.css
new file mode 100644
index 0000000000000000000000000000000000000000..0bf1af7d5e33cfc15acb4d0d30b1f6a3950f3701
--- /dev/null
+++ b/docs/build/assets/themes/documenter-dark.css
@@ -0,0 +1,7702 @@
+@charset "UTF-8";
+/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
+@keyframes spinAround {
+  from {
+    transform: rotate(0deg); }
+  to {
+    transform: rotate(359deg); } }
+
+html.theme--documenter-dark .tabs, html.theme--documenter-dark .pagination-previous,
+html.theme--documenter-dark .pagination-next,
+html.theme--documenter-dark .pagination-link,
+html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .breadcrumb, html.theme--documenter-dark .file, html.theme--documenter-dark .button, .is-unselectable, html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none; }
+
+html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after, html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
+  border: 3px solid transparent;
+  border-radius: 2px;
+  border-right: 0;
+  border-top: 0;
+  content: " ";
+  display: block;
+  height: 0.625em;
+  margin-top: -0.4375em;
+  pointer-events: none;
+  position: absolute;
+  top: 50%;
+  transform: rotate(-45deg);
+  transform-origin: center;
+  width: 0.625em; }
+
+html.theme--documenter-dark .admonition:not(:last-child), html.theme--documenter-dark .tabs:not(:last-child), html.theme--documenter-dark .message:not(:last-child), html.theme--documenter-dark .list:not(:last-child), html.theme--documenter-dark .level:not(:last-child), html.theme--documenter-dark .breadcrumb:not(:last-child), html.theme--documenter-dark .highlight:not(:last-child), html.theme--documenter-dark .block:not(:last-child), html.theme--documenter-dark .title:not(:last-child),
+html.theme--documenter-dark .subtitle:not(:last-child), html.theme--documenter-dark .table-container:not(:last-child), html.theme--documenter-dark .table:not(:last-child), html.theme--documenter-dark .progress:not(:last-child), html.theme--documenter-dark .notification:not(:last-child), html.theme--documenter-dark .content:not(:last-child), html.theme--documenter-dark .box:not(:last-child) {
+  margin-bottom: 1.5rem; }
+
+html.theme--documenter-dark .modal-close, html.theme--documenter-dark .delete {
+  -moz-appearance: none;
+  -webkit-appearance: none;
+  background-color: rgba(10, 10, 10, 0.2);
+  border: none;
+  border-radius: 290486px;
+  cursor: pointer;
+  pointer-events: auto;
+  display: inline-block;
+  flex-grow: 0;
+  flex-shrink: 0;
+  font-size: 0;
+  height: 20px;
+  max-height: 20px;
+  max-width: 20px;
+  min-height: 20px;
+  min-width: 20px;
+  outline: none;
+  position: relative;
+  vertical-align: top;
+  width: 20px; }
+  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before, html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
+    background-color: white;
+    content: "";
+    display: block;
+    left: 50%;
+    position: absolute;
+    top: 50%;
+    transform: translateX(-50%) translateY(-50%) rotate(45deg);
+    transform-origin: center center; }
+  html.theme--documenter-dark .modal-close::before, html.theme--documenter-dark .delete::before {
+    height: 2px;
+    width: 50%; }
+  html.theme--documenter-dark .modal-close::after, html.theme--documenter-dark .delete::after {
+    height: 50%;
+    width: 2px; }
+  html.theme--documenter-dark .modal-close:hover, html.theme--documenter-dark .delete:hover, html.theme--documenter-dark .modal-close:focus, html.theme--documenter-dark .delete:focus {
+    background-color: rgba(10, 10, 10, 0.3); }
+  html.theme--documenter-dark .modal-close:active, html.theme--documenter-dark .delete:active {
+    background-color: rgba(10, 10, 10, 0.4); }
+  html.theme--documenter-dark .is-small.modal-close, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.modal-close, html.theme--documenter-dark .is-small.delete, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.delete {
+    height: 16px;
+    max-height: 16px;
+    max-width: 16px;
+    min-height: 16px;
+    min-width: 16px;
+    width: 16px; }
+  html.theme--documenter-dark .is-medium.modal-close, html.theme--documenter-dark .is-medium.delete {
+    height: 24px;
+    max-height: 24px;
+    max-width: 24px;
+    min-height: 24px;
+    min-width: 24px;
+    width: 24px; }
+  html.theme--documenter-dark .is-large.modal-close, html.theme--documenter-dark .is-large.delete {
+    height: 32px;
+    max-height: 32px;
+    max-width: 32px;
+    min-height: 32px;
+    min-width: 32px;
+    width: 32px; }
+
+html.theme--documenter-dark .control.is-loading::after, html.theme--documenter-dark .select.is-loading::after, html.theme--documenter-dark .loader, html.theme--documenter-dark .button.is-loading::after {
+  animation: spinAround 500ms infinite linear;
+  border: 2px solid #dbdee0;
+  border-radius: 290486px;
+  border-right-color: transparent;
+  border-top-color: transparent;
+  content: "";
+  display: block;
+  height: 1em;
+  position: relative;
+  width: 1em; }
+
+html.theme--documenter-dark .hero-video, html.theme--documenter-dark .modal-background, html.theme--documenter-dark .modal, html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
+html.theme--documenter-dark .image.is-square .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
+html.theme--documenter-dark .image.is-1by1 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
+html.theme--documenter-dark .image.is-5by4 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
+html.theme--documenter-dark .image.is-4by3 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
+html.theme--documenter-dark .image.is-3by2 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
+html.theme--documenter-dark .image.is-5by3 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
+html.theme--documenter-dark .image.is-16by9 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
+html.theme--documenter-dark .image.is-2by1 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
+html.theme--documenter-dark .image.is-3by1 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
+html.theme--documenter-dark .image.is-4by5 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
+html.theme--documenter-dark .image.is-3by4 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
+html.theme--documenter-dark .image.is-2by3 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
+html.theme--documenter-dark .image.is-3by5 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
+html.theme--documenter-dark .image.is-9by16 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
+html.theme--documenter-dark .image.is-1by2 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
+html.theme--documenter-dark .image.is-1by3 .has-ratio,
+html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
+  bottom: 0;
+  left: 0;
+  position: absolute;
+  right: 0;
+  top: 0; }
+
+html.theme--documenter-dark .pagination-previous,
+html.theme--documenter-dark .pagination-next,
+html.theme--documenter-dark .pagination-link,
+html.theme--documenter-dark .pagination-ellipsis, html.theme--documenter-dark .file-cta,
+html.theme--documenter-dark .file-name, html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark .button {
+  -moz-appearance: none;
+  -webkit-appearance: none;
+  align-items: center;
+  border: 1px solid transparent;
+  border-radius: 0.4em;
+  box-shadow: none;
+  display: inline-flex;
+  font-size: 15px;
+  height: 2.25em;
+  justify-content: flex-start;
+  line-height: 1.5;
+  padding-bottom: calc(0.375em - 1px);
+  padding-left: calc(0.625em - 1px);
+  padding-right: calc(0.625em - 1px);
+  padding-top: calc(0.375em - 1px);
+  position: relative;
+  vertical-align: top; }
+  html.theme--documenter-dark .pagination-previous:focus,
+  html.theme--documenter-dark .pagination-next:focus,
+  html.theme--documenter-dark .pagination-link:focus,
+  html.theme--documenter-dark .pagination-ellipsis:focus, html.theme--documenter-dark .file-cta:focus,
+  html.theme--documenter-dark .file-name:focus, html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .button:focus, html.theme--documenter-dark .is-focused.pagination-previous,
+  html.theme--documenter-dark .is-focused.pagination-next,
+  html.theme--documenter-dark .is-focused.pagination-link,
+  html.theme--documenter-dark .is-focused.pagination-ellipsis, html.theme--documenter-dark .is-focused.file-cta,
+  html.theme--documenter-dark .is-focused.file-name, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-focused.button, html.theme--documenter-dark .pagination-previous:active,
+  html.theme--documenter-dark .pagination-next:active,
+  html.theme--documenter-dark .pagination-link:active,
+  html.theme--documenter-dark .pagination-ellipsis:active, html.theme--documenter-dark .file-cta:active,
+  html.theme--documenter-dark .file-name:active, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .button:active, html.theme--documenter-dark .is-active.pagination-previous,
+  html.theme--documenter-dark .is-active.pagination-next,
+  html.theme--documenter-dark .is-active.pagination-link,
+  html.theme--documenter-dark .is-active.pagination-ellipsis, html.theme--documenter-dark .is-active.file-cta,
+  html.theme--documenter-dark .is-active.file-name, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .is-active.button {
+    outline: none; }
+  html.theme--documenter-dark .pagination-previous[disabled],
+  html.theme--documenter-dark .pagination-next[disabled],
+  html.theme--documenter-dark .pagination-link[disabled],
+  html.theme--documenter-dark .pagination-ellipsis[disabled], html.theme--documenter-dark .file-cta[disabled],
+  html.theme--documenter-dark .file-name[disabled], html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .pagination-previous, html.theme--documenter-dark fieldset[disabled] .pagination-previous,
+  fieldset[disabled] html.theme--documenter-dark .pagination-next,
+  html.theme--documenter-dark fieldset[disabled] .pagination-next,
+  fieldset[disabled] html.theme--documenter-dark .pagination-link,
+  html.theme--documenter-dark fieldset[disabled] .pagination-link,
+  fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis,
+  html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis, fieldset[disabled] html.theme--documenter-dark .file-cta, html.theme--documenter-dark fieldset[disabled] .file-cta,
+  fieldset[disabled] html.theme--documenter-dark .file-name,
+  html.theme--documenter-dark fieldset[disabled] .file-name, fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark fieldset[disabled] .select select, html.theme--documenter-dark .select fieldset[disabled] select, html.theme--documenter-dark fieldset[disabled] .textarea, html.theme--documenter-dark fieldset[disabled] .input, html.theme--documenter-dark fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] html.theme--documenter-dark .button, html.theme--documenter-dark fieldset[disabled] .button {
+    cursor: not-allowed; }
+
+/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  margin: 0;
+  padding: 0; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-size: 100%;
+  font-weight: normal; }
+
+ul {
+  list-style: none; }
+
+button,
+input,
+select,
+textarea {
+  margin: 0; }
+
+html {
+  box-sizing: border-box; }
+
+*, *::before, *::after {
+  box-sizing: inherit; }
+
+img,
+embed,
+iframe,
+object,
+video {
+  height: auto;
+  max-width: 100%; }
+
+audio {
+  max-width: 100%; }
+
+iframe {
+  border: 0; }
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0; }
+
+td,
+th {
+  padding: 0; }
+  td:not([align]),
+  th:not([align]) {
+    text-align: left; }
+
+.is-clearfix::after {
+  clear: both;
+  content: " ";
+  display: table; }
+
+.is-pulled-left {
+  float: left !important; }
+
+.is-pulled-right {
+  float: right !important; }
+
+.is-clipped {
+  overflow: hidden !important; }
+
+.is-size-1 {
+  font-size: 3rem !important; }
+
+.is-size-2 {
+  font-size: 2.5rem !important; }
+
+.is-size-3 {
+  font-size: 2rem !important; }
+
+.is-size-4 {
+  font-size: 1.5rem !important; }
+
+.is-size-5 {
+  font-size: 1.25rem !important; }
+
+.is-size-6 {
+  font-size: 15px !important; }
+
+.is-size-7, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
+  font-size: 0.85em !important; }
+
+@media screen and (max-width: 768px) {
+  .is-size-1-mobile {
+    font-size: 3rem !important; }
+  .is-size-2-mobile {
+    font-size: 2.5rem !important; }
+  .is-size-3-mobile {
+    font-size: 2rem !important; }
+  .is-size-4-mobile {
+    font-size: 1.5rem !important; }
+  .is-size-5-mobile {
+    font-size: 1.25rem !important; }
+  .is-size-6-mobile {
+    font-size: 15px !important; }
+  .is-size-7-mobile {
+    font-size: 0.85em !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-size-1-tablet {
+    font-size: 3rem !important; }
+  .is-size-2-tablet {
+    font-size: 2.5rem !important; }
+  .is-size-3-tablet {
+    font-size: 2rem !important; }
+  .is-size-4-tablet {
+    font-size: 1.5rem !important; }
+  .is-size-5-tablet {
+    font-size: 1.25rem !important; }
+  .is-size-6-tablet {
+    font-size: 15px !important; }
+  .is-size-7-tablet {
+    font-size: 0.85em !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-size-1-touch {
+    font-size: 3rem !important; }
+  .is-size-2-touch {
+    font-size: 2.5rem !important; }
+  .is-size-3-touch {
+    font-size: 2rem !important; }
+  .is-size-4-touch {
+    font-size: 1.5rem !important; }
+  .is-size-5-touch {
+    font-size: 1.25rem !important; }
+  .is-size-6-touch {
+    font-size: 15px !important; }
+  .is-size-7-touch {
+    font-size: 0.85em !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-size-1-desktop {
+    font-size: 3rem !important; }
+  .is-size-2-desktop {
+    font-size: 2.5rem !important; }
+  .is-size-3-desktop {
+    font-size: 2rem !important; }
+  .is-size-4-desktop {
+    font-size: 1.5rem !important; }
+  .is-size-5-desktop {
+    font-size: 1.25rem !important; }
+  .is-size-6-desktop {
+    font-size: 15px !important; }
+  .is-size-7-desktop {
+    font-size: 0.85em !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-size-1-widescreen {
+    font-size: 3rem !important; }
+  .is-size-2-widescreen {
+    font-size: 2.5rem !important; }
+  .is-size-3-widescreen {
+    font-size: 2rem !important; }
+  .is-size-4-widescreen {
+    font-size: 1.5rem !important; }
+  .is-size-5-widescreen {
+    font-size: 1.25rem !important; }
+  .is-size-6-widescreen {
+    font-size: 15px !important; }
+  .is-size-7-widescreen {
+    font-size: 0.85em !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-size-1-fullhd {
+    font-size: 3rem !important; }
+  .is-size-2-fullhd {
+    font-size: 2.5rem !important; }
+  .is-size-3-fullhd {
+    font-size: 2rem !important; }
+  .is-size-4-fullhd {
+    font-size: 1.5rem !important; }
+  .is-size-5-fullhd {
+    font-size: 1.25rem !important; }
+  .is-size-6-fullhd {
+    font-size: 15px !important; }
+  .is-size-7-fullhd {
+    font-size: 0.85em !important; } }
+
+.has-text-centered {
+  text-align: center !important; }
+
+.has-text-justified {
+  text-align: justify !important; }
+
+.has-text-left {
+  text-align: left !important; }
+
+.has-text-right {
+  text-align: right !important; }
+
+@media screen and (max-width: 768px) {
+  .has-text-centered-mobile {
+    text-align: center !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-centered-tablet {
+    text-align: center !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-centered-tablet-only {
+    text-align: center !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-centered-touch {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-centered-desktop {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-centered-desktop-only {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-centered-widescreen {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-centered-widescreen-only {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-centered-fullhd {
+    text-align: center !important; } }
+
+@media screen and (max-width: 768px) {
+  .has-text-justified-mobile {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-justified-tablet {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-justified-tablet-only {
+    text-align: justify !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-justified-touch {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-justified-desktop {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-justified-desktop-only {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-justified-widescreen {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-justified-widescreen-only {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-justified-fullhd {
+    text-align: justify !important; } }
+
+@media screen and (max-width: 768px) {
+  .has-text-left-mobile {
+    text-align: left !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-left-tablet {
+    text-align: left !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-left-tablet-only {
+    text-align: left !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-left-touch {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-left-desktop {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-left-desktop-only {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-left-widescreen {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-left-widescreen-only {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-left-fullhd {
+    text-align: left !important; } }
+
+@media screen and (max-width: 768px) {
+  .has-text-right-mobile {
+    text-align: right !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-right-tablet {
+    text-align: right !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-right-tablet-only {
+    text-align: right !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-right-touch {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-right-desktop {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-right-desktop-only {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-right-widescreen {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-right-widescreen-only {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-right-fullhd {
+    text-align: right !important; } }
+
+.is-capitalized {
+  text-transform: capitalize !important; }
+
+.is-lowercase {
+  text-transform: lowercase !important; }
+
+.is-uppercase {
+  text-transform: uppercase !important; }
+
+.is-italic {
+  font-style: italic !important; }
+
+.has-text-white {
+  color: white !important; }
+
+a.has-text-white:hover, a.has-text-white:focus {
+  color: #e6e6e6 !important; }
+
+.has-background-white {
+  background-color: white !important; }
+
+.has-text-black {
+  color: #0a0a0a !important; }
+
+a.has-text-black:hover, a.has-text-black:focus {
+  color: black !important; }
+
+.has-background-black {
+  background-color: #0a0a0a !important; }
+
+.has-text-light {
+  color: #ecf0f1 !important; }
+
+a.has-text-light:hover, a.has-text-light:focus {
+  color: #cfd9db !important; }
+
+.has-background-light {
+  background-color: #ecf0f1 !important; }
+
+.has-text-dark {
+  color: #282f2f !important; }
+
+a.has-text-dark:hover, a.has-text-dark:focus {
+  color: #111414 !important; }
+
+.has-background-dark {
+  background-color: #282f2f !important; }
+
+.has-text-primary {
+  color: #375a7f !important; }
+
+a.has-text-primary:hover, a.has-text-primary:focus {
+  color: #28415b !important; }
+
+.has-background-primary {
+  background-color: #375a7f !important; }
+
+.has-text-link {
+  color: #1abc9c !important; }
+
+a.has-text-link:hover, a.has-text-link:focus {
+  color: #148f77 !important; }
+
+.has-background-link {
+  background-color: #1abc9c !important; }
+
+.has-text-info {
+  color: #024c7d !important; }
+
+a.has-text-info:hover, a.has-text-info:focus {
+  color: #012d4b !important; }
+
+.has-background-info {
+  background-color: #024c7d !important; }
+
+.has-text-success {
+  color: #008438 !important; }
+
+a.has-text-success:hover, a.has-text-success:focus {
+  color: #005122 !important; }
+
+.has-background-success {
+  background-color: #008438 !important; }
+
+.has-text-warning {
+  color: #ad8100 !important; }
+
+a.has-text-warning:hover, a.has-text-warning:focus {
+  color: #7a5b00 !important; }
+
+.has-background-warning {
+  background-color: #ad8100 !important; }
+
+.has-text-danger {
+  color: #9e1b0d !important; }
+
+a.has-text-danger:hover, a.has-text-danger:focus {
+  color: #6f1309 !important; }
+
+.has-background-danger {
+  background-color: #9e1b0d !important; }
+
+.has-text-black-bis {
+  color: #121212 !important; }
+
+.has-background-black-bis {
+  background-color: #121212 !important; }
+
+.has-text-black-ter {
+  color: #242424 !important; }
+
+.has-background-black-ter {
+  background-color: #242424 !important; }
+
+.has-text-grey-darker {
+  color: #282f2f !important; }
+
+.has-background-grey-darker {
+  background-color: #282f2f !important; }
+
+.has-text-grey-dark {
+  color: #343c3d !important; }
+
+.has-background-grey-dark {
+  background-color: #343c3d !important; }
+
+.has-text-grey {
+  color: #5e6d6f !important; }
+
+.has-background-grey {
+  background-color: #5e6d6f !important; }
+
+.has-text-grey-light {
+  color: #8c9b9d !important; }
+
+.has-background-grey-light {
+  background-color: #8c9b9d !important; }
+
+.has-text-grey-lighter {
+  color: #dbdee0 !important; }
+
+.has-background-grey-lighter {
+  background-color: #dbdee0 !important; }
+
+.has-text-white-ter {
+  color: #ecf0f1 !important; }
+
+.has-background-white-ter {
+  background-color: #ecf0f1 !important; }
+
+.has-text-white-bis {
+  color: #fafafa !important; }
+
+.has-background-white-bis {
+  background-color: #fafafa !important; }
+
+.has-text-weight-light {
+  font-weight: 300 !important; }
+
+.has-text-weight-normal {
+  font-weight: 400 !important; }
+
+.has-text-weight-medium {
+  font-weight: 500 !important; }
+
+.has-text-weight-semibold {
+  font-weight: 600 !important; }
+
+.has-text-weight-bold {
+  font-weight: 700 !important; }
+
+.is-family-primary {
+  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-secondary {
+  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-sans-serif {
+  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-monospace {
+  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
+
+.is-family-code {
+  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
+
+.is-block {
+  display: block !important; }
+
+@media screen and (max-width: 768px) {
+  .is-block-mobile {
+    display: block !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-block-tablet {
+    display: block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-block-tablet-only {
+    display: block !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-block-touch {
+    display: block !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-block-desktop {
+    display: block !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-block-desktop-only {
+    display: block !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-block-widescreen {
+    display: block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-block-widescreen-only {
+    display: block !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-block-fullhd {
+    display: block !important; } }
+
+.is-flex {
+  display: flex !important; }
+
+@media screen and (max-width: 768px) {
+  .is-flex-mobile {
+    display: flex !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-flex-tablet {
+    display: flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-flex-tablet-only {
+    display: flex !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-flex-touch {
+    display: flex !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-flex-desktop {
+    display: flex !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-flex-desktop-only {
+    display: flex !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-flex-widescreen {
+    display: flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-flex-widescreen-only {
+    display: flex !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-flex-fullhd {
+    display: flex !important; } }
+
+.is-inline {
+  display: inline !important; }
+
+@media screen and (max-width: 768px) {
+  .is-inline-mobile {
+    display: inline !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-inline-tablet {
+    display: inline !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-inline-tablet-only {
+    display: inline !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-inline-touch {
+    display: inline !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-inline-desktop {
+    display: inline !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-inline-desktop-only {
+    display: inline !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-inline-widescreen {
+    display: inline !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-inline-widescreen-only {
+    display: inline !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-inline-fullhd {
+    display: inline !important; } }
+
+.is-inline-block {
+  display: inline-block !important; }
+
+@media screen and (max-width: 768px) {
+  .is-inline-block-mobile {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-inline-block-tablet {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-inline-block-tablet-only {
+    display: inline-block !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-inline-block-touch {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-inline-block-desktop {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-inline-block-desktop-only {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-inline-block-widescreen {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-inline-block-widescreen-only {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-inline-block-fullhd {
+    display: inline-block !important; } }
+
+.is-inline-flex {
+  display: inline-flex !important; }
+
+@media screen and (max-width: 768px) {
+  .is-inline-flex-mobile {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-inline-flex-tablet {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-inline-flex-tablet-only {
+    display: inline-flex !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-inline-flex-touch {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-inline-flex-desktop {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-inline-flex-desktop-only {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-inline-flex-widescreen {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-inline-flex-widescreen-only {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-inline-flex-fullhd {
+    display: inline-flex !important; } }
+
+.is-hidden {
+  display: none !important; }
+
+.is-sr-only {
+  border: none !important;
+  clip: rect(0, 0, 0, 0) !important;
+  height: 0.01em !important;
+  overflow: hidden !important;
+  padding: 0 !important;
+  position: absolute !important;
+  white-space: nowrap !important;
+  width: 0.01em !important; }
+
+@media screen and (max-width: 768px) {
+  .is-hidden-mobile {
+    display: none !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-hidden-tablet {
+    display: none !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-hidden-tablet-only {
+    display: none !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-hidden-touch {
+    display: none !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-hidden-desktop {
+    display: none !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-hidden-desktop-only {
+    display: none !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-hidden-widescreen {
+    display: none !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-hidden-widescreen-only {
+    display: none !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-hidden-fullhd {
+    display: none !important; } }
+
+.is-invisible {
+  visibility: hidden !important; }
+
+@media screen and (max-width: 768px) {
+  .is-invisible-mobile {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-invisible-tablet {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-invisible-tablet-only {
+    visibility: hidden !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-invisible-touch {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-invisible-desktop {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-invisible-desktop-only {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-invisible-widescreen {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-invisible-widescreen-only {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-invisible-fullhd {
+    visibility: hidden !important; } }
+
+.is-marginless {
+  margin: 0 !important; }
+
+.is-paddingless {
+  padding: 0 !important; }
+
+.is-radiusless {
+  border-radius: 0 !important; }
+
+.is-shadowless {
+  box-shadow: none !important; }
+
+.is-relative {
+  position: relative !important; }
+
+html.theme--documenter-dark {
+  /* This file contain the overall layout.
+ *
+ * The main container is <div> that is identified by id #documenter.
+ */
+  /*!
+  Theme: a11y-dark
+  Author: @ericwbailey
+  Maintainer: @ericwbailey
+
+  Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
+*/
+  /* Comment */
+  /* Red */
+  /* Orange */
+  /* Yellow */
+  /* Green */
+  /* Blue */
+  /* Purple */ }
+  html.theme--documenter-dark html {
+    background-color: #1f2424;
+    font-size: 16px;
+    -moz-osx-font-smoothing: grayscale;
+    -webkit-font-smoothing: antialiased;
+    min-width: 300px;
+    overflow-x: auto;
+    overflow-y: scroll;
+    text-rendering: optimizeLegibility;
+    text-size-adjust: 100%; }
+  html.theme--documenter-dark article,
+  html.theme--documenter-dark aside,
+  html.theme--documenter-dark figure,
+  html.theme--documenter-dark footer,
+  html.theme--documenter-dark header,
+  html.theme--documenter-dark hgroup,
+  html.theme--documenter-dark section {
+    display: block; }
+  html.theme--documenter-dark body,
+  html.theme--documenter-dark button,
+  html.theme--documenter-dark input,
+  html.theme--documenter-dark select,
+  html.theme--documenter-dark textarea {
+    font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
+  html.theme--documenter-dark code,
+  html.theme--documenter-dark pre {
+    -moz-osx-font-smoothing: auto;
+    -webkit-font-smoothing: auto;
+    font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
+  html.theme--documenter-dark body {
+    color: #fff;
+    font-size: 1em;
+    font-weight: 400;
+    line-height: 1.5; }
+  html.theme--documenter-dark a {
+    color: #1abc9c;
+    cursor: pointer;
+    text-decoration: none; }
+    html.theme--documenter-dark a strong {
+      color: currentColor; }
+    html.theme--documenter-dark a:hover {
+      color: #1dd2af; }
+  html.theme--documenter-dark code {
+    background-color: rgba(255, 255, 255, 0.05);
+    color: #ececec;
+    font-size: 0.875em;
+    font-weight: normal;
+    padding: 0.1em; }
+  html.theme--documenter-dark hr {
+    background-color: #282f2f;
+    border: none;
+    display: block;
+    height: 2px;
+    margin: 1.5rem 0; }
+  html.theme--documenter-dark img {
+    height: auto;
+    max-width: 100%; }
+  html.theme--documenter-dark input[type="checkbox"],
+  html.theme--documenter-dark input[type="radio"] {
+    vertical-align: baseline; }
+  html.theme--documenter-dark small {
+    font-size: 0.875em; }
+  html.theme--documenter-dark span {
+    font-style: inherit;
+    font-weight: inherit; }
+  html.theme--documenter-dark strong {
+    color: #f2f2f2;
+    font-weight: 700; }
+  html.theme--documenter-dark fieldset {
+    border: none; }
+  html.theme--documenter-dark pre {
+    -webkit-overflow-scrolling: touch;
+    background-color: #282f2f;
+    color: #fff;
+    font-size: 0.875em;
+    overflow-x: auto;
+    padding: 1.25rem 1.5rem;
+    white-space: pre;
+    word-wrap: normal; }
+    html.theme--documenter-dark pre code {
+      background-color: transparent;
+      color: currentColor;
+      font-size: 1em;
+      padding: 0; }
+  html.theme--documenter-dark table td,
+  html.theme--documenter-dark table th {
+    vertical-align: top; }
+    html.theme--documenter-dark table td:not([align]),
+    html.theme--documenter-dark table th:not([align]) {
+      text-align: left; }
+  html.theme--documenter-dark table th {
+    color: #f2f2f2; }
+  html.theme--documenter-dark .box {
+    background-color: #343c3d;
+    border-radius: 8px;
+    box-shadow: none;
+    color: #fff;
+    display: block;
+    padding: 1.25rem; }
+  html.theme--documenter-dark a.box:hover, html.theme--documenter-dark a.box:focus {
+    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #1abc9c; }
+  html.theme--documenter-dark a.box:active {
+    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #1abc9c; }
+  html.theme--documenter-dark .button {
+    background-color: #282f2f;
+    border-color: #4c5759;
+    border-width: 1px;
+    color: #375a7f;
+    cursor: pointer;
+    justify-content: center;
+    padding-bottom: calc(0.375em - 1px);
+    padding-left: 0.75em;
+    padding-right: 0.75em;
+    padding-top: calc(0.375em - 1px);
+    text-align: center;
+    white-space: nowrap; }
+    html.theme--documenter-dark .button strong {
+      color: inherit; }
+    html.theme--documenter-dark .button .icon, html.theme--documenter-dark .button .icon.is-small, html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search > input.icon, html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search > input.icon, html.theme--documenter-dark .button .icon.is-medium, html.theme--documenter-dark .button .icon.is-large {
+      height: 1.5em;
+      width: 1.5em; }
+    html.theme--documenter-dark .button .icon:first-child:not(:last-child) {
+      margin-left: calc(-0.375em - 1px);
+      margin-right: 0.1875em; }
+    html.theme--documenter-dark .button .icon:last-child:not(:first-child) {
+      margin-left: 0.1875em;
+      margin-right: calc(-0.375em - 1px); }
+    html.theme--documenter-dark .button .icon:first-child:last-child {
+      margin-left: calc(-0.375em - 1px);
+      margin-right: calc(-0.375em - 1px); }
+    html.theme--documenter-dark .button:hover, html.theme--documenter-dark .button.is-hovered {
+      border-color: #8c9b9d;
+      color: #f2f2f2; }
+    html.theme--documenter-dark .button:focus, html.theme--documenter-dark .button.is-focused {
+      border-color: #8c9b9d;
+      color: #17a689; }
+      html.theme--documenter-dark .button:focus:not(:active), html.theme--documenter-dark .button.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+    html.theme--documenter-dark .button:active, html.theme--documenter-dark .button.is-active {
+      border-color: #343c3d;
+      color: #f2f2f2; }
+    html.theme--documenter-dark .button.is-text {
+      background-color: transparent;
+      border-color: transparent;
+      color: #fff;
+      text-decoration: underline; }
+      html.theme--documenter-dark .button.is-text:hover, html.theme--documenter-dark .button.is-text.is-hovered, html.theme--documenter-dark .button.is-text:focus, html.theme--documenter-dark .button.is-text.is-focused {
+        background-color: #282f2f;
+        color: #f2f2f2; }
+      html.theme--documenter-dark .button.is-text:active, html.theme--documenter-dark .button.is-text.is-active {
+        background-color: #1d2122;
+        color: #f2f2f2; }
+      html.theme--documenter-dark .button.is-text[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-text {
+        background-color: transparent;
+        border-color: transparent;
+        box-shadow: none; }
+    html.theme--documenter-dark .button.is-white {
+      background-color: white;
+      border-color: transparent;
+      color: #0a0a0a; }
+      html.theme--documenter-dark .button.is-white:hover, html.theme--documenter-dark .button.is-white.is-hovered {
+        background-color: #f9f9f9;
+        border-color: transparent;
+        color: #0a0a0a; }
+      html.theme--documenter-dark .button.is-white:focus, html.theme--documenter-dark .button.is-white.is-focused {
+        border-color: transparent;
+        color: #0a0a0a; }
+        html.theme--documenter-dark .button.is-white:focus:not(:active), html.theme--documenter-dark .button.is-white.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+      html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white.is-active {
+        background-color: #f2f2f2;
+        border-color: transparent;
+        color: #0a0a0a; }
+      html.theme--documenter-dark .button.is-white[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white {
+        background-color: white;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-white.is-inverted {
+        background-color: #0a0a0a;
+        color: white; }
+        html.theme--documenter-dark .button.is-white.is-inverted:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-hovered {
+          background-color: black; }
+        html.theme--documenter-dark .button.is-white.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted {
+          background-color: #0a0a0a;
+          border-color: transparent;
+          box-shadow: none;
+          color: white; }
+      html.theme--documenter-dark .button.is-white.is-loading::after {
+        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+      html.theme--documenter-dark .button.is-white.is-outlined {
+        background-color: transparent;
+        border-color: white;
+        color: white; }
+        html.theme--documenter-dark .button.is-white.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-outlined.is-focused {
+          background-color: white;
+          border-color: white;
+          color: #0a0a0a; }
+        html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after {
+          border-color: transparent transparent white white !important; }
+        html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+        html.theme--documenter-dark .button.is-white.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined {
+          background-color: transparent;
+          border-color: white;
+          box-shadow: none;
+          color: white; }
+      html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #0a0a0a;
+        color: #0a0a0a; }
+        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused {
+          background-color: #0a0a0a;
+          color: white; }
+        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent white white !important; }
+        html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #0a0a0a;
+          box-shadow: none;
+          color: #0a0a0a; }
+    html.theme--documenter-dark .button.is-black {
+      background-color: #0a0a0a;
+      border-color: transparent;
+      color: white; }
+      html.theme--documenter-dark .button.is-black:hover, html.theme--documenter-dark .button.is-black.is-hovered {
+        background-color: #040404;
+        border-color: transparent;
+        color: white; }
+      html.theme--documenter-dark .button.is-black:focus, html.theme--documenter-dark .button.is-black.is-focused {
+        border-color: transparent;
+        color: white; }
+        html.theme--documenter-dark .button.is-black:focus:not(:active), html.theme--documenter-dark .button.is-black.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+      html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black.is-active {
+        background-color: black;
+        border-color: transparent;
+        color: white; }
+      html.theme--documenter-dark .button.is-black[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black {
+        background-color: #0a0a0a;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-black.is-inverted {
+        background-color: white;
+        color: #0a0a0a; }
+        html.theme--documenter-dark .button.is-black.is-inverted:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-hovered {
+          background-color: #f2f2f2; }
+        html.theme--documenter-dark .button.is-black.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted {
+          background-color: white;
+          border-color: transparent;
+          box-shadow: none;
+          color: #0a0a0a; }
+      html.theme--documenter-dark .button.is-black.is-loading::after {
+        border-color: transparent transparent white white !important; }
+      html.theme--documenter-dark .button.is-black.is-outlined {
+        background-color: transparent;
+        border-color: #0a0a0a;
+        color: #0a0a0a; }
+        html.theme--documenter-dark .button.is-black.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-outlined.is-focused {
+          background-color: #0a0a0a;
+          border-color: #0a0a0a;
+          color: white; }
+        html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after {
+          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+        html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent white white !important; }
+        html.theme--documenter-dark .button.is-black.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined {
+          background-color: transparent;
+          border-color: #0a0a0a;
+          box-shadow: none;
+          color: #0a0a0a; }
+      html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: white;
+        color: white; }
+        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused {
+          background-color: white;
+          color: #0a0a0a; }
+        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+        html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: white;
+          box-shadow: none;
+          color: white; }
+    html.theme--documenter-dark .button.is-light {
+      background-color: #ecf0f1;
+      border-color: transparent;
+      color: #282f2f; }
+      html.theme--documenter-dark .button.is-light:hover, html.theme--documenter-dark .button.is-light.is-hovered {
+        background-color: #e5eaec;
+        border-color: transparent;
+        color: #282f2f; }
+      html.theme--documenter-dark .button.is-light:focus, html.theme--documenter-dark .button.is-light.is-focused {
+        border-color: transparent;
+        color: #282f2f; }
+        html.theme--documenter-dark .button.is-light:focus:not(:active), html.theme--documenter-dark .button.is-light.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
+      html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light.is-active {
+        background-color: #dde4e6;
+        border-color: transparent;
+        color: #282f2f; }
+      html.theme--documenter-dark .button.is-light[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light {
+        background-color: #ecf0f1;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-light.is-inverted {
+        background-color: #282f2f;
+        color: #ecf0f1; }
+        html.theme--documenter-dark .button.is-light.is-inverted:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-hovered {
+          background-color: #1d2122; }
+        html.theme--documenter-dark .button.is-light.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted {
+          background-color: #282f2f;
+          border-color: transparent;
+          box-shadow: none;
+          color: #ecf0f1; }
+      html.theme--documenter-dark .button.is-light.is-loading::after {
+        border-color: transparent transparent #282f2f #282f2f !important; }
+      html.theme--documenter-dark .button.is-light.is-outlined {
+        background-color: transparent;
+        border-color: #ecf0f1;
+        color: #ecf0f1; }
+        html.theme--documenter-dark .button.is-light.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-outlined.is-focused {
+          background-color: #ecf0f1;
+          border-color: #ecf0f1;
+          color: #282f2f; }
+        html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after {
+          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+        html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #282f2f #282f2f !important; }
+        html.theme--documenter-dark .button.is-light.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined {
+          background-color: transparent;
+          border-color: #ecf0f1;
+          box-shadow: none;
+          color: #ecf0f1; }
+      html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #282f2f;
+        color: #282f2f; }
+        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused {
+          background-color: #282f2f;
+          color: #ecf0f1; }
+        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+        html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #282f2f;
+          box-shadow: none;
+          color: #282f2f; }
+    html.theme--documenter-dark .button.is-dark, html.theme--documenter-dark .content kbd.button {
+      background-color: #282f2f;
+      border-color: transparent;
+      color: #ecf0f1; }
+      html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover, html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered {
+        background-color: #232829;
+        border-color: transparent;
+        color: #ecf0f1; }
+      html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused {
+        border-color: transparent;
+        color: #ecf0f1; }
+        html.theme--documenter-dark .button.is-dark:focus:not(:active), html.theme--documenter-dark .content kbd.button:focus:not(:active), html.theme--documenter-dark .button.is-dark.is-focused:not(:active), html.theme--documenter-dark .content kbd.button.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
+      html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active {
+        background-color: #1d2122;
+        border-color: transparent;
+        color: #ecf0f1; }
+      html.theme--documenter-dark .button.is-dark[disabled], html.theme--documenter-dark .content kbd.button[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark, fieldset[disabled] html.theme--documenter-dark .content kbd.button {
+        background-color: #282f2f;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-dark.is-inverted, html.theme--documenter-dark .content kbd.button.is-inverted {
+        background-color: #ecf0f1;
+        color: #282f2f; }
+        html.theme--documenter-dark .button.is-dark.is-inverted:hover, html.theme--documenter-dark .content kbd.button.is-inverted:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered {
+          background-color: #dde4e6; }
+        html.theme--documenter-dark .button.is-dark.is-inverted[disabled], html.theme--documenter-dark .content kbd.button.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted {
+          background-color: #ecf0f1;
+          border-color: transparent;
+          box-shadow: none;
+          color: #282f2f; }
+      html.theme--documenter-dark .button.is-dark.is-loading::after, html.theme--documenter-dark .content kbd.button.is-loading::after {
+        border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+      html.theme--documenter-dark .button.is-dark.is-outlined, html.theme--documenter-dark .content kbd.button.is-outlined {
+        background-color: transparent;
+        border-color: #282f2f;
+        color: #282f2f; }
+        html.theme--documenter-dark .button.is-dark.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-outlined.is-focused {
+          background-color: #282f2f;
+          border-color: #282f2f;
+          color: #ecf0f1; }
+        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after {
+          border-color: transparent transparent #282f2f #282f2f !important; }
+        html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+        html.theme--documenter-dark .button.is-dark.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined {
+          background-color: transparent;
+          border-color: #282f2f;
+          box-shadow: none;
+          color: #282f2f; }
+      html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #ecf0f1;
+        color: #ecf0f1; }
+        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused {
+          background-color: #ecf0f1;
+          color: #282f2f; }
+        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #282f2f #282f2f !important; }
+        html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #ecf0f1;
+          box-shadow: none;
+          color: #ecf0f1; }
+    html.theme--documenter-dark .button.is-primary, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
+      background-color: #375a7f;
+      border-color: transparent;
+      color: #fff; }
+      html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink {
+        background-color: #335476;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink {
+        border-color: transparent;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-primary:focus:not(:active), html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus:not(:active), html.theme--documenter-dark .button.is-primary.is-focused:not(:active), html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
+      html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink {
+        background-color: #2f4d6d;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-primary[disabled], html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
+        background-color: #375a7f;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-primary.is-inverted, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
+        background-color: #fff;
+        color: #375a7f; }
+        html.theme--documenter-dark .button.is-primary.is-inverted:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
+          background-color: #f2f2f2; }
+        html.theme--documenter-dark .button.is-primary.is-inverted[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
+          background-color: #fff;
+          border-color: transparent;
+          box-shadow: none;
+          color: #375a7f; }
+      html.theme--documenter-dark .button.is-primary.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-loading.docs-sourcelink::after {
+        border-color: transparent transparent #fff #fff !important; }
+      html.theme--documenter-dark .button.is-primary.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
+        background-color: transparent;
+        border-color: #375a7f;
+        color: #375a7f; }
+        html.theme--documenter-dark .button.is-primary.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
+          background-color: #375a7f;
+          border-color: #375a7f;
+          color: #fff; }
+        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
+          border-color: transparent transparent #375a7f #375a7f !important; }
+        html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+          border-color: transparent transparent #fff #fff !important; }
+        html.theme--documenter-dark .button.is-primary.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
+          background-color: transparent;
+          border-color: #375a7f;
+          box-shadow: none;
+          color: #375a7f; }
+      html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+        background-color: transparent;
+        border-color: #fff;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
+          background-color: #fff;
+          color: #375a7f; }
+        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+          border-color: transparent transparent #375a7f #375a7f !important; }
+        html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+          background-color: transparent;
+          border-color: #fff;
+          box-shadow: none;
+          color: #fff; }
+    html.theme--documenter-dark .button.is-link {
+      background-color: #1abc9c;
+      border-color: transparent;
+      color: #fff; }
+      html.theme--documenter-dark .button.is-link:hover, html.theme--documenter-dark .button.is-link.is-hovered {
+        background-color: #18b193;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-link:focus, html.theme--documenter-dark .button.is-link.is-focused {
+        border-color: transparent;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-link:focus:not(:active), html.theme--documenter-dark .button.is-link.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+      html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link.is-active {
+        background-color: #17a689;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-link[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link {
+        background-color: #1abc9c;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-link.is-inverted {
+        background-color: #fff;
+        color: #1abc9c; }
+        html.theme--documenter-dark .button.is-link.is-inverted:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-hovered {
+          background-color: #f2f2f2; }
+        html.theme--documenter-dark .button.is-link.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted {
+          background-color: #fff;
+          border-color: transparent;
+          box-shadow: none;
+          color: #1abc9c; }
+      html.theme--documenter-dark .button.is-link.is-loading::after {
+        border-color: transparent transparent #fff #fff !important; }
+      html.theme--documenter-dark .button.is-link.is-outlined {
+        background-color: transparent;
+        border-color: #1abc9c;
+        color: #1abc9c; }
+        html.theme--documenter-dark .button.is-link.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-outlined.is-focused {
+          background-color: #1abc9c;
+          border-color: #1abc9c;
+          color: #fff; }
+        html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after {
+          border-color: transparent transparent #1abc9c #1abc9c !important; }
+        html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #fff #fff !important; }
+        html.theme--documenter-dark .button.is-link.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined {
+          background-color: transparent;
+          border-color: #1abc9c;
+          box-shadow: none;
+          color: #1abc9c; }
+      html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused {
+          background-color: #fff;
+          color: #1abc9c; }
+        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #1abc9c #1abc9c !important; }
+        html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #fff;
+          box-shadow: none;
+          color: #fff; }
+    html.theme--documenter-dark .button.is-info {
+      background-color: #024c7d;
+      border-color: transparent;
+      color: #fff; }
+      html.theme--documenter-dark .button.is-info:hover, html.theme--documenter-dark .button.is-info.is-hovered {
+        background-color: #024470;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-info:focus, html.theme--documenter-dark .button.is-info.is-focused {
+        border-color: transparent;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-info:focus:not(:active), html.theme--documenter-dark .button.is-info.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
+      html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info.is-active {
+        background-color: #023d64;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-info[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info {
+        background-color: #024c7d;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-info.is-inverted {
+        background-color: #fff;
+        color: #024c7d; }
+        html.theme--documenter-dark .button.is-info.is-inverted:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-hovered {
+          background-color: #f2f2f2; }
+        html.theme--documenter-dark .button.is-info.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted {
+          background-color: #fff;
+          border-color: transparent;
+          box-shadow: none;
+          color: #024c7d; }
+      html.theme--documenter-dark .button.is-info.is-loading::after {
+        border-color: transparent transparent #fff #fff !important; }
+      html.theme--documenter-dark .button.is-info.is-outlined {
+        background-color: transparent;
+        border-color: #024c7d;
+        color: #024c7d; }
+        html.theme--documenter-dark .button.is-info.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-outlined.is-focused {
+          background-color: #024c7d;
+          border-color: #024c7d;
+          color: #fff; }
+        html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after {
+          border-color: transparent transparent #024c7d #024c7d !important; }
+        html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #fff #fff !important; }
+        html.theme--documenter-dark .button.is-info.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined {
+          background-color: transparent;
+          border-color: #024c7d;
+          box-shadow: none;
+          color: #024c7d; }
+      html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused {
+          background-color: #fff;
+          color: #024c7d; }
+        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #024c7d #024c7d !important; }
+        html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #fff;
+          box-shadow: none;
+          color: #fff; }
+    html.theme--documenter-dark .button.is-success {
+      background-color: #008438;
+      border-color: transparent;
+      color: #fff; }
+      html.theme--documenter-dark .button.is-success:hover, html.theme--documenter-dark .button.is-success.is-hovered {
+        background-color: #007733;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-success:focus, html.theme--documenter-dark .button.is-success.is-focused {
+        border-color: transparent;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-success:focus:not(:active), html.theme--documenter-dark .button.is-success.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
+      html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success.is-active {
+        background-color: #006b2d;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-success[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success {
+        background-color: #008438;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-success.is-inverted {
+        background-color: #fff;
+        color: #008438; }
+        html.theme--documenter-dark .button.is-success.is-inverted:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-hovered {
+          background-color: #f2f2f2; }
+        html.theme--documenter-dark .button.is-success.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted {
+          background-color: #fff;
+          border-color: transparent;
+          box-shadow: none;
+          color: #008438; }
+      html.theme--documenter-dark .button.is-success.is-loading::after {
+        border-color: transparent transparent #fff #fff !important; }
+      html.theme--documenter-dark .button.is-success.is-outlined {
+        background-color: transparent;
+        border-color: #008438;
+        color: #008438; }
+        html.theme--documenter-dark .button.is-success.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-outlined.is-focused {
+          background-color: #008438;
+          border-color: #008438;
+          color: #fff; }
+        html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after {
+          border-color: transparent transparent #008438 #008438 !important; }
+        html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #fff #fff !important; }
+        html.theme--documenter-dark .button.is-success.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined {
+          background-color: transparent;
+          border-color: #008438;
+          box-shadow: none;
+          color: #008438; }
+      html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused {
+          background-color: #fff;
+          color: #008438; }
+        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #008438 #008438 !important; }
+        html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #fff;
+          box-shadow: none;
+          color: #fff; }
+    html.theme--documenter-dark .button.is-warning {
+      background-color: #ad8100;
+      border-color: transparent;
+      color: #fff; }
+      html.theme--documenter-dark .button.is-warning:hover, html.theme--documenter-dark .button.is-warning.is-hovered {
+        background-color: #a07700;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-warning:focus, html.theme--documenter-dark .button.is-warning.is-focused {
+        border-color: transparent;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-warning:focus:not(:active), html.theme--documenter-dark .button.is-warning.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
+      html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning.is-active {
+        background-color: #946e00;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-warning[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning {
+        background-color: #ad8100;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-warning.is-inverted {
+        background-color: #fff;
+        color: #ad8100; }
+        html.theme--documenter-dark .button.is-warning.is-inverted:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered {
+          background-color: #f2f2f2; }
+        html.theme--documenter-dark .button.is-warning.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted {
+          background-color: #fff;
+          border-color: transparent;
+          box-shadow: none;
+          color: #ad8100; }
+      html.theme--documenter-dark .button.is-warning.is-loading::after {
+        border-color: transparent transparent #fff #fff !important; }
+      html.theme--documenter-dark .button.is-warning.is-outlined {
+        background-color: transparent;
+        border-color: #ad8100;
+        color: #ad8100; }
+        html.theme--documenter-dark .button.is-warning.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-outlined.is-focused {
+          background-color: #ad8100;
+          border-color: #ad8100;
+          color: #fff; }
+        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after {
+          border-color: transparent transparent #ad8100 #ad8100 !important; }
+        html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #fff #fff !important; }
+        html.theme--documenter-dark .button.is-warning.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined {
+          background-color: transparent;
+          border-color: #ad8100;
+          box-shadow: none;
+          color: #ad8100; }
+      html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused {
+          background-color: #fff;
+          color: #ad8100; }
+        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #ad8100 #ad8100 !important; }
+        html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #fff;
+          box-shadow: none;
+          color: #fff; }
+    html.theme--documenter-dark .button.is-danger {
+      background-color: #9e1b0d;
+      border-color: transparent;
+      color: #fff; }
+      html.theme--documenter-dark .button.is-danger:hover, html.theme--documenter-dark .button.is-danger.is-hovered {
+        background-color: #92190c;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-danger:focus, html.theme--documenter-dark .button.is-danger.is-focused {
+        border-color: transparent;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-danger:focus:not(:active), html.theme--documenter-dark .button.is-danger.is-focused:not(:active) {
+          box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
+      html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger.is-active {
+        background-color: #86170b;
+        border-color: transparent;
+        color: #fff; }
+      html.theme--documenter-dark .button.is-danger[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger {
+        background-color: #9e1b0d;
+        border-color: transparent;
+        box-shadow: none; }
+      html.theme--documenter-dark .button.is-danger.is-inverted {
+        background-color: #fff;
+        color: #9e1b0d; }
+        html.theme--documenter-dark .button.is-danger.is-inverted:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered {
+          background-color: #f2f2f2; }
+        html.theme--documenter-dark .button.is-danger.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted {
+          background-color: #fff;
+          border-color: transparent;
+          box-shadow: none;
+          color: #9e1b0d; }
+      html.theme--documenter-dark .button.is-danger.is-loading::after {
+        border-color: transparent transparent #fff #fff !important; }
+      html.theme--documenter-dark .button.is-danger.is-outlined {
+        background-color: transparent;
+        border-color: #9e1b0d;
+        color: #9e1b0d; }
+        html.theme--documenter-dark .button.is-danger.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-outlined.is-focused {
+          background-color: #9e1b0d;
+          border-color: #9e1b0d;
+          color: #fff; }
+        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after {
+          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
+        html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #fff #fff !important; }
+        html.theme--documenter-dark .button.is-danger.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined {
+          background-color: transparent;
+          border-color: #9e1b0d;
+          box-shadow: none;
+          color: #9e1b0d; }
+      html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        color: #fff; }
+        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused {
+          background-color: #fff;
+          color: #9e1b0d; }
+        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
+          border-color: transparent transparent #9e1b0d #9e1b0d !important; }
+        html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
+          background-color: transparent;
+          border-color: #fff;
+          box-shadow: none;
+          color: #fff; }
+    html.theme--documenter-dark .button.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
+      border-radius: 3px;
+      font-size: 0.85em; }
+    html.theme--documenter-dark .button.is-normal {
+      font-size: 15px; }
+    html.theme--documenter-dark .button.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .button.is-large {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .button {
+      background-color: #8c9b9d;
+      border-color: #dbdee0;
+      box-shadow: none;
+      opacity: 0.5; }
+    html.theme--documenter-dark .button.is-fullwidth {
+      display: flex;
+      width: 100%; }
+    html.theme--documenter-dark .button.is-loading {
+      color: transparent !important;
+      pointer-events: none; }
+      html.theme--documenter-dark .button.is-loading::after {
+        position: absolute;
+        left: calc(50% - (1em / 2));
+        top: calc(50% - (1em / 2));
+        position: absolute !important; }
+    html.theme--documenter-dark .button.is-static {
+      background-color: #282f2f;
+      border-color: #5e6d6f;
+      color: #dbdee0;
+      box-shadow: none;
+      pointer-events: none; }
+    html.theme--documenter-dark .button.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
+      border-radius: 290486px;
+      padding-left: 1em;
+      padding-right: 1em; }
+  html.theme--documenter-dark .buttons {
+    align-items: center;
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: flex-start; }
+    html.theme--documenter-dark .buttons .button {
+      margin-bottom: 0.5rem; }
+      html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth) {
+        margin-right: 0.5rem; }
+    html.theme--documenter-dark .buttons:last-child {
+      margin-bottom: -0.5rem; }
+    html.theme--documenter-dark .buttons:not(:last-child) {
+      margin-bottom: 1rem; }
+    html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
+      border-radius: 3px;
+      font-size: 0.85em; }
+    html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .buttons.has-addons .button:not(:first-child) {
+      border-bottom-left-radius: 0;
+      border-top-left-radius: 0; }
+    html.theme--documenter-dark .buttons.has-addons .button:not(:last-child) {
+      border-bottom-right-radius: 0;
+      border-top-right-radius: 0;
+      margin-right: -1px; }
+    html.theme--documenter-dark .buttons.has-addons .button:last-child {
+      margin-right: 0; }
+    html.theme--documenter-dark .buttons.has-addons .button:hover, html.theme--documenter-dark .buttons.has-addons .button.is-hovered {
+      z-index: 2; }
+    html.theme--documenter-dark .buttons.has-addons .button:focus, html.theme--documenter-dark .buttons.has-addons .button.is-focused, html.theme--documenter-dark .buttons.has-addons .button:active, html.theme--documenter-dark .buttons.has-addons .button.is-active, html.theme--documenter-dark .buttons.has-addons .button.is-selected {
+      z-index: 3; }
+      html.theme--documenter-dark .buttons.has-addons .button:focus:hover, html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover, html.theme--documenter-dark .buttons.has-addons .button:active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover {
+        z-index: 4; }
+    html.theme--documenter-dark .buttons.has-addons .button.is-expanded {
+      flex-grow: 1;
+      flex-shrink: 1; }
+    html.theme--documenter-dark .buttons.is-centered {
+      justify-content: center; }
+      html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
+        margin-left: 0.25rem;
+        margin-right: 0.25rem; }
+    html.theme--documenter-dark .buttons.is-right {
+      justify-content: flex-end; }
+      html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
+        margin-left: 0.25rem;
+        margin-right: 0.25rem; }
+  html.theme--documenter-dark .container {
+    flex-grow: 1;
+    margin: 0 auto;
+    position: relative;
+    width: auto; }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .container {
+        max-width: 992px; }
+        html.theme--documenter-dark .container.is-fluid {
+          margin-left: 32px;
+          margin-right: 32px;
+          max-width: none; } }
+    @media screen and (max-width: 1215px) {
+      html.theme--documenter-dark .container.is-widescreen {
+        max-width: 1152px; } }
+    @media screen and (max-width: 1407px) {
+      html.theme--documenter-dark .container.is-fullhd {
+        max-width: 1344px; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .container {
+        max-width: 1152px; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .container {
+        max-width: 1344px; } }
+  html.theme--documenter-dark .content li + li {
+    margin-top: 0.25em; }
+  html.theme--documenter-dark .content p:not(:last-child),
+  html.theme--documenter-dark .content dl:not(:last-child),
+  html.theme--documenter-dark .content ol:not(:last-child),
+  html.theme--documenter-dark .content ul:not(:last-child),
+  html.theme--documenter-dark .content blockquote:not(:last-child),
+  html.theme--documenter-dark .content pre:not(:last-child),
+  html.theme--documenter-dark .content table:not(:last-child) {
+    margin-bottom: 1em; }
+  html.theme--documenter-dark .content h1,
+  html.theme--documenter-dark .content h2,
+  html.theme--documenter-dark .content h3,
+  html.theme--documenter-dark .content h4,
+  html.theme--documenter-dark .content h5,
+  html.theme--documenter-dark .content h6 {
+    color: #f2f2f2;
+    font-weight: 600;
+    line-height: 1.125; }
+  html.theme--documenter-dark .content h1 {
+    font-size: 2em;
+    margin-bottom: 0.5em; }
+    html.theme--documenter-dark .content h1:not(:first-child) {
+      margin-top: 1em; }
+  html.theme--documenter-dark .content h2 {
+    font-size: 1.75em;
+    margin-bottom: 0.5714em; }
+    html.theme--documenter-dark .content h2:not(:first-child) {
+      margin-top: 1.1428em; }
+  html.theme--documenter-dark .content h3 {
+    font-size: 1.5em;
+    margin-bottom: 0.6666em; }
+    html.theme--documenter-dark .content h3:not(:first-child) {
+      margin-top: 1.3333em; }
+  html.theme--documenter-dark .content h4 {
+    font-size: 1.25em;
+    margin-bottom: 0.8em; }
+  html.theme--documenter-dark .content h5 {
+    font-size: 1.125em;
+    margin-bottom: 0.8888em; }
+  html.theme--documenter-dark .content h6 {
+    font-size: 1em;
+    margin-bottom: 1em; }
+  html.theme--documenter-dark .content blockquote {
+    background-color: #282f2f;
+    border-left: 5px solid #5e6d6f;
+    padding: 1.25em 1.5em; }
+  html.theme--documenter-dark .content ol {
+    list-style-position: outside;
+    margin-left: 2em;
+    margin-top: 1em; }
+    html.theme--documenter-dark .content ol:not([type]) {
+      list-style-type: decimal; }
+      html.theme--documenter-dark .content ol.is-lower-alpha:not([type]) {
+        list-style-type: lower-alpha; }
+      html.theme--documenter-dark .content ol.is-lower-roman:not([type]) {
+        list-style-type: lower-roman; }
+      html.theme--documenter-dark .content ol.is-upper-alpha:not([type]) {
+        list-style-type: upper-alpha; }
+      html.theme--documenter-dark .content ol.is-upper-roman:not([type]) {
+        list-style-type: upper-roman; }
+  html.theme--documenter-dark .content ul {
+    list-style: disc outside;
+    margin-left: 2em;
+    margin-top: 1em; }
+    html.theme--documenter-dark .content ul ul {
+      list-style-type: circle;
+      margin-top: 0.5em; }
+      html.theme--documenter-dark .content ul ul ul {
+        list-style-type: square; }
+  html.theme--documenter-dark .content dd {
+    margin-left: 2em; }
+  html.theme--documenter-dark .content figure {
+    margin-left: 2em;
+    margin-right: 2em;
+    text-align: center; }
+    html.theme--documenter-dark .content figure:not(:first-child) {
+      margin-top: 2em; }
+    html.theme--documenter-dark .content figure:not(:last-child) {
+      margin-bottom: 2em; }
+    html.theme--documenter-dark .content figure img {
+      display: inline-block; }
+    html.theme--documenter-dark .content figure figcaption {
+      font-style: italic; }
+  html.theme--documenter-dark .content pre {
+    -webkit-overflow-scrolling: touch;
+    overflow-x: auto;
+    padding: 0;
+    white-space: pre;
+    word-wrap: normal; }
+  html.theme--documenter-dark .content sup,
+  html.theme--documenter-dark .content sub {
+    font-size: 75%; }
+  html.theme--documenter-dark .content table {
+    width: 100%; }
+    html.theme--documenter-dark .content table td,
+    html.theme--documenter-dark .content table th {
+      border: 1px solid #5e6d6f;
+      border-width: 0 0 1px;
+      padding: 0.5em 0.75em;
+      vertical-align: top; }
+    html.theme--documenter-dark .content table th {
+      color: #f2f2f2; }
+      html.theme--documenter-dark .content table th:not([align]) {
+        text-align: left; }
+    html.theme--documenter-dark .content table thead td,
+    html.theme--documenter-dark .content table thead th {
+      border-width: 0 0 2px;
+      color: #f2f2f2; }
+    html.theme--documenter-dark .content table tfoot td,
+    html.theme--documenter-dark .content table tfoot th {
+      border-width: 2px 0 0;
+      color: #f2f2f2; }
+    html.theme--documenter-dark .content table tbody tr:last-child td,
+    html.theme--documenter-dark .content table tbody tr:last-child th {
+      border-bottom-width: 0; }
+  html.theme--documenter-dark .content .tabs li + li {
+    margin-top: 0; }
+  html.theme--documenter-dark .content.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.content {
+    font-size: 0.85em; }
+  html.theme--documenter-dark .content.is-medium {
+    font-size: 1.25rem; }
+  html.theme--documenter-dark .content.is-large {
+    font-size: 1.5rem; }
+  html.theme--documenter-dark .icon {
+    align-items: center;
+    display: inline-flex;
+    justify-content: center;
+    height: 1.5rem;
+    width: 1.5rem; }
+    html.theme--documenter-dark .icon.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.icon {
+      height: 1rem;
+      width: 1rem; }
+    html.theme--documenter-dark .icon.is-medium {
+      height: 2rem;
+      width: 2rem; }
+    html.theme--documenter-dark .icon.is-large {
+      height: 3rem;
+      width: 3rem; }
+  html.theme--documenter-dark .image, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
+    display: block;
+    position: relative; }
+    html.theme--documenter-dark .image img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img {
+      display: block;
+      height: auto;
+      width: 100%; }
+      html.theme--documenter-dark .image img.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img.is-rounded {
+        border-radius: 290486px; }
+    html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
+    html.theme--documenter-dark .image.is-square .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
+    html.theme--documenter-dark .image.is-1by1 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
+    html.theme--documenter-dark .image.is-5by4 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
+    html.theme--documenter-dark .image.is-4by3 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
+    html.theme--documenter-dark .image.is-3by2 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
+    html.theme--documenter-dark .image.is-5by3 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
+    html.theme--documenter-dark .image.is-16by9 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
+    html.theme--documenter-dark .image.is-2by1 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
+    html.theme--documenter-dark .image.is-3by1 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
+    html.theme--documenter-dark .image.is-4by5 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
+    html.theme--documenter-dark .image.is-3by4 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
+    html.theme--documenter-dark .image.is-2by3 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
+    html.theme--documenter-dark .image.is-3by5 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
+    html.theme--documenter-dark .image.is-9by16 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
+    html.theme--documenter-dark .image.is-1by2 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
+    html.theme--documenter-dark .image.is-1by3 .has-ratio,
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
+      height: 100%;
+      width: 100%; }
+    html.theme--documenter-dark .image.is-square, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square, html.theme--documenter-dark .image.is-1by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 {
+      padding-top: 100%; }
+    html.theme--documenter-dark .image.is-5by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 {
+      padding-top: 80%; }
+    html.theme--documenter-dark .image.is-4by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 {
+      padding-top: 75%; }
+    html.theme--documenter-dark .image.is-3by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 {
+      padding-top: 66.6666%; }
+    html.theme--documenter-dark .image.is-5by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 {
+      padding-top: 60%; }
+    html.theme--documenter-dark .image.is-16by9, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 {
+      padding-top: 56.25%; }
+    html.theme--documenter-dark .image.is-2by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 {
+      padding-top: 50%; }
+    html.theme--documenter-dark .image.is-3by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 {
+      padding-top: 33.3333%; }
+    html.theme--documenter-dark .image.is-4by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 {
+      padding-top: 125%; }
+    html.theme--documenter-dark .image.is-3by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 {
+      padding-top: 133.3333%; }
+    html.theme--documenter-dark .image.is-2by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 {
+      padding-top: 150%; }
+    html.theme--documenter-dark .image.is-3by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 {
+      padding-top: 166.6666%; }
+    html.theme--documenter-dark .image.is-9by16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 {
+      padding-top: 177.7777%; }
+    html.theme--documenter-dark .image.is-1by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 {
+      padding-top: 200%; }
+    html.theme--documenter-dark .image.is-1by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 {
+      padding-top: 300%; }
+    html.theme--documenter-dark .image.is-16x16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16x16 {
+      height: 16px;
+      width: 16px; }
+    html.theme--documenter-dark .image.is-24x24, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-24x24 {
+      height: 24px;
+      width: 24px; }
+    html.theme--documenter-dark .image.is-32x32, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-32x32 {
+      height: 32px;
+      width: 32px; }
+    html.theme--documenter-dark .image.is-48x48, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-48x48 {
+      height: 48px;
+      width: 48px; }
+    html.theme--documenter-dark .image.is-64x64, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-64x64 {
+      height: 64px;
+      width: 64px; }
+    html.theme--documenter-dark .image.is-96x96, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-96x96 {
+      height: 96px;
+      width: 96px; }
+    html.theme--documenter-dark .image.is-128x128, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-128x128 {
+      height: 128px;
+      width: 128px; }
+  html.theme--documenter-dark .notification {
+    background-color: #282f2f;
+    border-radius: 0.4em;
+    padding: 1.25rem 2.5rem 1.25rem 1.5rem;
+    position: relative; }
+    html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item) {
+      color: currentColor;
+      text-decoration: underline; }
+    html.theme--documenter-dark .notification strong {
+      color: currentColor; }
+    html.theme--documenter-dark .notification code,
+    html.theme--documenter-dark .notification pre {
+      background: white; }
+    html.theme--documenter-dark .notification pre code {
+      background: transparent; }
+    html.theme--documenter-dark .notification > .delete {
+      position: absolute;
+      right: 0.5rem;
+      top: 0.5rem; }
+    html.theme--documenter-dark .notification .title,
+    html.theme--documenter-dark .notification .subtitle,
+    html.theme--documenter-dark .notification .content {
+      color: currentColor; }
+    html.theme--documenter-dark .notification.is-white {
+      background-color: white;
+      color: #0a0a0a; }
+    html.theme--documenter-dark .notification.is-black {
+      background-color: #0a0a0a;
+      color: white; }
+    html.theme--documenter-dark .notification.is-light {
+      background-color: #ecf0f1;
+      color: #282f2f; }
+    html.theme--documenter-dark .notification.is-dark, html.theme--documenter-dark .content kbd.notification {
+      background-color: #282f2f;
+      color: #ecf0f1; }
+    html.theme--documenter-dark .notification.is-primary, html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink {
+      background-color: #375a7f;
+      color: #fff; }
+    html.theme--documenter-dark .notification.is-link {
+      background-color: #1abc9c;
+      color: #fff; }
+    html.theme--documenter-dark .notification.is-info {
+      background-color: #024c7d;
+      color: #fff; }
+    html.theme--documenter-dark .notification.is-success {
+      background-color: #008438;
+      color: #fff; }
+    html.theme--documenter-dark .notification.is-warning {
+      background-color: #ad8100;
+      color: #fff; }
+    html.theme--documenter-dark .notification.is-danger {
+      background-color: #9e1b0d;
+      color: #fff; }
+  html.theme--documenter-dark .progress {
+    -moz-appearance: none;
+    -webkit-appearance: none;
+    border: none;
+    border-radius: 290486px;
+    display: block;
+    height: 15px;
+    overflow: hidden;
+    padding: 0;
+    width: 100%; }
+    html.theme--documenter-dark .progress::-webkit-progress-bar {
+      background-color: #5e6d6f; }
+    html.theme--documenter-dark .progress::-webkit-progress-value {
+      background-color: #dbdee0; }
+    html.theme--documenter-dark .progress::-moz-progress-bar {
+      background-color: #dbdee0; }
+    html.theme--documenter-dark .progress::-ms-fill {
+      background-color: #dbdee0;
+      border: none; }
+    html.theme--documenter-dark .progress.is-white::-webkit-progress-value {
+      background-color: white; }
+    html.theme--documenter-dark .progress.is-white::-moz-progress-bar {
+      background-color: white; }
+    html.theme--documenter-dark .progress.is-white::-ms-fill {
+      background-color: white; }
+    html.theme--documenter-dark .progress.is-white:indeterminate {
+      background-image: linear-gradient(to right, white 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-black::-webkit-progress-value {
+      background-color: #0a0a0a; }
+    html.theme--documenter-dark .progress.is-black::-moz-progress-bar {
+      background-color: #0a0a0a; }
+    html.theme--documenter-dark .progress.is-black::-ms-fill {
+      background-color: #0a0a0a; }
+    html.theme--documenter-dark .progress.is-black:indeterminate {
+      background-image: linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-light::-webkit-progress-value {
+      background-color: #ecf0f1; }
+    html.theme--documenter-dark .progress.is-light::-moz-progress-bar {
+      background-color: #ecf0f1; }
+    html.theme--documenter-dark .progress.is-light::-ms-fill {
+      background-color: #ecf0f1; }
+    html.theme--documenter-dark .progress.is-light:indeterminate {
+      background-image: linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-dark::-webkit-progress-value, html.theme--documenter-dark .content kbd.progress::-webkit-progress-value {
+      background-color: #282f2f; }
+    html.theme--documenter-dark .progress.is-dark::-moz-progress-bar, html.theme--documenter-dark .content kbd.progress::-moz-progress-bar {
+      background-color: #282f2f; }
+    html.theme--documenter-dark .progress.is-dark::-ms-fill, html.theme--documenter-dark .content kbd.progress::-ms-fill {
+      background-color: #282f2f; }
+    html.theme--documenter-dark .progress.is-dark:indeterminate, html.theme--documenter-dark .content kbd.progress:indeterminate {
+      background-image: linear-gradient(to right, #282f2f 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-primary::-webkit-progress-value, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
+      background-color: #375a7f; }
+    html.theme--documenter-dark .progress.is-primary::-moz-progress-bar, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
+      background-color: #375a7f; }
+    html.theme--documenter-dark .progress.is-primary::-ms-fill, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-ms-fill {
+      background-color: #375a7f; }
+    html.theme--documenter-dark .progress.is-primary:indeterminate, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink:indeterminate {
+      background-image: linear-gradient(to right, #375a7f 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-link::-webkit-progress-value {
+      background-color: #1abc9c; }
+    html.theme--documenter-dark .progress.is-link::-moz-progress-bar {
+      background-color: #1abc9c; }
+    html.theme--documenter-dark .progress.is-link::-ms-fill {
+      background-color: #1abc9c; }
+    html.theme--documenter-dark .progress.is-link:indeterminate {
+      background-image: linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-info::-webkit-progress-value {
+      background-color: #024c7d; }
+    html.theme--documenter-dark .progress.is-info::-moz-progress-bar {
+      background-color: #024c7d; }
+    html.theme--documenter-dark .progress.is-info::-ms-fill {
+      background-color: #024c7d; }
+    html.theme--documenter-dark .progress.is-info:indeterminate {
+      background-image: linear-gradient(to right, #024c7d 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-success::-webkit-progress-value {
+      background-color: #008438; }
+    html.theme--documenter-dark .progress.is-success::-moz-progress-bar {
+      background-color: #008438; }
+    html.theme--documenter-dark .progress.is-success::-ms-fill {
+      background-color: #008438; }
+    html.theme--documenter-dark .progress.is-success:indeterminate {
+      background-image: linear-gradient(to right, #008438 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-warning::-webkit-progress-value {
+      background-color: #ad8100; }
+    html.theme--documenter-dark .progress.is-warning::-moz-progress-bar {
+      background-color: #ad8100; }
+    html.theme--documenter-dark .progress.is-warning::-ms-fill {
+      background-color: #ad8100; }
+    html.theme--documenter-dark .progress.is-warning:indeterminate {
+      background-image: linear-gradient(to right, #ad8100 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress.is-danger::-webkit-progress-value {
+      background-color: #9e1b0d; }
+    html.theme--documenter-dark .progress.is-danger::-moz-progress-bar {
+      background-color: #9e1b0d; }
+    html.theme--documenter-dark .progress.is-danger::-ms-fill {
+      background-color: #9e1b0d; }
+    html.theme--documenter-dark .progress.is-danger:indeterminate {
+      background-image: linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%); }
+    html.theme--documenter-dark .progress:indeterminate {
+      animation-duration: 1.5s;
+      animation-iteration-count: infinite;
+      animation-name: moveIndeterminate;
+      animation-timing-function: linear;
+      background-color: #5e6d6f;
+      background-image: linear-gradient(to right, #fff 30%, #5e6d6f 30%);
+      background-position: top left;
+      background-repeat: no-repeat;
+      background-size: 150% 150%; }
+      html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar {
+        background-color: transparent; }
+      html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar {
+        background-color: transparent; }
+    html.theme--documenter-dark .progress.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.progress {
+      height: 0.85em; }
+    html.theme--documenter-dark .progress.is-medium {
+      height: 1.25rem; }
+    html.theme--documenter-dark .progress.is-large {
+      height: 1.5rem; }
+
+@keyframes moveIndeterminate {
+  from {
+    background-position: 200% 0; }
+  to {
+    background-position: -200% 0; } }
+  html.theme--documenter-dark .table {
+    background-color: #343c3d;
+    color: #fff; }
+    html.theme--documenter-dark .table td,
+    html.theme--documenter-dark .table th {
+      border: 1px solid #5e6d6f;
+      border-width: 0 0 1px;
+      padding: 0.5em 0.75em;
+      vertical-align: top; }
+      html.theme--documenter-dark .table td.is-white,
+      html.theme--documenter-dark .table th.is-white {
+        background-color: white;
+        border-color: white;
+        color: #0a0a0a; }
+      html.theme--documenter-dark .table td.is-black,
+      html.theme--documenter-dark .table th.is-black {
+        background-color: #0a0a0a;
+        border-color: #0a0a0a;
+        color: white; }
+      html.theme--documenter-dark .table td.is-light,
+      html.theme--documenter-dark .table th.is-light {
+        background-color: #ecf0f1;
+        border-color: #ecf0f1;
+        color: #282f2f; }
+      html.theme--documenter-dark .table td.is-dark,
+      html.theme--documenter-dark .table th.is-dark {
+        background-color: #282f2f;
+        border-color: #282f2f;
+        color: #ecf0f1; }
+      html.theme--documenter-dark .table td.is-primary,
+      html.theme--documenter-dark .table th.is-primary {
+        background-color: #375a7f;
+        border-color: #375a7f;
+        color: #fff; }
+      html.theme--documenter-dark .table td.is-link,
+      html.theme--documenter-dark .table th.is-link {
+        background-color: #1abc9c;
+        border-color: #1abc9c;
+        color: #fff; }
+      html.theme--documenter-dark .table td.is-info,
+      html.theme--documenter-dark .table th.is-info {
+        background-color: #024c7d;
+        border-color: #024c7d;
+        color: #fff; }
+      html.theme--documenter-dark .table td.is-success,
+      html.theme--documenter-dark .table th.is-success {
+        background-color: #008438;
+        border-color: #008438;
+        color: #fff; }
+      html.theme--documenter-dark .table td.is-warning,
+      html.theme--documenter-dark .table th.is-warning {
+        background-color: #ad8100;
+        border-color: #ad8100;
+        color: #fff; }
+      html.theme--documenter-dark .table td.is-danger,
+      html.theme--documenter-dark .table th.is-danger {
+        background-color: #9e1b0d;
+        border-color: #9e1b0d;
+        color: #fff; }
+      html.theme--documenter-dark .table td.is-narrow,
+      html.theme--documenter-dark .table th.is-narrow {
+        white-space: nowrap;
+        width: 1%; }
+      html.theme--documenter-dark .table td.is-selected,
+      html.theme--documenter-dark .table th.is-selected {
+        background-color: #375a7f;
+        color: #fff; }
+        html.theme--documenter-dark .table td.is-selected a,
+        html.theme--documenter-dark .table td.is-selected strong,
+        html.theme--documenter-dark .table th.is-selected a,
+        html.theme--documenter-dark .table th.is-selected strong {
+          color: currentColor; }
+    html.theme--documenter-dark .table th {
+      color: #f2f2f2; }
+      html.theme--documenter-dark .table th:not([align]) {
+        text-align: left; }
+    html.theme--documenter-dark .table tr.is-selected {
+      background-color: #375a7f;
+      color: #fff; }
+      html.theme--documenter-dark .table tr.is-selected a,
+      html.theme--documenter-dark .table tr.is-selected strong {
+        color: currentColor; }
+      html.theme--documenter-dark .table tr.is-selected td,
+      html.theme--documenter-dark .table tr.is-selected th {
+        border-color: #fff;
+        color: currentColor; }
+    html.theme--documenter-dark .table thead {
+      background-color: transparent; }
+      html.theme--documenter-dark .table thead td,
+      html.theme--documenter-dark .table thead th {
+        border-width: 0 0 2px;
+        color: #f2f2f2; }
+    html.theme--documenter-dark .table tfoot {
+      background-color: transparent; }
+      html.theme--documenter-dark .table tfoot td,
+      html.theme--documenter-dark .table tfoot th {
+        border-width: 2px 0 0;
+        color: #f2f2f2; }
+    html.theme--documenter-dark .table tbody {
+      background-color: transparent; }
+      html.theme--documenter-dark .table tbody tr:last-child td,
+      html.theme--documenter-dark .table tbody tr:last-child th {
+        border-bottom-width: 0; }
+    html.theme--documenter-dark .table.is-bordered td,
+    html.theme--documenter-dark .table.is-bordered th {
+      border-width: 1px; }
+    html.theme--documenter-dark .table.is-bordered tr:last-child td,
+    html.theme--documenter-dark .table.is-bordered tr:last-child th {
+      border-bottom-width: 1px; }
+    html.theme--documenter-dark .table.is-fullwidth {
+      width: 100%; }
+    html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover {
+      background-color: #282f2f; }
+    html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
+      background-color: #282f2f; }
+      html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
+        background-color: #2d3435; }
+    html.theme--documenter-dark .table.is-narrow td,
+    html.theme--documenter-dark .table.is-narrow th {
+      padding: 0.25em 0.5em; }
+    html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
+      background-color: #282f2f; }
+  html.theme--documenter-dark .table-container {
+    -webkit-overflow-scrolling: touch;
+    overflow: auto;
+    overflow-y: hidden;
+    max-width: 100%; }
+  html.theme--documenter-dark .tags {
+    align-items: center;
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: flex-start; }
+    html.theme--documenter-dark .tags .tag, html.theme--documenter-dark .tags .content kbd, html.theme--documenter-dark .content .tags kbd, html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink {
+      margin-bottom: 0.5rem; }
+      html.theme--documenter-dark .tags .tag:not(:last-child), html.theme--documenter-dark .tags .content kbd:not(:last-child), html.theme--documenter-dark .content .tags kbd:not(:last-child), html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
+        margin-right: 0.5rem; }
+    html.theme--documenter-dark .tags:last-child {
+      margin-bottom: -0.5rem; }
+    html.theme--documenter-dark .tags:not(:last-child) {
+      margin-bottom: 1rem; }
+    html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
+      font-size: 15px; }
+    html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .tags.is-centered {
+      justify-content: center; }
+      html.theme--documenter-dark .tags.is-centered .tag, html.theme--documenter-dark .tags.is-centered .content kbd, html.theme--documenter-dark .content .tags.is-centered kbd, html.theme--documenter-dark .tags.is-centered .docstring > section > a.docs-sourcelink {
+        margin-right: 0.25rem;
+        margin-left: 0.25rem; }
+    html.theme--documenter-dark .tags.is-right {
+      justify-content: flex-end; }
+      html.theme--documenter-dark .tags.is-right .tag:not(:first-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
+        margin-left: 0.5rem; }
+      html.theme--documenter-dark .tags.is-right .tag:not(:last-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
+        margin-right: 0; }
+    html.theme--documenter-dark .tags.has-addons .tag, html.theme--documenter-dark .tags.has-addons .content kbd, html.theme--documenter-dark .content .tags.has-addons kbd, html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink {
+      margin-right: 0; }
+      html.theme--documenter-dark .tags.has-addons .tag:not(:first-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
+        margin-left: 0;
+        border-bottom-left-radius: 0;
+        border-top-left-radius: 0; }
+      html.theme--documenter-dark .tags.has-addons .tag:not(:last-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
+        border-bottom-right-radius: 0;
+        border-top-right-radius: 0; }
+  html.theme--documenter-dark .tag:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
+    align-items: center;
+    background-color: #282f2f;
+    border-radius: 0.4em;
+    color: #fff;
+    display: inline-flex;
+    font-size: 0.85em;
+    height: 2em;
+    justify-content: center;
+    line-height: 1.5;
+    padding-left: 0.75em;
+    padding-right: 0.75em;
+    white-space: nowrap; }
+    html.theme--documenter-dark .tag:not(body) .delete, html.theme--documenter-dark .content kbd:not(body) .delete, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .delete {
+      margin-left: 0.25rem;
+      margin-right: -0.375rem; }
+    html.theme--documenter-dark .tag.is-white:not(body), html.theme--documenter-dark .content kbd.is-white:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-white:not(body) {
+      background-color: white;
+      color: #0a0a0a; }
+    html.theme--documenter-dark .tag.is-black:not(body), html.theme--documenter-dark .content kbd.is-black:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-black:not(body) {
+      background-color: #0a0a0a;
+      color: white; }
+    html.theme--documenter-dark .tag.is-light:not(body), html.theme--documenter-dark .content kbd.is-light:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-light:not(body) {
+      background-color: #ecf0f1;
+      color: #282f2f; }
+    html.theme--documenter-dark .tag.is-dark:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-dark:not(body), html.theme--documenter-dark .content .docstring > section > kbd:not(body) {
+      background-color: #282f2f;
+      color: #ecf0f1; }
+    html.theme--documenter-dark .tag.is-primary:not(body), html.theme--documenter-dark .content kbd.is-primary:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
+      background-color: #375a7f;
+      color: #fff; }
+    html.theme--documenter-dark .tag.is-link:not(body), html.theme--documenter-dark .content kbd.is-link:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-link:not(body) {
+      background-color: #1abc9c;
+      color: #fff; }
+    html.theme--documenter-dark .tag.is-info:not(body), html.theme--documenter-dark .content kbd.is-info:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-info:not(body) {
+      background-color: #024c7d;
+      color: #fff; }
+    html.theme--documenter-dark .tag.is-success:not(body), html.theme--documenter-dark .content kbd.is-success:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-success:not(body) {
+      background-color: #008438;
+      color: #fff; }
+    html.theme--documenter-dark .tag.is-warning:not(body), html.theme--documenter-dark .content kbd.is-warning:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-warning:not(body) {
+      background-color: #ad8100;
+      color: #fff; }
+    html.theme--documenter-dark .tag.is-danger:not(body), html.theme--documenter-dark .content kbd.is-danger:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-danger:not(body) {
+      background-color: #9e1b0d;
+      color: #fff; }
+    html.theme--documenter-dark .tag.is-normal:not(body), html.theme--documenter-dark .content kbd.is-normal:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-normal:not(body) {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .tag.is-medium:not(body), html.theme--documenter-dark .content kbd.is-medium:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-medium:not(body) {
+      font-size: 15px; }
+    html.theme--documenter-dark .tag.is-large:not(body), html.theme--documenter-dark .content kbd.is-large:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-large:not(body) {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
+      margin-left: -0.375em;
+      margin-right: 0.1875em; }
+    html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
+      margin-left: 0.1875em;
+      margin-right: -0.375em; }
+    html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child, html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
+      margin-left: -0.375em;
+      margin-right: -0.375em; }
+    html.theme--documenter-dark .tag.is-delete:not(body), html.theme--documenter-dark .content kbd.is-delete:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body) {
+      margin-left: 1px;
+      padding: 0;
+      position: relative;
+      width: 2em; }
+      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+        background-color: currentColor;
+        content: "";
+        display: block;
+        left: 50%;
+        position: absolute;
+        top: 50%;
+        transform: translateX(-50%) translateY(-50%) rotate(45deg);
+        transform-origin: center center; }
+      html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
+        height: 1px;
+        width: 50%; }
+      html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+        height: 50%;
+        width: 1px; }
+      html.theme--documenter-dark .tag.is-delete:not(body):hover, html.theme--documenter-dark .content kbd.is-delete:not(body):hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, html.theme--documenter-dark .tag.is-delete:not(body):focus, html.theme--documenter-dark .content kbd.is-delete:not(body):focus, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
+        background-color: #1d2122; }
+      html.theme--documenter-dark .tag.is-delete:not(body):active, html.theme--documenter-dark .content kbd.is-delete:not(body):active, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
+        background-color: #111414; }
+    html.theme--documenter-dark .tag.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:not(body), html.theme--documenter-dark .content kbd.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
+      border-radius: 290486px; }
+  html.theme--documenter-dark a.tag:hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:hover {
+    text-decoration: underline; }
+  html.theme--documenter-dark .title,
+  html.theme--documenter-dark .subtitle {
+    word-break: break-word; }
+    html.theme--documenter-dark .title em,
+    html.theme--documenter-dark .title span,
+    html.theme--documenter-dark .subtitle em,
+    html.theme--documenter-dark .subtitle span {
+      font-weight: inherit; }
+    html.theme--documenter-dark .title sub,
+    html.theme--documenter-dark .subtitle sub {
+      font-size: 0.75em; }
+    html.theme--documenter-dark .title sup,
+    html.theme--documenter-dark .subtitle sup {
+      font-size: 0.75em; }
+    html.theme--documenter-dark .title .tag, html.theme--documenter-dark .title .content kbd, html.theme--documenter-dark .content .title kbd, html.theme--documenter-dark .title .docstring > section > a.docs-sourcelink,
+    html.theme--documenter-dark .subtitle .tag,
+    html.theme--documenter-dark .subtitle .content kbd,
+    html.theme--documenter-dark .content .subtitle kbd,
+    html.theme--documenter-dark .subtitle .docstring > section > a.docs-sourcelink {
+      vertical-align: middle; }
+  html.theme--documenter-dark .title {
+    color: #fff;
+    font-size: 2rem;
+    font-weight: 500;
+    line-height: 1.125; }
+    html.theme--documenter-dark .title strong {
+      color: inherit;
+      font-weight: inherit; }
+    html.theme--documenter-dark .title + .highlight {
+      margin-top: -0.75rem; }
+    html.theme--documenter-dark .title:not(.is-spaced) + .subtitle {
+      margin-top: -1.25rem; }
+    html.theme--documenter-dark .title.is-1 {
+      font-size: 3rem; }
+    html.theme--documenter-dark .title.is-2 {
+      font-size: 2.5rem; }
+    html.theme--documenter-dark .title.is-3 {
+      font-size: 2rem; }
+    html.theme--documenter-dark .title.is-4 {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .title.is-5 {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .title.is-6 {
+      font-size: 15px; }
+    html.theme--documenter-dark .title.is-7 {
+      font-size: 0.85em; }
+  html.theme--documenter-dark .subtitle {
+    color: #8c9b9d;
+    font-size: 1.25rem;
+    font-weight: 400;
+    line-height: 1.25; }
+    html.theme--documenter-dark .subtitle strong {
+      color: #8c9b9d;
+      font-weight: 600; }
+    html.theme--documenter-dark .subtitle:not(.is-spaced) + .title {
+      margin-top: -1.25rem; }
+    html.theme--documenter-dark .subtitle.is-1 {
+      font-size: 3rem; }
+    html.theme--documenter-dark .subtitle.is-2 {
+      font-size: 2.5rem; }
+    html.theme--documenter-dark .subtitle.is-3 {
+      font-size: 2rem; }
+    html.theme--documenter-dark .subtitle.is-4 {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .subtitle.is-5 {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .subtitle.is-6 {
+      font-size: 15px; }
+    html.theme--documenter-dark .subtitle.is-7 {
+      font-size: 0.85em; }
+  html.theme--documenter-dark .heading {
+    display: block;
+    font-size: 11px;
+    letter-spacing: 1px;
+    margin-bottom: 5px;
+    text-transform: uppercase; }
+  html.theme--documenter-dark .highlight {
+    font-weight: 400;
+    max-width: 100%;
+    overflow: hidden;
+    padding: 0; }
+    html.theme--documenter-dark .highlight pre {
+      overflow: auto;
+      max-width: 100%; }
+  html.theme--documenter-dark .number {
+    align-items: center;
+    background-color: #282f2f;
+    border-radius: 290486px;
+    display: inline-flex;
+    font-size: 1.25rem;
+    height: 2em;
+    justify-content: center;
+    margin-right: 1.5rem;
+    min-width: 2.5em;
+    padding: 0.25rem 0.5rem;
+    text-align: center;
+    vertical-align: top; }
+  html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+    background-color: #1f2424;
+    border-color: #5e6d6f;
+    border-radius: 0.4em;
+    color: #dbdee0; }
+    html.theme--documenter-dark .select select::-moz-placeholder, html.theme--documenter-dark .textarea::-moz-placeholder, html.theme--documenter-dark .input::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
+      color: rgba(219, 222, 224, 0.3); }
+    html.theme--documenter-dark .select select::-webkit-input-placeholder, html.theme--documenter-dark .textarea::-webkit-input-placeholder, html.theme--documenter-dark .input::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
+      color: rgba(219, 222, 224, 0.3); }
+    html.theme--documenter-dark .select select:-moz-placeholder, html.theme--documenter-dark .textarea:-moz-placeholder, html.theme--documenter-dark .input:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
+      color: rgba(219, 222, 224, 0.3); }
+    html.theme--documenter-dark .select select:-ms-input-placeholder, html.theme--documenter-dark .textarea:-ms-input-placeholder, html.theme--documenter-dark .input:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
+      color: rgba(219, 222, 224, 0.3); }
+    html.theme--documenter-dark .select select:hover, html.theme--documenter-dark .textarea:hover, html.theme--documenter-dark .input:hover, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:hover, html.theme--documenter-dark .select select.is-hovered, html.theme--documenter-dark .is-hovered.textarea, html.theme--documenter-dark .is-hovered.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-hovered {
+      border-color: #8c9b9d; }
+    html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+      border-color: #1abc9c;
+      box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+    html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+      background-color: #8c9b9d;
+      border-color: #282f2f;
+      box-shadow: none;
+      color: white; }
+      html.theme--documenter-dark .select select[disabled]::-moz-placeholder, html.theme--documenter-dark .textarea[disabled]::-moz-placeholder, html.theme--documenter-dark .input[disabled]::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
+        color: rgba(255, 255, 255, 0.3); }
+      html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
+        color: rgba(255, 255, 255, 0.3); }
+      html.theme--documenter-dark .select select[disabled]:-moz-placeholder, html.theme--documenter-dark .textarea[disabled]:-moz-placeholder, html.theme--documenter-dark .input[disabled]:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
+        color: rgba(255, 255, 255, 0.3); }
+      html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder, html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder, html.theme--documenter-dark .input[disabled]:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
+        color: rgba(255, 255, 255, 0.3); }
+  html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+    max-width: 100%;
+    width: 100%; }
+    html.theme--documenter-dark .textarea[readonly], html.theme--documenter-dark .input[readonly], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[readonly] {
+      box-shadow: none; }
+    html.theme--documenter-dark .is-white.textarea, html.theme--documenter-dark .is-white.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white {
+      border-color: white; }
+      html.theme--documenter-dark .is-white.textarea:focus, html.theme--documenter-dark .is-white.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:focus, html.theme--documenter-dark .is-white.is-focused.textarea, html.theme--documenter-dark .is-white.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-white.textarea:active, html.theme--documenter-dark .is-white.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:active, html.theme--documenter-dark .is-white.is-active.textarea, html.theme--documenter-dark .is-white.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+    html.theme--documenter-dark .is-black.textarea, html.theme--documenter-dark .is-black.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black {
+      border-color: #0a0a0a; }
+      html.theme--documenter-dark .is-black.textarea:focus, html.theme--documenter-dark .is-black.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:focus, html.theme--documenter-dark .is-black.is-focused.textarea, html.theme--documenter-dark .is-black.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-black.textarea:active, html.theme--documenter-dark .is-black.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:active, html.theme--documenter-dark .is-black.is-active.textarea, html.theme--documenter-dark .is-black.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+    html.theme--documenter-dark .is-light.textarea, html.theme--documenter-dark .is-light.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light {
+      border-color: #ecf0f1; }
+      html.theme--documenter-dark .is-light.textarea:focus, html.theme--documenter-dark .is-light.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:focus, html.theme--documenter-dark .is-light.is-focused.textarea, html.theme--documenter-dark .is-light.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-light.textarea:active, html.theme--documenter-dark .is-light.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:active, html.theme--documenter-dark .is-light.is-active.textarea, html.theme--documenter-dark .is-light.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
+    html.theme--documenter-dark .is-dark.textarea, html.theme--documenter-dark .content kbd.textarea, html.theme--documenter-dark .is-dark.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark, html.theme--documenter-dark .content kbd.input {
+      border-color: #282f2f; }
+      html.theme--documenter-dark .is-dark.textarea:focus, html.theme--documenter-dark .content kbd.textarea:focus, html.theme--documenter-dark .is-dark.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:focus, html.theme--documenter-dark .content kbd.input:focus, html.theme--documenter-dark .is-dark.is-focused.textarea, html.theme--documenter-dark .content kbd.is-focused.textarea, html.theme--documenter-dark .is-dark.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .content kbd.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-focused, html.theme--documenter-dark .is-dark.textarea:active, html.theme--documenter-dark .content kbd.textarea:active, html.theme--documenter-dark .is-dark.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:active, html.theme--documenter-dark .content kbd.input:active, html.theme--documenter-dark .is-dark.is-active.textarea, html.theme--documenter-dark .content kbd.is-active.textarea, html.theme--documenter-dark .is-dark.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .content kbd.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
+    html.theme--documenter-dark .is-primary.textarea, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink {
+      border-color: #375a7f; }
+      html.theme--documenter-dark .is-primary.textarea:focus, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:focus, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.is-focused.textarea, html.theme--documenter-dark .docstring > section > a.is-focused.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .docstring > section > a.is-focused.input.docs-sourcelink, html.theme--documenter-dark .is-primary.textarea:active, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:active, html.theme--documenter-dark .is-primary.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:active, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:active, html.theme--documenter-dark .is-primary.is-active.textarea, html.theme--documenter-dark .docstring > section > a.is-active.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .docstring > section > a.is-active.input.docs-sourcelink {
+        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
+    html.theme--documenter-dark .is-link.textarea, html.theme--documenter-dark .is-link.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link {
+      border-color: #1abc9c; }
+      html.theme--documenter-dark .is-link.textarea:focus, html.theme--documenter-dark .is-link.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:focus, html.theme--documenter-dark .is-link.is-focused.textarea, html.theme--documenter-dark .is-link.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-link.textarea:active, html.theme--documenter-dark .is-link.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:active, html.theme--documenter-dark .is-link.is-active.textarea, html.theme--documenter-dark .is-link.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+    html.theme--documenter-dark .is-info.textarea, html.theme--documenter-dark .is-info.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info {
+      border-color: #024c7d; }
+      html.theme--documenter-dark .is-info.textarea:focus, html.theme--documenter-dark .is-info.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:focus, html.theme--documenter-dark .is-info.is-focused.textarea, html.theme--documenter-dark .is-info.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-info.textarea:active, html.theme--documenter-dark .is-info.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:active, html.theme--documenter-dark .is-info.is-active.textarea, html.theme--documenter-dark .is-info.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
+    html.theme--documenter-dark .is-success.textarea, html.theme--documenter-dark .is-success.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success {
+      border-color: #008438; }
+      html.theme--documenter-dark .is-success.textarea:focus, html.theme--documenter-dark .is-success.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:focus, html.theme--documenter-dark .is-success.is-focused.textarea, html.theme--documenter-dark .is-success.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-success.textarea:active, html.theme--documenter-dark .is-success.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:active, html.theme--documenter-dark .is-success.is-active.textarea, html.theme--documenter-dark .is-success.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
+    html.theme--documenter-dark .is-warning.textarea, html.theme--documenter-dark .is-warning.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning {
+      border-color: #ad8100; }
+      html.theme--documenter-dark .is-warning.textarea:focus, html.theme--documenter-dark .is-warning.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:focus, html.theme--documenter-dark .is-warning.is-focused.textarea, html.theme--documenter-dark .is-warning.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-warning.textarea:active, html.theme--documenter-dark .is-warning.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:active, html.theme--documenter-dark .is-warning.is-active.textarea, html.theme--documenter-dark .is-warning.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
+    html.theme--documenter-dark .is-danger.textarea, html.theme--documenter-dark .is-danger.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger {
+      border-color: #9e1b0d; }
+      html.theme--documenter-dark .is-danger.textarea:focus, html.theme--documenter-dark .is-danger.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:focus, html.theme--documenter-dark .is-danger.is-focused.textarea, html.theme--documenter-dark .is-danger.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-danger.textarea:active, html.theme--documenter-dark .is-danger.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:active, html.theme--documenter-dark .is-danger.is-active.textarea, html.theme--documenter-dark .is-danger.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
+    html.theme--documenter-dark .is-small.textarea, html.theme--documenter-dark .is-small.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+      border-radius: 3px;
+      font-size: 0.85em; }
+    html.theme--documenter-dark .is-medium.textarea, html.theme--documenter-dark .is-medium.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .is-large.textarea, html.theme--documenter-dark .is-large.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-large {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .is-fullwidth.textarea, html.theme--documenter-dark .is-fullwidth.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
+      display: block;
+      width: 100%; }
+    html.theme--documenter-dark .is-inline.textarea, html.theme--documenter-dark .is-inline.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-inline {
+      display: inline;
+      width: auto; }
+  html.theme--documenter-dark .input.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+    border-radius: 290486px;
+    padding-left: 1em;
+    padding-right: 1em; }
+  html.theme--documenter-dark .input.is-static, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-static {
+    background-color: transparent;
+    border-color: transparent;
+    box-shadow: none;
+    padding-left: 0;
+    padding-right: 0; }
+  html.theme--documenter-dark .textarea {
+    display: block;
+    max-width: 100%;
+    min-width: 100%;
+    padding: 0.625em;
+    resize: vertical; }
+    html.theme--documenter-dark .textarea:not([rows]) {
+      max-height: 600px;
+      min-height: 120px; }
+    html.theme--documenter-dark .textarea[rows] {
+      height: initial; }
+    html.theme--documenter-dark .textarea.has-fixed-size {
+      resize: none; }
+  html.theme--documenter-dark .radio, html.theme--documenter-dark .checkbox {
+    cursor: pointer;
+    display: inline-block;
+    line-height: 1.25;
+    position: relative; }
+    html.theme--documenter-dark .radio input, html.theme--documenter-dark .checkbox input {
+      cursor: pointer; }
+    html.theme--documenter-dark .radio:hover, html.theme--documenter-dark .checkbox:hover {
+      color: #8c9b9d; }
+    html.theme--documenter-dark .radio[disabled], html.theme--documenter-dark .checkbox[disabled], fieldset[disabled] html.theme--documenter-dark .radio, fieldset[disabled] html.theme--documenter-dark .checkbox {
+      color: white;
+      cursor: not-allowed; }
+  html.theme--documenter-dark .radio + .radio {
+    margin-left: 0.5em; }
+  html.theme--documenter-dark .select {
+    display: inline-block;
+    max-width: 100%;
+    position: relative;
+    vertical-align: top; }
+    html.theme--documenter-dark .select:not(.is-multiple) {
+      height: 2.25em; }
+    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
+      border-color: #1abc9c;
+      right: 1.125em;
+      z-index: 4; }
+    html.theme--documenter-dark .select.is-rounded select, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select select {
+      border-radius: 290486px;
+      padding-left: 1em; }
+    html.theme--documenter-dark .select select {
+      cursor: pointer;
+      display: block;
+      font-size: 1em;
+      max-width: 100%;
+      outline: none; }
+      html.theme--documenter-dark .select select::-ms-expand {
+        display: none; }
+      html.theme--documenter-dark .select select[disabled]:hover, fieldset[disabled] html.theme--documenter-dark .select select:hover {
+        border-color: #282f2f; }
+      html.theme--documenter-dark .select select:not([multiple]) {
+        padding-right: 2.5em; }
+      html.theme--documenter-dark .select select[multiple] {
+        height: auto;
+        padding: 0; }
+        html.theme--documenter-dark .select select[multiple] option {
+          padding: 0.5em 1em; }
+    html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after {
+      border-color: #8c9b9d; }
+    html.theme--documenter-dark .select.is-white:not(:hover)::after {
+      border-color: white; }
+    html.theme--documenter-dark .select.is-white select {
+      border-color: white; }
+      html.theme--documenter-dark .select.is-white select:hover, html.theme--documenter-dark .select.is-white select.is-hovered {
+        border-color: #f2f2f2; }
+      html.theme--documenter-dark .select.is-white select:focus, html.theme--documenter-dark .select.is-white select.is-focused, html.theme--documenter-dark .select.is-white select:active, html.theme--documenter-dark .select.is-white select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+    html.theme--documenter-dark .select.is-black:not(:hover)::after {
+      border-color: #0a0a0a; }
+    html.theme--documenter-dark .select.is-black select {
+      border-color: #0a0a0a; }
+      html.theme--documenter-dark .select.is-black select:hover, html.theme--documenter-dark .select.is-black select.is-hovered {
+        border-color: black; }
+      html.theme--documenter-dark .select.is-black select:focus, html.theme--documenter-dark .select.is-black select.is-focused, html.theme--documenter-dark .select.is-black select:active, html.theme--documenter-dark .select.is-black select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+    html.theme--documenter-dark .select.is-light:not(:hover)::after {
+      border-color: #ecf0f1; }
+    html.theme--documenter-dark .select.is-light select {
+      border-color: #ecf0f1; }
+      html.theme--documenter-dark .select.is-light select:hover, html.theme--documenter-dark .select.is-light select.is-hovered {
+        border-color: #dde4e6; }
+      html.theme--documenter-dark .select.is-light select:focus, html.theme--documenter-dark .select.is-light select.is-focused, html.theme--documenter-dark .select.is-light select:active, html.theme--documenter-dark .select.is-light select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
+    html.theme--documenter-dark .select.is-dark:not(:hover)::after, html.theme--documenter-dark .content kbd.select:not(:hover)::after {
+      border-color: #282f2f; }
+    html.theme--documenter-dark .select.is-dark select, html.theme--documenter-dark .content kbd.select select {
+      border-color: #282f2f; }
+      html.theme--documenter-dark .select.is-dark select:hover, html.theme--documenter-dark .content kbd.select select:hover, html.theme--documenter-dark .select.is-dark select.is-hovered, html.theme--documenter-dark .content kbd.select select.is-hovered {
+        border-color: #1d2122; }
+      html.theme--documenter-dark .select.is-dark select:focus, html.theme--documenter-dark .content kbd.select select:focus, html.theme--documenter-dark .select.is-dark select.is-focused, html.theme--documenter-dark .content kbd.select select.is-focused, html.theme--documenter-dark .select.is-dark select:active, html.theme--documenter-dark .content kbd.select select:active, html.theme--documenter-dark .select.is-dark select.is-active, html.theme--documenter-dark .content kbd.select select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
+    html.theme--documenter-dark .select.is-primary:not(:hover)::after, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
+      border-color: #375a7f; }
+    html.theme--documenter-dark .select.is-primary select, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select {
+      border-color: #375a7f; }
+      html.theme--documenter-dark .select.is-primary select:hover, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:hover, html.theme--documenter-dark .select.is-primary select.is-hovered, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-hovered {
+        border-color: #2f4d6d; }
+      html.theme--documenter-dark .select.is-primary select:focus, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:focus, html.theme--documenter-dark .select.is-primary select.is-focused, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-focused, html.theme--documenter-dark .select.is-primary select:active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:active, html.theme--documenter-dark .select.is-primary select.is-active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
+    html.theme--documenter-dark .select.is-link:not(:hover)::after {
+      border-color: #1abc9c; }
+    html.theme--documenter-dark .select.is-link select {
+      border-color: #1abc9c; }
+      html.theme--documenter-dark .select.is-link select:hover, html.theme--documenter-dark .select.is-link select.is-hovered {
+        border-color: #17a689; }
+      html.theme--documenter-dark .select.is-link select:focus, html.theme--documenter-dark .select.is-link select.is-focused, html.theme--documenter-dark .select.is-link select:active, html.theme--documenter-dark .select.is-link select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+    html.theme--documenter-dark .select.is-info:not(:hover)::after {
+      border-color: #024c7d; }
+    html.theme--documenter-dark .select.is-info select {
+      border-color: #024c7d; }
+      html.theme--documenter-dark .select.is-info select:hover, html.theme--documenter-dark .select.is-info select.is-hovered {
+        border-color: #023d64; }
+      html.theme--documenter-dark .select.is-info select:focus, html.theme--documenter-dark .select.is-info select.is-focused, html.theme--documenter-dark .select.is-info select:active, html.theme--documenter-dark .select.is-info select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
+    html.theme--documenter-dark .select.is-success:not(:hover)::after {
+      border-color: #008438; }
+    html.theme--documenter-dark .select.is-success select {
+      border-color: #008438; }
+      html.theme--documenter-dark .select.is-success select:hover, html.theme--documenter-dark .select.is-success select.is-hovered {
+        border-color: #006b2d; }
+      html.theme--documenter-dark .select.is-success select:focus, html.theme--documenter-dark .select.is-success select.is-focused, html.theme--documenter-dark .select.is-success select:active, html.theme--documenter-dark .select.is-success select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
+    html.theme--documenter-dark .select.is-warning:not(:hover)::after {
+      border-color: #ad8100; }
+    html.theme--documenter-dark .select.is-warning select {
+      border-color: #ad8100; }
+      html.theme--documenter-dark .select.is-warning select:hover, html.theme--documenter-dark .select.is-warning select.is-hovered {
+        border-color: #946e00; }
+      html.theme--documenter-dark .select.is-warning select:focus, html.theme--documenter-dark .select.is-warning select.is-focused, html.theme--documenter-dark .select.is-warning select:active, html.theme--documenter-dark .select.is-warning select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
+    html.theme--documenter-dark .select.is-danger:not(:hover)::after {
+      border-color: #9e1b0d; }
+    html.theme--documenter-dark .select.is-danger select {
+      border-color: #9e1b0d; }
+      html.theme--documenter-dark .select.is-danger select:hover, html.theme--documenter-dark .select.is-danger select.is-hovered {
+        border-color: #86170b; }
+      html.theme--documenter-dark .select.is-danger select:focus, html.theme--documenter-dark .select.is-danger select.is-focused, html.theme--documenter-dark .select.is-danger select:active, html.theme--documenter-dark .select.is-danger select.is-active {
+        box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
+    html.theme--documenter-dark .select.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select {
+      border-radius: 3px;
+      font-size: 0.85em; }
+    html.theme--documenter-dark .select.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .select.is-large {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .select.is-disabled::after {
+      border-color: white; }
+    html.theme--documenter-dark .select.is-fullwidth {
+      width: 100%; }
+      html.theme--documenter-dark .select.is-fullwidth select {
+        width: 100%; }
+    html.theme--documenter-dark .select.is-loading::after {
+      margin-top: 0;
+      position: absolute;
+      right: 0.625em;
+      top: 0.625em;
+      transform: none; }
+    html.theme--documenter-dark .select.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .select.is-loading.is-medium:after {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .select.is-loading.is-large:after {
+      font-size: 1.5rem; }
+  html.theme--documenter-dark .file {
+    align-items: stretch;
+    display: flex;
+    justify-content: flex-start;
+    position: relative; }
+    html.theme--documenter-dark .file.is-white .file-cta {
+      background-color: white;
+      border-color: transparent;
+      color: #0a0a0a; }
+    html.theme--documenter-dark .file.is-white:hover .file-cta, html.theme--documenter-dark .file.is-white.is-hovered .file-cta {
+      background-color: #f9f9f9;
+      border-color: transparent;
+      color: #0a0a0a; }
+    html.theme--documenter-dark .file.is-white:focus .file-cta, html.theme--documenter-dark .file.is-white.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
+      color: #0a0a0a; }
+    html.theme--documenter-dark .file.is-white:active .file-cta, html.theme--documenter-dark .file.is-white.is-active .file-cta {
+      background-color: #f2f2f2;
+      border-color: transparent;
+      color: #0a0a0a; }
+    html.theme--documenter-dark .file.is-black .file-cta {
+      background-color: #0a0a0a;
+      border-color: transparent;
+      color: white; }
+    html.theme--documenter-dark .file.is-black:hover .file-cta, html.theme--documenter-dark .file.is-black.is-hovered .file-cta {
+      background-color: #040404;
+      border-color: transparent;
+      color: white; }
+    html.theme--documenter-dark .file.is-black:focus .file-cta, html.theme--documenter-dark .file.is-black.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
+      color: white; }
+    html.theme--documenter-dark .file.is-black:active .file-cta, html.theme--documenter-dark .file.is-black.is-active .file-cta {
+      background-color: black;
+      border-color: transparent;
+      color: white; }
+    html.theme--documenter-dark .file.is-light .file-cta {
+      background-color: #ecf0f1;
+      border-color: transparent;
+      color: #282f2f; }
+    html.theme--documenter-dark .file.is-light:hover .file-cta, html.theme--documenter-dark .file.is-light.is-hovered .file-cta {
+      background-color: #e5eaec;
+      border-color: transparent;
+      color: #282f2f; }
+    html.theme--documenter-dark .file.is-light:focus .file-cta, html.theme--documenter-dark .file.is-light.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(236, 240, 241, 0.25);
+      color: #282f2f; }
+    html.theme--documenter-dark .file.is-light:active .file-cta, html.theme--documenter-dark .file.is-light.is-active .file-cta {
+      background-color: #dde4e6;
+      border-color: transparent;
+      color: #282f2f; }
+    html.theme--documenter-dark .file.is-dark .file-cta, html.theme--documenter-dark .content kbd.file .file-cta {
+      background-color: #282f2f;
+      border-color: transparent;
+      color: #ecf0f1; }
+    html.theme--documenter-dark .file.is-dark:hover .file-cta, html.theme--documenter-dark .content kbd.file:hover .file-cta, html.theme--documenter-dark .file.is-dark.is-hovered .file-cta, html.theme--documenter-dark .content kbd.file.is-hovered .file-cta {
+      background-color: #232829;
+      border-color: transparent;
+      color: #ecf0f1; }
+    html.theme--documenter-dark .file.is-dark:focus .file-cta, html.theme--documenter-dark .content kbd.file:focus .file-cta, html.theme--documenter-dark .file.is-dark.is-focused .file-cta, html.theme--documenter-dark .content kbd.file.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(40, 47, 47, 0.25);
+      color: #ecf0f1; }
+    html.theme--documenter-dark .file.is-dark:active .file-cta, html.theme--documenter-dark .content kbd.file:active .file-cta, html.theme--documenter-dark .file.is-dark.is-active .file-cta, html.theme--documenter-dark .content kbd.file.is-active .file-cta {
+      background-color: #1d2122;
+      border-color: transparent;
+      color: #ecf0f1; }
+    html.theme--documenter-dark .file.is-primary .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink .file-cta {
+      background-color: #375a7f;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-primary:hover .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:hover .file-cta, html.theme--documenter-dark .file.is-primary.is-hovered .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
+      background-color: #335476;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-primary:focus .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:focus .file-cta, html.theme--documenter-dark .file.is-primary.is-focused .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(55, 90, 127, 0.25);
+      color: #fff; }
+    html.theme--documenter-dark .file.is-primary:active .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:active .file-cta, html.theme--documenter-dark .file.is-primary.is-active .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
+      background-color: #2f4d6d;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-link .file-cta {
+      background-color: #1abc9c;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-link:hover .file-cta, html.theme--documenter-dark .file.is-link.is-hovered .file-cta {
+      background-color: #18b193;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-link:focus .file-cta, html.theme--documenter-dark .file.is-link.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(26, 188, 156, 0.25);
+      color: #fff; }
+    html.theme--documenter-dark .file.is-link:active .file-cta, html.theme--documenter-dark .file.is-link.is-active .file-cta {
+      background-color: #17a689;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-info .file-cta {
+      background-color: #024c7d;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-info:hover .file-cta, html.theme--documenter-dark .file.is-info.is-hovered .file-cta {
+      background-color: #024470;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-info:focus .file-cta, html.theme--documenter-dark .file.is-info.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(2, 76, 125, 0.25);
+      color: #fff; }
+    html.theme--documenter-dark .file.is-info:active .file-cta, html.theme--documenter-dark .file.is-info.is-active .file-cta {
+      background-color: #023d64;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-success .file-cta {
+      background-color: #008438;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-success:hover .file-cta, html.theme--documenter-dark .file.is-success.is-hovered .file-cta {
+      background-color: #007733;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-success:focus .file-cta, html.theme--documenter-dark .file.is-success.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(0, 132, 56, 0.25);
+      color: #fff; }
+    html.theme--documenter-dark .file.is-success:active .file-cta, html.theme--documenter-dark .file.is-success.is-active .file-cta {
+      background-color: #006b2d;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-warning .file-cta {
+      background-color: #ad8100;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-warning:hover .file-cta, html.theme--documenter-dark .file.is-warning.is-hovered .file-cta {
+      background-color: #a07700;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-warning:focus .file-cta, html.theme--documenter-dark .file.is-warning.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(173, 129, 0, 0.25);
+      color: #fff; }
+    html.theme--documenter-dark .file.is-warning:active .file-cta, html.theme--documenter-dark .file.is-warning.is-active .file-cta {
+      background-color: #946e00;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-danger .file-cta {
+      background-color: #9e1b0d;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-danger:hover .file-cta, html.theme--documenter-dark .file.is-danger.is-hovered .file-cta {
+      background-color: #92190c;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-danger:focus .file-cta, html.theme--documenter-dark .file.is-danger.is-focused .file-cta {
+      border-color: transparent;
+      box-shadow: 0 0 0.5em rgba(158, 27, 13, 0.25);
+      color: #fff; }
+    html.theme--documenter-dark .file.is-danger:active .file-cta, html.theme--documenter-dark .file.is-danger.is-active .file-cta {
+      background-color: #86170b;
+      border-color: transparent;
+      color: #fff; }
+    html.theme--documenter-dark .file.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.file {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .file.is-medium {
+      font-size: 1.25rem; }
+      html.theme--documenter-dark .file.is-medium .file-icon .fa {
+        font-size: 21px; }
+    html.theme--documenter-dark .file.is-large {
+      font-size: 1.5rem; }
+      html.theme--documenter-dark .file.is-large .file-icon .fa {
+        font-size: 28px; }
+    html.theme--documenter-dark .file.has-name .file-cta {
+      border-bottom-right-radius: 0;
+      border-top-right-radius: 0; }
+    html.theme--documenter-dark .file.has-name .file-name {
+      border-bottom-left-radius: 0;
+      border-top-left-radius: 0; }
+    html.theme--documenter-dark .file.has-name.is-empty .file-cta {
+      border-radius: 0.4em; }
+    html.theme--documenter-dark .file.has-name.is-empty .file-name {
+      display: none; }
+    html.theme--documenter-dark .file.is-boxed .file-label {
+      flex-direction: column; }
+    html.theme--documenter-dark .file.is-boxed .file-cta {
+      flex-direction: column;
+      height: auto;
+      padding: 1em 3em; }
+    html.theme--documenter-dark .file.is-boxed .file-name {
+      border-width: 0 1px 1px; }
+    html.theme--documenter-dark .file.is-boxed .file-icon {
+      height: 1.5em;
+      width: 1.5em; }
+      html.theme--documenter-dark .file.is-boxed .file-icon .fa {
+        font-size: 21px; }
+    html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
+      font-size: 14px; }
+    html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa {
+      font-size: 28px; }
+    html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa {
+      font-size: 35px; }
+    html.theme--documenter-dark .file.is-boxed.has-name .file-cta {
+      border-radius: 0.4em 0.4em 0 0; }
+    html.theme--documenter-dark .file.is-boxed.has-name .file-name {
+      border-radius: 0 0 0.4em 0.4em;
+      border-width: 0 1px 1px; }
+    html.theme--documenter-dark .file.is-centered {
+      justify-content: center; }
+    html.theme--documenter-dark .file.is-fullwidth .file-label {
+      width: 100%; }
+    html.theme--documenter-dark .file.is-fullwidth .file-name {
+      flex-grow: 1;
+      max-width: none; }
+    html.theme--documenter-dark .file.is-right {
+      justify-content: flex-end; }
+      html.theme--documenter-dark .file.is-right .file-cta {
+        border-radius: 0 0.4em 0.4em 0; }
+      html.theme--documenter-dark .file.is-right .file-name {
+        border-radius: 0.4em 0 0 0.4em;
+        border-width: 1px 0 1px 1px;
+        order: -1; }
+  html.theme--documenter-dark .file-label {
+    align-items: stretch;
+    display: flex;
+    cursor: pointer;
+    justify-content: flex-start;
+    overflow: hidden;
+    position: relative; }
+    html.theme--documenter-dark .file-label:hover .file-cta {
+      background-color: #e5eaec;
+      color: #282f2f; }
+    html.theme--documenter-dark .file-label:hover .file-name {
+      border-color: #596668; }
+    html.theme--documenter-dark .file-label:active .file-cta {
+      background-color: #dde4e6;
+      color: #282f2f; }
+    html.theme--documenter-dark .file-label:active .file-name {
+      border-color: #535f61; }
+  html.theme--documenter-dark .file-input {
+    height: 100%;
+    left: 0;
+    opacity: 0;
+    outline: none;
+    position: absolute;
+    top: 0;
+    width: 100%; }
+  html.theme--documenter-dark .file-cta,
+  html.theme--documenter-dark .file-name {
+    border-color: #5e6d6f;
+    border-radius: 0.4em;
+    font-size: 1em;
+    padding-left: 1em;
+    padding-right: 1em;
+    white-space: nowrap; }
+  html.theme--documenter-dark .file-cta {
+    background-color: #ecf0f1;
+    color: #343c3d; }
+  html.theme--documenter-dark .file-name {
+    border-color: #5e6d6f;
+    border-style: solid;
+    border-width: 1px 1px 1px 0;
+    display: block;
+    max-width: 16em;
+    overflow: hidden;
+    text-align: left;
+    text-overflow: ellipsis; }
+  html.theme--documenter-dark .file-icon {
+    align-items: center;
+    display: flex;
+    height: 1em;
+    justify-content: center;
+    margin-right: 0.5em;
+    width: 1em; }
+    html.theme--documenter-dark .file-icon .fa {
+      font-size: 14px; }
+  html.theme--documenter-dark .label {
+    color: #282f2f;
+    display: block;
+    font-size: 15px;
+    font-weight: 700; }
+    html.theme--documenter-dark .label:not(:last-child) {
+      margin-bottom: 0.5em; }
+    html.theme--documenter-dark .label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.label {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .label.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .label.is-large {
+      font-size: 1.5rem; }
+  html.theme--documenter-dark .help {
+    display: block;
+    font-size: 0.85em;
+    margin-top: 0.25rem; }
+    html.theme--documenter-dark .help.is-white {
+      color: white; }
+    html.theme--documenter-dark .help.is-black {
+      color: #0a0a0a; }
+    html.theme--documenter-dark .help.is-light {
+      color: #ecf0f1; }
+    html.theme--documenter-dark .help.is-dark, html.theme--documenter-dark .content kbd.help {
+      color: #282f2f; }
+    html.theme--documenter-dark .help.is-primary, html.theme--documenter-dark .docstring > section > a.help.docs-sourcelink {
+      color: #375a7f; }
+    html.theme--documenter-dark .help.is-link {
+      color: #1abc9c; }
+    html.theme--documenter-dark .help.is-info {
+      color: #024c7d; }
+    html.theme--documenter-dark .help.is-success {
+      color: #008438; }
+    html.theme--documenter-dark .help.is-warning {
+      color: #ad8100; }
+    html.theme--documenter-dark .help.is-danger {
+      color: #9e1b0d; }
+  html.theme--documenter-dark .field:not(:last-child) {
+    margin-bottom: 0.75rem; }
+  html.theme--documenter-dark .field.has-addons {
+    display: flex;
+    justify-content: flex-start; }
+    html.theme--documenter-dark .field.has-addons .control:not(:last-child) {
+      margin-right: -1px; }
+    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,
+    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,
+    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
+    html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select {
+      border-radius: 0; }
+    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,
+    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,
+    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
+    html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select {
+      border-bottom-right-radius: 0;
+      border-top-right-radius: 0; }
+    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,
+    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,
+    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
+    html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select {
+      border-bottom-left-radius: 0;
+      border-top-left-radius: 0; }
+    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,
+    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
+    html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,
+    html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]) {
+      z-index: 2; }
+    html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]), html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,
+    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
+    html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,
+    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
+    html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
+    html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,
+    html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),
+    html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,
+    html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]) {
+      z-index: 3; }
+      html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,
+      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,
+      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
+      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
+      html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,
+      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
+      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
+      html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,
+      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
+      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
+      html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,
+      html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
+      html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
+      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,
+      html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,
+      html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,
+      html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover {
+        z-index: 4; }
+    html.theme--documenter-dark .field.has-addons .control.is-expanded {
+      flex-grow: 1;
+      flex-shrink: 1; }
+    html.theme--documenter-dark .field.has-addons.has-addons-centered {
+      justify-content: center; }
+    html.theme--documenter-dark .field.has-addons.has-addons-right {
+      justify-content: flex-end; }
+    html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control {
+      flex-grow: 1;
+      flex-shrink: 0; }
+  html.theme--documenter-dark .field.is-grouped {
+    display: flex;
+    justify-content: flex-start; }
+    html.theme--documenter-dark .field.is-grouped > .control {
+      flex-shrink: 0; }
+      html.theme--documenter-dark .field.is-grouped > .control:not(:last-child) {
+        margin-bottom: 0;
+        margin-right: 0.75rem; }
+      html.theme--documenter-dark .field.is-grouped > .control.is-expanded {
+        flex-grow: 1;
+        flex-shrink: 1; }
+    html.theme--documenter-dark .field.is-grouped.is-grouped-centered {
+      justify-content: center; }
+    html.theme--documenter-dark .field.is-grouped.is-grouped-right {
+      justify-content: flex-end; }
+    html.theme--documenter-dark .field.is-grouped.is-grouped-multiline {
+      flex-wrap: wrap; }
+      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:last-child, html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
+        margin-bottom: 0.75rem; }
+      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child {
+        margin-bottom: -0.75rem; }
+      html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child) {
+        margin-bottom: 0; }
+  @media screen and (min-width: 769px), print {
+    html.theme--documenter-dark .field.is-horizontal {
+      display: flex; } }
+  html.theme--documenter-dark .field-label .label {
+    font-size: inherit; }
+  @media screen and (max-width: 768px) {
+    html.theme--documenter-dark .field-label {
+      margin-bottom: 0.5rem; } }
+  @media screen and (min-width: 769px), print {
+    html.theme--documenter-dark .field-label {
+      flex-basis: 0;
+      flex-grow: 1;
+      flex-shrink: 0;
+      margin-right: 1.5rem;
+      text-align: right; }
+      html.theme--documenter-dark .field-label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.field-label {
+        font-size: 0.85em;
+        padding-top: 0.375em; }
+      html.theme--documenter-dark .field-label.is-normal {
+        padding-top: 0.375em; }
+      html.theme--documenter-dark .field-label.is-medium {
+        font-size: 1.25rem;
+        padding-top: 0.375em; }
+      html.theme--documenter-dark .field-label.is-large {
+        font-size: 1.5rem;
+        padding-top: 0.375em; } }
+  html.theme--documenter-dark .field-body .field .field {
+    margin-bottom: 0; }
+  @media screen and (min-width: 769px), print {
+    html.theme--documenter-dark .field-body {
+      display: flex;
+      flex-basis: 0;
+      flex-grow: 5;
+      flex-shrink: 1; }
+      html.theme--documenter-dark .field-body .field {
+        margin-bottom: 0; }
+      html.theme--documenter-dark .field-body > .field {
+        flex-shrink: 1; }
+        html.theme--documenter-dark .field-body > .field:not(.is-narrow) {
+          flex-grow: 1; }
+        html.theme--documenter-dark .field-body > .field:not(:last-child) {
+          margin-right: 0.75rem; } }
+  html.theme--documenter-dark .control {
+    box-sizing: border-box;
+    clear: both;
+    font-size: 15px;
+    position: relative;
+    text-align: left; }
+    html.theme--documenter-dark .control.has-icons-left .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
+    html.theme--documenter-dark .control.has-icons-left .select:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
+    html.theme--documenter-dark .control.has-icons-right .select:focus ~ .icon {
+      color: #5e6d6f; }
+    html.theme--documenter-dark .control.has-icons-left .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
+    html.theme--documenter-dark .control.has-icons-left .select.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
+    html.theme--documenter-dark .control.has-icons-right .select.is-small ~ .icon {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .control.has-icons-left .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
+    html.theme--documenter-dark .control.has-icons-left .select.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
+    html.theme--documenter-dark .control.has-icons-right .select.is-medium ~ .icon {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .control.has-icons-left .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
+    html.theme--documenter-dark .control.has-icons-left .select.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
+    html.theme--documenter-dark .control.has-icons-right .select.is-large ~ .icon {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .control.has-icons-left .icon, html.theme--documenter-dark .control.has-icons-right .icon {
+      color: #dbdee0;
+      height: 2.25em;
+      pointer-events: none;
+      position: absolute;
+      top: 0;
+      width: 2.25em;
+      z-index: 4; }
+    html.theme--documenter-dark .control.has-icons-left .input, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
+    html.theme--documenter-dark .control.has-icons-left .select select {
+      padding-left: 2.25em; }
+    html.theme--documenter-dark .control.has-icons-left .icon.is-left {
+      left: 0; }
+    html.theme--documenter-dark .control.has-icons-right .input, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
+    html.theme--documenter-dark .control.has-icons-right .select select {
+      padding-right: 2.25em; }
+    html.theme--documenter-dark .control.has-icons-right .icon.is-right {
+      right: 0; }
+    html.theme--documenter-dark .control.is-loading::after {
+      position: absolute !important;
+      right: 0.625em;
+      top: 0.625em;
+      z-index: 4; }
+    html.theme--documenter-dark .control.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .control.is-loading.is-medium:after {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .control.is-loading.is-large:after {
+      font-size: 1.5rem; }
+  html.theme--documenter-dark .breadcrumb {
+    font-size: 15px;
+    white-space: nowrap; }
+    html.theme--documenter-dark .breadcrumb a {
+      align-items: center;
+      color: #1abc9c;
+      display: flex;
+      justify-content: center;
+      padding: 0 0.75em; }
+      html.theme--documenter-dark .breadcrumb a:hover {
+        color: #1dd2af; }
+    html.theme--documenter-dark .breadcrumb li {
+      align-items: center;
+      display: flex; }
+      html.theme--documenter-dark .breadcrumb li:first-child a {
+        padding-left: 0; }
+      html.theme--documenter-dark .breadcrumb li.is-active a {
+        color: #f2f2f2;
+        cursor: default;
+        pointer-events: none; }
+      html.theme--documenter-dark .breadcrumb li + li::before {
+        color: #8c9b9d;
+        content: "\0002f"; }
+    html.theme--documenter-dark .breadcrumb ul,
+    html.theme--documenter-dark .breadcrumb ol {
+      align-items: flex-start;
+      display: flex;
+      flex-wrap: wrap;
+      justify-content: flex-start; }
+    html.theme--documenter-dark .breadcrumb .icon:first-child {
+      margin-right: 0.5em; }
+    html.theme--documenter-dark .breadcrumb .icon:last-child {
+      margin-left: 0.5em; }
+    html.theme--documenter-dark .breadcrumb.is-centered ol,
+    html.theme--documenter-dark .breadcrumb.is-centered ul {
+      justify-content: center; }
+    html.theme--documenter-dark .breadcrumb.is-right ol,
+    html.theme--documenter-dark .breadcrumb.is-right ul {
+      justify-content: flex-end; }
+    html.theme--documenter-dark .breadcrumb.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.breadcrumb {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .breadcrumb.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .breadcrumb.is-large {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .breadcrumb.has-arrow-separator li + li::before {
+      content: "\02192"; }
+    html.theme--documenter-dark .breadcrumb.has-bullet-separator li + li::before {
+      content: "\02022"; }
+    html.theme--documenter-dark .breadcrumb.has-dot-separator li + li::before {
+      content: "\000b7"; }
+    html.theme--documenter-dark .breadcrumb.has-succeeds-separator li + li::before {
+      content: "\0227B"; }
+  html.theme--documenter-dark .card {
+    background-color: white;
+    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+    color: #fff;
+    max-width: 100%;
+    position: relative; }
+  html.theme--documenter-dark .card-header {
+    background-color: transparent;
+    align-items: stretch;
+    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+    display: flex; }
+  html.theme--documenter-dark .card-header-title {
+    align-items: center;
+    color: #f2f2f2;
+    display: flex;
+    flex-grow: 1;
+    font-weight: 700;
+    padding: 0.75rem; }
+    html.theme--documenter-dark .card-header-title.is-centered {
+      justify-content: center; }
+  html.theme--documenter-dark .card-header-icon {
+    align-items: center;
+    cursor: pointer;
+    display: flex;
+    justify-content: center;
+    padding: 0.75rem; }
+  html.theme--documenter-dark .card-image {
+    display: block;
+    position: relative; }
+  html.theme--documenter-dark .card-content {
+    background-color: transparent;
+    padding: 1.5rem; }
+  html.theme--documenter-dark .card-footer {
+    background-color: transparent;
+    border-top: 1px solid #5e6d6f;
+    align-items: stretch;
+    display: flex; }
+  html.theme--documenter-dark .card-footer-item {
+    align-items: center;
+    display: flex;
+    flex-basis: 0;
+    flex-grow: 1;
+    flex-shrink: 0;
+    justify-content: center;
+    padding: 0.75rem; }
+    html.theme--documenter-dark .card-footer-item:not(:last-child) {
+      border-right: 1px solid #5e6d6f; }
+  html.theme--documenter-dark .card .media:not(:last-child) {
+    margin-bottom: 1.5rem; }
+  html.theme--documenter-dark .dropdown {
+    display: inline-flex;
+    position: relative;
+    vertical-align: top; }
+    html.theme--documenter-dark .dropdown.is-active .dropdown-menu, html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu {
+      display: block; }
+    html.theme--documenter-dark .dropdown.is-right .dropdown-menu {
+      left: auto;
+      right: 0; }
+    html.theme--documenter-dark .dropdown.is-up .dropdown-menu {
+      bottom: 100%;
+      padding-bottom: 4px;
+      padding-top: initial;
+      top: auto; }
+  html.theme--documenter-dark .dropdown-menu {
+    display: none;
+    left: 0;
+    min-width: 12rem;
+    padding-top: 4px;
+    position: absolute;
+    top: 100%;
+    z-index: 20; }
+  html.theme--documenter-dark .dropdown-content {
+    background-color: #282f2f;
+    border-radius: 0.4em;
+    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+    padding-bottom: 0.5rem;
+    padding-top: 0.5rem; }
+  html.theme--documenter-dark .dropdown-item {
+    color: #fff;
+    display: block;
+    font-size: 0.875rem;
+    line-height: 1.5;
+    padding: 0.375rem 1rem;
+    position: relative; }
+  html.theme--documenter-dark a.dropdown-item,
+  html.theme--documenter-dark button.dropdown-item {
+    padding-right: 3rem;
+    text-align: left;
+    white-space: nowrap;
+    width: 100%; }
+    html.theme--documenter-dark a.dropdown-item:hover,
+    html.theme--documenter-dark button.dropdown-item:hover {
+      background-color: #282f2f;
+      color: #0a0a0a; }
+    html.theme--documenter-dark a.dropdown-item.is-active,
+    html.theme--documenter-dark button.dropdown-item.is-active {
+      background-color: #1abc9c;
+      color: #fff; }
+  html.theme--documenter-dark .dropdown-divider {
+    background-color: #5e6d6f;
+    border: none;
+    display: block;
+    height: 1px;
+    margin: 0.5rem 0; }
+  html.theme--documenter-dark .level {
+    align-items: center;
+    justify-content: space-between; }
+    html.theme--documenter-dark .level code {
+      border-radius: 0.4em; }
+    html.theme--documenter-dark .level img {
+      display: inline-block;
+      vertical-align: top; }
+    html.theme--documenter-dark .level.is-mobile {
+      display: flex; }
+      html.theme--documenter-dark .level.is-mobile .level-left,
+      html.theme--documenter-dark .level.is-mobile .level-right {
+        display: flex; }
+      html.theme--documenter-dark .level.is-mobile .level-left + .level-right {
+        margin-top: 0; }
+      html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child) {
+        margin-bottom: 0;
+        margin-right: 0.75rem; }
+      html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow) {
+        flex-grow: 1; }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .level {
+        display: flex; }
+        html.theme--documenter-dark .level > .level-item:not(.is-narrow) {
+          flex-grow: 1; } }
+  html.theme--documenter-dark .level-item {
+    align-items: center;
+    display: flex;
+    flex-basis: auto;
+    flex-grow: 0;
+    flex-shrink: 0;
+    justify-content: center; }
+    html.theme--documenter-dark .level-item .title,
+    html.theme--documenter-dark .level-item .subtitle {
+      margin-bottom: 0; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .level-item:not(:last-child) {
+        margin-bottom: 0.75rem; } }
+  html.theme--documenter-dark .level-left,
+  html.theme--documenter-dark .level-right {
+    flex-basis: auto;
+    flex-grow: 0;
+    flex-shrink: 0; }
+    html.theme--documenter-dark .level-left .level-item.is-flexible,
+    html.theme--documenter-dark .level-right .level-item.is-flexible {
+      flex-grow: 1; }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .level-left .level-item:not(:last-child),
+      html.theme--documenter-dark .level-right .level-item:not(:last-child) {
+        margin-right: 0.75rem; } }
+  html.theme--documenter-dark .level-left {
+    align-items: center;
+    justify-content: flex-start; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .level-left + .level-right {
+        margin-top: 1.5rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .level-left {
+        display: flex; } }
+  html.theme--documenter-dark .level-right {
+    align-items: center;
+    justify-content: flex-end; }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .level-right {
+        display: flex; } }
+  html.theme--documenter-dark .list {
+    background-color: white;
+    border-radius: 0.4em;
+    box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
+  html.theme--documenter-dark .list-item {
+    display: block;
+    padding: 0.5em 1em; }
+    html.theme--documenter-dark .list-item:not(a) {
+      color: #fff; }
+    html.theme--documenter-dark .list-item:first-child {
+      border-top-left-radius: 0.4em;
+      border-top-right-radius: 0.4em; }
+    html.theme--documenter-dark .list-item:last-child {
+      border-bottom-left-radius: 0.4em;
+      border-bottom-right-radius: 0.4em; }
+    html.theme--documenter-dark .list-item:not(:last-child) {
+      border-bottom: 1px solid #5e6d6f; }
+    html.theme--documenter-dark .list-item.is-active {
+      background-color: #1abc9c;
+      color: #fff; }
+  html.theme--documenter-dark a.list-item {
+    background-color: #282f2f;
+    cursor: pointer; }
+  html.theme--documenter-dark .media {
+    align-items: flex-start;
+    display: flex;
+    text-align: left; }
+    html.theme--documenter-dark .media .content:not(:last-child) {
+      margin-bottom: 0.75rem; }
+    html.theme--documenter-dark .media .media {
+      border-top: 1px solid rgba(94, 109, 111, 0.5);
+      display: flex;
+      padding-top: 0.75rem; }
+      html.theme--documenter-dark .media .media .content:not(:last-child),
+      html.theme--documenter-dark .media .media .control:not(:last-child) {
+        margin-bottom: 0.5rem; }
+      html.theme--documenter-dark .media .media .media {
+        padding-top: 0.5rem; }
+        html.theme--documenter-dark .media .media .media + .media {
+          margin-top: 0.5rem; }
+    html.theme--documenter-dark .media + .media {
+      border-top: 1px solid rgba(94, 109, 111, 0.5);
+      margin-top: 1rem;
+      padding-top: 1rem; }
+    html.theme--documenter-dark .media.is-large + .media {
+      margin-top: 1.5rem;
+      padding-top: 1.5rem; }
+  html.theme--documenter-dark .media-left,
+  html.theme--documenter-dark .media-right {
+    flex-basis: auto;
+    flex-grow: 0;
+    flex-shrink: 0; }
+  html.theme--documenter-dark .media-left {
+    margin-right: 1rem; }
+  html.theme--documenter-dark .media-right {
+    margin-left: 1rem; }
+  html.theme--documenter-dark .media-content {
+    flex-basis: auto;
+    flex-grow: 1;
+    flex-shrink: 1;
+    text-align: left; }
+  @media screen and (max-width: 768px) {
+    html.theme--documenter-dark .media-content {
+      overflow-x: auto; } }
+  html.theme--documenter-dark .menu {
+    font-size: 15px; }
+    html.theme--documenter-dark .menu.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.menu {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .menu.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .menu.is-large {
+      font-size: 1.5rem; }
+  html.theme--documenter-dark .menu-list {
+    line-height: 1.25; }
+    html.theme--documenter-dark .menu-list a {
+      border-radius: 3px;
+      color: #fff;
+      display: block;
+      padding: 0.5em 0.75em; }
+      html.theme--documenter-dark .menu-list a:hover {
+        background-color: #282f2f;
+        color: #f2f2f2; }
+      html.theme--documenter-dark .menu-list a.is-active {
+        background-color: #1abc9c;
+        color: #fff; }
+    html.theme--documenter-dark .menu-list li ul {
+      border-left: 1px solid #5e6d6f;
+      margin: 0.75em;
+      padding-left: 0.75em; }
+  html.theme--documenter-dark .menu-label {
+    color: white;
+    font-size: 0.75em;
+    letter-spacing: 0.1em;
+    text-transform: uppercase; }
+    html.theme--documenter-dark .menu-label:not(:first-child) {
+      margin-top: 1em; }
+    html.theme--documenter-dark .menu-label:not(:last-child) {
+      margin-bottom: 1em; }
+  html.theme--documenter-dark .message {
+    background-color: #282f2f;
+    border-radius: 0.4em;
+    font-size: 15px; }
+    html.theme--documenter-dark .message strong {
+      color: currentColor; }
+    html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item) {
+      color: currentColor;
+      text-decoration: underline; }
+    html.theme--documenter-dark .message.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.message {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .message.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .message.is-large {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .message.is-white {
+      background-color: white; }
+      html.theme--documenter-dark .message.is-white .message-header {
+        background-color: white;
+        color: #0a0a0a; }
+      html.theme--documenter-dark .message.is-white .message-body {
+        border-color: white;
+        color: #4d4d4d; }
+    html.theme--documenter-dark .message.is-black {
+      background-color: #fafafa; }
+      html.theme--documenter-dark .message.is-black .message-header {
+        background-color: #0a0a0a;
+        color: white; }
+      html.theme--documenter-dark .message.is-black .message-body {
+        border-color: #0a0a0a;
+        color: #090909; }
+    html.theme--documenter-dark .message.is-light {
+      background-color: #f9fafb; }
+      html.theme--documenter-dark .message.is-light .message-header {
+        background-color: #ecf0f1;
+        color: #282f2f; }
+      html.theme--documenter-dark .message.is-light .message-body {
+        border-color: #ecf0f1;
+        color: #505050; }
+    html.theme--documenter-dark .message.is-dark, html.theme--documenter-dark .content kbd.message {
+      background-color: #f9fafa; }
+      html.theme--documenter-dark .message.is-dark .message-header, html.theme--documenter-dark .content kbd.message .message-header {
+        background-color: #282f2f;
+        color: #ecf0f1; }
+      html.theme--documenter-dark .message.is-dark .message-body, html.theme--documenter-dark .content kbd.message .message-body {
+        border-color: #282f2f;
+        color: #212526; }
+    html.theme--documenter-dark .message.is-primary, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink {
+      background-color: #f8fafc; }
+      html.theme--documenter-dark .message.is-primary .message-header, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-header {
+        background-color: #375a7f;
+        color: #fff; }
+      html.theme--documenter-dark .message.is-primary .message-body, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-body {
+        border-color: #375a7f;
+        color: #2b4159; }
+    html.theme--documenter-dark .message.is-link {
+      background-color: #f6fefc; }
+      html.theme--documenter-dark .message.is-link .message-header {
+        background-color: #1abc9c;
+        color: #fff; }
+      html.theme--documenter-dark .message.is-link .message-body {
+        border-color: #1abc9c;
+        color: #0b2f28; }
+    html.theme--documenter-dark .message.is-info {
+      background-color: #f5fbff; }
+      html.theme--documenter-dark .message.is-info .message-header {
+        background-color: #024c7d;
+        color: #fff; }
+      html.theme--documenter-dark .message.is-info .message-body {
+        border-color: #024c7d;
+        color: #033659; }
+    html.theme--documenter-dark .message.is-success {
+      background-color: #f5fff9; }
+      html.theme--documenter-dark .message.is-success .message-header {
+        background-color: #008438;
+        color: #fff; }
+      html.theme--documenter-dark .message.is-success .message-body {
+        border-color: #008438;
+        color: #023518; }
+    html.theme--documenter-dark .message.is-warning {
+      background-color: #fffcf5; }
+      html.theme--documenter-dark .message.is-warning .message-header {
+        background-color: #ad8100;
+        color: #fff; }
+      html.theme--documenter-dark .message.is-warning .message-body {
+        border-color: #ad8100;
+        color: #3d2e03; }
+    html.theme--documenter-dark .message.is-danger {
+      background-color: #fef6f6; }
+      html.theme--documenter-dark .message.is-danger .message-header {
+        background-color: #9e1b0d;
+        color: #fff; }
+      html.theme--documenter-dark .message.is-danger .message-body {
+        border-color: #9e1b0d;
+        color: #7a170c; }
+  html.theme--documenter-dark .message-header {
+    align-items: center;
+    background-color: #fff;
+    border-radius: 0.4em 0.4em 0 0;
+    color: rgba(0, 0, 0, 0.7);
+    display: flex;
+    font-weight: 700;
+    justify-content: space-between;
+    line-height: 1.25;
+    padding: 0.75em 1em;
+    position: relative; }
+    html.theme--documenter-dark .message-header .delete {
+      flex-grow: 0;
+      flex-shrink: 0;
+      margin-left: 0.75em; }
+    html.theme--documenter-dark .message-header + .message-body {
+      border-width: 0;
+      border-top-left-radius: 0;
+      border-top-right-radius: 0; }
+  html.theme--documenter-dark .message-body {
+    border-color: #5e6d6f;
+    border-radius: 0.4em;
+    border-style: solid;
+    border-width: 0 0 0 4px;
+    color: #fff;
+    padding: 1.25em 1.5em; }
+    html.theme--documenter-dark .message-body code,
+    html.theme--documenter-dark .message-body pre {
+      background-color: white; }
+    html.theme--documenter-dark .message-body pre code {
+      background-color: transparent; }
+  html.theme--documenter-dark .modal {
+    align-items: center;
+    display: none;
+    flex-direction: column;
+    justify-content: center;
+    overflow: hidden;
+    position: fixed;
+    z-index: 40; }
+    html.theme--documenter-dark .modal.is-active {
+      display: flex; }
+  html.theme--documenter-dark .modal-background {
+    background-color: rgba(10, 10, 10, 0.86); }
+  html.theme--documenter-dark .modal-content,
+  html.theme--documenter-dark .modal-card {
+    margin: 0 20px;
+    max-height: calc(100vh - 160px);
+    overflow: auto;
+    position: relative;
+    width: 100%; }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .modal-content,
+      html.theme--documenter-dark .modal-card {
+        margin: 0 auto;
+        max-height: calc(100vh - 40px);
+        width: 640px; } }
+  html.theme--documenter-dark .modal-close {
+    background: none;
+    height: 40px;
+    position: fixed;
+    right: 20px;
+    top: 20px;
+    width: 40px; }
+  html.theme--documenter-dark .modal-card {
+    display: flex;
+    flex-direction: column;
+    max-height: calc(100vh - 40px);
+    overflow: hidden;
+    -ms-overflow-y: visible; }
+  html.theme--documenter-dark .modal-card-head,
+  html.theme--documenter-dark .modal-card-foot {
+    align-items: center;
+    background-color: #282f2f;
+    display: flex;
+    flex-shrink: 0;
+    justify-content: flex-start;
+    padding: 20px;
+    position: relative; }
+  html.theme--documenter-dark .modal-card-head {
+    border-bottom: 1px solid #5e6d6f;
+    border-top-left-radius: 8px;
+    border-top-right-radius: 8px; }
+  html.theme--documenter-dark .modal-card-title {
+    color: #f2f2f2;
+    flex-grow: 1;
+    flex-shrink: 0;
+    font-size: 1.5rem;
+    line-height: 1; }
+  html.theme--documenter-dark .modal-card-foot {
+    border-bottom-left-radius: 8px;
+    border-bottom-right-radius: 8px;
+    border-top: 1px solid #5e6d6f; }
+    html.theme--documenter-dark .modal-card-foot .button:not(:last-child) {
+      margin-right: 0.5em; }
+  html.theme--documenter-dark .modal-card-body {
+    -webkit-overflow-scrolling: touch;
+    background-color: white;
+    flex-grow: 1;
+    flex-shrink: 1;
+    overflow: auto;
+    padding: 20px; }
+  html.theme--documenter-dark .navbar {
+    background-color: #375a7f;
+    min-height: 4rem;
+    position: relative;
+    z-index: 30; }
+    html.theme--documenter-dark .navbar.is-white {
+      background-color: white;
+      color: #0a0a0a; }
+      html.theme--documenter-dark .navbar.is-white .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link {
+        color: #0a0a0a; }
+      html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active {
+        background-color: #f2f2f2;
+        color: #0a0a0a; }
+      html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after {
+        border-color: #0a0a0a; }
+      html.theme--documenter-dark .navbar.is-white .navbar-burger {
+        color: #0a0a0a; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-white .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-white .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link {
+          color: #0a0a0a; }
+        html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active {
+          background-color: #f2f2f2;
+          color: #0a0a0a; }
+        html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after {
+          border-color: #0a0a0a; }
+        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #f2f2f2;
+          color: #0a0a0a; }
+        html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
+          background-color: white;
+          color: #0a0a0a; } }
+    html.theme--documenter-dark .navbar.is-black {
+      background-color: #0a0a0a;
+      color: white; }
+      html.theme--documenter-dark .navbar.is-black .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link {
+        color: white; }
+      html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active {
+        background-color: black;
+        color: white; }
+      html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after {
+        border-color: white; }
+      html.theme--documenter-dark .navbar.is-black .navbar-burger {
+        color: white; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-black .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-black .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link {
+          color: white; }
+        html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active {
+          background-color: black;
+          color: white; }
+        html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after {
+          border-color: white; }
+        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: black;
+          color: white; }
+        html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
+          background-color: #0a0a0a;
+          color: white; } }
+    html.theme--documenter-dark .navbar.is-light {
+      background-color: #ecf0f1;
+      color: #282f2f; }
+      html.theme--documenter-dark .navbar.is-light .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link {
+        color: #282f2f; }
+      html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active {
+        background-color: #dde4e6;
+        color: #282f2f; }
+      html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after {
+        border-color: #282f2f; }
+      html.theme--documenter-dark .navbar.is-light .navbar-burger {
+        color: #282f2f; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-light .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-light .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link {
+          color: #282f2f; }
+        html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active {
+          background-color: #dde4e6;
+          color: #282f2f; }
+        html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after {
+          border-color: #282f2f; }
+        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #dde4e6;
+          color: #282f2f; }
+        html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
+          background-color: #ecf0f1;
+          color: #282f2f; } }
+    html.theme--documenter-dark .navbar.is-dark, html.theme--documenter-dark .content kbd.navbar {
+      background-color: #282f2f;
+      color: #ecf0f1; }
+      html.theme--documenter-dark .navbar.is-dark .navbar-brand > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,
+      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link {
+        color: #ecf0f1; }
+      html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,
+      html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active {
+        background-color: #1d2122;
+        color: #ecf0f1; }
+      html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after {
+        border-color: #ecf0f1; }
+      html.theme--documenter-dark .navbar.is-dark .navbar-burger, html.theme--documenter-dark .content kbd.navbar .navbar-burger {
+        color: #ecf0f1; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-dark .navbar-start > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,
+        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end > .navbar-item,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link {
+          color: #ecf0f1; }
+        html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active {
+          background-color: #1d2122;
+          color: #ecf0f1; }
+        html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,
+        html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after {
+          border-color: #ecf0f1; }
+        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
+        html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #1d2122;
+          color: #ecf0f1; }
+        html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
+          background-color: #282f2f;
+          color: #ecf0f1; } }
+    html.theme--documenter-dark .navbar.is-primary, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink {
+      background-color: #375a7f;
+      color: #fff; }
+      html.theme--documenter-dark .navbar.is-primary .navbar-brand > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,
+      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,
+      html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
+        background-color: #2f4d6d;
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
+        border-color: #fff; }
+      html.theme--documenter-dark .navbar.is-primary .navbar-burger, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
+        color: #fff; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-primary .navbar-start > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end > .navbar-item,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
+          background-color: #2f4d6d;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
+          border-color: #fff; }
+        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
+        html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #2f4d6d;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
+          background-color: #375a7f;
+          color: #fff; } }
+    html.theme--documenter-dark .navbar.is-link {
+      background-color: #1abc9c;
+      color: #fff; }
+      html.theme--documenter-dark .navbar.is-link .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link {
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active {
+        background-color: #17a689;
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after {
+        border-color: #fff; }
+      html.theme--documenter-dark .navbar.is-link .navbar-burger {
+        color: #fff; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-link .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-link .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link {
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active {
+          background-color: #17a689;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after {
+          border-color: #fff; }
+        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #17a689;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
+          background-color: #1abc9c;
+          color: #fff; } }
+    html.theme--documenter-dark .navbar.is-info {
+      background-color: #024c7d;
+      color: #fff; }
+      html.theme--documenter-dark .navbar.is-info .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link {
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active {
+        background-color: #023d64;
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after {
+        border-color: #fff; }
+      html.theme--documenter-dark .navbar.is-info .navbar-burger {
+        color: #fff; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-info .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-info .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link {
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active {
+          background-color: #023d64;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after {
+          border-color: #fff; }
+        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #023d64;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
+          background-color: #024c7d;
+          color: #fff; } }
+    html.theme--documenter-dark .navbar.is-success {
+      background-color: #008438;
+      color: #fff; }
+      html.theme--documenter-dark .navbar.is-success .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link {
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active {
+        background-color: #006b2d;
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after {
+        border-color: #fff; }
+      html.theme--documenter-dark .navbar.is-success .navbar-burger {
+        color: #fff; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-success .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-success .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link {
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active {
+          background-color: #006b2d;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after {
+          border-color: #fff; }
+        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #006b2d;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
+          background-color: #008438;
+          color: #fff; } }
+    html.theme--documenter-dark .navbar.is-warning {
+      background-color: #ad8100;
+      color: #fff; }
+      html.theme--documenter-dark .navbar.is-warning .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link {
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active {
+        background-color: #946e00;
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after {
+        border-color: #fff; }
+      html.theme--documenter-dark .navbar.is-warning .navbar-burger {
+        color: #fff; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-warning .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link {
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active {
+          background-color: #946e00;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after {
+          border-color: #fff; }
+        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #946e00;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
+          background-color: #ad8100;
+          color: #fff; } }
+    html.theme--documenter-dark .navbar.is-danger {
+      background-color: #9e1b0d;
+      color: #fff; }
+      html.theme--documenter-dark .navbar.is-danger .navbar-brand > .navbar-item,
+      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link {
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active {
+        background-color: #86170b;
+        color: #fff; }
+      html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after {
+        border-color: #fff; }
+      html.theme--documenter-dark .navbar.is-danger .navbar-burger {
+        color: #fff; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark .navbar.is-danger .navbar-start > .navbar-item,
+        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end > .navbar-item,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link {
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:focus,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:hover,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item.is-active,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active {
+          background-color: #86170b;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,
+        html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after {
+          border-color: #fff; }
+        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
+        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
+        html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
+          background-color: #86170b;
+          color: #fff; }
+        html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
+          background-color: #9e1b0d;
+          color: #fff; } }
+    html.theme--documenter-dark .navbar > .container {
+      align-items: stretch;
+      display: flex;
+      min-height: 4rem;
+      width: 100%; }
+    html.theme--documenter-dark .navbar.has-shadow {
+      box-shadow: 0 2px 0 0 #282f2f; }
+    html.theme--documenter-dark .navbar.is-fixed-bottom, html.theme--documenter-dark .navbar.is-fixed-top {
+      left: 0;
+      position: fixed;
+      right: 0;
+      z-index: 30; }
+    html.theme--documenter-dark .navbar.is-fixed-bottom {
+      bottom: 0; }
+      html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow {
+        box-shadow: 0 -2px 0 0 #282f2f; }
+    html.theme--documenter-dark .navbar.is-fixed-top {
+      top: 0; }
+  html.theme--documenter-dark html.has-navbar-fixed-top,
+  html.theme--documenter-dark body.has-navbar-fixed-top {
+    padding-top: 4rem; }
+  html.theme--documenter-dark html.has-navbar-fixed-bottom,
+  html.theme--documenter-dark body.has-navbar-fixed-bottom {
+    padding-bottom: 4rem; }
+  html.theme--documenter-dark .navbar-brand,
+  html.theme--documenter-dark .navbar-tabs {
+    align-items: stretch;
+    display: flex;
+    flex-shrink: 0;
+    min-height: 4rem; }
+  html.theme--documenter-dark .navbar-brand a.navbar-item:focus, html.theme--documenter-dark .navbar-brand a.navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .navbar-tabs {
+    -webkit-overflow-scrolling: touch;
+    max-width: 100vw;
+    overflow-x: auto;
+    overflow-y: hidden; }
+  html.theme--documenter-dark .navbar-burger {
+    color: #fff;
+    cursor: pointer;
+    display: block;
+    height: 4rem;
+    position: relative;
+    width: 4rem;
+    margin-left: auto; }
+    html.theme--documenter-dark .navbar-burger span {
+      background-color: currentColor;
+      display: block;
+      height: 1px;
+      left: calc(50% - 8px);
+      position: absolute;
+      transform-origin: center;
+      transition-duration: 86ms;
+      transition-property: background-color, opacity, transform;
+      transition-timing-function: ease-out;
+      width: 16px; }
+      html.theme--documenter-dark .navbar-burger span:nth-child(1) {
+        top: calc(50% - 6px); }
+      html.theme--documenter-dark .navbar-burger span:nth-child(2) {
+        top: calc(50% - 1px); }
+      html.theme--documenter-dark .navbar-burger span:nth-child(3) {
+        top: calc(50% + 4px); }
+    html.theme--documenter-dark .navbar-burger:hover {
+      background-color: rgba(0, 0, 0, 0.05); }
+    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1) {
+      transform: translateY(5px) rotate(45deg); }
+    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2) {
+      opacity: 0; }
+    html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3) {
+      transform: translateY(-5px) rotate(-45deg); }
+  html.theme--documenter-dark .navbar-menu {
+    display: none; }
+  html.theme--documenter-dark .navbar-item,
+  html.theme--documenter-dark .navbar-link {
+    color: #fff;
+    display: block;
+    line-height: 1.5;
+    padding: 0.5rem 0.75rem;
+    position: relative; }
+    html.theme--documenter-dark .navbar-item .icon:only-child,
+    html.theme--documenter-dark .navbar-link .icon:only-child {
+      margin-left: -0.25rem;
+      margin-right: -0.25rem; }
+  html.theme--documenter-dark a.navbar-item,
+  html.theme--documenter-dark .navbar-link {
+    cursor: pointer; }
+    html.theme--documenter-dark a.navbar-item:focus, html.theme--documenter-dark a.navbar-item:focus-within, html.theme--documenter-dark a.navbar-item:hover, html.theme--documenter-dark a.navbar-item.is-active,
+    html.theme--documenter-dark .navbar-link:focus,
+    html.theme--documenter-dark .navbar-link:focus-within,
+    html.theme--documenter-dark .navbar-link:hover,
+    html.theme--documenter-dark .navbar-link.is-active {
+      background-color: transparent;
+      color: #1abc9c; }
+  html.theme--documenter-dark .navbar-item {
+    display: block;
+    flex-grow: 0;
+    flex-shrink: 0; }
+    html.theme--documenter-dark .navbar-item img {
+      max-height: 1.75rem; }
+    html.theme--documenter-dark .navbar-item.has-dropdown {
+      padding: 0; }
+    html.theme--documenter-dark .navbar-item.is-expanded {
+      flex-grow: 1;
+      flex-shrink: 1; }
+    html.theme--documenter-dark .navbar-item.is-tab {
+      border-bottom: 1px solid transparent;
+      min-height: 4rem;
+      padding-bottom: calc(0.5rem - 1px); }
+      html.theme--documenter-dark .navbar-item.is-tab:focus, html.theme--documenter-dark .navbar-item.is-tab:hover {
+        background-color: transparent;
+        border-bottom-color: #1abc9c; }
+      html.theme--documenter-dark .navbar-item.is-tab.is-active {
+        background-color: transparent;
+        border-bottom-color: #1abc9c;
+        border-bottom-style: solid;
+        border-bottom-width: 3px;
+        color: #1abc9c;
+        padding-bottom: calc(0.5rem - 3px); }
+  html.theme--documenter-dark .navbar-content {
+    flex-grow: 1;
+    flex-shrink: 1; }
+  html.theme--documenter-dark .navbar-link:not(.is-arrowless) {
+    padding-right: 2.5em; }
+    html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after {
+      border-color: #fff;
+      margin-top: -0.375em;
+      right: 1.125em; }
+  html.theme--documenter-dark .navbar-dropdown {
+    font-size: 0.875rem;
+    padding-bottom: 0.5rem;
+    padding-top: 0.5rem; }
+    html.theme--documenter-dark .navbar-dropdown .navbar-item {
+      padding-left: 1.5rem;
+      padding-right: 1.5rem; }
+  html.theme--documenter-dark .navbar-divider {
+    background-color: rgba(0, 0, 0, 0.2);
+    border: none;
+    display: none;
+    height: 2px;
+    margin: 0.5rem 0; }
+  @media screen and (max-width: 1055px) {
+    html.theme--documenter-dark .navbar > .container {
+      display: block; }
+    html.theme--documenter-dark .navbar-brand .navbar-item,
+    html.theme--documenter-dark .navbar-tabs .navbar-item {
+      align-items: center;
+      display: flex; }
+    html.theme--documenter-dark .navbar-link::after {
+      display: none; }
+    html.theme--documenter-dark .navbar-menu {
+      background-color: #375a7f;
+      box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
+      padding: 0.5rem 0; }
+      html.theme--documenter-dark .navbar-menu.is-active {
+        display: block; }
+    html.theme--documenter-dark .navbar.is-fixed-bottom-touch, html.theme--documenter-dark .navbar.is-fixed-top-touch {
+      left: 0;
+      position: fixed;
+      right: 0;
+      z-index: 30; }
+    html.theme--documenter-dark .navbar.is-fixed-bottom-touch {
+      bottom: 0; }
+      html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow {
+        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+    html.theme--documenter-dark .navbar.is-fixed-top-touch {
+      top: 0; }
+    html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu, html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu {
+      -webkit-overflow-scrolling: touch;
+      max-height: calc(100vh - 4rem);
+      overflow: auto; }
+    html.theme--documenter-dark html.has-navbar-fixed-top-touch,
+    html.theme--documenter-dark body.has-navbar-fixed-top-touch {
+      padding-top: 4rem; }
+    html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,
+    html.theme--documenter-dark body.has-navbar-fixed-bottom-touch {
+      padding-bottom: 4rem; } }
+  @media screen and (min-width: 1056px) {
+    html.theme--documenter-dark .navbar,
+    html.theme--documenter-dark .navbar-menu,
+    html.theme--documenter-dark .navbar-start,
+    html.theme--documenter-dark .navbar-end {
+      align-items: stretch;
+      display: flex; }
+    html.theme--documenter-dark .navbar {
+      min-height: 4rem; }
+      html.theme--documenter-dark .navbar.is-spaced {
+        padding: 1rem 2rem; }
+        html.theme--documenter-dark .navbar.is-spaced .navbar-start,
+        html.theme--documenter-dark .navbar.is-spaced .navbar-end {
+          align-items: center; }
+        html.theme--documenter-dark .navbar.is-spaced a.navbar-item,
+        html.theme--documenter-dark .navbar.is-spaced .navbar-link {
+          border-radius: 0.4em; }
+      html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover, html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,
+      html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,
+      html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,
+      html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active {
+        background-color: transparent !important; }
+      html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
+        background-color: transparent !important; }
+      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
+        background-color: transparent;
+        color: #dbdee0; }
+      html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
+        background-color: transparent;
+        color: #1abc9c; }
+    html.theme--documenter-dark .navbar-burger {
+      display: none; }
+    html.theme--documenter-dark .navbar-item,
+    html.theme--documenter-dark .navbar-link {
+      align-items: center;
+      display: flex; }
+    html.theme--documenter-dark .navbar-item {
+      display: flex; }
+      html.theme--documenter-dark .navbar-item.has-dropdown {
+        align-items: stretch; }
+      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after {
+        transform: rotate(135deg) translate(0.25em, -0.25em); }
+      html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown {
+        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+        border-radius: 8px 8px 0 0;
+        border-top: none;
+        bottom: 100%;
+        box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
+        top: auto; }
+      html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown {
+        display: block; }
+        .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
+          opacity: 1;
+          pointer-events: auto;
+          transform: translateY(0); }
+    html.theme--documenter-dark .navbar-menu {
+      flex-grow: 1;
+      flex-shrink: 0; }
+    html.theme--documenter-dark .navbar-start {
+      justify-content: flex-start;
+      margin-right: auto; }
+    html.theme--documenter-dark .navbar-end {
+      justify-content: flex-end;
+      margin-left: auto; }
+    html.theme--documenter-dark .navbar-dropdown {
+      background-color: #375a7f;
+      border-bottom-left-radius: 8px;
+      border-bottom-right-radius: 8px;
+      border-top: 1px solid rgba(0, 0, 0, 0.2);
+      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
+      display: none;
+      font-size: 0.875rem;
+      left: 0;
+      min-width: 100%;
+      position: absolute;
+      top: 100%;
+      z-index: 20; }
+      html.theme--documenter-dark .navbar-dropdown .navbar-item {
+        padding: 0.375rem 1rem;
+        white-space: nowrap; }
+      html.theme--documenter-dark .navbar-dropdown a.navbar-item {
+        padding-right: 3rem; }
+        html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover {
+          background-color: transparent;
+          color: #dbdee0; }
+        html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active {
+          background-color: transparent;
+          color: #1abc9c; }
+      .navbar.is-spaced html.theme--documenter-dark .navbar-dropdown, html.theme--documenter-dark .navbar-dropdown.is-boxed {
+        border-radius: 8px;
+        border-top: none;
+        box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+        display: block;
+        opacity: 0;
+        pointer-events: none;
+        top: calc(100% + (-4px));
+        transform: translateY(-5px);
+        transition-duration: 86ms;
+        transition-property: opacity, transform; }
+      html.theme--documenter-dark .navbar-dropdown.is-right {
+        left: auto;
+        right: 0; }
+    html.theme--documenter-dark .navbar-divider {
+      display: block; }
+    html.theme--documenter-dark .navbar > .container .navbar-brand,
+    html.theme--documenter-dark .container > .navbar .navbar-brand {
+      margin-left: -.75rem; }
+    html.theme--documenter-dark .navbar > .container .navbar-menu,
+    html.theme--documenter-dark .container > .navbar .navbar-menu {
+      margin-right: -.75rem; }
+    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop, html.theme--documenter-dark .navbar.is-fixed-top-desktop {
+      left: 0;
+      position: fixed;
+      right: 0;
+      z-index: 30; }
+    html.theme--documenter-dark .navbar.is-fixed-bottom-desktop {
+      bottom: 0; }
+      html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow {
+        box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+    html.theme--documenter-dark .navbar.is-fixed-top-desktop {
+      top: 0; }
+    html.theme--documenter-dark html.has-navbar-fixed-top-desktop,
+    html.theme--documenter-dark body.has-navbar-fixed-top-desktop {
+      padding-top: 4rem; }
+    html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,
+    html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop {
+      padding-bottom: 4rem; }
+    html.theme--documenter-dark html.has-spaced-navbar-fixed-top,
+    html.theme--documenter-dark body.has-spaced-navbar-fixed-top {
+      padding-top: 6rem; }
+    html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,
+    html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom {
+      padding-bottom: 6rem; }
+    html.theme--documenter-dark a.navbar-item.is-active,
+    html.theme--documenter-dark .navbar-link.is-active {
+      color: #1abc9c; }
+    html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),
+    html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover) {
+      background-color: transparent; }
+    html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link {
+      background-color: transparent; } }
+  html.theme--documenter-dark .hero.is-fullheight-with-navbar {
+    min-height: calc(100vh - 4rem); }
+  html.theme--documenter-dark .pagination {
+    font-size: 15px;
+    margin: -0.25rem; }
+    html.theme--documenter-dark .pagination.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .pagination.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .pagination.is-large {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .pagination.is-rounded .pagination-previous, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
+    html.theme--documenter-dark .pagination.is-rounded .pagination-next,
+    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
+      padding-left: 1em;
+      padding-right: 1em;
+      border-radius: 290486px; }
+    html.theme--documenter-dark .pagination.is-rounded .pagination-link, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
+      border-radius: 290486px; }
+  html.theme--documenter-dark .pagination,
+  html.theme--documenter-dark .pagination-list {
+    align-items: center;
+    display: flex;
+    justify-content: center;
+    text-align: center; }
+  html.theme--documenter-dark .pagination-previous,
+  html.theme--documenter-dark .pagination-next,
+  html.theme--documenter-dark .pagination-link,
+  html.theme--documenter-dark .pagination-ellipsis {
+    font-size: 1em;
+    justify-content: center;
+    margin: 0.25rem;
+    padding-left: 0.5em;
+    padding-right: 0.5em;
+    text-align: center; }
+  html.theme--documenter-dark .pagination-previous,
+  html.theme--documenter-dark .pagination-next,
+  html.theme--documenter-dark .pagination-link {
+    border-color: #5e6d6f;
+    color: #1abc9c;
+    min-width: 2.25em; }
+    html.theme--documenter-dark .pagination-previous:hover,
+    html.theme--documenter-dark .pagination-next:hover,
+    html.theme--documenter-dark .pagination-link:hover {
+      border-color: #8c9b9d;
+      color: #1dd2af; }
+    html.theme--documenter-dark .pagination-previous:focus,
+    html.theme--documenter-dark .pagination-next:focus,
+    html.theme--documenter-dark .pagination-link:focus {
+      border-color: #8c9b9d; }
+    html.theme--documenter-dark .pagination-previous:active,
+    html.theme--documenter-dark .pagination-next:active,
+    html.theme--documenter-dark .pagination-link:active {
+      box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
+    html.theme--documenter-dark .pagination-previous[disabled],
+    html.theme--documenter-dark .pagination-next[disabled],
+    html.theme--documenter-dark .pagination-link[disabled] {
+      background-color: #dbdee0;
+      border-color: #dbdee0;
+      box-shadow: none;
+      color: #5e6d6f;
+      opacity: 0.5; }
+  html.theme--documenter-dark .pagination-previous,
+  html.theme--documenter-dark .pagination-next {
+    padding-left: 0.75em;
+    padding-right: 0.75em;
+    white-space: nowrap; }
+  html.theme--documenter-dark .pagination-link.is-current {
+    background-color: #1abc9c;
+    border-color: #1abc9c;
+    color: #fff; }
+  html.theme--documenter-dark .pagination-ellipsis {
+    color: #8c9b9d;
+    pointer-events: none; }
+  html.theme--documenter-dark .pagination-list {
+    flex-wrap: wrap; }
+  @media screen and (max-width: 768px) {
+    html.theme--documenter-dark .pagination {
+      flex-wrap: wrap; }
+    html.theme--documenter-dark .pagination-previous,
+    html.theme--documenter-dark .pagination-next {
+      flex-grow: 1;
+      flex-shrink: 1; }
+    html.theme--documenter-dark .pagination-list li {
+      flex-grow: 1;
+      flex-shrink: 1; } }
+  @media screen and (min-width: 769px), print {
+    html.theme--documenter-dark .pagination-list {
+      flex-grow: 1;
+      flex-shrink: 1;
+      justify-content: flex-start;
+      order: 1; }
+    html.theme--documenter-dark .pagination-previous {
+      order: 2; }
+    html.theme--documenter-dark .pagination-next {
+      order: 3; }
+    html.theme--documenter-dark .pagination {
+      justify-content: space-between; }
+      html.theme--documenter-dark .pagination.is-centered .pagination-previous {
+        order: 1; }
+      html.theme--documenter-dark .pagination.is-centered .pagination-list {
+        justify-content: center;
+        order: 2; }
+      html.theme--documenter-dark .pagination.is-centered .pagination-next {
+        order: 3; }
+      html.theme--documenter-dark .pagination.is-right .pagination-previous {
+        order: 1; }
+      html.theme--documenter-dark .pagination.is-right .pagination-next {
+        order: 2; }
+      html.theme--documenter-dark .pagination.is-right .pagination-list {
+        justify-content: flex-end;
+        order: 3; } }
+  html.theme--documenter-dark .panel {
+    font-size: 15px; }
+    html.theme--documenter-dark .panel:not(:last-child) {
+      margin-bottom: 1.5rem; }
+  html.theme--documenter-dark .panel-heading,
+  html.theme--documenter-dark .panel-tabs,
+  html.theme--documenter-dark .panel-block {
+    border-bottom: 1px solid #5e6d6f;
+    border-left: 1px solid #5e6d6f;
+    border-right: 1px solid #5e6d6f; }
+    html.theme--documenter-dark .panel-heading:first-child,
+    html.theme--documenter-dark .panel-tabs:first-child,
+    html.theme--documenter-dark .panel-block:first-child {
+      border-top: 1px solid #5e6d6f; }
+  html.theme--documenter-dark .panel-heading {
+    background-color: #282f2f;
+    border-radius: 0.4em 0.4em 0 0;
+    color: #f2f2f2;
+    font-size: 1.25em;
+    font-weight: 300;
+    line-height: 1.25;
+    padding: 0.5em 0.75em; }
+  html.theme--documenter-dark .panel-tabs {
+    align-items: flex-end;
+    display: flex;
+    font-size: 0.875em;
+    justify-content: center; }
+    html.theme--documenter-dark .panel-tabs a {
+      border-bottom: 1px solid #5e6d6f;
+      margin-bottom: -1px;
+      padding: 0.5em; }
+      html.theme--documenter-dark .panel-tabs a.is-active {
+        border-bottom-color: #343c3d;
+        color: #17a689; }
+  html.theme--documenter-dark .panel-list a {
+    color: #fff; }
+    html.theme--documenter-dark .panel-list a:hover {
+      color: #1abc9c; }
+  html.theme--documenter-dark .panel-block {
+    align-items: center;
+    color: #f2f2f2;
+    display: flex;
+    justify-content: flex-start;
+    padding: 0.5em 0.75em; }
+    html.theme--documenter-dark .panel-block input[type="checkbox"] {
+      margin-right: 0.75em; }
+    html.theme--documenter-dark .panel-block > .control {
+      flex-grow: 1;
+      flex-shrink: 1;
+      width: 100%; }
+    html.theme--documenter-dark .panel-block.is-wrapped {
+      flex-wrap: wrap; }
+    html.theme--documenter-dark .panel-block.is-active {
+      border-left-color: #1abc9c;
+      color: #17a689; }
+      html.theme--documenter-dark .panel-block.is-active .panel-icon {
+        color: #1abc9c; }
+  html.theme--documenter-dark a.panel-block,
+  html.theme--documenter-dark label.panel-block {
+    cursor: pointer; }
+    html.theme--documenter-dark a.panel-block:hover,
+    html.theme--documenter-dark label.panel-block:hover {
+      background-color: #282f2f; }
+  html.theme--documenter-dark .panel-icon {
+    display: inline-block;
+    font-size: 14px;
+    height: 1em;
+    line-height: 1em;
+    text-align: center;
+    vertical-align: top;
+    width: 1em;
+    color: white;
+    margin-right: 0.75em; }
+    html.theme--documenter-dark .panel-icon .fa {
+      font-size: inherit;
+      line-height: inherit; }
+  html.theme--documenter-dark .tabs {
+    -webkit-overflow-scrolling: touch;
+    align-items: stretch;
+    display: flex;
+    font-size: 15px;
+    justify-content: space-between;
+    overflow: hidden;
+    overflow-x: auto;
+    white-space: nowrap; }
+    html.theme--documenter-dark .tabs a {
+      align-items: center;
+      border-bottom-color: #5e6d6f;
+      border-bottom-style: solid;
+      border-bottom-width: 1px;
+      color: #fff;
+      display: flex;
+      justify-content: center;
+      margin-bottom: -1px;
+      padding: 0.5em 1em;
+      vertical-align: top; }
+      html.theme--documenter-dark .tabs a:hover {
+        border-bottom-color: #f2f2f2;
+        color: #f2f2f2; }
+    html.theme--documenter-dark .tabs li {
+      display: block; }
+      html.theme--documenter-dark .tabs li.is-active a {
+        border-bottom-color: #1abc9c;
+        color: #1abc9c; }
+    html.theme--documenter-dark .tabs ul {
+      align-items: center;
+      border-bottom-color: #5e6d6f;
+      border-bottom-style: solid;
+      border-bottom-width: 1px;
+      display: flex;
+      flex-grow: 1;
+      flex-shrink: 0;
+      justify-content: flex-start; }
+      html.theme--documenter-dark .tabs ul.is-left {
+        padding-right: 0.75em; }
+      html.theme--documenter-dark .tabs ul.is-center {
+        flex: none;
+        justify-content: center;
+        padding-left: 0.75em;
+        padding-right: 0.75em; }
+      html.theme--documenter-dark .tabs ul.is-right {
+        justify-content: flex-end;
+        padding-left: 0.75em; }
+    html.theme--documenter-dark .tabs .icon:first-child {
+      margin-right: 0.5em; }
+    html.theme--documenter-dark .tabs .icon:last-child {
+      margin-left: 0.5em; }
+    html.theme--documenter-dark .tabs.is-centered ul {
+      justify-content: center; }
+    html.theme--documenter-dark .tabs.is-right ul {
+      justify-content: flex-end; }
+    html.theme--documenter-dark .tabs.is-boxed a {
+      border: 1px solid transparent;
+      border-radius: 0.4em 0.4em 0 0; }
+      html.theme--documenter-dark .tabs.is-boxed a:hover {
+        background-color: #282f2f;
+        border-bottom-color: #5e6d6f; }
+    html.theme--documenter-dark .tabs.is-boxed li.is-active a {
+      background-color: white;
+      border-color: #5e6d6f;
+      border-bottom-color: transparent !important; }
+    html.theme--documenter-dark .tabs.is-fullwidth li {
+      flex-grow: 1;
+      flex-shrink: 0; }
+    html.theme--documenter-dark .tabs.is-toggle a {
+      border-color: #5e6d6f;
+      border-style: solid;
+      border-width: 1px;
+      margin-bottom: 0;
+      position: relative; }
+      html.theme--documenter-dark .tabs.is-toggle a:hover {
+        background-color: #282f2f;
+        border-color: #8c9b9d;
+        z-index: 2; }
+    html.theme--documenter-dark .tabs.is-toggle li + li {
+      margin-left: -1px; }
+    html.theme--documenter-dark .tabs.is-toggle li:first-child a {
+      border-radius: 0.4em 0 0 0.4em; }
+    html.theme--documenter-dark .tabs.is-toggle li:last-child a {
+      border-radius: 0 0.4em 0.4em 0; }
+    html.theme--documenter-dark .tabs.is-toggle li.is-active a {
+      background-color: #1abc9c;
+      border-color: #1abc9c;
+      color: #fff;
+      z-index: 1; }
+    html.theme--documenter-dark .tabs.is-toggle ul {
+      border-bottom: none; }
+    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a {
+      border-bottom-left-radius: 290486px;
+      border-top-left-radius: 290486px;
+      padding-left: 1.25em; }
+    html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a {
+      border-bottom-right-radius: 290486px;
+      border-top-right-radius: 290486px;
+      padding-right: 1.25em; }
+    html.theme--documenter-dark .tabs.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.tabs {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .tabs.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .tabs.is-large {
+      font-size: 1.5rem; }
+  html.theme--documenter-dark .column {
+    display: block;
+    flex-basis: 0;
+    flex-grow: 1;
+    flex-shrink: 1;
+    padding: 0.75rem; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-narrow {
+      flex: none; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-full {
+      flex: none;
+      width: 100%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-three-quarters {
+      flex: none;
+      width: 75%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-two-thirds {
+      flex: none;
+      width: 66.6666%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-half {
+      flex: none;
+      width: 50%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-one-third {
+      flex: none;
+      width: 33.3333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-one-quarter {
+      flex: none;
+      width: 25%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-one-fifth {
+      flex: none;
+      width: 20%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-two-fifths {
+      flex: none;
+      width: 40%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-three-fifths {
+      flex: none;
+      width: 60%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-four-fifths {
+      flex: none;
+      width: 80%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-quarters {
+      margin-left: 75%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-thirds {
+      margin-left: 66.6666%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-half {
+      margin-left: 50%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-third {
+      margin-left: 33.3333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-quarter {
+      margin-left: 25%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-fifth {
+      margin-left: 20%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-fifths {
+      margin-left: 40%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-fifths {
+      margin-left: 60%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-four-fifths {
+      margin-left: 80%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-0 {
+      flex: none;
+      width: 0%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-0 {
+      margin-left: 0%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-1 {
+      flex: none;
+      width: 8.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-1 {
+      margin-left: 8.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-2 {
+      flex: none;
+      width: 16.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-2 {
+      margin-left: 16.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-3 {
+      flex: none;
+      width: 25%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-3 {
+      margin-left: 25%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-4 {
+      flex: none;
+      width: 33.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-4 {
+      margin-left: 33.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-5 {
+      flex: none;
+      width: 41.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-5 {
+      margin-left: 41.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-6 {
+      flex: none;
+      width: 50%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-6 {
+      margin-left: 50%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-7 {
+      flex: none;
+      width: 58.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-7 {
+      margin-left: 58.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-8 {
+      flex: none;
+      width: 66.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-8 {
+      margin-left: 66.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-9 {
+      flex: none;
+      width: 75%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-9 {
+      margin-left: 75%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-10 {
+      flex: none;
+      width: 83.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-10 {
+      margin-left: 83.3333333333%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-11 {
+      flex: none;
+      width: 91.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-11 {
+      margin-left: 91.6666666667%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-12 {
+      flex: none;
+      width: 100%; }
+    .columns.is-mobile > html.theme--documenter-dark .column.is-offset-12 {
+      margin-left: 100%; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .column.is-narrow-mobile {
+        flex: none; }
+      html.theme--documenter-dark .column.is-full-mobile {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-three-quarters-mobile {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-two-thirds-mobile {
+        flex: none;
+        width: 66.6666%; }
+      html.theme--documenter-dark .column.is-half-mobile {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-one-third-mobile {
+        flex: none;
+        width: 33.3333%; }
+      html.theme--documenter-dark .column.is-one-quarter-mobile {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-one-fifth-mobile {
+        flex: none;
+        width: 20%; }
+      html.theme--documenter-dark .column.is-two-fifths-mobile {
+        flex: none;
+        width: 40%; }
+      html.theme--documenter-dark .column.is-three-fifths-mobile {
+        flex: none;
+        width: 60%; }
+      html.theme--documenter-dark .column.is-four-fifths-mobile {
+        flex: none;
+        width: 80%; }
+      html.theme--documenter-dark .column.is-offset-three-quarters-mobile {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-offset-two-thirds-mobile {
+        margin-left: 66.6666%; }
+      html.theme--documenter-dark .column.is-offset-half-mobile {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-offset-one-third-mobile {
+        margin-left: 33.3333%; }
+      html.theme--documenter-dark .column.is-offset-one-quarter-mobile {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-offset-one-fifth-mobile {
+        margin-left: 20%; }
+      html.theme--documenter-dark .column.is-offset-two-fifths-mobile {
+        margin-left: 40%; }
+      html.theme--documenter-dark .column.is-offset-three-fifths-mobile {
+        margin-left: 60%; }
+      html.theme--documenter-dark .column.is-offset-four-fifths-mobile {
+        margin-left: 80%; }
+      html.theme--documenter-dark .column.is-0-mobile {
+        flex: none;
+        width: 0%; }
+      html.theme--documenter-dark .column.is-offset-0-mobile {
+        margin-left: 0%; }
+      html.theme--documenter-dark .column.is-1-mobile {
+        flex: none;
+        width: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-1-mobile {
+        margin-left: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-2-mobile {
+        flex: none;
+        width: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-2-mobile {
+        margin-left: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-3-mobile {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-offset-3-mobile {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-4-mobile {
+        flex: none;
+        width: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-4-mobile {
+        margin-left: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-5-mobile {
+        flex: none;
+        width: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-5-mobile {
+        margin-left: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-6-mobile {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-offset-6-mobile {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-7-mobile {
+        flex: none;
+        width: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-7-mobile {
+        margin-left: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-8-mobile {
+        flex: none;
+        width: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-8-mobile {
+        margin-left: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-9-mobile {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-offset-9-mobile {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-10-mobile {
+        flex: none;
+        width: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-10-mobile {
+        margin-left: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-11-mobile {
+        flex: none;
+        width: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-11-mobile {
+        margin-left: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-12-mobile {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-offset-12-mobile {
+        margin-left: 100%; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .column.is-narrow, html.theme--documenter-dark .column.is-narrow-tablet {
+        flex: none; }
+      html.theme--documenter-dark .column.is-full, html.theme--documenter-dark .column.is-full-tablet {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-three-quarters, html.theme--documenter-dark .column.is-three-quarters-tablet {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-two-thirds, html.theme--documenter-dark .column.is-two-thirds-tablet {
+        flex: none;
+        width: 66.6666%; }
+      html.theme--documenter-dark .column.is-half, html.theme--documenter-dark .column.is-half-tablet {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-one-third, html.theme--documenter-dark .column.is-one-third-tablet {
+        flex: none;
+        width: 33.3333%; }
+      html.theme--documenter-dark .column.is-one-quarter, html.theme--documenter-dark .column.is-one-quarter-tablet {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-one-fifth, html.theme--documenter-dark .column.is-one-fifth-tablet {
+        flex: none;
+        width: 20%; }
+      html.theme--documenter-dark .column.is-two-fifths, html.theme--documenter-dark .column.is-two-fifths-tablet {
+        flex: none;
+        width: 40%; }
+      html.theme--documenter-dark .column.is-three-fifths, html.theme--documenter-dark .column.is-three-fifths-tablet {
+        flex: none;
+        width: 60%; }
+      html.theme--documenter-dark .column.is-four-fifths, html.theme--documenter-dark .column.is-four-fifths-tablet {
+        flex: none;
+        width: 80%; }
+      html.theme--documenter-dark .column.is-offset-three-quarters, html.theme--documenter-dark .column.is-offset-three-quarters-tablet {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-offset-two-thirds, html.theme--documenter-dark .column.is-offset-two-thirds-tablet {
+        margin-left: 66.6666%; }
+      html.theme--documenter-dark .column.is-offset-half, html.theme--documenter-dark .column.is-offset-half-tablet {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-offset-one-third, html.theme--documenter-dark .column.is-offset-one-third-tablet {
+        margin-left: 33.3333%; }
+      html.theme--documenter-dark .column.is-offset-one-quarter, html.theme--documenter-dark .column.is-offset-one-quarter-tablet {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-offset-one-fifth, html.theme--documenter-dark .column.is-offset-one-fifth-tablet {
+        margin-left: 20%; }
+      html.theme--documenter-dark .column.is-offset-two-fifths, html.theme--documenter-dark .column.is-offset-two-fifths-tablet {
+        margin-left: 40%; }
+      html.theme--documenter-dark .column.is-offset-three-fifths, html.theme--documenter-dark .column.is-offset-three-fifths-tablet {
+        margin-left: 60%; }
+      html.theme--documenter-dark .column.is-offset-four-fifths, html.theme--documenter-dark .column.is-offset-four-fifths-tablet {
+        margin-left: 80%; }
+      html.theme--documenter-dark .column.is-0, html.theme--documenter-dark .column.is-0-tablet {
+        flex: none;
+        width: 0%; }
+      html.theme--documenter-dark .column.is-offset-0, html.theme--documenter-dark .column.is-offset-0-tablet {
+        margin-left: 0%; }
+      html.theme--documenter-dark .column.is-1, html.theme--documenter-dark .column.is-1-tablet {
+        flex: none;
+        width: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-1, html.theme--documenter-dark .column.is-offset-1-tablet {
+        margin-left: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-2, html.theme--documenter-dark .column.is-2-tablet {
+        flex: none;
+        width: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-2, html.theme--documenter-dark .column.is-offset-2-tablet {
+        margin-left: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-3, html.theme--documenter-dark .column.is-3-tablet {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-offset-3, html.theme--documenter-dark .column.is-offset-3-tablet {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-4, html.theme--documenter-dark .column.is-4-tablet {
+        flex: none;
+        width: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-4, html.theme--documenter-dark .column.is-offset-4-tablet {
+        margin-left: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-5, html.theme--documenter-dark .column.is-5-tablet {
+        flex: none;
+        width: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-5, html.theme--documenter-dark .column.is-offset-5-tablet {
+        margin-left: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-6, html.theme--documenter-dark .column.is-6-tablet {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-offset-6, html.theme--documenter-dark .column.is-offset-6-tablet {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-7, html.theme--documenter-dark .column.is-7-tablet {
+        flex: none;
+        width: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-7, html.theme--documenter-dark .column.is-offset-7-tablet {
+        margin-left: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-8, html.theme--documenter-dark .column.is-8-tablet {
+        flex: none;
+        width: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-8, html.theme--documenter-dark .column.is-offset-8-tablet {
+        margin-left: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-9, html.theme--documenter-dark .column.is-9-tablet {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-offset-9, html.theme--documenter-dark .column.is-offset-9-tablet {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-10, html.theme--documenter-dark .column.is-10-tablet {
+        flex: none;
+        width: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-10, html.theme--documenter-dark .column.is-offset-10-tablet {
+        margin-left: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-11, html.theme--documenter-dark .column.is-11-tablet {
+        flex: none;
+        width: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-11, html.theme--documenter-dark .column.is-offset-11-tablet {
+        margin-left: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-12, html.theme--documenter-dark .column.is-12-tablet {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-offset-12, html.theme--documenter-dark .column.is-offset-12-tablet {
+        margin-left: 100%; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .column.is-narrow-touch {
+        flex: none; }
+      html.theme--documenter-dark .column.is-full-touch {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-three-quarters-touch {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-two-thirds-touch {
+        flex: none;
+        width: 66.6666%; }
+      html.theme--documenter-dark .column.is-half-touch {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-one-third-touch {
+        flex: none;
+        width: 33.3333%; }
+      html.theme--documenter-dark .column.is-one-quarter-touch {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-one-fifth-touch {
+        flex: none;
+        width: 20%; }
+      html.theme--documenter-dark .column.is-two-fifths-touch {
+        flex: none;
+        width: 40%; }
+      html.theme--documenter-dark .column.is-three-fifths-touch {
+        flex: none;
+        width: 60%; }
+      html.theme--documenter-dark .column.is-four-fifths-touch {
+        flex: none;
+        width: 80%; }
+      html.theme--documenter-dark .column.is-offset-three-quarters-touch {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-offset-two-thirds-touch {
+        margin-left: 66.6666%; }
+      html.theme--documenter-dark .column.is-offset-half-touch {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-offset-one-third-touch {
+        margin-left: 33.3333%; }
+      html.theme--documenter-dark .column.is-offset-one-quarter-touch {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-offset-one-fifth-touch {
+        margin-left: 20%; }
+      html.theme--documenter-dark .column.is-offset-two-fifths-touch {
+        margin-left: 40%; }
+      html.theme--documenter-dark .column.is-offset-three-fifths-touch {
+        margin-left: 60%; }
+      html.theme--documenter-dark .column.is-offset-four-fifths-touch {
+        margin-left: 80%; }
+      html.theme--documenter-dark .column.is-0-touch {
+        flex: none;
+        width: 0%; }
+      html.theme--documenter-dark .column.is-offset-0-touch {
+        margin-left: 0%; }
+      html.theme--documenter-dark .column.is-1-touch {
+        flex: none;
+        width: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-1-touch {
+        margin-left: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-2-touch {
+        flex: none;
+        width: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-2-touch {
+        margin-left: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-3-touch {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-offset-3-touch {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-4-touch {
+        flex: none;
+        width: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-4-touch {
+        margin-left: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-5-touch {
+        flex: none;
+        width: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-5-touch {
+        margin-left: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-6-touch {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-offset-6-touch {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-7-touch {
+        flex: none;
+        width: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-7-touch {
+        margin-left: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-8-touch {
+        flex: none;
+        width: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-8-touch {
+        margin-left: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-9-touch {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-offset-9-touch {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-10-touch {
+        flex: none;
+        width: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-10-touch {
+        margin-left: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-11-touch {
+        flex: none;
+        width: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-11-touch {
+        margin-left: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-12-touch {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-offset-12-touch {
+        margin-left: 100%; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .column.is-narrow-desktop {
+        flex: none; }
+      html.theme--documenter-dark .column.is-full-desktop {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-three-quarters-desktop {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-two-thirds-desktop {
+        flex: none;
+        width: 66.6666%; }
+      html.theme--documenter-dark .column.is-half-desktop {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-one-third-desktop {
+        flex: none;
+        width: 33.3333%; }
+      html.theme--documenter-dark .column.is-one-quarter-desktop {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-one-fifth-desktop {
+        flex: none;
+        width: 20%; }
+      html.theme--documenter-dark .column.is-two-fifths-desktop {
+        flex: none;
+        width: 40%; }
+      html.theme--documenter-dark .column.is-three-fifths-desktop {
+        flex: none;
+        width: 60%; }
+      html.theme--documenter-dark .column.is-four-fifths-desktop {
+        flex: none;
+        width: 80%; }
+      html.theme--documenter-dark .column.is-offset-three-quarters-desktop {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-offset-two-thirds-desktop {
+        margin-left: 66.6666%; }
+      html.theme--documenter-dark .column.is-offset-half-desktop {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-offset-one-third-desktop {
+        margin-left: 33.3333%; }
+      html.theme--documenter-dark .column.is-offset-one-quarter-desktop {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-offset-one-fifth-desktop {
+        margin-left: 20%; }
+      html.theme--documenter-dark .column.is-offset-two-fifths-desktop {
+        margin-left: 40%; }
+      html.theme--documenter-dark .column.is-offset-three-fifths-desktop {
+        margin-left: 60%; }
+      html.theme--documenter-dark .column.is-offset-four-fifths-desktop {
+        margin-left: 80%; }
+      html.theme--documenter-dark .column.is-0-desktop {
+        flex: none;
+        width: 0%; }
+      html.theme--documenter-dark .column.is-offset-0-desktop {
+        margin-left: 0%; }
+      html.theme--documenter-dark .column.is-1-desktop {
+        flex: none;
+        width: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-1-desktop {
+        margin-left: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-2-desktop {
+        flex: none;
+        width: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-2-desktop {
+        margin-left: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-3-desktop {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-offset-3-desktop {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-4-desktop {
+        flex: none;
+        width: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-4-desktop {
+        margin-left: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-5-desktop {
+        flex: none;
+        width: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-5-desktop {
+        margin-left: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-6-desktop {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-offset-6-desktop {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-7-desktop {
+        flex: none;
+        width: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-7-desktop {
+        margin-left: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-8-desktop {
+        flex: none;
+        width: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-8-desktop {
+        margin-left: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-9-desktop {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-offset-9-desktop {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-10-desktop {
+        flex: none;
+        width: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-10-desktop {
+        margin-left: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-11-desktop {
+        flex: none;
+        width: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-11-desktop {
+        margin-left: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-12-desktop {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-offset-12-desktop {
+        margin-left: 100%; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .column.is-narrow-widescreen {
+        flex: none; }
+      html.theme--documenter-dark .column.is-full-widescreen {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-three-quarters-widescreen {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-two-thirds-widescreen {
+        flex: none;
+        width: 66.6666%; }
+      html.theme--documenter-dark .column.is-half-widescreen {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-one-third-widescreen {
+        flex: none;
+        width: 33.3333%; }
+      html.theme--documenter-dark .column.is-one-quarter-widescreen {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-one-fifth-widescreen {
+        flex: none;
+        width: 20%; }
+      html.theme--documenter-dark .column.is-two-fifths-widescreen {
+        flex: none;
+        width: 40%; }
+      html.theme--documenter-dark .column.is-three-fifths-widescreen {
+        flex: none;
+        width: 60%; }
+      html.theme--documenter-dark .column.is-four-fifths-widescreen {
+        flex: none;
+        width: 80%; }
+      html.theme--documenter-dark .column.is-offset-three-quarters-widescreen {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-offset-two-thirds-widescreen {
+        margin-left: 66.6666%; }
+      html.theme--documenter-dark .column.is-offset-half-widescreen {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-offset-one-third-widescreen {
+        margin-left: 33.3333%; }
+      html.theme--documenter-dark .column.is-offset-one-quarter-widescreen {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-offset-one-fifth-widescreen {
+        margin-left: 20%; }
+      html.theme--documenter-dark .column.is-offset-two-fifths-widescreen {
+        margin-left: 40%; }
+      html.theme--documenter-dark .column.is-offset-three-fifths-widescreen {
+        margin-left: 60%; }
+      html.theme--documenter-dark .column.is-offset-four-fifths-widescreen {
+        margin-left: 80%; }
+      html.theme--documenter-dark .column.is-0-widescreen {
+        flex: none;
+        width: 0%; }
+      html.theme--documenter-dark .column.is-offset-0-widescreen {
+        margin-left: 0%; }
+      html.theme--documenter-dark .column.is-1-widescreen {
+        flex: none;
+        width: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-1-widescreen {
+        margin-left: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-2-widescreen {
+        flex: none;
+        width: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-2-widescreen {
+        margin-left: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-3-widescreen {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-offset-3-widescreen {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-4-widescreen {
+        flex: none;
+        width: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-4-widescreen {
+        margin-left: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-5-widescreen {
+        flex: none;
+        width: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-5-widescreen {
+        margin-left: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-6-widescreen {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-offset-6-widescreen {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-7-widescreen {
+        flex: none;
+        width: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-7-widescreen {
+        margin-left: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-8-widescreen {
+        flex: none;
+        width: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-8-widescreen {
+        margin-left: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-9-widescreen {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-offset-9-widescreen {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-10-widescreen {
+        flex: none;
+        width: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-10-widescreen {
+        margin-left: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-11-widescreen {
+        flex: none;
+        width: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-11-widescreen {
+        margin-left: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-12-widescreen {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-offset-12-widescreen {
+        margin-left: 100%; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .column.is-narrow-fullhd {
+        flex: none; }
+      html.theme--documenter-dark .column.is-full-fullhd {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-three-quarters-fullhd {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-two-thirds-fullhd {
+        flex: none;
+        width: 66.6666%; }
+      html.theme--documenter-dark .column.is-half-fullhd {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-one-third-fullhd {
+        flex: none;
+        width: 33.3333%; }
+      html.theme--documenter-dark .column.is-one-quarter-fullhd {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-one-fifth-fullhd {
+        flex: none;
+        width: 20%; }
+      html.theme--documenter-dark .column.is-two-fifths-fullhd {
+        flex: none;
+        width: 40%; }
+      html.theme--documenter-dark .column.is-three-fifths-fullhd {
+        flex: none;
+        width: 60%; }
+      html.theme--documenter-dark .column.is-four-fifths-fullhd {
+        flex: none;
+        width: 80%; }
+      html.theme--documenter-dark .column.is-offset-three-quarters-fullhd {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-offset-two-thirds-fullhd {
+        margin-left: 66.6666%; }
+      html.theme--documenter-dark .column.is-offset-half-fullhd {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-offset-one-third-fullhd {
+        margin-left: 33.3333%; }
+      html.theme--documenter-dark .column.is-offset-one-quarter-fullhd {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-offset-one-fifth-fullhd {
+        margin-left: 20%; }
+      html.theme--documenter-dark .column.is-offset-two-fifths-fullhd {
+        margin-left: 40%; }
+      html.theme--documenter-dark .column.is-offset-three-fifths-fullhd {
+        margin-left: 60%; }
+      html.theme--documenter-dark .column.is-offset-four-fifths-fullhd {
+        margin-left: 80%; }
+      html.theme--documenter-dark .column.is-0-fullhd {
+        flex: none;
+        width: 0%; }
+      html.theme--documenter-dark .column.is-offset-0-fullhd {
+        margin-left: 0%; }
+      html.theme--documenter-dark .column.is-1-fullhd {
+        flex: none;
+        width: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-1-fullhd {
+        margin-left: 8.3333333333%; }
+      html.theme--documenter-dark .column.is-2-fullhd {
+        flex: none;
+        width: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-2-fullhd {
+        margin-left: 16.6666666667%; }
+      html.theme--documenter-dark .column.is-3-fullhd {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .column.is-offset-3-fullhd {
+        margin-left: 25%; }
+      html.theme--documenter-dark .column.is-4-fullhd {
+        flex: none;
+        width: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-4-fullhd {
+        margin-left: 33.3333333333%; }
+      html.theme--documenter-dark .column.is-5-fullhd {
+        flex: none;
+        width: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-5-fullhd {
+        margin-left: 41.6666666667%; }
+      html.theme--documenter-dark .column.is-6-fullhd {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .column.is-offset-6-fullhd {
+        margin-left: 50%; }
+      html.theme--documenter-dark .column.is-7-fullhd {
+        flex: none;
+        width: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-7-fullhd {
+        margin-left: 58.3333333333%; }
+      html.theme--documenter-dark .column.is-8-fullhd {
+        flex: none;
+        width: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-8-fullhd {
+        margin-left: 66.6666666667%; }
+      html.theme--documenter-dark .column.is-9-fullhd {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .column.is-offset-9-fullhd {
+        margin-left: 75%; }
+      html.theme--documenter-dark .column.is-10-fullhd {
+        flex: none;
+        width: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-offset-10-fullhd {
+        margin-left: 83.3333333333%; }
+      html.theme--documenter-dark .column.is-11-fullhd {
+        flex: none;
+        width: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-offset-11-fullhd {
+        margin-left: 91.6666666667%; }
+      html.theme--documenter-dark .column.is-12-fullhd {
+        flex: none;
+        width: 100%; }
+      html.theme--documenter-dark .column.is-offset-12-fullhd {
+        margin-left: 100%; } }
+  html.theme--documenter-dark .columns {
+    margin-left: -0.75rem;
+    margin-right: -0.75rem;
+    margin-top: -0.75rem; }
+    html.theme--documenter-dark .columns:last-child {
+      margin-bottom: -0.75rem; }
+    html.theme--documenter-dark .columns:not(:last-child) {
+      margin-bottom: calc(1.5rem - 0.75rem); }
+    html.theme--documenter-dark .columns.is-centered {
+      justify-content: center; }
+    html.theme--documenter-dark .columns.is-gapless {
+      margin-left: 0;
+      margin-right: 0;
+      margin-top: 0; }
+      html.theme--documenter-dark .columns.is-gapless > .column {
+        margin: 0;
+        padding: 0 !important; }
+      html.theme--documenter-dark .columns.is-gapless:not(:last-child) {
+        margin-bottom: 1.5rem; }
+      html.theme--documenter-dark .columns.is-gapless:last-child {
+        margin-bottom: 0; }
+    html.theme--documenter-dark .columns.is-mobile {
+      display: flex; }
+    html.theme--documenter-dark .columns.is-multiline {
+      flex-wrap: wrap; }
+    html.theme--documenter-dark .columns.is-vcentered {
+      align-items: center; }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns:not(.is-desktop) {
+        display: flex; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-desktop {
+        display: flex; } }
+  html.theme--documenter-dark .columns.is-variable {
+    --columnGap: 0.75rem;
+    margin-left: calc(-1 * var(--columnGap));
+    margin-right: calc(-1 * var(--columnGap)); }
+    html.theme--documenter-dark .columns.is-variable .column {
+      padding-left: var(--columnGap);
+      padding-right: var(--columnGap); }
+    html.theme--documenter-dark .columns.is-variable.is-0 {
+      --columnGap: 0rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-mobile {
+        --columnGap: 0rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-0-tablet {
+        --columnGap: 0rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-tablet-only {
+        --columnGap: 0rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-touch {
+        --columnGap: 0rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-desktop {
+        --columnGap: 0rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-desktop-only {
+        --columnGap: 0rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-widescreen {
+        --columnGap: 0rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only {
+        --columnGap: 0rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-0-fullhd {
+        --columnGap: 0rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-1 {
+      --columnGap: 0.25rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-mobile {
+        --columnGap: 0.25rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-1-tablet {
+        --columnGap: 0.25rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-tablet-only {
+        --columnGap: 0.25rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-touch {
+        --columnGap: 0.25rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-desktop {
+        --columnGap: 0.25rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-desktop-only {
+        --columnGap: 0.25rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-widescreen {
+        --columnGap: 0.25rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only {
+        --columnGap: 0.25rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-1-fullhd {
+        --columnGap: 0.25rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-2 {
+      --columnGap: 0.5rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-mobile {
+        --columnGap: 0.5rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-2-tablet {
+        --columnGap: 0.5rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-tablet-only {
+        --columnGap: 0.5rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-touch {
+        --columnGap: 0.5rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-desktop {
+        --columnGap: 0.5rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-desktop-only {
+        --columnGap: 0.5rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-widescreen {
+        --columnGap: 0.5rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only {
+        --columnGap: 0.5rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-2-fullhd {
+        --columnGap: 0.5rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-3 {
+      --columnGap: 0.75rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-mobile {
+        --columnGap: 0.75rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-3-tablet {
+        --columnGap: 0.75rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-tablet-only {
+        --columnGap: 0.75rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-touch {
+        --columnGap: 0.75rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-desktop {
+        --columnGap: 0.75rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-desktop-only {
+        --columnGap: 0.75rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-widescreen {
+        --columnGap: 0.75rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only {
+        --columnGap: 0.75rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-3-fullhd {
+        --columnGap: 0.75rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-4 {
+      --columnGap: 1rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-mobile {
+        --columnGap: 1rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-4-tablet {
+        --columnGap: 1rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-tablet-only {
+        --columnGap: 1rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-touch {
+        --columnGap: 1rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-desktop {
+        --columnGap: 1rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-desktop-only {
+        --columnGap: 1rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-widescreen {
+        --columnGap: 1rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only {
+        --columnGap: 1rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-4-fullhd {
+        --columnGap: 1rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-5 {
+      --columnGap: 1.25rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-mobile {
+        --columnGap: 1.25rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-5-tablet {
+        --columnGap: 1.25rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-tablet-only {
+        --columnGap: 1.25rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-touch {
+        --columnGap: 1.25rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-desktop {
+        --columnGap: 1.25rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-desktop-only {
+        --columnGap: 1.25rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-widescreen {
+        --columnGap: 1.25rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only {
+        --columnGap: 1.25rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-5-fullhd {
+        --columnGap: 1.25rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-6 {
+      --columnGap: 1.5rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-mobile {
+        --columnGap: 1.5rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-6-tablet {
+        --columnGap: 1.5rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-tablet-only {
+        --columnGap: 1.5rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-touch {
+        --columnGap: 1.5rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-desktop {
+        --columnGap: 1.5rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-desktop-only {
+        --columnGap: 1.5rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-widescreen {
+        --columnGap: 1.5rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only {
+        --columnGap: 1.5rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-6-fullhd {
+        --columnGap: 1.5rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-7 {
+      --columnGap: 1.75rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-mobile {
+        --columnGap: 1.75rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-7-tablet {
+        --columnGap: 1.75rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-tablet-only {
+        --columnGap: 1.75rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-touch {
+        --columnGap: 1.75rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-desktop {
+        --columnGap: 1.75rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-desktop-only {
+        --columnGap: 1.75rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-widescreen {
+        --columnGap: 1.75rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only {
+        --columnGap: 1.75rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-7-fullhd {
+        --columnGap: 1.75rem; } }
+    html.theme--documenter-dark .columns.is-variable.is-8 {
+      --columnGap: 2rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-mobile {
+        --columnGap: 2rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .columns.is-variable.is-8-tablet {
+        --columnGap: 2rem; } }
+    @media screen and (min-width: 769px) and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-tablet-only {
+        --columnGap: 2rem; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-touch {
+        --columnGap: 2rem; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-desktop {
+        --columnGap: 2rem; } }
+    @media screen and (min-width: 1056px) and (max-width: 1215px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-desktop-only {
+        --columnGap: 2rem; } }
+    @media screen and (min-width: 1216px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-widescreen {
+        --columnGap: 2rem; } }
+    @media screen and (min-width: 1216px) and (max-width: 1407px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only {
+        --columnGap: 2rem; } }
+    @media screen and (min-width: 1408px) {
+      html.theme--documenter-dark .columns.is-variable.is-8-fullhd {
+        --columnGap: 2rem; } }
+  html.theme--documenter-dark .tile {
+    align-items: stretch;
+    display: block;
+    flex-basis: 0;
+    flex-grow: 1;
+    flex-shrink: 1;
+    min-height: min-content; }
+    html.theme--documenter-dark .tile.is-ancestor {
+      margin-left: -0.75rem;
+      margin-right: -0.75rem;
+      margin-top: -0.75rem; }
+      html.theme--documenter-dark .tile.is-ancestor:last-child {
+        margin-bottom: -0.75rem; }
+      html.theme--documenter-dark .tile.is-ancestor:not(:last-child) {
+        margin-bottom: 0.75rem; }
+    html.theme--documenter-dark .tile.is-child {
+      margin: 0 !important; }
+    html.theme--documenter-dark .tile.is-parent {
+      padding: 0.75rem; }
+    html.theme--documenter-dark .tile.is-vertical {
+      flex-direction: column; }
+      html.theme--documenter-dark .tile.is-vertical > .tile.is-child:not(:last-child) {
+        margin-bottom: 1.5rem !important; }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .tile:not(.is-child) {
+        display: flex; }
+      html.theme--documenter-dark .tile.is-1 {
+        flex: none;
+        width: 8.3333333333%; }
+      html.theme--documenter-dark .tile.is-2 {
+        flex: none;
+        width: 16.6666666667%; }
+      html.theme--documenter-dark .tile.is-3 {
+        flex: none;
+        width: 25%; }
+      html.theme--documenter-dark .tile.is-4 {
+        flex: none;
+        width: 33.3333333333%; }
+      html.theme--documenter-dark .tile.is-5 {
+        flex: none;
+        width: 41.6666666667%; }
+      html.theme--documenter-dark .tile.is-6 {
+        flex: none;
+        width: 50%; }
+      html.theme--documenter-dark .tile.is-7 {
+        flex: none;
+        width: 58.3333333333%; }
+      html.theme--documenter-dark .tile.is-8 {
+        flex: none;
+        width: 66.6666666667%; }
+      html.theme--documenter-dark .tile.is-9 {
+        flex: none;
+        width: 75%; }
+      html.theme--documenter-dark .tile.is-10 {
+        flex: none;
+        width: 83.3333333333%; }
+      html.theme--documenter-dark .tile.is-11 {
+        flex: none;
+        width: 91.6666666667%; }
+      html.theme--documenter-dark .tile.is-12 {
+        flex: none;
+        width: 100%; } }
+  html.theme--documenter-dark .hero {
+    align-items: stretch;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between; }
+    html.theme--documenter-dark .hero .navbar {
+      background: none; }
+    html.theme--documenter-dark .hero .tabs ul {
+      border-bottom: none; }
+    html.theme--documenter-dark .hero.is-white {
+      background-color: white;
+      color: #0a0a0a; }
+      html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-white strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-white .title {
+        color: #0a0a0a; }
+      html.theme--documenter-dark .hero.is-white .subtitle {
+        color: rgba(10, 10, 10, 0.9); }
+        html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-white .subtitle strong {
+          color: #0a0a0a; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-white .navbar-menu {
+          background-color: white; } }
+      html.theme--documenter-dark .hero.is-white .navbar-item,
+      html.theme--documenter-dark .hero.is-white .navbar-link {
+        color: rgba(10, 10, 10, 0.7); }
+      html.theme--documenter-dark .hero.is-white a.navbar-item:hover, html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-white .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-white .navbar-link.is-active {
+        background-color: #f2f2f2;
+        color: #0a0a0a; }
+      html.theme--documenter-dark .hero.is-white .tabs a {
+        color: #0a0a0a;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-white .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-white .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-white .tabs.is-boxed a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a {
+        color: #0a0a0a; }
+        html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover {
+        background-color: #0a0a0a;
+        border-color: #0a0a0a;
+        color: white; }
+      html.theme--documenter-dark .hero.is-white.is-bold {
+        background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
+    html.theme--documenter-dark .hero.is-black {
+      background-color: #0a0a0a;
+      color: white; }
+      html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-black strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-black .title {
+        color: white; }
+      html.theme--documenter-dark .hero.is-black .subtitle {
+        color: rgba(255, 255, 255, 0.9); }
+        html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-black .subtitle strong {
+          color: white; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-black .navbar-menu {
+          background-color: #0a0a0a; } }
+      html.theme--documenter-dark .hero.is-black .navbar-item,
+      html.theme--documenter-dark .hero.is-black .navbar-link {
+        color: rgba(255, 255, 255, 0.7); }
+      html.theme--documenter-dark .hero.is-black a.navbar-item:hover, html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-black .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-black .navbar-link.is-active {
+        background-color: black;
+        color: white; }
+      html.theme--documenter-dark .hero.is-black .tabs a {
+        color: white;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-black .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-black .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-black .tabs.is-boxed a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a {
+        color: white; }
+        html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover {
+        background-color: white;
+        border-color: white;
+        color: #0a0a0a; }
+      html.theme--documenter-dark .hero.is-black.is-bold {
+        background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
+    html.theme--documenter-dark .hero.is-light {
+      background-color: #ecf0f1;
+      color: #282f2f; }
+      html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-light strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-light .title {
+        color: #282f2f; }
+      html.theme--documenter-dark .hero.is-light .subtitle {
+        color: rgba(40, 47, 47, 0.9); }
+        html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-light .subtitle strong {
+          color: #282f2f; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-light .navbar-menu {
+          background-color: #ecf0f1; } }
+      html.theme--documenter-dark .hero.is-light .navbar-item,
+      html.theme--documenter-dark .hero.is-light .navbar-link {
+        color: rgba(40, 47, 47, 0.7); }
+      html.theme--documenter-dark .hero.is-light a.navbar-item:hover, html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-light .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-light .navbar-link.is-active {
+        background-color: #dde4e6;
+        color: #282f2f; }
+      html.theme--documenter-dark .hero.is-light .tabs a {
+        color: #282f2f;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-light .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-light .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-light .tabs.is-boxed a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a {
+        color: #282f2f; }
+        html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover {
+        background-color: #282f2f;
+        border-color: #282f2f;
+        color: #ecf0f1; }
+      html.theme--documenter-dark .hero.is-light.is-bold {
+        background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); } }
+    html.theme--documenter-dark .hero.is-dark, html.theme--documenter-dark .content kbd.hero {
+      background-color: #282f2f;
+      color: #ecf0f1; }
+      html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-dark strong,
+      html.theme--documenter-dark .content kbd.hero strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-dark .title, html.theme--documenter-dark .content kbd.hero .title {
+        color: #ecf0f1; }
+      html.theme--documenter-dark .hero.is-dark .subtitle, html.theme--documenter-dark .content kbd.hero .subtitle {
+        color: rgba(236, 240, 241, 0.9); }
+        html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button), html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-dark .subtitle strong,
+        html.theme--documenter-dark .content kbd.hero .subtitle strong {
+          color: #ecf0f1; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-dark .navbar-menu, html.theme--documenter-dark .content kbd.hero .navbar-menu {
+          background-color: #282f2f; } }
+      html.theme--documenter-dark .hero.is-dark .navbar-item, html.theme--documenter-dark .content kbd.hero .navbar-item,
+      html.theme--documenter-dark .hero.is-dark .navbar-link,
+      html.theme--documenter-dark .content kbd.hero .navbar-link {
+        color: rgba(236, 240, 241, 0.7); }
+      html.theme--documenter-dark .hero.is-dark a.navbar-item:hover, html.theme--documenter-dark .content kbd.hero a.navbar-item:hover, html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active, html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-dark .navbar-link:hover,
+      html.theme--documenter-dark .content kbd.hero .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,
+      html.theme--documenter-dark .content kbd.hero .navbar-link.is-active {
+        background-color: #1d2122;
+        color: #ecf0f1; }
+      html.theme--documenter-dark .hero.is-dark .tabs a, html.theme--documenter-dark .content kbd.hero .tabs a {
+        color: #ecf0f1;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-dark .tabs a:hover, html.theme--documenter-dark .content kbd.hero .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-dark .tabs li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a {
+        color: #ecf0f1; }
+        html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover {
+        background-color: #ecf0f1;
+        border-color: #ecf0f1;
+        color: #282f2f; }
+      html.theme--documenter-dark .hero.is-dark.is-bold, html.theme--documenter-dark .content kbd.hero.is-bold {
+        background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu, html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); } }
+    html.theme--documenter-dark .hero.is-primary, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink {
+      background-color: #375a7f;
+      color: #fff; }
+      html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-primary strong,
+      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-primary .title, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .title {
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-primary .subtitle, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle {
+        color: rgba(255, 255, 255, 0.9); }
+        html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-primary .subtitle strong,
+        html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle strong {
+          color: #fff; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-primary .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-menu {
+          background-color: #375a7f; } }
+      html.theme--documenter-dark .hero.is-primary .navbar-item, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-item,
+      html.theme--documenter-dark .hero.is-primary .navbar-link,
+      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link {
+        color: rgba(255, 255, 255, 0.7); }
+      html.theme--documenter-dark .hero.is-primary a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-primary .navbar-link:hover,
+      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,
+      html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
+        background-color: #2f4d6d;
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-primary .tabs a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a {
+        color: #fff;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-primary .tabs a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-primary .tabs li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
+        color: #fff; }
+        html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover {
+        background-color: #fff;
+        border-color: #fff;
+        color: #375a7f; }
+      html.theme--documenter-dark .hero.is-primary.is-bold, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink {
+        background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
+            background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); } }
+    html.theme--documenter-dark .hero.is-link {
+      background-color: #1abc9c;
+      color: #fff; }
+      html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-link strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-link .title {
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-link .subtitle {
+        color: rgba(255, 255, 255, 0.9); }
+        html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-link .subtitle strong {
+          color: #fff; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-link .navbar-menu {
+          background-color: #1abc9c; } }
+      html.theme--documenter-dark .hero.is-link .navbar-item,
+      html.theme--documenter-dark .hero.is-link .navbar-link {
+        color: rgba(255, 255, 255, 0.7); }
+      html.theme--documenter-dark .hero.is-link a.navbar-item:hover, html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-link .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-link .navbar-link.is-active {
+        background-color: #17a689;
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-link .tabs a {
+        color: #fff;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-link .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-link .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-link .tabs.is-boxed a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a {
+        color: #fff; }
+        html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover {
+        background-color: #fff;
+        border-color: #fff;
+        color: #1abc9c; }
+      html.theme--documenter-dark .hero.is-link.is-bold {
+        background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); } }
+    html.theme--documenter-dark .hero.is-info {
+      background-color: #024c7d;
+      color: #fff; }
+      html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-info strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-info .title {
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-info .subtitle {
+        color: rgba(255, 255, 255, 0.9); }
+        html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-info .subtitle strong {
+          color: #fff; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-info .navbar-menu {
+          background-color: #024c7d; } }
+      html.theme--documenter-dark .hero.is-info .navbar-item,
+      html.theme--documenter-dark .hero.is-info .navbar-link {
+        color: rgba(255, 255, 255, 0.7); }
+      html.theme--documenter-dark .hero.is-info a.navbar-item:hover, html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-info .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-info .navbar-link.is-active {
+        background-color: #023d64;
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-info .tabs a {
+        color: #fff;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-info .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-info .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-info .tabs.is-boxed a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a {
+        color: #fff; }
+        html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover {
+        background-color: #fff;
+        border-color: #fff;
+        color: #024c7d; }
+      html.theme--documenter-dark .hero.is-info.is-bold {
+        background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); } }
+    html.theme--documenter-dark .hero.is-success {
+      background-color: #008438;
+      color: #fff; }
+      html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-success strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-success .title {
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-success .subtitle {
+        color: rgba(255, 255, 255, 0.9); }
+        html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-success .subtitle strong {
+          color: #fff; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-success .navbar-menu {
+          background-color: #008438; } }
+      html.theme--documenter-dark .hero.is-success .navbar-item,
+      html.theme--documenter-dark .hero.is-success .navbar-link {
+        color: rgba(255, 255, 255, 0.7); }
+      html.theme--documenter-dark .hero.is-success a.navbar-item:hover, html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-success .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-success .navbar-link.is-active {
+        background-color: #006b2d;
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-success .tabs a {
+        color: #fff;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-success .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-success .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-success .tabs.is-boxed a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a {
+        color: #fff; }
+        html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover {
+        background-color: #fff;
+        border-color: #fff;
+        color: #008438; }
+      html.theme--documenter-dark .hero.is-success.is-bold {
+        background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); } }
+    html.theme--documenter-dark .hero.is-warning {
+      background-color: #ad8100;
+      color: #fff; }
+      html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-warning strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-warning .title {
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-warning .subtitle {
+        color: rgba(255, 255, 255, 0.9); }
+        html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-warning .subtitle strong {
+          color: #fff; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-warning .navbar-menu {
+          background-color: #ad8100; } }
+      html.theme--documenter-dark .hero.is-warning .navbar-item,
+      html.theme--documenter-dark .hero.is-warning .navbar-link {
+        color: rgba(255, 255, 255, 0.7); }
+      html.theme--documenter-dark .hero.is-warning a.navbar-item:hover, html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-warning .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-warning .navbar-link.is-active {
+        background-color: #946e00;
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-warning .tabs a {
+        color: #fff;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-warning .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-warning .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a {
+        color: #fff; }
+        html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover {
+        background-color: #fff;
+        border-color: #fff;
+        color: #ad8100; }
+      html.theme--documenter-dark .hero.is-warning.is-bold {
+        background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); } }
+    html.theme--documenter-dark .hero.is-danger {
+      background-color: #9e1b0d;
+      color: #fff; }
+      html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+      html.theme--documenter-dark .hero.is-danger strong {
+        color: inherit; }
+      html.theme--documenter-dark .hero.is-danger .title {
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-danger .subtitle {
+        color: rgba(255, 255, 255, 0.9); }
+        html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),
+        html.theme--documenter-dark .hero.is-danger .subtitle strong {
+          color: #fff; }
+      @media screen and (max-width: 1055px) {
+        html.theme--documenter-dark .hero.is-danger .navbar-menu {
+          background-color: #9e1b0d; } }
+      html.theme--documenter-dark .hero.is-danger .navbar-item,
+      html.theme--documenter-dark .hero.is-danger .navbar-link {
+        color: rgba(255, 255, 255, 0.7); }
+      html.theme--documenter-dark .hero.is-danger a.navbar-item:hover, html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,
+      html.theme--documenter-dark .hero.is-danger .navbar-link:hover,
+      html.theme--documenter-dark .hero.is-danger .navbar-link.is-active {
+        background-color: #86170b;
+        color: #fff; }
+      html.theme--documenter-dark .hero.is-danger .tabs a {
+        color: #fff;
+        opacity: 0.9; }
+        html.theme--documenter-dark .hero.is-danger .tabs a:hover {
+          opacity: 1; }
+      html.theme--documenter-dark .hero.is-danger .tabs li.is-active a {
+        opacity: 1; }
+      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a {
+        color: #fff; }
+        html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover {
+          background-color: rgba(10, 10, 10, 0.1); }
+      html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover {
+        background-color: #fff;
+        border-color: #fff;
+        color: #9e1b0d; }
+      html.theme--documenter-dark .hero.is-danger.is-bold {
+        background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); }
+        @media screen and (max-width: 768px) {
+          html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu {
+            background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); } }
+    html.theme--documenter-dark .hero.is-small .hero-body, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
+      padding-bottom: 1.5rem;
+      padding-top: 1.5rem; }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .hero.is-medium .hero-body {
+        padding-bottom: 9rem;
+        padding-top: 9rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .hero.is-large .hero-body {
+        padding-bottom: 18rem;
+        padding-top: 18rem; } }
+    html.theme--documenter-dark .hero.is-halfheight .hero-body, html.theme--documenter-dark .hero.is-fullheight .hero-body, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body {
+      align-items: center;
+      display: flex; }
+      html.theme--documenter-dark .hero.is-halfheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body > .container {
+        flex-grow: 1;
+        flex-shrink: 1; }
+    html.theme--documenter-dark .hero.is-halfheight {
+      min-height: 50vh; }
+    html.theme--documenter-dark .hero.is-fullheight {
+      min-height: 100vh; }
+  html.theme--documenter-dark .hero-video {
+    overflow: hidden; }
+    html.theme--documenter-dark .hero-video video {
+      left: 50%;
+      min-height: 100%;
+      min-width: 100%;
+      position: absolute;
+      top: 50%;
+      transform: translate3d(-50%, -50%, 0); }
+    html.theme--documenter-dark .hero-video.is-transparent {
+      opacity: 0.3; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .hero-video {
+        display: none; } }
+  html.theme--documenter-dark .hero-buttons {
+    margin-top: 1.5rem; }
+    @media screen and (max-width: 768px) {
+      html.theme--documenter-dark .hero-buttons .button {
+        display: flex; }
+        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
+          margin-bottom: 0.75rem; } }
+    @media screen and (min-width: 769px), print {
+      html.theme--documenter-dark .hero-buttons {
+        display: flex;
+        justify-content: center; }
+        html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
+          margin-right: 1.5rem; } }
+  html.theme--documenter-dark .hero-head,
+  html.theme--documenter-dark .hero-foot {
+    flex-grow: 0;
+    flex-shrink: 0; }
+  html.theme--documenter-dark .hero-body {
+    flex-grow: 1;
+    flex-shrink: 0;
+    padding: 3rem 1.5rem; }
+  html.theme--documenter-dark .section {
+    padding: 3rem 1.5rem; }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark .section.is-medium {
+        padding: 9rem 1.5rem; }
+      html.theme--documenter-dark .section.is-large {
+        padding: 18rem 1.5rem; } }
+  html.theme--documenter-dark .footer {
+    background-color: #282f2f;
+    padding: 3rem 1.5rem 6rem; }
+  html.theme--documenter-dark hr {
+    height: 1px; }
+  html.theme--documenter-dark h6 {
+    text-transform: uppercase;
+    letter-spacing: 0.5px; }
+  html.theme--documenter-dark .hero {
+    background-color: #343c3d; }
+  html.theme--documenter-dark a {
+    transition: all 200ms ease; }
+  html.theme--documenter-dark .button {
+    transition: all 200ms ease;
+    border-width: 1px;
+    color: white; }
+    html.theme--documenter-dark .button.is-active, html.theme--documenter-dark .button.is-focused, html.theme--documenter-dark .button:active, html.theme--documenter-dark .button:focus {
+      box-shadow: 0 0 0 2px rgba(140, 155, 157, 0.5); }
+    html.theme--documenter-dark .button.is-white.is-hovered, html.theme--documenter-dark .button.is-white:hover {
+      background-color: white; }
+    html.theme--documenter-dark .button.is-white.is-active, html.theme--documenter-dark .button.is-white.is-focused, html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white:focus {
+      border-color: white;
+      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); }
+    html.theme--documenter-dark .button.is-black.is-hovered, html.theme--documenter-dark .button.is-black:hover {
+      background-color: #1d1d1d; }
+    html.theme--documenter-dark .button.is-black.is-active, html.theme--documenter-dark .button.is-black.is-focused, html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black:focus {
+      border-color: #0a0a0a;
+      box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.5); }
+    html.theme--documenter-dark .button.is-light.is-hovered, html.theme--documenter-dark .button.is-light:hover {
+      background-color: white; }
+    html.theme--documenter-dark .button.is-light.is-active, html.theme--documenter-dark .button.is-light.is-focused, html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light:focus {
+      border-color: #ecf0f1;
+      box-shadow: 0 0 0 2px rgba(236, 240, 241, 0.5); }
+    html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered, html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover {
+      background-color: #3a4344; }
+    html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused, html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus {
+      border-color: #282f2f;
+      box-shadow: 0 0 0 2px rgba(40, 47, 47, 0.5); }
+    html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover {
+      background-color: #436d9a; }
+    html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink, html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus {
+      border-color: #375a7f;
+      box-shadow: 0 0 0 2px rgba(55, 90, 127, 0.5); }
+    html.theme--documenter-dark .button.is-link.is-hovered, html.theme--documenter-dark .button.is-link:hover {
+      background-color: #1fdeb8; }
+    html.theme--documenter-dark .button.is-link.is-active, html.theme--documenter-dark .button.is-link.is-focused, html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link:focus {
+      border-color: #1abc9c;
+      box-shadow: 0 0 0 2px rgba(26, 188, 156, 0.5); }
+    html.theme--documenter-dark .button.is-info.is-hovered, html.theme--documenter-dark .button.is-info:hover {
+      background-color: #0363a3; }
+    html.theme--documenter-dark .button.is-info.is-active, html.theme--documenter-dark .button.is-info.is-focused, html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info:focus {
+      border-color: #024c7d;
+      box-shadow: 0 0 0 2px rgba(2, 76, 125, 0.5); }
+    html.theme--documenter-dark .button.is-success.is-hovered, html.theme--documenter-dark .button.is-success:hover {
+      background-color: #00aa48; }
+    html.theme--documenter-dark .button.is-success.is-active, html.theme--documenter-dark .button.is-success.is-focused, html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success:focus {
+      border-color: #008438;
+      box-shadow: 0 0 0 2px rgba(0, 132, 56, 0.5); }
+    html.theme--documenter-dark .button.is-warning.is-hovered, html.theme--documenter-dark .button.is-warning:hover {
+      background-color: #d39e00; }
+    html.theme--documenter-dark .button.is-warning.is-active, html.theme--documenter-dark .button.is-warning.is-focused, html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning:focus {
+      border-color: #ad8100;
+      box-shadow: 0 0 0 2px rgba(173, 129, 0, 0.5); }
+    html.theme--documenter-dark .button.is-danger.is-hovered, html.theme--documenter-dark .button.is-danger:hover {
+      background-color: #c12110; }
+    html.theme--documenter-dark .button.is-danger.is-active, html.theme--documenter-dark .button.is-danger.is-focused, html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger:focus {
+      border-color: #9e1b0d;
+      box-shadow: 0 0 0 2px rgba(158, 27, 13, 0.5); }
+  html.theme--documenter-dark .label {
+    color: #dbdee0; }
+  html.theme--documenter-dark .button,
+  html.theme--documenter-dark .control.has-icons-left .icon,
+  html.theme--documenter-dark .control.has-icons-right .icon,
+  html.theme--documenter-dark .input,
+  html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
+  html.theme--documenter-dark .pagination-ellipsis,
+  html.theme--documenter-dark .pagination-link,
+  html.theme--documenter-dark .pagination-next,
+  html.theme--documenter-dark .pagination-previous,
+  html.theme--documenter-dark .select,
+  html.theme--documenter-dark .select select,
+  html.theme--documenter-dark .textarea {
+    height: 2.5em; }
+  html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
+  html.theme--documenter-dark .textarea {
+    transition: all 200ms ease;
+    box-shadow: none;
+    border-width: 1px;
+    padding-left: 1em;
+    padding-right: 1em; }
+  html.theme--documenter-dark .select:after,
+  html.theme--documenter-dark .select select {
+    border-width: 1px; }
+  html.theme--documenter-dark .control.has-addons .button,
+  html.theme--documenter-dark .control.has-addons .input,
+  html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search > input,
+  html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search > input,
+  html.theme--documenter-dark .control.has-addons .select {
+    margin-right: -1px; }
+  html.theme--documenter-dark .notification {
+    background-color: #343c3d; }
+  html.theme--documenter-dark .card {
+    box-shadow: none;
+    border: 1px solid #343c3d;
+    background-color: #282f2f;
+    border-radius: 0.4em; }
+    html.theme--documenter-dark .card .card-image img {
+      border-radius: 0.4em 0.4em 0 0; }
+    html.theme--documenter-dark .card .card-header {
+      box-shadow: none;
+      background-color: rgba(18, 18, 18, 0.2);
+      border-radius: 0.4em 0.4em 0 0; }
+    html.theme--documenter-dark .card .card-footer {
+      background-color: rgba(18, 18, 18, 0.2); }
+    html.theme--documenter-dark .card .card-footer,
+    html.theme--documenter-dark .card .card-footer-item {
+      border-width: 1px;
+      border-color: #343c3d; }
+  html.theme--documenter-dark .notification.is-white a:not(.button) {
+    color: #0a0a0a;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-black a:not(.button) {
+    color: white;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-light a:not(.button) {
+    color: #282f2f;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-dark a:not(.button), html.theme--documenter-dark .content kbd.notification a:not(.button) {
+    color: #ecf0f1;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-primary a:not(.button), html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink a:not(.button) {
+    color: #fff;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-link a:not(.button) {
+    color: #fff;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-info a:not(.button) {
+    color: #fff;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-success a:not(.button) {
+    color: #fff;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-warning a:not(.button) {
+    color: #fff;
+    text-decoration: underline; }
+  html.theme--documenter-dark .notification.is-danger a:not(.button) {
+    color: #fff;
+    text-decoration: underline; }
+  html.theme--documenter-dark .tag, html.theme--documenter-dark .content kbd, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
+    border-radius: 0.4em; }
+  html.theme--documenter-dark .menu-list a {
+    transition: all 300ms ease; }
+  html.theme--documenter-dark .modal-card-body {
+    background-color: #282f2f; }
+  html.theme--documenter-dark .modal-card-foot,
+  html.theme--documenter-dark .modal-card-head {
+    border-color: #343c3d; }
+  html.theme--documenter-dark .message-header {
+    font-weight: 700;
+    background-color: #343c3d;
+    color: white; }
+  html.theme--documenter-dark .message-body {
+    border-width: 1px;
+    border-color: #343c3d; }
+  html.theme--documenter-dark .navbar {
+    border-radius: 0.4em; }
+    html.theme--documenter-dark .navbar.is-transparent {
+      background: none; }
+    html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
+      background-color: #1abc9c; }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark .navbar .navbar-menu {
+        background-color: #375a7f;
+        border-radius: 0 0 0.4em 0.4em; } }
+  html.theme--documenter-dark .hero .navbar,
+  html.theme--documenter-dark body > .navbar {
+    border-radius: 0; }
+  html.theme--documenter-dark .pagination-link,
+  html.theme--documenter-dark .pagination-next,
+  html.theme--documenter-dark .pagination-previous {
+    border-width: 1px; }
+  html.theme--documenter-dark .panel-block,
+  html.theme--documenter-dark .panel-heading,
+  html.theme--documenter-dark .panel-tabs {
+    border-width: 1px; }
+    html.theme--documenter-dark .panel-block:first-child,
+    html.theme--documenter-dark .panel-heading:first-child,
+    html.theme--documenter-dark .panel-tabs:first-child {
+      border-top-width: 1px; }
+  html.theme--documenter-dark .panel-heading {
+    font-weight: 700; }
+  html.theme--documenter-dark .panel-tabs a {
+    border-width: 1px;
+    margin-bottom: -1px; }
+    html.theme--documenter-dark .panel-tabs a.is-active {
+      border-bottom-color: #17a689; }
+  html.theme--documenter-dark .panel-block:hover {
+    color: #1dd2af; }
+    html.theme--documenter-dark .panel-block:hover .panel-icon {
+      color: #1dd2af; }
+  html.theme--documenter-dark .panel-block.is-active .panel-icon {
+    color: #17a689; }
+  html.theme--documenter-dark .tabs a {
+    border-bottom-width: 1px;
+    margin-bottom: -1px; }
+  html.theme--documenter-dark .tabs ul {
+    border-bottom-width: 1px; }
+  html.theme--documenter-dark .tabs.is-boxed a {
+    border-width: 1px; }
+  html.theme--documenter-dark .tabs.is-boxed li.is-active a {
+    background-color: #1f2424; }
+  html.theme--documenter-dark .tabs.is-toggle li a {
+    border-width: 1px;
+    margin-bottom: 0; }
+  html.theme--documenter-dark .tabs.is-toggle li + li {
+    margin-left: -1px; }
+  html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover {
+    background-color: transparent; }
+  html.theme--documenter-dark h1 .docs-heading-anchor, html.theme--documenter-dark h1 .docs-heading-anchor:hover, html.theme--documenter-dark h1 .docs-heading-anchor:visited, html.theme--documenter-dark h2 .docs-heading-anchor, html.theme--documenter-dark h2 .docs-heading-anchor:hover, html.theme--documenter-dark h2 .docs-heading-anchor:visited, html.theme--documenter-dark h3 .docs-heading-anchor, html.theme--documenter-dark h3 .docs-heading-anchor:hover, html.theme--documenter-dark h3 .docs-heading-anchor:visited, html.theme--documenter-dark h4 .docs-heading-anchor, html.theme--documenter-dark h4 .docs-heading-anchor:hover, html.theme--documenter-dark h4 .docs-heading-anchor:visited, html.theme--documenter-dark h5 .docs-heading-anchor, html.theme--documenter-dark h5 .docs-heading-anchor:hover, html.theme--documenter-dark h5 .docs-heading-anchor:visited, html.theme--documenter-dark h6 .docs-heading-anchor, html.theme--documenter-dark h6 .docs-heading-anchor:hover, html.theme--documenter-dark h6 .docs-heading-anchor:visited {
+    color: #f2f2f2; }
+  html.theme--documenter-dark h1 .docs-heading-anchor-permalink, html.theme--documenter-dark h2 .docs-heading-anchor-permalink, html.theme--documenter-dark h3 .docs-heading-anchor-permalink, html.theme--documenter-dark h4 .docs-heading-anchor-permalink, html.theme--documenter-dark h5 .docs-heading-anchor-permalink, html.theme--documenter-dark h6 .docs-heading-anchor-permalink {
+    visibility: hidden;
+    vertical-align: middle;
+    margin-left: 0.5em;
+    font-size: 0.7rem; }
+    html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before {
+      font-family: "Font Awesome 5 Free";
+      font-weight: 900;
+      content: "\f0c1"; }
+  html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink {
+    visibility: visible; }
+  html.theme--documenter-dark .docs-light-only {
+    display: none !important; }
+  html.theme--documenter-dark pre {
+    position: relative;
+    overflow: hidden; }
+    html.theme--documenter-dark pre code, html.theme--documenter-dark pre code.hljs {
+      padding: 0 0.75rem !important;
+      overflow: auto;
+      display: block; }
+    html.theme--documenter-dark pre code:first-of-type, html.theme--documenter-dark pre code.hljs:first-of-type {
+      padding-top: 0.5rem !important; }
+    html.theme--documenter-dark pre code:last-of-type, html.theme--documenter-dark pre code.hljs:last-of-type {
+      padding-bottom: 0.5rem !important; }
+    html.theme--documenter-dark pre .copy-button {
+      opacity: 0.2;
+      transition: opacity 0.2s;
+      position: absolute;
+      right: 0em;
+      top: 0em;
+      padding: 0.5em;
+      width: 2.5em;
+      height: 2.5em;
+      background: transparent;
+      border: none;
+      font-family: "Font Awesome 5 Free";
+      color: #fff;
+      cursor: pointer;
+      text-align: center; }
+      html.theme--documenter-dark pre .copy-button:focus, html.theme--documenter-dark pre .copy-button:hover {
+        opacity: 1;
+        background: rgba(255, 255, 255, 0.1);
+        color: #1abc9c; }
+      html.theme--documenter-dark pre .copy-button.success {
+        color: #259a12;
+        opacity: 1; }
+      html.theme--documenter-dark pre .copy-button.error {
+        color: #cb3c33;
+        opacity: 1; }
+    html.theme--documenter-dark pre:hover .copy-button {
+      opacity: 1; }
+  html.theme--documenter-dark .admonition {
+    background-color: #282f2f;
+    border-style: solid;
+    border-width: 1px;
+    border-color: #5e6d6f;
+    border-radius: 0.4em;
+    font-size: 15px; }
+    html.theme--documenter-dark .admonition strong {
+      color: currentColor; }
+    html.theme--documenter-dark .admonition.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.admonition {
+      font-size: 0.85em; }
+    html.theme--documenter-dark .admonition.is-medium {
+      font-size: 1.25rem; }
+    html.theme--documenter-dark .admonition.is-large {
+      font-size: 1.5rem; }
+    html.theme--documenter-dark .admonition.is-default {
+      background-color: #282f2f;
+      border-color: #5e6d6f; }
+      html.theme--documenter-dark .admonition.is-default > .admonition-header {
+        background-color: #5e6d6f; }
+    html.theme--documenter-dark .admonition.is-info {
+      background-color: #282f2f;
+      border-color: #024c7d; }
+      html.theme--documenter-dark .admonition.is-info > .admonition-header {
+        background-color: #024c7d; }
+    html.theme--documenter-dark .admonition.is-success {
+      background-color: #282f2f;
+      border-color: #008438; }
+      html.theme--documenter-dark .admonition.is-success > .admonition-header {
+        background-color: #008438; }
+    html.theme--documenter-dark .admonition.is-warning {
+      background-color: #282f2f;
+      border-color: #ad8100; }
+      html.theme--documenter-dark .admonition.is-warning > .admonition-header {
+        background-color: #ad8100; }
+    html.theme--documenter-dark .admonition.is-danger {
+      background-color: #282f2f;
+      border-color: #9e1b0d; }
+      html.theme--documenter-dark .admonition.is-danger > .admonition-header {
+        background-color: #9e1b0d; }
+    html.theme--documenter-dark .admonition.is-compat {
+      background-color: #282f2f;
+      border-color: #137886; }
+      html.theme--documenter-dark .admonition.is-compat > .admonition-header {
+        background-color: #137886; }
+  html.theme--documenter-dark .admonition-header {
+    background-color: #5e6d6f;
+    align-items: center;
+    font-weight: 700;
+    justify-content: space-between;
+    line-height: 1.25;
+    padding: 0.5rem 0.75rem;
+    position: relative; }
+    html.theme--documenter-dark .admonition-header:before {
+      font-family: "Font Awesome 5 Free";
+      font-weight: 900;
+      margin-right: 0.75rem;
+      content: "\f06a"; }
+  html.theme--documenter-dark .admonition-body {
+    color: #fff;
+    padding: 0.5rem 0.75rem; }
+    html.theme--documenter-dark .admonition-body pre {
+      background-color: #282f2f; }
+    html.theme--documenter-dark .admonition-body code {
+      background-color: rgba(255, 255, 255, 0.05); }
+  html.theme--documenter-dark .docstring {
+    margin-bottom: 1em;
+    background-color: transparent;
+    border: 1px solid #5e6d6f;
+    box-shadow: none;
+    max-width: 100%; }
+    html.theme--documenter-dark .docstring > header {
+      display: flex;
+      flex-grow: 1;
+      align-items: stretch;
+      padding: 0.5rem 0.75rem;
+      background-color: #282f2f;
+      box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+      box-shadow: none;
+      border-bottom: 1px solid #5e6d6f; }
+      html.theme--documenter-dark .docstring > header code {
+        background-color: transparent; }
+      html.theme--documenter-dark .docstring > header .docstring-binding {
+        margin-right: 0.3em; }
+      html.theme--documenter-dark .docstring > header .docstring-category {
+        margin-left: 0.3em; }
+    html.theme--documenter-dark .docstring > section {
+      position: relative;
+      padding: 0.75rem 0.75rem;
+      border-bottom: 1px solid #5e6d6f; }
+      html.theme--documenter-dark .docstring > section:last-child {
+        border-bottom: none; }
+      html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
+        transition: opacity 0.3s;
+        opacity: 0;
+        position: absolute;
+        right: 0.375rem;
+        bottom: 0.375rem; }
+        html.theme--documenter-dark .docstring > section > a.docs-sourcelink:focus {
+          opacity: 1 !important; }
+    html.theme--documenter-dark .docstring:hover > section > a.docs-sourcelink {
+      opacity: 0.2; }
+    html.theme--documenter-dark .docstring:focus-within > section > a.docs-sourcelink {
+      opacity: 0.2; }
+    html.theme--documenter-dark .docstring > section:hover a.docs-sourcelink {
+      opacity: 1; }
+  html.theme--documenter-dark .documenter-example-output {
+    background-color: #1f2424; }
+  html.theme--documenter-dark .outdated-warning-overlay {
+    position: fixed;
+    top: 0;
+    left: 0;
+    right: 0;
+    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+    z-index: 999;
+    background-color: #282f2f;
+    border-bottom: 3px solid #9e1b0d;
+    padding: 10px 35px;
+    text-align: center;
+    font-size: 15px; }
+    html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer {
+      position: absolute;
+      top: calc(50% - 10px);
+      right: 18px;
+      cursor: pointer;
+      width: 12px; }
+    html.theme--documenter-dark .outdated-warning-overlay a {
+      color: #1abc9c; }
+      html.theme--documenter-dark .outdated-warning-overlay a:hover {
+        color: #1dd2af; }
+  html.theme--documenter-dark .content pre {
+    border: 1px solid #5e6d6f; }
+  html.theme--documenter-dark .content code {
+    font-weight: inherit; }
+  html.theme--documenter-dark .content a code {
+    color: #1abc9c; }
+  html.theme--documenter-dark .content h1 code, html.theme--documenter-dark .content h2 code, html.theme--documenter-dark .content h3 code, html.theme--documenter-dark .content h4 code, html.theme--documenter-dark .content h5 code, html.theme--documenter-dark .content h6 code {
+    color: #f2f2f2; }
+  html.theme--documenter-dark .content table {
+    display: block;
+    width: initial;
+    max-width: 100%;
+    overflow-x: auto; }
+  html.theme--documenter-dark .content blockquote > ul:first-child, html.theme--documenter-dark .content blockquote > ol:first-child, html.theme--documenter-dark .content .admonition-body > ul:first-child, html.theme--documenter-dark .content .admonition-body > ol:first-child {
+    margin-top: 0; }
+  html.theme--documenter-dark pre, html.theme--documenter-dark code {
+    font-variant-ligatures: no-contextual; }
+  html.theme--documenter-dark .breadcrumb a.is-disabled {
+    cursor: default;
+    pointer-events: none; }
+    html.theme--documenter-dark .breadcrumb a.is-disabled, html.theme--documenter-dark .breadcrumb a.is-disabled:hover {
+      color: #f2f2f2; }
+  html.theme--documenter-dark .hljs {
+    background: initial !important; }
+  html.theme--documenter-dark .katex .katex-mathml {
+    top: 0;
+    right: 0; }
+  html.theme--documenter-dark .katex-display, html.theme--documenter-dark mjx-container, html.theme--documenter-dark .MathJax_Display {
+    margin: 0.5em 0 !important; }
+  html.theme--documenter-dark html {
+    -moz-osx-font-smoothing: auto;
+    -webkit-font-smoothing: auto; }
+  html.theme--documenter-dark li.no-marker {
+    list-style: none; }
+  html.theme--documenter-dark #documenter .docs-main > article {
+    overflow-wrap: break-word; }
+    html.theme--documenter-dark #documenter .docs-main > article .math-container {
+      overflow-x: auto;
+      overflow-y: hidden; }
+  @media screen and (min-width: 1056px) {
+    html.theme--documenter-dark #documenter .docs-main {
+      max-width: 52rem;
+      margin-left: 20rem;
+      padding-right: 1rem; } }
+  @media screen and (max-width: 1055px) {
+    html.theme--documenter-dark #documenter .docs-main {
+      width: 100%; }
+      html.theme--documenter-dark #documenter .docs-main > article {
+        max-width: 52rem;
+        margin-left: auto;
+        margin-right: auto;
+        margin-bottom: 1rem;
+        padding: 0 1rem; }
+      html.theme--documenter-dark #documenter .docs-main > header, html.theme--documenter-dark #documenter .docs-main > nav {
+        max-width: 100%;
+        width: 100%;
+        margin: 0; } }
+  html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
+    background-color: #1f2424;
+    border-bottom: 1px solid #5e6d6f;
+    z-index: 2;
+    min-height: 4rem;
+    margin-bottom: 1rem;
+    display: flex; }
+    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb {
+      flex-grow: 1; }
+    html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right {
+      display: flex;
+      white-space: nowrap; }
+      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+        display: inline-block; }
+      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label {
+        padding: 0;
+        margin-left: 0.3em; }
+      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
+        margin: auto 0 auto 1rem; }
+      html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+        font-size: 1.5rem;
+        margin: auto 0 auto 1rem; }
+    html.theme--documenter-dark #documenter .docs-main header.docs-navbar > * {
+      margin: auto 0; }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
+        position: sticky;
+        top: 0;
+        padding: 0 1rem;
+        /* For Headroom.js */
+        transition-property: top, box-shadow;
+        -webkit-transition-property: top, box-shadow;
+        /* Safari */
+        transition-duration: 0.3s;
+        -webkit-transition-duration: 0.3s;
+        /* Safari */ }
+        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top {
+          box-shadow: 0.2rem 0rem 0.4rem #171717;
+          transition-duration: 0.7s;
+          -webkit-transition-duration: 0.7s;
+          /* Safari */ }
+        html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
+          top: -4.5rem;
+          transition-duration: 0.7s;
+          -webkit-transition-duration: 0.7s;
+          /* Safari */ } }
+  html.theme--documenter-dark #documenter .docs-main section.footnotes {
+    border-top: 1px solid #5e6d6f; }
+    html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child, html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child {
+      margin-right: 1em;
+      margin-bottom: 0.4em; }
+  html.theme--documenter-dark #documenter .docs-main .docs-footer {
+    display: flex;
+    flex-wrap: wrap;
+    margin-left: 0;
+    margin-right: 0;
+    border-top: 1px solid #5e6d6f;
+    padding-top: 1rem;
+    padding-bottom: 1rem; }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark #documenter .docs-main .docs-footer {
+        padding-left: 1rem;
+        padding-right: 1rem; } }
+    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage, html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage {
+      flex-grow: 1; }
+    html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage {
+      text-align: right; }
+    html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break {
+      flex-basis: 100%;
+      height: 0; }
+    html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message {
+      font-size: 0.8em;
+      margin: 0.5em auto 0 auto;
+      text-align: center; }
+  html.theme--documenter-dark #documenter .docs-sidebar {
+    display: flex;
+    flex-direction: column;
+    color: #fff;
+    background-color: #282f2f;
+    border-right: 1px solid #5e6d6f;
+    padding: 0;
+    flex: 0 0 18rem;
+    z-index: 5;
+    font-size: 15px;
+    position: fixed;
+    left: -18rem;
+    width: 18rem;
+    height: 100%;
+    transition: left 0.3s;
+    /* Setting up a nicer theme style for the scrollbar */ }
+    html.theme--documenter-dark #documenter .docs-sidebar.visible {
+      left: 0;
+      box-shadow: 0.4rem 0rem 0.8rem #171717; }
+      @media screen and (min-width: 1056px) {
+        html.theme--documenter-dark #documenter .docs-sidebar.visible {
+          box-shadow: none; } }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark #documenter .docs-sidebar {
+        left: 0;
+        top: 0; } }
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-logo {
+      margin-top: 1rem;
+      padding: 0 1rem; }
+      html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
+        max-height: 6rem;
+        margin: auto; }
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name {
+      flex-shrink: 0;
+      font-size: 1.5rem;
+      font-weight: 700;
+      text-align: center;
+      white-space: nowrap;
+      overflow: hidden;
+      padding: 0.5rem 0; }
+      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit {
+        max-width: 16.2rem; }
+      html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a, html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover {
+        color: #fff; }
+    html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector {
+      border-top: 1px solid #5e6d6f;
+      display: none;
+      padding: 0.5rem; }
+      html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible {
+        display: flex; }
+    html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
+      flex-grow: 1;
+      user-select: none;
+      border-top: 1px solid #5e6d6f;
+      padding-bottom: 1.5rem;
+      /* Managing collapsible submenus */ }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
+        font-weight: bold; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li li {
+        font-size: 14.25px;
+        margin-left: 1em;
+        border-left: 1px solid #5e6d6f; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
+        display: none; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed {
+        display: none; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
+        display: block; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem {
+        display: flex; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
+          flex-grow: 2; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
+          display: inline-block;
+          font-style: normal;
+          font-variant: normal;
+          text-rendering: auto;
+          line-height: 1;
+          font-size: 11.25px;
+          margin-left: 1rem;
+          margin-top: auto;
+          margin-bottom: auto; }
+          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
+            font-family: "Font Awesome 5 Free";
+            font-weight: 900;
+            content: "\f054"; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
+        content: "\f078"; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem {
+        display: block;
+        padding: 0.5rem 0.5rem; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
+          color: #fff;
+          background: #282f2f; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
+        color: #fff;
+        background-color: #32393a; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active {
+        border-top: 1px solid #5e6d6f;
+        border-bottom: 1px solid #5e6d6f;
+        background-color: #1f2424; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
+          background-color: #1f2424;
+          color: #fff; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
+          background-color: #32393a;
+          color: #fff; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
+        border-top: none; }
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal {
+        margin: 0 0.5rem 0.5rem;
+        border-top: 1px solid #5e6d6f; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li {
+          font-size: 12.75px;
+          border-left: none;
+          margin-left: 0;
+          margin-top: 0.5rem; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
+          width: 100%;
+          padding: 0; }
+          html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
+            content: "⚬";
+            margin-right: 0.4em; }
+    html.theme--documenter-dark #documenter .docs-sidebar form.docs-search {
+      margin: auto;
+      margin-top: 0.5rem;
+      margin-bottom: 0.5rem; }
+      html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+        width: 14.4rem; }
+    @media screen and (min-width: 1056px) {
+      html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
+        overflow-y: auto;
+        -webkit-overflow-scroll: touch; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
+          width: .3rem;
+          background: none; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
+          border-radius: 5px 0px 0px 5px;
+          background: #3b4445; }
+        html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
+          background: #4e5a5c; } }
+    @media screen and (max-width: 1055px) {
+      html.theme--documenter-dark #documenter .docs-sidebar {
+        overflow-y: auto;
+        -webkit-overflow-scroll: touch; }
+        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar {
+          width: .3rem;
+          background: none; }
+        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb {
+          border-radius: 5px 0px 0px 5px;
+          background: #3b4445; }
+        html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
+          background: #4e5a5c; } }
+  html.theme--documenter-dark #documenter .docs-main #documenter-search-info {
+    margin-bottom: 1rem; }
+  html.theme--documenter-dark #documenter .docs-main #documenter-search-results {
+    list-style-type: circle;
+    list-style-position: outside; }
+    html.theme--documenter-dark #documenter .docs-main #documenter-search-results li {
+      margin-left: 2rem; }
+    html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight {
+      background-color: yellow; }
+  html.theme--documenter-dark {
+    background-color: #1f2424;
+    font-size: 16px;
+    min-width: 300px;
+    overflow-x: auto;
+    overflow-y: scroll;
+    text-rendering: optimizeLegibility;
+    text-size-adjust: 100%; }
+  html.theme--documenter-dark .ansi span.sgr1 {
+    font-weight: bolder; }
+  html.theme--documenter-dark .ansi span.sgr2 {
+    font-weight: lighter; }
+  html.theme--documenter-dark .ansi span.sgr3 {
+    font-style: italic; }
+  html.theme--documenter-dark .ansi span.sgr4 {
+    text-decoration: underline; }
+  html.theme--documenter-dark .ansi span.sgr7 {
+    color: #1f2424;
+    background-color: #fff; }
+  html.theme--documenter-dark .ansi span.sgr8 {
+    color: transparent; }
+    html.theme--documenter-dark .ansi span.sgr8 span {
+      color: transparent; }
+  html.theme--documenter-dark .ansi span.sgr9 {
+    text-decoration: line-through; }
+  html.theme--documenter-dark .ansi span.sgr30 {
+    color: #242424; }
+  html.theme--documenter-dark .ansi span.sgr31 {
+    color: #f6705f; }
+  html.theme--documenter-dark .ansi span.sgr32 {
+    color: #4fb43a; }
+  html.theme--documenter-dark .ansi span.sgr33 {
+    color: #f4c72f; }
+  html.theme--documenter-dark .ansi span.sgr34 {
+    color: #7587f0; }
+  html.theme--documenter-dark .ansi span.sgr35 {
+    color: #bc89d3; }
+  html.theme--documenter-dark .ansi span.sgr36 {
+    color: #49b6ca; }
+  html.theme--documenter-dark .ansi span.sgr37 {
+    color: #b3bdbe; }
+  html.theme--documenter-dark .ansi span.sgr40 {
+    background-color: #242424; }
+  html.theme--documenter-dark .ansi span.sgr41 {
+    background-color: #f6705f; }
+  html.theme--documenter-dark .ansi span.sgr42 {
+    background-color: #4fb43a; }
+  html.theme--documenter-dark .ansi span.sgr43 {
+    background-color: #f4c72f; }
+  html.theme--documenter-dark .ansi span.sgr44 {
+    background-color: #7587f0; }
+  html.theme--documenter-dark .ansi span.sgr45 {
+    background-color: #bc89d3; }
+  html.theme--documenter-dark .ansi span.sgr46 {
+    background-color: #49b6ca; }
+  html.theme--documenter-dark .ansi span.sgr47 {
+    background-color: #b3bdbe; }
+  html.theme--documenter-dark .ansi span.sgr90 {
+    color: #92a0a2; }
+  html.theme--documenter-dark .ansi span.sgr91 {
+    color: #ff8674; }
+  html.theme--documenter-dark .ansi span.sgr92 {
+    color: #79d462; }
+  html.theme--documenter-dark .ansi span.sgr93 {
+    color: #ffe76b; }
+  html.theme--documenter-dark .ansi span.sgr94 {
+    color: #8a98ff; }
+  html.theme--documenter-dark .ansi span.sgr95 {
+    color: #d2a4e6; }
+  html.theme--documenter-dark .ansi span.sgr96 {
+    color: #6bc8db; }
+  html.theme--documenter-dark .ansi span.sgr97 {
+    color: #ecf0f1; }
+  html.theme--documenter-dark .ansi span.sgr100 {
+    background-color: #92a0a2; }
+  html.theme--documenter-dark .ansi span.sgr101 {
+    background-color: #ff8674; }
+  html.theme--documenter-dark .ansi span.sgr102 {
+    background-color: #79d462; }
+  html.theme--documenter-dark .ansi span.sgr103 {
+    background-color: #ffe76b; }
+  html.theme--documenter-dark .ansi span.sgr104 {
+    background-color: #8a98ff; }
+  html.theme--documenter-dark .ansi span.sgr105 {
+    background-color: #d2a4e6; }
+  html.theme--documenter-dark .ansi span.sgr106 {
+    background-color: #6bc8db; }
+  html.theme--documenter-dark .ansi span.sgr107 {
+    background-color: #ecf0f1; }
+  html.theme--documenter-dark code.language-julia-repl > span.hljs-meta {
+    color: #4fb43a;
+    font-weight: bolder; }
+  html.theme--documenter-dark .hljs {
+    background: #2b2b2b;
+    color: #f8f8f2; }
+  html.theme--documenter-dark .hljs-comment,
+  html.theme--documenter-dark .hljs-quote {
+    color: #d4d0ab; }
+  html.theme--documenter-dark .hljs-variable,
+  html.theme--documenter-dark .hljs-template-variable,
+  html.theme--documenter-dark .hljs-tag,
+  html.theme--documenter-dark .hljs-name,
+  html.theme--documenter-dark .hljs-selector-id,
+  html.theme--documenter-dark .hljs-selector-class,
+  html.theme--documenter-dark .hljs-regexp,
+  html.theme--documenter-dark .hljs-deletion {
+    color: #ffa07a; }
+  html.theme--documenter-dark .hljs-number,
+  html.theme--documenter-dark .hljs-built_in,
+  html.theme--documenter-dark .hljs-literal,
+  html.theme--documenter-dark .hljs-type,
+  html.theme--documenter-dark .hljs-params,
+  html.theme--documenter-dark .hljs-meta,
+  html.theme--documenter-dark .hljs-link {
+    color: #f5ab35; }
+  html.theme--documenter-dark .hljs-attribute {
+    color: #ffd700; }
+  html.theme--documenter-dark .hljs-string,
+  html.theme--documenter-dark .hljs-symbol,
+  html.theme--documenter-dark .hljs-bullet,
+  html.theme--documenter-dark .hljs-addition {
+    color: #abe338; }
+  html.theme--documenter-dark .hljs-title,
+  html.theme--documenter-dark .hljs-section {
+    color: #00e0e0; }
+  html.theme--documenter-dark .hljs-keyword,
+  html.theme--documenter-dark .hljs-selector-tag {
+    color: #dcc6e0; }
+  html.theme--documenter-dark .hljs-emphasis {
+    font-style: italic; }
+  html.theme--documenter-dark .hljs-strong {
+    font-weight: bold; }
+  @media screen and (-ms-high-contrast: active) {
+    html.theme--documenter-dark .hljs-addition,
+    html.theme--documenter-dark .hljs-attribute,
+    html.theme--documenter-dark .hljs-built_in,
+    html.theme--documenter-dark .hljs-bullet,
+    html.theme--documenter-dark .hljs-comment,
+    html.theme--documenter-dark .hljs-link,
+    html.theme--documenter-dark .hljs-literal,
+    html.theme--documenter-dark .hljs-meta,
+    html.theme--documenter-dark .hljs-number,
+    html.theme--documenter-dark .hljs-params,
+    html.theme--documenter-dark .hljs-string,
+    html.theme--documenter-dark .hljs-symbol,
+    html.theme--documenter-dark .hljs-type,
+    html.theme--documenter-dark .hljs-quote {
+      color: highlight; }
+    html.theme--documenter-dark .hljs-keyword,
+    html.theme--documenter-dark .hljs-selector-tag {
+      font-weight: bold; } }
+  html.theme--documenter-dark .hljs-subst {
+    color: #f8f8f2; }
diff --git a/docs/build/assets/themes/documenter-light.css b/docs/build/assets/themes/documenter-light.css
new file mode 100644
index 0000000000000000000000000000000000000000..9595d5b8eeffc35fddcb2269e1995356cb92b238
--- /dev/null
+++ b/docs/build/assets/themes/documenter-light.css
@@ -0,0 +1,7738 @@
+@charset "UTF-8";
+/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
+@keyframes spinAround {
+  from {
+    transform: rotate(0deg); }
+  to {
+    transform: rotate(359deg); } }
+
+.tabs, .pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis, .breadcrumb, .file, .button, .is-unselectable, .modal-close, .delete {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none; }
+
+.navbar-link:not(.is-arrowless)::after, .select:not(.is-multiple):not(.is-loading)::after {
+  border: 3px solid transparent;
+  border-radius: 2px;
+  border-right: 0;
+  border-top: 0;
+  content: " ";
+  display: block;
+  height: 0.625em;
+  margin-top: -0.4375em;
+  pointer-events: none;
+  position: absolute;
+  top: 50%;
+  transform: rotate(-45deg);
+  transform-origin: center;
+  width: 0.625em; }
+
+.admonition:not(:last-child), .tabs:not(:last-child), .message:not(:last-child), .list:not(:last-child), .level:not(:last-child), .breadcrumb:not(:last-child), .highlight:not(:last-child), .block:not(:last-child), .title:not(:last-child),
+.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child), .box:not(:last-child) {
+  margin-bottom: 1.5rem; }
+
+.modal-close, .delete {
+  -moz-appearance: none;
+  -webkit-appearance: none;
+  background-color: rgba(10, 10, 10, 0.2);
+  border: none;
+  border-radius: 290486px;
+  cursor: pointer;
+  pointer-events: auto;
+  display: inline-block;
+  flex-grow: 0;
+  flex-shrink: 0;
+  font-size: 0;
+  height: 20px;
+  max-height: 20px;
+  max-width: 20px;
+  min-height: 20px;
+  min-width: 20px;
+  outline: none;
+  position: relative;
+  vertical-align: top;
+  width: 20px; }
+  .modal-close::before, .delete::before, .modal-close::after, .delete::after {
+    background-color: white;
+    content: "";
+    display: block;
+    left: 50%;
+    position: absolute;
+    top: 50%;
+    transform: translateX(-50%) translateY(-50%) rotate(45deg);
+    transform-origin: center center; }
+  .modal-close::before, .delete::before {
+    height: 2px;
+    width: 50%; }
+  .modal-close::after, .delete::after {
+    height: 50%;
+    width: 2px; }
+  .modal-close:hover, .delete:hover, .modal-close:focus, .delete:focus {
+    background-color: rgba(10, 10, 10, 0.3); }
+  .modal-close:active, .delete:active {
+    background-color: rgba(10, 10, 10, 0.4); }
+  .is-small.modal-close, #documenter .docs-sidebar form.docs-search > input.modal-close, .is-small.delete, #documenter .docs-sidebar form.docs-search > input.delete {
+    height: 16px;
+    max-height: 16px;
+    max-width: 16px;
+    min-height: 16px;
+    min-width: 16px;
+    width: 16px; }
+  .is-medium.modal-close, .is-medium.delete {
+    height: 24px;
+    max-height: 24px;
+    max-width: 24px;
+    min-height: 24px;
+    min-width: 24px;
+    width: 24px; }
+  .is-large.modal-close, .is-large.delete {
+    height: 32px;
+    max-height: 32px;
+    max-width: 32px;
+    min-height: 32px;
+    min-width: 32px;
+    width: 32px; }
+
+.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after {
+  animation: spinAround 500ms infinite linear;
+  border: 2px solid #dbdbdb;
+  border-radius: 290486px;
+  border-right-color: transparent;
+  border-top-color: transparent;
+  content: "";
+  display: block;
+  height: 1em;
+  position: relative;
+  width: 1em; }
+
+.hero-video, .modal-background, .modal, .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
+.image.is-square .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
+.image.is-1by1 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
+.image.is-5by4 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
+.image.is-4by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
+.image.is-3by2 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
+.image.is-5by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
+.image.is-16by9 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
+.image.is-2by1 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
+.image.is-3by1 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
+.image.is-4by5 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
+.image.is-3by4 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
+.image.is-2by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
+.image.is-3by5 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
+.image.is-9by16 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
+.image.is-1by2 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
+.image.is-1by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
+  bottom: 0;
+  left: 0;
+  position: absolute;
+  right: 0;
+  top: 0; }
+
+.pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis, .file-cta,
+.file-name, .select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input, .button {
+  -moz-appearance: none;
+  -webkit-appearance: none;
+  align-items: center;
+  border: 1px solid transparent;
+  border-radius: 4px;
+  box-shadow: none;
+  display: inline-flex;
+  font-size: 1rem;
+  height: 2.25em;
+  justify-content: flex-start;
+  line-height: 1.5;
+  padding-bottom: calc(0.375em - 1px);
+  padding-left: calc(0.625em - 1px);
+  padding-right: calc(0.625em - 1px);
+  padding-top: calc(0.375em - 1px);
+  position: relative;
+  vertical-align: top; }
+  .pagination-previous:focus,
+  .pagination-next:focus,
+  .pagination-link:focus,
+  .pagination-ellipsis:focus, .file-cta:focus,
+  .file-name:focus, .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .button:focus, .is-focused.pagination-previous,
+  .is-focused.pagination-next,
+  .is-focused.pagination-link,
+  .is-focused.pagination-ellipsis, .is-focused.file-cta,
+  .is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-focused.button, .pagination-previous:active,
+  .pagination-next:active,
+  .pagination-link:active,
+  .pagination-ellipsis:active, .file-cta:active,
+  .file-name:active, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .button:active, .is-active.pagination-previous,
+  .is-active.pagination-next,
+  .is-active.pagination-link,
+  .is-active.pagination-ellipsis, .is-active.file-cta,
+  .is-active.file-name, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .is-active.button {
+    outline: none; }
+  .pagination-previous[disabled],
+  .pagination-next[disabled],
+  .pagination-link[disabled],
+  .pagination-ellipsis[disabled], .file-cta[disabled],
+  .file-name[disabled], .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], .button[disabled], fieldset[disabled] .pagination-previous,
+  fieldset[disabled] .pagination-next,
+  fieldset[disabled] .pagination-link,
+  fieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta,
+  fieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] .button {
+    cursor: not-allowed; }
+
+/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  margin: 0;
+  padding: 0; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-size: 100%;
+  font-weight: normal; }
+
+ul {
+  list-style: none; }
+
+button,
+input,
+select,
+textarea {
+  margin: 0; }
+
+html {
+  box-sizing: border-box; }
+
+*, *::before, *::after {
+  box-sizing: inherit; }
+
+img,
+embed,
+iframe,
+object,
+video {
+  height: auto;
+  max-width: 100%; }
+
+audio {
+  max-width: 100%; }
+
+iframe {
+  border: 0; }
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0; }
+
+td,
+th {
+  padding: 0; }
+  td:not([align]),
+  th:not([align]) {
+    text-align: left; }
+
+html {
+  background-color: white;
+  font-size: 16px;
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  min-width: 300px;
+  overflow-x: auto;
+  overflow-y: scroll;
+  text-rendering: optimizeLegibility;
+  text-size-adjust: 100%; }
+
+article,
+aside,
+figure,
+footer,
+header,
+hgroup,
+section {
+  display: block; }
+
+body,
+button,
+input,
+select,
+textarea {
+  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
+
+code,
+pre {
+  -moz-osx-font-smoothing: auto;
+  -webkit-font-smoothing: auto;
+  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
+
+body {
+  color: #222222;
+  font-size: 1em;
+  font-weight: 400;
+  line-height: 1.5; }
+
+a {
+  color: #2e63b8;
+  cursor: pointer;
+  text-decoration: none; }
+  a strong {
+    color: currentColor; }
+  a:hover {
+    color: #363636; }
+
+code {
+  background-color: rgba(0, 0, 0, 0.05);
+  color: #000000;
+  font-size: 0.875em;
+  font-weight: normal;
+  padding: 0.1em; }
+
+hr {
+  background-color: whitesmoke;
+  border: none;
+  display: block;
+  height: 2px;
+  margin: 1.5rem 0; }
+
+img {
+  height: auto;
+  max-width: 100%; }
+
+input[type="checkbox"],
+input[type="radio"] {
+  vertical-align: baseline; }
+
+small {
+  font-size: 0.875em; }
+
+span {
+  font-style: inherit;
+  font-weight: inherit; }
+
+strong {
+  color: #222222;
+  font-weight: 700; }
+
+fieldset {
+  border: none; }
+
+pre {
+  -webkit-overflow-scrolling: touch;
+  background-color: whitesmoke;
+  color: #222222;
+  font-size: 0.875em;
+  overflow-x: auto;
+  padding: 1.25rem 1.5rem;
+  white-space: pre;
+  word-wrap: normal; }
+  pre code {
+    background-color: transparent;
+    color: currentColor;
+    font-size: 1em;
+    padding: 0; }
+
+table td,
+table th {
+  vertical-align: top; }
+  table td:not([align]),
+  table th:not([align]) {
+    text-align: left; }
+
+table th {
+  color: #222222; }
+
+.is-clearfix::after {
+  clear: both;
+  content: " ";
+  display: table; }
+
+.is-pulled-left {
+  float: left !important; }
+
+.is-pulled-right {
+  float: right !important; }
+
+.is-clipped {
+  overflow: hidden !important; }
+
+.is-size-1 {
+  font-size: 3rem !important; }
+
+.is-size-2 {
+  font-size: 2.5rem !important; }
+
+.is-size-3 {
+  font-size: 2rem !important; }
+
+.is-size-4 {
+  font-size: 1.5rem !important; }
+
+.is-size-5 {
+  font-size: 1.25rem !important; }
+
+.is-size-6 {
+  font-size: 1rem !important; }
+
+.is-size-7, .docstring > section > a.docs-sourcelink {
+  font-size: 0.75rem !important; }
+
+@media screen and (max-width: 768px) {
+  .is-size-1-mobile {
+    font-size: 3rem !important; }
+  .is-size-2-mobile {
+    font-size: 2.5rem !important; }
+  .is-size-3-mobile {
+    font-size: 2rem !important; }
+  .is-size-4-mobile {
+    font-size: 1.5rem !important; }
+  .is-size-5-mobile {
+    font-size: 1.25rem !important; }
+  .is-size-6-mobile {
+    font-size: 1rem !important; }
+  .is-size-7-mobile {
+    font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-size-1-tablet {
+    font-size: 3rem !important; }
+  .is-size-2-tablet {
+    font-size: 2.5rem !important; }
+  .is-size-3-tablet {
+    font-size: 2rem !important; }
+  .is-size-4-tablet {
+    font-size: 1.5rem !important; }
+  .is-size-5-tablet {
+    font-size: 1.25rem !important; }
+  .is-size-6-tablet {
+    font-size: 1rem !important; }
+  .is-size-7-tablet {
+    font-size: 0.75rem !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-size-1-touch {
+    font-size: 3rem !important; }
+  .is-size-2-touch {
+    font-size: 2.5rem !important; }
+  .is-size-3-touch {
+    font-size: 2rem !important; }
+  .is-size-4-touch {
+    font-size: 1.5rem !important; }
+  .is-size-5-touch {
+    font-size: 1.25rem !important; }
+  .is-size-6-touch {
+    font-size: 1rem !important; }
+  .is-size-7-touch {
+    font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-size-1-desktop {
+    font-size: 3rem !important; }
+  .is-size-2-desktop {
+    font-size: 2.5rem !important; }
+  .is-size-3-desktop {
+    font-size: 2rem !important; }
+  .is-size-4-desktop {
+    font-size: 1.5rem !important; }
+  .is-size-5-desktop {
+    font-size: 1.25rem !important; }
+  .is-size-6-desktop {
+    font-size: 1rem !important; }
+  .is-size-7-desktop {
+    font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-size-1-widescreen {
+    font-size: 3rem !important; }
+  .is-size-2-widescreen {
+    font-size: 2.5rem !important; }
+  .is-size-3-widescreen {
+    font-size: 2rem !important; }
+  .is-size-4-widescreen {
+    font-size: 1.5rem !important; }
+  .is-size-5-widescreen {
+    font-size: 1.25rem !important; }
+  .is-size-6-widescreen {
+    font-size: 1rem !important; }
+  .is-size-7-widescreen {
+    font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-size-1-fullhd {
+    font-size: 3rem !important; }
+  .is-size-2-fullhd {
+    font-size: 2.5rem !important; }
+  .is-size-3-fullhd {
+    font-size: 2rem !important; }
+  .is-size-4-fullhd {
+    font-size: 1.5rem !important; }
+  .is-size-5-fullhd {
+    font-size: 1.25rem !important; }
+  .is-size-6-fullhd {
+    font-size: 1rem !important; }
+  .is-size-7-fullhd {
+    font-size: 0.75rem !important; } }
+
+.has-text-centered {
+  text-align: center !important; }
+
+.has-text-justified {
+  text-align: justify !important; }
+
+.has-text-left {
+  text-align: left !important; }
+
+.has-text-right {
+  text-align: right !important; }
+
+@media screen and (max-width: 768px) {
+  .has-text-centered-mobile {
+    text-align: center !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-centered-tablet {
+    text-align: center !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-centered-tablet-only {
+    text-align: center !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-centered-touch {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-centered-desktop {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-centered-desktop-only {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-centered-widescreen {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-centered-widescreen-only {
+    text-align: center !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-centered-fullhd {
+    text-align: center !important; } }
+
+@media screen and (max-width: 768px) {
+  .has-text-justified-mobile {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-justified-tablet {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-justified-tablet-only {
+    text-align: justify !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-justified-touch {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-justified-desktop {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-justified-desktop-only {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-justified-widescreen {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-justified-widescreen-only {
+    text-align: justify !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-justified-fullhd {
+    text-align: justify !important; } }
+
+@media screen and (max-width: 768px) {
+  .has-text-left-mobile {
+    text-align: left !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-left-tablet {
+    text-align: left !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-left-tablet-only {
+    text-align: left !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-left-touch {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-left-desktop {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-left-desktop-only {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-left-widescreen {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-left-widescreen-only {
+    text-align: left !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-left-fullhd {
+    text-align: left !important; } }
+
+@media screen and (max-width: 768px) {
+  .has-text-right-mobile {
+    text-align: right !important; } }
+
+@media screen and (min-width: 769px), print {
+  .has-text-right-tablet {
+    text-align: right !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .has-text-right-tablet-only {
+    text-align: right !important; } }
+
+@media screen and (max-width: 1055px) {
+  .has-text-right-touch {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1056px) {
+  .has-text-right-desktop {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .has-text-right-desktop-only {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1216px) {
+  .has-text-right-widescreen {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .has-text-right-widescreen-only {
+    text-align: right !important; } }
+
+@media screen and (min-width: 1408px) {
+  .has-text-right-fullhd {
+    text-align: right !important; } }
+
+.is-capitalized {
+  text-transform: capitalize !important; }
+
+.is-lowercase {
+  text-transform: lowercase !important; }
+
+.is-uppercase {
+  text-transform: uppercase !important; }
+
+.is-italic {
+  font-style: italic !important; }
+
+.has-text-white {
+  color: white !important; }
+
+a.has-text-white:hover, a.has-text-white:focus {
+  color: #e6e6e6 !important; }
+
+.has-background-white {
+  background-color: white !important; }
+
+.has-text-black {
+  color: #0a0a0a !important; }
+
+a.has-text-black:hover, a.has-text-black:focus {
+  color: black !important; }
+
+.has-background-black {
+  background-color: #0a0a0a !important; }
+
+.has-text-light {
+  color: whitesmoke !important; }
+
+a.has-text-light:hover, a.has-text-light:focus {
+  color: #dbdbdb !important; }
+
+.has-background-light {
+  background-color: whitesmoke !important; }
+
+.has-text-dark {
+  color: #363636 !important; }
+
+a.has-text-dark:hover, a.has-text-dark:focus {
+  color: #1c1c1c !important; }
+
+.has-background-dark {
+  background-color: #363636 !important; }
+
+.has-text-primary {
+  color: #4eb5de !important; }
+
+a.has-text-primary:hover, a.has-text-primary:focus {
+  color: #27a1d2 !important; }
+
+.has-background-primary {
+  background-color: #4eb5de !important; }
+
+.has-text-link {
+  color: #2e63b8 !important; }
+
+a.has-text-link:hover, a.has-text-link:focus {
+  color: #244d8f !important; }
+
+.has-background-link {
+  background-color: #2e63b8 !important; }
+
+.has-text-info {
+  color: #209cee !important; }
+
+a.has-text-info:hover, a.has-text-info:focus {
+  color: #1081cb !important; }
+
+.has-background-info {
+  background-color: #209cee !important; }
+
+.has-text-success {
+  color: #22c35b !important; }
+
+a.has-text-success:hover, a.has-text-success:focus {
+  color: #1a9847 !important; }
+
+.has-background-success {
+  background-color: #22c35b !important; }
+
+.has-text-warning {
+  color: #ffdd57 !important; }
+
+a.has-text-warning:hover, a.has-text-warning:focus {
+  color: #ffd324 !important; }
+
+.has-background-warning {
+  background-color: #ffdd57 !important; }
+
+.has-text-danger {
+  color: #da0b00 !important; }
+
+a.has-text-danger:hover, a.has-text-danger:focus {
+  color: #a70800 !important; }
+
+.has-background-danger {
+  background-color: #da0b00 !important; }
+
+.has-text-black-bis {
+  color: #121212 !important; }
+
+.has-background-black-bis {
+  background-color: #121212 !important; }
+
+.has-text-black-ter {
+  color: #242424 !important; }
+
+.has-background-black-ter {
+  background-color: #242424 !important; }
+
+.has-text-grey-darker {
+  color: #363636 !important; }
+
+.has-background-grey-darker {
+  background-color: #363636 !important; }
+
+.has-text-grey-dark {
+  color: #4a4a4a !important; }
+
+.has-background-grey-dark {
+  background-color: #4a4a4a !important; }
+
+.has-text-grey {
+  color: #6b6b6b !important; }
+
+.has-background-grey {
+  background-color: #6b6b6b !important; }
+
+.has-text-grey-light {
+  color: #b5b5b5 !important; }
+
+.has-background-grey-light {
+  background-color: #b5b5b5 !important; }
+
+.has-text-grey-lighter {
+  color: #dbdbdb !important; }
+
+.has-background-grey-lighter {
+  background-color: #dbdbdb !important; }
+
+.has-text-white-ter {
+  color: whitesmoke !important; }
+
+.has-background-white-ter {
+  background-color: whitesmoke !important; }
+
+.has-text-white-bis {
+  color: #fafafa !important; }
+
+.has-background-white-bis {
+  background-color: #fafafa !important; }
+
+.has-text-weight-light {
+  font-weight: 300 !important; }
+
+.has-text-weight-normal {
+  font-weight: 400 !important; }
+
+.has-text-weight-medium {
+  font-weight: 500 !important; }
+
+.has-text-weight-semibold {
+  font-weight: 600 !important; }
+
+.has-text-weight-bold {
+  font-weight: 700 !important; }
+
+.is-family-primary {
+  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-secondary {
+  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-sans-serif {
+  font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-monospace {
+  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
+
+.is-family-code {
+  font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
+
+.is-block {
+  display: block !important; }
+
+@media screen and (max-width: 768px) {
+  .is-block-mobile {
+    display: block !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-block-tablet {
+    display: block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-block-tablet-only {
+    display: block !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-block-touch {
+    display: block !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-block-desktop {
+    display: block !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-block-desktop-only {
+    display: block !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-block-widescreen {
+    display: block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-block-widescreen-only {
+    display: block !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-block-fullhd {
+    display: block !important; } }
+
+.is-flex {
+  display: flex !important; }
+
+@media screen and (max-width: 768px) {
+  .is-flex-mobile {
+    display: flex !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-flex-tablet {
+    display: flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-flex-tablet-only {
+    display: flex !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-flex-touch {
+    display: flex !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-flex-desktop {
+    display: flex !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-flex-desktop-only {
+    display: flex !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-flex-widescreen {
+    display: flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-flex-widescreen-only {
+    display: flex !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-flex-fullhd {
+    display: flex !important; } }
+
+.is-inline {
+  display: inline !important; }
+
+@media screen and (max-width: 768px) {
+  .is-inline-mobile {
+    display: inline !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-inline-tablet {
+    display: inline !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-inline-tablet-only {
+    display: inline !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-inline-touch {
+    display: inline !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-inline-desktop {
+    display: inline !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-inline-desktop-only {
+    display: inline !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-inline-widescreen {
+    display: inline !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-inline-widescreen-only {
+    display: inline !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-inline-fullhd {
+    display: inline !important; } }
+
+.is-inline-block {
+  display: inline-block !important; }
+
+@media screen and (max-width: 768px) {
+  .is-inline-block-mobile {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-inline-block-tablet {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-inline-block-tablet-only {
+    display: inline-block !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-inline-block-touch {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-inline-block-desktop {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-inline-block-desktop-only {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-inline-block-widescreen {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-inline-block-widescreen-only {
+    display: inline-block !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-inline-block-fullhd {
+    display: inline-block !important; } }
+
+.is-inline-flex {
+  display: inline-flex !important; }
+
+@media screen and (max-width: 768px) {
+  .is-inline-flex-mobile {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-inline-flex-tablet {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-inline-flex-tablet-only {
+    display: inline-flex !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-inline-flex-touch {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-inline-flex-desktop {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-inline-flex-desktop-only {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-inline-flex-widescreen {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-inline-flex-widescreen-only {
+    display: inline-flex !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-inline-flex-fullhd {
+    display: inline-flex !important; } }
+
+.is-hidden {
+  display: none !important; }
+
+.is-sr-only {
+  border: none !important;
+  clip: rect(0, 0, 0, 0) !important;
+  height: 0.01em !important;
+  overflow: hidden !important;
+  padding: 0 !important;
+  position: absolute !important;
+  white-space: nowrap !important;
+  width: 0.01em !important; }
+
+@media screen and (max-width: 768px) {
+  .is-hidden-mobile {
+    display: none !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-hidden-tablet {
+    display: none !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-hidden-tablet-only {
+    display: none !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-hidden-touch {
+    display: none !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-hidden-desktop {
+    display: none !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-hidden-desktop-only {
+    display: none !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-hidden-widescreen {
+    display: none !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-hidden-widescreen-only {
+    display: none !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-hidden-fullhd {
+    display: none !important; } }
+
+.is-invisible {
+  visibility: hidden !important; }
+
+@media screen and (max-width: 768px) {
+  .is-invisible-mobile {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 769px), print {
+  .is-invisible-tablet {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+  .is-invisible-tablet-only {
+    visibility: hidden !important; } }
+
+@media screen and (max-width: 1055px) {
+  .is-invisible-touch {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1056px) {
+  .is-invisible-desktop {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+  .is-invisible-desktop-only {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) {
+  .is-invisible-widescreen {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+  .is-invisible-widescreen-only {
+    visibility: hidden !important; } }
+
+@media screen and (min-width: 1408px) {
+  .is-invisible-fullhd {
+    visibility: hidden !important; } }
+
+.is-marginless {
+  margin: 0 !important; }
+
+.is-paddingless {
+  padding: 0 !important; }
+
+.is-radiusless {
+  border-radius: 0 !important; }
+
+.is-shadowless {
+  box-shadow: none !important; }
+
+.is-relative {
+  position: relative !important; }
+
+.box {
+  background-color: white;
+  border-radius: 6px;
+  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+  color: #222222;
+  display: block;
+  padding: 1.25rem; }
+
+a.box:hover, a.box:focus {
+  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #2e63b8; }
+
+a.box:active {
+  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #2e63b8; }
+
+.button {
+  background-color: white;
+  border-color: #dbdbdb;
+  border-width: 1px;
+  color: #363636;
+  cursor: pointer;
+  justify-content: center;
+  padding-bottom: calc(0.375em - 1px);
+  padding-left: 0.75em;
+  padding-right: 0.75em;
+  padding-top: calc(0.375em - 1px);
+  text-align: center;
+  white-space: nowrap; }
+  .button strong {
+    color: inherit; }
+  .button .icon, .button .icon.is-small, .button #documenter .docs-sidebar form.docs-search > input.icon, #documenter .docs-sidebar .button form.docs-search > input.icon, .button .icon.is-medium, .button .icon.is-large {
+    height: 1.5em;
+    width: 1.5em; }
+  .button .icon:first-child:not(:last-child) {
+    margin-left: calc(-0.375em - 1px);
+    margin-right: 0.1875em; }
+  .button .icon:last-child:not(:first-child) {
+    margin-left: 0.1875em;
+    margin-right: calc(-0.375em - 1px); }
+  .button .icon:first-child:last-child {
+    margin-left: calc(-0.375em - 1px);
+    margin-right: calc(-0.375em - 1px); }
+  .button:hover, .button.is-hovered {
+    border-color: #b5b5b5;
+    color: #363636; }
+  .button:focus, .button.is-focused {
+    border-color: #3c5dcd;
+    color: #363636; }
+    .button:focus:not(:active), .button.is-focused:not(:active) {
+      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+  .button:active, .button.is-active {
+    border-color: #4a4a4a;
+    color: #363636; }
+  .button.is-text {
+    background-color: transparent;
+    border-color: transparent;
+    color: #222222;
+    text-decoration: underline; }
+    .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
+      background-color: whitesmoke;
+      color: #222222; }
+    .button.is-text:active, .button.is-text.is-active {
+      background-color: #e8e8e8;
+      color: #222222; }
+    .button.is-text[disabled], fieldset[disabled] .button.is-text {
+      background-color: transparent;
+      border-color: transparent;
+      box-shadow: none; }
+  .button.is-white {
+    background-color: white;
+    border-color: transparent;
+    color: #0a0a0a; }
+    .button.is-white:hover, .button.is-white.is-hovered {
+      background-color: #f9f9f9;
+      border-color: transparent;
+      color: #0a0a0a; }
+    .button.is-white:focus, .button.is-white.is-focused {
+      border-color: transparent;
+      color: #0a0a0a; }
+      .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+    .button.is-white:active, .button.is-white.is-active {
+      background-color: #f2f2f2;
+      border-color: transparent;
+      color: #0a0a0a; }
+    .button.is-white[disabled], fieldset[disabled] .button.is-white {
+      background-color: white;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-white.is-inverted {
+      background-color: #0a0a0a;
+      color: white; }
+      .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
+        background-color: black; }
+      .button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted {
+        background-color: #0a0a0a;
+        border-color: transparent;
+        box-shadow: none;
+        color: white; }
+    .button.is-white.is-loading::after {
+      border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+    .button.is-white.is-outlined {
+      background-color: transparent;
+      border-color: white;
+      color: white; }
+      .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
+        background-color: white;
+        border-color: white;
+        color: #0a0a0a; }
+      .button.is-white.is-outlined.is-loading::after {
+        border-color: transparent transparent white white !important; }
+      .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+      .button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined {
+        background-color: transparent;
+        border-color: white;
+        box-shadow: none;
+        color: white; }
+    .button.is-white.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: #0a0a0a;
+      color: #0a0a0a; }
+      .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
+        background-color: #0a0a0a;
+        color: white; }
+      .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent white white !important; }
+      .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #0a0a0a;
+        box-shadow: none;
+        color: #0a0a0a; }
+  .button.is-black {
+    background-color: #0a0a0a;
+    border-color: transparent;
+    color: white; }
+    .button.is-black:hover, .button.is-black.is-hovered {
+      background-color: #040404;
+      border-color: transparent;
+      color: white; }
+    .button.is-black:focus, .button.is-black.is-focused {
+      border-color: transparent;
+      color: white; }
+      .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+    .button.is-black:active, .button.is-black.is-active {
+      background-color: black;
+      border-color: transparent;
+      color: white; }
+    .button.is-black[disabled], fieldset[disabled] .button.is-black {
+      background-color: #0a0a0a;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-black.is-inverted {
+      background-color: white;
+      color: #0a0a0a; }
+      .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
+        background-color: #f2f2f2; }
+      .button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted {
+        background-color: white;
+        border-color: transparent;
+        box-shadow: none;
+        color: #0a0a0a; }
+    .button.is-black.is-loading::after {
+      border-color: transparent transparent white white !important; }
+    .button.is-black.is-outlined {
+      background-color: transparent;
+      border-color: #0a0a0a;
+      color: #0a0a0a; }
+      .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
+        background-color: #0a0a0a;
+        border-color: #0a0a0a;
+        color: white; }
+      .button.is-black.is-outlined.is-loading::after {
+        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+      .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent white white !important; }
+      .button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined {
+        background-color: transparent;
+        border-color: #0a0a0a;
+        box-shadow: none;
+        color: #0a0a0a; }
+    .button.is-black.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: white;
+      color: white; }
+      .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
+        background-color: white;
+        color: #0a0a0a; }
+      .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+      .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: white;
+        box-shadow: none;
+        color: white; }
+  .button.is-light {
+    background-color: whitesmoke;
+    border-color: transparent;
+    color: #363636; }
+    .button.is-light:hover, .button.is-light.is-hovered {
+      background-color: #eeeeee;
+      border-color: transparent;
+      color: #363636; }
+    .button.is-light:focus, .button.is-light.is-focused {
+      border-color: transparent;
+      color: #363636; }
+      .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+    .button.is-light:active, .button.is-light.is-active {
+      background-color: #e8e8e8;
+      border-color: transparent;
+      color: #363636; }
+    .button.is-light[disabled], fieldset[disabled] .button.is-light {
+      background-color: whitesmoke;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-light.is-inverted {
+      background-color: #363636;
+      color: whitesmoke; }
+      .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
+        background-color: #292929; }
+      .button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted {
+        background-color: #363636;
+        border-color: transparent;
+        box-shadow: none;
+        color: whitesmoke; }
+    .button.is-light.is-loading::after {
+      border-color: transparent transparent #363636 #363636 !important; }
+    .button.is-light.is-outlined {
+      background-color: transparent;
+      border-color: whitesmoke;
+      color: whitesmoke; }
+      .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
+        background-color: whitesmoke;
+        border-color: whitesmoke;
+        color: #363636; }
+      .button.is-light.is-outlined.is-loading::after {
+        border-color: transparent transparent whitesmoke whitesmoke !important; }
+      .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #363636 #363636 !important; }
+      .button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined {
+        background-color: transparent;
+        border-color: whitesmoke;
+        box-shadow: none;
+        color: whitesmoke; }
+    .button.is-light.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: #363636;
+      color: #363636; }
+      .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
+        background-color: #363636;
+        color: whitesmoke; }
+      .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent whitesmoke whitesmoke !important; }
+      .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #363636;
+        box-shadow: none;
+        color: #363636; }
+  .button.is-dark, .content kbd.button {
+    background-color: #363636;
+    border-color: transparent;
+    color: whitesmoke; }
+    .button.is-dark:hover, .content kbd.button:hover, .button.is-dark.is-hovered, .content kbd.button.is-hovered {
+      background-color: #2f2f2f;
+      border-color: transparent;
+      color: whitesmoke; }
+    .button.is-dark:focus, .content kbd.button:focus, .button.is-dark.is-focused, .content kbd.button.is-focused {
+      border-color: transparent;
+      color: whitesmoke; }
+      .button.is-dark:focus:not(:active), .content kbd.button:focus:not(:active), .button.is-dark.is-focused:not(:active), .content kbd.button.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+    .button.is-dark:active, .content kbd.button:active, .button.is-dark.is-active, .content kbd.button.is-active {
+      background-color: #292929;
+      border-color: transparent;
+      color: whitesmoke; }
+    .button.is-dark[disabled], .content kbd.button[disabled], fieldset[disabled] .button.is-dark, fieldset[disabled] .content kbd.button, .content fieldset[disabled] kbd.button {
+      background-color: #363636;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-dark.is-inverted, .content kbd.button.is-inverted {
+      background-color: whitesmoke;
+      color: #363636; }
+      .button.is-dark.is-inverted:hover, .content kbd.button.is-inverted:hover, .button.is-dark.is-inverted.is-hovered, .content kbd.button.is-inverted.is-hovered {
+        background-color: #e8e8e8; }
+      .button.is-dark.is-inverted[disabled], .content kbd.button.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted, fieldset[disabled] .content kbd.button.is-inverted, .content fieldset[disabled] kbd.button.is-inverted {
+        background-color: whitesmoke;
+        border-color: transparent;
+        box-shadow: none;
+        color: #363636; }
+    .button.is-dark.is-loading::after, .content kbd.button.is-loading::after {
+      border-color: transparent transparent whitesmoke whitesmoke !important; }
+    .button.is-dark.is-outlined, .content kbd.button.is-outlined {
+      background-color: transparent;
+      border-color: #363636;
+      color: #363636; }
+      .button.is-dark.is-outlined:hover, .content kbd.button.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .content kbd.button.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .content kbd.button.is-outlined:focus, .button.is-dark.is-outlined.is-focused, .content kbd.button.is-outlined.is-focused {
+        background-color: #363636;
+        border-color: #363636;
+        color: whitesmoke; }
+      .button.is-dark.is-outlined.is-loading::after, .content kbd.button.is-outlined.is-loading::after {
+        border-color: transparent transparent #363636 #363636 !important; }
+      .button.is-dark.is-outlined.is-loading:hover::after, .content kbd.button.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .content kbd.button.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after, .content kbd.button.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent whitesmoke whitesmoke !important; }
+      .button.is-dark.is-outlined[disabled], .content kbd.button.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined, fieldset[disabled] .content kbd.button.is-outlined, .content fieldset[disabled] kbd.button.is-outlined {
+        background-color: transparent;
+        border-color: #363636;
+        box-shadow: none;
+        color: #363636; }
+    .button.is-dark.is-inverted.is-outlined, .content kbd.button.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: whitesmoke;
+      color: whitesmoke; }
+      .button.is-dark.is-inverted.is-outlined:hover, .content kbd.button.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .content kbd.button.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .content kbd.button.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused, .content kbd.button.is-inverted.is-outlined.is-focused {
+        background-color: whitesmoke;
+        color: #363636; }
+      .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #363636 #363636 !important; }
+      .button.is-dark.is-inverted.is-outlined[disabled], .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined, fieldset[disabled] .content kbd.button.is-inverted.is-outlined, .content fieldset[disabled] kbd.button.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: whitesmoke;
+        box-shadow: none;
+        color: whitesmoke; }
+  .button.is-primary, .docstring > section > a.button.docs-sourcelink {
+    background-color: #4eb5de;
+    border-color: transparent;
+    color: #fff; }
+    .button.is-primary:hover, .docstring > section > a.button.docs-sourcelink:hover, .button.is-primary.is-hovered, .docstring > section > a.button.is-hovered.docs-sourcelink {
+      background-color: #43b1dc;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-primary:focus, .docstring > section > a.button.docs-sourcelink:focus, .button.is-primary.is-focused, .docstring > section > a.button.is-focused.docs-sourcelink {
+      border-color: transparent;
+      color: #fff; }
+      .button.is-primary:focus:not(:active), .docstring > section > a.button.docs-sourcelink:focus:not(:active), .button.is-primary.is-focused:not(:active), .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
+    .button.is-primary:active, .docstring > section > a.button.docs-sourcelink:active, .button.is-primary.is-active, .docstring > section > a.button.is-active.docs-sourcelink {
+      background-color: #39acda;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-primary[disabled], .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary, fieldset[disabled] .docstring > section > a.button.docs-sourcelink {
+      background-color: #4eb5de;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-primary.is-inverted, .docstring > section > a.button.is-inverted.docs-sourcelink {
+      background-color: #fff;
+      color: #4eb5de; }
+      .button.is-primary.is-inverted:hover, .docstring > section > a.button.is-inverted.docs-sourcelink:hover, .button.is-primary.is-inverted.is-hovered, .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
+        background-color: #f2f2f2; }
+      .button.is-primary.is-inverted[disabled], .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted, fieldset[disabled] .docstring > section > a.button.is-inverted.docs-sourcelink {
+        background-color: #fff;
+        border-color: transparent;
+        box-shadow: none;
+        color: #4eb5de; }
+    .button.is-primary.is-loading::after, .docstring > section > a.button.is-loading.docs-sourcelink::after {
+      border-color: transparent transparent #fff #fff !important; }
+    .button.is-primary.is-outlined, .docstring > section > a.button.is-outlined.docs-sourcelink {
+      background-color: transparent;
+      border-color: #4eb5de;
+      color: #4eb5de; }
+      .button.is-primary.is-outlined:hover, .docstring > section > a.button.is-outlined.docs-sourcelink:hover, .button.is-primary.is-outlined.is-hovered, .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-outlined:focus, .docstring > section > a.button.is-outlined.docs-sourcelink:focus, .button.is-primary.is-outlined.is-focused, .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
+        background-color: #4eb5de;
+        border-color: #4eb5de;
+        color: #fff; }
+      .button.is-primary.is-outlined.is-loading::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
+        border-color: transparent transparent #4eb5de #4eb5de !important; }
+      .button.is-primary.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+        border-color: transparent transparent #fff #fff !important; }
+      .button.is-primary.is-outlined[disabled], .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-outlined, fieldset[disabled] .docstring > section > a.button.is-outlined.docs-sourcelink {
+        background-color: transparent;
+        border-color: #4eb5de;
+        box-shadow: none;
+        color: #4eb5de; }
+    .button.is-primary.is-inverted.is-outlined, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+      background-color: transparent;
+      border-color: #fff;
+      color: #fff; }
+      .button.is-primary.is-inverted.is-outlined:hover, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-inverted.is-outlined:focus, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, .button.is-primary.is-inverted.is-outlined.is-focused, .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
+        background-color: #fff;
+        color: #4eb5de; }
+      .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+        border-color: transparent transparent #4eb5de #4eb5de !important; }
+      .button.is-primary.is-inverted.is-outlined[disabled], .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined, fieldset[disabled] .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+        background-color: transparent;
+        border-color: #fff;
+        box-shadow: none;
+        color: #fff; }
+  .button.is-link {
+    background-color: #2e63b8;
+    border-color: transparent;
+    color: #fff; }
+    .button.is-link:hover, .button.is-link.is-hovered {
+      background-color: #2b5eae;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-link:focus, .button.is-link.is-focused {
+      border-color: transparent;
+      color: #fff; }
+      .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+    .button.is-link:active, .button.is-link.is-active {
+      background-color: #2958a4;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-link[disabled], fieldset[disabled] .button.is-link {
+      background-color: #2e63b8;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-link.is-inverted {
+      background-color: #fff;
+      color: #2e63b8; }
+      .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
+        background-color: #f2f2f2; }
+      .button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted {
+        background-color: #fff;
+        border-color: transparent;
+        box-shadow: none;
+        color: #2e63b8; }
+    .button.is-link.is-loading::after {
+      border-color: transparent transparent #fff #fff !important; }
+    .button.is-link.is-outlined {
+      background-color: transparent;
+      border-color: #2e63b8;
+      color: #2e63b8; }
+      .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
+        background-color: #2e63b8;
+        border-color: #2e63b8;
+        color: #fff; }
+      .button.is-link.is-outlined.is-loading::after {
+        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
+      .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #fff #fff !important; }
+      .button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined {
+        background-color: transparent;
+        border-color: #2e63b8;
+        box-shadow: none;
+        color: #2e63b8; }
+    .button.is-link.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: #fff;
+      color: #fff; }
+      .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
+        background-color: #fff;
+        color: #2e63b8; }
+      .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #2e63b8 #2e63b8 !important; }
+      .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        box-shadow: none;
+        color: #fff; }
+  .button.is-info {
+    background-color: #209cee;
+    border-color: transparent;
+    color: #fff; }
+    .button.is-info:hover, .button.is-info.is-hovered {
+      background-color: #1497ed;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-info:focus, .button.is-info.is-focused {
+      border-color: transparent;
+      color: #fff; }
+      .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
+    .button.is-info:active, .button.is-info.is-active {
+      background-color: #1190e3;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-info[disabled], fieldset[disabled] .button.is-info {
+      background-color: #209cee;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-info.is-inverted {
+      background-color: #fff;
+      color: #209cee; }
+      .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
+        background-color: #f2f2f2; }
+      .button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted {
+        background-color: #fff;
+        border-color: transparent;
+        box-shadow: none;
+        color: #209cee; }
+    .button.is-info.is-loading::after {
+      border-color: transparent transparent #fff #fff !important; }
+    .button.is-info.is-outlined {
+      background-color: transparent;
+      border-color: #209cee;
+      color: #209cee; }
+      .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
+        background-color: #209cee;
+        border-color: #209cee;
+        color: #fff; }
+      .button.is-info.is-outlined.is-loading::after {
+        border-color: transparent transparent #209cee #209cee !important; }
+      .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #fff #fff !important; }
+      .button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined {
+        background-color: transparent;
+        border-color: #209cee;
+        box-shadow: none;
+        color: #209cee; }
+    .button.is-info.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: #fff;
+      color: #fff; }
+      .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
+        background-color: #fff;
+        color: #209cee; }
+      .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #209cee #209cee !important; }
+      .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        box-shadow: none;
+        color: #fff; }
+  .button.is-success {
+    background-color: #22c35b;
+    border-color: transparent;
+    color: #fff; }
+    .button.is-success:hover, .button.is-success.is-hovered {
+      background-color: #20b856;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-success:focus, .button.is-success.is-focused {
+      border-color: transparent;
+      color: #fff; }
+      .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
+    .button.is-success:active, .button.is-success.is-active {
+      background-color: #1ead51;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-success[disabled], fieldset[disabled] .button.is-success {
+      background-color: #22c35b;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-success.is-inverted {
+      background-color: #fff;
+      color: #22c35b; }
+      .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
+        background-color: #f2f2f2; }
+      .button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted {
+        background-color: #fff;
+        border-color: transparent;
+        box-shadow: none;
+        color: #22c35b; }
+    .button.is-success.is-loading::after {
+      border-color: transparent transparent #fff #fff !important; }
+    .button.is-success.is-outlined {
+      background-color: transparent;
+      border-color: #22c35b;
+      color: #22c35b; }
+      .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
+        background-color: #22c35b;
+        border-color: #22c35b;
+        color: #fff; }
+      .button.is-success.is-outlined.is-loading::after {
+        border-color: transparent transparent #22c35b #22c35b !important; }
+      .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #fff #fff !important; }
+      .button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined {
+        background-color: transparent;
+        border-color: #22c35b;
+        box-shadow: none;
+        color: #22c35b; }
+    .button.is-success.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: #fff;
+      color: #fff; }
+      .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
+        background-color: #fff;
+        color: #22c35b; }
+      .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #22c35b #22c35b !important; }
+      .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        box-shadow: none;
+        color: #fff; }
+  .button.is-warning {
+    background-color: #ffdd57;
+    border-color: transparent;
+    color: rgba(0, 0, 0, 0.7); }
+    .button.is-warning:hover, .button.is-warning.is-hovered {
+      background-color: #ffda4a;
+      border-color: transparent;
+      color: rgba(0, 0, 0, 0.7); }
+    .button.is-warning:focus, .button.is-warning.is-focused {
+      border-color: transparent;
+      color: rgba(0, 0, 0, 0.7); }
+      .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+    .button.is-warning:active, .button.is-warning.is-active {
+      background-color: #ffd83e;
+      border-color: transparent;
+      color: rgba(0, 0, 0, 0.7); }
+    .button.is-warning[disabled], fieldset[disabled] .button.is-warning {
+      background-color: #ffdd57;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-warning.is-inverted {
+      background-color: rgba(0, 0, 0, 0.7);
+      color: #ffdd57; }
+      .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
+        background-color: rgba(0, 0, 0, 0.7); }
+      .button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted {
+        background-color: rgba(0, 0, 0, 0.7);
+        border-color: transparent;
+        box-shadow: none;
+        color: #ffdd57; }
+    .button.is-warning.is-loading::after {
+      border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+    .button.is-warning.is-outlined {
+      background-color: transparent;
+      border-color: #ffdd57;
+      color: #ffdd57; }
+      .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
+        background-color: #ffdd57;
+        border-color: #ffdd57;
+        color: rgba(0, 0, 0, 0.7); }
+      .button.is-warning.is-outlined.is-loading::after {
+        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
+      .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+      .button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined {
+        background-color: transparent;
+        border-color: #ffdd57;
+        box-shadow: none;
+        color: #ffdd57; }
+    .button.is-warning.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: rgba(0, 0, 0, 0.7);
+      color: rgba(0, 0, 0, 0.7); }
+      .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
+        background-color: rgba(0, 0, 0, 0.7);
+        color: #ffdd57; }
+      .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #ffdd57 #ffdd57 !important; }
+      .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: rgba(0, 0, 0, 0.7);
+        box-shadow: none;
+        color: rgba(0, 0, 0, 0.7); }
+  .button.is-danger {
+    background-color: #da0b00;
+    border-color: transparent;
+    color: #fff; }
+    .button.is-danger:hover, .button.is-danger.is-hovered {
+      background-color: #cd0a00;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-danger:focus, .button.is-danger.is-focused {
+      border-color: transparent;
+      color: #fff; }
+      .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
+        box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
+    .button.is-danger:active, .button.is-danger.is-active {
+      background-color: #c10a00;
+      border-color: transparent;
+      color: #fff; }
+    .button.is-danger[disabled], fieldset[disabled] .button.is-danger {
+      background-color: #da0b00;
+      border-color: transparent;
+      box-shadow: none; }
+    .button.is-danger.is-inverted {
+      background-color: #fff;
+      color: #da0b00; }
+      .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
+        background-color: #f2f2f2; }
+      .button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted {
+        background-color: #fff;
+        border-color: transparent;
+        box-shadow: none;
+        color: #da0b00; }
+    .button.is-danger.is-loading::after {
+      border-color: transparent transparent #fff #fff !important; }
+    .button.is-danger.is-outlined {
+      background-color: transparent;
+      border-color: #da0b00;
+      color: #da0b00; }
+      .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
+        background-color: #da0b00;
+        border-color: #da0b00;
+        color: #fff; }
+      .button.is-danger.is-outlined.is-loading::after {
+        border-color: transparent transparent #da0b00 #da0b00 !important; }
+      .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #fff #fff !important; }
+      .button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined {
+        background-color: transparent;
+        border-color: #da0b00;
+        box-shadow: none;
+        color: #da0b00; }
+    .button.is-danger.is-inverted.is-outlined {
+      background-color: transparent;
+      border-color: #fff;
+      color: #fff; }
+      .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
+        background-color: #fff;
+        color: #da0b00; }
+      .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
+        border-color: transparent transparent #da0b00 #da0b00 !important; }
+      .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
+        background-color: transparent;
+        border-color: #fff;
+        box-shadow: none;
+        color: #fff; }
+  .button.is-small, #documenter .docs-sidebar form.docs-search > input.button {
+    border-radius: 2px;
+    font-size: 0.75rem; }
+  .button.is-normal {
+    font-size: 1rem; }
+  .button.is-medium {
+    font-size: 1.25rem; }
+  .button.is-large {
+    font-size: 1.5rem; }
+  .button[disabled], fieldset[disabled] .button {
+    background-color: white;
+    border-color: #dbdbdb;
+    box-shadow: none;
+    opacity: 0.5; }
+  .button.is-fullwidth {
+    display: flex;
+    width: 100%; }
+  .button.is-loading {
+    color: transparent !important;
+    pointer-events: none; }
+    .button.is-loading::after {
+      position: absolute;
+      left: calc(50% - (1em / 2));
+      top: calc(50% - (1em / 2));
+      position: absolute !important; }
+  .button.is-static {
+    background-color: whitesmoke;
+    border-color: #dbdbdb;
+    color: #6b6b6b;
+    box-shadow: none;
+    pointer-events: none; }
+  .button.is-rounded, #documenter .docs-sidebar form.docs-search > input.button {
+    border-radius: 290486px;
+    padding-left: 1em;
+    padding-right: 1em; }
+
+.buttons {
+  align-items: center;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: flex-start; }
+  .buttons .button {
+    margin-bottom: 0.5rem; }
+    .buttons .button:not(:last-child):not(.is-fullwidth) {
+      margin-right: 0.5rem; }
+  .buttons:last-child {
+    margin-bottom: -0.5rem; }
+  .buttons:not(:last-child) {
+    margin-bottom: 1rem; }
+  .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
+    border-radius: 2px;
+    font-size: 0.75rem; }
+  .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
+    font-size: 1.25rem; }
+  .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
+    font-size: 1.5rem; }
+  .buttons.has-addons .button:not(:first-child) {
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0; }
+  .buttons.has-addons .button:not(:last-child) {
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0;
+    margin-right: -1px; }
+  .buttons.has-addons .button:last-child {
+    margin-right: 0; }
+  .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
+    z-index: 2; }
+  .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
+    z-index: 3; }
+    .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
+      z-index: 4; }
+  .buttons.has-addons .button.is-expanded {
+    flex-grow: 1;
+    flex-shrink: 1; }
+  .buttons.is-centered {
+    justify-content: center; }
+    .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
+      margin-left: 0.25rem;
+      margin-right: 0.25rem; }
+  .buttons.is-right {
+    justify-content: flex-end; }
+    .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
+      margin-left: 0.25rem;
+      margin-right: 0.25rem; }
+
+.container {
+  flex-grow: 1;
+  margin: 0 auto;
+  position: relative;
+  width: auto; }
+  @media screen and (min-width: 1056px) {
+    .container {
+      max-width: 992px; }
+      .container.is-fluid {
+        margin-left: 32px;
+        margin-right: 32px;
+        max-width: none; } }
+  @media screen and (max-width: 1215px) {
+    .container.is-widescreen {
+      max-width: 1152px; } }
+  @media screen and (max-width: 1407px) {
+    .container.is-fullhd {
+      max-width: 1344px; } }
+  @media screen and (min-width: 1216px) {
+    .container {
+      max-width: 1152px; } }
+  @media screen and (min-width: 1408px) {
+    .container {
+      max-width: 1344px; } }
+.content li + li {
+  margin-top: 0.25em; }
+
+.content p:not(:last-child),
+.content dl:not(:last-child),
+.content ol:not(:last-child),
+.content ul:not(:last-child),
+.content blockquote:not(:last-child),
+.content pre:not(:last-child),
+.content table:not(:last-child) {
+  margin-bottom: 1em; }
+
+.content h1,
+.content h2,
+.content h3,
+.content h4,
+.content h5,
+.content h6 {
+  color: #222222;
+  font-weight: 600;
+  line-height: 1.125; }
+
+.content h1 {
+  font-size: 2em;
+  margin-bottom: 0.5em; }
+  .content h1:not(:first-child) {
+    margin-top: 1em; }
+
+.content h2 {
+  font-size: 1.75em;
+  margin-bottom: 0.5714em; }
+  .content h2:not(:first-child) {
+    margin-top: 1.1428em; }
+
+.content h3 {
+  font-size: 1.5em;
+  margin-bottom: 0.6666em; }
+  .content h3:not(:first-child) {
+    margin-top: 1.3333em; }
+
+.content h4 {
+  font-size: 1.25em;
+  margin-bottom: 0.8em; }
+
+.content h5 {
+  font-size: 1.125em;
+  margin-bottom: 0.8888em; }
+
+.content h6 {
+  font-size: 1em;
+  margin-bottom: 1em; }
+
+.content blockquote {
+  background-color: whitesmoke;
+  border-left: 5px solid #dbdbdb;
+  padding: 1.25em 1.5em; }
+
+.content ol {
+  list-style-position: outside;
+  margin-left: 2em;
+  margin-top: 1em; }
+  .content ol:not([type]) {
+    list-style-type: decimal; }
+    .content ol.is-lower-alpha:not([type]) {
+      list-style-type: lower-alpha; }
+    .content ol.is-lower-roman:not([type]) {
+      list-style-type: lower-roman; }
+    .content ol.is-upper-alpha:not([type]) {
+      list-style-type: upper-alpha; }
+    .content ol.is-upper-roman:not([type]) {
+      list-style-type: upper-roman; }
+
+.content ul {
+  list-style: disc outside;
+  margin-left: 2em;
+  margin-top: 1em; }
+  .content ul ul {
+    list-style-type: circle;
+    margin-top: 0.5em; }
+    .content ul ul ul {
+      list-style-type: square; }
+
+.content dd {
+  margin-left: 2em; }
+
+.content figure {
+  margin-left: 2em;
+  margin-right: 2em;
+  text-align: center; }
+  .content figure:not(:first-child) {
+    margin-top: 2em; }
+  .content figure:not(:last-child) {
+    margin-bottom: 2em; }
+  .content figure img {
+    display: inline-block; }
+  .content figure figcaption {
+    font-style: italic; }
+
+.content pre {
+  -webkit-overflow-scrolling: touch;
+  overflow-x: auto;
+  padding: 0;
+  white-space: pre;
+  word-wrap: normal; }
+
+.content sup,
+.content sub {
+  font-size: 75%; }
+
+.content table {
+  width: 100%; }
+  .content table td,
+  .content table th {
+    border: 1px solid #dbdbdb;
+    border-width: 0 0 1px;
+    padding: 0.5em 0.75em;
+    vertical-align: top; }
+  .content table th {
+    color: #222222; }
+    .content table th:not([align]) {
+      text-align: left; }
+  .content table thead td,
+  .content table thead th {
+    border-width: 0 0 2px;
+    color: #222222; }
+  .content table tfoot td,
+  .content table tfoot th {
+    border-width: 2px 0 0;
+    color: #222222; }
+  .content table tbody tr:last-child td,
+  .content table tbody tr:last-child th {
+    border-bottom-width: 0; }
+
+.content .tabs li + li {
+  margin-top: 0; }
+
+.content.is-small, #documenter .docs-sidebar form.docs-search > input.content {
+  font-size: 0.75rem; }
+
+.content.is-medium {
+  font-size: 1.25rem; }
+
+.content.is-large {
+  font-size: 1.5rem; }
+
+.icon {
+  align-items: center;
+  display: inline-flex;
+  justify-content: center;
+  height: 1.5rem;
+  width: 1.5rem; }
+  .icon.is-small, #documenter .docs-sidebar form.docs-search > input.icon {
+    height: 1rem;
+    width: 1rem; }
+  .icon.is-medium {
+    height: 2rem;
+    width: 2rem; }
+  .icon.is-large {
+    height: 3rem;
+    width: 3rem; }
+
+.image, #documenter .docs-sidebar .docs-logo > img {
+  display: block;
+  position: relative; }
+  .image img, #documenter .docs-sidebar .docs-logo > img img {
+    display: block;
+    height: auto;
+    width: 100%; }
+    .image img.is-rounded, #documenter .docs-sidebar .docs-logo > img img.is-rounded {
+      border-radius: 290486px; }
+  .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
+  .image.is-square .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
+  .image.is-1by1 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
+  .image.is-5by4 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
+  .image.is-4by3 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
+  .image.is-3by2 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
+  .image.is-5by3 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
+  .image.is-16by9 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
+  .image.is-2by1 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
+  .image.is-3by1 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
+  .image.is-4by5 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
+  .image.is-3by4 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
+  .image.is-2by3 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
+  .image.is-3by5 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
+  .image.is-9by16 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
+  .image.is-1by2 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
+  .image.is-1by3 .has-ratio,
+  #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
+    height: 100%;
+    width: 100%; }
+  .image.is-square, #documenter .docs-sidebar .docs-logo > img.is-square, .image.is-1by1, #documenter .docs-sidebar .docs-logo > img.is-1by1 {
+    padding-top: 100%; }
+  .image.is-5by4, #documenter .docs-sidebar .docs-logo > img.is-5by4 {
+    padding-top: 80%; }
+  .image.is-4by3, #documenter .docs-sidebar .docs-logo > img.is-4by3 {
+    padding-top: 75%; }
+  .image.is-3by2, #documenter .docs-sidebar .docs-logo > img.is-3by2 {
+    padding-top: 66.6666%; }
+  .image.is-5by3, #documenter .docs-sidebar .docs-logo > img.is-5by3 {
+    padding-top: 60%; }
+  .image.is-16by9, #documenter .docs-sidebar .docs-logo > img.is-16by9 {
+    padding-top: 56.25%; }
+  .image.is-2by1, #documenter .docs-sidebar .docs-logo > img.is-2by1 {
+    padding-top: 50%; }
+  .image.is-3by1, #documenter .docs-sidebar .docs-logo > img.is-3by1 {
+    padding-top: 33.3333%; }
+  .image.is-4by5, #documenter .docs-sidebar .docs-logo > img.is-4by5 {
+    padding-top: 125%; }
+  .image.is-3by4, #documenter .docs-sidebar .docs-logo > img.is-3by4 {
+    padding-top: 133.3333%; }
+  .image.is-2by3, #documenter .docs-sidebar .docs-logo > img.is-2by3 {
+    padding-top: 150%; }
+  .image.is-3by5, #documenter .docs-sidebar .docs-logo > img.is-3by5 {
+    padding-top: 166.6666%; }
+  .image.is-9by16, #documenter .docs-sidebar .docs-logo > img.is-9by16 {
+    padding-top: 177.7777%; }
+  .image.is-1by2, #documenter .docs-sidebar .docs-logo > img.is-1by2 {
+    padding-top: 200%; }
+  .image.is-1by3, #documenter .docs-sidebar .docs-logo > img.is-1by3 {
+    padding-top: 300%; }
+  .image.is-16x16, #documenter .docs-sidebar .docs-logo > img.is-16x16 {
+    height: 16px;
+    width: 16px; }
+  .image.is-24x24, #documenter .docs-sidebar .docs-logo > img.is-24x24 {
+    height: 24px;
+    width: 24px; }
+  .image.is-32x32, #documenter .docs-sidebar .docs-logo > img.is-32x32 {
+    height: 32px;
+    width: 32px; }
+  .image.is-48x48, #documenter .docs-sidebar .docs-logo > img.is-48x48 {
+    height: 48px;
+    width: 48px; }
+  .image.is-64x64, #documenter .docs-sidebar .docs-logo > img.is-64x64 {
+    height: 64px;
+    width: 64px; }
+  .image.is-96x96, #documenter .docs-sidebar .docs-logo > img.is-96x96 {
+    height: 96px;
+    width: 96px; }
+  .image.is-128x128, #documenter .docs-sidebar .docs-logo > img.is-128x128 {
+    height: 128px;
+    width: 128px; }
+
+.notification {
+  background-color: whitesmoke;
+  border-radius: 4px;
+  padding: 1.25rem 2.5rem 1.25rem 1.5rem;
+  position: relative; }
+  .notification a:not(.button):not(.dropdown-item) {
+    color: currentColor;
+    text-decoration: underline; }
+  .notification strong {
+    color: currentColor; }
+  .notification code,
+  .notification pre {
+    background: white; }
+  .notification pre code {
+    background: transparent; }
+  .notification > .delete {
+    position: absolute;
+    right: 0.5rem;
+    top: 0.5rem; }
+  .notification .title,
+  .notification .subtitle,
+  .notification .content {
+    color: currentColor; }
+  .notification.is-white {
+    background-color: white;
+    color: #0a0a0a; }
+  .notification.is-black {
+    background-color: #0a0a0a;
+    color: white; }
+  .notification.is-light {
+    background-color: whitesmoke;
+    color: #363636; }
+  .notification.is-dark, .content kbd.notification {
+    background-color: #363636;
+    color: whitesmoke; }
+  .notification.is-primary, .docstring > section > a.notification.docs-sourcelink {
+    background-color: #4eb5de;
+    color: #fff; }
+  .notification.is-link {
+    background-color: #2e63b8;
+    color: #fff; }
+  .notification.is-info {
+    background-color: #209cee;
+    color: #fff; }
+  .notification.is-success {
+    background-color: #22c35b;
+    color: #fff; }
+  .notification.is-warning {
+    background-color: #ffdd57;
+    color: rgba(0, 0, 0, 0.7); }
+  .notification.is-danger {
+    background-color: #da0b00;
+    color: #fff; }
+
+.progress {
+  -moz-appearance: none;
+  -webkit-appearance: none;
+  border: none;
+  border-radius: 290486px;
+  display: block;
+  height: 1rem;
+  overflow: hidden;
+  padding: 0;
+  width: 100%; }
+  .progress::-webkit-progress-bar {
+    background-color: #dbdbdb; }
+  .progress::-webkit-progress-value {
+    background-color: #222222; }
+  .progress::-moz-progress-bar {
+    background-color: #222222; }
+  .progress::-ms-fill {
+    background-color: #222222;
+    border: none; }
+  .progress.is-white::-webkit-progress-value {
+    background-color: white; }
+  .progress.is-white::-moz-progress-bar {
+    background-color: white; }
+  .progress.is-white::-ms-fill {
+    background-color: white; }
+  .progress.is-white:indeterminate {
+    background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); }
+  .progress.is-black::-webkit-progress-value {
+    background-color: #0a0a0a; }
+  .progress.is-black::-moz-progress-bar {
+    background-color: #0a0a0a; }
+  .progress.is-black::-ms-fill {
+    background-color: #0a0a0a; }
+  .progress.is-black:indeterminate {
+    background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); }
+  .progress.is-light::-webkit-progress-value {
+    background-color: whitesmoke; }
+  .progress.is-light::-moz-progress-bar {
+    background-color: whitesmoke; }
+  .progress.is-light::-ms-fill {
+    background-color: whitesmoke; }
+  .progress.is-light:indeterminate {
+    background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); }
+  .progress.is-dark::-webkit-progress-value, .content kbd.progress::-webkit-progress-value {
+    background-color: #363636; }
+  .progress.is-dark::-moz-progress-bar, .content kbd.progress::-moz-progress-bar {
+    background-color: #363636; }
+  .progress.is-dark::-ms-fill, .content kbd.progress::-ms-fill {
+    background-color: #363636; }
+  .progress.is-dark:indeterminate, .content kbd.progress:indeterminate {
+    background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); }
+  .progress.is-primary::-webkit-progress-value, .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
+    background-color: #4eb5de; }
+  .progress.is-primary::-moz-progress-bar, .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
+    background-color: #4eb5de; }
+  .progress.is-primary::-ms-fill, .docstring > section > a.progress.docs-sourcelink::-ms-fill {
+    background-color: #4eb5de; }
+  .progress.is-primary:indeterminate, .docstring > section > a.progress.docs-sourcelink:indeterminate {
+    background-image: linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%); }
+  .progress.is-link::-webkit-progress-value {
+    background-color: #2e63b8; }
+  .progress.is-link::-moz-progress-bar {
+    background-color: #2e63b8; }
+  .progress.is-link::-ms-fill {
+    background-color: #2e63b8; }
+  .progress.is-link:indeterminate {
+    background-image: linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%); }
+  .progress.is-info::-webkit-progress-value {
+    background-color: #209cee; }
+  .progress.is-info::-moz-progress-bar {
+    background-color: #209cee; }
+  .progress.is-info::-ms-fill {
+    background-color: #209cee; }
+  .progress.is-info:indeterminate {
+    background-image: linear-gradient(to right, #209cee 30%, #dbdbdb 30%); }
+  .progress.is-success::-webkit-progress-value {
+    background-color: #22c35b; }
+  .progress.is-success::-moz-progress-bar {
+    background-color: #22c35b; }
+  .progress.is-success::-ms-fill {
+    background-color: #22c35b; }
+  .progress.is-success:indeterminate {
+    background-image: linear-gradient(to right, #22c35b 30%, #dbdbdb 30%); }
+  .progress.is-warning::-webkit-progress-value {
+    background-color: #ffdd57; }
+  .progress.is-warning::-moz-progress-bar {
+    background-color: #ffdd57; }
+  .progress.is-warning::-ms-fill {
+    background-color: #ffdd57; }
+  .progress.is-warning:indeterminate {
+    background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); }
+  .progress.is-danger::-webkit-progress-value {
+    background-color: #da0b00; }
+  .progress.is-danger::-moz-progress-bar {
+    background-color: #da0b00; }
+  .progress.is-danger::-ms-fill {
+    background-color: #da0b00; }
+  .progress.is-danger:indeterminate {
+    background-image: linear-gradient(to right, #da0b00 30%, #dbdbdb 30%); }
+  .progress:indeterminate {
+    animation-duration: 1.5s;
+    animation-iteration-count: infinite;
+    animation-name: moveIndeterminate;
+    animation-timing-function: linear;
+    background-color: #dbdbdb;
+    background-image: linear-gradient(to right, #222222 30%, #dbdbdb 30%);
+    background-position: top left;
+    background-repeat: no-repeat;
+    background-size: 150% 150%; }
+    .progress:indeterminate::-webkit-progress-bar {
+      background-color: transparent; }
+    .progress:indeterminate::-moz-progress-bar {
+      background-color: transparent; }
+  .progress.is-small, #documenter .docs-sidebar form.docs-search > input.progress {
+    height: 0.75rem; }
+  .progress.is-medium {
+    height: 1.25rem; }
+  .progress.is-large {
+    height: 1.5rem; }
+
+@keyframes moveIndeterminate {
+  from {
+    background-position: 200% 0; }
+  to {
+    background-position: -200% 0; } }
+
+.table {
+  background-color: white;
+  color: #363636; }
+  .table td,
+  .table th {
+    border: 1px solid #dbdbdb;
+    border-width: 0 0 1px;
+    padding: 0.5em 0.75em;
+    vertical-align: top; }
+    .table td.is-white,
+    .table th.is-white {
+      background-color: white;
+      border-color: white;
+      color: #0a0a0a; }
+    .table td.is-black,
+    .table th.is-black {
+      background-color: #0a0a0a;
+      border-color: #0a0a0a;
+      color: white; }
+    .table td.is-light,
+    .table th.is-light {
+      background-color: whitesmoke;
+      border-color: whitesmoke;
+      color: #363636; }
+    .table td.is-dark,
+    .table th.is-dark {
+      background-color: #363636;
+      border-color: #363636;
+      color: whitesmoke; }
+    .table td.is-primary,
+    .table th.is-primary {
+      background-color: #4eb5de;
+      border-color: #4eb5de;
+      color: #fff; }
+    .table td.is-link,
+    .table th.is-link {
+      background-color: #2e63b8;
+      border-color: #2e63b8;
+      color: #fff; }
+    .table td.is-info,
+    .table th.is-info {
+      background-color: #209cee;
+      border-color: #209cee;
+      color: #fff; }
+    .table td.is-success,
+    .table th.is-success {
+      background-color: #22c35b;
+      border-color: #22c35b;
+      color: #fff; }
+    .table td.is-warning,
+    .table th.is-warning {
+      background-color: #ffdd57;
+      border-color: #ffdd57;
+      color: rgba(0, 0, 0, 0.7); }
+    .table td.is-danger,
+    .table th.is-danger {
+      background-color: #da0b00;
+      border-color: #da0b00;
+      color: #fff; }
+    .table td.is-narrow,
+    .table th.is-narrow {
+      white-space: nowrap;
+      width: 1%; }
+    .table td.is-selected,
+    .table th.is-selected {
+      background-color: #4eb5de;
+      color: #fff; }
+      .table td.is-selected a,
+      .table td.is-selected strong,
+      .table th.is-selected a,
+      .table th.is-selected strong {
+        color: currentColor; }
+  .table th {
+    color: #222222; }
+    .table th:not([align]) {
+      text-align: left; }
+  .table tr.is-selected {
+    background-color: #4eb5de;
+    color: #fff; }
+    .table tr.is-selected a,
+    .table tr.is-selected strong {
+      color: currentColor; }
+    .table tr.is-selected td,
+    .table tr.is-selected th {
+      border-color: #fff;
+      color: currentColor; }
+  .table thead {
+    background-color: transparent; }
+    .table thead td,
+    .table thead th {
+      border-width: 0 0 2px;
+      color: #222222; }
+  .table tfoot {
+    background-color: transparent; }
+    .table tfoot td,
+    .table tfoot th {
+      border-width: 2px 0 0;
+      color: #222222; }
+  .table tbody {
+    background-color: transparent; }
+    .table tbody tr:last-child td,
+    .table tbody tr:last-child th {
+      border-bottom-width: 0; }
+  .table.is-bordered td,
+  .table.is-bordered th {
+    border-width: 1px; }
+  .table.is-bordered tr:last-child td,
+  .table.is-bordered tr:last-child th {
+    border-bottom-width: 1px; }
+  .table.is-fullwidth {
+    width: 100%; }
+  .table.is-hoverable tbody tr:not(.is-selected):hover {
+    background-color: #fafafa; }
+  .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
+    background-color: #fafafa; }
+    .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
+      background-color: whitesmoke; }
+  .table.is-narrow td,
+  .table.is-narrow th {
+    padding: 0.25em 0.5em; }
+  .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
+    background-color: #fafafa; }
+
+.table-container {
+  -webkit-overflow-scrolling: touch;
+  overflow: auto;
+  overflow-y: hidden;
+  max-width: 100%; }
+
+.tags {
+  align-items: center;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: flex-start; }
+  .tags .tag, .tags .content kbd, .content .tags kbd, .tags .docstring > section > a.docs-sourcelink {
+    margin-bottom: 0.5rem; }
+    .tags .tag:not(:last-child), .tags .content kbd:not(:last-child), .content .tags kbd:not(:last-child), .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
+      margin-right: 0.5rem; }
+  .tags:last-child {
+    margin-bottom: -0.5rem; }
+  .tags:not(:last-child) {
+    margin-bottom: 1rem; }
+  .tags.are-medium .tag:not(.is-normal):not(.is-large), .tags.are-medium .content kbd:not(.is-normal):not(.is-large), .content .tags.are-medium kbd:not(.is-normal):not(.is-large), .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
+    font-size: 1rem; }
+  .tags.are-large .tag:not(.is-normal):not(.is-medium), .tags.are-large .content kbd:not(.is-normal):not(.is-medium), .content .tags.are-large kbd:not(.is-normal):not(.is-medium), .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
+    font-size: 1.25rem; }
+  .tags.is-centered {
+    justify-content: center; }
+    .tags.is-centered .tag, .tags.is-centered .content kbd, .content .tags.is-centered kbd, .tags.is-centered .docstring > section > a.docs-sourcelink {
+      margin-right: 0.25rem;
+      margin-left: 0.25rem; }
+  .tags.is-right {
+    justify-content: flex-end; }
+    .tags.is-right .tag:not(:first-child), .tags.is-right .content kbd:not(:first-child), .content .tags.is-right kbd:not(:first-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
+      margin-left: 0.5rem; }
+    .tags.is-right .tag:not(:last-child), .tags.is-right .content kbd:not(:last-child), .content .tags.is-right kbd:not(:last-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
+      margin-right: 0; }
+  .tags.has-addons .tag, .tags.has-addons .content kbd, .content .tags.has-addons kbd, .tags.has-addons .docstring > section > a.docs-sourcelink {
+    margin-right: 0; }
+    .tags.has-addons .tag:not(:first-child), .tags.has-addons .content kbd:not(:first-child), .content .tags.has-addons kbd:not(:first-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
+      margin-left: 0;
+      border-bottom-left-radius: 0;
+      border-top-left-radius: 0; }
+    .tags.has-addons .tag:not(:last-child), .tags.has-addons .content kbd:not(:last-child), .content .tags.has-addons kbd:not(:last-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
+      border-bottom-right-radius: 0;
+      border-top-right-radius: 0; }
+
+.tag:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink:not(body) {
+  align-items: center;
+  background-color: whitesmoke;
+  border-radius: 4px;
+  color: #222222;
+  display: inline-flex;
+  font-size: 0.75rem;
+  height: 2em;
+  justify-content: center;
+  line-height: 1.5;
+  padding-left: 0.75em;
+  padding-right: 0.75em;
+  white-space: nowrap; }
+  .tag:not(body) .delete, .content kbd:not(body) .delete, .docstring > section > a.docs-sourcelink:not(body) .delete {
+    margin-left: 0.25rem;
+    margin-right: -0.375rem; }
+  .tag.is-white:not(body), .content kbd.is-white:not(body), .docstring > section > a.docs-sourcelink.is-white:not(body) {
+    background-color: white;
+    color: #0a0a0a; }
+  .tag.is-black:not(body), .content kbd.is-black:not(body), .docstring > section > a.docs-sourcelink.is-black:not(body) {
+    background-color: #0a0a0a;
+    color: white; }
+  .tag.is-light:not(body), .content kbd.is-light:not(body), .docstring > section > a.docs-sourcelink.is-light:not(body) {
+    background-color: whitesmoke;
+    color: #363636; }
+  .tag.is-dark:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink.is-dark:not(body), .content .docstring > section > kbd:not(body) {
+    background-color: #363636;
+    color: whitesmoke; }
+  .tag.is-primary:not(body), .content kbd.is-primary:not(body), .docstring > section > a.docs-sourcelink:not(body) {
+    background-color: #4eb5de;
+    color: #fff; }
+  .tag.is-link:not(body), .content kbd.is-link:not(body), .docstring > section > a.docs-sourcelink.is-link:not(body) {
+    background-color: #2e63b8;
+    color: #fff; }
+  .tag.is-info:not(body), .content kbd.is-info:not(body), .docstring > section > a.docs-sourcelink.is-info:not(body) {
+    background-color: #209cee;
+    color: #fff; }
+  .tag.is-success:not(body), .content kbd.is-success:not(body), .docstring > section > a.docs-sourcelink.is-success:not(body) {
+    background-color: #22c35b;
+    color: #fff; }
+  .tag.is-warning:not(body), .content kbd.is-warning:not(body), .docstring > section > a.docs-sourcelink.is-warning:not(body) {
+    background-color: #ffdd57;
+    color: rgba(0, 0, 0, 0.7); }
+  .tag.is-danger:not(body), .content kbd.is-danger:not(body), .docstring > section > a.docs-sourcelink.is-danger:not(body) {
+    background-color: #da0b00;
+    color: #fff; }
+  .tag.is-normal:not(body), .content kbd.is-normal:not(body), .docstring > section > a.docs-sourcelink.is-normal:not(body) {
+    font-size: 0.75rem; }
+  .tag.is-medium:not(body), .content kbd.is-medium:not(body), .docstring > section > a.docs-sourcelink.is-medium:not(body) {
+    font-size: 1rem; }
+  .tag.is-large:not(body), .content kbd.is-large:not(body), .docstring > section > a.docs-sourcelink.is-large:not(body) {
+    font-size: 1.25rem; }
+  .tag:not(body) .icon:first-child:not(:last-child), .content kbd:not(body) .icon:first-child:not(:last-child), .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
+    margin-left: -0.375em;
+    margin-right: 0.1875em; }
+  .tag:not(body) .icon:last-child:not(:first-child), .content kbd:not(body) .icon:last-child:not(:first-child), .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
+    margin-left: 0.1875em;
+    margin-right: -0.375em; }
+  .tag:not(body) .icon:first-child:last-child, .content kbd:not(body) .icon:first-child:last-child, .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
+    margin-left: -0.375em;
+    margin-right: -0.375em; }
+  .tag.is-delete:not(body), .content kbd.is-delete:not(body), .docstring > section > a.docs-sourcelink.is-delete:not(body) {
+    margin-left: 1px;
+    padding: 0;
+    position: relative;
+    width: 2em; }
+    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+      background-color: currentColor;
+      content: "";
+      display: block;
+      left: 50%;
+      position: absolute;
+      top: 50%;
+      transform: translateX(-50%) translateY(-50%) rotate(45deg);
+      transform-origin: center center; }
+    .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
+      height: 1px;
+      width: 50%; }
+    .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+      height: 50%;
+      width: 1px; }
+    .tag.is-delete:not(body):hover, .content kbd.is-delete:not(body):hover, .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, .tag.is-delete:not(body):focus, .content kbd.is-delete:not(body):focus, .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
+      background-color: #e8e8e8; }
+    .tag.is-delete:not(body):active, .content kbd.is-delete:not(body):active, .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
+      background-color: #dbdbdb; }
+  .tag.is-rounded:not(body), #documenter .docs-sidebar form.docs-search > input:not(body), .content kbd.is-rounded:not(body), #documenter .docs-sidebar .content form.docs-search > input:not(body), .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
+    border-radius: 290486px; }
+
+a.tag:hover, .docstring > section > a.docs-sourcelink:hover {
+  text-decoration: underline; }
+
+.title,
+.subtitle {
+  word-break: break-word; }
+  .title em,
+  .title span,
+  .subtitle em,
+  .subtitle span {
+    font-weight: inherit; }
+  .title sub,
+  .subtitle sub {
+    font-size: 0.75em; }
+  .title sup,
+  .subtitle sup {
+    font-size: 0.75em; }
+  .title .tag, .title .content kbd, .content .title kbd, .title .docstring > section > a.docs-sourcelink,
+  .subtitle .tag,
+  .subtitle .content kbd,
+  .content .subtitle kbd,
+  .subtitle .docstring > section > a.docs-sourcelink {
+    vertical-align: middle; }
+
+.title {
+  color: #363636;
+  font-size: 2rem;
+  font-weight: 600;
+  line-height: 1.125; }
+  .title strong {
+    color: inherit;
+    font-weight: inherit; }
+  .title + .highlight {
+    margin-top: -0.75rem; }
+  .title:not(.is-spaced) + .subtitle {
+    margin-top: -1.25rem; }
+  .title.is-1 {
+    font-size: 3rem; }
+  .title.is-2 {
+    font-size: 2.5rem; }
+  .title.is-3 {
+    font-size: 2rem; }
+  .title.is-4 {
+    font-size: 1.5rem; }
+  .title.is-5 {
+    font-size: 1.25rem; }
+  .title.is-6 {
+    font-size: 1rem; }
+  .title.is-7 {
+    font-size: 0.75rem; }
+
+.subtitle {
+  color: #4a4a4a;
+  font-size: 1.25rem;
+  font-weight: 400;
+  line-height: 1.25; }
+  .subtitle strong {
+    color: #363636;
+    font-weight: 600; }
+  .subtitle:not(.is-spaced) + .title {
+    margin-top: -1.25rem; }
+  .subtitle.is-1 {
+    font-size: 3rem; }
+  .subtitle.is-2 {
+    font-size: 2.5rem; }
+  .subtitle.is-3 {
+    font-size: 2rem; }
+  .subtitle.is-4 {
+    font-size: 1.5rem; }
+  .subtitle.is-5 {
+    font-size: 1.25rem; }
+  .subtitle.is-6 {
+    font-size: 1rem; }
+  .subtitle.is-7 {
+    font-size: 0.75rem; }
+
+.heading {
+  display: block;
+  font-size: 11px;
+  letter-spacing: 1px;
+  margin-bottom: 5px;
+  text-transform: uppercase; }
+
+.highlight {
+  font-weight: 400;
+  max-width: 100%;
+  overflow: hidden;
+  padding: 0; }
+  .highlight pre {
+    overflow: auto;
+    max-width: 100%; }
+
+.number {
+  align-items: center;
+  background-color: whitesmoke;
+  border-radius: 290486px;
+  display: inline-flex;
+  font-size: 1.25rem;
+  height: 2em;
+  justify-content: center;
+  margin-right: 1.5rem;
+  min-width: 2.5em;
+  padding: 0.25rem 0.5rem;
+  text-align: center;
+  vertical-align: top; }
+
+.select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input {
+  background-color: white;
+  border-color: #dbdbdb;
+  border-radius: 4px;
+  color: #363636; }
+  .select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
+    color: rgba(54, 54, 54, 0.3); }
+  .select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
+    color: rgba(54, 54, 54, 0.3); }
+  .select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
+    color: rgba(54, 54, 54, 0.3); }
+  .select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
+    color: rgba(54, 54, 54, 0.3); }
+  .select select:hover, .textarea:hover, .input:hover, #documenter .docs-sidebar form.docs-search > input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input, #documenter .docs-sidebar form.docs-search > input.is-hovered {
+    border-color: #b5b5b5; }
+  .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+    border-color: #2e63b8;
+    box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+  .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input {
+    background-color: whitesmoke;
+    border-color: whitesmoke;
+    box-shadow: none;
+    color: #6b6b6b; }
+    .select select[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .input[disabled]::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-moz-placeholder {
+      color: rgba(107, 107, 107, 0.3); }
+    .select select[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .input[disabled]::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-webkit-input-placeholder {
+      color: rgba(107, 107, 107, 0.3); }
+    .select select[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .input[disabled]:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-moz-placeholder {
+      color: rgba(107, 107, 107, 0.3); }
+    .select select[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .input[disabled]:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-ms-input-placeholder {
+      color: rgba(107, 107, 107, 0.3); }
+
+.textarea, .input, #documenter .docs-sidebar form.docs-search > input {
+  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+  max-width: 100%;
+  width: 100%; }
+  .textarea[readonly], .input[readonly], #documenter .docs-sidebar form.docs-search > input[readonly] {
+    box-shadow: none; }
+  .is-white.textarea, .is-white.input, #documenter .docs-sidebar form.docs-search > input.is-white {
+    border-color: white; }
+    .is-white.textarea:focus, .is-white.input:focus, #documenter .docs-sidebar form.docs-search > input.is-white:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-white.textarea:active, .is-white.input:active, #documenter .docs-sidebar form.docs-search > input.is-white:active, .is-white.is-active.textarea, .is-white.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+  .is-black.textarea, .is-black.input, #documenter .docs-sidebar form.docs-search > input.is-black {
+    border-color: #0a0a0a; }
+    .is-black.textarea:focus, .is-black.input:focus, #documenter .docs-sidebar form.docs-search > input.is-black:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-black.textarea:active, .is-black.input:active, #documenter .docs-sidebar form.docs-search > input.is-black:active, .is-black.is-active.textarea, .is-black.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+  .is-light.textarea, .is-light.input, #documenter .docs-sidebar form.docs-search > input.is-light {
+    border-color: whitesmoke; }
+    .is-light.textarea:focus, .is-light.input:focus, #documenter .docs-sidebar form.docs-search > input.is-light:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-light.textarea:active, .is-light.input:active, #documenter .docs-sidebar form.docs-search > input.is-light:active, .is-light.is-active.textarea, .is-light.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+  .is-dark.textarea, .content kbd.textarea, .is-dark.input, #documenter .docs-sidebar form.docs-search > input.is-dark, .content kbd.input {
+    border-color: #363636; }
+    .is-dark.textarea:focus, .content kbd.textarea:focus, .is-dark.input:focus, #documenter .docs-sidebar form.docs-search > input.is-dark:focus, .content kbd.input:focus, .is-dark.is-focused.textarea, .content kbd.is-focused.textarea, .is-dark.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .content kbd.is-focused.input, #documenter .docs-sidebar .content form.docs-search > input.is-focused, .is-dark.textarea:active, .content kbd.textarea:active, .is-dark.input:active, #documenter .docs-sidebar form.docs-search > input.is-dark:active, .content kbd.input:active, .is-dark.is-active.textarea, .content kbd.is-active.textarea, .is-dark.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .content kbd.is-active.input, #documenter .docs-sidebar .content form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+  .is-primary.textarea, .docstring > section > a.textarea.docs-sourcelink, .is-primary.input, #documenter .docs-sidebar form.docs-search > input.is-primary, .docstring > section > a.input.docs-sourcelink {
+    border-color: #4eb5de; }
+    .is-primary.textarea:focus, .docstring > section > a.textarea.docs-sourcelink:focus, .is-primary.input:focus, #documenter .docs-sidebar form.docs-search > input.is-primary:focus, .docstring > section > a.input.docs-sourcelink:focus, .is-primary.is-focused.textarea, .docstring > section > a.is-focused.textarea.docs-sourcelink, .is-primary.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .docstring > section > a.is-focused.input.docs-sourcelink, .is-primary.textarea:active, .docstring > section > a.textarea.docs-sourcelink:active, .is-primary.input:active, #documenter .docs-sidebar form.docs-search > input.is-primary:active, .docstring > section > a.input.docs-sourcelink:active, .is-primary.is-active.textarea, .docstring > section > a.is-active.textarea.docs-sourcelink, .is-primary.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .docstring > section > a.is-active.input.docs-sourcelink {
+      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
+  .is-link.textarea, .is-link.input, #documenter .docs-sidebar form.docs-search > input.is-link {
+    border-color: #2e63b8; }
+    .is-link.textarea:focus, .is-link.input:focus, #documenter .docs-sidebar form.docs-search > input.is-link:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-link.textarea:active, .is-link.input:active, #documenter .docs-sidebar form.docs-search > input.is-link:active, .is-link.is-active.textarea, .is-link.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+  .is-info.textarea, .is-info.input, #documenter .docs-sidebar form.docs-search > input.is-info {
+    border-color: #209cee; }
+    .is-info.textarea:focus, .is-info.input:focus, #documenter .docs-sidebar form.docs-search > input.is-info:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-info.textarea:active, .is-info.input:active, #documenter .docs-sidebar form.docs-search > input.is-info:active, .is-info.is-active.textarea, .is-info.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
+  .is-success.textarea, .is-success.input, #documenter .docs-sidebar form.docs-search > input.is-success {
+    border-color: #22c35b; }
+    .is-success.textarea:focus, .is-success.input:focus, #documenter .docs-sidebar form.docs-search > input.is-success:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-success.textarea:active, .is-success.input:active, #documenter .docs-sidebar form.docs-search > input.is-success:active, .is-success.is-active.textarea, .is-success.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
+  .is-warning.textarea, .is-warning.input, #documenter .docs-sidebar form.docs-search > input.is-warning {
+    border-color: #ffdd57; }
+    .is-warning.textarea:focus, .is-warning.input:focus, #documenter .docs-sidebar form.docs-search > input.is-warning:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-warning.textarea:active, .is-warning.input:active, #documenter .docs-sidebar form.docs-search > input.is-warning:active, .is-warning.is-active.textarea, .is-warning.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+  .is-danger.textarea, .is-danger.input, #documenter .docs-sidebar form.docs-search > input.is-danger {
+    border-color: #da0b00; }
+    .is-danger.textarea:focus, .is-danger.input:focus, #documenter .docs-sidebar form.docs-search > input.is-danger:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-danger.textarea:active, .is-danger.input:active, #documenter .docs-sidebar form.docs-search > input.is-danger:active, .is-danger.is-active.textarea, .is-danger.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
+  .is-small.textarea, .is-small.input, #documenter .docs-sidebar form.docs-search > input {
+    border-radius: 2px;
+    font-size: 0.75rem; }
+  .is-medium.textarea, .is-medium.input, #documenter .docs-sidebar form.docs-search > input.is-medium {
+    font-size: 1.25rem; }
+  .is-large.textarea, .is-large.input, #documenter .docs-sidebar form.docs-search > input.is-large {
+    font-size: 1.5rem; }
+  .is-fullwidth.textarea, .is-fullwidth.input, #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
+    display: block;
+    width: 100%; }
+  .is-inline.textarea, .is-inline.input, #documenter .docs-sidebar form.docs-search > input.is-inline {
+    display: inline;
+    width: auto; }
+
+.input.is-rounded, #documenter .docs-sidebar form.docs-search > input {
+  border-radius: 290486px;
+  padding-left: 1em;
+  padding-right: 1em; }
+
+.input.is-static, #documenter .docs-sidebar form.docs-search > input.is-static {
+  background-color: transparent;
+  border-color: transparent;
+  box-shadow: none;
+  padding-left: 0;
+  padding-right: 0; }
+
+.textarea {
+  display: block;
+  max-width: 100%;
+  min-width: 100%;
+  padding: 0.625em;
+  resize: vertical; }
+  .textarea:not([rows]) {
+    max-height: 600px;
+    min-height: 120px; }
+  .textarea[rows] {
+    height: initial; }
+  .textarea.has-fixed-size {
+    resize: none; }
+
+.radio, .checkbox {
+  cursor: pointer;
+  display: inline-block;
+  line-height: 1.25;
+  position: relative; }
+  .radio input, .checkbox input {
+    cursor: pointer; }
+  .radio:hover, .checkbox:hover {
+    color: #363636; }
+  .radio[disabled], .checkbox[disabled], fieldset[disabled] .radio, fieldset[disabled] .checkbox {
+    color: #6b6b6b;
+    cursor: not-allowed; }
+
+.radio + .radio {
+  margin-left: 0.5em; }
+
+.select {
+  display: inline-block;
+  max-width: 100%;
+  position: relative;
+  vertical-align: top; }
+  .select:not(.is-multiple) {
+    height: 2.25em; }
+  .select:not(.is-multiple):not(.is-loading)::after {
+    border-color: #2e63b8;
+    right: 1.125em;
+    z-index: 4; }
+  .select.is-rounded select, #documenter .docs-sidebar form.docs-search > input.select select {
+    border-radius: 290486px;
+    padding-left: 1em; }
+  .select select {
+    cursor: pointer;
+    display: block;
+    font-size: 1em;
+    max-width: 100%;
+    outline: none; }
+    .select select::-ms-expand {
+      display: none; }
+    .select select[disabled]:hover, fieldset[disabled] .select select:hover {
+      border-color: whitesmoke; }
+    .select select:not([multiple]) {
+      padding-right: 2.5em; }
+    .select select[multiple] {
+      height: auto;
+      padding: 0; }
+      .select select[multiple] option {
+        padding: 0.5em 1em; }
+  .select:not(.is-multiple):not(.is-loading):hover::after {
+    border-color: #363636; }
+  .select.is-white:not(:hover)::after {
+    border-color: white; }
+  .select.is-white select {
+    border-color: white; }
+    .select.is-white select:hover, .select.is-white select.is-hovered {
+      border-color: #f2f2f2; }
+    .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+  .select.is-black:not(:hover)::after {
+    border-color: #0a0a0a; }
+  .select.is-black select {
+    border-color: #0a0a0a; }
+    .select.is-black select:hover, .select.is-black select.is-hovered {
+      border-color: black; }
+    .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+  .select.is-light:not(:hover)::after {
+    border-color: whitesmoke; }
+  .select.is-light select {
+    border-color: whitesmoke; }
+    .select.is-light select:hover, .select.is-light select.is-hovered {
+      border-color: #e8e8e8; }
+    .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+  .select.is-dark:not(:hover)::after, .content kbd.select:not(:hover)::after {
+    border-color: #363636; }
+  .select.is-dark select, .content kbd.select select {
+    border-color: #363636; }
+    .select.is-dark select:hover, .content kbd.select select:hover, .select.is-dark select.is-hovered, .content kbd.select select.is-hovered {
+      border-color: #292929; }
+    .select.is-dark select:focus, .content kbd.select select:focus, .select.is-dark select.is-focused, .content kbd.select select.is-focused, .select.is-dark select:active, .content kbd.select select:active, .select.is-dark select.is-active, .content kbd.select select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+  .select.is-primary:not(:hover)::after, .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
+    border-color: #4eb5de; }
+  .select.is-primary select, .docstring > section > a.select.docs-sourcelink select {
+    border-color: #4eb5de; }
+    .select.is-primary select:hover, .docstring > section > a.select.docs-sourcelink select:hover, .select.is-primary select.is-hovered, .docstring > section > a.select.docs-sourcelink select.is-hovered {
+      border-color: #39acda; }
+    .select.is-primary select:focus, .docstring > section > a.select.docs-sourcelink select:focus, .select.is-primary select.is-focused, .docstring > section > a.select.docs-sourcelink select.is-focused, .select.is-primary select:active, .docstring > section > a.select.docs-sourcelink select:active, .select.is-primary select.is-active, .docstring > section > a.select.docs-sourcelink select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
+  .select.is-link:not(:hover)::after {
+    border-color: #2e63b8; }
+  .select.is-link select {
+    border-color: #2e63b8; }
+    .select.is-link select:hover, .select.is-link select.is-hovered {
+      border-color: #2958a4; }
+    .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+  .select.is-info:not(:hover)::after {
+    border-color: #209cee; }
+  .select.is-info select {
+    border-color: #209cee; }
+    .select.is-info select:hover, .select.is-info select.is-hovered {
+      border-color: #1190e3; }
+    .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
+  .select.is-success:not(:hover)::after {
+    border-color: #22c35b; }
+  .select.is-success select {
+    border-color: #22c35b; }
+    .select.is-success select:hover, .select.is-success select.is-hovered {
+      border-color: #1ead51; }
+    .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
+  .select.is-warning:not(:hover)::after {
+    border-color: #ffdd57; }
+  .select.is-warning select {
+    border-color: #ffdd57; }
+    .select.is-warning select:hover, .select.is-warning select.is-hovered {
+      border-color: #ffd83e; }
+    .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+  .select.is-danger:not(:hover)::after {
+    border-color: #da0b00; }
+  .select.is-danger select {
+    border-color: #da0b00; }
+    .select.is-danger select:hover, .select.is-danger select.is-hovered {
+      border-color: #c10a00; }
+    .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
+      box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
+  .select.is-small, #documenter .docs-sidebar form.docs-search > input.select {
+    border-radius: 2px;
+    font-size: 0.75rem; }
+  .select.is-medium {
+    font-size: 1.25rem; }
+  .select.is-large {
+    font-size: 1.5rem; }
+  .select.is-disabled::after {
+    border-color: #6b6b6b; }
+  .select.is-fullwidth {
+    width: 100%; }
+    .select.is-fullwidth select {
+      width: 100%; }
+  .select.is-loading::after {
+    margin-top: 0;
+    position: absolute;
+    right: 0.625em;
+    top: 0.625em;
+    transform: none; }
+  .select.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+    font-size: 0.75rem; }
+  .select.is-loading.is-medium:after {
+    font-size: 1.25rem; }
+  .select.is-loading.is-large:after {
+    font-size: 1.5rem; }
+
+.file {
+  align-items: stretch;
+  display: flex;
+  justify-content: flex-start;
+  position: relative; }
+  .file.is-white .file-cta {
+    background-color: white;
+    border-color: transparent;
+    color: #0a0a0a; }
+  .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
+    background-color: #f9f9f9;
+    border-color: transparent;
+    color: #0a0a0a; }
+  .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
+    color: #0a0a0a; }
+  .file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
+    background-color: #f2f2f2;
+    border-color: transparent;
+    color: #0a0a0a; }
+  .file.is-black .file-cta {
+    background-color: #0a0a0a;
+    border-color: transparent;
+    color: white; }
+  .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
+    background-color: #040404;
+    border-color: transparent;
+    color: white; }
+  .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
+    color: white; }
+  .file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
+    background-color: black;
+    border-color: transparent;
+    color: white; }
+  .file.is-light .file-cta {
+    background-color: whitesmoke;
+    border-color: transparent;
+    color: #363636; }
+  .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
+    background-color: #eeeeee;
+    border-color: transparent;
+    color: #363636; }
+  .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
+    color: #363636; }
+  .file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
+    background-color: #e8e8e8;
+    border-color: transparent;
+    color: #363636; }
+  .file.is-dark .file-cta, .content kbd.file .file-cta {
+    background-color: #363636;
+    border-color: transparent;
+    color: whitesmoke; }
+  .file.is-dark:hover .file-cta, .content kbd.file:hover .file-cta, .file.is-dark.is-hovered .file-cta, .content kbd.file.is-hovered .file-cta {
+    background-color: #2f2f2f;
+    border-color: transparent;
+    color: whitesmoke; }
+  .file.is-dark:focus .file-cta, .content kbd.file:focus .file-cta, .file.is-dark.is-focused .file-cta, .content kbd.file.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
+    color: whitesmoke; }
+  .file.is-dark:active .file-cta, .content kbd.file:active .file-cta, .file.is-dark.is-active .file-cta, .content kbd.file.is-active .file-cta {
+    background-color: #292929;
+    border-color: transparent;
+    color: whitesmoke; }
+  .file.is-primary .file-cta, .docstring > section > a.file.docs-sourcelink .file-cta {
+    background-color: #4eb5de;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-primary:hover .file-cta, .docstring > section > a.file.docs-sourcelink:hover .file-cta, .file.is-primary.is-hovered .file-cta, .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
+    background-color: #43b1dc;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-primary:focus .file-cta, .docstring > section > a.file.docs-sourcelink:focus .file-cta, .file.is-primary.is-focused .file-cta, .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(78, 181, 222, 0.25);
+    color: #fff; }
+  .file.is-primary:active .file-cta, .docstring > section > a.file.docs-sourcelink:active .file-cta, .file.is-primary.is-active .file-cta, .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
+    background-color: #39acda;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-link .file-cta {
+    background-color: #2e63b8;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
+    background-color: #2b5eae;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(46, 99, 184, 0.25);
+    color: #fff; }
+  .file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
+    background-color: #2958a4;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-info .file-cta {
+    background-color: #209cee;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
+    background-color: #1497ed;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25);
+    color: #fff; }
+  .file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
+    background-color: #1190e3;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-success .file-cta {
+    background-color: #22c35b;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
+    background-color: #20b856;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(34, 195, 91, 0.25);
+    color: #fff; }
+  .file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
+    background-color: #1ead51;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-warning .file-cta {
+    background-color: #ffdd57;
+    border-color: transparent;
+    color: rgba(0, 0, 0, 0.7); }
+  .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
+    background-color: #ffda4a;
+    border-color: transparent;
+    color: rgba(0, 0, 0, 0.7); }
+  .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
+    color: rgba(0, 0, 0, 0.7); }
+  .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
+    background-color: #ffd83e;
+    border-color: transparent;
+    color: rgba(0, 0, 0, 0.7); }
+  .file.is-danger .file-cta {
+    background-color: #da0b00;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
+    background-color: #cd0a00;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
+    border-color: transparent;
+    box-shadow: 0 0 0.5em rgba(218, 11, 0, 0.25);
+    color: #fff; }
+  .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
+    background-color: #c10a00;
+    border-color: transparent;
+    color: #fff; }
+  .file.is-small, #documenter .docs-sidebar form.docs-search > input.file {
+    font-size: 0.75rem; }
+  .file.is-medium {
+    font-size: 1.25rem; }
+    .file.is-medium .file-icon .fa {
+      font-size: 21px; }
+  .file.is-large {
+    font-size: 1.5rem; }
+    .file.is-large .file-icon .fa {
+      font-size: 28px; }
+  .file.has-name .file-cta {
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0; }
+  .file.has-name .file-name {
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0; }
+  .file.has-name.is-empty .file-cta {
+    border-radius: 4px; }
+  .file.has-name.is-empty .file-name {
+    display: none; }
+  .file.is-boxed .file-label {
+    flex-direction: column; }
+  .file.is-boxed .file-cta {
+    flex-direction: column;
+    height: auto;
+    padding: 1em 3em; }
+  .file.is-boxed .file-name {
+    border-width: 0 1px 1px; }
+  .file.is-boxed .file-icon {
+    height: 1.5em;
+    width: 1.5em; }
+    .file.is-boxed .file-icon .fa {
+      font-size: 21px; }
+  .file.is-boxed.is-small .file-icon .fa, #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
+    font-size: 14px; }
+  .file.is-boxed.is-medium .file-icon .fa {
+    font-size: 28px; }
+  .file.is-boxed.is-large .file-icon .fa {
+    font-size: 35px; }
+  .file.is-boxed.has-name .file-cta {
+    border-radius: 4px 4px 0 0; }
+  .file.is-boxed.has-name .file-name {
+    border-radius: 0 0 4px 4px;
+    border-width: 0 1px 1px; }
+  .file.is-centered {
+    justify-content: center; }
+  .file.is-fullwidth .file-label {
+    width: 100%; }
+  .file.is-fullwidth .file-name {
+    flex-grow: 1;
+    max-width: none; }
+  .file.is-right {
+    justify-content: flex-end; }
+    .file.is-right .file-cta {
+      border-radius: 0 4px 4px 0; }
+    .file.is-right .file-name {
+      border-radius: 4px 0 0 4px;
+      border-width: 1px 0 1px 1px;
+      order: -1; }
+
+.file-label {
+  align-items: stretch;
+  display: flex;
+  cursor: pointer;
+  justify-content: flex-start;
+  overflow: hidden;
+  position: relative; }
+  .file-label:hover .file-cta {
+    background-color: #eeeeee;
+    color: #363636; }
+  .file-label:hover .file-name {
+    border-color: #d5d5d5; }
+  .file-label:active .file-cta {
+    background-color: #e8e8e8;
+    color: #363636; }
+  .file-label:active .file-name {
+    border-color: #cfcfcf; }
+
+.file-input {
+  height: 100%;
+  left: 0;
+  opacity: 0;
+  outline: none;
+  position: absolute;
+  top: 0;
+  width: 100%; }
+
+.file-cta,
+.file-name {
+  border-color: #dbdbdb;
+  border-radius: 4px;
+  font-size: 1em;
+  padding-left: 1em;
+  padding-right: 1em;
+  white-space: nowrap; }
+
+.file-cta {
+  background-color: whitesmoke;
+  color: #4a4a4a; }
+
+.file-name {
+  border-color: #dbdbdb;
+  border-style: solid;
+  border-width: 1px 1px 1px 0;
+  display: block;
+  max-width: 16em;
+  overflow: hidden;
+  text-align: left;
+  text-overflow: ellipsis; }
+
+.file-icon {
+  align-items: center;
+  display: flex;
+  height: 1em;
+  justify-content: center;
+  margin-right: 0.5em;
+  width: 1em; }
+  .file-icon .fa {
+    font-size: 14px; }
+
+.label {
+  color: #363636;
+  display: block;
+  font-size: 1rem;
+  font-weight: 700; }
+  .label:not(:last-child) {
+    margin-bottom: 0.5em; }
+  .label.is-small, #documenter .docs-sidebar form.docs-search > input.label {
+    font-size: 0.75rem; }
+  .label.is-medium {
+    font-size: 1.25rem; }
+  .label.is-large {
+    font-size: 1.5rem; }
+
+.help {
+  display: block;
+  font-size: 0.75rem;
+  margin-top: 0.25rem; }
+  .help.is-white {
+    color: white; }
+  .help.is-black {
+    color: #0a0a0a; }
+  .help.is-light {
+    color: whitesmoke; }
+  .help.is-dark, .content kbd.help {
+    color: #363636; }
+  .help.is-primary, .docstring > section > a.help.docs-sourcelink {
+    color: #4eb5de; }
+  .help.is-link {
+    color: #2e63b8; }
+  .help.is-info {
+    color: #209cee; }
+  .help.is-success {
+    color: #22c35b; }
+  .help.is-warning {
+    color: #ffdd57; }
+  .help.is-danger {
+    color: #da0b00; }
+
+.field:not(:last-child) {
+  margin-bottom: 0.75rem; }
+
+.field.has-addons {
+  display: flex;
+  justify-content: flex-start; }
+  .field.has-addons .control:not(:last-child) {
+    margin-right: -1px; }
+  .field.has-addons .control:not(:first-child):not(:last-child) .button,
+  .field.has-addons .control:not(:first-child):not(:last-child) .input,
+  .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
+  #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
+  .field.has-addons .control:not(:first-child):not(:last-child) .select select {
+    border-radius: 0; }
+  .field.has-addons .control:first-child:not(:only-child) .button,
+  .field.has-addons .control:first-child:not(:only-child) .input,
+  .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+  #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
+  .field.has-addons .control:first-child:not(:only-child) .select select {
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0; }
+  .field.has-addons .control:last-child:not(:only-child) .button,
+  .field.has-addons .control:last-child:not(:only-child) .input,
+  .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+  #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
+  .field.has-addons .control:last-child:not(:only-child) .select select {
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0; }
+  .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button.is-hovered:not([disabled]),
+  .field.has-addons .control .input:not([disabled]):hover,
+  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
+  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
+  .field.has-addons .control .input.is-hovered:not([disabled]),
+  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
+  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
+  .field.has-addons .control .select select:not([disabled]):hover,
+  .field.has-addons .control .select select.is-hovered:not([disabled]) {
+    z-index: 2; }
+  .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button.is-focused:not([disabled]), .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button.is-active:not([disabled]),
+  .field.has-addons .control .input:not([disabled]):focus,
+  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
+  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
+  .field.has-addons .control .input.is-focused:not([disabled]),
+  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
+  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
+  .field.has-addons .control .input:not([disabled]):active,
+  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
+  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
+  .field.has-addons .control .input.is-active:not([disabled]),
+  .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
+  #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
+  .field.has-addons .control .select select:not([disabled]):focus,
+  .field.has-addons .control .select select.is-focused:not([disabled]),
+  .field.has-addons .control .select select:not([disabled]):active,
+  .field.has-addons .control .select select.is-active:not([disabled]) {
+    z-index: 3; }
+    .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button.is-focused:not([disabled]):hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button.is-active:not([disabled]):hover,
+    .field.has-addons .control .input:not([disabled]):focus:hover,
+    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
+    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
+    .field.has-addons .control .input.is-focused:not([disabled]):hover,
+    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
+    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
+    .field.has-addons .control .input:not([disabled]):active:hover,
+    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
+    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
+    .field.has-addons .control .input.is-active:not([disabled]):hover,
+    .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
+    #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
+    .field.has-addons .control .select select:not([disabled]):focus:hover,
+    .field.has-addons .control .select select.is-focused:not([disabled]):hover,
+    .field.has-addons .control .select select:not([disabled]):active:hover,
+    .field.has-addons .control .select select.is-active:not([disabled]):hover {
+      z-index: 4; }
+  .field.has-addons .control.is-expanded {
+    flex-grow: 1;
+    flex-shrink: 1; }
+  .field.has-addons.has-addons-centered {
+    justify-content: center; }
+  .field.has-addons.has-addons-right {
+    justify-content: flex-end; }
+  .field.has-addons.has-addons-fullwidth .control {
+    flex-grow: 1;
+    flex-shrink: 0; }
+
+.field.is-grouped {
+  display: flex;
+  justify-content: flex-start; }
+  .field.is-grouped > .control {
+    flex-shrink: 0; }
+    .field.is-grouped > .control:not(:last-child) {
+      margin-bottom: 0;
+      margin-right: 0.75rem; }
+    .field.is-grouped > .control.is-expanded {
+      flex-grow: 1;
+      flex-shrink: 1; }
+  .field.is-grouped.is-grouped-centered {
+    justify-content: center; }
+  .field.is-grouped.is-grouped-right {
+    justify-content: flex-end; }
+  .field.is-grouped.is-grouped-multiline {
+    flex-wrap: wrap; }
+    .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
+      margin-bottom: 0.75rem; }
+    .field.is-grouped.is-grouped-multiline:last-child {
+      margin-bottom: -0.75rem; }
+    .field.is-grouped.is-grouped-multiline:not(:last-child) {
+      margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+  .field.is-horizontal {
+    display: flex; } }
+
+.field-label .label {
+  font-size: inherit; }
+
+@media screen and (max-width: 768px) {
+  .field-label {
+    margin-bottom: 0.5rem; } }
+
+@media screen and (min-width: 769px), print {
+  .field-label {
+    flex-basis: 0;
+    flex-grow: 1;
+    flex-shrink: 0;
+    margin-right: 1.5rem;
+    text-align: right; }
+    .field-label.is-small, #documenter .docs-sidebar form.docs-search > input.field-label {
+      font-size: 0.75rem;
+      padding-top: 0.375em; }
+    .field-label.is-normal {
+      padding-top: 0.375em; }
+    .field-label.is-medium {
+      font-size: 1.25rem;
+      padding-top: 0.375em; }
+    .field-label.is-large {
+      font-size: 1.5rem;
+      padding-top: 0.375em; } }
+
+.field-body .field .field {
+  margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+  .field-body {
+    display: flex;
+    flex-basis: 0;
+    flex-grow: 5;
+    flex-shrink: 1; }
+    .field-body .field {
+      margin-bottom: 0; }
+    .field-body > .field {
+      flex-shrink: 1; }
+      .field-body > .field:not(.is-narrow) {
+        flex-grow: 1; }
+      .field-body > .field:not(:last-child) {
+        margin-right: 0.75rem; } }
+
+.control {
+  box-sizing: border-box;
+  clear: both;
+  font-size: 1rem;
+  position: relative;
+  text-align: left; }
+  .control.has-icons-left .input:focus ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
+  .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
+  .control.has-icons-right .select:focus ~ .icon {
+    color: #6b6b6b; }
+  .control.has-icons-left .input.is-small ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
+  .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
+  .control.has-icons-right .select.is-small ~ .icon {
+    font-size: 0.75rem; }
+  .control.has-icons-left .input.is-medium ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
+  .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
+  .control.has-icons-right .select.is-medium ~ .icon {
+    font-size: 1.25rem; }
+  .control.has-icons-left .input.is-large ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
+  .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
+  .control.has-icons-right .select.is-large ~ .icon {
+    font-size: 1.5rem; }
+  .control.has-icons-left .icon, .control.has-icons-right .icon {
+    color: #dbdbdb;
+    height: 2.25em;
+    pointer-events: none;
+    position: absolute;
+    top: 0;
+    width: 2.25em;
+    z-index: 4; }
+  .control.has-icons-left .input, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
+  .control.has-icons-left .select select {
+    padding-left: 2.25em; }
+  .control.has-icons-left .icon.is-left {
+    left: 0; }
+  .control.has-icons-right .input, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
+  .control.has-icons-right .select select {
+    padding-right: 2.25em; }
+  .control.has-icons-right .icon.is-right {
+    right: 0; }
+  .control.is-loading::after {
+    position: absolute !important;
+    right: 0.625em;
+    top: 0.625em;
+    z-index: 4; }
+  .control.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+    font-size: 0.75rem; }
+  .control.is-loading.is-medium:after {
+    font-size: 1.25rem; }
+  .control.is-loading.is-large:after {
+    font-size: 1.5rem; }
+
+.breadcrumb {
+  font-size: 1rem;
+  white-space: nowrap; }
+  .breadcrumb a {
+    align-items: center;
+    color: #2e63b8;
+    display: flex;
+    justify-content: center;
+    padding: 0 0.75em; }
+    .breadcrumb a:hover {
+      color: #363636; }
+  .breadcrumb li {
+    align-items: center;
+    display: flex; }
+    .breadcrumb li:first-child a {
+      padding-left: 0; }
+    .breadcrumb li.is-active a {
+      color: #222222;
+      cursor: default;
+      pointer-events: none; }
+    .breadcrumb li + li::before {
+      color: #b5b5b5;
+      content: "\0002f"; }
+  .breadcrumb ul,
+  .breadcrumb ol {
+    align-items: flex-start;
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: flex-start; }
+  .breadcrumb .icon:first-child {
+    margin-right: 0.5em; }
+  .breadcrumb .icon:last-child {
+    margin-left: 0.5em; }
+  .breadcrumb.is-centered ol,
+  .breadcrumb.is-centered ul {
+    justify-content: center; }
+  .breadcrumb.is-right ol,
+  .breadcrumb.is-right ul {
+    justify-content: flex-end; }
+  .breadcrumb.is-small, #documenter .docs-sidebar form.docs-search > input.breadcrumb {
+    font-size: 0.75rem; }
+  .breadcrumb.is-medium {
+    font-size: 1.25rem; }
+  .breadcrumb.is-large {
+    font-size: 1.5rem; }
+  .breadcrumb.has-arrow-separator li + li::before {
+    content: "\02192"; }
+  .breadcrumb.has-bullet-separator li + li::before {
+    content: "\02022"; }
+  .breadcrumb.has-dot-separator li + li::before {
+    content: "\000b7"; }
+  .breadcrumb.has-succeeds-separator li + li::before {
+    content: "\0227B"; }
+
+.card {
+  background-color: white;
+  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+  color: #222222;
+  max-width: 100%;
+  position: relative; }
+
+.card-header {
+  background-color: transparent;
+  align-items: stretch;
+  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+  display: flex; }
+
+.card-header-title {
+  align-items: center;
+  color: #222222;
+  display: flex;
+  flex-grow: 1;
+  font-weight: 700;
+  padding: 0.75rem; }
+  .card-header-title.is-centered {
+    justify-content: center; }
+
+.card-header-icon {
+  align-items: center;
+  cursor: pointer;
+  display: flex;
+  justify-content: center;
+  padding: 0.75rem; }
+
+.card-image {
+  display: block;
+  position: relative; }
+
+.card-content {
+  background-color: transparent;
+  padding: 1.5rem; }
+
+.card-footer {
+  background-color: transparent;
+  border-top: 1px solid #dbdbdb;
+  align-items: stretch;
+  display: flex; }
+
+.card-footer-item {
+  align-items: center;
+  display: flex;
+  flex-basis: 0;
+  flex-grow: 1;
+  flex-shrink: 0;
+  justify-content: center;
+  padding: 0.75rem; }
+  .card-footer-item:not(:last-child) {
+    border-right: 1px solid #dbdbdb; }
+
+.card .media:not(:last-child) {
+  margin-bottom: 1.5rem; }
+
+.dropdown {
+  display: inline-flex;
+  position: relative;
+  vertical-align: top; }
+  .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu {
+    display: block; }
+  .dropdown.is-right .dropdown-menu {
+    left: auto;
+    right: 0; }
+  .dropdown.is-up .dropdown-menu {
+    bottom: 100%;
+    padding-bottom: 4px;
+    padding-top: initial;
+    top: auto; }
+
+.dropdown-menu {
+  display: none;
+  left: 0;
+  min-width: 12rem;
+  padding-top: 4px;
+  position: absolute;
+  top: 100%;
+  z-index: 20; }
+
+.dropdown-content {
+  background-color: white;
+  border-radius: 4px;
+  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+  padding-bottom: 0.5rem;
+  padding-top: 0.5rem; }
+
+.dropdown-item {
+  color: #4a4a4a;
+  display: block;
+  font-size: 0.875rem;
+  line-height: 1.5;
+  padding: 0.375rem 1rem;
+  position: relative; }
+
+a.dropdown-item,
+button.dropdown-item {
+  padding-right: 3rem;
+  text-align: left;
+  white-space: nowrap;
+  width: 100%; }
+  a.dropdown-item:hover,
+  button.dropdown-item:hover {
+    background-color: whitesmoke;
+    color: #0a0a0a; }
+  a.dropdown-item.is-active,
+  button.dropdown-item.is-active {
+    background-color: #2e63b8;
+    color: #fff; }
+
+.dropdown-divider {
+  background-color: #dbdbdb;
+  border: none;
+  display: block;
+  height: 1px;
+  margin: 0.5rem 0; }
+
+.level {
+  align-items: center;
+  justify-content: space-between; }
+  .level code {
+    border-radius: 4px; }
+  .level img {
+    display: inline-block;
+    vertical-align: top; }
+  .level.is-mobile {
+    display: flex; }
+    .level.is-mobile .level-left,
+    .level.is-mobile .level-right {
+      display: flex; }
+    .level.is-mobile .level-left + .level-right {
+      margin-top: 0; }
+    .level.is-mobile .level-item:not(:last-child) {
+      margin-bottom: 0;
+      margin-right: 0.75rem; }
+    .level.is-mobile .level-item:not(.is-narrow) {
+      flex-grow: 1; }
+  @media screen and (min-width: 769px), print {
+    .level {
+      display: flex; }
+      .level > .level-item:not(.is-narrow) {
+        flex-grow: 1; } }
+.level-item {
+  align-items: center;
+  display: flex;
+  flex-basis: auto;
+  flex-grow: 0;
+  flex-shrink: 0;
+  justify-content: center; }
+  .level-item .title,
+  .level-item .subtitle {
+    margin-bottom: 0; }
+  @media screen and (max-width: 768px) {
+    .level-item:not(:last-child) {
+      margin-bottom: 0.75rem; } }
+.level-left,
+.level-right {
+  flex-basis: auto;
+  flex-grow: 0;
+  flex-shrink: 0; }
+  .level-left .level-item.is-flexible,
+  .level-right .level-item.is-flexible {
+    flex-grow: 1; }
+  @media screen and (min-width: 769px), print {
+    .level-left .level-item:not(:last-child),
+    .level-right .level-item:not(:last-child) {
+      margin-right: 0.75rem; } }
+.level-left {
+  align-items: center;
+  justify-content: flex-start; }
+  @media screen and (max-width: 768px) {
+    .level-left + .level-right {
+      margin-top: 1.5rem; } }
+  @media screen and (min-width: 769px), print {
+    .level-left {
+      display: flex; } }
+.level-right {
+  align-items: center;
+  justify-content: flex-end; }
+  @media screen and (min-width: 769px), print {
+    .level-right {
+      display: flex; } }
+.list {
+  background-color: white;
+  border-radius: 4px;
+  box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
+
+.list-item {
+  display: block;
+  padding: 0.5em 1em; }
+  .list-item:not(a) {
+    color: #222222; }
+  .list-item:first-child {
+    border-top-left-radius: 4px;
+    border-top-right-radius: 4px; }
+  .list-item:last-child {
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px; }
+  .list-item:not(:last-child) {
+    border-bottom: 1px solid #dbdbdb; }
+  .list-item.is-active {
+    background-color: #2e63b8;
+    color: #fff; }
+
+a.list-item {
+  background-color: whitesmoke;
+  cursor: pointer; }
+
+.media {
+  align-items: flex-start;
+  display: flex;
+  text-align: left; }
+  .media .content:not(:last-child) {
+    margin-bottom: 0.75rem; }
+  .media .media {
+    border-top: 1px solid rgba(219, 219, 219, 0.5);
+    display: flex;
+    padding-top: 0.75rem; }
+    .media .media .content:not(:last-child),
+    .media .media .control:not(:last-child) {
+      margin-bottom: 0.5rem; }
+    .media .media .media {
+      padding-top: 0.5rem; }
+      .media .media .media + .media {
+        margin-top: 0.5rem; }
+  .media + .media {
+    border-top: 1px solid rgba(219, 219, 219, 0.5);
+    margin-top: 1rem;
+    padding-top: 1rem; }
+  .media.is-large + .media {
+    margin-top: 1.5rem;
+    padding-top: 1.5rem; }
+
+.media-left,
+.media-right {
+  flex-basis: auto;
+  flex-grow: 0;
+  flex-shrink: 0; }
+
+.media-left {
+  margin-right: 1rem; }
+
+.media-right {
+  margin-left: 1rem; }
+
+.media-content {
+  flex-basis: auto;
+  flex-grow: 1;
+  flex-shrink: 1;
+  text-align: left; }
+
+@media screen and (max-width: 768px) {
+  .media-content {
+    overflow-x: auto; } }
+
+.menu {
+  font-size: 1rem; }
+  .menu.is-small, #documenter .docs-sidebar form.docs-search > input.menu {
+    font-size: 0.75rem; }
+  .menu.is-medium {
+    font-size: 1.25rem; }
+  .menu.is-large {
+    font-size: 1.5rem; }
+
+.menu-list {
+  line-height: 1.25; }
+  .menu-list a {
+    border-radius: 2px;
+    color: #222222;
+    display: block;
+    padding: 0.5em 0.75em; }
+    .menu-list a:hover {
+      background-color: whitesmoke;
+      color: #222222; }
+    .menu-list a.is-active {
+      background-color: #2e63b8;
+      color: #fff; }
+  .menu-list li ul {
+    border-left: 1px solid #dbdbdb;
+    margin: 0.75em;
+    padding-left: 0.75em; }
+
+.menu-label {
+  color: #6b6b6b;
+  font-size: 0.75em;
+  letter-spacing: 0.1em;
+  text-transform: uppercase; }
+  .menu-label:not(:first-child) {
+    margin-top: 1em; }
+  .menu-label:not(:last-child) {
+    margin-bottom: 1em; }
+
+.message {
+  background-color: whitesmoke;
+  border-radius: 4px;
+  font-size: 1rem; }
+  .message strong {
+    color: currentColor; }
+  .message a:not(.button):not(.tag):not(.dropdown-item) {
+    color: currentColor;
+    text-decoration: underline; }
+  .message.is-small, #documenter .docs-sidebar form.docs-search > input.message {
+    font-size: 0.75rem; }
+  .message.is-medium {
+    font-size: 1.25rem; }
+  .message.is-large {
+    font-size: 1.5rem; }
+  .message.is-white {
+    background-color: white; }
+    .message.is-white .message-header {
+      background-color: white;
+      color: #0a0a0a; }
+    .message.is-white .message-body {
+      border-color: white;
+      color: #4d4d4d; }
+  .message.is-black {
+    background-color: #fafafa; }
+    .message.is-black .message-header {
+      background-color: #0a0a0a;
+      color: white; }
+    .message.is-black .message-body {
+      border-color: #0a0a0a;
+      color: #090909; }
+  .message.is-light {
+    background-color: #fafafa; }
+    .message.is-light .message-header {
+      background-color: whitesmoke;
+      color: #363636; }
+    .message.is-light .message-body {
+      border-color: whitesmoke;
+      color: #505050; }
+  .message.is-dark, .content kbd.message {
+    background-color: #fafafa; }
+    .message.is-dark .message-header, .content kbd.message .message-header {
+      background-color: #363636;
+      color: whitesmoke; }
+    .message.is-dark .message-body, .content kbd.message .message-body {
+      border-color: #363636;
+      color: #2a2a2a; }
+  .message.is-primary, .docstring > section > a.message.docs-sourcelink {
+    background-color: #f6fbfd; }
+    .message.is-primary .message-header, .docstring > section > a.message.docs-sourcelink .message-header {
+      background-color: #4eb5de;
+      color: #fff; }
+    .message.is-primary .message-body, .docstring > section > a.message.docs-sourcelink .message-body {
+      border-color: #4eb5de;
+      color: #1f556a; }
+  .message.is-link {
+    background-color: #f7f9fd; }
+    .message.is-link .message-header {
+      background-color: #2e63b8;
+      color: #fff; }
+    .message.is-link .message-body {
+      border-color: #2e63b8;
+      color: #264981; }
+  .message.is-info {
+    background-color: #f6fbfe; }
+    .message.is-info .message-header {
+      background-color: #209cee;
+      color: #fff; }
+    .message.is-info .message-body {
+      border-color: #209cee;
+      color: #12537d; }
+  .message.is-success {
+    background-color: #f6fdf9; }
+    .message.is-success .message-header {
+      background-color: #22c35b;
+      color: #fff; }
+    .message.is-success .message-body {
+      border-color: #22c35b;
+      color: #0f361d; }
+  .message.is-warning {
+    background-color: #fffdf5; }
+    .message.is-warning .message-header {
+      background-color: #ffdd57;
+      color: rgba(0, 0, 0, 0.7); }
+    .message.is-warning .message-body {
+      border-color: #ffdd57;
+      color: #3c3108; }
+  .message.is-danger {
+    background-color: #fff5f5; }
+    .message.is-danger .message-header {
+      background-color: #da0b00;
+      color: #fff; }
+    .message.is-danger .message-body {
+      border-color: #da0b00;
+      color: #9b0c04; }
+
+.message-header {
+  align-items: center;
+  background-color: #222222;
+  border-radius: 4px 4px 0 0;
+  color: #fff;
+  display: flex;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 1.25;
+  padding: 0.75em 1em;
+  position: relative; }
+  .message-header .delete {
+    flex-grow: 0;
+    flex-shrink: 0;
+    margin-left: 0.75em; }
+  .message-header + .message-body {
+    border-width: 0;
+    border-top-left-radius: 0;
+    border-top-right-radius: 0; }
+
+.message-body {
+  border-color: #dbdbdb;
+  border-radius: 4px;
+  border-style: solid;
+  border-width: 0 0 0 4px;
+  color: #222222;
+  padding: 1.25em 1.5em; }
+  .message-body code,
+  .message-body pre {
+    background-color: white; }
+  .message-body pre code {
+    background-color: transparent; }
+
+.modal {
+  align-items: center;
+  display: none;
+  flex-direction: column;
+  justify-content: center;
+  overflow: hidden;
+  position: fixed;
+  z-index: 40; }
+  .modal.is-active {
+    display: flex; }
+
+.modal-background {
+  background-color: rgba(10, 10, 10, 0.86); }
+
+.modal-content,
+.modal-card {
+  margin: 0 20px;
+  max-height: calc(100vh - 160px);
+  overflow: auto;
+  position: relative;
+  width: 100%; }
+  @media screen and (min-width: 769px), print {
+    .modal-content,
+    .modal-card {
+      margin: 0 auto;
+      max-height: calc(100vh - 40px);
+      width: 640px; } }
+.modal-close {
+  background: none;
+  height: 40px;
+  position: fixed;
+  right: 20px;
+  top: 20px;
+  width: 40px; }
+
+.modal-card {
+  display: flex;
+  flex-direction: column;
+  max-height: calc(100vh - 40px);
+  overflow: hidden;
+  -ms-overflow-y: visible; }
+
+.modal-card-head,
+.modal-card-foot {
+  align-items: center;
+  background-color: whitesmoke;
+  display: flex;
+  flex-shrink: 0;
+  justify-content: flex-start;
+  padding: 20px;
+  position: relative; }
+
+.modal-card-head {
+  border-bottom: 1px solid #dbdbdb;
+  border-top-left-radius: 6px;
+  border-top-right-radius: 6px; }
+
+.modal-card-title {
+  color: #222222;
+  flex-grow: 1;
+  flex-shrink: 0;
+  font-size: 1.5rem;
+  line-height: 1; }
+
+.modal-card-foot {
+  border-bottom-left-radius: 6px;
+  border-bottom-right-radius: 6px;
+  border-top: 1px solid #dbdbdb; }
+  .modal-card-foot .button:not(:last-child) {
+    margin-right: 0.5em; }
+
+.modal-card-body {
+  -webkit-overflow-scrolling: touch;
+  background-color: white;
+  flex-grow: 1;
+  flex-shrink: 1;
+  overflow: auto;
+  padding: 20px; }
+
+.navbar {
+  background-color: white;
+  min-height: 3.25rem;
+  position: relative;
+  z-index: 30; }
+  .navbar.is-white {
+    background-color: white;
+    color: #0a0a0a; }
+    .navbar.is-white .navbar-brand > .navbar-item,
+    .navbar.is-white .navbar-brand .navbar-link {
+      color: #0a0a0a; }
+    .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-white .navbar-brand .navbar-link:focus,
+    .navbar.is-white .navbar-brand .navbar-link:hover,
+    .navbar.is-white .navbar-brand .navbar-link.is-active {
+      background-color: #f2f2f2;
+      color: #0a0a0a; }
+    .navbar.is-white .navbar-brand .navbar-link::after {
+      border-color: #0a0a0a; }
+    .navbar.is-white .navbar-burger {
+      color: #0a0a0a; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-white .navbar-start > .navbar-item,
+      .navbar.is-white .navbar-start .navbar-link,
+      .navbar.is-white .navbar-end > .navbar-item,
+      .navbar.is-white .navbar-end .navbar-link {
+        color: #0a0a0a; }
+      .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
+      .navbar.is-white .navbar-start .navbar-link:focus,
+      .navbar.is-white .navbar-start .navbar-link:hover,
+      .navbar.is-white .navbar-start .navbar-link.is-active,
+      .navbar.is-white .navbar-end > a.navbar-item:focus,
+      .navbar.is-white .navbar-end > a.navbar-item:hover,
+      .navbar.is-white .navbar-end > a.navbar-item.is-active,
+      .navbar.is-white .navbar-end .navbar-link:focus,
+      .navbar.is-white .navbar-end .navbar-link:hover,
+      .navbar.is-white .navbar-end .navbar-link.is-active {
+        background-color: #f2f2f2;
+        color: #0a0a0a; }
+      .navbar.is-white .navbar-start .navbar-link::after,
+      .navbar.is-white .navbar-end .navbar-link::after {
+        border-color: #0a0a0a; }
+      .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #f2f2f2;
+        color: #0a0a0a; }
+      .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
+        background-color: white;
+        color: #0a0a0a; } }
+  .navbar.is-black {
+    background-color: #0a0a0a;
+    color: white; }
+    .navbar.is-black .navbar-brand > .navbar-item,
+    .navbar.is-black .navbar-brand .navbar-link {
+      color: white; }
+    .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-black .navbar-brand .navbar-link:focus,
+    .navbar.is-black .navbar-brand .navbar-link:hover,
+    .navbar.is-black .navbar-brand .navbar-link.is-active {
+      background-color: black;
+      color: white; }
+    .navbar.is-black .navbar-brand .navbar-link::after {
+      border-color: white; }
+    .navbar.is-black .navbar-burger {
+      color: white; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-black .navbar-start > .navbar-item,
+      .navbar.is-black .navbar-start .navbar-link,
+      .navbar.is-black .navbar-end > .navbar-item,
+      .navbar.is-black .navbar-end .navbar-link {
+        color: white; }
+      .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
+      .navbar.is-black .navbar-start .navbar-link:focus,
+      .navbar.is-black .navbar-start .navbar-link:hover,
+      .navbar.is-black .navbar-start .navbar-link.is-active,
+      .navbar.is-black .navbar-end > a.navbar-item:focus,
+      .navbar.is-black .navbar-end > a.navbar-item:hover,
+      .navbar.is-black .navbar-end > a.navbar-item.is-active,
+      .navbar.is-black .navbar-end .navbar-link:focus,
+      .navbar.is-black .navbar-end .navbar-link:hover,
+      .navbar.is-black .navbar-end .navbar-link.is-active {
+        background-color: black;
+        color: white; }
+      .navbar.is-black .navbar-start .navbar-link::after,
+      .navbar.is-black .navbar-end .navbar-link::after {
+        border-color: white; }
+      .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: black;
+        color: white; }
+      .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
+        background-color: #0a0a0a;
+        color: white; } }
+  .navbar.is-light {
+    background-color: whitesmoke;
+    color: #363636; }
+    .navbar.is-light .navbar-brand > .navbar-item,
+    .navbar.is-light .navbar-brand .navbar-link {
+      color: #363636; }
+    .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-light .navbar-brand .navbar-link:focus,
+    .navbar.is-light .navbar-brand .navbar-link:hover,
+    .navbar.is-light .navbar-brand .navbar-link.is-active {
+      background-color: #e8e8e8;
+      color: #363636; }
+    .navbar.is-light .navbar-brand .navbar-link::after {
+      border-color: #363636; }
+    .navbar.is-light .navbar-burger {
+      color: #363636; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-light .navbar-start > .navbar-item,
+      .navbar.is-light .navbar-start .navbar-link,
+      .navbar.is-light .navbar-end > .navbar-item,
+      .navbar.is-light .navbar-end .navbar-link {
+        color: #363636; }
+      .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
+      .navbar.is-light .navbar-start .navbar-link:focus,
+      .navbar.is-light .navbar-start .navbar-link:hover,
+      .navbar.is-light .navbar-start .navbar-link.is-active,
+      .navbar.is-light .navbar-end > a.navbar-item:focus,
+      .navbar.is-light .navbar-end > a.navbar-item:hover,
+      .navbar.is-light .navbar-end > a.navbar-item.is-active,
+      .navbar.is-light .navbar-end .navbar-link:focus,
+      .navbar.is-light .navbar-end .navbar-link:hover,
+      .navbar.is-light .navbar-end .navbar-link.is-active {
+        background-color: #e8e8e8;
+        color: #363636; }
+      .navbar.is-light .navbar-start .navbar-link::after,
+      .navbar.is-light .navbar-end .navbar-link::after {
+        border-color: #363636; }
+      .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #e8e8e8;
+        color: #363636; }
+      .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
+        background-color: whitesmoke;
+        color: #363636; } }
+  .navbar.is-dark, .content kbd.navbar {
+    background-color: #363636;
+    color: whitesmoke; }
+    .navbar.is-dark .navbar-brand > .navbar-item, .content kbd.navbar .navbar-brand > .navbar-item,
+    .navbar.is-dark .navbar-brand .navbar-link,
+    .content kbd.navbar .navbar-brand .navbar-link {
+      color: whitesmoke; }
+    .navbar.is-dark .navbar-brand > a.navbar-item:focus, .content kbd.navbar .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .content kbd.navbar .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-dark .navbar-brand .navbar-link:focus,
+    .content kbd.navbar .navbar-brand .navbar-link:focus,
+    .navbar.is-dark .navbar-brand .navbar-link:hover,
+    .content kbd.navbar .navbar-brand .navbar-link:hover,
+    .navbar.is-dark .navbar-brand .navbar-link.is-active,
+    .content kbd.navbar .navbar-brand .navbar-link.is-active {
+      background-color: #292929;
+      color: whitesmoke; }
+    .navbar.is-dark .navbar-brand .navbar-link::after, .content kbd.navbar .navbar-brand .navbar-link::after {
+      border-color: whitesmoke; }
+    .navbar.is-dark .navbar-burger, .content kbd.navbar .navbar-burger {
+      color: whitesmoke; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-dark .navbar-start > .navbar-item, .content kbd.navbar .navbar-start > .navbar-item,
+      .navbar.is-dark .navbar-start .navbar-link,
+      .content kbd.navbar .navbar-start .navbar-link,
+      .navbar.is-dark .navbar-end > .navbar-item,
+      .content kbd.navbar .navbar-end > .navbar-item,
+      .navbar.is-dark .navbar-end .navbar-link,
+      .content kbd.navbar .navbar-end .navbar-link {
+        color: whitesmoke; }
+      .navbar.is-dark .navbar-start > a.navbar-item:focus, .content kbd.navbar .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .content kbd.navbar .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, .content kbd.navbar .navbar-start > a.navbar-item.is-active,
+      .navbar.is-dark .navbar-start .navbar-link:focus,
+      .content kbd.navbar .navbar-start .navbar-link:focus,
+      .navbar.is-dark .navbar-start .navbar-link:hover,
+      .content kbd.navbar .navbar-start .navbar-link:hover,
+      .navbar.is-dark .navbar-start .navbar-link.is-active,
+      .content kbd.navbar .navbar-start .navbar-link.is-active,
+      .navbar.is-dark .navbar-end > a.navbar-item:focus,
+      .content kbd.navbar .navbar-end > a.navbar-item:focus,
+      .navbar.is-dark .navbar-end > a.navbar-item:hover,
+      .content kbd.navbar .navbar-end > a.navbar-item:hover,
+      .navbar.is-dark .navbar-end > a.navbar-item.is-active,
+      .content kbd.navbar .navbar-end > a.navbar-item.is-active,
+      .navbar.is-dark .navbar-end .navbar-link:focus,
+      .content kbd.navbar .navbar-end .navbar-link:focus,
+      .navbar.is-dark .navbar-end .navbar-link:hover,
+      .content kbd.navbar .navbar-end .navbar-link:hover,
+      .navbar.is-dark .navbar-end .navbar-link.is-active,
+      .content kbd.navbar .navbar-end .navbar-link.is-active {
+        background-color: #292929;
+        color: whitesmoke; }
+      .navbar.is-dark .navbar-start .navbar-link::after, .content kbd.navbar .navbar-start .navbar-link::after,
+      .navbar.is-dark .navbar-end .navbar-link::after,
+      .content kbd.navbar .navbar-end .navbar-link::after {
+        border-color: whitesmoke; }
+      .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
+      .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
+      .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #292929;
+        color: whitesmoke; }
+      .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
+        background-color: #363636;
+        color: whitesmoke; } }
+  .navbar.is-primary, .docstring > section > a.navbar.docs-sourcelink {
+    background-color: #4eb5de;
+    color: #fff; }
+    .navbar.is-primary .navbar-brand > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
+    .navbar.is-primary .navbar-brand .navbar-link,
+    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
+      color: #fff; }
+    .navbar.is-primary .navbar-brand > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-primary .navbar-brand .navbar-link:focus,
+    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
+    .navbar.is-primary .navbar-brand .navbar-link:hover,
+    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
+    .navbar.is-primary .navbar-brand .navbar-link.is-active,
+    .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
+      background-color: #39acda;
+      color: #fff; }
+    .navbar.is-primary .navbar-brand .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
+      border-color: #fff; }
+    .navbar.is-primary .navbar-burger, .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
+      color: #fff; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-primary .navbar-start > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
+      .navbar.is-primary .navbar-start .navbar-link,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
+      .navbar.is-primary .navbar-end > .navbar-item,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
+      .navbar.is-primary .navbar-end .navbar-link,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
+        color: #fff; }
+      .navbar.is-primary .navbar-start > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
+      .navbar.is-primary .navbar-start .navbar-link:focus,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
+      .navbar.is-primary .navbar-start .navbar-link:hover,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
+      .navbar.is-primary .navbar-start .navbar-link.is-active,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
+      .navbar.is-primary .navbar-end > a.navbar-item:focus,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
+      .navbar.is-primary .navbar-end > a.navbar-item:hover,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
+      .navbar.is-primary .navbar-end > a.navbar-item.is-active,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
+      .navbar.is-primary .navbar-end .navbar-link:focus,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
+      .navbar.is-primary .navbar-end .navbar-link:hover,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
+      .navbar.is-primary .navbar-end .navbar-link.is-active,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
+        background-color: #39acda;
+        color: #fff; }
+      .navbar.is-primary .navbar-start .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
+      .navbar.is-primary .navbar-end .navbar-link::after,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
+        border-color: #fff; }
+      .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
+      .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #39acda;
+        color: #fff; }
+      .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
+        background-color: #4eb5de;
+        color: #fff; } }
+  .navbar.is-link {
+    background-color: #2e63b8;
+    color: #fff; }
+    .navbar.is-link .navbar-brand > .navbar-item,
+    .navbar.is-link .navbar-brand .navbar-link {
+      color: #fff; }
+    .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-link .navbar-brand .navbar-link:focus,
+    .navbar.is-link .navbar-brand .navbar-link:hover,
+    .navbar.is-link .navbar-brand .navbar-link.is-active {
+      background-color: #2958a4;
+      color: #fff; }
+    .navbar.is-link .navbar-brand .navbar-link::after {
+      border-color: #fff; }
+    .navbar.is-link .navbar-burger {
+      color: #fff; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-link .navbar-start > .navbar-item,
+      .navbar.is-link .navbar-start .navbar-link,
+      .navbar.is-link .navbar-end > .navbar-item,
+      .navbar.is-link .navbar-end .navbar-link {
+        color: #fff; }
+      .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
+      .navbar.is-link .navbar-start .navbar-link:focus,
+      .navbar.is-link .navbar-start .navbar-link:hover,
+      .navbar.is-link .navbar-start .navbar-link.is-active,
+      .navbar.is-link .navbar-end > a.navbar-item:focus,
+      .navbar.is-link .navbar-end > a.navbar-item:hover,
+      .navbar.is-link .navbar-end > a.navbar-item.is-active,
+      .navbar.is-link .navbar-end .navbar-link:focus,
+      .navbar.is-link .navbar-end .navbar-link:hover,
+      .navbar.is-link .navbar-end .navbar-link.is-active {
+        background-color: #2958a4;
+        color: #fff; }
+      .navbar.is-link .navbar-start .navbar-link::after,
+      .navbar.is-link .navbar-end .navbar-link::after {
+        border-color: #fff; }
+      .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #2958a4;
+        color: #fff; }
+      .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
+        background-color: #2e63b8;
+        color: #fff; } }
+  .navbar.is-info {
+    background-color: #209cee;
+    color: #fff; }
+    .navbar.is-info .navbar-brand > .navbar-item,
+    .navbar.is-info .navbar-brand .navbar-link {
+      color: #fff; }
+    .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-info .navbar-brand .navbar-link:focus,
+    .navbar.is-info .navbar-brand .navbar-link:hover,
+    .navbar.is-info .navbar-brand .navbar-link.is-active {
+      background-color: #1190e3;
+      color: #fff; }
+    .navbar.is-info .navbar-brand .navbar-link::after {
+      border-color: #fff; }
+    .navbar.is-info .navbar-burger {
+      color: #fff; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-info .navbar-start > .navbar-item,
+      .navbar.is-info .navbar-start .navbar-link,
+      .navbar.is-info .navbar-end > .navbar-item,
+      .navbar.is-info .navbar-end .navbar-link {
+        color: #fff; }
+      .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
+      .navbar.is-info .navbar-start .navbar-link:focus,
+      .navbar.is-info .navbar-start .navbar-link:hover,
+      .navbar.is-info .navbar-start .navbar-link.is-active,
+      .navbar.is-info .navbar-end > a.navbar-item:focus,
+      .navbar.is-info .navbar-end > a.navbar-item:hover,
+      .navbar.is-info .navbar-end > a.navbar-item.is-active,
+      .navbar.is-info .navbar-end .navbar-link:focus,
+      .navbar.is-info .navbar-end .navbar-link:hover,
+      .navbar.is-info .navbar-end .navbar-link.is-active {
+        background-color: #1190e3;
+        color: #fff; }
+      .navbar.is-info .navbar-start .navbar-link::after,
+      .navbar.is-info .navbar-end .navbar-link::after {
+        border-color: #fff; }
+      .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #1190e3;
+        color: #fff; }
+      .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
+        background-color: #209cee;
+        color: #fff; } }
+  .navbar.is-success {
+    background-color: #22c35b;
+    color: #fff; }
+    .navbar.is-success .navbar-brand > .navbar-item,
+    .navbar.is-success .navbar-brand .navbar-link {
+      color: #fff; }
+    .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-success .navbar-brand .navbar-link:focus,
+    .navbar.is-success .navbar-brand .navbar-link:hover,
+    .navbar.is-success .navbar-brand .navbar-link.is-active {
+      background-color: #1ead51;
+      color: #fff; }
+    .navbar.is-success .navbar-brand .navbar-link::after {
+      border-color: #fff; }
+    .navbar.is-success .navbar-burger {
+      color: #fff; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-success .navbar-start > .navbar-item,
+      .navbar.is-success .navbar-start .navbar-link,
+      .navbar.is-success .navbar-end > .navbar-item,
+      .navbar.is-success .navbar-end .navbar-link {
+        color: #fff; }
+      .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
+      .navbar.is-success .navbar-start .navbar-link:focus,
+      .navbar.is-success .navbar-start .navbar-link:hover,
+      .navbar.is-success .navbar-start .navbar-link.is-active,
+      .navbar.is-success .navbar-end > a.navbar-item:focus,
+      .navbar.is-success .navbar-end > a.navbar-item:hover,
+      .navbar.is-success .navbar-end > a.navbar-item.is-active,
+      .navbar.is-success .navbar-end .navbar-link:focus,
+      .navbar.is-success .navbar-end .navbar-link:hover,
+      .navbar.is-success .navbar-end .navbar-link.is-active {
+        background-color: #1ead51;
+        color: #fff; }
+      .navbar.is-success .navbar-start .navbar-link::after,
+      .navbar.is-success .navbar-end .navbar-link::after {
+        border-color: #fff; }
+      .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #1ead51;
+        color: #fff; }
+      .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
+        background-color: #22c35b;
+        color: #fff; } }
+  .navbar.is-warning {
+    background-color: #ffdd57;
+    color: rgba(0, 0, 0, 0.7); }
+    .navbar.is-warning .navbar-brand > .navbar-item,
+    .navbar.is-warning .navbar-brand .navbar-link {
+      color: rgba(0, 0, 0, 0.7); }
+    .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-warning .navbar-brand .navbar-link:focus,
+    .navbar.is-warning .navbar-brand .navbar-link:hover,
+    .navbar.is-warning .navbar-brand .navbar-link.is-active {
+      background-color: #ffd83e;
+      color: rgba(0, 0, 0, 0.7); }
+    .navbar.is-warning .navbar-brand .navbar-link::after {
+      border-color: rgba(0, 0, 0, 0.7); }
+    .navbar.is-warning .navbar-burger {
+      color: rgba(0, 0, 0, 0.7); }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-warning .navbar-start > .navbar-item,
+      .navbar.is-warning .navbar-start .navbar-link,
+      .navbar.is-warning .navbar-end > .navbar-item,
+      .navbar.is-warning .navbar-end .navbar-link {
+        color: rgba(0, 0, 0, 0.7); }
+      .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
+      .navbar.is-warning .navbar-start .navbar-link:focus,
+      .navbar.is-warning .navbar-start .navbar-link:hover,
+      .navbar.is-warning .navbar-start .navbar-link.is-active,
+      .navbar.is-warning .navbar-end > a.navbar-item:focus,
+      .navbar.is-warning .navbar-end > a.navbar-item:hover,
+      .navbar.is-warning .navbar-end > a.navbar-item.is-active,
+      .navbar.is-warning .navbar-end .navbar-link:focus,
+      .navbar.is-warning .navbar-end .navbar-link:hover,
+      .navbar.is-warning .navbar-end .navbar-link.is-active {
+        background-color: #ffd83e;
+        color: rgba(0, 0, 0, 0.7); }
+      .navbar.is-warning .navbar-start .navbar-link::after,
+      .navbar.is-warning .navbar-end .navbar-link::after {
+        border-color: rgba(0, 0, 0, 0.7); }
+      .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #ffd83e;
+        color: rgba(0, 0, 0, 0.7); }
+      .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
+        background-color: #ffdd57;
+        color: rgba(0, 0, 0, 0.7); } }
+  .navbar.is-danger {
+    background-color: #da0b00;
+    color: #fff; }
+    .navbar.is-danger .navbar-brand > .navbar-item,
+    .navbar.is-danger .navbar-brand .navbar-link {
+      color: #fff; }
+    .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
+    .navbar.is-danger .navbar-brand .navbar-link:focus,
+    .navbar.is-danger .navbar-brand .navbar-link:hover,
+    .navbar.is-danger .navbar-brand .navbar-link.is-active {
+      background-color: #c10a00;
+      color: #fff; }
+    .navbar.is-danger .navbar-brand .navbar-link::after {
+      border-color: #fff; }
+    .navbar.is-danger .navbar-burger {
+      color: #fff; }
+    @media screen and (min-width: 1056px) {
+      .navbar.is-danger .navbar-start > .navbar-item,
+      .navbar.is-danger .navbar-start .navbar-link,
+      .navbar.is-danger .navbar-end > .navbar-item,
+      .navbar.is-danger .navbar-end .navbar-link {
+        color: #fff; }
+      .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
+      .navbar.is-danger .navbar-start .navbar-link:focus,
+      .navbar.is-danger .navbar-start .navbar-link:hover,
+      .navbar.is-danger .navbar-start .navbar-link.is-active,
+      .navbar.is-danger .navbar-end > a.navbar-item:focus,
+      .navbar.is-danger .navbar-end > a.navbar-item:hover,
+      .navbar.is-danger .navbar-end > a.navbar-item.is-active,
+      .navbar.is-danger .navbar-end .navbar-link:focus,
+      .navbar.is-danger .navbar-end .navbar-link:hover,
+      .navbar.is-danger .navbar-end .navbar-link.is-active {
+        background-color: #c10a00;
+        color: #fff; }
+      .navbar.is-danger .navbar-start .navbar-link::after,
+      .navbar.is-danger .navbar-end .navbar-link::after {
+        border-color: #fff; }
+      .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
+      .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
+      .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
+        background-color: #c10a00;
+        color: #fff; }
+      .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
+        background-color: #da0b00;
+        color: #fff; } }
+  .navbar > .container {
+    align-items: stretch;
+    display: flex;
+    min-height: 3.25rem;
+    width: 100%; }
+  .navbar.has-shadow {
+    box-shadow: 0 2px 0 0 whitesmoke; }
+  .navbar.is-fixed-bottom, .navbar.is-fixed-top {
+    left: 0;
+    position: fixed;
+    right: 0;
+    z-index: 30; }
+  .navbar.is-fixed-bottom {
+    bottom: 0; }
+    .navbar.is-fixed-bottom.has-shadow {
+      box-shadow: 0 -2px 0 0 whitesmoke; }
+  .navbar.is-fixed-top {
+    top: 0; }
+
+html.has-navbar-fixed-top,
+body.has-navbar-fixed-top {
+  padding-top: 3.25rem; }
+
+html.has-navbar-fixed-bottom,
+body.has-navbar-fixed-bottom {
+  padding-bottom: 3.25rem; }
+
+.navbar-brand,
+.navbar-tabs {
+  align-items: stretch;
+  display: flex;
+  flex-shrink: 0;
+  min-height: 3.25rem; }
+
+.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
+  background-color: transparent; }
+
+.navbar-tabs {
+  -webkit-overflow-scrolling: touch;
+  max-width: 100vw;
+  overflow-x: auto;
+  overflow-y: hidden; }
+
+.navbar-burger {
+  color: #4a4a4a;
+  cursor: pointer;
+  display: block;
+  height: 3.25rem;
+  position: relative;
+  width: 3.25rem;
+  margin-left: auto; }
+  .navbar-burger span {
+    background-color: currentColor;
+    display: block;
+    height: 1px;
+    left: calc(50% - 8px);
+    position: absolute;
+    transform-origin: center;
+    transition-duration: 86ms;
+    transition-property: background-color, opacity, transform;
+    transition-timing-function: ease-out;
+    width: 16px; }
+    .navbar-burger span:nth-child(1) {
+      top: calc(50% - 6px); }
+    .navbar-burger span:nth-child(2) {
+      top: calc(50% - 1px); }
+    .navbar-burger span:nth-child(3) {
+      top: calc(50% + 4px); }
+  .navbar-burger:hover {
+    background-color: rgba(0, 0, 0, 0.05); }
+  .navbar-burger.is-active span:nth-child(1) {
+    transform: translateY(5px) rotate(45deg); }
+  .navbar-burger.is-active span:nth-child(2) {
+    opacity: 0; }
+  .navbar-burger.is-active span:nth-child(3) {
+    transform: translateY(-5px) rotate(-45deg); }
+
+.navbar-menu {
+  display: none; }
+
+.navbar-item,
+.navbar-link {
+  color: #4a4a4a;
+  display: block;
+  line-height: 1.5;
+  padding: 0.5rem 0.75rem;
+  position: relative; }
+  .navbar-item .icon:only-child,
+  .navbar-link .icon:only-child {
+    margin-left: -0.25rem;
+    margin-right: -0.25rem; }
+
+a.navbar-item,
+.navbar-link {
+  cursor: pointer; }
+  a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
+  .navbar-link:focus,
+  .navbar-link:focus-within,
+  .navbar-link:hover,
+  .navbar-link.is-active {
+    background-color: #fafafa;
+    color: #2e63b8; }
+
+.navbar-item {
+  display: block;
+  flex-grow: 0;
+  flex-shrink: 0; }
+  .navbar-item img {
+    max-height: 1.75rem; }
+  .navbar-item.has-dropdown {
+    padding: 0; }
+  .navbar-item.is-expanded {
+    flex-grow: 1;
+    flex-shrink: 1; }
+  .navbar-item.is-tab {
+    border-bottom: 1px solid transparent;
+    min-height: 3.25rem;
+    padding-bottom: calc(0.5rem - 1px); }
+    .navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
+      background-color: transparent;
+      border-bottom-color: #2e63b8; }
+    .navbar-item.is-tab.is-active {
+      background-color: transparent;
+      border-bottom-color: #2e63b8;
+      border-bottom-style: solid;
+      border-bottom-width: 3px;
+      color: #2e63b8;
+      padding-bottom: calc(0.5rem - 3px); }
+
+.navbar-content {
+  flex-grow: 1;
+  flex-shrink: 1; }
+
+.navbar-link:not(.is-arrowless) {
+  padding-right: 2.5em; }
+  .navbar-link:not(.is-arrowless)::after {
+    border-color: #2e63b8;
+    margin-top: -0.375em;
+    right: 1.125em; }
+
+.navbar-dropdown {
+  font-size: 0.875rem;
+  padding-bottom: 0.5rem;
+  padding-top: 0.5rem; }
+  .navbar-dropdown .navbar-item {
+    padding-left: 1.5rem;
+    padding-right: 1.5rem; }
+
+.navbar-divider {
+  background-color: whitesmoke;
+  border: none;
+  display: none;
+  height: 2px;
+  margin: 0.5rem 0; }
+
+@media screen and (max-width: 1055px) {
+  .navbar > .container {
+    display: block; }
+  .navbar-brand .navbar-item,
+  .navbar-tabs .navbar-item {
+    align-items: center;
+    display: flex; }
+  .navbar-link::after {
+    display: none; }
+  .navbar-menu {
+    background-color: white;
+    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
+    padding: 0.5rem 0; }
+    .navbar-menu.is-active {
+      display: block; }
+  .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
+    left: 0;
+    position: fixed;
+    right: 0;
+    z-index: 30; }
+  .navbar.is-fixed-bottom-touch {
+    bottom: 0; }
+    .navbar.is-fixed-bottom-touch.has-shadow {
+      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+  .navbar.is-fixed-top-touch {
+    top: 0; }
+  .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
+    -webkit-overflow-scrolling: touch;
+    max-height: calc(100vh - 3.25rem);
+    overflow: auto; }
+  html.has-navbar-fixed-top-touch,
+  body.has-navbar-fixed-top-touch {
+    padding-top: 3.25rem; }
+  html.has-navbar-fixed-bottom-touch,
+  body.has-navbar-fixed-bottom-touch {
+    padding-bottom: 3.25rem; } }
+
+@media screen and (min-width: 1056px) {
+  .navbar,
+  .navbar-menu,
+  .navbar-start,
+  .navbar-end {
+    align-items: stretch;
+    display: flex; }
+  .navbar {
+    min-height: 3.25rem; }
+    .navbar.is-spaced {
+      padding: 1rem 2rem; }
+      .navbar.is-spaced .navbar-start,
+      .navbar.is-spaced .navbar-end {
+        align-items: center; }
+      .navbar.is-spaced a.navbar-item,
+      .navbar.is-spaced .navbar-link {
+        border-radius: 4px; }
+    .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
+    .navbar.is-transparent .navbar-link:focus,
+    .navbar.is-transparent .navbar-link:hover,
+    .navbar.is-transparent .navbar-link.is-active {
+      background-color: transparent !important; }
+    .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
+      background-color: transparent !important; }
+    .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
+      background-color: whitesmoke;
+      color: #0a0a0a; }
+    .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
+      background-color: whitesmoke;
+      color: #2e63b8; }
+  .navbar-burger {
+    display: none; }
+  .navbar-item,
+  .navbar-link {
+    align-items: center;
+    display: flex; }
+  .navbar-item {
+    display: flex; }
+    .navbar-item.has-dropdown {
+      align-items: stretch; }
+    .navbar-item.has-dropdown-up .navbar-link::after {
+      transform: rotate(135deg) translate(0.25em, -0.25em); }
+    .navbar-item.has-dropdown-up .navbar-dropdown {
+      border-bottom: 2px solid #dbdbdb;
+      border-radius: 6px 6px 0 0;
+      border-top: none;
+      bottom: 100%;
+      box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
+      top: auto; }
+    .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
+      display: block; }
+      .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
+        opacity: 1;
+        pointer-events: auto;
+        transform: translateY(0); }
+  .navbar-menu {
+    flex-grow: 1;
+    flex-shrink: 0; }
+  .navbar-start {
+    justify-content: flex-start;
+    margin-right: auto; }
+  .navbar-end {
+    justify-content: flex-end;
+    margin-left: auto; }
+  .navbar-dropdown {
+    background-color: white;
+    border-bottom-left-radius: 6px;
+    border-bottom-right-radius: 6px;
+    border-top: 2px solid #dbdbdb;
+    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
+    display: none;
+    font-size: 0.875rem;
+    left: 0;
+    min-width: 100%;
+    position: absolute;
+    top: 100%;
+    z-index: 20; }
+    .navbar-dropdown .navbar-item {
+      padding: 0.375rem 1rem;
+      white-space: nowrap; }
+    .navbar-dropdown a.navbar-item {
+      padding-right: 3rem; }
+      .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
+        background-color: whitesmoke;
+        color: #0a0a0a; }
+      .navbar-dropdown a.navbar-item.is-active {
+        background-color: whitesmoke;
+        color: #2e63b8; }
+    .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
+      border-radius: 6px;
+      border-top: none;
+      box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+      display: block;
+      opacity: 0;
+      pointer-events: none;
+      top: calc(100% + (-4px));
+      transform: translateY(-5px);
+      transition-duration: 86ms;
+      transition-property: opacity, transform; }
+    .navbar-dropdown.is-right {
+      left: auto;
+      right: 0; }
+  .navbar-divider {
+    display: block; }
+  .navbar > .container .navbar-brand,
+  .container > .navbar .navbar-brand {
+    margin-left: -.75rem; }
+  .navbar > .container .navbar-menu,
+  .container > .navbar .navbar-menu {
+    margin-right: -.75rem; }
+  .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
+    left: 0;
+    position: fixed;
+    right: 0;
+    z-index: 30; }
+  .navbar.is-fixed-bottom-desktop {
+    bottom: 0; }
+    .navbar.is-fixed-bottom-desktop.has-shadow {
+      box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+  .navbar.is-fixed-top-desktop {
+    top: 0; }
+  html.has-navbar-fixed-top-desktop,
+  body.has-navbar-fixed-top-desktop {
+    padding-top: 3.25rem; }
+  html.has-navbar-fixed-bottom-desktop,
+  body.has-navbar-fixed-bottom-desktop {
+    padding-bottom: 3.25rem; }
+  html.has-spaced-navbar-fixed-top,
+  body.has-spaced-navbar-fixed-top {
+    padding-top: 5.25rem; }
+  html.has-spaced-navbar-fixed-bottom,
+  body.has-spaced-navbar-fixed-bottom {
+    padding-bottom: 5.25rem; }
+  a.navbar-item.is-active,
+  .navbar-link.is-active {
+    color: #0a0a0a; }
+  a.navbar-item.is-active:not(:focus):not(:hover),
+  .navbar-link.is-active:not(:focus):not(:hover) {
+    background-color: transparent; }
+  .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
+    background-color: #fafafa; } }
+
+.hero.is-fullheight-with-navbar {
+  min-height: calc(100vh - 3.25rem); }
+
+.pagination {
+  font-size: 1rem;
+  margin: -0.25rem; }
+  .pagination.is-small, #documenter .docs-sidebar form.docs-search > input.pagination {
+    font-size: 0.75rem; }
+  .pagination.is-medium {
+    font-size: 1.25rem; }
+  .pagination.is-large {
+    font-size: 1.5rem; }
+  .pagination.is-rounded .pagination-previous, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
+  .pagination.is-rounded .pagination-next,
+  #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
+    padding-left: 1em;
+    padding-right: 1em;
+    border-radius: 290486px; }
+  .pagination.is-rounded .pagination-link, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
+    border-radius: 290486px; }
+
+.pagination,
+.pagination-list {
+  align-items: center;
+  display: flex;
+  justify-content: center;
+  text-align: center; }
+
+.pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis {
+  font-size: 1em;
+  justify-content: center;
+  margin: 0.25rem;
+  padding-left: 0.5em;
+  padding-right: 0.5em;
+  text-align: center; }
+
+.pagination-previous,
+.pagination-next,
+.pagination-link {
+  border-color: #dbdbdb;
+  color: #363636;
+  min-width: 2.25em; }
+  .pagination-previous:hover,
+  .pagination-next:hover,
+  .pagination-link:hover {
+    border-color: #b5b5b5;
+    color: #363636; }
+  .pagination-previous:focus,
+  .pagination-next:focus,
+  .pagination-link:focus {
+    border-color: #3c5dcd; }
+  .pagination-previous:active,
+  .pagination-next:active,
+  .pagination-link:active {
+    box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
+  .pagination-previous[disabled],
+  .pagination-next[disabled],
+  .pagination-link[disabled] {
+    background-color: #dbdbdb;
+    border-color: #dbdbdb;
+    box-shadow: none;
+    color: #6b6b6b;
+    opacity: 0.5; }
+
+.pagination-previous,
+.pagination-next {
+  padding-left: 0.75em;
+  padding-right: 0.75em;
+  white-space: nowrap; }
+
+.pagination-link.is-current {
+  background-color: #2e63b8;
+  border-color: #2e63b8;
+  color: #fff; }
+
+.pagination-ellipsis {
+  color: #b5b5b5;
+  pointer-events: none; }
+
+.pagination-list {
+  flex-wrap: wrap; }
+
+@media screen and (max-width: 768px) {
+  .pagination {
+    flex-wrap: wrap; }
+  .pagination-previous,
+  .pagination-next {
+    flex-grow: 1;
+    flex-shrink: 1; }
+  .pagination-list li {
+    flex-grow: 1;
+    flex-shrink: 1; } }
+
+@media screen and (min-width: 769px), print {
+  .pagination-list {
+    flex-grow: 1;
+    flex-shrink: 1;
+    justify-content: flex-start;
+    order: 1; }
+  .pagination-previous {
+    order: 2; }
+  .pagination-next {
+    order: 3; }
+  .pagination {
+    justify-content: space-between; }
+    .pagination.is-centered .pagination-previous {
+      order: 1; }
+    .pagination.is-centered .pagination-list {
+      justify-content: center;
+      order: 2; }
+    .pagination.is-centered .pagination-next {
+      order: 3; }
+    .pagination.is-right .pagination-previous {
+      order: 1; }
+    .pagination.is-right .pagination-next {
+      order: 2; }
+    .pagination.is-right .pagination-list {
+      justify-content: flex-end;
+      order: 3; } }
+
+.panel {
+  font-size: 1rem; }
+  .panel:not(:last-child) {
+    margin-bottom: 1.5rem; }
+
+.panel-heading,
+.panel-tabs,
+.panel-block {
+  border-bottom: 1px solid #dbdbdb;
+  border-left: 1px solid #dbdbdb;
+  border-right: 1px solid #dbdbdb; }
+  .panel-heading:first-child,
+  .panel-tabs:first-child,
+  .panel-block:first-child {
+    border-top: 1px solid #dbdbdb; }
+
+.panel-heading {
+  background-color: whitesmoke;
+  border-radius: 4px 4px 0 0;
+  color: #222222;
+  font-size: 1.25em;
+  font-weight: 300;
+  line-height: 1.25;
+  padding: 0.5em 0.75em; }
+
+.panel-tabs {
+  align-items: flex-end;
+  display: flex;
+  font-size: 0.875em;
+  justify-content: center; }
+  .panel-tabs a {
+    border-bottom: 1px solid #dbdbdb;
+    margin-bottom: -1px;
+    padding: 0.5em; }
+    .panel-tabs a.is-active {
+      border-bottom-color: #4a4a4a;
+      color: #363636; }
+
+.panel-list a {
+  color: #222222; }
+  .panel-list a:hover {
+    color: #2e63b8; }
+
+.panel-block {
+  align-items: center;
+  color: #222222;
+  display: flex;
+  justify-content: flex-start;
+  padding: 0.5em 0.75em; }
+  .panel-block input[type="checkbox"] {
+    margin-right: 0.75em; }
+  .panel-block > .control {
+    flex-grow: 1;
+    flex-shrink: 1;
+    width: 100%; }
+  .panel-block.is-wrapped {
+    flex-wrap: wrap; }
+  .panel-block.is-active {
+    border-left-color: #2e63b8;
+    color: #363636; }
+    .panel-block.is-active .panel-icon {
+      color: #2e63b8; }
+
+a.panel-block,
+label.panel-block {
+  cursor: pointer; }
+  a.panel-block:hover,
+  label.panel-block:hover {
+    background-color: whitesmoke; }
+
+.panel-icon {
+  display: inline-block;
+  font-size: 14px;
+  height: 1em;
+  line-height: 1em;
+  text-align: center;
+  vertical-align: top;
+  width: 1em;
+  color: #6b6b6b;
+  margin-right: 0.75em; }
+  .panel-icon .fa {
+    font-size: inherit;
+    line-height: inherit; }
+
+.tabs {
+  -webkit-overflow-scrolling: touch;
+  align-items: stretch;
+  display: flex;
+  font-size: 1rem;
+  justify-content: space-between;
+  overflow: hidden;
+  overflow-x: auto;
+  white-space: nowrap; }
+  .tabs a {
+    align-items: center;
+    border-bottom-color: #dbdbdb;
+    border-bottom-style: solid;
+    border-bottom-width: 1px;
+    color: #222222;
+    display: flex;
+    justify-content: center;
+    margin-bottom: -1px;
+    padding: 0.5em 1em;
+    vertical-align: top; }
+    .tabs a:hover {
+      border-bottom-color: #222222;
+      color: #222222; }
+  .tabs li {
+    display: block; }
+    .tabs li.is-active a {
+      border-bottom-color: #2e63b8;
+      color: #2e63b8; }
+  .tabs ul {
+    align-items: center;
+    border-bottom-color: #dbdbdb;
+    border-bottom-style: solid;
+    border-bottom-width: 1px;
+    display: flex;
+    flex-grow: 1;
+    flex-shrink: 0;
+    justify-content: flex-start; }
+    .tabs ul.is-left {
+      padding-right: 0.75em; }
+    .tabs ul.is-center {
+      flex: none;
+      justify-content: center;
+      padding-left: 0.75em;
+      padding-right: 0.75em; }
+    .tabs ul.is-right {
+      justify-content: flex-end;
+      padding-left: 0.75em; }
+  .tabs .icon:first-child {
+    margin-right: 0.5em; }
+  .tabs .icon:last-child {
+    margin-left: 0.5em; }
+  .tabs.is-centered ul {
+    justify-content: center; }
+  .tabs.is-right ul {
+    justify-content: flex-end; }
+  .tabs.is-boxed a {
+    border: 1px solid transparent;
+    border-radius: 4px 4px 0 0; }
+    .tabs.is-boxed a:hover {
+      background-color: whitesmoke;
+      border-bottom-color: #dbdbdb; }
+  .tabs.is-boxed li.is-active a {
+    background-color: white;
+    border-color: #dbdbdb;
+    border-bottom-color: transparent !important; }
+  .tabs.is-fullwidth li {
+    flex-grow: 1;
+    flex-shrink: 0; }
+  .tabs.is-toggle a {
+    border-color: #dbdbdb;
+    border-style: solid;
+    border-width: 1px;
+    margin-bottom: 0;
+    position: relative; }
+    .tabs.is-toggle a:hover {
+      background-color: whitesmoke;
+      border-color: #b5b5b5;
+      z-index: 2; }
+  .tabs.is-toggle li + li {
+    margin-left: -1px; }
+  .tabs.is-toggle li:first-child a {
+    border-radius: 4px 0 0 4px; }
+  .tabs.is-toggle li:last-child a {
+    border-radius: 0 4px 4px 0; }
+  .tabs.is-toggle li.is-active a {
+    background-color: #2e63b8;
+    border-color: #2e63b8;
+    color: #fff;
+    z-index: 1; }
+  .tabs.is-toggle ul {
+    border-bottom: none; }
+  .tabs.is-toggle.is-toggle-rounded li:first-child a {
+    border-bottom-left-radius: 290486px;
+    border-top-left-radius: 290486px;
+    padding-left: 1.25em; }
+  .tabs.is-toggle.is-toggle-rounded li:last-child a {
+    border-bottom-right-radius: 290486px;
+    border-top-right-radius: 290486px;
+    padding-right: 1.25em; }
+  .tabs.is-small, #documenter .docs-sidebar form.docs-search > input.tabs {
+    font-size: 0.75rem; }
+  .tabs.is-medium {
+    font-size: 1.25rem; }
+  .tabs.is-large {
+    font-size: 1.5rem; }
+
+.column {
+  display: block;
+  flex-basis: 0;
+  flex-grow: 1;
+  flex-shrink: 1;
+  padding: 0.75rem; }
+  .columns.is-mobile > .column.is-narrow {
+    flex: none; }
+  .columns.is-mobile > .column.is-full {
+    flex: none;
+    width: 100%; }
+  .columns.is-mobile > .column.is-three-quarters {
+    flex: none;
+    width: 75%; }
+  .columns.is-mobile > .column.is-two-thirds {
+    flex: none;
+    width: 66.6666%; }
+  .columns.is-mobile > .column.is-half {
+    flex: none;
+    width: 50%; }
+  .columns.is-mobile > .column.is-one-third {
+    flex: none;
+    width: 33.3333%; }
+  .columns.is-mobile > .column.is-one-quarter {
+    flex: none;
+    width: 25%; }
+  .columns.is-mobile > .column.is-one-fifth {
+    flex: none;
+    width: 20%; }
+  .columns.is-mobile > .column.is-two-fifths {
+    flex: none;
+    width: 40%; }
+  .columns.is-mobile > .column.is-three-fifths {
+    flex: none;
+    width: 60%; }
+  .columns.is-mobile > .column.is-four-fifths {
+    flex: none;
+    width: 80%; }
+  .columns.is-mobile > .column.is-offset-three-quarters {
+    margin-left: 75%; }
+  .columns.is-mobile > .column.is-offset-two-thirds {
+    margin-left: 66.6666%; }
+  .columns.is-mobile > .column.is-offset-half {
+    margin-left: 50%; }
+  .columns.is-mobile > .column.is-offset-one-third {
+    margin-left: 33.3333%; }
+  .columns.is-mobile > .column.is-offset-one-quarter {
+    margin-left: 25%; }
+  .columns.is-mobile > .column.is-offset-one-fifth {
+    margin-left: 20%; }
+  .columns.is-mobile > .column.is-offset-two-fifths {
+    margin-left: 40%; }
+  .columns.is-mobile > .column.is-offset-three-fifths {
+    margin-left: 60%; }
+  .columns.is-mobile > .column.is-offset-four-fifths {
+    margin-left: 80%; }
+  .columns.is-mobile > .column.is-0 {
+    flex: none;
+    width: 0%; }
+  .columns.is-mobile > .column.is-offset-0 {
+    margin-left: 0%; }
+  .columns.is-mobile > .column.is-1 {
+    flex: none;
+    width: 8.3333333333%; }
+  .columns.is-mobile > .column.is-offset-1 {
+    margin-left: 8.3333333333%; }
+  .columns.is-mobile > .column.is-2 {
+    flex: none;
+    width: 16.6666666667%; }
+  .columns.is-mobile > .column.is-offset-2 {
+    margin-left: 16.6666666667%; }
+  .columns.is-mobile > .column.is-3 {
+    flex: none;
+    width: 25%; }
+  .columns.is-mobile > .column.is-offset-3 {
+    margin-left: 25%; }
+  .columns.is-mobile > .column.is-4 {
+    flex: none;
+    width: 33.3333333333%; }
+  .columns.is-mobile > .column.is-offset-4 {
+    margin-left: 33.3333333333%; }
+  .columns.is-mobile > .column.is-5 {
+    flex: none;
+    width: 41.6666666667%; }
+  .columns.is-mobile > .column.is-offset-5 {
+    margin-left: 41.6666666667%; }
+  .columns.is-mobile > .column.is-6 {
+    flex: none;
+    width: 50%; }
+  .columns.is-mobile > .column.is-offset-6 {
+    margin-left: 50%; }
+  .columns.is-mobile > .column.is-7 {
+    flex: none;
+    width: 58.3333333333%; }
+  .columns.is-mobile > .column.is-offset-7 {
+    margin-left: 58.3333333333%; }
+  .columns.is-mobile > .column.is-8 {
+    flex: none;
+    width: 66.6666666667%; }
+  .columns.is-mobile > .column.is-offset-8 {
+    margin-left: 66.6666666667%; }
+  .columns.is-mobile > .column.is-9 {
+    flex: none;
+    width: 75%; }
+  .columns.is-mobile > .column.is-offset-9 {
+    margin-left: 75%; }
+  .columns.is-mobile > .column.is-10 {
+    flex: none;
+    width: 83.3333333333%; }
+  .columns.is-mobile > .column.is-offset-10 {
+    margin-left: 83.3333333333%; }
+  .columns.is-mobile > .column.is-11 {
+    flex: none;
+    width: 91.6666666667%; }
+  .columns.is-mobile > .column.is-offset-11 {
+    margin-left: 91.6666666667%; }
+  .columns.is-mobile > .column.is-12 {
+    flex: none;
+    width: 100%; }
+  .columns.is-mobile > .column.is-offset-12 {
+    margin-left: 100%; }
+  @media screen and (max-width: 768px) {
+    .column.is-narrow-mobile {
+      flex: none; }
+    .column.is-full-mobile {
+      flex: none;
+      width: 100%; }
+    .column.is-three-quarters-mobile {
+      flex: none;
+      width: 75%; }
+    .column.is-two-thirds-mobile {
+      flex: none;
+      width: 66.6666%; }
+    .column.is-half-mobile {
+      flex: none;
+      width: 50%; }
+    .column.is-one-third-mobile {
+      flex: none;
+      width: 33.3333%; }
+    .column.is-one-quarter-mobile {
+      flex: none;
+      width: 25%; }
+    .column.is-one-fifth-mobile {
+      flex: none;
+      width: 20%; }
+    .column.is-two-fifths-mobile {
+      flex: none;
+      width: 40%; }
+    .column.is-three-fifths-mobile {
+      flex: none;
+      width: 60%; }
+    .column.is-four-fifths-mobile {
+      flex: none;
+      width: 80%; }
+    .column.is-offset-three-quarters-mobile {
+      margin-left: 75%; }
+    .column.is-offset-two-thirds-mobile {
+      margin-left: 66.6666%; }
+    .column.is-offset-half-mobile {
+      margin-left: 50%; }
+    .column.is-offset-one-third-mobile {
+      margin-left: 33.3333%; }
+    .column.is-offset-one-quarter-mobile {
+      margin-left: 25%; }
+    .column.is-offset-one-fifth-mobile {
+      margin-left: 20%; }
+    .column.is-offset-two-fifths-mobile {
+      margin-left: 40%; }
+    .column.is-offset-three-fifths-mobile {
+      margin-left: 60%; }
+    .column.is-offset-four-fifths-mobile {
+      margin-left: 80%; }
+    .column.is-0-mobile {
+      flex: none;
+      width: 0%; }
+    .column.is-offset-0-mobile {
+      margin-left: 0%; }
+    .column.is-1-mobile {
+      flex: none;
+      width: 8.3333333333%; }
+    .column.is-offset-1-mobile {
+      margin-left: 8.3333333333%; }
+    .column.is-2-mobile {
+      flex: none;
+      width: 16.6666666667%; }
+    .column.is-offset-2-mobile {
+      margin-left: 16.6666666667%; }
+    .column.is-3-mobile {
+      flex: none;
+      width: 25%; }
+    .column.is-offset-3-mobile {
+      margin-left: 25%; }
+    .column.is-4-mobile {
+      flex: none;
+      width: 33.3333333333%; }
+    .column.is-offset-4-mobile {
+      margin-left: 33.3333333333%; }
+    .column.is-5-mobile {
+      flex: none;
+      width: 41.6666666667%; }
+    .column.is-offset-5-mobile {
+      margin-left: 41.6666666667%; }
+    .column.is-6-mobile {
+      flex: none;
+      width: 50%; }
+    .column.is-offset-6-mobile {
+      margin-left: 50%; }
+    .column.is-7-mobile {
+      flex: none;
+      width: 58.3333333333%; }
+    .column.is-offset-7-mobile {
+      margin-left: 58.3333333333%; }
+    .column.is-8-mobile {
+      flex: none;
+      width: 66.6666666667%; }
+    .column.is-offset-8-mobile {
+      margin-left: 66.6666666667%; }
+    .column.is-9-mobile {
+      flex: none;
+      width: 75%; }
+    .column.is-offset-9-mobile {
+      margin-left: 75%; }
+    .column.is-10-mobile {
+      flex: none;
+      width: 83.3333333333%; }
+    .column.is-offset-10-mobile {
+      margin-left: 83.3333333333%; }
+    .column.is-11-mobile {
+      flex: none;
+      width: 91.6666666667%; }
+    .column.is-offset-11-mobile {
+      margin-left: 91.6666666667%; }
+    .column.is-12-mobile {
+      flex: none;
+      width: 100%; }
+    .column.is-offset-12-mobile {
+      margin-left: 100%; } }
+  @media screen and (min-width: 769px), print {
+    .column.is-narrow, .column.is-narrow-tablet {
+      flex: none; }
+    .column.is-full, .column.is-full-tablet {
+      flex: none;
+      width: 100%; }
+    .column.is-three-quarters, .column.is-three-quarters-tablet {
+      flex: none;
+      width: 75%; }
+    .column.is-two-thirds, .column.is-two-thirds-tablet {
+      flex: none;
+      width: 66.6666%; }
+    .column.is-half, .column.is-half-tablet {
+      flex: none;
+      width: 50%; }
+    .column.is-one-third, .column.is-one-third-tablet {
+      flex: none;
+      width: 33.3333%; }
+    .column.is-one-quarter, .column.is-one-quarter-tablet {
+      flex: none;
+      width: 25%; }
+    .column.is-one-fifth, .column.is-one-fifth-tablet {
+      flex: none;
+      width: 20%; }
+    .column.is-two-fifths, .column.is-two-fifths-tablet {
+      flex: none;
+      width: 40%; }
+    .column.is-three-fifths, .column.is-three-fifths-tablet {
+      flex: none;
+      width: 60%; }
+    .column.is-four-fifths, .column.is-four-fifths-tablet {
+      flex: none;
+      width: 80%; }
+    .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
+      margin-left: 75%; }
+    .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
+      margin-left: 66.6666%; }
+    .column.is-offset-half, .column.is-offset-half-tablet {
+      margin-left: 50%; }
+    .column.is-offset-one-third, .column.is-offset-one-third-tablet {
+      margin-left: 33.3333%; }
+    .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
+      margin-left: 25%; }
+    .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
+      margin-left: 20%; }
+    .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
+      margin-left: 40%; }
+    .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
+      margin-left: 60%; }
+    .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
+      margin-left: 80%; }
+    .column.is-0, .column.is-0-tablet {
+      flex: none;
+      width: 0%; }
+    .column.is-offset-0, .column.is-offset-0-tablet {
+      margin-left: 0%; }
+    .column.is-1, .column.is-1-tablet {
+      flex: none;
+      width: 8.3333333333%; }
+    .column.is-offset-1, .column.is-offset-1-tablet {
+      margin-left: 8.3333333333%; }
+    .column.is-2, .column.is-2-tablet {
+      flex: none;
+      width: 16.6666666667%; }
+    .column.is-offset-2, .column.is-offset-2-tablet {
+      margin-left: 16.6666666667%; }
+    .column.is-3, .column.is-3-tablet {
+      flex: none;
+      width: 25%; }
+    .column.is-offset-3, .column.is-offset-3-tablet {
+      margin-left: 25%; }
+    .column.is-4, .column.is-4-tablet {
+      flex: none;
+      width: 33.3333333333%; }
+    .column.is-offset-4, .column.is-offset-4-tablet {
+      margin-left: 33.3333333333%; }
+    .column.is-5, .column.is-5-tablet {
+      flex: none;
+      width: 41.6666666667%; }
+    .column.is-offset-5, .column.is-offset-5-tablet {
+      margin-left: 41.6666666667%; }
+    .column.is-6, .column.is-6-tablet {
+      flex: none;
+      width: 50%; }
+    .column.is-offset-6, .column.is-offset-6-tablet {
+      margin-left: 50%; }
+    .column.is-7, .column.is-7-tablet {
+      flex: none;
+      width: 58.3333333333%; }
+    .column.is-offset-7, .column.is-offset-7-tablet {
+      margin-left: 58.3333333333%; }
+    .column.is-8, .column.is-8-tablet {
+      flex: none;
+      width: 66.6666666667%; }
+    .column.is-offset-8, .column.is-offset-8-tablet {
+      margin-left: 66.6666666667%; }
+    .column.is-9, .column.is-9-tablet {
+      flex: none;
+      width: 75%; }
+    .column.is-offset-9, .column.is-offset-9-tablet {
+      margin-left: 75%; }
+    .column.is-10, .column.is-10-tablet {
+      flex: none;
+      width: 83.3333333333%; }
+    .column.is-offset-10, .column.is-offset-10-tablet {
+      margin-left: 83.3333333333%; }
+    .column.is-11, .column.is-11-tablet {
+      flex: none;
+      width: 91.6666666667%; }
+    .column.is-offset-11, .column.is-offset-11-tablet {
+      margin-left: 91.6666666667%; }
+    .column.is-12, .column.is-12-tablet {
+      flex: none;
+      width: 100%; }
+    .column.is-offset-12, .column.is-offset-12-tablet {
+      margin-left: 100%; } }
+  @media screen and (max-width: 1055px) {
+    .column.is-narrow-touch {
+      flex: none; }
+    .column.is-full-touch {
+      flex: none;
+      width: 100%; }
+    .column.is-three-quarters-touch {
+      flex: none;
+      width: 75%; }
+    .column.is-two-thirds-touch {
+      flex: none;
+      width: 66.6666%; }
+    .column.is-half-touch {
+      flex: none;
+      width: 50%; }
+    .column.is-one-third-touch {
+      flex: none;
+      width: 33.3333%; }
+    .column.is-one-quarter-touch {
+      flex: none;
+      width: 25%; }
+    .column.is-one-fifth-touch {
+      flex: none;
+      width: 20%; }
+    .column.is-two-fifths-touch {
+      flex: none;
+      width: 40%; }
+    .column.is-three-fifths-touch {
+      flex: none;
+      width: 60%; }
+    .column.is-four-fifths-touch {
+      flex: none;
+      width: 80%; }
+    .column.is-offset-three-quarters-touch {
+      margin-left: 75%; }
+    .column.is-offset-two-thirds-touch {
+      margin-left: 66.6666%; }
+    .column.is-offset-half-touch {
+      margin-left: 50%; }
+    .column.is-offset-one-third-touch {
+      margin-left: 33.3333%; }
+    .column.is-offset-one-quarter-touch {
+      margin-left: 25%; }
+    .column.is-offset-one-fifth-touch {
+      margin-left: 20%; }
+    .column.is-offset-two-fifths-touch {
+      margin-left: 40%; }
+    .column.is-offset-three-fifths-touch {
+      margin-left: 60%; }
+    .column.is-offset-four-fifths-touch {
+      margin-left: 80%; }
+    .column.is-0-touch {
+      flex: none;
+      width: 0%; }
+    .column.is-offset-0-touch {
+      margin-left: 0%; }
+    .column.is-1-touch {
+      flex: none;
+      width: 8.3333333333%; }
+    .column.is-offset-1-touch {
+      margin-left: 8.3333333333%; }
+    .column.is-2-touch {
+      flex: none;
+      width: 16.6666666667%; }
+    .column.is-offset-2-touch {
+      margin-left: 16.6666666667%; }
+    .column.is-3-touch {
+      flex: none;
+      width: 25%; }
+    .column.is-offset-3-touch {
+      margin-left: 25%; }
+    .column.is-4-touch {
+      flex: none;
+      width: 33.3333333333%; }
+    .column.is-offset-4-touch {
+      margin-left: 33.3333333333%; }
+    .column.is-5-touch {
+      flex: none;
+      width: 41.6666666667%; }
+    .column.is-offset-5-touch {
+      margin-left: 41.6666666667%; }
+    .column.is-6-touch {
+      flex: none;
+      width: 50%; }
+    .column.is-offset-6-touch {
+      margin-left: 50%; }
+    .column.is-7-touch {
+      flex: none;
+      width: 58.3333333333%; }
+    .column.is-offset-7-touch {
+      margin-left: 58.3333333333%; }
+    .column.is-8-touch {
+      flex: none;
+      width: 66.6666666667%; }
+    .column.is-offset-8-touch {
+      margin-left: 66.6666666667%; }
+    .column.is-9-touch {
+      flex: none;
+      width: 75%; }
+    .column.is-offset-9-touch {
+      margin-left: 75%; }
+    .column.is-10-touch {
+      flex: none;
+      width: 83.3333333333%; }
+    .column.is-offset-10-touch {
+      margin-left: 83.3333333333%; }
+    .column.is-11-touch {
+      flex: none;
+      width: 91.6666666667%; }
+    .column.is-offset-11-touch {
+      margin-left: 91.6666666667%; }
+    .column.is-12-touch {
+      flex: none;
+      width: 100%; }
+    .column.is-offset-12-touch {
+      margin-left: 100%; } }
+  @media screen and (min-width: 1056px) {
+    .column.is-narrow-desktop {
+      flex: none; }
+    .column.is-full-desktop {
+      flex: none;
+      width: 100%; }
+    .column.is-three-quarters-desktop {
+      flex: none;
+      width: 75%; }
+    .column.is-two-thirds-desktop {
+      flex: none;
+      width: 66.6666%; }
+    .column.is-half-desktop {
+      flex: none;
+      width: 50%; }
+    .column.is-one-third-desktop {
+      flex: none;
+      width: 33.3333%; }
+    .column.is-one-quarter-desktop {
+      flex: none;
+      width: 25%; }
+    .column.is-one-fifth-desktop {
+      flex: none;
+      width: 20%; }
+    .column.is-two-fifths-desktop {
+      flex: none;
+      width: 40%; }
+    .column.is-three-fifths-desktop {
+      flex: none;
+      width: 60%; }
+    .column.is-four-fifths-desktop {
+      flex: none;
+      width: 80%; }
+    .column.is-offset-three-quarters-desktop {
+      margin-left: 75%; }
+    .column.is-offset-two-thirds-desktop {
+      margin-left: 66.6666%; }
+    .column.is-offset-half-desktop {
+      margin-left: 50%; }
+    .column.is-offset-one-third-desktop {
+      margin-left: 33.3333%; }
+    .column.is-offset-one-quarter-desktop {
+      margin-left: 25%; }
+    .column.is-offset-one-fifth-desktop {
+      margin-left: 20%; }
+    .column.is-offset-two-fifths-desktop {
+      margin-left: 40%; }
+    .column.is-offset-three-fifths-desktop {
+      margin-left: 60%; }
+    .column.is-offset-four-fifths-desktop {
+      margin-left: 80%; }
+    .column.is-0-desktop {
+      flex: none;
+      width: 0%; }
+    .column.is-offset-0-desktop {
+      margin-left: 0%; }
+    .column.is-1-desktop {
+      flex: none;
+      width: 8.3333333333%; }
+    .column.is-offset-1-desktop {
+      margin-left: 8.3333333333%; }
+    .column.is-2-desktop {
+      flex: none;
+      width: 16.6666666667%; }
+    .column.is-offset-2-desktop {
+      margin-left: 16.6666666667%; }
+    .column.is-3-desktop {
+      flex: none;
+      width: 25%; }
+    .column.is-offset-3-desktop {
+      margin-left: 25%; }
+    .column.is-4-desktop {
+      flex: none;
+      width: 33.3333333333%; }
+    .column.is-offset-4-desktop {
+      margin-left: 33.3333333333%; }
+    .column.is-5-desktop {
+      flex: none;
+      width: 41.6666666667%; }
+    .column.is-offset-5-desktop {
+      margin-left: 41.6666666667%; }
+    .column.is-6-desktop {
+      flex: none;
+      width: 50%; }
+    .column.is-offset-6-desktop {
+      margin-left: 50%; }
+    .column.is-7-desktop {
+      flex: none;
+      width: 58.3333333333%; }
+    .column.is-offset-7-desktop {
+      margin-left: 58.3333333333%; }
+    .column.is-8-desktop {
+      flex: none;
+      width: 66.6666666667%; }
+    .column.is-offset-8-desktop {
+      margin-left: 66.6666666667%; }
+    .column.is-9-desktop {
+      flex: none;
+      width: 75%; }
+    .column.is-offset-9-desktop {
+      margin-left: 75%; }
+    .column.is-10-desktop {
+      flex: none;
+      width: 83.3333333333%; }
+    .column.is-offset-10-desktop {
+      margin-left: 83.3333333333%; }
+    .column.is-11-desktop {
+      flex: none;
+      width: 91.6666666667%; }
+    .column.is-offset-11-desktop {
+      margin-left: 91.6666666667%; }
+    .column.is-12-desktop {
+      flex: none;
+      width: 100%; }
+    .column.is-offset-12-desktop {
+      margin-left: 100%; } }
+  @media screen and (min-width: 1216px) {
+    .column.is-narrow-widescreen {
+      flex: none; }
+    .column.is-full-widescreen {
+      flex: none;
+      width: 100%; }
+    .column.is-three-quarters-widescreen {
+      flex: none;
+      width: 75%; }
+    .column.is-two-thirds-widescreen {
+      flex: none;
+      width: 66.6666%; }
+    .column.is-half-widescreen {
+      flex: none;
+      width: 50%; }
+    .column.is-one-third-widescreen {
+      flex: none;
+      width: 33.3333%; }
+    .column.is-one-quarter-widescreen {
+      flex: none;
+      width: 25%; }
+    .column.is-one-fifth-widescreen {
+      flex: none;
+      width: 20%; }
+    .column.is-two-fifths-widescreen {
+      flex: none;
+      width: 40%; }
+    .column.is-three-fifths-widescreen {
+      flex: none;
+      width: 60%; }
+    .column.is-four-fifths-widescreen {
+      flex: none;
+      width: 80%; }
+    .column.is-offset-three-quarters-widescreen {
+      margin-left: 75%; }
+    .column.is-offset-two-thirds-widescreen {
+      margin-left: 66.6666%; }
+    .column.is-offset-half-widescreen {
+      margin-left: 50%; }
+    .column.is-offset-one-third-widescreen {
+      margin-left: 33.3333%; }
+    .column.is-offset-one-quarter-widescreen {
+      margin-left: 25%; }
+    .column.is-offset-one-fifth-widescreen {
+      margin-left: 20%; }
+    .column.is-offset-two-fifths-widescreen {
+      margin-left: 40%; }
+    .column.is-offset-three-fifths-widescreen {
+      margin-left: 60%; }
+    .column.is-offset-four-fifths-widescreen {
+      margin-left: 80%; }
+    .column.is-0-widescreen {
+      flex: none;
+      width: 0%; }
+    .column.is-offset-0-widescreen {
+      margin-left: 0%; }
+    .column.is-1-widescreen {
+      flex: none;
+      width: 8.3333333333%; }
+    .column.is-offset-1-widescreen {
+      margin-left: 8.3333333333%; }
+    .column.is-2-widescreen {
+      flex: none;
+      width: 16.6666666667%; }
+    .column.is-offset-2-widescreen {
+      margin-left: 16.6666666667%; }
+    .column.is-3-widescreen {
+      flex: none;
+      width: 25%; }
+    .column.is-offset-3-widescreen {
+      margin-left: 25%; }
+    .column.is-4-widescreen {
+      flex: none;
+      width: 33.3333333333%; }
+    .column.is-offset-4-widescreen {
+      margin-left: 33.3333333333%; }
+    .column.is-5-widescreen {
+      flex: none;
+      width: 41.6666666667%; }
+    .column.is-offset-5-widescreen {
+      margin-left: 41.6666666667%; }
+    .column.is-6-widescreen {
+      flex: none;
+      width: 50%; }
+    .column.is-offset-6-widescreen {
+      margin-left: 50%; }
+    .column.is-7-widescreen {
+      flex: none;
+      width: 58.3333333333%; }
+    .column.is-offset-7-widescreen {
+      margin-left: 58.3333333333%; }
+    .column.is-8-widescreen {
+      flex: none;
+      width: 66.6666666667%; }
+    .column.is-offset-8-widescreen {
+      margin-left: 66.6666666667%; }
+    .column.is-9-widescreen {
+      flex: none;
+      width: 75%; }
+    .column.is-offset-9-widescreen {
+      margin-left: 75%; }
+    .column.is-10-widescreen {
+      flex: none;
+      width: 83.3333333333%; }
+    .column.is-offset-10-widescreen {
+      margin-left: 83.3333333333%; }
+    .column.is-11-widescreen {
+      flex: none;
+      width: 91.6666666667%; }
+    .column.is-offset-11-widescreen {
+      margin-left: 91.6666666667%; }
+    .column.is-12-widescreen {
+      flex: none;
+      width: 100%; }
+    .column.is-offset-12-widescreen {
+      margin-left: 100%; } }
+  @media screen and (min-width: 1408px) {
+    .column.is-narrow-fullhd {
+      flex: none; }
+    .column.is-full-fullhd {
+      flex: none;
+      width: 100%; }
+    .column.is-three-quarters-fullhd {
+      flex: none;
+      width: 75%; }
+    .column.is-two-thirds-fullhd {
+      flex: none;
+      width: 66.6666%; }
+    .column.is-half-fullhd {
+      flex: none;
+      width: 50%; }
+    .column.is-one-third-fullhd {
+      flex: none;
+      width: 33.3333%; }
+    .column.is-one-quarter-fullhd {
+      flex: none;
+      width: 25%; }
+    .column.is-one-fifth-fullhd {
+      flex: none;
+      width: 20%; }
+    .column.is-two-fifths-fullhd {
+      flex: none;
+      width: 40%; }
+    .column.is-three-fifths-fullhd {
+      flex: none;
+      width: 60%; }
+    .column.is-four-fifths-fullhd {
+      flex: none;
+      width: 80%; }
+    .column.is-offset-three-quarters-fullhd {
+      margin-left: 75%; }
+    .column.is-offset-two-thirds-fullhd {
+      margin-left: 66.6666%; }
+    .column.is-offset-half-fullhd {
+      margin-left: 50%; }
+    .column.is-offset-one-third-fullhd {
+      margin-left: 33.3333%; }
+    .column.is-offset-one-quarter-fullhd {
+      margin-left: 25%; }
+    .column.is-offset-one-fifth-fullhd {
+      margin-left: 20%; }
+    .column.is-offset-two-fifths-fullhd {
+      margin-left: 40%; }
+    .column.is-offset-three-fifths-fullhd {
+      margin-left: 60%; }
+    .column.is-offset-four-fifths-fullhd {
+      margin-left: 80%; }
+    .column.is-0-fullhd {
+      flex: none;
+      width: 0%; }
+    .column.is-offset-0-fullhd {
+      margin-left: 0%; }
+    .column.is-1-fullhd {
+      flex: none;
+      width: 8.3333333333%; }
+    .column.is-offset-1-fullhd {
+      margin-left: 8.3333333333%; }
+    .column.is-2-fullhd {
+      flex: none;
+      width: 16.6666666667%; }
+    .column.is-offset-2-fullhd {
+      margin-left: 16.6666666667%; }
+    .column.is-3-fullhd {
+      flex: none;
+      width: 25%; }
+    .column.is-offset-3-fullhd {
+      margin-left: 25%; }
+    .column.is-4-fullhd {
+      flex: none;
+      width: 33.3333333333%; }
+    .column.is-offset-4-fullhd {
+      margin-left: 33.3333333333%; }
+    .column.is-5-fullhd {
+      flex: none;
+      width: 41.6666666667%; }
+    .column.is-offset-5-fullhd {
+      margin-left: 41.6666666667%; }
+    .column.is-6-fullhd {
+      flex: none;
+      width: 50%; }
+    .column.is-offset-6-fullhd {
+      margin-left: 50%; }
+    .column.is-7-fullhd {
+      flex: none;
+      width: 58.3333333333%; }
+    .column.is-offset-7-fullhd {
+      margin-left: 58.3333333333%; }
+    .column.is-8-fullhd {
+      flex: none;
+      width: 66.6666666667%; }
+    .column.is-offset-8-fullhd {
+      margin-left: 66.6666666667%; }
+    .column.is-9-fullhd {
+      flex: none;
+      width: 75%; }
+    .column.is-offset-9-fullhd {
+      margin-left: 75%; }
+    .column.is-10-fullhd {
+      flex: none;
+      width: 83.3333333333%; }
+    .column.is-offset-10-fullhd {
+      margin-left: 83.3333333333%; }
+    .column.is-11-fullhd {
+      flex: none;
+      width: 91.6666666667%; }
+    .column.is-offset-11-fullhd {
+      margin-left: 91.6666666667%; }
+    .column.is-12-fullhd {
+      flex: none;
+      width: 100%; }
+    .column.is-offset-12-fullhd {
+      margin-left: 100%; } }
+.columns {
+  margin-left: -0.75rem;
+  margin-right: -0.75rem;
+  margin-top: -0.75rem; }
+  .columns:last-child {
+    margin-bottom: -0.75rem; }
+  .columns:not(:last-child) {
+    margin-bottom: calc(1.5rem - 0.75rem); }
+  .columns.is-centered {
+    justify-content: center; }
+  .columns.is-gapless {
+    margin-left: 0;
+    margin-right: 0;
+    margin-top: 0; }
+    .columns.is-gapless > .column {
+      margin: 0;
+      padding: 0 !important; }
+    .columns.is-gapless:not(:last-child) {
+      margin-bottom: 1.5rem; }
+    .columns.is-gapless:last-child {
+      margin-bottom: 0; }
+  .columns.is-mobile {
+    display: flex; }
+  .columns.is-multiline {
+    flex-wrap: wrap; }
+  .columns.is-vcentered {
+    align-items: center; }
+  @media screen and (min-width: 769px), print {
+    .columns:not(.is-desktop) {
+      display: flex; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-desktop {
+      display: flex; } }
+.columns.is-variable {
+  --columnGap: 0.75rem;
+  margin-left: calc(-1 * var(--columnGap));
+  margin-right: calc(-1 * var(--columnGap)); }
+  .columns.is-variable .column {
+    padding-left: var(--columnGap);
+    padding-right: var(--columnGap); }
+  .columns.is-variable.is-0 {
+    --columnGap: 0rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-0-mobile {
+      --columnGap: 0rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-0-tablet {
+      --columnGap: 0rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-0-tablet-only {
+      --columnGap: 0rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-0-touch {
+      --columnGap: 0rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-0-desktop {
+      --columnGap: 0rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-0-desktop-only {
+      --columnGap: 0rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-0-widescreen {
+      --columnGap: 0rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-0-widescreen-only {
+      --columnGap: 0rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-0-fullhd {
+      --columnGap: 0rem; } }
+  .columns.is-variable.is-1 {
+    --columnGap: 0.25rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-1-mobile {
+      --columnGap: 0.25rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-1-tablet {
+      --columnGap: 0.25rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-1-tablet-only {
+      --columnGap: 0.25rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-1-touch {
+      --columnGap: 0.25rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-1-desktop {
+      --columnGap: 0.25rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-1-desktop-only {
+      --columnGap: 0.25rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-1-widescreen {
+      --columnGap: 0.25rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-1-widescreen-only {
+      --columnGap: 0.25rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-1-fullhd {
+      --columnGap: 0.25rem; } }
+  .columns.is-variable.is-2 {
+    --columnGap: 0.5rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-2-mobile {
+      --columnGap: 0.5rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-2-tablet {
+      --columnGap: 0.5rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-2-tablet-only {
+      --columnGap: 0.5rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-2-touch {
+      --columnGap: 0.5rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-2-desktop {
+      --columnGap: 0.5rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-2-desktop-only {
+      --columnGap: 0.5rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-2-widescreen {
+      --columnGap: 0.5rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-2-widescreen-only {
+      --columnGap: 0.5rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-2-fullhd {
+      --columnGap: 0.5rem; } }
+  .columns.is-variable.is-3 {
+    --columnGap: 0.75rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-3-mobile {
+      --columnGap: 0.75rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-3-tablet {
+      --columnGap: 0.75rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-3-tablet-only {
+      --columnGap: 0.75rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-3-touch {
+      --columnGap: 0.75rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-3-desktop {
+      --columnGap: 0.75rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-3-desktop-only {
+      --columnGap: 0.75rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-3-widescreen {
+      --columnGap: 0.75rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-3-widescreen-only {
+      --columnGap: 0.75rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-3-fullhd {
+      --columnGap: 0.75rem; } }
+  .columns.is-variable.is-4 {
+    --columnGap: 1rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-4-mobile {
+      --columnGap: 1rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-4-tablet {
+      --columnGap: 1rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-4-tablet-only {
+      --columnGap: 1rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-4-touch {
+      --columnGap: 1rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-4-desktop {
+      --columnGap: 1rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-4-desktop-only {
+      --columnGap: 1rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-4-widescreen {
+      --columnGap: 1rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-4-widescreen-only {
+      --columnGap: 1rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-4-fullhd {
+      --columnGap: 1rem; } }
+  .columns.is-variable.is-5 {
+    --columnGap: 1.25rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-5-mobile {
+      --columnGap: 1.25rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-5-tablet {
+      --columnGap: 1.25rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-5-tablet-only {
+      --columnGap: 1.25rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-5-touch {
+      --columnGap: 1.25rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-5-desktop {
+      --columnGap: 1.25rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-5-desktop-only {
+      --columnGap: 1.25rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-5-widescreen {
+      --columnGap: 1.25rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-5-widescreen-only {
+      --columnGap: 1.25rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-5-fullhd {
+      --columnGap: 1.25rem; } }
+  .columns.is-variable.is-6 {
+    --columnGap: 1.5rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-6-mobile {
+      --columnGap: 1.5rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-6-tablet {
+      --columnGap: 1.5rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-6-tablet-only {
+      --columnGap: 1.5rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-6-touch {
+      --columnGap: 1.5rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-6-desktop {
+      --columnGap: 1.5rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-6-desktop-only {
+      --columnGap: 1.5rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-6-widescreen {
+      --columnGap: 1.5rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-6-widescreen-only {
+      --columnGap: 1.5rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-6-fullhd {
+      --columnGap: 1.5rem; } }
+  .columns.is-variable.is-7 {
+    --columnGap: 1.75rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-7-mobile {
+      --columnGap: 1.75rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-7-tablet {
+      --columnGap: 1.75rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-7-tablet-only {
+      --columnGap: 1.75rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-7-touch {
+      --columnGap: 1.75rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-7-desktop {
+      --columnGap: 1.75rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-7-desktop-only {
+      --columnGap: 1.75rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-7-widescreen {
+      --columnGap: 1.75rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-7-widescreen-only {
+      --columnGap: 1.75rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-7-fullhd {
+      --columnGap: 1.75rem; } }
+  .columns.is-variable.is-8 {
+    --columnGap: 2rem; }
+  @media screen and (max-width: 768px) {
+    .columns.is-variable.is-8-mobile {
+      --columnGap: 2rem; } }
+  @media screen and (min-width: 769px), print {
+    .columns.is-variable.is-8-tablet {
+      --columnGap: 2rem; } }
+  @media screen and (min-width: 769px) and (max-width: 1055px) {
+    .columns.is-variable.is-8-tablet-only {
+      --columnGap: 2rem; } }
+  @media screen and (max-width: 1055px) {
+    .columns.is-variable.is-8-touch {
+      --columnGap: 2rem; } }
+  @media screen and (min-width: 1056px) {
+    .columns.is-variable.is-8-desktop {
+      --columnGap: 2rem; } }
+  @media screen and (min-width: 1056px) and (max-width: 1215px) {
+    .columns.is-variable.is-8-desktop-only {
+      --columnGap: 2rem; } }
+  @media screen and (min-width: 1216px) {
+    .columns.is-variable.is-8-widescreen {
+      --columnGap: 2rem; } }
+  @media screen and (min-width: 1216px) and (max-width: 1407px) {
+    .columns.is-variable.is-8-widescreen-only {
+      --columnGap: 2rem; } }
+  @media screen and (min-width: 1408px) {
+    .columns.is-variable.is-8-fullhd {
+      --columnGap: 2rem; } }
+.tile {
+  align-items: stretch;
+  display: block;
+  flex-basis: 0;
+  flex-grow: 1;
+  flex-shrink: 1;
+  min-height: min-content; }
+  .tile.is-ancestor {
+    margin-left: -0.75rem;
+    margin-right: -0.75rem;
+    margin-top: -0.75rem; }
+    .tile.is-ancestor:last-child {
+      margin-bottom: -0.75rem; }
+    .tile.is-ancestor:not(:last-child) {
+      margin-bottom: 0.75rem; }
+  .tile.is-child {
+    margin: 0 !important; }
+  .tile.is-parent {
+    padding: 0.75rem; }
+  .tile.is-vertical {
+    flex-direction: column; }
+    .tile.is-vertical > .tile.is-child:not(:last-child) {
+      margin-bottom: 1.5rem !important; }
+  @media screen and (min-width: 769px), print {
+    .tile:not(.is-child) {
+      display: flex; }
+    .tile.is-1 {
+      flex: none;
+      width: 8.3333333333%; }
+    .tile.is-2 {
+      flex: none;
+      width: 16.6666666667%; }
+    .tile.is-3 {
+      flex: none;
+      width: 25%; }
+    .tile.is-4 {
+      flex: none;
+      width: 33.3333333333%; }
+    .tile.is-5 {
+      flex: none;
+      width: 41.6666666667%; }
+    .tile.is-6 {
+      flex: none;
+      width: 50%; }
+    .tile.is-7 {
+      flex: none;
+      width: 58.3333333333%; }
+    .tile.is-8 {
+      flex: none;
+      width: 66.6666666667%; }
+    .tile.is-9 {
+      flex: none;
+      width: 75%; }
+    .tile.is-10 {
+      flex: none;
+      width: 83.3333333333%; }
+    .tile.is-11 {
+      flex: none;
+      width: 91.6666666667%; }
+    .tile.is-12 {
+      flex: none;
+      width: 100%; } }
+.hero {
+  align-items: stretch;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between; }
+  .hero .navbar {
+    background: none; }
+  .hero .tabs ul {
+    border-bottom: none; }
+  .hero.is-white {
+    background-color: white;
+    color: #0a0a0a; }
+    .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-white strong {
+      color: inherit; }
+    .hero.is-white .title {
+      color: #0a0a0a; }
+    .hero.is-white .subtitle {
+      color: rgba(10, 10, 10, 0.9); }
+      .hero.is-white .subtitle a:not(.button),
+      .hero.is-white .subtitle strong {
+        color: #0a0a0a; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-white .navbar-menu {
+        background-color: white; } }
+    .hero.is-white .navbar-item,
+    .hero.is-white .navbar-link {
+      color: rgba(10, 10, 10, 0.7); }
+    .hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,
+    .hero.is-white .navbar-link:hover,
+    .hero.is-white .navbar-link.is-active {
+      background-color: #f2f2f2;
+      color: #0a0a0a; }
+    .hero.is-white .tabs a {
+      color: #0a0a0a;
+      opacity: 0.9; }
+      .hero.is-white .tabs a:hover {
+        opacity: 1; }
+    .hero.is-white .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {
+      color: #0a0a0a; }
+      .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {
+      background-color: #0a0a0a;
+      border-color: #0a0a0a;
+      color: white; }
+    .hero.is-white.is-bold {
+      background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-white.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
+  .hero.is-black {
+    background-color: #0a0a0a;
+    color: white; }
+    .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-black strong {
+      color: inherit; }
+    .hero.is-black .title {
+      color: white; }
+    .hero.is-black .subtitle {
+      color: rgba(255, 255, 255, 0.9); }
+      .hero.is-black .subtitle a:not(.button),
+      .hero.is-black .subtitle strong {
+        color: white; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-black .navbar-menu {
+        background-color: #0a0a0a; } }
+    .hero.is-black .navbar-item,
+    .hero.is-black .navbar-link {
+      color: rgba(255, 255, 255, 0.7); }
+    .hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,
+    .hero.is-black .navbar-link:hover,
+    .hero.is-black .navbar-link.is-active {
+      background-color: black;
+      color: white; }
+    .hero.is-black .tabs a {
+      color: white;
+      opacity: 0.9; }
+      .hero.is-black .tabs a:hover {
+        opacity: 1; }
+    .hero.is-black .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {
+      color: white; }
+      .hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {
+      background-color: white;
+      border-color: white;
+      color: #0a0a0a; }
+    .hero.is-black.is-bold {
+      background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-black.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
+  .hero.is-light {
+    background-color: whitesmoke;
+    color: #363636; }
+    .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-light strong {
+      color: inherit; }
+    .hero.is-light .title {
+      color: #363636; }
+    .hero.is-light .subtitle {
+      color: rgba(54, 54, 54, 0.9); }
+      .hero.is-light .subtitle a:not(.button),
+      .hero.is-light .subtitle strong {
+        color: #363636; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-light .navbar-menu {
+        background-color: whitesmoke; } }
+    .hero.is-light .navbar-item,
+    .hero.is-light .navbar-link {
+      color: rgba(54, 54, 54, 0.7); }
+    .hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,
+    .hero.is-light .navbar-link:hover,
+    .hero.is-light .navbar-link.is-active {
+      background-color: #e8e8e8;
+      color: #363636; }
+    .hero.is-light .tabs a {
+      color: #363636;
+      opacity: 0.9; }
+      .hero.is-light .tabs a:hover {
+        opacity: 1; }
+    .hero.is-light .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {
+      color: #363636; }
+      .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {
+      background-color: #363636;
+      border-color: #363636;
+      color: whitesmoke; }
+    .hero.is-light.is-bold {
+      background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-light.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } }
+  .hero.is-dark, .content kbd.hero {
+    background-color: #363636;
+    color: whitesmoke; }
+    .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-dark strong,
+    .content kbd.hero strong {
+      color: inherit; }
+    .hero.is-dark .title, .content kbd.hero .title {
+      color: whitesmoke; }
+    .hero.is-dark .subtitle, .content kbd.hero .subtitle {
+      color: rgba(245, 245, 245, 0.9); }
+      .hero.is-dark .subtitle a:not(.button), .content kbd.hero .subtitle a:not(.button),
+      .hero.is-dark .subtitle strong,
+      .content kbd.hero .subtitle strong {
+        color: whitesmoke; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-dark .navbar-menu, .content kbd.hero .navbar-menu {
+        background-color: #363636; } }
+    .hero.is-dark .navbar-item, .content kbd.hero .navbar-item,
+    .hero.is-dark .navbar-link,
+    .content kbd.hero .navbar-link {
+      color: rgba(245, 245, 245, 0.7); }
+    .hero.is-dark a.navbar-item:hover, .content kbd.hero a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active, .content kbd.hero a.navbar-item.is-active,
+    .hero.is-dark .navbar-link:hover,
+    .content kbd.hero .navbar-link:hover,
+    .hero.is-dark .navbar-link.is-active,
+    .content kbd.hero .navbar-link.is-active {
+      background-color: #292929;
+      color: whitesmoke; }
+    .hero.is-dark .tabs a, .content kbd.hero .tabs a {
+      color: whitesmoke;
+      opacity: 0.9; }
+      .hero.is-dark .tabs a:hover, .content kbd.hero .tabs a:hover {
+        opacity: 1; }
+    .hero.is-dark .tabs li.is-active a, .content kbd.hero .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-dark .tabs.is-boxed a, .content kbd.hero .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a, .content kbd.hero .tabs.is-toggle a {
+      color: whitesmoke; }
+      .hero.is-dark .tabs.is-boxed a:hover, .content kbd.hero .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover, .content kbd.hero .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-dark .tabs.is-boxed li.is-active a, .content kbd.hero .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .content kbd.hero .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {
+      background-color: whitesmoke;
+      border-color: whitesmoke;
+      color: #363636; }
+    .hero.is-dark.is-bold, .content kbd.hero.is-bold {
+      background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-dark.is-bold .navbar-menu, .content kbd.hero.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }
+  .hero.is-primary, .docstring > section > a.hero.docs-sourcelink {
+    background-color: #4eb5de;
+    color: #fff; }
+    .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-primary strong,
+    .docstring > section > a.hero.docs-sourcelink strong {
+      color: inherit; }
+    .hero.is-primary .title, .docstring > section > a.hero.docs-sourcelink .title {
+      color: #fff; }
+    .hero.is-primary .subtitle, .docstring > section > a.hero.docs-sourcelink .subtitle {
+      color: rgba(255, 255, 255, 0.9); }
+      .hero.is-primary .subtitle a:not(.button), .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
+      .hero.is-primary .subtitle strong,
+      .docstring > section > a.hero.docs-sourcelink .subtitle strong {
+        color: #fff; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-primary .navbar-menu, .docstring > section > a.hero.docs-sourcelink .navbar-menu {
+        background-color: #4eb5de; } }
+    .hero.is-primary .navbar-item, .docstring > section > a.hero.docs-sourcelink .navbar-item,
+    .hero.is-primary .navbar-link,
+    .docstring > section > a.hero.docs-sourcelink .navbar-link {
+      color: rgba(255, 255, 255, 0.7); }
+    .hero.is-primary a.navbar-item:hover, .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active, .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
+    .hero.is-primary .navbar-link:hover,
+    .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
+    .hero.is-primary .navbar-link.is-active,
+    .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
+      background-color: #39acda;
+      color: #fff; }
+    .hero.is-primary .tabs a, .docstring > section > a.hero.docs-sourcelink .tabs a {
+      color: #fff;
+      opacity: 0.9; }
+      .hero.is-primary .tabs a:hover, .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
+        opacity: 1; }
+    .hero.is-primary .tabs li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-primary .tabs.is-boxed a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
+      color: #fff; }
+      .hero.is-primary .tabs.is-boxed a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-primary .tabs.is-boxed li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
+      background-color: #fff;
+      border-color: #fff;
+      color: #4eb5de; }
+    .hero.is-primary.is-bold, .docstring > section > a.hero.is-bold.docs-sourcelink {
+      background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-primary.is-bold .navbar-menu, .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
+          background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); } }
+  .hero.is-link {
+    background-color: #2e63b8;
+    color: #fff; }
+    .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-link strong {
+      color: inherit; }
+    .hero.is-link .title {
+      color: #fff; }
+    .hero.is-link .subtitle {
+      color: rgba(255, 255, 255, 0.9); }
+      .hero.is-link .subtitle a:not(.button),
+      .hero.is-link .subtitle strong {
+        color: #fff; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-link .navbar-menu {
+        background-color: #2e63b8; } }
+    .hero.is-link .navbar-item,
+    .hero.is-link .navbar-link {
+      color: rgba(255, 255, 255, 0.7); }
+    .hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,
+    .hero.is-link .navbar-link:hover,
+    .hero.is-link .navbar-link.is-active {
+      background-color: #2958a4;
+      color: #fff; }
+    .hero.is-link .tabs a {
+      color: #fff;
+      opacity: 0.9; }
+      .hero.is-link .tabs a:hover {
+        opacity: 1; }
+    .hero.is-link .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {
+      color: #fff; }
+      .hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {
+      background-color: #fff;
+      border-color: #fff;
+      color: #2e63b8; }
+    .hero.is-link.is-bold {
+      background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-link.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); } }
+  .hero.is-info {
+    background-color: #209cee;
+    color: #fff; }
+    .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-info strong {
+      color: inherit; }
+    .hero.is-info .title {
+      color: #fff; }
+    .hero.is-info .subtitle {
+      color: rgba(255, 255, 255, 0.9); }
+      .hero.is-info .subtitle a:not(.button),
+      .hero.is-info .subtitle strong {
+        color: #fff; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-info .navbar-menu {
+        background-color: #209cee; } }
+    .hero.is-info .navbar-item,
+    .hero.is-info .navbar-link {
+      color: rgba(255, 255, 255, 0.7); }
+    .hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,
+    .hero.is-info .navbar-link:hover,
+    .hero.is-info .navbar-link.is-active {
+      background-color: #1190e3;
+      color: #fff; }
+    .hero.is-info .tabs a {
+      color: #fff;
+      opacity: 0.9; }
+      .hero.is-info .tabs a:hover {
+        opacity: 1; }
+    .hero.is-info .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {
+      color: #fff; }
+      .hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {
+      background-color: #fff;
+      border-color: #fff;
+      color: #209cee; }
+    .hero.is-info.is-bold {
+      background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-info.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); } }
+  .hero.is-success {
+    background-color: #22c35b;
+    color: #fff; }
+    .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-success strong {
+      color: inherit; }
+    .hero.is-success .title {
+      color: #fff; }
+    .hero.is-success .subtitle {
+      color: rgba(255, 255, 255, 0.9); }
+      .hero.is-success .subtitle a:not(.button),
+      .hero.is-success .subtitle strong {
+        color: #fff; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-success .navbar-menu {
+        background-color: #22c35b; } }
+    .hero.is-success .navbar-item,
+    .hero.is-success .navbar-link {
+      color: rgba(255, 255, 255, 0.7); }
+    .hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,
+    .hero.is-success .navbar-link:hover,
+    .hero.is-success .navbar-link.is-active {
+      background-color: #1ead51;
+      color: #fff; }
+    .hero.is-success .tabs a {
+      color: #fff;
+      opacity: 0.9; }
+      .hero.is-success .tabs a:hover {
+        opacity: 1; }
+    .hero.is-success .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {
+      color: #fff; }
+      .hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {
+      background-color: #fff;
+      border-color: #fff;
+      color: #22c35b; }
+    .hero.is-success.is-bold {
+      background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-success.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); } }
+  .hero.is-warning {
+    background-color: #ffdd57;
+    color: rgba(0, 0, 0, 0.7); }
+    .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-warning strong {
+      color: inherit; }
+    .hero.is-warning .title {
+      color: rgba(0, 0, 0, 0.7); }
+    .hero.is-warning .subtitle {
+      color: rgba(0, 0, 0, 0.9); }
+      .hero.is-warning .subtitle a:not(.button),
+      .hero.is-warning .subtitle strong {
+        color: rgba(0, 0, 0, 0.7); }
+    @media screen and (max-width: 1055px) {
+      .hero.is-warning .navbar-menu {
+        background-color: #ffdd57; } }
+    .hero.is-warning .navbar-item,
+    .hero.is-warning .navbar-link {
+      color: rgba(0, 0, 0, 0.7); }
+    .hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,
+    .hero.is-warning .navbar-link:hover,
+    .hero.is-warning .navbar-link.is-active {
+      background-color: #ffd83e;
+      color: rgba(0, 0, 0, 0.7); }
+    .hero.is-warning .tabs a {
+      color: rgba(0, 0, 0, 0.7);
+      opacity: 0.9; }
+      .hero.is-warning .tabs a:hover {
+        opacity: 1; }
+    .hero.is-warning .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {
+      color: rgba(0, 0, 0, 0.7); }
+      .hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {
+      background-color: rgba(0, 0, 0, 0.7);
+      border-color: rgba(0, 0, 0, 0.7);
+      color: #ffdd57; }
+    .hero.is-warning.is-bold {
+      background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-warning.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); } }
+  .hero.is-danger {
+    background-color: #da0b00;
+    color: #fff; }
+    .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+    .hero.is-danger strong {
+      color: inherit; }
+    .hero.is-danger .title {
+      color: #fff; }
+    .hero.is-danger .subtitle {
+      color: rgba(255, 255, 255, 0.9); }
+      .hero.is-danger .subtitle a:not(.button),
+      .hero.is-danger .subtitle strong {
+        color: #fff; }
+    @media screen and (max-width: 1055px) {
+      .hero.is-danger .navbar-menu {
+        background-color: #da0b00; } }
+    .hero.is-danger .navbar-item,
+    .hero.is-danger .navbar-link {
+      color: rgba(255, 255, 255, 0.7); }
+    .hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,
+    .hero.is-danger .navbar-link:hover,
+    .hero.is-danger .navbar-link.is-active {
+      background-color: #c10a00;
+      color: #fff; }
+    .hero.is-danger .tabs a {
+      color: #fff;
+      opacity: 0.9; }
+      .hero.is-danger .tabs a:hover {
+        opacity: 1; }
+    .hero.is-danger .tabs li.is-active a {
+      opacity: 1; }
+    .hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {
+      color: #fff; }
+      .hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {
+        background-color: rgba(10, 10, 10, 0.1); }
+    .hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {
+      background-color: #fff;
+      border-color: #fff;
+      color: #da0b00; }
+    .hero.is-danger.is-bold {
+      background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); }
+      @media screen and (max-width: 768px) {
+        .hero.is-danger.is-bold .navbar-menu {
+          background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); } }
+  .hero.is-small .hero-body, #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
+    padding-bottom: 1.5rem;
+    padding-top: 1.5rem; }
+  @media screen and (min-width: 769px), print {
+    .hero.is-medium .hero-body {
+      padding-bottom: 9rem;
+      padding-top: 9rem; } }
+  @media screen and (min-width: 769px), print {
+    .hero.is-large .hero-body {
+      padding-bottom: 18rem;
+      padding-top: 18rem; } }
+  .hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {
+    align-items: center;
+    display: flex; }
+    .hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {
+      flex-grow: 1;
+      flex-shrink: 1; }
+  .hero.is-halfheight {
+    min-height: 50vh; }
+  .hero.is-fullheight {
+    min-height: 100vh; }
+
+.hero-video {
+  overflow: hidden; }
+  .hero-video video {
+    left: 50%;
+    min-height: 100%;
+    min-width: 100%;
+    position: absolute;
+    top: 50%;
+    transform: translate3d(-50%, -50%, 0); }
+  .hero-video.is-transparent {
+    opacity: 0.3; }
+  @media screen and (max-width: 768px) {
+    .hero-video {
+      display: none; } }
+.hero-buttons {
+  margin-top: 1.5rem; }
+  @media screen and (max-width: 768px) {
+    .hero-buttons .button {
+      display: flex; }
+      .hero-buttons .button:not(:last-child) {
+        margin-bottom: 0.75rem; } }
+  @media screen and (min-width: 769px), print {
+    .hero-buttons {
+      display: flex;
+      justify-content: center; }
+      .hero-buttons .button:not(:last-child) {
+        margin-right: 1.5rem; } }
+.hero-head,
+.hero-foot {
+  flex-grow: 0;
+  flex-shrink: 0; }
+
+.hero-body {
+  flex-grow: 1;
+  flex-shrink: 0;
+  padding: 3rem 1.5rem; }
+
+.section {
+  padding: 3rem 1.5rem; }
+  @media screen and (min-width: 1056px) {
+    .section.is-medium {
+      padding: 9rem 1.5rem; }
+    .section.is-large {
+      padding: 18rem 1.5rem; } }
+.footer {
+  background-color: #fafafa;
+  padding: 3rem 1.5rem 6rem; }
+
+h1 .docs-heading-anchor, h1 .docs-heading-anchor:hover, h1 .docs-heading-anchor:visited, h2 .docs-heading-anchor, h2 .docs-heading-anchor:hover, h2 .docs-heading-anchor:visited, h3 .docs-heading-anchor, h3 .docs-heading-anchor:hover, h3 .docs-heading-anchor:visited, h4 .docs-heading-anchor, h4 .docs-heading-anchor:hover, h4 .docs-heading-anchor:visited, h5 .docs-heading-anchor, h5 .docs-heading-anchor:hover, h5 .docs-heading-anchor:visited, h6 .docs-heading-anchor, h6 .docs-heading-anchor:hover, h6 .docs-heading-anchor:visited {
+  color: #222222; }
+
+h1 .docs-heading-anchor-permalink, h2 .docs-heading-anchor-permalink, h3 .docs-heading-anchor-permalink, h4 .docs-heading-anchor-permalink, h5 .docs-heading-anchor-permalink, h6 .docs-heading-anchor-permalink {
+  visibility: hidden;
+  vertical-align: middle;
+  margin-left: 0.5em;
+  font-size: 0.7rem; }
+  h1 .docs-heading-anchor-permalink::before, h2 .docs-heading-anchor-permalink::before, h3 .docs-heading-anchor-permalink::before, h4 .docs-heading-anchor-permalink::before, h5 .docs-heading-anchor-permalink::before, h6 .docs-heading-anchor-permalink::before {
+    font-family: "Font Awesome 5 Free";
+    font-weight: 900;
+    content: "\f0c1"; }
+
+h1:hover .docs-heading-anchor-permalink, h2:hover .docs-heading-anchor-permalink, h3:hover .docs-heading-anchor-permalink, h4:hover .docs-heading-anchor-permalink, h5:hover .docs-heading-anchor-permalink, h6:hover .docs-heading-anchor-permalink {
+  visibility: visible; }
+
+.docs-dark-only {
+  display: none !important; }
+
+pre {
+  position: relative;
+  overflow: hidden; }
+  pre code, pre code.hljs {
+    padding: 0 0.75rem !important;
+    overflow: auto;
+    display: block; }
+  pre code:first-of-type, pre code.hljs:first-of-type {
+    padding-top: 0.5rem !important; }
+  pre code:last-of-type, pre code.hljs:last-of-type {
+    padding-bottom: 0.5rem !important; }
+  pre .copy-button {
+    opacity: 0.2;
+    transition: opacity 0.2s;
+    position: absolute;
+    right: 0em;
+    top: 0em;
+    padding: 0.5em;
+    width: 2.5em;
+    height: 2.5em;
+    background: transparent;
+    border: none;
+    font-family: "Font Awesome 5 Free";
+    color: #222222;
+    cursor: pointer;
+    text-align: center; }
+    pre .copy-button:focus, pre .copy-button:hover {
+      opacity: 1;
+      background: rgba(34, 34, 34, 0.1);
+      color: #2e63b8; }
+    pre .copy-button.success {
+      color: #259a12;
+      opacity: 1; }
+    pre .copy-button.error {
+      color: #cb3c33;
+      opacity: 1; }
+  pre:hover .copy-button {
+    opacity: 1; }
+
+.admonition {
+  background-color: #b5b5b5;
+  border-style: solid;
+  border-width: 1px;
+  border-color: #363636;
+  border-radius: 4px;
+  font-size: 1rem; }
+  .admonition strong {
+    color: currentColor; }
+  .admonition.is-small, #documenter .docs-sidebar form.docs-search > input.admonition {
+    font-size: 0.75rem; }
+  .admonition.is-medium {
+    font-size: 1.25rem; }
+  .admonition.is-large {
+    font-size: 1.5rem; }
+  .admonition.is-default {
+    background-color: #b5b5b5;
+    border-color: #363636; }
+    .admonition.is-default > .admonition-header {
+      background-color: #363636;
+      color: #fff; }
+    .admonition.is-default > .admonition-body {
+      color: #fff; }
+  .admonition.is-info {
+    background-color: #def0fc;
+    border-color: #209cee; }
+    .admonition.is-info > .admonition-header {
+      background-color: #209cee;
+      color: #fff; }
+    .admonition.is-info > .admonition-body {
+      color: rgba(0, 0, 0, 0.7); }
+  .admonition.is-success {
+    background-color: #bdf4d1;
+    border-color: #22c35b; }
+    .admonition.is-success > .admonition-header {
+      background-color: #22c35b;
+      color: #fff; }
+    .admonition.is-success > .admonition-body {
+      color: rgba(0, 0, 0, 0.7); }
+  .admonition.is-warning {
+    background-color: #fff3c5;
+    border-color: #ffdd57; }
+    .admonition.is-warning > .admonition-header {
+      background-color: #ffdd57;
+      color: rgba(0, 0, 0, 0.7); }
+    .admonition.is-warning > .admonition-body {
+      color: rgba(0, 0, 0, 0.7); }
+  .admonition.is-danger {
+    background-color: #ffaba7;
+    border-color: #da0b00; }
+    .admonition.is-danger > .admonition-header {
+      background-color: #da0b00;
+      color: #fff; }
+    .admonition.is-danger > .admonition-body {
+      color: rgba(0, 0, 0, 0.7); }
+  .admonition.is-compat {
+    background-color: #bdeff5;
+    border-color: #1db5c9; }
+    .admonition.is-compat > .admonition-header {
+      background-color: #1db5c9;
+      color: #fff; }
+    .admonition.is-compat > .admonition-body {
+      color: rgba(0, 0, 0, 0.7); }
+
+.admonition-header {
+  color: #fff;
+  background-color: #363636;
+  align-items: center;
+  font-weight: 700;
+  justify-content: space-between;
+  line-height: 1.25;
+  padding: 0.5rem 0.75rem;
+  position: relative; }
+  .admonition-header:before {
+    font-family: "Font Awesome 5 Free";
+    font-weight: 900;
+    margin-right: 0.75rem;
+    content: "\f06a"; }
+
+.admonition-body {
+  color: #222222;
+  padding: 0.5rem 0.75rem; }
+  .admonition-body pre {
+    background-color: whitesmoke; }
+  .admonition-body code {
+    background-color: rgba(0, 0, 0, 0.05); }
+
+.docstring {
+  margin-bottom: 1em;
+  background-color: transparent;
+  border: 1px solid #dbdbdb;
+  box-shadow: 2px 2px 3px rgba(10, 10, 10, 0.1);
+  max-width: 100%; }
+  .docstring > header {
+    display: flex;
+    flex-grow: 1;
+    align-items: stretch;
+    padding: 0.5rem 0.75rem;
+    background-color: whitesmoke;
+    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+    box-shadow: none;
+    border-bottom: 1px solid #dbdbdb; }
+    .docstring > header code {
+      background-color: transparent; }
+    .docstring > header .docstring-binding {
+      margin-right: 0.3em; }
+    .docstring > header .docstring-category {
+      margin-left: 0.3em; }
+  .docstring > section {
+    position: relative;
+    padding: 0.75rem 0.75rem;
+    border-bottom: 1px solid #dbdbdb; }
+    .docstring > section:last-child {
+      border-bottom: none; }
+    .docstring > section > a.docs-sourcelink {
+      transition: opacity 0.3s;
+      opacity: 0;
+      position: absolute;
+      right: 0.375rem;
+      bottom: 0.375rem; }
+      .docstring > section > a.docs-sourcelink:focus {
+        opacity: 1 !important; }
+  .docstring:hover > section > a.docs-sourcelink {
+    opacity: 0.2; }
+  .docstring:focus-within > section > a.docs-sourcelink {
+    opacity: 0.2; }
+  .docstring > section:hover a.docs-sourcelink {
+    opacity: 1; }
+
+.documenter-example-output {
+  background-color: white; }
+
+.outdated-warning-overlay {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+  z-index: 999;
+  background-color: #ffaba7;
+  color: rgba(0, 0, 0, 0.7);
+  border-bottom: 3px solid #da0b00;
+  padding: 10px 35px;
+  text-align: center;
+  font-size: 15px; }
+  .outdated-warning-overlay .outdated-warning-closer {
+    position: absolute;
+    top: calc(50% - 10px);
+    right: 18px;
+    cursor: pointer;
+    width: 12px; }
+  .outdated-warning-overlay a {
+    color: #2e63b8; }
+    .outdated-warning-overlay a:hover {
+      color: #363636; }
+
+.content pre {
+  border: 1px solid #dbdbdb; }
+
+.content code {
+  font-weight: inherit; }
+
+.content a code {
+  color: #2e63b8; }
+
+.content h1 code, .content h2 code, .content h3 code, .content h4 code, .content h5 code, .content h6 code {
+  color: #222222; }
+
+.content table {
+  display: block;
+  width: initial;
+  max-width: 100%;
+  overflow-x: auto; }
+
+.content blockquote > ul:first-child, .content blockquote > ol:first-child, .content .admonition-body > ul:first-child, .content .admonition-body > ol:first-child {
+  margin-top: 0; }
+
+pre, code {
+  font-variant-ligatures: no-contextual; }
+
+.breadcrumb a.is-disabled {
+  cursor: default;
+  pointer-events: none; }
+  .breadcrumb a.is-disabled, .breadcrumb a.is-disabled:hover {
+    color: #222222; }
+
+.hljs {
+  background: initial !important; }
+
+.katex .katex-mathml {
+  top: 0;
+  right: 0; }
+
+.katex-display, mjx-container, .MathJax_Display {
+  margin: 0.5em 0 !important; }
+
+html {
+  -moz-osx-font-smoothing: auto;
+  -webkit-font-smoothing: auto; }
+
+li.no-marker {
+  list-style: none; }
+
+/* This file contain the overall layout.
+ *
+ * The main container is <div> that is identified by id #documenter.
+ */
+#documenter .docs-main > article {
+  overflow-wrap: break-word; }
+  #documenter .docs-main > article .math-container {
+    overflow-x: auto;
+    overflow-y: hidden; }
+
+@media screen and (min-width: 1056px) {
+  #documenter .docs-main {
+    max-width: 52rem;
+    margin-left: 20rem;
+    padding-right: 1rem; } }
+
+@media screen and (max-width: 1055px) {
+  #documenter .docs-main {
+    width: 100%; }
+    #documenter .docs-main > article {
+      max-width: 52rem;
+      margin-left: auto;
+      margin-right: auto;
+      margin-bottom: 1rem;
+      padding: 0 1rem; }
+    #documenter .docs-main > header, #documenter .docs-main > nav {
+      max-width: 100%;
+      width: 100%;
+      margin: 0; } }
+
+#documenter .docs-main header.docs-navbar {
+  background-color: white;
+  border-bottom: 1px solid #dbdbdb;
+  z-index: 2;
+  min-height: 4rem;
+  margin-bottom: 1rem;
+  display: flex; }
+  #documenter .docs-main header.docs-navbar .breadcrumb {
+    flex-grow: 1; }
+  #documenter .docs-main header.docs-navbar .docs-right {
+    display: flex;
+    white-space: nowrap; }
+    #documenter .docs-main header.docs-navbar .docs-right .docs-icon, #documenter .docs-main header.docs-navbar .docs-right .docs-label, #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+      display: inline-block; }
+    #documenter .docs-main header.docs-navbar .docs-right .docs-label {
+      padding: 0;
+      margin-left: 0.3em; }
+    #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
+      margin: auto 0 auto 1rem; }
+    #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+      font-size: 1.5rem;
+      margin: auto 0 auto 1rem; }
+  #documenter .docs-main header.docs-navbar > * {
+    margin: auto 0; }
+  @media screen and (max-width: 1055px) {
+    #documenter .docs-main header.docs-navbar {
+      position: sticky;
+      top: 0;
+      padding: 0 1rem;
+      /* For Headroom.js */
+      transition-property: top, box-shadow;
+      -webkit-transition-property: top, box-shadow;
+      /* Safari */
+      transition-duration: 0.3s;
+      -webkit-transition-duration: 0.3s;
+      /* Safari */ }
+      #documenter .docs-main header.docs-navbar.headroom--not-top {
+        box-shadow: 0.2rem 0rem 0.4rem #bbb;
+        transition-duration: 0.7s;
+        -webkit-transition-duration: 0.7s;
+        /* Safari */ }
+      #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
+        top: -4.5rem;
+        transition-duration: 0.7s;
+        -webkit-transition-duration: 0.7s;
+        /* Safari */ } }
+#documenter .docs-main section.footnotes {
+  border-top: 1px solid #dbdbdb; }
+  #documenter .docs-main section.footnotes li .tag:first-child, #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, #documenter .docs-main section.footnotes li .content kbd:first-child, .content #documenter .docs-main section.footnotes li kbd:first-child {
+    margin-right: 1em;
+    margin-bottom: 0.4em; }
+
+#documenter .docs-main .docs-footer {
+  display: flex;
+  flex-wrap: wrap;
+  margin-left: 0;
+  margin-right: 0;
+  border-top: 1px solid #dbdbdb;
+  padding-top: 1rem;
+  padding-bottom: 1rem; }
+  @media screen and (max-width: 1055px) {
+    #documenter .docs-main .docs-footer {
+      padding-left: 1rem;
+      padding-right: 1rem; } }
+  #documenter .docs-main .docs-footer .docs-footer-nextpage, #documenter .docs-main .docs-footer .docs-footer-prevpage {
+    flex-grow: 1; }
+  #documenter .docs-main .docs-footer .docs-footer-nextpage {
+    text-align: right; }
+  #documenter .docs-main .docs-footer .flexbox-break {
+    flex-basis: 100%;
+    height: 0; }
+  #documenter .docs-main .docs-footer .footer-message {
+    font-size: 0.8em;
+    margin: 0.5em auto 0 auto;
+    text-align: center; }
+
+#documenter .docs-sidebar {
+  display: flex;
+  flex-direction: column;
+  color: #0a0a0a;
+  background-color: whitesmoke;
+  border-right: 1px solid #dbdbdb;
+  padding: 0;
+  flex: 0 0 18rem;
+  z-index: 5;
+  font-size: 1rem;
+  position: fixed;
+  left: -18rem;
+  width: 18rem;
+  height: 100%;
+  transition: left 0.3s;
+  /* Setting up a nicer theme style for the scrollbar */ }
+  #documenter .docs-sidebar.visible {
+    left: 0;
+    box-shadow: 0.4rem 0rem 0.8rem #bbb; }
+    @media screen and (min-width: 1056px) {
+      #documenter .docs-sidebar.visible {
+        box-shadow: none; } }
+  @media screen and (min-width: 1056px) {
+    #documenter .docs-sidebar {
+      left: 0;
+      top: 0; } }
+  #documenter .docs-sidebar .docs-logo {
+    margin-top: 1rem;
+    padding: 0 1rem; }
+    #documenter .docs-sidebar .docs-logo > img {
+      max-height: 6rem;
+      margin: auto; }
+  #documenter .docs-sidebar .docs-package-name {
+    flex-shrink: 0;
+    font-size: 1.5rem;
+    font-weight: 700;
+    text-align: center;
+    white-space: nowrap;
+    overflow: hidden;
+    padding: 0.5rem 0; }
+    #documenter .docs-sidebar .docs-package-name .docs-autofit {
+      max-width: 16.2rem; }
+    #documenter .docs-sidebar .docs-package-name a, #documenter .docs-sidebar .docs-package-name a:hover {
+      color: #0a0a0a; }
+  #documenter .docs-sidebar .docs-version-selector {
+    border-top: 1px solid #dbdbdb;
+    display: none;
+    padding: 0.5rem; }
+    #documenter .docs-sidebar .docs-version-selector.visible {
+      display: flex; }
+  #documenter .docs-sidebar ul.docs-menu {
+    flex-grow: 1;
+    user-select: none;
+    border-top: 1px solid #dbdbdb;
+    padding-bottom: 1.5rem;
+    /* Managing collapsible submenus */ }
+    #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
+      font-weight: bold; }
+    #documenter .docs-sidebar ul.docs-menu > li li {
+      font-size: 0.95rem;
+      margin-left: 1em;
+      border-left: 1px solid #dbdbdb; }
+    #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
+      display: none; }
+    #documenter .docs-sidebar ul.docs-menu ul.collapsed {
+      display: none; }
+    #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
+      display: block; }
+    #documenter .docs-sidebar ul.docs-menu label.tocitem {
+      display: flex; }
+      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
+        flex-grow: 2; }
+      #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
+        display: inline-block;
+        font-style: normal;
+        font-variant: normal;
+        text-rendering: auto;
+        line-height: 1;
+        font-size: 0.75rem;
+        margin-left: 1rem;
+        margin-top: auto;
+        margin-bottom: auto; }
+        #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
+          font-family: "Font Awesome 5 Free";
+          font-weight: 900;
+          content: "\f054"; }
+    #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
+      content: "\f078"; }
+    #documenter .docs-sidebar ul.docs-menu .tocitem {
+      display: block;
+      padding: 0.5rem 0.5rem; }
+      #documenter .docs-sidebar ul.docs-menu .tocitem, #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
+        color: #0a0a0a;
+        background: whitesmoke; }
+    #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
+      color: #0a0a0a;
+      background-color: #ebebeb; }
+    #documenter .docs-sidebar ul.docs-menu li.is-active {
+      border-top: 1px solid #dbdbdb;
+      border-bottom: 1px solid #dbdbdb;
+      background-color: white; }
+      #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
+        background-color: white;
+        color: #0a0a0a; }
+      #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
+        background-color: #ebebeb;
+        color: #0a0a0a; }
+    #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
+      border-top: none; }
+    #documenter .docs-sidebar ul.docs-menu ul.internal {
+      margin: 0 0.5rem 0.5rem;
+      border-top: 1px solid #dbdbdb; }
+      #documenter .docs-sidebar ul.docs-menu ul.internal li {
+        font-size: 0.85rem;
+        border-left: none;
+        margin-left: 0;
+        margin-top: 0.5rem; }
+      #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
+        width: 100%;
+        padding: 0; }
+        #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
+          content: "⚬";
+          margin-right: 0.4em; }
+  #documenter .docs-sidebar form.docs-search {
+    margin: auto;
+    margin-top: 0.5rem;
+    margin-bottom: 0.5rem; }
+    #documenter .docs-sidebar form.docs-search > input {
+      width: 14.4rem; }
+  @media screen and (min-width: 1056px) {
+    #documenter .docs-sidebar ul.docs-menu {
+      overflow-y: auto;
+      -webkit-overflow-scroll: touch; }
+      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
+        width: .3rem;
+        background: none; }
+      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
+        border-radius: 5px 0px 0px 5px;
+        background: #e0e0e0; }
+      #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
+        background: #cccccc; } }
+  @media screen and (max-width: 1055px) {
+    #documenter .docs-sidebar {
+      overflow-y: auto;
+      -webkit-overflow-scroll: touch; }
+      #documenter .docs-sidebar::-webkit-scrollbar {
+        width: .3rem;
+        background: none; }
+      #documenter .docs-sidebar::-webkit-scrollbar-thumb {
+        border-radius: 5px 0px 0px 5px;
+        background: #e0e0e0; }
+      #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
+        background: #cccccc; } }
+#documenter .docs-main #documenter-search-info {
+  margin-bottom: 1rem; }
+
+#documenter .docs-main #documenter-search-results {
+  list-style-type: circle;
+  list-style-position: outside; }
+  #documenter .docs-main #documenter-search-results li {
+    margin-left: 2rem; }
+  #documenter .docs-main #documenter-search-results .docs-highlight {
+    background-color: yellow; }
+
+.ansi span.sgr1 {
+  font-weight: bolder; }
+
+.ansi span.sgr2 {
+  font-weight: lighter; }
+
+.ansi span.sgr3 {
+  font-style: italic; }
+
+.ansi span.sgr4 {
+  text-decoration: underline; }
+
+.ansi span.sgr7 {
+  color: white;
+  background-color: #222222; }
+
+.ansi span.sgr8 {
+  color: transparent; }
+  .ansi span.sgr8 span {
+    color: transparent; }
+
+.ansi span.sgr9 {
+  text-decoration: line-through; }
+
+.ansi span.sgr30 {
+  color: #242424; }
+
+.ansi span.sgr31 {
+  color: #a7201f; }
+
+.ansi span.sgr32 {
+  color: #066f00; }
+
+.ansi span.sgr33 {
+  color: #856b00; }
+
+.ansi span.sgr34 {
+  color: #2149b0; }
+
+.ansi span.sgr35 {
+  color: #7d4498; }
+
+.ansi span.sgr36 {
+  color: #007989; }
+
+.ansi span.sgr37 {
+  color: gray; }
+
+.ansi span.sgr40 {
+  background-color: #242424; }
+
+.ansi span.sgr41 {
+  background-color: #a7201f; }
+
+.ansi span.sgr42 {
+  background-color: #066f00; }
+
+.ansi span.sgr43 {
+  background-color: #856b00; }
+
+.ansi span.sgr44 {
+  background-color: #2149b0; }
+
+.ansi span.sgr45 {
+  background-color: #7d4498; }
+
+.ansi span.sgr46 {
+  background-color: #007989; }
+
+.ansi span.sgr47 {
+  background-color: gray; }
+
+.ansi span.sgr90 {
+  color: #616161; }
+
+.ansi span.sgr91 {
+  color: #cb3c33; }
+
+.ansi span.sgr92 {
+  color: #0e8300; }
+
+.ansi span.sgr93 {
+  color: #a98800; }
+
+.ansi span.sgr94 {
+  color: #3c5dcd; }
+
+.ansi span.sgr95 {
+  color: #9256af; }
+
+.ansi span.sgr96 {
+  color: #008fa3; }
+
+.ansi span.sgr97 {
+  color: whitesmoke; }
+
+.ansi span.sgr100 {
+  background-color: #616161; }
+
+.ansi span.sgr101 {
+  background-color: #cb3c33; }
+
+.ansi span.sgr102 {
+  background-color: #0e8300; }
+
+.ansi span.sgr103 {
+  background-color: #a98800; }
+
+.ansi span.sgr104 {
+  background-color: #3c5dcd; }
+
+.ansi span.sgr105 {
+  background-color: #9256af; }
+
+.ansi span.sgr106 {
+  background-color: #008fa3; }
+
+.ansi span.sgr107 {
+  background-color: whitesmoke; }
+
+code.language-julia-repl > span.hljs-meta {
+  color: #066f00;
+  font-weight: bolder; }
+
+/*!
+  Theme: Default
+  Description: Original highlight.js style
+  Author: (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
+  Maintainer: @highlightjs/core-team
+  Website: https://highlightjs.org/
+  License: see project LICENSE
+  Touched: 2021
+*/
+/*
+This is left on purpose making default.css the single file that can be lifted
+as-is from the repository directly without the need for a build step
+
+Typically this "required" baseline CSS is added by `makestuff.js` during build.
+*/
+pre code.hljs {
+  display: block;
+  overflow-x: auto; }
+
+code.hljs {
+  padding: 3px 5px; }
+
+/* end baseline CSS */
+.hljs {
+  background: #F0F0F0;
+  color: #444; }
+
+/* Base color: saturation 0; */
+.hljs-subst {
+  /* default */ }
+
+/* purposely ignored */
+.hljs-comment {
+  color: #888888; }
+
+.hljs-tag,
+.hljs-punctuation {
+  color: #444a; }
+
+.hljs-tag .hljs-name,
+.hljs-tag .hljs-attr {
+  color: #444; }
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-meta .hljs-keyword,
+.hljs-doctag,
+.hljs-name {
+  font-weight: bold; }
+
+/* User color: hue: 0 */
+.hljs-type,
+.hljs-string,
+.hljs-number,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+  color: #880000; }
+
+.hljs-title,
+.hljs-section {
+  color: #880000;
+  font-weight: bold; }
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-operator,
+.hljs-selector-pseudo {
+  color: #BC6060; }
+
+/* Language color: hue: 90; */
+.hljs-literal {
+  color: #78A960; }
+
+.hljs-built_in,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+  color: #397300; }
+
+/* Meta color: hue: 200 */
+.hljs-meta {
+  color: #1f7199; }
+
+.hljs-meta .hljs-string {
+  color: #4d99bf; }
+
+/* Misc effects */
+.hljs-emphasis {
+  font-style: italic; }
+
+.hljs-strong {
+  font-weight: bold; }
diff --git a/docs/build/assets/themeswap.js b/docs/build/assets/themeswap.js
new file mode 100644
index 0000000000000000000000000000000000000000..c58e993e3e13754b15f647b325a6385436ada810
--- /dev/null
+++ b/docs/build/assets/themeswap.js
@@ -0,0 +1,66 @@
+// Small function to quickly swap out themes. Gets put into the <head> tag..
+function set_theme_from_local_storage() {
+  // Intialize the theme to null, which means default
+  var theme = null;
+  // If the browser supports the localstorage and is not disabled then try to get the
+  // documenter theme
+  if(window.localStorage != null) {
+    // Get the user-picked theme from localStorage. May be `null`, which means the default
+    // theme.
+    theme =  window.localStorage.getItem("documenter-theme");
+  }
+  // Check if the browser supports user color preference
+  var darkPreference = false;
+  // Check if the users preference is for dark color scheme
+  if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
+    darkPreference = true;
+  }
+  // Initialize a few variables for the loop:
+  //
+  //  - active: will contain the index of the theme that should be active. Note that there
+  //    is no guarantee that localStorage contains sane values. If `active` stays `null`
+  //    we either could not find the theme or it is the default (primary) theme anyway.
+  //    Either way, we then need to stick to the primary theme.
+  //
+  //  - disabled: style sheets that should be disabled (i.e. all the theme style sheets
+  //    that are not the currently active theme)
+  var active = null; var disabled = []; var darkTheme = null;
+  for (var i = 0; i < document.styleSheets.length; i++) {
+    var ss = document.styleSheets[i];
+    // The <link> tag of each style sheet is expected to have a data-theme-name attribute
+    // which must contain the name of the theme. The names in localStorage much match this.
+    var themename = ss.ownerNode.getAttribute("data-theme-name");
+    // attribute not set => non-theme stylesheet => ignore
+    if(themename === null) continue;
+    // To distinguish the default (primary) theme, it needs to have the data-theme-primary
+    // attribute set.
+    var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
+    // Check if the theme is primary dark theme
+    var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
+    // If ss is for dark theme then set the value of darkTheme to the name of the theme
+    if(isDarkTheme) darkTheme = themename;
+    // If we find a matching theme (and it's not the default), we'll set active to non-null
+    if(themename === theme) active = i;
+    // Store the style sheets of inactive themes so that we could disable them
+    if(themename !== theme) disabled.push(ss);
+  }
+  if(active !== null) {
+    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
+    document.getElementsByTagName('html')[0].className = "theme--" + theme;
+    // and (2) disable all the other theme stylesheets
+    disabled.forEach(function(ss){
+      ss.disabled = true;
+    });
+  }
+  else if(darkTheme !== null && darkPreference === true) {
+    // If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
+    document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
+    // and (2) disable all the other theme stylesheets
+    disabled.forEach(function(ss){
+      if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
+        ss.disabled = true;
+      }
+    });
+  }
+}
+set_theme_from_local_storage();
diff --git a/docs/build/assets/warner.js b/docs/build/assets/warner.js
new file mode 100644
index 0000000000000000000000000000000000000000..5531c8851b9dd3c83c9b95b725904ac75a2bd7ea
--- /dev/null
+++ b/docs/build/assets/warner.js
@@ -0,0 +1,49 @@
+function maybeAddWarning () {
+    // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
+    // in siteinfo.js.
+    // If either of these are undefined something went horribly wrong, so we abort.
+    if (
+            window.DOCUMENTER_NEWEST === undefined ||
+            window.DOCUMENTER_CURRENT_VERSION === undefined ||
+            window.DOCUMENTER_STABLE === undefined
+       ) {
+        return
+    };
+
+    // Current version is not a version number, so we can't tell if it's the newest version. Abort.
+    if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
+        return
+    };
+
+    // Current version is newest version, so no need to add a warning.
+    if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
+        return
+    };
+
+    // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
+    if (document.body.querySelector('meta[name="robots"]') === null) {
+        const meta = document.createElement('meta');
+        meta.name = 'robots';
+        meta.content = 'noindex';
+
+        document.getElementsByTagName('head')[0].appendChild(meta);
+    };
+
+    const div = document.createElement('div');
+    div.classList.add('outdated-warning-overlay');
+    const closer = document.createElement('button');
+    closer.classList.add('outdated-warning-closer', 'delete');
+    closer.addEventListener('click', function () {
+        document.body.removeChild(div);
+    });
+    const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
+    div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>';
+    div.appendChild(closer);
+    document.body.appendChild(div);
+};
+
+if (document.readyState === 'loading') {
+    document.addEventListener('DOMContentLoaded', maybeAddWarning);
+} else {
+    maybeAddWarning();
+};
diff --git a/docs/build/crops/index.html b/docs/build/crops/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..d407ce0a8590dd1f05416a645b6589e9951e97ea
--- /dev/null
+++ b/docs/build/crops/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Crop submodel · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action="../search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li><a class="tocitem" href="../developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="../simulation/index.html">Simulation</a></li><li><a class="tocitem" href="../io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="../nature/index.html">Nature</a></li><li><a class="tocitem" href="../species/index.html">Species</a></li></ul></li><li class="is-active"><a class="tocitem" href>Crop submodel</a><ul class="internal"><li><a class="tocitem" href="#crops.jl"><span>crops.jl</span></a></li></ul></li><li><a class="tocitem" href="../farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Crop submodel</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Crop submodel</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/crops.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Crop-submodel"><a class="docs-heading-anchor" href="#Crop-submodel">Crop submodel</a><a id="Crop-submodel-1"></a><a class="docs-heading-anchor-permalink" href="#Crop-submodel" title="Permalink"></a></h1><p>Eventually, Persephone will include a full-blown crop-growth model (an adaptation of AquaCrop, created by the FAO). At the moment, we are only working with a very basic mock-up.</p><h2 id="crops.jl"><a class="docs-heading-anchor" href="#crops.jl">crops.jl</a><a id="crops.jl-1"></a><a class="docs-heading-anchor-permalink" href="#crops.jl" title="Permalink"></a></h2><p>This includes the types and functions needed for all crop growth model, which are also referenced by the other submodels.</p><article class="docstring"><header><a class="docstring-binding" id="Persephone.FarmPlot" href="#Persephone.FarmPlot"><code>Persephone.FarmPlot</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">FarmPlot</code></pre><p>This represents one field, i.e. a collection of pixels with the same management. This is the spatial unit with which the crop growth model and the farm model work.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.averagefieldsize-Tuple{Agents.AgentBasedModel}" href="#Persephone.averagefieldsize-Tuple{Agents.AgentBasedModel}"><code>Persephone.averagefieldsize</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">averagefieldsize(model)</code></pre><p>Calculate the average field size in hectares for the model landscape.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.initfields!-Tuple{Agents.AgentBasedModel}" href="#Persephone.initfields!-Tuple{Agents.AgentBasedModel}"><code>Persephone.initfields!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">initfields!(model)</code></pre><p>Initialise the model with its farm plots.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.stepagent!-Tuple{FarmPlot, Agents.AgentBasedModel}" href="#Persephone.stepagent!-Tuple{FarmPlot, Agents.AgentBasedModel}"><code>Persephone.stepagent!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">stepagent!(farmplot, model)</code></pre><p>Update a farm plot by one day.</p></div></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../species/index.html">« Species</a><a class="docs-footer-nextpage" href="../farm/index.html">Farm submodel »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/build/developing/index.html b/docs/build/developing/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..2245b08c96f5e2f457cf85a4d9b142fb3f0b8687
--- /dev/null
+++ b/docs/build/developing/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Developing Persephone · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action="../search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li class="is-active"><a class="tocitem" href>Developing Persephone</a><ul class="internal"><li><a class="tocitem" href="#Workflow"><span>Workflow</span></a></li><li><a class="tocitem" href="#Agents.jl"><span>Agents.jl</span></a></li><li><a class="tocitem" href="#Julia-editors"><span>Julia editors</span></a></li></ul></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="../simulation/index.html">Simulation</a></li><li><a class="tocitem" href="../io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="../nature/index.html">Nature</a></li><li><a class="tocitem" href="../species/index.html">Species</a></li></ul></li><li><a class="tocitem" href="../crops/index.html">Crop submodel</a></li><li><a class="tocitem" href="../farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Developing Persephone</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Developing Persephone</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/developing.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Developing-Persephone"><a class="docs-heading-anchor" href="#Developing-Persephone">Developing Persephone</a><a id="Developing-Persephone-1"></a><a class="docs-heading-anchor-permalink" href="#Developing-Persephone" title="Permalink"></a></h1><h2 id="Workflow"><a class="docs-heading-anchor" href="#Workflow">Workflow</a><a id="Workflow-1"></a><a class="docs-heading-anchor-permalink" href="#Workflow" title="Permalink"></a></h2><ol><li><p>Pull the current development version from the master branch on Gitlab:  <a href="https://git.idiv.de/xo30xoqa/persephone">https://git.idiv.de/xo30xoqa/persephone</a>.</p></li><li><p>If you are working on a new feature, create a new branch to avoid breaking the <code>master</code> branch. (The <code>master</code> branch should always be in a runnable and (as far as possible) error-free state.)</p></li><li><p>Implement your changes.</p></li><li><p>Run <code>run.sh</code> to make sure the model executes without crashing. Also run the test suite (<code>cd test; julia runtests.jl</code>).</p></li><li><p>Commit your work frequently, and try to keep each commit small. Don&#39;t forget to add relevant tests to the test suite.</p></li><li><p>Once your satisfied with your work, do another pull/merge from the <code>master</code> branch in case somebody else changed the branch in the meantime. Then merge your work into <code>master</code> and push to the Gitlab server.</p></li><li><p>Repeat :-)</p></li></ol><h2 id="Agents.jl"><a class="docs-heading-anchor" href="#Agents.jl">Agents.jl</a><a id="Agents.jl-1"></a><a class="docs-heading-anchor-permalink" href="#Agents.jl" title="Permalink"></a></h2><p>Our model uses <a href="https://juliadynamics.github.io/Agents.jl/stable/">Agents.jl</a> as a framework. Their <a href="https://github.com/JuliaDynamics/Agents.jl">repository</a> can be used to inspect the source code or submit bug reports (the authors are quick to respond). Questions can be asked at the  <a href="https://discourse.julialang.org/c/domain/models/21">Julia Discourse forum</a>.</p><p><em>Tutorial on collaborating on Julia packages:  <a href="https://www.matecdev.com/posts/julia-package-collaboration.html">https://www.matecdev.com/posts/julia-package-collaboration.html</a>.</em></p><h2 id="Julia-editors"><a class="docs-heading-anchor" href="#Julia-editors">Julia editors</a><a id="Julia-editors-1"></a><a class="docs-heading-anchor-permalink" href="#Julia-editors" title="Permalink"></a></h2><h3 id="Emacs"><a class="docs-heading-anchor" href="#Emacs">Emacs</a><a id="Emacs-1"></a><a class="docs-heading-anchor-permalink" href="#Emacs" title="Permalink"></a></h3><p>There are a couple of addons that make working with Julia much nicer in Emacs:</p><ol><li><p><code>julia-mode</code> gives syntax highlighting. Install with <code>M-x package-install julia-mode</code>.</p></li><li><p><a href="https://github.com/gcv/julia-snail"><code>julia-snail</code></a> provides IDE-like features,  especially a fully-functional REPL and the ability to evaluate code straight from inside a buffer. Note that the installation can be somewhat tricky. You first need to manually install all the dependencies of its dependency <a href="https://github.com/akermu/emacs-libvterm">vterm</a>, then install vterm itself with <code>M-x package-install vterm</code>, <em>before</em> you can do <code>M-x package-install julia-snail</code>. Then add it to your <code>init.el</code> with <code>(require &#39;julia-snail)</code> and <code>(add-hook &#39;julia-mode-hook #&#39;julia-snail-mode)</code>.</p></li><li><p><a href="http://company-mode.github.io/"><code>company-mode</code></a> integrates with Snail to give code  completion. Install with <code>M-x package-install company</code>, then add  <code>(add-hook &#39;julia-mode-hook #&#39;company-mode)</code> and  <code>(global-set-key (kbd &quot;C-&lt;tab&gt;&quot;) &#39;company-complete)</code> to your <code>init.el</code>.</p></li><li><p><a href="https://magit.vc/"><code>magit</code></a> is a great git interface for Emacs. Install with <code>M-x package-install magit</code> and add <code>(global-set-key (kbd &quot;C-x g&quot;) &#39;magit-status)</code> to your <code>init.el</code>.</p></li></ol><h3 id="VSCode"><a class="docs-heading-anchor" href="#VSCode">VSCode</a><a id="VSCode-1"></a><a class="docs-heading-anchor-permalink" href="#VSCode" title="Permalink"></a></h3><p>See <a href="https://www.julia-vscode.org/">here</a>.</p><p><em>TODO: add more detail.</em></p><h3 id="Other-useful-stuff"><a class="docs-heading-anchor" href="#Other-useful-stuff">Other useful stuff</a><a id="Other-useful-stuff-1"></a><a class="docs-heading-anchor-permalink" href="#Other-useful-stuff" title="Permalink"></a></h3><ol><li><p><a href="https://timholy.github.io/Revise.jl/stable/"><code>Revise.jl</code></a> allows one to reload code without restarting the Julia interpreter. Get it with <code>Pkg.add(&quot;Revise&quot;)</code>, then  add <code>using Revise</code> to <code>.julia/config/startup.jl</code> to have it automatically available.</p></li><li><p><a href="https://github.com/MichaelMure/git-bug"><code>git-bug</code></a> is a commandline bug tracker that integrates directly with git. It can also be used as a local interface to Gitlab issues. To install on Linux, download the <a href="https://github.com/MichaelMure/git-bug/releases/tag/v0.8.0">binary</a>, copy it to <code>/usr/local/bin/git-bug</code>, and set it as executable with <code>chmod +x  /usr/local/bin/git-bug</code>. To set up Gitlab integration, run <code>git bug bridge configure</code> from within the relevant repository.</p></li></ol></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../index.html">« Introduction</a><a class="docs-footer-nextpage" href="../simulation/index.html">Simulation »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/build/farm/index.html b/docs/build/farm/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..b4c6a480eff0e94ca2b2863c36a525d7b8cc9ce9
--- /dev/null
+++ b/docs/build/farm/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Farm submodel · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action="../search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li><a class="tocitem" href="../developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="../simulation/index.html">Simulation</a></li><li><a class="tocitem" href="../io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="../nature/index.html">Nature</a></li><li><a class="tocitem" href="../species/index.html">Species</a></li></ul></li><li><a class="tocitem" href="../crops/index.html">Crop submodel</a></li><li class="is-active"><a class="tocitem" href>Farm submodel</a><ul class="internal"><li><a class="tocitem" href="#farm.jl"><span>farm.jl</span></a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Farm submodel</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Farm submodel</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/farm.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Farm-submodel"><a class="docs-heading-anchor" href="#Farm-submodel">Farm submodel</a><a id="Farm-submodel-1"></a><a class="docs-heading-anchor-permalink" href="#Farm-submodel" title="Permalink"></a></h1><p>Eventually, Persephone will include multiple farm-decision submodels. At the moment,  we are only working with a very basic mock-up.</p><h2 id="farm.jl"><a class="docs-heading-anchor" href="#farm.jl">farm.jl</a><a id="farm.jl-1"></a><a class="docs-heading-anchor-permalink" href="#farm.jl" title="Permalink"></a></h2><p>This file is responsible for managing the farm module(s).</p><article class="docstring"><header><a class="docstring-binding" id="Persephone.initfarms!-Tuple{Agents.AgentBasedModel}" href="#Persephone.initfarms!-Tuple{Agents.AgentBasedModel}"><code>Persephone.initfarms!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">initfarms!(model)</code></pre><p>Initialise the model with a set of farm agents.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.stepagent!-Tuple{Farmer, Agents.AgentBasedModel}" href="#Persephone.stepagent!-Tuple{Farmer, Agents.AgentBasedModel}"><code>Persephone.stepagent!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">stepagent!(farmer, model)</code></pre><p>Update a farmer by one day.</p></div></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../crops/index.html">« Crop submodel</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/build/index.html b/docs/build/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..dc5fce5d223e91020667d747acf10c793c47593f
--- /dev/null
+++ b/docs/build/index.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Introduction · Persephone</title><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href><img src="assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href>Persephone</a></span></div><form class="docs-search" action="search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>Introduction</a><ul class="internal"><li><a class="tocitem" href="#Running-the-model"><span>Running the model</span></a></li></ul></li><li><a class="tocitem" href="developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="simulation/index.html">Simulation</a></li><li><a class="tocitem" href="io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="nature/">Nature</a></li><li><a class="tocitem" href="species/index.html">Species</a></li></ul></li><li><a class="tocitem" href="crops/index.html">Crop submodel</a></li><li><a class="tocitem" href="farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Introduction</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Introduction</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Introduction"><a class="docs-heading-anchor" href="#Introduction">Introduction</a><a id="Introduction-1"></a><a class="docs-heading-anchor-permalink" href="#Introduction" title="Permalink"></a></h1><p>Persephone is an agent-based, socio-economic-ecological model of agricultural landscapes in Europe under the Common Agricultural Policy (CAP).</p><p>It&#39;s aim is to investigate how policy affects farmer decision-making, and how this in turn affects various animal species. It includes a farm submodel, a crop-growth submodel, and an ecological submodels.</p><h2 id="Running-the-model"><a class="docs-heading-anchor" href="#Running-the-model">Running the model</a><a id="Running-the-model-1"></a><a class="docs-heading-anchor-permalink" href="#Running-the-model" title="Permalink"></a></h2><p>To run a single experiment, execute:</p><pre><code class="nohighlight hljs">./run.jl -c &lt;CONFIG&gt;</code></pre><p>Other commandline arguments are:</p><pre><code class="nohighlight hljs">usage: run.jl [-c CONFIGFILE] [-s SEED] [-o OUTDIR] [-l LOGLEVEL] 
+              [--version] [-h]
+
+optional arguments:
+  -c, --configfile CONFIGFILE
+                        name of the configuration file
+  -s, --seed SEED       inital random seed (type: Int64)
+  -o, --outdir OUTDIR   location of the output directory
+  -l, --loglevel LOGLEVEL
+                        verbosity: &quot;debug&quot;, &quot;info&quot;, or &quot;quiet&quot;
+  --version             show version information and exit
+  -h, --help            show this help message and exit</code></pre><p><em>Last updated: 2023-01-04 (commit a958dd6)</em>  </p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="developing/index.html">Developing Persephone »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/build/io/index.html b/docs/build/io/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..62f1fb362ec71248ead43f6d883ac93c702a02a1
--- /dev/null
+++ b/docs/build/io/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Input, Output, and Settings · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action="../search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li><a class="tocitem" href="../developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="../simulation/index.html">Simulation</a></li><li class="is-active"><a class="tocitem" href>Input, Output, and Settings</a><ul class="internal"><li><a class="tocitem" href="#parameters.toml"><span>parameters.toml</span></a></li><li><a class="tocitem" href="#input.jl"><span>input.jl</span></a></li><li><a class="tocitem" href="#output.jl"><span>output.jl</span></a></li></ul></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="../nature/index.html">Nature</a></li><li><a class="tocitem" href="../species/index.html">Species</a></li></ul></li><li><a class="tocitem" href="../crops/index.html">Crop submodel</a></li><li><a class="tocitem" href="../farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Core</a></li><li class="is-active"><a href>Input, Output, and Settings</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Input, Output, and Settings</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/io.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Input,-Output,-and-Settings"><a class="docs-heading-anchor" href="#Input,-Output,-and-Settings">Input, Output, and Settings</a><a id="Input,-Output,-and-Settings-1"></a><a class="docs-heading-anchor-permalink" href="#Input,-Output,-and-Settings" title="Permalink"></a></h1><p>These functions are responsible for reading in all model configurations (passed by config file or commandline), administrating them during a run, and printing any output.</p><h2 id="parameters.toml"><a class="docs-heading-anchor" href="#parameters.toml">parameters.toml</a><a id="parameters.toml-1"></a><a class="docs-heading-anchor-permalink" href="#parameters.toml" title="Permalink"></a></h2><p>This is the default configuration file for Persephone, containing all model parameters. The syntax is described here: https://toml.io/en/</p><p>DO NOT MODIFY THIS FILE FOR SIMULATION EXPERIMENTS! Instead, copy it to another directory, modify the copy, and then pass it to the model using the <code>--config</code> parameter.</p><h2 id="input.jl"><a class="docs-heading-anchor" href="#input.jl">input.jl</a><a id="input.jl-1"></a><a class="docs-heading-anchor-permalink" href="#input.jl" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="Persephone.getsettings-Tuple{String}" href="#Persephone.getsettings-Tuple{String}"><code>Persephone.getsettings</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">getsettings(configfile)</code></pre><p>Combines all configuration options to produce a single settings dict. Precedence: commandline parameters - user config file - default values</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.parsecommandline-Tuple{}" href="#Persephone.parsecommandline-Tuple{}"><code>Persephone.parsecommandline</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">parsecommandline()</code></pre><p>Certain software parameters can be set via the commandline.</p></div></section></article><h2 id="output.jl"><a class="docs-heading-anchor" href="#output.jl">output.jl</a><a id="output.jl-1"></a><a class="docs-heading-anchor-permalink" href="#output.jl" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-binding" id="Persephone.DataOutput" href="#Persephone.DataOutput"><code>Persephone.DataOutput</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">DataOutput</code></pre><p>A struct for organising model output. This is designed for text-based data output that is updated more or less regularly (e.g. population data in csv files). Submodels can register their own output functions using <code>newdataoutput()</code>.</p><p>Struct fields:     - filename: the name of the file to be created in the user-specified output directory     - header: a string to be written to the start of the file as it is initialised     - outputfunction: a function that takes a model object and returns a string to write to file     - frequency: how often to call the output function (daily/monthly/yearly/end/never)</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.setupdatadir-Tuple{}" href="#Persephone.setupdatadir-Tuple{}"><code>Persephone.setupdatadir</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">setupdatadir()</code></pre><p>Creates the output directory and copies relevant files into it.</p></div></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../simulation/index.html">« Simulation</a><a class="docs-footer-nextpage" href="../nature/index.html">Nature »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/build/nature/index.html b/docs/build/nature/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..1f5f98f35a9a19c048ac6e4f781d534c716d7f11
--- /dev/null
+++ b/docs/build/nature/index.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Nature · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action="../search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li><a class="tocitem" href="../developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="../simulation/index.html">Simulation</a></li><li><a class="tocitem" href="../io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li class="is-active"><a class="tocitem" href>Nature</a><ul class="internal"><li><a class="tocitem" href="#nature.jl"><span>nature.jl</span></a></li><li><a class="tocitem" href="#lifehistory.jl"><span>lifehistory.jl</span></a></li><li><a class="tocitem" href="#ecologicaldata.jl"><span>ecologicaldata.jl</span></a></li></ul></li><li><a class="tocitem" href="../species/index.html">Species</a></li></ul></li><li><a class="tocitem" href="../crops/index.html">Crop submodel</a></li><li><a class="tocitem" href="../farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Nature</a></li><li class="is-active"><a href>Nature</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Nature</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/nature.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Nature"><a class="docs-heading-anchor" href="#Nature">Nature</a><a id="Nature-1"></a><a class="docs-heading-anchor-permalink" href="#Nature" title="Permalink"></a></h1><h2 id="nature.jl"><a class="docs-heading-anchor" href="#nature.jl">nature.jl</a><a id="nature.jl-1"></a><a class="docs-heading-anchor-permalink" href="#nature.jl" title="Permalink"></a></h2><p>This file is responsible for managing the animal modules.</p><article class="docstring"><header><a class="docstring-binding" id="Persephone.Animal" href="#Persephone.Animal"><code>Persephone.Animal</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Animal</code></pre><p>This is the generic agent type for all animals. Species are differentiated by trait dictionaries passed by them during initialisation.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.animalid-Tuple{Animal}" href="#Persephone.animalid-Tuple{Animal}"><code>Persephone.animalid</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">animalid(animal)</code></pre><p>A small utility function to return a string with the species name and ID of an animal.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.initnature!-Tuple{Agents.AgentBasedModel}" href="#Persephone.initnature!-Tuple{Agents.AgentBasedModel}"><code>Persephone.initnature!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">initnature!(model)</code></pre><p>Initialise the model with all simulated animal populations.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.stepagent!-Tuple{Animal, Agents.AgentBasedModel}" href="#Persephone.stepagent!-Tuple{Animal, Agents.AgentBasedModel}"><code>Persephone.stepagent!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">stepagent!(animal, model)</code></pre><p>Update an animal by one day, executing it&#39;s currently active phase function.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.@here-Tuple{Any}" href="#Persephone.@here-Tuple{Any}"><code>Persephone.@here</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@here(property)</code></pre><p>A utility macro to quickly access a property of the animal&#39;s current position. This can only be used nested within <code>@phase</code>.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.@kill-Tuple" href="#Persephone.@kill-Tuple"><code>Persephone.@kill</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@kill</code></pre><p>Kill this animal. This is a thin wrapper around <code>kill!()</code>, and passes on any arguments. This can only be used nested within <code>@phase</code>.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.@phase-Tuple{Any, Any}" href="#Persephone.@phase-Tuple{Any, Any}"><code>Persephone.@phase</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@phase(name, body)</code></pre><p>This macro is designed to be used within a species definition block (i.e. within the body of a call to <code>@species</code>).</p><p>The idea behind this is that species show very different behaviour during different phases of their lives. Therefore, <code>@phase</code> can be used define the behaviour for one such phase, and the conditions under which the animal transitions to another phase.</p><p><code>@phase</code> works by creating a function that will be called by the model if the animal is in the relevant phase. When it is called, it has access to the following variables:</p><ul><li><code>animal</code> a reference to the animal itself. This provides access to <code>animal.age</code>,   <code>animal.sex</code>, and <code>animal.traits</code> (a dict that gives access to all species parameters).</li><li><code>model</code> a reference to the model world (an object of type <code>AgentBasedModel</code>).   This allows access to <code>model.date</code> (the current simulation date) and   <code>model.landscape</code> (a two-dimensional array of pixels containing geographic   information).</li></ul><p>Several utility macros can be used within the body of <code>@phase</code> as a short-hand for common expressions: <code>@respond</code>, <code>@trait</code>, <code>@here</code>, <code>@kill</code>, <code>@reproduce</code></p><p>To transition an individual to another phase, simply redefine its phase variable: <code>@trait(phase) = &quot;newphase&quot;</code>.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.@reproduce-Tuple" href="#Persephone.@reproduce-Tuple"><code>Persephone.@reproduce</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@reproduce</code></pre><p>Let this animal reproduce. This is a thin wrapper around <code>reproduce!()</code>, and passes on any arguments. This can only be used nested within <code>@phase</code>.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.@respond-Tuple{Any, Any}" href="#Persephone.@respond-Tuple{Any, Any}"><code>Persephone.@respond</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@respond(eventname, body)</code></pre><p>Define how an animal responds to a landscape event that affects its current position. This can only be used nested within <code>@phase</code>.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.@species-Tuple{Any, Any}" href="#Persephone.@species-Tuple{Any, Any}"><code>Persephone.@species</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@species(name, body)</code></pre><p>A macro used to create new species definitions for the nature model. This is effectively a simple domain-specific language, establishing a custom syntax to describe species&#39; biology:</p><pre><code class="language-julia hljs">@species name begin
+    initialise! = initpopulation()
+    phase = &quot;phase1&quot;
+    ...
+    @phase phase1 begin
+        ...
+    end
+end</code></pre><p>The definition body (enclosed in the begin/end block) has two sections. First comes a list of species-specific parameters, which are assigned just like normal variables. Second come one or more phase definitions, that describe the behaviour of the species during various parts of its life cycle (see the documentation to <code>@phase</code> for details).</p><p>There are two parameters that all species must define:</p><ul><li><code>initialise!</code> should specify a function that will be used to create   the starting population for this species. This function must take   two arguments, a species dict and an <code>AgentBasedModel</code> object.   The easiest way to create this function is by using <code>initpopultion()</code>.</li><li><code>phase</code> should be a string specifying the name of the first phase   that individuals of this species will be assigned to on birth.</li></ul><p>Access to the rest of the model is given by the <code>model</code> variable (an object of type <code>AgentBasedModel</code>).</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.@trait-Tuple{Any}" href="#Persephone.@trait-Tuple{Any}"><code>Persephone.@trait</code></a> — <span class="docstring-category">Macro</span></header><section><div><pre><code class="language-julia hljs">@trait(traitname)</code></pre><p>A utility macro to quickly access an animal&#39;s trait value. This can only be used nested within <code>@phase</code>.</p></div></section></article><h2 id="lifehistory.jl"><a class="docs-heading-anchor" href="#lifehistory.jl">lifehistory.jl</a><a id="lifehistory.jl-1"></a><a class="docs-heading-anchor-permalink" href="#lifehistory.jl" title="Permalink"></a></h2><p>This file contains a set of life-history related utility functions needed by species.</p><article class="docstring"><header><a class="docstring-binding" id="Persephone.initrandompopulation" href="#Persephone.initrandompopulation"><code>Persephone.initrandompopulation</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">initrandompopulation(popsize, asexual=true)</code></pre><p>A simplified version of <code>initpopulation()</code>. Creates a function that initialises <code>popsize</code> individuals, spread at random across the landscape. If <code>popsize</code> is less than 1, it is interpreted as a population density (i.e. 1 animal per <code>popsize</code> pixels).</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.kill!" href="#Persephone.kill!"><code>Persephone.kill!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">kill(animal, model, probability=1.0, cause=&quot;&quot;)</code></pre><p>Kill this animal, optionally with a given percentage probability. Returns true if the animal dies, false if not.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.reproduce!" href="#Persephone.reproduce!"><code>Persephone.reproduce!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">reproduce!(animal, model, n=1)</code></pre><p>Produce one or more offspring for the given animal at its current location.</p></div></section></article><h2 id="ecologicaldata.jl"><a class="docs-heading-anchor" href="#ecologicaldata.jl">ecologicaldata.jl</a><a id="ecologicaldata.jl-1"></a><a class="docs-heading-anchor-permalink" href="#ecologicaldata.jl" title="Permalink"></a></h2><p>This file contains a set of life-history related utility functions needed by species.</p><article class="docstring"><header><a class="docstring-binding" id="Persephone.initecologicaldata-Tuple{}" href="#Persephone.initecologicaldata-Tuple{}"><code>Persephone.initecologicaldata</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">initecologicaldata()</code></pre><p>Create output files for each data group collected by the nature model.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.saveindividualdata-Tuple{Agents.AgentBasedModel}" href="#Persephone.saveindividualdata-Tuple{Agents.AgentBasedModel}"><code>Persephone.saveindividualdata</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">saveindividualdata(model)</code></pre><p>Print a comma-separated set of lines to <code>individuals.csv</code>, listing all properties of all animal individuals in the model. May be called never, daily, monthly, yearly, or at the end of a simulation, depending on the parameter <code>nature.indoutfreq</code>. WARNING: Produces very big files!</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.savepopulationdata-Tuple{Agents.AgentBasedModel}" href="#Persephone.savepopulationdata-Tuple{Agents.AgentBasedModel}"><code>Persephone.savepopulationdata</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">savepopulationdata(model)</code></pre><p>Print a comma-separated set of lines to <code>populations.csv</code>, giving the current date and population size for each animal species. May be called never, daily, monthly, yearly, or at the end of a simulation, depending on the parameter <code>nature.popoutfreq</code>.</p></div></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../io/index.html">« Input, Output, and Settings</a><a class="docs-footer-nextpage" href="../species/index.html">Species »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/build/search/index.html b/docs/build/search/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..65609dcc56d9ec872615b820a15a67454f52d1f8
--- /dev/null
+++ b/docs/build/search/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Search · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li><a class="tocitem" href="../developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="../simulation/index.html">Simulation</a></li><li><a class="tocitem" href="../io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="../nature/index.html">Nature</a></li><li><a class="tocitem" href="../species/index.html">Species</a></li></ul></li><li><a class="tocitem" href="../crops/index.html">Crop submodel</a></li><li><a class="tocitem" href="../farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Search</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Search</a></li></ul></nav><div class="docs-right"><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article><p id="documenter-search-info">Loading search...</p><ul id="documenter-search-results"></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body><script src="../search_index.js"></script><script src="../assets/search.js"></script></html>
diff --git a/docs/build/search_index.js b/docs/build/search_index.js
new file mode 100644
index 0000000000000000000000000000000000000000..6b4fb4a0efc13ee4a2a82896aab7ac8fafeddf28
--- /dev/null
+++ b/docs/build/search_index.js
@@ -0,0 +1,3 @@
+var documenterSearchIndex = {"docs":
+[{"location":"developing/index.html#Developing-Persephone","page":"Developing Persephone","title":"Developing Persephone","text":"","category":"section"},{"location":"developing/index.html#Workflow","page":"Developing Persephone","title":"Workflow","text":"","category":"section"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"Pull the current development version from the master branch on Gitlab:  https://git.idiv.de/xo30xoqa/persephone.\nIf you are working on a new feature, create a new branch to avoid breaking the master branch. (The master branch should always be in a runnable and (as far as possible) error-free state.)\nImplement your changes.\nRun run.sh to make sure the model executes without crashing. Also run the test suite (cd test; julia runtests.jl).\nCommit your work frequently, and try to keep each commit small. Don't forget to add relevant tests to the test suite.\nOnce your satisfied with your work, do another pull/merge from the master branch in case somebody else changed the branch in the meantime. Then merge your work into master and push to the Gitlab server.\nRepeat :-)","category":"page"},{"location":"developing/index.html#Agents.jl","page":"Developing Persephone","title":"Agents.jl","text":"","category":"section"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"Our model uses Agents.jl as a framework. Their repository can be used to inspect the source code or submit bug reports (the authors are quick to respond). Questions can be asked at the  Julia Discourse forum.","category":"page"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"Tutorial on collaborating on Julia packages:  https://www.matecdev.com/posts/julia-package-collaboration.html.","category":"page"},{"location":"developing/index.html#Julia-editors","page":"Developing Persephone","title":"Julia editors","text":"","category":"section"},{"location":"developing/index.html#Emacs","page":"Developing Persephone","title":"Emacs","text":"","category":"section"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"There are a couple of addons that make working with Julia much nicer in Emacs:","category":"page"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"julia-mode gives syntax highlighting. Install with M-x package-install julia-mode.\njulia-snail provides IDE-like features,  especially a fully-functional REPL and the ability to evaluate code straight from inside a buffer. Note that the installation can be somewhat tricky. You first need to manually install all the dependencies of its dependency vterm, then install vterm itself with M-x package-install vterm, before you can do M-x package-install julia-snail. Then add it to your init.el with (require 'julia-snail) and (add-hook 'julia-mode-hook #'julia-snail-mode).\ncompany-mode integrates with Snail to give code  completion. Install with M-x package-install company, then add  (add-hook 'julia-mode-hook #'company-mode) and  (global-set-key (kbd \"C-<tab>\") 'company-complete) to your init.el.\nmagit is a great git interface for Emacs. Install with M-x package-install magit and add (global-set-key (kbd \"C-x g\") 'magit-status) to your init.el.","category":"page"},{"location":"developing/index.html#VSCode","page":"Developing Persephone","title":"VSCode","text":"","category":"section"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"See here.","category":"page"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"TODO: add more detail.","category":"page"},{"location":"developing/index.html#Other-useful-stuff","page":"Developing Persephone","title":"Other useful stuff","text":"","category":"section"},{"location":"developing/index.html","page":"Developing Persephone","title":"Developing Persephone","text":"Revise.jl allows one to reload code without restarting the Julia interpreter. Get it with Pkg.add(\"Revise\"), then  add using Revise to .julia/config/startup.jl to have it automatically available.\ngit-bug is a commandline bug tracker that integrates directly with git. It can also be used as a local interface to Gitlab issues. To install on Linux, download the binary, copy it to /usr/local/bin/git-bug, and set it as executable with chmod +x  /usr/local/bin/git-bug. To set up Gitlab integration, run git bug bridge configure from within the relevant repository.","category":"page"},{"location":"nature/#Nature","page":"Nature","title":"Nature","text":"","category":"section"},{"location":"nature/#nature.jl","page":"Nature","title":"nature.jl","text":"","category":"section"},{"location":"nature/","page":"Nature","title":"Nature","text":"This file is responsible for managing the animal modules.","category":"page"},{"location":"nature/","page":"Nature","title":"Nature","text":"Modules = [Persephone]\nPages = [\"nature/nature.jl\"]","category":"page"},{"location":"nature/#Persephone.Animal","page":"Nature","title":"Persephone.Animal","text":"Animal\n\nThis is the generic agent type for all animals. Species are differentiated by trait dictionaries passed by them during initialisation.\n\n\n\n\n\n","category":"type"},{"location":"nature/#Persephone.animalid-Tuple{Animal}","page":"Nature","title":"Persephone.animalid","text":"animalid(animal)\n\nA small utility function to return a string with the species name and ID of an animal.\n\n\n\n\n\n","category":"method"},{"location":"nature/#Persephone.initnature!-Tuple{Agents.AgentBasedModel}","page":"Nature","title":"Persephone.initnature!","text":"initnature!(model)\n\nInitialise the model with all simulated animal populations.\n\n\n\n\n\n","category":"method"},{"location":"nature/#Persephone.stepagent!-Tuple{Animal, Agents.AgentBasedModel}","page":"Nature","title":"Persephone.stepagent!","text":"stepagent!(animal, model)\n\nUpdate an animal by one day, executing it's currently active phase function.\n\n\n\n\n\n","category":"method"},{"location":"nature/#Persephone.@here-Tuple{Any}","page":"Nature","title":"Persephone.@here","text":"@here(property)\n\nA utility macro to quickly access a property of the animal's current position. This can only be used nested within @phase.\n\n\n\n\n\n","category":"macro"},{"location":"nature/#Persephone.@kill-Tuple","page":"Nature","title":"Persephone.@kill","text":"@kill\n\nKill this animal. This is a thin wrapper around kill!(), and passes on any arguments. This can only be used nested within @phase.\n\n\n\n\n\n","category":"macro"},{"location":"nature/#Persephone.@phase-Tuple{Any, Any}","page":"Nature","title":"Persephone.@phase","text":"@phase(name, body)\n\nThis macro is designed to be used within a species definition block (i.e. within the body of a call to @species).\n\nThe idea behind this is that species show very different behaviour during different phases of their lives. Therefore, @phase can be used define the behaviour for one such phase, and the conditions under which the animal transitions to another phase.\n\n@phase works by creating a function that will be called by the model if the animal is in the relevant phase. When it is called, it has access to the following variables:\n\nanimal a reference to the animal itself. This provides access to animal.age,   animal.sex, and animal.traits (a dict that gives access to all species parameters).\nmodel a reference to the model world (an object of type AgentBasedModel).   This allows access to model.date (the current simulation date) and   model.landscape (a two-dimensional array of pixels containing geographic   information).\n\nSeveral utility macros can be used within the body of @phase as a short-hand for common expressions: @respond, @trait, @here, @kill, @reproduce\n\nTo transition an individual to another phase, simply redefine its phase variable: @trait(phase) = \"newphase\".\n\n\n\n\n\n","category":"macro"},{"location":"nature/#Persephone.@reproduce-Tuple","page":"Nature","title":"Persephone.@reproduce","text":"@reproduce\n\nLet this animal reproduce. This is a thin wrapper around reproduce!(), and passes on any arguments. This can only be used nested within @phase.\n\n\n\n\n\n","category":"macro"},{"location":"nature/#Persephone.@respond-Tuple{Any, Any}","page":"Nature","title":"Persephone.@respond","text":"@respond(eventname, body)\n\nDefine how an animal responds to a landscape event that affects its current position. This can only be used nested within @phase.\n\n\n\n\n\n","category":"macro"},{"location":"nature/#Persephone.@species-Tuple{Any, Any}","page":"Nature","title":"Persephone.@species","text":"@species(name, body)\n\nA macro used to create new species definitions for the nature model. This is effectively a simple domain-specific language, establishing a custom syntax to describe species' biology:\n\n@species name begin\n    initialise! = initpopulation()\n    phase = \"phase1\"\n    ...\n    @phase phase1 begin\n        ...\n    end\nend\n\nThe definition body (enclosed in the begin/end block) has two sections. First comes a list of species-specific parameters, which are assigned just like normal variables. Second come one or more phase definitions, that describe the behaviour of the species during various parts of its life cycle (see the documentation to @phase for details).\n\nThere are two parameters that all species must define:\n\ninitialise! should specify a function that will be used to create   the starting population for this species. This function must take   two arguments, a species dict and an AgentBasedModel object.   The easiest way to create this function is by using initpopultion().\nphase should be a string specifying the name of the first phase   that individuals of this species will be assigned to on birth.\n\nAccess to the rest of the model is given by the model variable (an object of type AgentBasedModel).\n\n\n\n\n\n","category":"macro"},{"location":"nature/#Persephone.@trait-Tuple{Any}","page":"Nature","title":"Persephone.@trait","text":"@trait(traitname)\n\nA utility macro to quickly access an animal's trait value. This can only be used nested within @phase.\n\n\n\n\n\n","category":"macro"},{"location":"nature/#lifehistory.jl","page":"Nature","title":"lifehistory.jl","text":"","category":"section"},{"location":"nature/","page":"Nature","title":"Nature","text":"This file contains a set of life-history related utility functions needed by species.","category":"page"},{"location":"nature/","page":"Nature","title":"Nature","text":"Modules = [Persephone]\nPages = [\"nature/lifehistory.jl\"]","category":"page"},{"location":"nature/#Persephone.initrandompopulation","page":"Nature","title":"Persephone.initrandompopulation","text":"initrandompopulation(popsize, asexual=true)\n\nA simplified version of initpopulation(). Creates a function that initialises popsize individuals, spread at random across the landscape. If popsize is less than 1, it is interpreted as a population density (i.e. 1 animal per popsize pixels).\n\n\n\n\n\n","category":"function"},{"location":"nature/#Persephone.kill!","page":"Nature","title":"Persephone.kill!","text":"kill(animal, model, probability=1.0, cause=\"\")\n\nKill this animal, optionally with a given percentage probability. Returns true if the animal dies, false if not.\n\n\n\n\n\n","category":"function"},{"location":"nature/#Persephone.reproduce!","page":"Nature","title":"Persephone.reproduce!","text":"reproduce!(animal, model, n=1)\n\nProduce one or more offspring for the given animal at its current location.\n\n\n\n\n\n","category":"function"},{"location":"nature/#ecologicaldata.jl","page":"Nature","title":"ecologicaldata.jl","text":"","category":"section"},{"location":"nature/","page":"Nature","title":"Nature","text":"This file contains a set of life-history related utility functions needed by species.","category":"page"},{"location":"nature/","page":"Nature","title":"Nature","text":"Modules = [Persephone]\nPages = [\"nature/ecologicaldata.jl\"]","category":"page"},{"location":"nature/#Persephone.initecologicaldata-Tuple{}","page":"Nature","title":"Persephone.initecologicaldata","text":"initecologicaldata()\n\nCreate output files for each data group collected by the nature model.\n\n\n\n\n\n","category":"method"},{"location":"nature/#Persephone.saveindividualdata-Tuple{Agents.AgentBasedModel}","page":"Nature","title":"Persephone.saveindividualdata","text":"saveindividualdata(model)\n\nPrint a comma-separated set of lines to individuals.csv, listing all properties of all animal individuals in the model. May be called never, daily, monthly, yearly, or at the end of a simulation, depending on the parameter nature.indoutfreq. WARNING: Produces very big files!\n\n\n\n\n\n","category":"method"},{"location":"nature/#Persephone.savepopulationdata-Tuple{Agents.AgentBasedModel}","page":"Nature","title":"Persephone.savepopulationdata","text":"savepopulationdata(model)\n\nPrint a comma-separated set of lines to populations.csv, giving the current date and population size for each animal species. May be called never, daily, monthly, yearly, or at the end of a simulation, depending on the parameter nature.popoutfreq.\n\n\n\n\n\n","category":"method"},{"location":"simulation/index.html#Simulation","page":"Simulation","title":"Simulation","text":"","category":"section"},{"location":"simulation/index.html","page":"Simulation","title":"Simulation","text":"The core directory holds source files that are important for all submodels, including scheduling, landscape, and input/output functions.","category":"page"},{"location":"simulation/index.html#simulation.jl","page":"Simulation","title":"simulation.jl","text":"","category":"section"},{"location":"simulation/index.html","page":"Simulation","title":"Simulation","text":"This file includes the basal functions for initialising and running simulations.","category":"page"},{"location":"simulation/index.html","page":"Simulation","title":"Simulation","text":"Modules = [Persephone]\nPages = [\"core/simulation.jl\"]","category":"page"},{"location":"simulation/index.html#Persephone.finalise-Tuple{Agents.AgentBasedModel}","page":"Simulation","title":"Persephone.finalise","text":"finalise(model)\n\nWrap up the simulation. Output all remaining data and exit.\n\n\n\n\n\n","category":"method"},{"location":"simulation/index.html#Persephone.initialise","page":"Simulation","title":"Persephone.initialise","text":"initialise(config, seed)\n\nInitialise the model: read in parameters, create the output data directory, and instantiate the AgentBasedModel object.\n\n\n\n\n\n","category":"function"},{"location":"simulation/index.html#Persephone.simulate","page":"Simulation","title":"Persephone.simulate","text":"simulate(config)\n\nCarry out a complete simulation run.\n\n\n\n\n\n","category":"function"},{"location":"simulation/index.html#Persephone.stepsimulation!-Tuple{Agents.AgentBasedModel}","page":"Simulation","title":"Persephone.stepsimulation!","text":"stepsimulation!(model)\n\nExecute one update of the model.\n\n\n\n\n\n","category":"method"},{"location":"simulation/index.html#landscape.jl","page":"Simulation","title":"landscape.jl","text":"","category":"section"},{"location":"simulation/index.html","page":"Simulation","title":"Simulation","text":"This file manages the landscape maps that underlie the model.","category":"page"},{"location":"simulation/index.html","page":"Simulation","title":"Simulation","text":"Modules = [Persephone]\nPages = [\"core/landscape.jl\"]","category":"page"},{"location":"simulation/index.html#Persephone.EventType","page":"Simulation","title":"Persephone.EventType","text":"The types of landscape event that can be simulated\n\n\n\n\n\n","category":"type"},{"location":"simulation/index.html#Persephone.FarmEvent","page":"Simulation","title":"Persephone.FarmEvent","text":"FarmEvent\n\nA data structure to define a landscape event, giving its type, spatial extent, and duration.\n\n\n\n\n\n","category":"type"},{"location":"simulation/index.html#Persephone.LandCover","page":"Simulation","title":"Persephone.LandCover","text":"The land cover classes encoded in the Mundialis Sentinel data.\n\n\n\n\n\n","category":"type"},{"location":"simulation/index.html#Persephone.Pixel","page":"Simulation","title":"Persephone.Pixel","text":"Pixel\n\nA pixel is a simple data structure to combine land use and ownership information in a single object. The model landscape consists of a matrix of pixels. (Note: further landscape information may be added here in future.)\n\n\n\n\n\n","category":"type"},{"location":"simulation/index.html#Persephone.createevent!","page":"Simulation","title":"Persephone.createevent!","text":"createevent(model, pos, name, duration=1)\n\nAdd a farm event to the specified pixels for a given duration.\n\n\n\n\n\n","category":"function"},{"location":"simulation/index.html#Persephone.farmplot-Tuple{Agents.AgentBasedModel, Tuple{Int64, Int64}}","page":"Simulation","title":"Persephone.farmplot","text":"farmplot(model, position)\n\nReturn the farm plot at this position (utility wrapper).\n\n\n\n\n\n","category":"method"},{"location":"simulation/index.html#Persephone.initlandscape-Tuple{}","page":"Simulation","title":"Persephone.initlandscape","text":"initlandscape()\n\nInitialise the model landscape based on the map files specified in the configuration. Returns a matrix of pixels.\n\n\n\n\n\n","category":"method"},{"location":"simulation/index.html#Persephone.landcover-Tuple{Agents.AgentBasedModel, Tuple{Int64, Int64}}","page":"Simulation","title":"Persephone.landcover","text":"landcover(model, position)\n\nReturn the land cover class at this position (utility wrapper).\n\n\n\n\n\n","category":"method"},{"location":"simulation/index.html#Persephone.updateevents!-Tuple{Agents.AgentBasedModel}","page":"Simulation","title":"Persephone.updateevents!","text":"updateevents!(model)\n\nCycle through the list of events, removing those that have expired.\n\n\n\n\n\n","category":"method"},{"location":"farm/index.html#Farm-submodel","page":"Farm submodel","title":"Farm submodel","text":"","category":"section"},{"location":"farm/index.html","page":"Farm submodel","title":"Farm submodel","text":"Eventually, Persephone will include multiple farm-decision submodels. At the moment,  we are only working with a very basic mock-up.","category":"page"},{"location":"farm/index.html#farm.jl","page":"Farm submodel","title":"farm.jl","text":"","category":"section"},{"location":"farm/index.html","page":"Farm submodel","title":"Farm submodel","text":"This file is responsible for managing the farm module(s).","category":"page"},{"location":"farm/index.html","page":"Farm submodel","title":"Farm submodel","text":"Modules = [Persephone]\nPages = [\"farm/index.htmlfarm.jl\"]","category":"page"},{"location":"farm/index.html#Persephone.initfarms!-Tuple{Agents.AgentBasedModel}","page":"Farm submodel","title":"Persephone.initfarms!","text":"initfarms!(model)\n\nInitialise the model with a set of farm agents.\n\n\n\n\n\n","category":"method"},{"location":"farm/index.html#Persephone.stepagent!-Tuple{Farmer, Agents.AgentBasedModel}","page":"Farm submodel","title":"Persephone.stepagent!","text":"stepagent!(farmer, model)\n\nUpdate a farmer by one day.\n\n\n\n\n\n","category":"method"},{"location":"crops/index.html#Crop-submodel","page":"Crop submodel","title":"Crop submodel","text":"","category":"section"},{"location":"crops/index.html","page":"Crop submodel","title":"Crop submodel","text":"Eventually, Persephone will include a full-blown crop-growth model (an adaptation of AquaCrop, created by the FAO). At the moment, we are only working with a very basic mock-up.","category":"page"},{"location":"crops/index.html#crops.jl","page":"Crop submodel","title":"crops.jl","text":"","category":"section"},{"location":"crops/index.html","page":"Crop submodel","title":"Crop submodel","text":"This includes the types and functions needed for all crop growth model, which are also referenced by the other submodels.","category":"page"},{"location":"crops/index.html","page":"Crop submodel","title":"Crop submodel","text":"Modules = [Persephone]\nPages = [\"crop/crops.jl\"]","category":"page"},{"location":"crops/index.html#Persephone.FarmPlot","page":"Crop submodel","title":"Persephone.FarmPlot","text":"FarmPlot\n\nThis represents one field, i.e. a collection of pixels with the same management. This is the spatial unit with which the crop growth model and the farm model work.\n\n\n\n\n\n","category":"type"},{"location":"crops/index.html#Persephone.averagefieldsize-Tuple{Agents.AgentBasedModel}","page":"Crop submodel","title":"Persephone.averagefieldsize","text":"averagefieldsize(model)\n\nCalculate the average field size in hectares for the model landscape.\n\n\n\n\n\n","category":"method"},{"location":"crops/index.html#Persephone.initfields!-Tuple{Agents.AgentBasedModel}","page":"Crop submodel","title":"Persephone.initfields!","text":"initfields!(model)\n\nInitialise the model with its farm plots.\n\n\n\n\n\n","category":"method"},{"location":"crops/index.html#Persephone.stepagent!-Tuple{FarmPlot, Agents.AgentBasedModel}","page":"Crop submodel","title":"Persephone.stepagent!","text":"stepagent!(farmplot, model)\n\nUpdate a farm plot by one day.\n\n\n\n\n\n","category":"method"},{"location":"","page":"Introduction","title":"Introduction","text":"CurrentModule = Persephone","category":"page"},{"location":"#Introduction","page":"Introduction","title":"Introduction","text":"","category":"section"},{"location":"","page":"Introduction","title":"Introduction","text":"Persephone is an agent-based, socio-economic-ecological model of agricultural landscapes in Europe under the Common Agricultural Policy (CAP).","category":"page"},{"location":"","page":"Introduction","title":"Introduction","text":"It's aim is to investigate how policy affects farmer decision-making, and how this in turn affects various animal species. It includes a farm submodel, a crop-growth submodel, and an ecological submodels.","category":"page"},{"location":"#Running-the-model","page":"Introduction","title":"Running the model","text":"","category":"section"},{"location":"","page":"Introduction","title":"Introduction","text":"To run a single experiment, execute:","category":"page"},{"location":"","page":"Introduction","title":"Introduction","text":"./run.jl -c <CONFIG>","category":"page"},{"location":"","page":"Introduction","title":"Introduction","text":"Other commandline arguments are:","category":"page"},{"location":"","page":"Introduction","title":"Introduction","text":"usage: run.jl [-c CONFIGFILE] [-s SEED] [-o OUTDIR] [-l LOGLEVEL] \n              [--version] [-h]\n\noptional arguments:\n  -c, --configfile CONFIGFILE\n                        name of the configuration file\n  -s, --seed SEED       inital random seed (type: Int64)\n  -o, --outdir OUTDIR   location of the output directory\n  -l, --loglevel LOGLEVEL\n                        verbosity: \"debug\", \"info\", or \"quiet\"\n  --version             show version information and exit\n  -h, --help            show this help message and exit","category":"page"},{"location":"","page":"Introduction","title":"Introduction","text":"Last updated: 2023-01-04 (commit a958dd6)  ","category":"page"},{"location":"io/index.html#Input,-Output,-and-Settings","page":"Input, Output, and Settings","title":"Input, Output, and Settings","text":"","category":"section"},{"location":"io/index.html","page":"Input, Output, and Settings","title":"Input, Output, and Settings","text":"These functions are responsible for reading in all model configurations (passed by config file or commandline), administrating them during a run, and printing any output.","category":"page"},{"location":"io/index.html#parameters.toml","page":"Input, Output, and Settings","title":"parameters.toml","text":"","category":"section"},{"location":"io/index.html","page":"Input, Output, and Settings","title":"Input, Output, and Settings","text":"This is the default configuration file for Persephone, containing all model parameters. The syntax is described here: https://toml.io/index.htmlen/","category":"page"},{"location":"io/index.html","page":"Input, Output, and Settings","title":"Input, Output, and Settings","text":"DO NOT MODIFY THIS FILE FOR SIMULATION EXPERIMENTS! Instead, copy it to another directory, modify the copy, and then pass it to the model using the --config parameter.","category":"page"},{"location":"io/index.html#input.jl","page":"Input, Output, and Settings","title":"input.jl","text":"","category":"section"},{"location":"io/index.html","page":"Input, Output, and Settings","title":"Input, Output, and Settings","text":"Modules = [Persephone]\nPages = [\"core/input.jl\"]","category":"page"},{"location":"io/index.html#Persephone.getsettings-Tuple{String}","page":"Input, Output, and Settings","title":"Persephone.getsettings","text":"getsettings(configfile)\n\nCombines all configuration options to produce a single settings dict. Precedence: commandline parameters - user config file - default values\n\n\n\n\n\n","category":"method"},{"location":"io/index.html#Persephone.parsecommandline-Tuple{}","page":"Input, Output, and Settings","title":"Persephone.parsecommandline","text":"parsecommandline()\n\nCertain software parameters can be set via the commandline.\n\n\n\n\n\n","category":"method"},{"location":"io/index.html#output.jl","page":"Input, Output, and Settings","title":"output.jl","text":"","category":"section"},{"location":"io/index.html","page":"Input, Output, and Settings","title":"Input, Output, and Settings","text":"Modules = [Persephone]\nPages = [\"core/output.jl\"]","category":"page"},{"location":"io/index.html#Persephone.DataOutput","page":"Input, Output, and Settings","title":"Persephone.DataOutput","text":"DataOutput\n\nA struct for organising model output. This is designed for text-based data output that is updated more or less regularly (e.g. population data in csv files). Submodels can register their own output functions using newdataoutput().\n\nStruct fields:     - filename: the name of the file to be created in the user-specified output directory     - header: a string to be written to the start of the file as it is initialised     - outputfunction: a function that takes a model object and returns a string to write to file     - frequency: how often to call the output function (daily/monthly/yearly/end/never)\n\n\n\n\n\n","category":"type"},{"location":"io/index.html#Persephone.setupdatadir-Tuple{}","page":"Input, Output, and Settings","title":"Persephone.setupdatadir","text":"setupdatadir()\n\nCreates the output directory and copies relevant files into it.\n\n\n\n\n\n","category":"method"},{"location":"species/index.html#Species","page":"Species","title":"Species","text":"","category":"section"},{"location":"species/index.html","page":"Species","title":"Species","text":"The ecological submodel in Persephone simulates a range of species in agricultural landscapes.","category":"page"},{"location":"species/index.html#Skylark","page":"Species","title":"Skylark","text":"","category":"section"},{"location":"species/index.html","page":"Species","title":"Species","text":"Modules = [Persephone]\nPages = [\"nature/species/index.htmlskylark.jl\"]","category":"page"}]
+}
diff --git a/docs/build/simulation/index.html b/docs/build/simulation/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..986e040b552e16c5816aeb37011c2ff29d694ca8
--- /dev/null
+++ b/docs/build/simulation/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Simulation · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action="../search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li><a class="tocitem" href="../developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li class="is-active"><a class="tocitem" href>Simulation</a><ul class="internal"><li><a class="tocitem" href="#simulation.jl"><span>simulation.jl</span></a></li><li><a class="tocitem" href="#landscape.jl"><span>landscape.jl</span></a></li></ul></li><li><a class="tocitem" href="../io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="../nature/index.html">Nature</a></li><li><a class="tocitem" href="../species/index.html">Species</a></li></ul></li><li><a class="tocitem" href="../crops/index.html">Crop submodel</a></li><li><a class="tocitem" href="../farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Core</a></li><li class="is-active"><a href>Simulation</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Simulation</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/simulation.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Simulation"><a class="docs-heading-anchor" href="#Simulation">Simulation</a><a id="Simulation-1"></a><a class="docs-heading-anchor-permalink" href="#Simulation" title="Permalink"></a></h1><p>The <code>core</code> directory holds source files that are important for all submodels, including scheduling, landscape, and input/output functions.</p><h2 id="simulation.jl"><a class="docs-heading-anchor" href="#simulation.jl">simulation.jl</a><a id="simulation.jl-1"></a><a class="docs-heading-anchor-permalink" href="#simulation.jl" title="Permalink"></a></h2><p>This file includes the basal functions for initialising and running simulations.</p><article class="docstring"><header><a class="docstring-binding" id="Persephone.finalise-Tuple{Agents.AgentBasedModel}" href="#Persephone.finalise-Tuple{Agents.AgentBasedModel}"><code>Persephone.finalise</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">finalise(model)</code></pre><p>Wrap up the simulation. Output all remaining data and exit.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.initialise" href="#Persephone.initialise"><code>Persephone.initialise</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">initialise(config, seed)</code></pre><p>Initialise the model: read in parameters, create the output data directory, and instantiate the AgentBasedModel object.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.simulate" href="#Persephone.simulate"><code>Persephone.simulate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">simulate(config)</code></pre><p>Carry out a complete simulation run.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.stepsimulation!-Tuple{Agents.AgentBasedModel}" href="#Persephone.stepsimulation!-Tuple{Agents.AgentBasedModel}"><code>Persephone.stepsimulation!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">stepsimulation!(model)</code></pre><p>Execute one update of the model.</p></div></section></article><h2 id="landscape.jl"><a class="docs-heading-anchor" href="#landscape.jl">landscape.jl</a><a id="landscape.jl-1"></a><a class="docs-heading-anchor-permalink" href="#landscape.jl" title="Permalink"></a></h2><p>This file manages the landscape maps that underlie the model.</p><article class="docstring"><header><a class="docstring-binding" id="Persephone.EventType" href="#Persephone.EventType"><code>Persephone.EventType</code></a> — <span class="docstring-category">Type</span></header><section><div><p>The types of landscape event that can be simulated</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.FarmEvent" href="#Persephone.FarmEvent"><code>Persephone.FarmEvent</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">FarmEvent</code></pre><p>A data structure to define a landscape event, giving its type, spatial extent, and duration.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.LandCover" href="#Persephone.LandCover"><code>Persephone.LandCover</code></a> — <span class="docstring-category">Type</span></header><section><div><p>The land cover classes encoded in the Mundialis Sentinel data.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.Pixel" href="#Persephone.Pixel"><code>Persephone.Pixel</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">Pixel</code></pre><p>A pixel is a simple data structure to combine land use and ownership information in a single object. The model landscape consists of a matrix of pixels. (Note: further landscape information may be added here in future.)</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.createevent!" href="#Persephone.createevent!"><code>Persephone.createevent!</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">createevent(model, pos, name, duration=1)</code></pre><p>Add a farm event to the specified pixels for a given duration.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.farmplot-Tuple{Agents.AgentBasedModel, Tuple{Int64, Int64}}" href="#Persephone.farmplot-Tuple{Agents.AgentBasedModel, Tuple{Int64, Int64}}"><code>Persephone.farmplot</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">farmplot(model, position)</code></pre><p>Return the farm plot at this position (utility wrapper).</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.initlandscape-Tuple{}" href="#Persephone.initlandscape-Tuple{}"><code>Persephone.initlandscape</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">initlandscape()</code></pre><p>Initialise the model landscape based on the map files specified in the configuration. Returns a matrix of pixels.</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.landcover-Tuple{Agents.AgentBasedModel, Tuple{Int64, Int64}}" href="#Persephone.landcover-Tuple{Agents.AgentBasedModel, Tuple{Int64, Int64}}"><code>Persephone.landcover</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">landcover(model, position)</code></pre><p>Return the land cover class at this position (utility wrapper).</p></div></section></article><article class="docstring"><header><a class="docstring-binding" id="Persephone.updateevents!-Tuple{Agents.AgentBasedModel}" href="#Persephone.updateevents!-Tuple{Agents.AgentBasedModel}"><code>Persephone.updateevents!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">updateevents!(model)</code></pre><p>Cycle through the list of events, removing those that have expired.</p></div></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../developing/index.html">« Developing Persephone</a><a class="docs-footer-nextpage" href="../io/index.html">Input, Output, and Settings »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/build/species/index.html b/docs/build/species/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..fa13fbf53268a2b0bbcb645ed7abe99abfcd39d1
--- /dev/null
+++ b/docs/build/species/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Species · Persephone</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../index.html"><img src="../assets/logo.png" alt="Persephone logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../index.html">Persephone</a></span></div><form class="docs-search" action="../search/index.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../index.html">Introduction</a></li><li><a class="tocitem" href="../developing/index.html">Developing Persephone</a></li><li><span class="tocitem">Core</span><ul><li><a class="tocitem" href="../simulation/index.html">Simulation</a></li><li><a class="tocitem" href="../io/index.html">Input, Output, and Settings</a></li></ul></li><li><span class="tocitem">Nature</span><ul><li><a class="tocitem" href="../nature/index.html">Nature</a></li><li class="is-active"><a class="tocitem" href>Species</a><ul class="internal"><li><a class="tocitem" href="#Skylark"><span>Skylark</span></a></li></ul></li></ul></li><li><a class="tocitem" href="../crops/index.html">Crop submodel</a></li><li><a class="tocitem" href="../farm/index.html">Farm submodel</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li><a class="is-disabled">Nature</a></li><li class="is-active"><a href>Species</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Species</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/species.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Species"><a class="docs-heading-anchor" href="#Species">Species</a><a id="Species-1"></a><a class="docs-heading-anchor-permalink" href="#Species" title="Permalink"></a></h1><p>The ecological submodel in Persephone simulates a range of species in agricultural landscapes.</p><h2 id="Skylark"><a class="docs-heading-anchor" href="#Skylark">Skylark</a><a id="Skylark-1"></a><a class="docs-heading-anchor-permalink" href="#Skylark" title="Permalink"></a></h2></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../nature/index.html">« Nature</a><a class="docs-footer-nextpage" href="../crops/index.html">Crop submodel »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.23 on <span class="colophon-date" title="Wednesday 4 January 2023 14:40">Wednesday 4 January 2023</span>. Using Julia version 1.9.0-alpha1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
diff --git a/docs/builddocs.jl b/docs/builddocs.jl
new file mode 100644
index 0000000000000000000000000000000000000000..81c8c5bffbbea60ef5917c4a0875e68105b66520
--- /dev/null
+++ b/docs/builddocs.jl
@@ -0,0 +1,20 @@
+# Build the HTML documentation for Persephone using Documenter.jl
+# https://documenter.juliadocs.org/stable/
+
+push!(LOAD_PATH, "../src/")
+
+using Documenter, Persephone
+
+makedocs(sitename="Persephone",
+         modules = [Persephone],
+         pages = ["index.md",
+                  "developing.md",
+                  "Core" => [
+                      "simulation.md",
+                      "io.md"],
+                  "Nature" => [
+                      "nature.md",
+                      "species.md"],
+                  "crops.md",
+                  "farm.md"
+                  ])
diff --git a/docs/documentation.html b/docs/documentation.html
new file mode 120000
index 0000000000000000000000000000000000000000..62206424b30724dfba0d5a74d7f951812e6a6c9e
--- /dev/null
+++ b/docs/documentation.html
@@ -0,0 +1 @@
+build/index.html
\ No newline at end of file
diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fcae1bfb8df8bca2a249b69a91ca68db4f7531d
Binary files /dev/null and b/docs/src/assets/logo.png differ
diff --git a/docs/src/crops.md b/docs/src/crops.md
new file mode 100644
index 0000000000000000000000000000000000000000..cabc94bf0d5ac990b5e8087a481e4e1a818d08d0
--- /dev/null
+++ b/docs/src/crops.md
@@ -0,0 +1,14 @@
+# Crop submodel
+
+Eventually, Persephone will include a full-blown crop-growth model (an adaptation of
+AquaCrop, created by the FAO). At the moment, we are only working with a very basic mock-up.
+
+## crops.jl
+
+This includes the types and functions needed for all crop growth model, which are
+also referenced by the other submodels.
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["crop/crops.jl"]
+```
diff --git a/docs/src/developing.md b/docs/src/developing.md
new file mode 100644
index 0000000000000000000000000000000000000000..40f0ffdc172124559541d18041ed7a67aaecdfe9
--- /dev/null
+++ b/docs/src/developing.md
@@ -0,0 +1,80 @@
+# Developing Persephone
+
+## Workflow
+
+1. Pull the current development version from the master branch on Gitlab: 
+   [https://git.idiv.de/xo30xoqa/persephone](https://git.idiv.de/xo30xoqa/persephone).
+
+2. If you are working on a new feature, create a new branch to avoid breaking the `master` branch.
+   (The `master` branch should always be in a runnable and (as far as possible) error-free state.)
+
+3. Implement your changes.
+
+4. Run `run.sh` to make sure the model executes without crashing. Also run the test suite
+   (`cd test; julia runtests.jl`).
+
+5. Commit your work frequently, and try to keep each commit small. Don't forget to add
+   relevant tests to the test suite.
+
+6. Once your satisfied with your work, do another pull/merge from the `master` branch in case
+   somebody else changed the branch in the meantime. Then merge your work into `master` and
+   push to the Gitlab server.
+   
+8. Repeat :-)
+
+
+## Agents.jl
+
+Our model uses [Agents.jl](https://juliadynamics.github.io/Agents.jl/stable/) as a framework.
+Their [repository](https://github.com/JuliaDynamics/Agents.jl) can be used to inspect the source
+code or submit bug reports (the authors are quick to respond). Questions can be asked at the 
+[Julia Discourse forum](https://discourse.julialang.org/c/domain/models/21).
+
+*Tutorial on collaborating on Julia packages: 
+[https://www.matecdev.com/posts/julia-package-collaboration.html](https://www.matecdev.com/posts/julia-package-collaboration.html).*
+
+
+## Julia editors
+
+### Emacs
+
+There are a couple of addons that make working with Julia much nicer in Emacs:
+
+1. `julia-mode` gives syntax highlighting. Install with `M-x package-install julia-mode`.
+
+2. [`julia-snail`](https://github.com/gcv/julia-snail) provides IDE-like features, 
+   especially a fully-functional REPL and the ability to evaluate code straight from inside a buffer.
+   Note that the installation can be somewhat tricky. You first need to manually install
+   all the dependencies of its dependency [vterm](https://github.com/akermu/emacs-libvterm),
+   then install vterm itself with `M-x package-install vterm`, *before* you can do
+   `M-x package-install julia-snail`. Then add it to your `init.el` with
+   `(require 'julia-snail)` and `(add-hook 'julia-mode-hook #'julia-snail-mode)`.
+   
+3. [`company-mode`](http://company-mode.github.io/) integrates with Snail to give code 
+   completion. Install with `M-x package-install company`, then add 
+   `(add-hook 'julia-mode-hook #'company-mode)` and 
+   `(global-set-key (kbd "C-<tab>") 'company-complete)` to your `init.el`.
+   
+4. [`magit`](https://magit.vc/) is a great git interface for Emacs. Install with
+   `M-x package-install magit` and add `(global-set-key (kbd "C-x g") 'magit-status)`
+   to your `init.el`.
+
+### VSCode
+
+See [here](https://www.julia-vscode.org/).
+
+*TODO: add more detail.*
+
+### Other useful stuff
+
+1. [`Revise.jl`](https://timholy.github.io/Revise.jl/stable/) allows one to reload code
+   without restarting the Julia interpreter. Get it with `Pkg.add("Revise")`, then 
+   add `using Revise` to `.julia/config/startup.jl` to have it automatically available.
+
+2. [`git-bug`](https://github.com/MichaelMure/git-bug) is a commandline bug tracker that
+   integrates directly with git. It can also be used as a local interface to Gitlab issues.
+   To install on Linux, download the [binary](https://github.com/MichaelMure/git-bug/releases/tag/v0.8.0),
+   copy it to `/usr/local/bin/git-bug`, and set it as executable with `chmod +x 
+   /usr/local/bin/git-bug`. To set up Gitlab integration, run `git bug bridge configure`
+   from within the relevant repository.
+   
diff --git a/docs/src/farm.md b/docs/src/farm.md
new file mode 100644
index 0000000000000000000000000000000000000000..2f40cfb05a6363ae64d93e15bcb21bba8d61d840
--- /dev/null
+++ b/docs/src/farm.md
@@ -0,0 +1,13 @@
+# Farm submodel
+
+Eventually, Persephone will include multiple farm-decision submodels. At the moment, 
+we are only working with a very basic mock-up.
+
+## farm.jl
+
+This file is responsible for managing the farm module(s).
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["farm/farm.jl"]
+```
diff --git a/docs/src/index.md b/docs/src/index.md
new file mode 100644
index 0000000000000000000000000000000000000000..64b7fbc3f5514af4c5ff26be8fec529c764f90f3
--- /dev/null
+++ b/docs/src/index.md
@@ -0,0 +1,39 @@
+```@meta
+CurrentModule = Persephone
+```
+
+# Introduction
+
+Persephone is an agent-based, socio-economic-ecological model of agricultural landscapes
+in Europe under the Common Agricultural Policy (CAP).
+
+It's aim is to investigate how policy affects farmer decision-making, and how this in turn
+affects various animal species. It includes a farm submodel, a crop-growth submodel, and
+an ecological submodels.
+
+## Running the model
+
+To run a single experiment, execute:
+
+```
+./run.jl -c <CONFIG>
+```
+
+Other commandline arguments are:
+
+```
+usage: run.jl [-c CONFIGFILE] [-s SEED] [-o OUTDIR] [-l LOGLEVEL] 
+              [--version] [-h]
+
+optional arguments:
+  -c, --configfile CONFIGFILE
+                        name of the configuration file
+  -s, --seed SEED       inital random seed (type: Int64)
+  -o, --outdir OUTDIR   location of the output directory
+  -l, --loglevel LOGLEVEL
+                        verbosity: "debug", "info", or "quiet"
+  --version             show version information and exit
+  -h, --help            show this help message and exit
+```
+
+*Last updated: 2023-01-04 (commit a958dd6)*  
diff --git a/docs/src/io.md b/docs/src/io.md
new file mode 100644
index 0000000000000000000000000000000000000000..b5ae1cba384589b55fda567c12b5b565d6974a3e
--- /dev/null
+++ b/docs/src/io.md
@@ -0,0 +1,27 @@
+# Input, Output, and Settings
+
+These functions are responsible for reading in all model configurations (passed
+by config file or commandline), administrating them during a run, and printing
+any output.
+
+## parameters.toml
+
+This is the default configuration file for Persephone, containing all model parameters.
+The syntax is described here: https://toml.io/en/
+
+DO NOT MODIFY THIS FILE FOR SIMULATION EXPERIMENTS! Instead, copy it to another directory,
+modify the copy, and then pass it to the model using the `--config` parameter.
+
+## input.jl
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["core/input.jl"]
+```
+
+## output.jl
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["core/output.jl"]
+```
diff --git a/docs/src/nature.md b/docs/src/nature.md
new file mode 100644
index 0000000000000000000000000000000000000000..4c012d1388a8eef57081a4caab5e17b3ef1a27af
--- /dev/null
+++ b/docs/src/nature.md
@@ -0,0 +1,28 @@
+# Nature
+
+## nature.jl
+
+This file is responsible for managing the animal modules.
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["nature/nature.jl"]
+```
+
+## lifehistory.jl
+
+This file contains a set of life-history related utility functions needed by species.
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["nature/lifehistory.jl"]
+```
+
+## ecologicaldata.jl
+
+This file contains a set of life-history related utility functions needed by species.
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["nature/ecologicaldata.jl"]
+```
diff --git a/docs/src/simulation.md b/docs/src/simulation.md
new file mode 100644
index 0000000000000000000000000000000000000000..4cc75c0a0d04d1cd222c3b2da1361ea95a4b34b6
--- /dev/null
+++ b/docs/src/simulation.md
@@ -0,0 +1,22 @@
+# Simulation
+
+The `core` directory holds source files that are important for all submodels, including
+scheduling, landscape, and input/output functions.
+
+## simulation.jl
+
+This file includes the basal functions for initialising and running simulations.
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["core/simulation.jl"]
+```
+
+## landscape.jl
+
+This file manages the landscape maps that underlie the model.
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["core/landscape.jl"]
+```
diff --git a/docs/src/species.md b/docs/src/species.md
new file mode 100644
index 0000000000000000000000000000000000000000..3a63759121a39c2f209b6822589236681131369d
--- /dev/null
+++ b/docs/src/species.md
@@ -0,0 +1,10 @@
+# Species
+
+The ecological submodel in Persephone simulates a range of species in agricultural landscapes.
+
+## Skylark
+
+```@autodocs
+Modules = [Persephone]
+Pages = ["nature/species/skylark.jl"]
+```
diff --git a/src/nature/nature.jl b/src/nature/nature.jl
index a13faefafcf0d20213f1b61cbfdc654b6aca6b74..39f6dc48c89edafa601095c54a4d41a34cb5c501 100644
--- a/src/nature/nature.jl
+++ b/src/nature/nature.jl
@@ -110,6 +110,7 @@ To transition an individual to another phase, simply redefine its phase variable
 `@trait(phase) = "newphase"`.
 """
 macro phase(name, body)
+    #XXX make this documentable?
     #FIXME Somehow, errors in the phase body are not shown?
     :($(esc(name)) = function(animal::Animal, model::AgentBasedModel) $body end)
 end
diff --git a/src/nature/species/skylark.jl b/src/nature/species/skylark.jl
index 4843816234b5afa6f9720df61a2a98d6303b7bea..177a346967e2207f3d012a0adccef1d40bc0a400 100644
--- a/src/nature/species/skylark.jl
+++ b/src/nature/species/skylark.jl
@@ -6,6 +6,12 @@
 ##XXX At the moment, this is just a skeleton to show what I want to be able to interpret
 ## with the @species and @phase macros
 
+"""
+    Skylark
+
+*Alauda arvensis* is a common and charismatic species of agricultural landscapes.
+At the moment, this implementation is still in development.
+"""
 @species Skylark begin
 
     popdensity = 1/10000