diff --git a/nemo/LICENSE.md b/nemo/LICENSE.md deleted file mode 100644 index 4e3b49efdc865b1ce98cddb335aa03910c9bef1a..0000000000000000000000000000000000000000 --- a/nemo/LICENSE.md +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016-present George Cushen - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nemo/README.md b/nemo/README.md deleted file mode 100644 index 878708e6888834c42a5ea0de92b6d98799c17499..0000000000000000000000000000000000000000 --- a/nemo/README.md +++ /dev/null @@ -1,145 +0,0 @@ -<p align="center"><a href="https://sourcethemes.com/academic/" target="_blank" rel="noopener"><img src="https://sourcethemes.com/academic/img/logo_200px.png" alt="Academic logo"></a></p> - -# [Academic](https://sourcethemes.com/academic/): the website builder for [Hugo](https://gohugo.io) - -### The Page Builder to Easily Create Professional Websites :pencil2: :newspaper: :rocket: - -**Create a free website with Academic using Markdown, Jupyter, or RStudio. Choose a beautiful color theme and build anything with the Page Builder - over 50 _widgets_, _themes_, and _language packs_ included!** - -[Check out the latest **demo**](https://academic-demo.netlify.com/) of what you'll get in less than 10 minutes, or [view the **showcase**](https://sourcethemes.com/academic/#expo) of personal, project, and business sites. - -- 👉 [**Get Started**](https://sourcethemes.com/academic/docs/install/) -- 📚 [View the **documentation**](https://sourcethemes.com/academic/docs/) -- 💬 [Chat with the **Academic community**](https://spectrum.chat/academic) or [**Hugo community**](https://discourse.gohugo.io) -- 🦠Twitter: [@source_themes](https://twitter.com/source_themes) [@GeorgeCushen](https://twitter.com/GeorgeCushen) [#MadeWithAcademic](https://twitter.com/search?q=%23MadeWithAcademic&src=typd) -- 💡 [Request a **feature** or report a **bug**](https://github.com/gcushen/hugo-academic/issues) -- â¬†ï¸ **Updating?** View the [Update Guide](https://sourcethemes.com/academic/docs/update/) and [Release Notes](https://sourcethemes.com/academic/updates/) -- :heart: **Support development** of Academic: - - â˜•ï¸ [**Donate a coffee**](https://paypal.me/cushen) - - 💵 [Become a backer on **Patreon**](https://www.patreon.com/cushen) - - ðŸ–¼ï¸ [Decorate your laptop or journal with an Academic **sticker**](https://www.redbubble.com/people/neutreno/works/34387919-academic) - - 👕 [Wear the **T-shirt**](https://academic.threadless.com/) - - :woman_technologist: [**Contribute**](https://sourcethemes.com/academic/docs/contribute/) - -[](https://github.com/gcushen/hugo-academic/) - -**Key features:** - -- **Page builder** - Create *anything* with [**widgets**](https://sourcethemes.com/academic/docs/page-builder/) and [**elements**](https://sourcethemes.com/academic/docs/writing-markdown-latex/) -- **Edit any type of content** - Blog posts, publications, talks, slides, projects, and more! -- **Create content** in [**Markdown**](https://sourcethemes.com/academic/docs/writing-markdown-latex/), [**Jupyter**](https://sourcethemes.com/academic/docs/jupyter/), or [**RStudio**](https://sourcethemes.com/academic/docs/install/#install-with-rstudio) -- **Plugin System** - Fully customizable [**color** and **font themes**](https://sourcethemes.com/academic/themes/) -- **Display Code and Math** - Code highlighting and [LaTeX math](https://en.wikibooks.org/wiki/LaTeX/Mathematics) supported -- **Integrations** - [Google Analytics](https://analytics.google.com), [Disqus commenting](https://disqus.com), Maps, Contact Forms, and more! -- **Beautiful Site** - Simple and refreshing one page design -- **Industry-Leading SEO** - Help get your website found on search engines and social media -- **Media Galleries** - Display your images and videos with captions in a customizable gallery -- **Mobile Friendly** - Look amazing on every screen with a mobile friendly version of your site -- **Multi-language** - 15+ language packs including English, 䏿–‡, and Português -- **Multi-user** - Each author gets their own profile page -- **Privacy Pack** - Assists with GDPR -- **Stand Out** - Bring your site to life with animation, parallax backgrounds, and scroll effects -- **One-Click Deployment** - No servers. No databases. Only files. - -## Themes - -Academic comes with **automatic day (light) and night (dark) mode** built-in. Alternatively, click the sun/moon icon in the top right of the [Demo](https://academic-demo.netlify.com/) to set your preferred mode! - -Choose a stunning theme for your site and [customize it](https://sourcethemes.com/academic/docs/customization/#custom-theme) to your liking: - -[](https://sourcethemes.com/academic/themes/) - -[Browse more themes...](https://sourcethemes.com/academic/themes/) - -## The Future of Technical Content Writing - -[](https://academic-demo.netlify.com/post/writing-technical-content/) - -## Ecosystem - -* **[Academic Admin](https://github.com/sourcethemes/academic-admin):** An admin tool to import publications from BibTeX or import assets for an offline site -* **[Academic Scripts](https://github.com/sourcethemes/academic-scripts):** Scripts to help migrate content to new versions of Academic - -## Install - -You can choose from one of the following four methods to install: - -* **one-click install using your web browser (recommended)** -* install on your computer using Git with the Command Prompt/Terminal app -* install on your computer by downloading the ZIP files -* install on your computer with RStudio - -### Install with web browser - -[Install Academic with Netlify](https://app.netlify.com/start/deploy?repository=https://github.com/sourcethemes/academic-kickstart) - * One-click install of Academic creates an `academic-kickstart` repository in your GitHub or GitLab account - * Netlify will provide you with a customizable URL to access your new site, [or get your own domain](https://sourcethemes.com/academic/docs/domain/) - * Shortly after editing content in your repository, your site will automatically update - * Optionally, to edit your site in a [Markdown editor](https://www.typora.io) on your computer, perform the steps in the [*Install with Git*](#install-with-git) section below - -### Install with Git - -Prerequisites: - -* [Download and install Git](https://git-scm.com/downloads) -* [Download and install Hugo Extended v0.63.1+](https://gohugo.io/getting-started/installing/#quick-install) - -Install: - -1. [Fork](https://github.com/sourcethemes/academic-kickstart#fork-destination-box) the *Academic Kickstart* repository to create a new website - * If you already created your site with **Netlify**, then skip this step -2. Clone your fork to your computer with Git, replacing `sourcethemes` in the command below with your GitHub username: - - ```bash - git clone https://github.com/sourcethemes/academic-kickstart.git My_Website - ``` - -3. Initialize the theme: - - ```bash - cd My_Website - git submodule update --init --recursive - ``` - -### Install with ZIP - -Prerequisites: - -* [Download and install Hugo Extended v0.63.1+](https://gohugo.io/getting-started/installing/#quick-install) - -Install: - -1. [Download](https://github.com/sourcethemes/academic-kickstart/archive/master.zip) and extract *Academic Kickstart* -2. [Download](https://github.com/gcushen/hugo-academic/archive/master.zip) and extract the *Academic theme* files from the `hugo-academic-master` folder to the `themes/academic/` folder in *Academic Kickstart* - -### Install with RStudio - -[Install Academic with RStudio](https://sourcethemes.com/academic/docs/install/#install-with-rstudio) - -## Demo content - -For inspiration, refer to the [Markdown content](https://github.com/gcushen/hugo-academic/tree/master/exampleSite) which powers the [Demo](https://academic-demo.netlify.com/). - -If you wish to initialise your site with the demo content, copy the contents of the `themes/academic/exampleSite/` folder to your website root folder, overwriting existing files if necessary. The `exampleSite` folder contains an example config file and content to help you get started. The following command can be used to accomplish this: - -```bash -cp -av themes/academic/exampleSite/* . -``` - -## Get Started - -[View the guide to Personalize and Deploy your new site](https://sourcethemes.com/academic/docs/get-started/). - -## Updating - -[View the Update Guide](https://sourcethemes.com/academic/docs/update/). - -Feel free to *star* the project on [Github](https://github.com/gcushen/hugo-academic/) and follow [@source_themes](https://twitter.com/source_themes) on Twitter to help keep track of [updates](https://sourcethemes.com/academic/updates). - -## License - -Copyright 2016-present [George Cushen](https://georgecushen.com). - -Released under the [MIT](https://github.com/gcushen/hugo-academic/blob/master/LICENSE.md) license. - -[](https://github.com/igrigorik/ga-beacon) diff --git a/nemo/academic.png b/nemo/academic.png deleted file mode 100644 index 9a73a17d0a0c3e088b47ac0622b7f14e510843bb..0000000000000000000000000000000000000000 Binary files a/nemo/academic.png and /dev/null differ diff --git a/nemo/archetypes/authors/_index.md b/nemo/archetypes/authors/_index.md deleted file mode 100644 index 4f015b1f96949ca921d3e6f036b8ef84ba6918d2..0000000000000000000000000000000000000000 --- a/nemo/archetypes/authors/_index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -# Display name -name: "{{ replace .Name "-" " " | title }}" - -# Username (this should match the folder name and the name on publications) -authors: -- Name "{{ replace .Name "-" " " | title }}" - -# Is this the primary user of the site? -superuser: false - -# Role/position (e.g., Professor of Artificial Intelligence) -role: - -# Organizations/Affiliations -organizations: -- name: - url: "" - -# Short bio (displayed in user profile at end of posts) -bio: - -# List each interest with a dash -interests: -- Interest 1 -- Interest 2 - -education: - courses: - - course: Title course 1 - institution: Name of Institution - year: 2012 - - course: Title course 1 - institution: Name of Institution - year: 2012 - -# Social/Academic Networking -# For available icons, see: https://sourcethemes.com/academic/docs/page-builder/#icons -# For an email link, use "fas" icon pack, "envelope" icon, and a link in the -# form "mailto:your-email@example.com" or "#contact" for contact widget. -social: -- icon: envelope - icon_pack: fas - link: '#contact' # For a direct email link, use "mailto:test@example.org". -- icon: twitter - icon_pack: fab - link: https://twitter.com/USERNAME -- icon: google-scholar - icon_pack: ai - link: https://scholar.google.com/citations?user=PERSON-ID -- icon: github - icon_pack: fab - link: https://github.com/USERNAME -# Link to a PDF of your resume/CV from the About widget. -# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below. -# - icon: cv -# icon_pack: ai -# link: files/cv.pdf - -# Enter email to display Gravatar (if Gravatar enabled in Config) -email: "" - -# Organizational groups that you belong to (for People widget) -# Set this to `[]` or comment out if you are not using People widget. -user_groups: -- Group 1 -- Group 2 ---- diff --git a/nemo/archetypes/authors/avatar.jpg b/nemo/archetypes/authors/avatar.jpg deleted file mode 100644 index d1361fd8e04ebc7d46ebea699097347f792c01c7..0000000000000000000000000000000000000000 Binary files a/nemo/archetypes/authors/avatar.jpg and /dev/null differ diff --git a/nemo/archetypes/default.md b/nemo/archetypes/default.md deleted file mode 100644 index bf4527fed853ba12b9a9b0e74956d40dfc81f4d2..0000000000000000000000000000000000000000 --- a/nemo/archetypes/default.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: "{{ replace .Name "-" " " | title }}" -subtitle: "" -summary: "" -authors: [] -tags: [] -categories: [] -date: {{ .Date }} -lastmod: {{ .Date }} -featured: false -draft: false - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -# Focal points: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight. -image: - caption: "" - focal_point: "" - preview_only: false - -# Projects (optional). -# Associate this post with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`. -# Otherwise, set `projects = []`. -projects: [] ---- diff --git a/nemo/archetypes/docs.md b/nemo/archetypes/docs.md deleted file mode 100644 index fce204c384a25825a544e639020a06f00b279e76..0000000000000000000000000000000000000000 --- a/nemo/archetypes/docs.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: "{{ replace .Name "-" " " | title }}" -linktitle: "{{ replace .Name "-" " " | title }}" -summary: -date: {{ .Date }} -lastmod: {{ .Date }} -draft: false # Is this a draft? true/false -toc: true # Show table of contents? true/false -type: docs # Do not modify. - -# Add menu entry to sidebar. -# - Substitute `example` with the name of your course/documentation folder. -# - name: Declare this menu item as a parent with ID `name`. -# - parent: Reference a parent ID if this page is a child. -# - weight: Position of link in menu. -menu: - example: - name: YourParentID - # parent: YourParentID - weight: 1 ---- diff --git a/nemo/archetypes/home.md b/nemo/archetypes/home.md deleted file mode 100644 index ff1edd73d25c5b75bb85812156524e047ee7787c..0000000000000000000000000000000000000000 --- a/nemo/archetypes/home.md +++ /dev/null @@ -1,48 +0,0 @@ -+++ -# A section created with the Blank widget. -widget = "blank" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 1 # Order that this section will appear. - -# Note: a full width section format can be enabled by commenting out the `title` and `subtitle` with a `#`. -title = "{{ replace .Name "-" " " | title }}" -subtitle = "" - -[design] - # Choose how many columns the section has. Valid values: 1 or 2. - columns = "1" - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - # image = "image.jpg" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - - # Text color (true=light or false=dark). - # text_color_light = true - -[design.spacing] - # Customize the section spacing. Order is top, right, bottom, left. - # padding = ["0px", "0px", "0px", "0px"] - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ - -[**Add some elements here**](https://sourcethemes.com/academic/docs/writing-markdown-latex/) diff --git a/nemo/archetypes/post/index.md b/nemo/archetypes/post/index.md deleted file mode 100644 index bf4527fed853ba12b9a9b0e74956d40dfc81f4d2..0000000000000000000000000000000000000000 --- a/nemo/archetypes/post/index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: "{{ replace .Name "-" " " | title }}" -subtitle: "" -summary: "" -authors: [] -tags: [] -categories: [] -date: {{ .Date }} -lastmod: {{ .Date }} -featured: false -draft: false - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -# Focal points: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight. -image: - caption: "" - focal_point: "" - preview_only: false - -# Projects (optional). -# Associate this post with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`. -# Otherwise, set `projects = []`. -projects: [] ---- diff --git a/nemo/archetypes/project/index.md b/nemo/archetypes/project/index.md deleted file mode 100644 index 1630f5a087c3fdce87a45da957b5a847ec56a6f7..0000000000000000000000000000000000000000 --- a/nemo/archetypes/project/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: "{{ replace .Name "-" " " | title }}" -summary: "" -authors: [] -tags: [] -categories: [] -date: {{ .Date }} - -# Optional external URL for project (replaces project detail page). -external_link: "" - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -# Focal points: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight. -image: - caption: "" - focal_point: "" - preview_only: false - -# Custom links (optional). -# Uncomment and edit lines below to show custom links. -# links: -# - name: Follow -# url: https://twitter.com -# icon_pack: fab -# icon: twitter - -url_code: "" -url_pdf: "" -url_slides: "" -url_video: "" - -# Slides (optional). -# Associate this project with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides = "example-slides"` references `content/slides/example-slides.md`. -# Otherwise, set `slides = ""`. -slides: "" ---- diff --git a/nemo/archetypes/publication/index.md b/nemo/archetypes/publication/index.md deleted file mode 100644 index a37bbf82a638949ed7a1221a9bae7e23c0b6dcfd..0000000000000000000000000000000000000000 --- a/nemo/archetypes/publication/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: "{{ replace .Name "-" " " | title }}" -authors: [] -date: {{ .Date }} -doi: "" - -# Schedule page publish date (NOT publication's date). -publishDate: {{ .Date }} - -# Publication type. -# Legend: 0 = Uncategorized; 1 = Conference paper; 2 = Journal article; -# 3 = Preprint / Working Paper; 4 = Report; 5 = Book; 6 = Book section; -# 7 = Thesis; 8 = Patent -publication_types: ["0"] - -# Publication name and optional abbreviated publication name. -publication: "" -publication_short: "" - -abstract: "" - -# Summary. An optional shortened abstract. -summary: "" - -tags: [] -categories: [] -featured: false - -# Custom links (optional). -# Uncomment and edit lines below to show custom links. -# links: -# - name: Follow -# url: https://twitter.com -# icon_pack: fab -# icon: twitter - -url_pdf: -url_code: -url_dataset: -url_poster: -url_project: -url_slides: -url_source: -url_video: - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -# Focal points: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight. -image: - caption: "" - focal_point: "" - preview_only: false - -# Associated Projects (optional). -# Associate this publication with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `internal-project` references `content/project/internal-project/index.md`. -# Otherwise, set `projects: []`. -projects: [] - -# Slides (optional). -# Associate this publication with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides: "example"` references `content/slides/example/index.md`. -# Otherwise, set `slides: ""`. -slides: "" ---- diff --git a/nemo/archetypes/slides/index.md b/nemo/archetypes/slides/index.md deleted file mode 100644 index 6870017ea365fb3795024f562e48a4753e62d72b..0000000000000000000000000000000000000000 --- a/nemo/archetypes/slides/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: "{{ replace .Name "-" " " | title }}" -summary: "" -authors: [] -tags: [] -categories: [] -date: {{ .Date }} -slides: - # Choose a theme from https://github.com/hakimel/reveal.js#theming - theme: black - # Choose a code highlighting style (if highlighting enabled in `params.toml`) - # Light style: github. Dark style: dracula (default). - highlight_style: dracula ---- - -# Title - -Author Name - ---- - -## Slide 2 - -... diff --git a/nemo/archetypes/talk/index.md b/nemo/archetypes/talk/index.md deleted file mode 100644 index f7e8f4e58ea389022c755d7225ed4c8a4ecca66e..0000000000000000000000000000000000000000 --- a/nemo/archetypes/talk/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -# Documentation: https://sourcethemes.com/academic/docs/managing-content/ - -title: "{{ replace .Name "-" " " | title }}" -event: -event_url: -location: -address: - street: - city: - region: - postcode: - country: -summary: -abstract: - -# Talk start and end times. -# End time can optionally be hidden by prefixing the line with `#`. -date: {{ .Date }} -date_end: {{ .Date }} -all_day: false - -# Schedule page publish date (NOT talk date). -publishDate: {{ .Date }} - -authors: [] -tags: [] - -# Is this a featured talk? (true/false) -featured: false - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -# Focal points: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight. -image: - caption: "" - focal_point: "" - preview_only: false - -# Custom links (optional). -# Uncomment and edit lines below to show custom links. -# links: -# - name: Follow -# url: https://twitter.com -# icon_pack: fab -# icon: twitter - -# Optional filename of your slides within your talk's folder or a URL. -url_slides: - -url_code: -url_pdf: -url_video: - -# Markdown Slides (optional). -# Associate this talk with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides = "example-slides"` references `content/slides/example-slides.md`. -# Otherwise, set `slides = ""`. -slides: "" - -# Projects (optional). -# Associate this post with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`. -# Otherwise, set `projects = []`. -projects: [] ---- diff --git a/nemo/assets/css/reveal.css b/nemo/assets/css/reveal.css deleted file mode 100644 index ca174e398cf33ebe4efe51ed564035a5e8fd1305..0000000000000000000000000000000000000000 --- a/nemo/assets/css/reveal.css +++ /dev/null @@ -1,31 +0,0 @@ -/************************************************* - * Reveal JS - **************************************************/ - -/* This is a copy of MathJax's `.mjx-chtml` with font-family added to override `.reveal span`. */ -/* See https://github.com/hakimel/reveal.js/issues/1924 */ -.reveal span.mjx-chtml { - display: inline-block; - line-height: 0; - text-indent: 0; - text-align: left; - text-transform: none; - font-style: normal; - font-weight: normal; - font-size: 100%; - font-size-adjust: none; - letter-spacing: normal; - word-wrap: normal; - word-spacing: normal; - white-space: nowrap; - float: none; - direction: ltr; - max-width: none; - max-height: none; - min-width: 0; - min-height: 0; - border: 0; - margin: 0; - padding: 1px 0; - font-family: MJXc-TeX-math-I,MJXc-TeX-math-Ix,MJXc-TeX-math-Iw; -} diff --git a/nemo/assets/css/reveal_custom.css b/nemo/assets/css/reveal_custom.css deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/nemo/assets/images/icon.png b/nemo/assets/images/icon.png deleted file mode 100644 index 6c184d701e1c4b0b1a0300df7a361b455a10274a..0000000000000000000000000000000000000000 Binary files a/nemo/assets/images/icon.png and /dev/null differ diff --git a/nemo/assets/js/academic-search.js b/nemo/assets/js/academic-search.js deleted file mode 100644 index 1a22753c65314ac45a646445004ab311dd5fcedd..0000000000000000000000000000000000000000 --- a/nemo/assets/js/academic-search.js +++ /dev/null @@ -1,185 +0,0 @@ -/************************************************* - * Academic - * https://github.com/gcushen/hugo-academic - * - * In-built Fuse based search algorithm. - **************************************************/ - -/* --------------------------------------------------------------------------- -* Configuration. -* --------------------------------------------------------------------------- */ - -// Configure Fuse. -let fuseOptions = { - shouldSort: true, - includeMatches: true, - tokenize: true, - threshold: search_config.threshold, // Set to ~0.3 for parsing diacritics and CJK languages. - location: 0, - distance: 100, - maxPatternLength: 32, - minMatchCharLength: search_config.minLength, // Set to 1 for parsing CJK languages. - keys: [ - {name:'title', weight:0.99}, /* 1.0 doesn't work o_O */ - {name:'summary', weight:0.6}, - {name:'authors', weight:0.5}, - {name:'content', weight:0.2}, - {name:'tags', weight:0.5}, - {name:'categories', weight:0.5} - ] -}; - -// Configure summary. -let summaryLength = 60; - -/* --------------------------------------------------------------------------- -* Functions. -* --------------------------------------------------------------------------- */ - -// Get query from URI. -function getSearchQuery(name) { - return decodeURIComponent((location.search.split(name + '=')[1] || '').split('&')[0]).replace(/\+/g, ' '); -} - -// Set query in URI without reloading the page. -function updateURL(url) { - if (history.replaceState) { - window.history.replaceState({path:url}, '', url); - } -} - -// Pre-process new search query. -function initSearch(force, fuse) { - let query = $("#search-query").val(); - - // If query deleted, clear results. - if ( query.length < 1) { - $('#search-hits').empty(); - } - - // Check for timer event (enter key not pressed) and query less than minimum length required. - if (!force && query.length < fuseOptions.minMatchCharLength) - return; - - // Do search. - $('#search-hits').empty(); - searchAcademic(query, fuse); - let newURL = window.location.protocol + "//" + window.location.host + window.location.pathname + '?q=' + encodeURIComponent(query) + window.location.hash; - updateURL(newURL); -} - -// Perform search. -function searchAcademic(query, fuse) { - let results = fuse.search(query); - // console.log({"results": results}); - - if (results.length > 0) { - $('#search-hits').append('<h3 class="mt-0">' + results.length + ' ' + i18n.results + '</h3>'); - parseResults(query, results); - } else { - $('#search-hits').append('<div class="search-no-results">' + i18n.no_results + '</div>'); - } -} - -// Parse search results. -function parseResults(query, results) { - $.each( results, function(key, value) { - let content_key = value.item.section; - let content = ""; - let snippet = ""; - let snippetHighlights = []; - - // Show abstract in results for content types where the abstract is often the primary content. - if (["publication", "talk"].includes(content_key)) { - content = value.item.summary; - } else { - content = value.item.content; - } - - if ( fuseOptions.tokenize ) { - snippetHighlights.push(query); - } else { - $.each( value.matches, function(matchKey, matchValue) { - if (matchValue.key == "content") { - let start = (matchValue.indices[0][0]-summaryLength>0) ? matchValue.indices[0][0]-summaryLength : 0; - let end = (matchValue.indices[0][1]+summaryLength<content.length) ? matchValue.indices[0][1]+summaryLength : content.length; - snippet += content.substring(start, end); - snippetHighlights.push(matchValue.value.substring(matchValue.indices[0][0], matchValue.indices[0][1]-matchValue.indices[0][0]+1)); - } - }); - } - - if (snippet.length < 1) { - snippet += value.item.summary; // Alternative fallback: `content.substring(0, summaryLength*2);` - } - - // Load template. - let template = $('#search-hit-fuse-template').html(); - - // Localize content types. - if (content_key in content_type) { - content_key = content_type[content_key]; - } - - // Parse template. - let templateData = { - key: key, - title: value.item.title, - type: content_key, - relpermalink: value.item.relpermalink, - snippet: snippet - }; - let output = render(template, templateData); - $('#search-hits').append(output); - - // Highlight search terms in result. - $.each( snippetHighlights, function(hlKey, hlValue){ - $("#summary-"+key).mark(hlValue); - }); - - }); -} - -function render(template, data) { - // Replace placeholders with their values. - let key, find, re; - for (key in data) { - find = '\\{\\{\\s*' + key + '\\s*\\}\\}'; // Expect placeholder in the form `{{x}}`. - re = new RegExp(find, 'g'); - template = template.replace(re, data[key]); - } - return template; -} - -/* --------------------------------------------------------------------------- -* Initialize. -* --------------------------------------------------------------------------- */ - -// If Academic's in-built search is enabled and Fuse loaded, then initialize it. -if (typeof Fuse === 'function') { -// Wait for Fuse to initialize. - $.getJSON(search_config.indexURI, function (search_index) { - let fuse = new Fuse(search_index, fuseOptions); - - // On page load, check for search query in URL. - if (query = getSearchQuery('q')) { - $("body").addClass('searching'); - $('.search-results').css({opacity: 0, visibility: "visible"}).animate({opacity: 1},200); - $("#search-query").val(query); - $("#search-query").focus(); - initSearch(true, fuse); - } - - // On search box key up, process query. - $('#search-query').keyup(function (e) { - clearTimeout($.data(this, 'searchTimer')); // Ensure only one timer runs! - if (e.keyCode == 13) { - initSearch(true, fuse); - } else { - $(this).data('searchTimer', setTimeout(function () { - initSearch(false, fuse); - }, 250)); - } - }); - }); -} diff --git a/nemo/assets/js/academic.js b/nemo/assets/js/academic.js deleted file mode 100644 index b2d646e72c194b3f1a0157a6d7aeb7a273554908..0000000000000000000000000000000000000000 --- a/nemo/assets/js/academic.js +++ /dev/null @@ -1,767 +0,0 @@ -/************************************************* - * Academic - * https://github.com/gcushen/hugo-academic - * - * Core JS functions and initialization. - **************************************************/ - -(function ($) { - - /* --------------------------------------------------------------------------- - * Responsive scrolling for URL hashes. - * --------------------------------------------------------------------------- */ - - // Dynamically get responsive navigation bar height for offsetting Scrollspy. - function getNavBarHeight() { - let $navbar = $('#navbar-main'); - let navbar_offset = $navbar.outerHeight(); - console.debug('Navbar height: ' + navbar_offset); - return navbar_offset; - } - - /** - * Responsive hash scrolling. - * Check for a URL hash as an anchor. - * If it exists on current page, scroll to it responsively. - * If `target` argument omitted (e.g. after event), assume it's the window's hash. - */ - function scrollToAnchor(target) { - // If `target` is undefined or HashChangeEvent object, set it to window's hash. - // Decode the hash as browsers can encode non-ASCII characters (e.g. Chinese symbols). - target = (typeof target === 'undefined' || typeof target === 'object') ? decodeURIComponent(window.location.hash) : target; - - // If target element exists, scroll to it taking into account fixed navigation bar offset. - if ($(target).length) { - // Escape special chars from IDs, such as colons found in Markdown footnote links. - target = '#' + $.escapeSelector(target.substring(1)); // Previously, `target = target.replace(/:/g, '\\:');` - - let elementOffset = Math.ceil($(target).offset().top - getNavBarHeight()); // Round up to highlight right ID! - $('body').addClass('scrolling'); - $('html, body').animate({ - scrollTop: elementOffset - }, 600, function () { - $('body').removeClass('scrolling'); - }); - } else { - console.debug('Cannot scroll to target `#' + target + '`. ID not found!'); - } - } - - // Make Scrollspy responsive. - function fixScrollspy() { - let $body = $('body'); - let data = $body.data('bs.scrollspy'); - if (data) { - data._config.offset = getNavBarHeight(); - $body.data('bs.scrollspy', data); - $body.scrollspy('refresh'); - } - } - - function removeQueryParamsFromUrl() { - if (window.history.replaceState) { - let urlWithoutSearchParams = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.hash; - window.history.replaceState({path: urlWithoutSearchParams}, '', urlWithoutSearchParams); - } - } - - // Check for hash change event and fix responsive offset for hash links (e.g. Markdown footnotes). - window.addEventListener("hashchange", scrollToAnchor); - - /* --------------------------------------------------------------------------- - * Add smooth scrolling to all links inside the main navbar. - * --------------------------------------------------------------------------- */ - - $('#navbar-main li.nav-item a.nav-link').on('click', function (event) { - // Store requested URL hash. - let hash = this.hash; - - // If we are on a widget page and the navbar link is to a section on the same page. - if (this.pathname === window.location.pathname && hash && $(hash).length && ($(".js-widget-page").length > 0)) { - // Prevent default click behavior. - event.preventDefault(); - - // Use jQuery's animate() method for smooth page scrolling. - // The numerical parameter specifies the time (ms) taken to scroll to the specified hash. - let elementOffset = Math.ceil($(hash).offset().top - getNavBarHeight()); // Round up to highlight right ID! - - // Uncomment to debug. - // let scrollTop = $(window).scrollTop(); - // let scrollDelta = (elementOffset - scrollTop); - // console.debug('Scroll Delta: ' + scrollDelta); - - $('html, body').animate({ - scrollTop: elementOffset - }, 800); - } - }); - - /* --------------------------------------------------------------------------- - * Hide mobile collapsable menu on clicking a link. - * --------------------------------------------------------------------------- */ - - $(document).on('click', '.navbar-collapse.show', function (e) { - //get the <a> element that was clicked, even if the <span> element that is inside the <a> element is e.target - let targetElement = $(e.target).is('a') ? $(e.target) : $(e.target).parent(); - - if (targetElement.is('a') && targetElement.attr('class') != 'dropdown-toggle') { - $(this).collapse('hide'); - } - }); - - /* --------------------------------------------------------------------------- - * Filter publications. - * --------------------------------------------------------------------------- */ - - // Active publication filters. - let pubFilters = {}; - - // Search term. - let searchRegex; - - // Filter values (concatenated). - let filterValues; - - // Publication container. - let $grid_pubs = $('#container-publications'); - - // Initialise Isotope. - $grid_pubs.isotope({ - itemSelector: '.isotope-item', - percentPosition: true, - masonry: { - // Use Bootstrap compatible grid layout. - columnWidth: '.grid-sizer' - }, - filter: function () { - let $this = $(this); - let searchResults = searchRegex ? $this.text().match(searchRegex) : true; - let filterResults = filterValues ? $this.is(filterValues) : true; - return searchResults && filterResults; - } - }); - - // Filter by search term. - let $quickSearch = $('.filter-search').keyup(debounce(function () { - searchRegex = new RegExp($quickSearch.val(), 'gi'); - $grid_pubs.isotope(); - })); - - // Debounce input to prevent spamming filter requests. - function debounce(fn, threshold) { - let timeout; - threshold = threshold || 100; - return function debounced() { - clearTimeout(timeout); - let args = arguments; - let _this = this; - - function delayed() { - fn.apply(_this, args); - } - - timeout = setTimeout(delayed, threshold); - }; - } - - // Flatten object by concatenating values. - function concatValues(obj) { - let value = ''; - for (let prop in obj) { - value += obj[prop]; - } - return value; - } - - $('.pub-filters').on('change', function () { - let $this = $(this); - - // Get group key. - let filterGroup = $this[0].getAttribute('data-filter-group'); - - // Set filter for group. - pubFilters[filterGroup] = this.value; - - // Combine filters. - filterValues = concatValues(pubFilters); - - // Activate filters. - $grid_pubs.isotope(); - - // If filtering by publication type, update the URL hash to enable direct linking to results. - if (filterGroup == "pubtype") { - // Set hash URL to current filter. - let url = $(this).val(); - if (url.substr(0, 9) == '.pubtype-') { - window.location.hash = url.substr(9); - } else { - window.location.hash = ''; - } - } - }); - - // Filter publications according to hash in URL. - function filter_publications() { - let urlHash = window.location.hash.replace('#', ''); - let filterValue = '*'; - - // Check if hash is numeric. - if (urlHash != '' && !isNaN(urlHash)) { - filterValue = '.pubtype-' + urlHash; - } - - // Set filter. - let filterGroup = 'pubtype'; - pubFilters[filterGroup] = filterValue; - filterValues = concatValues(pubFilters); - - // Activate filters. - $grid_pubs.isotope(); - - // Set selected option. - $('.pubtype-select').val(filterValue); - } - - /* --------------------------------------------------------------------------- - * Google Maps or OpenStreetMap via Leaflet. - * --------------------------------------------------------------------------- */ - - function initMap() { - if ($('#map').length) { - let map_provider = $('#map-provider').val(); - let lat = $('#map-lat').val(); - let lng = $('#map-lng').val(); - let zoom = parseInt($('#map-zoom').val()); - let address = $('#map-dir').val(); - let api_key = $('#map-api-key').val(); - - if (map_provider == 1) { - let map = new GMaps({ - div: '#map', - lat: lat, - lng: lng, - zoom: zoom, - zoomControl: true, - zoomControlOpt: { - style: 'SMALL', - position: 'TOP_LEFT' - }, - panControl: false, - streetViewControl: false, - mapTypeControl: false, - overviewMapControl: false, - scrollwheel: true, - draggable: true - }); - - map.addMarker({ - lat: lat, - lng: lng, - click: function (e) { - let url = 'https://www.google.com/maps/place/' + encodeURIComponent(address) + '/@' + lat + ',' + lng + '/'; - window.open(url, '_blank') - }, - title: address - }) - } else { - let map = new L.map('map').setView([lat, lng], zoom); - if (map_provider == 3 && api_key.length) { - L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', { - attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>', - maxZoom: 18, - id: 'mapbox.streets', - accessToken: api_key - }).addTo(map); - } else { - L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { - maxZoom: 19, - attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>' - }).addTo(map); - } - let marker = L.marker([lat, lng]).addTo(map); - let url = lat + ',' + lng + '#map=' + zoom + '/' + lat + '/' + lng + '&layers=N'; - marker.bindPopup(address + '<p><a href="https://www.openstreetmap.org/directions?engine=osrm_car&route=' + url + '">Routing via OpenStreetMap</a></p>'); - } - } - } - - /* --------------------------------------------------------------------------- - * GitHub API. - * --------------------------------------------------------------------------- */ - - function printLatestRelease(selector, repo) { - $.getJSON('https://api.github.com/repos/' + repo + '/tags').done(function (json) { - let release = json[0]; - $(selector).append(' ' + release.name); - }).fail(function (jqxhr, textStatus, error) { - let err = textStatus + ", " + error; - console.log("Request Failed: " + err); - }); - } - - /* --------------------------------------------------------------------------- - * Toggle search dialog. - * --------------------------------------------------------------------------- */ - - function toggleSearchDialog() { - if ($('body').hasClass('searching')) { - // Clear search query and hide search modal. - $('[id=search-query]').blur(); - $('body').removeClass('searching compensate-for-scrollbar'); - - // Remove search query params from URL as user has finished searching. - removeQueryParamsFromUrl(); - - // Prevent fixed positioned elements (e.g. navbar) moving due to scrollbars. - $('#fancybox-style-noscroll').remove(); - } else { - // Prevent fixed positioned elements (e.g. navbar) moving due to scrollbars. - if (!$('#fancybox-style-noscroll').length && document.body.scrollHeight > window.innerHeight) { - $('head').append( - '<style id="fancybox-style-noscroll">.compensate-for-scrollbar{margin-right:' + - (window.innerWidth - document.documentElement.clientWidth) + - 'px;}</style>' - ); - $('body').addClass('compensate-for-scrollbar'); - } - - // Show search modal. - $('body').addClass('searching'); - $('.search-results').css({opacity: 0, visibility: 'visible'}).animate({opacity: 1}, 200); - $('#search-query').focus(); - } - } - - /* --------------------------------------------------------------------------- - * Change Theme Mode (0: Day, 1: Night, 2: Auto). - * --------------------------------------------------------------------------- */ - - function canChangeTheme() { - // If the theme changer component is present, then user is allowed to change the theme variation. - return $('.js-dark-toggle').length; - } - - function getThemeMode() { - return parseInt(localStorage.getItem('dark_mode') || 2); - } - - function changeThemeModeClick() { - if (!canChangeTheme()) { - return; - } - let $themeChanger = $('.js-dark-toggle i'); - let currentThemeMode = getThemeMode(); - let isDarkTheme; - switch (currentThemeMode) { - case 0: - localStorage.setItem('dark_mode', '1'); - isDarkTheme = 1; - console.info('User changed theme variation to Dark.'); - $themeChanger.removeClass('fa-moon fa-sun').addClass('fa-palette'); - break; - case 1: - localStorage.setItem('dark_mode', '2'); - if (window.matchMedia('(prefers-color-scheme: dark)').matches) { - // The visitor prefers dark themes and switching to the dark variation is allowed by admin. - isDarkTheme = 1; - } else if (window.matchMedia('(prefers-color-scheme: light)').matches) { - // The visitor prefers light themes and switching to the dark variation is allowed by admin. - isDarkTheme = 0; - } else { - isDarkTheme = isSiteThemeDark; // Use the site's default theme variation based on `light` in the theme file. - } - console.info('User changed theme variation to Auto.'); - $themeChanger.removeClass('fa-moon fa-palette').addClass('fa-sun'); - break; - default: - localStorage.setItem('dark_mode', '0'); - isDarkTheme = 0; - console.info('User changed theme variation to Light.'); - $themeChanger.removeClass('fa-sun fa-palette').addClass('fa-moon'); - break; - } - renderThemeVariation(isDarkTheme); - } - - function getThemeVariation() { - if (!canChangeTheme()) { - return isSiteThemeDark; // Use the site's default theme variation based on `light` in the theme file. - } - let currentThemeMode = getThemeMode(); - let isDarkTheme; - switch (currentThemeMode) { - case 0: - isDarkTheme = 0; - break; - case 1: - isDarkTheme = 1; - break; - default: - if (window.matchMedia('(prefers-color-scheme: dark)').matches) { - // The visitor prefers dark themes and switching to the dark variation is allowed by admin. - isDarkTheme = 1; - } else if (window.matchMedia('(prefers-color-scheme: light)').matches) { - // The visitor prefers light themes and switching to the dark variation is allowed by admin. - isDarkTheme = 0; - } else { - isDarkTheme = isSiteThemeDark; // Use the site's default theme variation based on `light` in the theme file. - } - break; - } - return isDarkTheme; - } - - /** - * Render theme variation (day or night). - * - * @param {int} isDarkTheme - TODO: convert to boolean. - * @param {boolean} init - * @returns {undefined} - */ - function renderThemeVariation(isDarkTheme, init = false) { - // Is code highlighting enabled in site config? - const codeHlEnabled = $('link[title=hl-light]').length > 0; - const codeHlLight = $('link[title=hl-light]')[0]; - const codeHlDark = $('link[title=hl-dark]')[0]; - const diagramEnabled = $('script[title=mermaid]').length > 0; - - // Check if re-render required. - if (!init) { - // If request to render light when light variation already rendered, return. - // If request to render dark when dark variation already rendered, return. - if ((isDarkTheme === 0 && !$('body').hasClass('dark')) || (isDarkTheme === 1 && $('body').hasClass('dark'))) { - return; - } - } - - if (isDarkTheme === 0) { - if (!init) { - // Only fade in the page when changing the theme variation. - $('body').css({opacity: 0, visibility: 'visible'}).animate({opacity: 1}, 500); - } - $('body').removeClass('dark'); - if (codeHlEnabled) { - codeHlLight.disabled = false; - codeHlDark.disabled = true; - } - if (diagramEnabled) { - if (init) { - mermaid.initialize({theme: 'default', securityLevel: 'loose'}); - } else { - // Have to reload to re-initialise Mermaid with the new theme and re-parse the Mermaid code blocks. - location.reload(); - } - } - } else if (isDarkTheme === 1) { - if (!init) { - // Only fade in the page when changing the theme variation. - $('body').css({opacity: 0, visibility: 'visible'}).animate({opacity: 1}, 500); - } - $('body').addClass('dark'); - if (codeHlEnabled) { - codeHlLight.disabled = true; - codeHlDark.disabled = false; - } - if (diagramEnabled) { - if (init) { - mermaid.initialize({theme: 'dark', securityLevel: 'loose'}); - } else { - // Have to reload to re-initialise Mermaid with the new theme and re-parse the Mermaid code blocks. - location.reload(); - } - } - } - } - - function initThemeVariation() { - // If theme changer component present, set its icon according to the theme mode (day, night, or auto). - if (canChangeTheme) { - let themeMode = getThemeMode(); - let $themeChanger = $('.js-dark-toggle i'); - switch (themeMode) { - case 0: - $themeChanger.removeClass('fa-sun fa-palette').addClass('fa-moon'); - console.info('Initialize theme variation to Light.'); - break; - case 1: - $themeChanger.removeClass('fa-moon fa-sun').addClass('fa-palette'); - console.info('Initialize theme variation to Dark.'); - break; - default: - $themeChanger.removeClass('fa-moon fa-palette').addClass('fa-sun'); - console.info('Initialize theme variation to Auto.'); - break; - } - } - // Render the day or night theme. - let isDarkTheme = getThemeVariation(); - renderThemeVariation(isDarkTheme, true); - } - - /* --------------------------------------------------------------------------- - * Normalize Bootstrap Carousel Slide Heights. - * --------------------------------------------------------------------------- */ - - function normalizeCarouselSlideHeights() { - $('.carousel').each(function () { - // Get carousel slides. - let items = $('.carousel-item', this); - // Reset all slide heights. - items.css('min-height', 0); - // Normalize all slide heights. - let maxHeight = Math.max.apply(null, items.map(function () { - return $(this).outerHeight() - }).get()); - items.css('min-height', maxHeight + 'px'); - }) - } - - /* --------------------------------------------------------------------------- - * Fix Hugo's Goldmark output and Mermaid code blocks. - * --------------------------------------------------------------------------- */ - - /** - * Fix Hugo's Goldmark output. - */ - function fixHugoOutput() { - // Fix Goldmark table of contents. - // - Must be performed prior to initializing ScrollSpy. - $('#TableOfContents').addClass('nav flex-column'); - $('#TableOfContents li').addClass('nav-item'); - $('#TableOfContents li a').addClass('nav-link'); - - // Fix Goldmark task lists (remove bullet points). - $("input[type='checkbox'][disabled]").parents('ul').addClass('task-list'); - } - - /** - * Fix Mermaid.js clash with Highlight.js. - * Refactor Mermaid code blocks as divs to prevent Highlight parsing them and enable Mermaid to parse them. - */ - function fixMermaid() { - let mermaids = []; - [].push.apply(mermaids, document.getElementsByClassName('language-mermaid')); - for (let i = 0; i < mermaids.length; i++) { - $(mermaids[i]).unwrap('pre'); // Remove <pre> wrapper. - $(mermaids[i]).replaceWith(function () { - // Convert <code> block to <div> and add `mermaid` class so that Mermaid will parse it. - return $("<div />").append($(this).contents()).addClass('mermaid'); - }); - } - } - - /* --------------------------------------------------------------------------- - * On document ready. - * --------------------------------------------------------------------------- */ - - $(document).ready(function () { - fixHugoOutput(); - fixMermaid(); - - // Initialise code highlighting if enabled for this page. - // Note: this block should be processed after the Mermaid code-->div conversion. - if (code_highlighting) { - hljs.initHighlighting(); - } - - // Initialize theme variation. - initThemeVariation(); - - // Change theme mode. - $('.js-dark-toggle').click(function (e) { - e.preventDefault(); - changeThemeModeClick(); - }); - - // Live update of day/night mode on system preferences update (no refresh required). - // Note: since we listen only for *dark* events, we won't detect other scheme changes such as light to no-preference. - const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)'); - darkModeMediaQuery.addListener((e) => { - if (!canChangeTheme()) { - // Changing theme variation is not allowed by admin. - return; - } - const darkModeOn = e.matches; - console.log(`OS dark mode preference changed to ${darkModeOn ? '🌒 on' : 'â˜€ï¸ off'}.`); - let currentThemeVariation = parseInt(localStorage.getItem('dark_mode') || 2); - let isDarkTheme; - if (currentThemeVariation === 2) { - if (window.matchMedia('(prefers-color-scheme: dark)').matches) { - // The visitor prefers dark themes. - isDarkTheme = 1; - } else if (window.matchMedia('(prefers-color-scheme: light)').matches) { - // The visitor prefers light themes. - isDarkTheme = 0; - } else { - // The visitor does not have a day or night preference, so use the theme's default setting. - isDarkTheme = isSiteThemeDark; - } - renderThemeVariation(isDarkTheme); - } - }); - }); - - /* --------------------------------------------------------------------------- - * On window loaded. - * --------------------------------------------------------------------------- */ - - $(window).on('load', function () { - // Filter projects. - $('.projects-container').each(function (index, container) { - let $container = $(container); - let $section = $container.closest('section'); - let layout; - if ($section.find('.isotope').hasClass('js-layout-row')) { - layout = 'fitRows'; - } else { - layout = 'masonry'; - } - - $container.imagesLoaded(function () { - // Initialize Isotope after all images have loaded. - $container.isotope({ - itemSelector: '.isotope-item', - layoutMode: layout, - masonry: { - gutter: 20 - }, - filter: $section.find('.default-project-filter').text() - }); - - // Filter items when filter link is clicked. - $section.find('.project-filters a').click(function () { - let selector = $(this).attr('data-filter'); - $container.isotope({filter: selector}); - $(this).removeClass('active').addClass('active').siblings().removeClass('active all'); - return false; - }); - - // If window hash is set, scroll to hash. - // Placing this within `imagesLoaded` prevents scrolling to the wrong location due to dynamic image loading - // affecting page layout and position of the target anchor ID. - // Note: If there are multiple project widgets on a page, ideally only perform this once after images - // from *all* project widgets have finished loading. - if (window.location.hash) { - scrollToAnchor(); - } - }); - }); - - // Enable publication filter for publication index page. - if ($('.pub-filters-select')) { - filter_publications(); - // Useful for changing hash manually (e.g. in development): - // window.addEventListener('hashchange', filter_publications, false); - } - - // Scroll to top of page. - $('.back-to-top').click(function (event) { - event.preventDefault(); - $('html, body').animate({ - 'scrollTop': 0 - }, 800, function () { - window.location.hash = ""; - }); - }); - - // Load citation modal on 'Cite' click. - $('.js-cite-modal').click(function (e) { - e.preventDefault(); - let filename = $(this).attr('data-filename'); - let modal = $('#modal'); - modal.find('.modal-body code').load(filename, function (response, status, xhr) { - if (status == 'error') { - let msg = "Error: "; - $('#modal-error').html(msg + xhr.status + " " + xhr.statusText); - } else { - $('.js-download-cite').attr('href', filename); - } - }); - modal.modal('show'); - }); - - // Copy citation text on 'Copy' click. - $('.js-copy-cite').click(function (e) { - e.preventDefault(); - // Get selection. - let range = document.createRange(); - let code_node = document.querySelector('#modal .modal-body'); - range.selectNode(code_node); - window.getSelection().addRange(range); - try { - // Execute the copy command. - document.execCommand('copy'); - } catch (e) { - console.log('Error: citation copy failed.'); - } - // Remove selection. - window.getSelection().removeRange(range); - }); - - // Initialise Google Maps if necessary. - initMap(); - - // Print latest version of GitHub projects. - let githubReleaseSelector = '.js-github-release'; - if ($(githubReleaseSelector).length > 0) - printLatestRelease(githubReleaseSelector, $(githubReleaseSelector).data('repo')); - - // On search icon click toggle search dialog. - $('.js-search').click(function (e) { - e.preventDefault(); - toggleSearchDialog(); - }); - $(document).on('keydown', function (e) { - if (e.which == 27) { - // `Esc` key pressed. - if ($('body').hasClass('searching')) { - toggleSearchDialog(); - } - } else if (e.which == 191 && e.shiftKey == false && !$('input,textarea').is(':focus')) { - // `/` key pressed outside of text input. - e.preventDefault(); - toggleSearchDialog(); - } - }); - - }); - - // Normalize Bootstrap carousel slide heights. - $(window).on('load resize orientationchange', normalizeCarouselSlideHeights); - - // Automatic main menu dropdowns on mouse over. - $('body').on('mouseenter mouseleave', '.dropdown', function (e) { - var dropdown = $(e.target).closest('.dropdown'); - var menu = $('.dropdown-menu', dropdown); - dropdown.addClass('show'); - menu.addClass('show'); - setTimeout(function () { - dropdown[dropdown.is(':hover') ? 'addClass' : 'removeClass']('show'); - menu[dropdown.is(':hover') ? 'addClass' : 'removeClass']('show'); - }, 300); - - // Re-initialize Scrollspy with dynamic navbar height offset. - fixScrollspy(); - - if (window.location.hash) { - // When accessing homepage from another page and `#top` hash is set, show top of page (no hash). - if (window.location.hash == "#top") { - window.location.hash = "" - } else if (!$('.projects-container').length) { - // If URL contains a hash and there are no dynamically loaded images on the page, - // immediately scroll to target ID taking into account responsive offset. - // Otherwise, wait for `imagesLoaded()` to complete before scrolling to hash to prevent scrolling to wrong - // location. - scrollToAnchor(); - } - } - - // Call `fixScrollspy` when window is resized. - let resizeTimer; - $(window).resize(function () { - clearTimeout(resizeTimer); - resizeTimer = setTimeout(fixScrollspy, 200); - }); - }); - -})(jQuery); diff --git a/nemo/assets/js/algolia-search.js b/nemo/assets/js/algolia-search.js deleted file mode 100644 index aa1750eef53aa0e001a750fdff401d20386b7c05..0000000000000000000000000000000000000000 --- a/nemo/assets/js/algolia-search.js +++ /dev/null @@ -1,72 +0,0 @@ -/************************************************* - * Academic - * https://github.com/gcushen/hugo-academic - * - * Algolia based search algorithm. - **************************************************/ - -if ((typeof instantsearch === 'function') && $('#search-box').length) { - function getTemplate(templateName) { - return document.querySelector(`#${templateName}-template`).innerHTML; - } - - const options = { - appId: algoliaConfig.appId, - apiKey: algoliaConfig.apiKey, - indexName: algoliaConfig.indexName, - routing: true, - searchParameters: { - hitsPerPage: 10 - }, - searchFunction: function (helper) { - let searchResults = document.querySelector('#search-hits') - if (helper.state.query === '') { - searchResults.style.display = 'none'; - return; - } - helper.search(); - searchResults.style.display = 'block'; - } - }; - - const search = instantsearch(options); - - // Initialize search box. - search.addWidget( - instantsearch.widgets.searchBox({ - container: '#search-box', - autofocus: false, - reset: true, - poweredBy: algoliaConfig.poweredBy, - placeholder: i18n.placeholder - }) - ); - - // Initialize search results. - search.addWidget( - instantsearch.widgets.infiniteHits({ - container: '#search-hits', - escapeHits: true, - templates: { - empty: '<div class="search-no-results">' + i18n.no_results + '</div>', - item: getTemplate('search-hit-algolia') - }, - cssClasses: { - showmoreButton: 'btn btn-outline-primary' - } - }) - ); - - // On render search results, localize the content type metadata. - search.on('render', function () { - $('.search-hit-type').each(function (index) { - let content_key = $(this).text(); - if (content_key in content_type) { - $(this).text(content_type[content_key]); - } - }); - }); - - // Start search. - search.start(); -} diff --git a/nemo/assets/js/mathjax-config.js b/nemo/assets/js/mathjax-config.js deleted file mode 100644 index 20ea49991ba28b3c15f508b3ff1401234c5761ef..0000000000000000000000000000000000000000 --- a/nemo/assets/js/mathjax-config.js +++ /dev/null @@ -1,16 +0,0 @@ -// MathJax Configuration -// -// v2 to v3 upgrade notes: -// - The CommonHTML.linebreaks option is not yet implemented (but may be in a future release) -// - The TeX.noUndefined.attributes option is not yet implemented (but may be in a future release) -window.MathJax = { - tex: { - inlineMath: [['$', '$'], ['\\(', '\\)']], - displayMath: [['$$', '$$'], ['\\[', '\\]']], - processEscapes: false, - packages: {'[+]': ['noerrors']} - }, - loader: { - load: ['[tex]/noerrors'] - } -}; diff --git a/nemo/assets/js/vendor/bootstrap.min.js b/nemo/assets/js/vendor/bootstrap.min.js deleted file mode 100644 index e5a242994035de13059fe6f1fe974bf35a2291e1..0000000000000000000000000000000000000000 --- a/nemo/assets/js/vendor/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?e(Object(r),!0).forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach(function(t){Object.defineProperty(o,t,Object.getOwnPropertyDescriptor(r,t))})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var n="transitionend";function o(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(n)},supportsTransitionEnd:function(){return Boolean(n)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null},jQueryDetection:function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};_.jQueryDetection(),g.fn.emulateTransitionEnd=o,g.event.special[_.TRANSITION_END]={bindType:n,delegateType:n,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var r="alert",a="bs.alert",c="."+a,h=g.fn[r],f={CLOSE:"close"+c,CLOSED:"closed"+c,CLICK_DATA_API:"click"+c+".data-api"},d="alert",m="fade",p="show",v=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,a),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n=n||g(t).closest("."+d)[0]},t._triggerCloseEvent=function(t){var e=g.Event(f.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(p),g(e).hasClass(m)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(f.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(a);e||(e=new i(this),t.data(a,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();g(document).on(f.CLICK_DATA_API,'[data-dismiss="alert"]',v._handleDismiss(new v)),g.fn[r]=v._jQueryInterface,g.fn[r].Constructor=v,g.fn[r].noConflict=function(){return g.fn[r]=h,v._jQueryInterface};var y="button",E="bs.button",C="."+E,T=".data-api",b=g.fn[y],S="active",D="btn",I="focus",w='[data-toggle^="button"]',A='[data-toggle="buttons"]',N='[data-toggle="button"]',O='[data-toggle="buttons"] .btn',k='input:not([type="hidden"])',P=".active",L=".btn",j={CLICK_DATA_API:"click"+C+T,FOCUS_BLUR_DATA_API:"focus"+C+T+" blur"+C+T,LOAD_DATA_API:"load"+C+T},H=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(A)[0];if(n){var i=this._element.querySelector(k);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(P);o&&g(o).removeClass(S)}else"checkbox"===i.type?"LABEL"===this._element.tagName&&i.checked===this._element.classList.contains(S)&&(t=!1):t=!1;t&&(i.checked=!this._element.classList.contains(S),g(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S))},t.dispose=function(){g.removeData(this._element,E),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(E);t||(t=new n(this),g(this).data(E,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),n}();g(document).on(j.CLICK_DATA_API,w,function(t){var e=t.target;if(g(e).hasClass(D)||(e=g(e).closest(L)[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var n=e.querySelector(k);if(n&&(n.hasAttribute("disabled")||n.classList.contains("disabled")))return void t.preventDefault();H._jQueryInterface.call(g(e),"toggle")}}).on(j.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(L)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g(window).on(j.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(O)),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector(k);o.checked||o.hasAttribute("checked")?i.classList.add(S):i.classList.remove(S)}for(var r=0,s=(t=[].slice.call(document.querySelectorAll(N))).length;r<s;r++){var a=t[r];"true"===a.getAttribute("aria-pressed")?a.classList.add(S):a.classList.remove(S)}}),g.fn[y]=H._jQueryInterface,g.fn[y].Constructor=H,g.fn[y].noConflict=function(){return g.fn[y]=b,H._jQueryInterface};var R="carousel",x="bs.carousel",F="."+x,U=".data-api",W=g.fn[R],q={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},M={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",Q="prev",B="left",V="right",Y={SLIDE:"slide"+F,SLID:"slid"+F,KEYDOWN:"keydown"+F,MOUSEENTER:"mouseenter"+F,MOUSELEAVE:"mouseleave"+F,TOUCHSTART:"touchstart"+F,TOUCHMOVE:"touchmove"+F,TOUCHEND:"touchend"+F,POINTERDOWN:"pointerdown"+F,POINTERUP:"pointerup"+F,DRAG_START:"dragstart"+F,LOAD_DATA_API:"load"+F+U,CLICK_DATA_API:"click"+F+U},z="carousel",X="active",$="slide",G="carousel-item-right",J="carousel-item-left",Z="carousel-item-next",tt="carousel-item-prev",et="pointer-event",nt=".active",it=".active.carousel-item",ot=".carousel-item",rt=".carousel-item img",st=".carousel-item-next, .carousel-item-prev",at=".carousel-indicators",lt="[data-slide], [data-slide-to]",ct='[data-ride="carousel"]',ht={TOUCH:"touch",PEN:"pen"},ut=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(at),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(K)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(Q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(st)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(it);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?K:Q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(F),g.removeData(this._element,x),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},q,{},t),_.typeCheckConfig(R,t,M),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;(this.touchDeltaX=0)<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Y.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Y.MOUSEENTER,function(t){return e.pause(t)}).on(Y.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this;if(this._touchSupported){var n=function(t){e._pointerEvent&&ht[t.originalEvent.pointerType.toUpperCase()]?e.touchStartX=t.originalEvent.clientX:e._pointerEvent||(e.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){e._pointerEvent&&ht[t.originalEvent.pointerType.toUpperCase()]&&(e.touchDeltaX=t.originalEvent.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval))};g(this._element.querySelectorAll(rt)).on(Y.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Y.POINTERDOWN,function(t){return n(t)}),g(this._element).on(Y.POINTERUP,function(t){return i(t)}),this._element.classList.add(et)):(g(this._element).on(Y.TOUCHSTART,function(t){return n(t)}),g(this._element).on(Y.TOUCHMOVE,function(t){return function(t){t.originalEvent.touches&&1<t.originalEvent.touches.length?e.touchDeltaX=0:e.touchDeltaX=t.originalEvent.touches[0].clientX-e.touchStartX}(t)}),g(this._element).on(Y.TOUCHEND,function(t){return i(t)}))}},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(ot)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===K,i=t===Q,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Q?-1:1))%this._items.length;return-1==s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(it)),o=g.Event(Y.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(nt));g(e).removeClass(X);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(X)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(it),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===K?(n=J,i=Z,B):(n=G,i=tt,V),l&&g(l).hasClass(X))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Y.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass($)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(X),g(s).removeClass(X+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(X),g(l).addClass(X),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(x),e=l({},q,{},g(this).data());"object"==typeof i&&(e=l({},e,{},i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(x,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(z)){var i=l({},g(n).data(),{},g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(x).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return q}}]),r}();g(document).on(Y.CLICK_DATA_API,lt,ut._dataApiClickHandler),g(window).on(Y.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(ct)),e=0,n=t.length;e<n;e++){var i=g(t[e]);ut._jQueryInterface.call(i,i.data())}}),g.fn[R]=ut._jQueryInterface,g.fn[R].Constructor=ut,g.fn[R].noConflict=function(){return g.fn[R]=W,ut._jQueryInterface};var ft="collapse",dt="bs.collapse",gt="."+dt,_t=g.fn[ft],mt={toggle:!0,parent:""},pt={toggle:"boolean",parent:"(string|element)"},vt={SHOW:"show"+gt,SHOWN:"shown"+gt,HIDE:"hide"+gt,HIDDEN:"hidden"+gt,CLICK_DATA_API:"click"+gt+".data-api"},yt="show",Et="collapse",Ct="collapsing",Tt="collapsed",bt="width",St="height",Dt=".show, .collapsing",It='[data-toggle="collapse"]',wt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(It)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(yt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(yt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Dt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(Et)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(dt))&&e._isTransitioning))){var i=g.Event(vt.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(dt,null));var o=this._getDimension();g(this._element).removeClass(Et).addClass(Ct),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(Tt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(Ct).addClass(Et).addClass(yt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(vt.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(yt)){var e=g.Event(vt.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(Ct).removeClass(Et).removeClass(yt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(yt)||g(r).addClass(Tt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(Ct).addClass(Et).trigger(vt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,dt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},mt,{},t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ft,t,pt),t},t._getDimension=function(){return g(this._element).hasClass(bt)?bt:St},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(yt);e.length&&g(e).toggleClass(Tt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(dt),n=l({},mt,{},t.data(),{},"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(dt,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return mt}}]),a}();g(document).on(vt.CLICK_DATA_API,It,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(dt)?"toggle":n.data();wt._jQueryInterface.call(t,e)})}),g.fn[ft]=wt._jQueryInterface,g.fn[ft].Constructor=wt,g.fn[ft].noConflict=function(){return g.fn[ft]=_t,wt._jQueryInterface};var At="dropdown",Nt="bs.dropdown",Ot="."+Nt,kt=".data-api",Pt=g.fn[At],Lt=new RegExp("38|40|27"),jt={HIDE:"hide"+Ot,HIDDEN:"hidden"+Ot,SHOW:"show"+Ot,SHOWN:"shown"+Ot,CLICK:"click"+Ot,CLICK_DATA_API:"click"+Ot+kt,KEYDOWN_DATA_API:"keydown"+Ot+kt,KEYUP_DATA_API:"keyup"+Ot+kt},Ht="disabled",Rt="show",xt="dropup",Ft="dropright",Ut="dropleft",Wt="dropdown-menu-right",qt="position-static",Mt='[data-toggle="dropdown"]',Kt=".dropdown form",Qt=".dropdown-menu",Bt=".navbar-nav",Vt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Yt="top-start",zt="top-end",Xt="bottom-start",$t="bottom-end",Gt="right-start",Jt="left-start",Zt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},te={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},ee=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Ht)){var t=g(this._menu).hasClass(Rt);c._clearMenus(),t||this.show(!0)}},t.show=function(t){if(void 0===t&&(t=!1),!(this._element.disabled||g(this._element).hasClass(Ht)||g(this._menu).hasClass(Rt))){var e={relatedTarget:this._element},n=g.Event(jt.SHOW,e),i=c._getParentFromElement(this._element);if(g(i).trigger(n),!n.isDefaultPrevented()){if(!this._inNavbar&&t){if("undefined"==typeof u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=i:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(i).addClass(qt),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(i).closest(Bt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Rt),g(i).toggleClass(Rt).trigger(g.Event(jt.SHOWN,e))}}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Ht)&&g(this._menu).hasClass(Rt)){var t={relatedTarget:this._element},e=g.Event(jt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(this._popper&&this._popper.destroy(),g(this._menu).toggleClass(Rt),g(n).toggleClass(Rt).trigger(g.Event(jt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Nt),g(this._element).off(Ot),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(jt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,{},g(this._element).data(),{},t),_.typeCheckConfig(At,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(Qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Xt;return t.hasClass(xt)?(e=Yt,g(this._menu).hasClass(Wt)&&(e=zt)):t.hasClass(Ft)?e=Gt:t.hasClass(Ut)?e=Jt:g(this._menu).hasClass(Wt)&&(e=$t),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),l({},t,{},this._config.popperConfig)},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Nt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Nt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Mt)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Nt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Rt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(jt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),g(a).removeClass(Rt),g(o).removeClass(Rt).trigger(g.Event(jt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(Qt).length)):Lt.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Ht))){var e=c._getParentFromElement(this),n=g(e).hasClass(Rt);if(n||27!==t.which)if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Vt)).filter(function(t){return g(t).is(":visible")});if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(Mt);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Zt}},{key:"DefaultType",get:function(){return te}}]),c}();g(document).on(jt.KEYDOWN_DATA_API,Mt,ee._dataApiKeydownHandler).on(jt.KEYDOWN_DATA_API,Qt,ee._dataApiKeydownHandler).on(jt.CLICK_DATA_API+" "+jt.KEYUP_DATA_API,ee._clearMenus).on(jt.CLICK_DATA_API,Mt,function(t){t.preventDefault(),t.stopPropagation(),ee._jQueryInterface.call(g(this),"toggle")}).on(jt.CLICK_DATA_API,Kt,function(t){t.stopPropagation()}),g.fn[At]=ee._jQueryInterface,g.fn[At].Constructor=ee,g.fn[At].noConflict=function(){return g.fn[At]=Pt,ee._jQueryInterface};var ne="modal",ie="bs.modal",oe="."+ie,re=g.fn[ne],se={backdrop:!0,keyboard:!0,focus:!0,show:!0},ae={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},le={HIDE:"hide"+oe,HIDE_PREVENTED:"hidePrevented"+oe,HIDDEN:"hidden"+oe,SHOW:"show"+oe,SHOWN:"shown"+oe,FOCUSIN:"focusin"+oe,RESIZE:"resize"+oe,CLICK_DISMISS:"click.dismiss"+oe,KEYDOWN_DISMISS:"keydown.dismiss"+oe,MOUSEUP_DISMISS:"mouseup.dismiss"+oe,MOUSEDOWN_DISMISS:"mousedown.dismiss"+oe,CLICK_DATA_API:"click"+oe+".data-api"},ce="modal-dialog-scrollable",he="modal-scrollbar-measure",ue="modal-backdrop",fe="modal-open",de="fade",ge="show",_e="modal-static",me=".modal-dialog",pe=".modal-body",ve='[data-toggle="modal"]',ye='[data-dismiss="modal"]',Ee=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Ce=".sticky-top",Te=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(me),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(de)&&(this._isTransitioning=!0);var n=g.Event(le.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(le.CLICK_DISMISS,ye,function(t){return e.hide(t)}),g(this._dialog).on(le.MOUSEDOWN_DISMISS,function(){g(e._element).one(le.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(le.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(de);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(le.FOCUSIN),g(this._element).removeClass(ge),g(this._element).off(le.CLICK_DISMISS),g(this._dialog).off(le.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(oe)}),g(document).off(le.FOCUSIN),g.removeData(this._element,ie),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},se,{},t),_.typeCheckConfig(ne,t,ae),t},t._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var e=g.Event(le.HIDE_PREVENTED);if(g(this._element).trigger(e),e.defaultPrevented)return;this._element.classList.add(_e);var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t._element.classList.remove(_e)}).emulateTransitionEnd(n),this._element.focus()}else this.hide()},t._showElement=function(t){var e=this,n=g(this._element).hasClass(de),i=this._dialog?this._dialog.querySelector(pe):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),g(this._dialog).hasClass(ce)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ge),this._config.focus&&this._enforceFocus();function o(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(r)}var r=g.Event(le.SHOWN,{relatedTarget:t});if(n){var s=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(s)}else o()},t._enforceFocus=function(){var e=this;g(document).off(le.FOCUSIN).on(le.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(le.KEYDOWN_DISMISS,function(t){27===t.which&&e._triggerBackdropTransition()}):this._isShown||g(this._element).off(le.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(le.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(le.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(fe),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(le.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(de)?de:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ue,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(le.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ge),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ge);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(de)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(Ee)),e=[].slice.call(document.querySelectorAll(Ce));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(fe)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(Ee));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+Ce));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=he,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(ie),e=l({},se,{},g(this).data(),{},"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(ie,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return se}}]),o}();g(document).on(le.CLICK_DATA_API,ve,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(ie)?"toggle":l({},g(e).data(),{},g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(le.SHOW,function(t){t.isDefaultPrevented()||r.one(le.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});Te._jQueryInterface.call(g(e),o,this)}),g.fn[ne]=Te._jQueryInterface,g.fn[ne].Constructor=Te,g.fn[ne].noConflict=function(){return g.fn[ne]=re,Te._jQueryInterface};var be=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Se={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},De=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Ie=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function we(t,r,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(r),a=[].slice.call(n.body.querySelectorAll("*")),i=function(t){var e=a[t],n=e.nodeName.toLowerCase();if(-1===s.indexOf(e.nodeName.toLowerCase()))return e.parentNode.removeChild(e),"continue";var i=[].slice.call(e.attributes),o=[].concat(r["*"]||[],r[n]||[]);i.forEach(function(t){!function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===be.indexOf(n)||Boolean(t.nodeValue.match(De)||t.nodeValue.match(Ie));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1}(t,o)&&e.removeAttribute(t.nodeName)})},o=0,l=a.length;o<l;o++)i(o);return n.body.innerHTML}var Ae="tooltip",Ne="bs.tooltip",Oe="."+Ne,ke=g.fn[Ae],Pe="bs-tooltip",Le=new RegExp("(^|\\s)"+Pe+"\\S+","g"),je=["sanitize","whiteList","sanitizeFn"],He={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Re={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},xe={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ge),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ge,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return nn}},{key:"NAME",get:function(){return $e}},{key:"DATA_KEY",get:function(){return Ge}},{key:"Event",get:function(){return cn}},{key:"EVENT_KEY",get:function(){return Je}},{key:"DefaultType",get:function(){return on}}]),i}(Xe);g.fn[$e]=hn._jQueryInterface,g.fn[$e].Constructor=hn,g.fn[$e].noConflict=function(){return g.fn[$e]=Ze,hn._jQueryInterface};var un="scrollspy",fn="bs.scrollspy",dn="."+fn,gn=g.fn[un],_n={offset:10,method:"auto",target:""},mn={offset:"number",method:"string",target:"(string|element)"},pn={ACTIVATE:"activate"+dn,SCROLL:"scroll"+dn,LOAD_DATA_API:"load"+dn+".data-api"},vn="dropdown-item",yn="active",En='[data-spy="scroll"]',Cn=".nav, .list-group",Tn=".nav-link",bn=".nav-item",Sn=".list-group-item",Dn=".dropdown",In=".dropdown-item",wn=".dropdown-toggle",An="offset",Nn="position",On=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Tn+","+this._config.target+" "+Sn+","+this._config.target+" "+In,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(pn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?An:Nn,o="auto"===this._config.method?t:this._config.method,r=o===Nn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,fn),g(this._scrollElement).off(dn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},_n,{},"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(un),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(un,t,mn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(vn)?(n.closest(Dn).find(wn).addClass(yn),n.addClass(yn)):(n.addClass(yn),n.parents(Cn).prev(Tn+", "+Sn).addClass(yn),n.parents(Cn).prev(bn).children(Tn).addClass(yn)),g(this._scrollElement).trigger(pn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(yn)}).forEach(function(t){return t.classList.remove(yn)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(fn);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(fn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return _n}}]),n}();g(window).on(pn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(En)),e=t.length;e--;){var n=g(t[e]);On._jQueryInterface.call(n,n.data())}}),g.fn[un]=On._jQueryInterface,g.fn[un].Constructor=On,g.fn[un].noConflict=function(){return g.fn[un]=gn,On._jQueryInterface};var kn="bs.tab",Pn="."+kn,Ln=g.fn.tab,jn={HIDE:"hide"+Pn,HIDDEN:"hidden"+Pn,SHOW:"show"+Pn,SHOWN:"shown"+Pn,CLICK_DATA_API:"click"+Pn+".data-api"},Hn="dropdown-menu",Rn="active",xn="disabled",Fn="fade",Un="show",Wn=".dropdown",qn=".nav, .list-group",Mn=".active",Kn="> li > .active",Qn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Bn=".dropdown-toggle",Vn="> .dropdown-menu .active",Yn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Rn)||g(this._element).hasClass(xn))){var t,i,e=g(this._element).closest(qn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Kn:Mn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(jn.HIDE,{relatedTarget:this._element}),a=g.Event(jn.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(jn.HIDDEN,{relatedTarget:n._element}),e=g.Event(jn.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,kn),this._element=null},t._activate=function(t,e,n){function i(){return o._transitionComplete(t,r,n)}var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Mn):g(e).find(Kn))[0],s=n&&r&&g(r).hasClass(Fn);if(r&&s){var a=_.getTransitionDurationFromElement(r);g(r).removeClass(Un).one(_.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Rn);var i=g(e.parentNode).find(Vn)[0];i&&g(i).removeClass(Rn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Rn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(Fn)&&t.classList.add(Un),t.parentNode&&g(t.parentNode).hasClass(Hn)){var o=g(t).closest(Wn)[0];if(o){var r=[].slice.call(o.querySelectorAll(Bn));g(r).addClass(Rn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(kn);if(e||(e=new i(this),t.data(kn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();g(document).on(jn.CLICK_DATA_API,Qn,function(t){t.preventDefault(),Yn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Yn._jQueryInterface,g.fn.tab.Constructor=Yn,g.fn.tab.noConflict=function(){return g.fn.tab=Ln,Yn._jQueryInterface};var zn="toast",Xn="bs.toast",$n="."+Xn,Gn=g.fn[zn],Jn={CLICK_DISMISS:"click.dismiss"+$n,HIDE:"hide"+$n,HIDDEN:"hidden"+$n,SHOW:"show"+$n,SHOWN:"shown"+$n},Zn="fade",ti="hide",ei="show",ni="showing",ii={animation:"boolean",autohide:"boolean",delay:"number"},oi={animation:!0,autohide:!0,delay:500},ri='[data-dismiss="toast"]',si=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this,e=g.Event(Jn.SHOW);if(g(this._element).trigger(e),!e.isDefaultPrevented()){this._config.animation&&this._element.classList.add(Zn);var n=function(){t._element.classList.remove(ni),t._element.classList.add(ei),g(t._element).trigger(Jn.SHOWN),t._config.autohide&&(t._timeout=setTimeout(function(){t.hide()},t._config.delay))};if(this._element.classList.remove(ti),_.reflow(this._element),this._element.classList.add(ni),this._config.animation){var i=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},t.hide=function(){if(this._element.classList.contains(ei)){var t=g.Event(Jn.HIDE);g(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(ei)&&this._element.classList.remove(ei),g(this._element).off(Jn.CLICK_DISMISS),g.removeData(this._element,Xn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},oi,{},g(this._element).data(),{},"object"==typeof t&&t?t:{}),_.typeCheckConfig(zn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(Jn.CLICK_DISMISS,ri,function(){return t.hide()})},t._close=function(){function t(){e._element.classList.add(ti),g(e._element).trigger(Jn.HIDDEN)}var e=this;if(this._element.classList.remove(ei),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,t).emulateTransitionEnd(n)}else t()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Xn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Xn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"DefaultType",get:function(){return ii}},{key:"Default",get:function(){return oi}}]),i}();g.fn[zn]=si._jQueryInterface,g.fn[zn].Constructor=si,g.fn[zn].noConflict=function(){return g.fn[zn]=Gn,si._jQueryInterface},t.Alert=v,t.Button=H,t.Carousel=ut,t.Collapse=wt,t.Dropdown=ee,t.Modal=Te,t.Popover=hn,t.Scrollspy=On,t.Tab=Yn,t.Toast=si,t.Tooltip=Xe,t.Util=_,Object.defineProperty(t,"__esModule",{value:!0})}); -//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/nemo/assets/scss/academic/_card.scss b/nemo/assets/scss/academic/_card.scss deleted file mode 100644 index d7fca5502844ae3a46be8f83f1087adeba7a72fb..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_card.scss +++ /dev/null @@ -1,118 +0,0 @@ -/************************************************* - * Card component - **************************************************/ - -.card-simple { - background: #fff; - box-shadow: 0 1px 4px rgba(0,0,0,.04); - border: 1px solid rgba(0,0,0,.09); - border-radius: 3px; - margin-top: 20px; - padding: 15px 20px 15px 20px; -} - -.card-simple:first-of-type { - margin-top: 0; -} - -.card-simple p.read-more { - margin: 0; -} - -.dark .card-simple { - background: rgb(40, 42, 54); - box-shadow: 0 1px 4px rgba(0,0,0,.04); - border: 1px solid rgb(68, 71, 90); -} - -.card { - margin-bottom: 1.5rem; - overflow: hidden; - text-overflow: ellipsis; - background: #fff; - box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2); - transition: all 0.2s ease-out; -} - -.card .card-image { - display: block; - position: relative; - min-height: 100px; -} - -.card h4 { - font-size: 0.9rem; - font-weight: 700; - line-height: 1.5; - text-transform: uppercase; -} - -.card h4 a { - color: #000; - border-bottom: solid 1px transparent; -} - -.card h4 a:hover { - color: #000; - border-bottom: solid 1px #000; - text-decoration: none; -} - -.card .card-text { - padding: 0.75rem 1rem 0.75rem; -} - -.card .card-text p { - color: rgba(0,0,0,0.54); - font-size: 0.75rem; -} - -.dark .card-text p { - color: rgb(248, 248, 242); -} - -.card p:last-child { - margin-bottom: 0; -} - -.card .card-image.hover-overlay:before { - display: block; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #fff; - content: " "; - opacity: 0; - transition: all 0.2s ease-out; -} - -.card .card-image.hover-overlay:after { - display: block; - position: absolute; - left: 0; - top: 50%; - width: 100%; - transform: translate(0, -50%); - opacity: 0; - transition: all 0.2s ease-out; - font-family: 'Font Awesome 5 Free'; - font-weight: 900; - content: '\f0c1'; - text-align: center; - font-size: 3rem; - color: #666; -} - -.card:hover { - box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2); -} - -.card:hover .card-image.hover-overlay:before { - opacity: 0.8; -} - -.card:hover .card-image.hover-overlay:after { - opacity: 0.6; -} diff --git a/nemo/assets/scss/academic/_content.scss b/nemo/assets/scss/academic/_content.scss deleted file mode 100644 index f72126d6fe4cf767d59ce73d75db2386184adba2..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_content.scss +++ /dev/null @@ -1,334 +0,0 @@ -/************************************************* - * Page content - **************************************************/ - -article { - animation: intro 0.3s both; - animation-delay: 0.15s; -} - -.article-container { - max-width: 760px; - padding: 0 20px 0 20px; - margin: 0 auto 0 auto; -} - -.page-subtitle { - font-size: 1.15rem; - color: rgba(0,0,0,.54); - margin-bottom: 1rem; -} - -.dark .page-subtitle { - color: rgba(255,255,255,0.54); -} - -.article-header { - position: relative; /* Required for caption positioning */ - clear: both; -} - -.article-banner { - width: 100%; - height: auto; -} - -.featured-image-wrapper { - position: relative; - padding-left: 0; /* Override container padding. */ - padding-right: 0; /* Override container padding. */ -} - -.featured-image { - position: relative; - width: 100%; - display: block; - margin: 0 auto; -} - -.article-header-caption { - position: absolute; - bottom: 0; - right: 0; - margin: 0 auto; - padding: 2px 5px; - color: #fff; - font-size: .7em; - background: #000; - text-align: right; - z-index: 5; - opacity: 0.65; - border-radius: 5px 0 0 0; -} -@media (min-width: 64em) { - .article-header-caption { - padding: 5px 10px; - } -} - -.article-header-caption a { - color: #fff; - text-decoration: none; -} - -.article-title { - font-size: 1.75rem; -} - -.article-title a { - color: #151515; - transition: color 0.6s ease; -} - -.dark .text-muted { - color: rgba(255,255,255,0.54) !important; -} - -.article-metadata { - margin-bottom: 15px; - overflow: hidden; - font-size: 14px; - letter-spacing: 0.03em; - color: rgba(0,0,0,0.54); -} - -.dark .article-metadata { - color: rgba(255,255,255,0.54); -} - -.stream-meta.article-metadata { - margin-bottom: 5px; -} - -/* For article page only, not lists. */ -article .article-metadata { - margin-bottom: 20px; -} - -.article-metadata a { - color: rgba(0,0,0,.54); -} - -.dark .article-metadata a { - color: rgba(255,255,255,0.54); -} - -.article-metadata a:hover { - color: $sta-primary; -} - -.article-categories { - white-space: nowrap; /* Keep category icon on same line as category links, otherwise context lost. */ -} - -.middot-divider { - padding-right: .45em; - padding-left: .45em; - font-size: 15px; -} - -.middot-divider::after { - content: '\00B7'; -} - -.article-style img, -.article-style video { - margin-left: auto; - margin-right: auto; - margin-top: 2rem; - margin-bottom: 2rem; - padding: 0; -} - -.article-style td img, -.article-style td video { - margin-top: 0; - margin-bottom: 0; -} - -.article-style figure { - margin-top: 2rem; - margin-bottom: 2rem; -} - -.article-style figure img { - margin-top: 0; - margin-bottom: 0; -} - -/************************************************* - * Publications - **************************************************/ - -.pub-banner { - max-width: 100%; - height: auto; - margin-left: auto; - margin-right: auto; -} - -.pub-row-heading { - font-weight: bold; -} - -#container-publications { - display: block; - position: relative; - overflow: hidden; -} - -.li-cite-author { - font-size: 1em; - color: inherit; -} - -.li-cite-author a { - color: inherit; -} - -.dark .li-cite-author a { - color: rgb(248, 248, 242); -} - -/************************************************* - * Content widgets - **************************************************/ - -.content-widget-hr { - margin-top: 1.2rem; - padding-top: 1.2rem; - border-top: 1px solid rgba(0,0,0,.05); -} - -.dark .content-widget-hr { - border-top: 1px solid rgba(255,255,255,.05); -} - -/************************************************* - * Tags - **************************************************/ - -.article-tags { - margin-top: 1.2rem; -} - -/************************************************* - * Sharing - **************************************************/ - -.share-box { - margin-top: 0.7rem; -} - -ul.share { - display: flex; - align-items: center; - justify-content: center; - flex-direction: row; - flex-wrap: wrap; - list-style: none; - margin: 0; - padding: 0; -} - -ul.share li { - display: inline-flex; - margin-right: 8px; -} - -ul.share li:last-of-type { - margin-right: 0; -} - -ul.share li i { - display: block; - width: 30px; - height: 30px; - line-height: 30px; - font-size: 22px; - text-align: center; - transition: all 150ms ease-in-out; -} - -ul.share li a { - text-decoration: none !important; - color: rgba(0, 0, 0, 0.84); -} - -.dark ul.share li a { - color: rgba(255, 255, 255, 0.84); -} - -ul.share li:hover i { - transform: scale(1.2) -} - -/************************************************* - * Author profile card - **************************************************/ - -.author-card .avatar { - width: 60px; - height: 60px; -} - -.author-card .card-title { - margin-top: 0; - margin-bottom: 15px; - font-weight: 600; - color: rgba(0, 0, 0, 0.84); -} - -.author-card .card-title a { - color: rgba(0, 0, 0, 0.84); -} - -.dark .author-card .card-title, -.dark .author-card .card-title a { - color: rgba(255, 255, 255, 0.84); -} - -.author-card p { - margin-bottom: 5px; -} - -.author-card .card-subtitle { - font-weight: 300; - font-size: 0.8rem; - color: rgba(0, 0, 0, 0.54); - margin-bottom: 7px; -} - -.dark .author-card .card-subtitle { - color: rgba(255, 255, 255, 0.54); -} - -.author-card .card-text { - color: rgba(0, 0, 0, 0.76); - font-size: 0.8rem; - margin-bottom: 4px; -} - -.dark .author-card .card-text { - color: rgba(255, 255, 255, 0.76); -} - -/************************************************* - * Comments - **************************************************/ - -#comments { - padding-top: 1rem; -} - -/************************************************* - * Related content - **************************************************/ - -.article-widget { - padding-top: 1.2rem; /* Match .content-widget-hr */ -} - -.article-widget h3 { - margin-top: 0; -} diff --git a/nemo/assets/scss/academic/_dark.scss b/nemo/assets/scss/academic/_dark.scss deleted file mode 100644 index 7b0df54d97e071ebc7d9110ee08b7295e4ed7de4..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_dark.scss +++ /dev/null @@ -1,139 +0,0 @@ -/************************************************* - * Dark themed components - **************************************************/ - -body.dark, -.dark .docs-toc-link, -.dark .docs-sidebar .nav > li:not(.active) > a, -.dark .modal button.close, -.dark input, -.dark .form-control, -.dark .form-control:focus { - color: rgb(248, 248, 242); - background: $sta-dark-background; -} - -.dark .form-control { - background-color: rgb(68, 71, 90); -} - -.dark .form-control:focus { - background-color: rgb(68, 71, 90); - border-color: $sta-primary; - box-shadow: 0 0 0 .2rem $sta-primary-dark; -} - -.dark h1, -.dark h2, -.dark h3, -.dark h4, -.dark h5, -.dark h6 { - color: rgb(152, 166, 173); -} - -.dark pre, -.dark code { - color: rgb(139, 233, 253); - background-color: rgb(68, 71, 90); -} - -.dark pre { - background-color: rgb(68, 71, 90); - border-color: rgb(68, 71, 90); -} - -.dark .markup-quote { - background-image: linear-gradient(to bottom, rgba(233, 231, 245, 0.2), rgba(233, 231, 245, 0.2)); -} - -.dark #MathJax_Zoom { - background-color: rgb(68, 71, 90) !important; -} - -.dark table table { - background-color: rgb(40, 42, 54); -} - -/* Table Striped */ -.dark table > tbody > tr:nth-child(odd) > td, -.dark table > tbody > tr:nth-child(odd) > th { - background-color: rgb(50, 52, 64); -} - -/* Table Hover */ -.dark table > tbody > tr:hover > td, -.dark table > tbody > tr:hover > th { - background-color: rgb(60, 62, 74); -} - -.dark .article-title a { - color: #fff; -} - -.dark .portrait-title h2 { - color: #fff; -} - -.dark .portrait-title h3 { - color: rgba(255, 255, 255, 0.54); -} - -.dark ul.ul-edu li .description p.institution { - color: rgba(255, 255, 255, 0.6); -} - -.dark .pub-icon { - color: rgba(255, 255, 255, 0.54); -} - -.dark .talk-metadata { - color: rgba(255, 255, 255, 0.54); -} - -.dark .pagination li > a, .pagination li > span { - background-color: rgb(40, 42, 54); - border: 1px solid #ddd; -} - -.dark .card { - background: #343a40; -} - -.dark .card h4 a { - color: $sta-primary; - border-bottom: solid 1px transparent; -} - -.dark .card .card-image.hover-overlay::before { - background: #666; -} - -.dark .card .card-image.hover-overlay::after { - color: #fff; -} - -.dark select { - background: rgb(40, 42, 54); - color: rgb(248, 248, 242); -} - -.dark .badge-light { - color: rgba(255, 255, 255, .68); - background: rgba(255, 255, 255, .2); -} - -.dark .badge-light[href]:focus, -.dark .badge-light[href]:hover { - background: rgba(255, 255, 255, .3); -} - -.dark a.badge:focus, -.dark a.badge:hover { - color: rgba(255, 255, 255, .68); -} - -.dark .btn-primary, -.dark .btn.btn-primary.active { - color: initial; -} diff --git a/nemo/assets/scss/academic/_docs.scss b/nemo/assets/scss/academic/_docs.scss deleted file mode 100644 index c6ebdc8549620802fa59c776dd64883daffb56ab..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_docs.scss +++ /dev/null @@ -1,261 +0,0 @@ -/************************************************* - * Documentation layout - **************************************************/ - -.docs-article-container { - max-width: 760px; -} - -/* Documentation: article footer. */ - -.docs .body-footer { - border-top: 1px solid #e8e8e8; - margin-top: 30px; - padding-top: 10px; - font-size: 14px; - color: #707070; -} - -/* Docs content. */ - -.docs-content { - order: 1; - position: relative; -} - -.docs-content>h2[id], -.docs-content>h3[id], -.docs-content>h4[id] { - pointer-events: none; -} - -.docs-content>ol li, -.docs-content>ul li { - margin-bottom: .25rem; -} - -/* Docs search. */ - -.docs-search { - position: relative; - padding: 1rem 15px; - margin-right: -15px; - margin-left: -15px; - border-bottom: 1px solid rgba(0, 0, 0, .05); -} - -.docs-search .form-control:focus { - border-color: $sta-primary; - box-shadow: 0 0 0 3px $sta-primary-light; -} - -/* Docs sidebar. */ - -.docs-sidebar { - order: 0; - border-bottom: 1px solid rgba(0, 0, 0, .1) -} - -@media (min-width:768px) { - .docs-sidebar { - border-right: 1px solid rgba(0, 0, 0, .1) - } - @supports ((position:-webkit-sticky) or (position:sticky)) { - .docs-sidebar { - position: -webkit-sticky; - position: sticky; - top: 50px; - z-index: 10; - height: calc(100vh - 50px) - } - } -} - -@media (min-width:1200px) { - .docs-sidebar { - border-right: 1px solid rgba(0, 0, 0, .1) - } - @supports ((position:-webkit-sticky) or (position:sticky)) { - .docs-sidebar { - position: -webkit-sticky; - position: sticky; - top: 70px; - z-index: 10; - height: calc(100vh - 70px) - } - } -} - -@media (min-width:1200px) { - .docs-sidebar { - flex: 0 1 320px - } -} - -/* Docs sidebar li>a. */ - -.docs-sidebar .nav>li>a { - display: block; - padding: .25rem 1.5rem; - font-size: 0.8rem; - color: rgba(0, 0, 0, .65); -} - -.docs-sidebar .nav>li>a:hover { - color: rgba(0, 0, 0, .85); - text-decoration: none; - background-color: transparent; -} - -.docs-sidebar .docs-toc-item.active a, -.docs-sidebar .nav>.active:hover>a, -.docs-sidebar .nav>.active>a { - font-weight: bold; - color: $sta-primary; - background-color: transparent; -} - -/* Docs links. */ - -.docs-toggle { - line-height: 1; - font-size: 1.2rem; - color: $sta-primary; - background-color: transparent; -} - -.docs-links { - padding-top: 1rem; - padding-bottom: 1rem; - margin-right: -15px; - margin-left: -15px; -} - -@media (min-width:768px) { - @supports ((position:-webkit-sticky) or (position:sticky)) { - .docs-links { - max-height: calc(100vh - 5rem - 70px); - overflow-y: auto; - } - } -} - -@media (min-width:768px) { - .docs-links { - display: block!important; - } -} - -/* Docs TOC. */ - -.docs-toc { - order: 2; - padding-top: 1.5rem; - padding-bottom: 1.5rem; - font-size: .875rem -} - -@supports ((position:-webkit-sticky) or (position:sticky)) { - .docs-toc { - position: -webkit-sticky; - position: sticky; - top: 70px; - height: calc(100vh - 70px); - overflow-y: auto - } -} - -/* Docs TOC item links. */ - -.docs-toc-link { - display: block; - padding: .25rem 1.5rem; - font-weight: bold; - color: rgba(0, 0, 0, .65); -} - -.docs-toc-link:hover { - color: rgba(0, 0, 0, .85); - text-decoration: none; -} - -.docs-toc-item.active { - margin-bottom: 1rem; -} - -.docs-toc-item.active:not(:first-child) { - margin-top: 1rem; -} - -.docs-toc-item.active>.docs-toc-link { - color: rgba(0, 0, 0, .85); -} - -.docs-toc-item.active>.docs-toc-link:hover { - background-color: transparent; -} - -.docs-sidenav { - display: block; -} - -/* Docs TOC nav. */ - -.docs-toc-title { - color: #b5b5b5; - font-size: .875rem; - font-weight: 600; - padding-left: calc(1.5rem + 1px); -} - -#TableOfContents { - padding-left: 0; - border-left: 1px solid #eee; -} - -#TableOfContents ul, -ul.toc-top { - padding-left: 0; -} - -// TOC indentation for each level. -#TableOfContents ul ul { - padding-left: 0.8rem; -} - -#TableOfContents li { - display: block; -} - -#TableOfContents li a, -.toc-top li a { - display: block; - padding: .125rem 1.5rem; - color: #99979c; - font-size: 0.7rem; -} - -#TableOfContents li a:hover, -.toc-top li a:hover { - color: $sta-primary; - text-decoration: none; -} - -/* ScrollSpy active link style. */ -#TableOfContents li a.active { - color: $sta-primary; - font-weight: 700; -} - -/* Docs achnorjs links. */ - -.anchorjs-link { - font-weight: 400; - color: $sta-primary-dark; - transition: color .16s linear; -} - -.anchorjs-link:hover { - color: $sta-primary; - text-decoration: none; -} diff --git a/nemo/assets/scss/academic/_integrations.scss b/nemo/assets/scss/academic/_integrations.scss deleted file mode 100644 index cf3831b01c1d0bb23306aa447e94d2f84920896b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_integrations.scss +++ /dev/null @@ -1,6 +0,0 @@ -/* Mermaid.js div */ -div.mermaid { - width: 100%; - text-align: center; - margin-bottom: 1rem; -} diff --git a/nemo/assets/scss/academic/_listings.scss b/nemo/assets/scss/academic/_listings.scss deleted file mode 100644 index c1b80891ea52fedb5ced086b4f99d455b1c94d41..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_listings.scss +++ /dev/null @@ -1,60 +0,0 @@ -/************************************************* - * List items - **************************************************/ - -.view-list-item { - margin-bottom: 1rem; -} - -.pub-icon { - color: rgba(0, 0, 0, 0.54); - font-size: 0.81em; - padding-right: 6px; -} - -.view-list-item .article-metadata { - margin-bottom: 0; -} - -.pub-list-item .pub-abstract { - font-size: 1rem; -} - -.pub-list-item .btn-links { - padding-top: 10px; -} - -/************************************************* - * Compact (stream) list view - **************************************************/ - -.media.stream-item { - margin-bottom: 2rem; -} - -.media.stream-item .article-title, -.card-simple .article-title { - font-size: 1.2rem; -} - -.media.stream-item .article-style, -.card-simple .article-style { - margin-top: 2px; - font-size: 0.8rem; -} - -.media.stream-item .stream-meta { - margin-top: 12px; -} - -.media.stream-item img { - max-width: 150px; - height: auto; - object-fit: cover; -} - -@media screen and (max-width: 768px) { - .media.stream-item img { - max-width: 80px; - } -} diff --git a/nemo/assets/scss/academic/_nav.scss b/nemo/assets/scss/academic/_nav.scss deleted file mode 100644 index 525429936f564ad4b32fb276058eaef9e517fdf3..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_nav.scss +++ /dev/null @@ -1,202 +0,0 @@ -/************************************************* - * Navigation bar - **************************************************/ - -.navbar { - height: 70px; - background: $sta-menu-primary; - box-shadow: 0 0.125rem 0.25rem 0 rgba(0,0,0,.11); - font-size: #{$sta-font-size-small}px; - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; - - // Remove Bootstrap's navbar v-padding and assign v-padding to logo separately to maximise logo size. - // Otherwise, Bootstrap's navbar v-padding causes issue with logo fitting within fixed 50px height bar in md-lg sizes. - padding: 0 1rem; - - .nav-item { - // For z-index compatibility with logo on mobile layout, otherwise nav-item can't be clicked when logo present. - position: relative; - } - @include media-breakpoint-down(md) { - height: 50px; - - .navbar-nav-scroll { - width: 100%; - overflow: hidden; - - .navbar-nav { - overflow-x: auto; - white-space: nowrap; - -webkit-overflow-scrolling: touch; - } - } - } - - .navbar-nav { - display: flex; - - .nav-link { - color: rgba($sta-menu-text, .85); - - &.active, - &:hover, - &:focus { - color: $sta-menu-text; - } - - &.active { - font-weight: bold !important; - color: $sta-menu-text-active !important; - } - } - } - - .dropdown-menu { - font-size: #{$sta-font-size-small}px; - } - - // Note: dedicated `i18n-active` class to prevent ScrollSpy removing `active` class from language chooser. - .dropdown-item.active, - .i18n-active { - font-weight: bold; - color: $sta-menu-text-active !important; - } - -} - -.dark .navbar { - box-shadow: 0 0.125rem 0.25rem 0 rgba(255, 255, 255, .11); -} - -// Remove Bootstrap's border from Toggle button. -.navbar-toggler { - border: 0 !important; - position: relative; // For z-index clickable mobile logo. - z-index: 1030; -} -.navbar-toggler:focus, -.navbar-toggler:active { - outline: none !important; - box-shadow: none !important; -} - -@include media-breakpoint-down(md) { /* Match breakpoint for i18n dropdown in navbar.html. */ - .i18n-dropdown .nav-link::after { - content: none; - } - .i18n-dropdown .dropdown-menu { - /* Use style from uncollapsable dropdowns to prevent dropdown going off page. */ - position: absolute; - /* Below style from .dropdown-menu-right to prevent dropdown going off page. */ - right: 0; - left: auto; - } -} - -// Allow user to horizontally scroll. -// Commented out this feature as it causes dropdowns to appear within the menu bar. -// TODO: re-enable in a way that doesn't break dropdowns. -/* -.navbar .collapse { - overflow-x: auto; -} -*/ - -.navbar-brand { - // Set v-padding to 5px to align with 50/70px responsive max navbar heights. - padding-top: 5px; - padding-bottom: 5px; - font-weight: bold; - position: relative; - z-index: 1030; // For z-index clickable mobile logo. -} - -// Dynamically fit logo image to space available. -// No need to explicitly set a size for each breakpoint. -// See https://caniuse.com/#feat=mdn-css_properties_width_stretch . -.navbar-brand img { - width: auto; - height: -moz-available; - height: -webkit-fill-available; - height: -webkit-stretch; - height: stretch; - max-height: 60px; // For lg+ responsive sizing. 60px height +10px v-padding = 70px - max-width: fit-content; // Must override default responsive image style. -} - -#navbar-main .main-menu-item ul li .nav-link { - color: $sta-menu-text; -} - -@include media-breakpoint-down(md) { - // Used in conjunction with mobile .navbar-brand to center logo on mobile. - .navbar-brand-mobile-wrapper { - position: absolute; - left: 0; - right: 0; - } - .navbar-brand { - // Center logo in mobile navbar. - margin: 0 auto; - } - .navbar-brand img { - max-height: 40px; // 40px height + 10px v-padding = 50px. - } - .navbar-toggler { - border-color: transparent; // Remove Bootstrap's border from Toggle button. - } - #navbar-main .main-menu-item { - text-align: left !important; - padding-left: 0; - } - .navbar-collapse { - z-index: 1031 !important; // Appear just over navbar. - position: absolute; - left: 0; - top: 50px; - width: 100%; - background-color: $sta-menu-primary; - text-align: center !important; - } - #navbar-main .main-menu-item .nav-item { - padding: 10px 15px !important; - } - #navbar-main .main-menu-item .nav-item .nav-link { - padding: 5px 15px !important; - } -} - -ul.nav-icons { - list-style-type: none; - font-size: 18px; - padding: 0.5rem 0 0.5rem 0; - margin: 0; -} - -ul.nav-icons li { - display: inline; - padding-right: 1rem; -} - -ul.nav-icons li:last-of-type { - padding-right: 0; -} - -ul.nav-icons li.nav-item a.nav-link { - padding: 0; -} - -.dropdown-menu { - background-color: $sta-menu-primary !important; - color: $sta-menu-text !important; - z-index: 1032; // I18n dropdown over mobile expanded menu. -} - -.dropdown-item { - background-color: $sta-menu-primary !important; - color: $sta-menu-text !important; -} diff --git a/nemo/assets/scss/academic/_root.scss b/nemo/assets/scss/academic/_root.scss deleted file mode 100644 index 362fe14149a75d7849a923063c95dbdbc5314771..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_root.scss +++ /dev/null @@ -1,602 +0,0 @@ -/************************************************* - * Academic's Core - **************************************************/ - -html { - font-family: $sta-font-body, sans-serif; - font-size: #{$sta-font-size-small}px; - color: rgba(0,0,0,0.8); - line-height: 1.65; -} -@media screen and (min-width: 58em) { - html { - font-size: #{$sta-font-size}px; - } -} - -body { - font-family: inherit; - font-size: 1rem; - line-height: inherit; - color: inherit; - background-color: $sta-background; - margin-top: 70px; /* Offset body content by navbar height. */ - padding-top: 0; - counter-reset: captions; -} -@media screen and (max-width: 1200px) { /* Match max-width of .nav-bar query. */ - body { - margin-top: 50px; /* Offset body content by navbar height. */ - } -} - -.max-width-640 { - max-width: 640px; -} - -.margin-auto { - margin-left: auto; - margin-right: auto; -} - -.center-text { - text-align: center; -} - -/* Body text */ -p { - margin-top: 0; - margin-bottom: 1rem; -} - -/* Lists */ -ul, ol, dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ul.task-list { - list-style: none; -} - -ul.task-list li input[type="checkbox"] { - margin-right: 0.5rem; -} - -/* Navigation bar text */ -.navbar-light { - font-family: $sta-font-nav, sans-serif; - font-weight: 400; - line-height: 1.25; - text-rendering: optimizeLegibility; -} - -/* Headings */ -h1, h2, h3, h4, h5, h6 { - font-family: $sta-font-heading, sans-serif; - font-weight: 400; - margin-top: 1rem; - margin-bottom: .5rem; - line-height: 1.25; - color: #313131; - text-rendering: optimizeLegibility; - - /* Ensure long words do not overflow into content. */ - overflow-wrap: break-word; - word-wrap: break-word; - word-break: break-word; - - /* Add a hyphen where the word breaks (use `­` to insert a soft-hyphen in a word). */ - -webkit-hyphens: manual; - -ms-hyphens: manual; - hyphens: manual; -} -h1 { - font-size: 2.25rem; -} -h2 { - margin-top: 1rem; - font-size: 1.5rem; -} -h3 { - font-weight: 700; - margin-top: 1.5rem; - font-size: 1.25rem; -} -h4, h5, h6 { - font-weight: 700; - margin-top: 1rem; - font-size: 1rem; -} - -a, -h3.article-title a:hover { - color: $sta-link; - text-decoration: none; - transition: color 0.6s ease; -} - -a:hover, -a:focus { - color: $sta-link-hover; -} - -img, -video { - height: auto; - max-width: 100%; - display: block; -} - -video { - width: 100%; - height: auto; - max-height: 400px; -} - -.img-responsive { - /* Extend Bootstrap declaration with centering. */ - margin: 0 auto; -} - -// Center all figure images by default. -figure img { - @extend .margin-auto; -} - -// Center all figure captions by default. -figcaption { - display: block; - margin-top: 0.75em; - margin-bottom: 1.65rem; - line-height: 1.4; - font-size: 0.76rem; - text-align: center; -} - -figcaption.numbered:before { - font-weight: 700; - text-transform: uppercase; - content: attr(data-pre) counter(captions) attr(data-post); -} - -figcaption.numbered { - counter-increment: captions; -} - -pre, -code { - font-family: $sta-font-mono, monospace; - color: #c7254e; - background-color: #f9f2f4; -} - -pre { - margin: 0 0 1rem 0; - background-color: rgb(248, 248, 248); /* Match default highlight theme. */ - border-color: rgb(248, 248, 248); - font-size: 0.7rem; - border-radius: 4px; -} - -pre code { - white-space: pre; /* Override Bootstrap to preserve line breaks in code. */ - overflow-x: auto; -} - -hr { - border: 0; - height: 1px; - background: #333; - background-image: linear-gradient(to right, #ccc, #333, #ccc); -} - -/* Quotes */ -blockquote { - padding: .5rem 1rem; - margin: .8rem 0; - color: #7a7a7a; - border-left: .25rem solid #e5e5e5; -} -blockquote p:last-child { - margin-bottom: 0; -} -@media (min-width: 30em) { - blockquote { - padding-right: 5rem; - padding-left: 1.25rem; - } -} - -.markup-quote { - background-color: transparent; - background-image: linear-gradient(to bottom, rgba(233, 231, 245, 1), rgba(233, 231, 245, 1)); -} - -.space-below { - margin-bottom: 50px; -} -@media screen and (max-width: 768px) { - .space-below { - margin-bottom: 10px; - } -} - -.universal-wrapper { - margin: 0 auto; - padding-right: 1rem; - padding-left: 1rem; - padding-top: 0.1rem; - width: 100%; -} - -@media only screen and (min-width: 1001px) { - .universal-wrapper { - width: 1000px; - } -} - -small, -.small { - font-size: .75em; -} - -.responsive-wrap iframe { - max-width: 100%; -} - -/************************************************* - * Modals. - **************************************************/ - -.modal-content { - background: $sta-background; -} - -.modal-title { - margin: 0; /* Override default h5 margin. */ -} - -.modal-content pre { - margin: 0; -} - -.modal-header { - border: 0; - color: rgba(0,0,0,0.8); -} - -.modal-footer { - border: 0; -} - -#modal-error { - color: red; -} - -/************************************************* - * Gallery. - **************************************************/ - -.gallery { - margin: 0.5em -4px 1.5em -4px; - font-size: 0; -} - -a[data-fancybox] { - text-decoration: none; - cursor: zoom-in; -} - -.gallery a[data-fancybox] img { - height: 250px; - width: auto; - max-width: inherit; - display: inherit; - margin: 0; - padding: 4px; - box-shadow: none; - vertical-align: inherit; -} - -.fancybox-caption { - font-size: 1rem; - line-height: 1.5rem; - text-align: center; -} - -/************************************************* - * Pager. - **************************************************/ - -.post-nav { - margin-top: 1rem; - font-size: 0.8rem; -} - -.post-nav-item { - hyphens: auto; - word-wrap: break-word; - padding: 11px 0 12px; - width: 100%; -} - -.post-nav-item a { - color: #2b2b2b; - line-height: 1.7; - text-transform: none; -} - -.post-nav-item .meta-nav { - color: #767676; - font-weight: 900; - line-height: 2; - text-transform: uppercase; -} - -.dark .post-nav-item a { - color: #ddd; -} - -/************************************************* - * Footer - **************************************************/ - -footer { - margin: 4rem 0 0; - padding: 2rem 0; - width: 100%; -} - -footer p { - font-size: 0.75rem; - text-align: center; -} - -site-footer, -footer a.back-to-top i { - color: rgba(0,0,0,0.54); -} - -.dark site-footer, -.dark footer a#back_to_top i, -.dark .docs .body-footer { - color: rgba(255,255,255,0.54); -} - -/************************************************** - * Tags/Labels - **************************************************/ - -.badge-light { - border: none; - color: rgba(0,0,0,.68); - background: rgba(0,0,0,.05); - font-weight: normal; - border-radius: 3px; - padding: 5px 10px; - margin-right: 8px; - margin-bottom: 8px; -} - -.article-tags > .badge-light:last-child { - margin-right: 0; -} - -.badge-light[href]:focus, -.badge-light[href]:hover { - background: rgba(0,0,0,.1); -} - -a.badge:focus, -a.badge:hover { - color: rgba(0,0,0,.68); -} - -.tag-cloud a { - display: inline-block; - position: relative; - margin: 5px 10px; - word-wrap: break-word; - transition-duration: .2s; - transition-property: transform; - transition-timing-function: ease-out; -} - -.tag-cloud a:active, -.tag-cloud a:focus, -.tag-cloud a:hover { - color: $sta-primary-dark; - transform: scale(1.2); -} - -.dark .tag-cloud a:active, -.dark .tag-cloud a:focus, -.dark .tag-cloud a:hover { - color: $sta-primary-light; -} - -/************************************************* - * Button size override - *************************************************/ - -.btn { - padding: .5rem; - font-size: .8rem; - line-height: .5; - border-radius: .3rem; -} - -.btn-links .btn { - padding: 5px .5rem 5px .5rem; - line-height: 1; -} - -.btn.btn-sm { - padding: 5px .4rem 5px .4rem; - font-size: .6rem; - border-radius: .2rem; -} - -/************************************************* - * Toolbar Buttons - **************************************************/ - -.btn-toolbar .btn { - font-size: 0.9rem; - padding: 10px 14px 9px; - border: none; -} - -.btn-toolbar .btn:first-child { - border-radius: 6px 0 0 6px; -} - -.btn-toolbar .btn:last-child { - border-radius: 0 6px 6px 0; -} - -.btn-toolbar .btn.btn-primary:hover, -.btn-toolbar .btn.btn-primary:focus { - background-color: $sta-primary-light !important; -} - -.btn-toolbar .btn.btn-primary:active, -.btn-toolbar .btn.btn-primary.active { - background-color: $sta-primary-dark !important; -} - -.btn-primary:not(:disabled):not(.disabled).active:focus, -.btn-primary:not(:disabled):not(.disabled):active:focus, -.show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem $sta-primary-light; -} - -/************************************************* - * Tables - **************************************************/ - -/* Based on Bootstrap's `table-responsive` style. */ -table { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - margin-bottom: 1rem; - font-size: 0.8rem; -} - -table > thead > tr > th, -table > tbody > tr > th, -table > tfoot > tr > th, -table > thead > tr > td, -table > tbody > tr > td, -table > tfoot > tr > td { - padding: 8px; - line-height: 1.43; - vertical-align: top; - border-top: 1px solid #ddd; -} - -table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd; -} - -table > caption + thead > tr:first-child > th, -table > colgroup + thead > tr:first-child > th, -table > thead:first-child > tr:first-child > th, -table > caption + thead > tr:first-child > td, -table > colgroup + thead > tr:first-child > td, -table > thead:first-child > tr:first-child > td { - border-top: 0; -} - -table > tbody + tbody { - border-top: 2px solid #ddd; -} - -table table { - background-color: #fff; -} - -/* Table Striped */ -table > tbody > tr:nth-child(odd) > td, -table > tbody > tr:nth-child(odd) > th { - background-color: #f9f9f9; -} - -/* Table Hover */ -table > tbody > tr:hover > td, -table > tbody > tr:hover > th { - background-color: #e5e5e5; -} - -/************************************************* - * Article Alerts (Shortcode) and Asides (Mmark) - **************************************************/ - -/* Style asides as Bootstrap alerts. */ -.article-style aside { - @extend .alert; -} - -/* Asides use <p> block element whereas alerts use <div>. */ -.article-style aside p, -div.alert > div { - position: relative; - display: block; - font-size: 1rem; - margin-left: 2rem; - margin-top: 0; - margin-bottom: 0; -} - -div.alert div > * { - margin-bottom: .5rem; /* Use smaller paragraph spacing than usual. */ -} - -div.alert div > :last-child { - margin-bottom: 0; -} - -.article-style aside p::before, -div.alert > div:first-child::before { - position: absolute; - top: -0.5rem; - left: -2rem; - font-size: 1.5rem; - color: #209cee; - font-family: 'Font Awesome 5 Free'; - font-weight: 900; - content: '\f05a'; - width: 1.5rem; - text-align: center; -} - -div.alert-warning > div:first-child::before { - font-family: 'Font Awesome 5 Free'; - font-weight: 900; - color: #ff3860; - content: '\f071'; -} - -.article-style aside a, -div.alert a { - color: currentColor; - text-decoration: none; - border-bottom: solid 1px currentColor; -} - -.article-style aside, -.alert-note { - color: #12537e; - background-color: #f6fbfe; - border-color: #209cee; -} - -.alert-warning { - color: #cd0930; - background-color: #fff5f7; - border-color: #ff3860; -} diff --git a/nemo/assets/scss/academic/_search.scss b/nemo/assets/scss/academic/_search.scss deleted file mode 100644 index 92e7074f541f468a6cf472d9b1b915178a8e5316..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_search.scss +++ /dev/null @@ -1,137 +0,0 @@ -/************************************************* - * Search - **************************************************/ - -.search-results { - transform: scale(0); - -webkit-transform: scale(0); - background-color: $sta-background; - bottom: 0; - left: 0; - right: 0; - top: 0; - overflow: scroll; - position: fixed; - visibility: hidden; - z-index: -99; -} - -.dark .search-results { - background-color: $sta-dark-background; -} - -.searching { - overflow: hidden; -} - -.searching .search-results { - transform: scale(1); - -webkit-transform: scale(1); - visibility: visible; - z-index: 1031; /* Highest index, higher than navbar. */ -} - -.searching #search-box #search-query { - width: 100%; -} - -.search-results > .container { - padding-top: 70px; /* Navbar height. */ -} -@media screen and (max-width: 1200px) { - .search-results > .container { - padding-top: 50px; /* Navbar height. */ - } -} - -.search-header { - position: -webkit-sticky; - position: sticky; - top: 0; - background-color: $sta-background; - padding-top: 2rem; - padding-bottom: 1rem; -} - -.dark .search-header { - background-color: $sta-dark-background; -} - -.search-header h1 { - margin: 0; - line-height: 1; -} - -.col-search-close { - text-align: right; -} - -.search-header i { - font-size: 2rem; - line-height: 1; -} - -#search-box { - position: relative; /* Required for search icon positioning. */ - margin-bottom: 0.5rem; -} - -#search-box::before { - font-family: 'Font Awesome 5 Free'; - font-weight: 900; - content: "\f002"; - font-size: 1rem; - opacity: 0.25; - line-height: 1rem; - position: absolute; - left: 0.7rem; - top: 0.6rem; - overflow-x: hidden; -} - -#search-box #search-query { - border: 1px solid #dedede; - border-radius: 1rem; - padding: 1rem 1rem 1rem 2rem; /* Wider left padding for search icon to fit in. */ - width: 250px; - line-height: 1rem; - height: 1rem; - font-size: 0.8rem; -} - -.search-hit em { - font-style: normal; - background-color: #FFE0B2; - color: #E65100; - border-bottom: 1px solid #E65100; -} - -.search-hit-type { - margin-bottom: 0 !important; /* Override .article-metadata margin. */ - text-transform: capitalize; -} - -.search-hit-description { - font-size: 0.7rem; -} - -/* Load more results button - hide when there are no more results. */ -#search-hits button[disabled] { - display: none; -} - -.form-control:focus { - border-color: $sta-primary; - box-shadow: 0 0 0 .2rem $sta-primary-light; -} - -/* DARK themed components. */ - -/* Algolia search input */ -.dark .ais-search-box--input { - background-color: $sta-dark-background;; -} - -.dark #search-query { - background-color: $sta-dark-background;; -} diff --git a/nemo/assets/scss/academic/_widgets.scss b/nemo/assets/scss/academic/_widgets.scss deleted file mode 100644 index 6cd1b5f9ffa268538f8bd339c66858cd866577b0..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/_widgets.scss +++ /dev/null @@ -1,574 +0,0 @@ -/************************************************* - * Page Builder: sections and widgets - **************************************************/ - -@keyframes intro { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} - -.home-section { - background-color: $sta-home-section-odd; - padding: 110px 0 110px 0; - animation: intro 0.3s both; - animation-delay: 0.15s; -} - -/* Override dark colors that may be inherited from body.dark */ -.home-section.dark, -.home-section.dark h1, -.home-section.dark h2, -.home-section.dark h3, -.home-section.dark a:not(.btn) { - color: rgb(248, 248, 242); -} - -/* Underline links in dark sections to separate them from text */ -.home-section.dark a:not(.btn):not(.hero-cta-alt) { - text-decoration: underline; -} - -/* Revert Alert Box Link style (.home-section.dark style above should not be applied to it) */ -.home-section.dark .alert a { - color: inherit !important; - text-decoration: inherit !important; -} - -/* Big underline style for links in dark sections */ -/* Disabled as it's an experimental style that requires CSS NOT Selector Level 4 (only in Safari) */ -/* -.home-section.dark.big-underline a:not(.btn):not(.hero-cta-alt):not(.alert a) { - text-decoration: none; - position: relative; -} -.home-section.dark.big-underline a:not(.btn):not(.hero-cta-alt):not(.alert a):after { - background: #fff; - content: ""; - height: 2px; - left: 0; - right: 0; - position: absolute; - top: 100%; -}*/ - -/* Default background image properties for home sections. */ -.home-section.bg-image { - background-position: center; - background-repeat: no-repeat; - background-size: cover; -} - -/* Create a parallax-like scrolling effect. */ -.parallax { - height: 100%; - background-attachment: fixed; -} - -.home-section:first-of-type { - padding-top: 50px; -} - -.home-section:nth-of-type(even) { - background-color: $sta-home-section-even; -} - -.dark .home-section { - background-color: $sta-dark-home-section-odd; -} - -.dark .home-section:nth-of-type(even) { - background-color: $sta-dark-home-section-even; -} - -@media screen and (max-width: 768px) { - .home-section { - padding: 60px 0 60px 0; - } - .home-section:first-of-type { - padding-top: 40px; - } -} - -.section-heading h1 { - margin: 0 0 10px 0; -} - -.section-heading p { - font-weight: 400; - font-size: 1.1rem; - color: #b2b2b2; -} - -/************************************************* - * Widgets (common) - **************************************************/ - -.see-all { - margin-top: 2rem; - text-transform: uppercase; -} - -/* Reset code highlighting style in Alerts when Alert is child of a `.dark` widget, but Alert should be light.` */ -/* But will this affect page which should have dark Alert? */ -.dark .alert pre, -.dark .alert code { - color: initial; - background-color: initial; -} - -/************************************************* - * Hero Widget - **************************************************/ - -.wg-hero { - padding: 3em 0; - clear: both; - background-size: cover; - background-repeat: no-repeat; - background-position: center; - animation: intro 0.3s both; - animation-delay: 0s; - animation-delay: 0.25s; -} - -.hero-title { - font-size: 2.7rem; - margin-top: 0; - line-height: 1; -} - -.hero-lead { - max-width: 768px; - font-size: 1.35rem; -} - -.wg-hero.dark .hero-title, -.wg-hero.dark .hero-lead, -.wg-hero.dark .hero-cta-alt, -.wg-hero.dark .hero-note > * { - color: #fff; - /*text-shadow: 1px 1px 4px rgba(0,0,0,0.5);*/ /* Uncomment to standout on complicated backgrounds. */ -} - -.wg-hero.dark a:not(.wg-hero .btn) { - color: #fff; -} - -.wg-hero .hero-lead a { - text-decoration: underline; -} - -.wg-hero .cta-btns { - margin-bottom: 16px; -} - -.wg-hero .btn { - padding: .6em 2.1em; -} - -.wg-hero.dark .btn { - color: $sta-primary-dark; -} - -a.hero-cta-alt { - display: inline-block; - position: relative; - transition-duration: .2s; - transition-property: transform; - transition-timing-function: ease-out; - font-size: 1.1rem; -} - -a.hero-cta-alt:active, -a.hero-cta-alt:focus, -a.hero-cta-alt:hover { - transform: scale(1.1); -} - -.wg-hero .btn-lg { - font-size: 1.1rem; -} - -.wg-hero .hero-note { - font-size: 0.8rem; -} - -.hero-media { - display: flex; - align-items: center; - justify-content: center; - height: 100%; - text-align: center; -} - -/************************************************* - * Slider Widget - **************************************************/ - -/* Clear `.home-section` as padding and animation interferes with Slider's layout and animations. */ -.home-section.wg-slider { - padding: 0; - animation: none; - animation-delay: unset; -} - -/* The Slider widget reuses the Hero widget's `.wg-hero` class. - * We must remove the `animation` and `clear` in this instance or - * multiple slides can be `.active` at once. */ -.carousel-inner .wg-hero { - animation: none; - clear: none; -} - -/************************************************* - * Featurette Widget - **************************************************/ - -.featurette { - font-size: 0.8rem; - line-height: 1.5; - color: #555; - text-align: center; -} - -.featurette h3 { - margin-top: 0; - margin-bottom: 5px; - font-weight: 400; - color: #333; -} - -.dark .featurette, -.dark .featurette h3 { - color: #fff; -} - -.featurette-icon { - display: block; - width: 100%; - color: $sta-primary; - font-size: 3rem; - text-align: center; -} - -/************************************************* - * About widget - **************************************************/ - -#profile { - text-align: center; - padding: 30px 10px; - position: relative; -} - -.avatar { - width: 270px; - height: 270px; - margin: 0 auto; - object-fit: cover; -} - -// Use smaller avatar size in About widget on small devices. -@include media-breakpoint-down(sm) { - .wg-about .avatar { - width: 200px; - height: 200px; - } -} - -.avatar-circle { - border-radius: 50%; -} - -.avatar-square { - border-radius: 3px; -} - -.portrait-title h2 { - font-size: 1.75em; - font-weight: 300; - color: #000000; - margin: 20px 0 10px 0; -} - -.portrait-title h3 { - font-size: 1rem; - font-weight: 300; - color: rgba(0,0,0, 0.54); - margin: 0px 0 10px 0; -} - -ul.network-icon { - display: inline-flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: center; - list-style: none; - padding: 0; - margin: 0; -} - -#profile .network-icon { - margin-top: 30px; -} - -.network-icon li { - margin-right: 10px; -} - -.network-icon li:last-of-type { - margin-right: 0; -} - -.network-icon li:hover { - transform: scale(1.2) -} - -.big-icon { - font-size: 2rem; -} - -ul.ul-interests li { - font-size: 0.9rem; -} - -ul.ul-edu { - list-style: none; -} - -ul.ul-edu li { - position: relative; - padding: 0px 15px 4px 3px; -} - -ul.ul-edu li .description p { - margin: 0; -} - -ul.ul-edu li .description p.course { - font-size: 0.9rem; -} - -ul.ul-edu li .description p.institution { - font-size: 0.75rem; - color: rgba(0,0,0,0.6); -} - -/************************************************* - * Experience - **************************************************/ - -.exp-title { - text-transform: none !important; -} - -.exp-company { - font-weight: normal !important; - text-transform: none !important; -} - -.exp-meta { - font-size: 0.8rem; -} - -.experience .card-text, -.experience .card-text p { - color: #000 !important; - font-size: 0.75rem !important; -} - -.dark .experience .text-muted { - color: rgba(255, 255, 255, 0.8) !important; -} - -.dark .experience .card-text, -.dark .experience .card-text p { - color: rgb(248, 248, 242) !important; -} - -.card .card-text ul { - margin-top: -1rem; - margin-bottom: 0rem; -} - -.experience .m-2 .border, -.experience .col.border-right { - border-color: $sta-primary !important; -} - -.experience .m-2 .border.exp-fill { - background-color: $sta-primary !important; -} - -/************************************************* - * Talks - **************************************************/ - -.talk-metadata { - color: #4b4f56; - font-size: 0.8rem; -} - -/************************************************* - * Projects - **************************************************/ - -.project-widget-simple li { - margin-bottom: 1rem; -} - -.project-widget-simple li:last-of-type { - margin-bottom: 0; -} - -.project-widget-simple .project-title { - margin-bottom: 6px; -} - -.project-widget-simple .project-summary { - font-size: 0.9rem; - margin-bottom: 0.4rem; -} - -.projects-container { - display: block; - position: relative; - /*margin-top: 5rem;*/ - overflow: hidden; -} - -.project-toolbar{ - margin-bottom: 2rem; -} - -.project-card { - position: relative; - width: calc(33.3% - 2*20px); /* Fluid 3 columns (inc. 20px gutter) */ -} -@media screen and (max-width: 1199px) { - .project-card { - width: calc(50% - 20px); /* Fluid 2 columns (inc. 20px gutter) */ - } -} -@media screen and (max-width: 768px) { - .project-card { - width: 100%; /* 1 column */ - } -} - -.project-item { - margin-bottom: 1.5rem; -} - -.project-card.project-item { - margin: 0 0 20px 0; /* Set to Isotope's gutter size */ -} - -.project-card .card { - margin: 0; /* Remove default card margin and use Isotope gutter */ -} - -.project-showcase .project-item { - margin-bottom: 3rem; -} - -.project-item:last-of-type { - margin-bottom: 0; -} - -.isotope-item { - z-index: 2; -} - -.isotope-item:hover{ - z-index: 3; -} - -/************************************************* - * Accomplishments - **************************************************/ - -.card.course { - margin-bottom: 1rem; /* More compact spacing than Experience widget as typically more items here. */ -} - -.card.course:last-of-type { - margin-bottom: 0; -} - -.course .card-subtitle a { - border-bottom: solid 1px transparent; -} - -.course .card-subtitle a:hover { - border-bottom: solid 1px; - text-decoration: none; -} - -/************************************************* - * People widget - **************************************************/ - -.people-widget { - font-size: 0.8rem; - text-align: center; -} - -.people-widget .portrait-title h2 { - font-size: 1rem; -} - -.people-widget .portrait-title h3 { - font-size: 0.7rem; -} - -.people-widget .avatar { - width: 80%; - max-width: 150px; - height: auto; -} - -@media (min-width: 576px) { - .people-widget .col-sm-auto { - width: 30%; - } -} -@media (min-width: 992px) { - .people-widget .col-sm-auto { - width: 20%; - } -} - -/************************************************* - * Contact - **************************************************/ - -.contact-widget .fa-ul { - margin-left: 3.14285714rem; /* Must be > `fa-2x` icon size. */ -} - -.contact-widget .fa-li { - position: absolute; - left: -3.14285714rem; /* Negative of `.contact-widget .fa-ul` margin. */ - width: 2rem; /* Match `fa-2x` icon size. */ - top: 0.14285714em; /* Default FA value. */ - text-align: center; -} - -.contact-widget li { - padding-top: 0.8rem; /* Align text with bottom of `fa-2x` icon. */ - margin-bottom: 0.3rem; -} - -.contact-widget li:last-of-type { - margin-bottom: 0; -} - -#map { - height: 350px; - width: 100%; -} diff --git a/nemo/assets/scss/academic/academic.scss b/nemo/assets/scss/academic/academic.scss deleted file mode 100644 index 1147b1d1f59c93295e6deeb37c546cf8f511d8fd..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/academic/academic.scss +++ /dev/null @@ -1,17 +0,0 @@ -/************************************************* - * Academic: The Website Builder for Hugo - * Designed by @GeorgeCushen - * https://sourcethemes.com/academic/ - * License: https://github.com/gcushen/hugo-academic/blob/master/LICENSE.md - **************************************************/ - -@import "root"; -@import "nav"; -@import "card"; -@import "search"; -@import "content"; -@import "listings"; -@import "widgets"; -@import "docs"; -@import "dark"; -@import "integrations"; diff --git a/nemo/assets/scss/bootstrap_variables.scss b/nemo/assets/scss/bootstrap_variables.scss deleted file mode 100644 index d058cc8e19d0e4972bcd61e656eaed4965d748fc..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/bootstrap_variables.scss +++ /dev/null @@ -1,23 +0,0 @@ -/* Set Bootstrap variables */ - -// Set colors. -$primary: $sta-primary; -$text-muted: rgba(0,0,0,0.54); - -// Container widths - override XL default of `1140px`. -$container-max-widths: ( - sm: 540px, - md: 720px, - lg: 960px, - xl: 1200px -); - -$navbar-toggler-padding-x: 0; -$navbar-toggler-font-size: 18px; -$navbar-brand-font-size: 1.2rem; - -$navbar-light-color: $sta-menu-text; -$navbar-light-active-color: $sta-menu-text-active; -$navbar-light-brand-color: $sta-menu-title; -$navbar-light-brand-hover-color: $navbar-light-active-color; -$navbar-light-toggler-border-color: transparent; diff --git a/nemo/assets/scss/custom.scss b/nemo/assets/scss/custom.scss deleted file mode 100644 index 0905aca8debd38ca915acc305ce61e06f019479a..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/custom.scss +++ /dev/null @@ -1 +0,0 @@ -// Override this file to add your own SCSS styling. diff --git a/nemo/assets/scss/main.scss b/nemo/assets/scss/main.scss deleted file mode 100644 index 404b34648531dc260a481432336b6417c85b7ea1..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/main.scss +++ /dev/null @@ -1,41 +0,0 @@ -{{- $scr := .Scratch -}} -{{- $site := $scr.Get "site" -}} -{{/* Don't use partialCached as can error when admin changes theme config whilst `hugo server` is running. */}} -{{- partial "functions/parse_theme" . -}} - -$sta-darken-percentage: 10%; -$sta-lighten-percentage: 10%; - -$sta-font-size: {{ $scr.Get "font_size" }}; -$sta-font-size-small: {{ $scr.Get "font_size_small" }}; - -$sta-font-body: {{ $scr.Get "body_font" }}; -$sta-font-heading: {{ $scr.Get "heading_font" }}; -$sta-font-nav: {{ $scr.Get "nav_font" }}; -$sta-font-mono: {{ $scr.Get "mono_font" }}; - -$sta-primary: {{ $scr.Get "primary" }}; -$sta-primary-light: lighten($sta-primary, $sta-lighten-percentage); -$sta-primary-dark: darken($sta-primary, $sta-darken-percentage); - -$sta-link: {{ $scr.Get "link" }}; -$sta-link-hover: {{ $scr.Get "link_hover" }}; - -$sta-menu-primary: {{ $scr.Get "menu_primary" }}; -$sta-menu-text: {{ $scr.Get "menu_text" }}; -$sta-menu-text-active: {{ $scr.Get "menu_text_active" }}; -$sta-menu-title: {{ $scr.Get "menu_title" }}; - -$sta-background: {{ $scr.Get "background" }}; -$sta-dark-background: {{ $scr.Get "dark_background" }}; - -$sta-home-section-odd: {{ $scr.Get "home_section_odd" }}; -$sta-home-section-even: {{ $scr.Get "home_section_even" }}; - -$sta-dark-home-section-odd: {{ $scr.Get "dark_home_section_odd" }}; -$sta-dark-home-section-even: {{ $scr.Get "dark_home_section_even" }}; - -@import "bootstrap_variables"; -@import "vendor/bootstrap/bootstrap"; -@import "academic/academic"; -@import "custom"; diff --git a/nemo/assets/scss/vendor/bootstrap/_alert.scss b/nemo/assets/scss/vendor/bootstrap/_alert.scss deleted file mode 100644 index da2a98af94e82f0a26b2a1f26e7b05afe07d3608..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_alert.scss +++ /dev/null @@ -1,51 +0,0 @@ -// -// Base styles -// - -.alert { - position: relative; - padding: $alert-padding-y $alert-padding-x; - margin-bottom: $alert-margin-bottom; - border: $alert-border-width solid transparent; - @include border-radius($alert-border-radius); -} - -// Headings for larger alerts -.alert-heading { - // Specified to prevent conflicts of changing $headings-color - color: inherit; -} - -// Provide class for links that match alerts -.alert-link { - font-weight: $alert-link-font-weight; -} - - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -.alert-dismissible { - padding-right: $close-font-size + $alert-padding-x * 2; - - // Adjust close link position - .close { - position: absolute; - top: 0; - right: 0; - padding: $alert-padding-y $alert-padding-x; - color: inherit; - } -} - - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -@each $color, $value in $theme-colors { - .alert-#{$color} { - @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_badge.scss b/nemo/assets/scss/vendor/bootstrap/_badge.scss deleted file mode 100644 index 42c5d08d7487c36ebbd1989020d9396f3f4880f0..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_badge.scss +++ /dev/null @@ -1,54 +0,0 @@ -// Base class -// -// Requires one of the contextual, color modifier classes for `color` and -// `background-color`. - -.badge { - display: inline-block; - padding: $badge-padding-y $badge-padding-x; - @include font-size($badge-font-size); - font-weight: $badge-font-weight; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - @include border-radius($badge-border-radius); - @include transition($badge-transition); - - @at-root a#{&} { - @include hover-focus() { - text-decoration: none; - } - } - - // Empty badges collapse automatically - &:empty { - display: none; - } -} - -// Quick fix for badges in buttons -.btn .badge { - position: relative; - top: -1px; -} - -// Pill badges -// -// Make them extra rounded with a modifier to replace v3's badges. - -.badge-pill { - padding-right: $badge-pill-padding-x; - padding-left: $badge-pill-padding-x; - @include border-radius($badge-pill-border-radius); -} - -// Colors -// -// Contextual variations (linked badges get darker on :hover). - -@each $color, $value in $theme-colors { - .badge-#{$color} { - @include badge-variant($value); - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_breadcrumb.scss b/nemo/assets/scss/vendor/bootstrap/_breadcrumb.scss deleted file mode 100644 index d748894f96404f1b10f70dd79252f4b0d458cf00..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_breadcrumb.scss +++ /dev/null @@ -1,42 +0,0 @@ -.breadcrumb { - display: flex; - flex-wrap: wrap; - padding: $breadcrumb-padding-y $breadcrumb-padding-x; - margin-bottom: $breadcrumb-margin-bottom; - @include font-size($breadcrumb-font-size); - list-style: none; - background-color: $breadcrumb-bg; - @include border-radius($breadcrumb-border-radius); -} - -.breadcrumb-item { - // The separator between breadcrumbs (by default, a forward-slash: "/") - + .breadcrumb-item { - padding-left: $breadcrumb-item-padding; - - &::before { - display: inline-block; // Suppress underlining of the separator in modern browsers - padding-right: $breadcrumb-item-padding; - color: $breadcrumb-divider-color; - content: escape-svg($breadcrumb-divider); - } - } - - // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built - // without `<ul>`s. The `::before` pseudo-element generates an element - // *within* the .breadcrumb-item and thereby inherits the `text-decoration`. - // - // To trick IE into suppressing the underline, we give the pseudo-element an - // underline and then immediately remove it. - + .breadcrumb-item:hover::before { - text-decoration: underline; - } - // stylelint-disable-next-line no-duplicate-selectors - + .breadcrumb-item:hover::before { - text-decoration: none; - } - - &.active { - color: $breadcrumb-active-color; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_button-group.scss b/nemo/assets/scss/vendor/bootstrap/_button-group.scss deleted file mode 100644 index da02d7931b6d7aba1c3bf3f0fa019afefca0f954..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_button-group.scss +++ /dev/null @@ -1,163 +0,0 @@ -// stylelint-disable selector-no-qualifying-type - -// Make the div behave like a button -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; // match .btn alignment given font-size hack above - - > .btn { - position: relative; - flex: 1 1 auto; - - // Bring the hover, focused, and "active" buttons to the front to overlay - // the borders properly - @include hover() { - z-index: 1; - } - &:focus, - &:active, - &.active { - z-index: 1; - } - } -} - -// Optional: Group multiple button groups together for a toolbar -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - - .input-group { - width: auto; - } -} - -.btn-group { - // Prevent double borders when buttons are next to each other - > .btn:not(:first-child), - > .btn-group:not(:first-child) { - margin-left: -$btn-border-width; - } - - // Reset rounded corners - > .btn:not(:last-child):not(.dropdown-toggle), - > .btn-group:not(:last-child) > .btn { - @include border-right-radius(0); - } - - > .btn:not(:first-child), - > .btn-group:not(:first-child) > .btn { - @include border-left-radius(0); - } -} - -// Sizing -// -// Remix the default button sizing classes into new ones for easier manipulation. - -.btn-group-sm > .btn { @extend .btn-sm; } -.btn-group-lg > .btn { @extend .btn-lg; } - - -// -// Split button dropdowns -// - -.dropdown-toggle-split { - padding-right: $btn-padding-x * .75; - padding-left: $btn-padding-x * .75; - - &::after, - .dropup &::after, - .dropright &::after { - margin-left: 0; - } - - .dropleft &::before { - margin-right: 0; - } -} - -.btn-sm + .dropdown-toggle-split { - padding-right: $btn-padding-x-sm * .75; - padding-left: $btn-padding-x-sm * .75; -} - -.btn-lg + .dropdown-toggle-split { - padding-right: $btn-padding-x-lg * .75; - padding-left: $btn-padding-x-lg * .75; -} - - -// The clickable button for toggling the menu -// Set the same inset shadow as the :active state -.btn-group.show .dropdown-toggle { - @include box-shadow($btn-active-box-shadow); - - // Show no shadow for `.btn-link` since it has no other button styles. - &.btn-link { - @include box-shadow(none); - } -} - - -// -// Vertical button groups -// - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; - - > .btn, - > .btn-group { - width: 100%; - } - - > .btn:not(:first-child), - > .btn-group:not(:first-child) { - margin-top: -$btn-border-width; - } - - // Reset rounded corners - > .btn:not(:last-child):not(.dropdown-toggle), - > .btn-group:not(:last-child) > .btn { - @include border-bottom-radius(0); - } - - > .btn:not(:first-child), - > .btn-group:not(:first-child) > .btn { - @include border-top-radius(0); - } -} - - -// Checkbox and radio options -// -// In order to support the browser's form validation feedback, powered by the -// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use -// `display: none;` or `visibility: hidden;` as that also hides the popover. -// Simply visually hiding the inputs via `opacity` would leave them clickable in -// certain cases which is prevented by using `clip` and `pointer-events`. -// This way, we ensure a DOM element is visible to position the popover from. -// -// See https://github.com/twbs/bootstrap/pull/12794 and -// https://github.com/twbs/bootstrap/pull/14559 for more information. - -.btn-group-toggle { - > .btn, - > .btn-group > .btn { - margin-bottom: 0; // Override default `<label>` value - - input[type="radio"], - input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_buttons.scss b/nemo/assets/scss/vendor/bootstrap/_buttons.scss deleted file mode 100644 index e87d3393a16dae9cdbf343315e173659aa9c679b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_buttons.scss +++ /dev/null @@ -1,139 +0,0 @@ -// stylelint-disable selector-no-qualifying-type - -// -// Base styles -// - -.btn { - display: inline-block; - font-family: $btn-font-family; - font-weight: $btn-font-weight; - color: $body-color; - text-align: center; - white-space: $btn-white-space; - vertical-align: middle; - cursor: if($enable-pointer-cursor-for-buttons, pointer, null); - user-select: none; - background-color: transparent; - border: $btn-border-width solid transparent; - @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius); - @include transition($btn-transition); - - @include hover() { - color: $body-color; - text-decoration: none; - } - - &:focus, - &.focus { - outline: 0; - box-shadow: $btn-focus-box-shadow; - } - - // Disabled comes first so active can properly restyle - &.disabled, - &:disabled { - opacity: $btn-disabled-opacity; - @include box-shadow(none); - } - - &:not(:disabled):not(.disabled):active, - &:not(:disabled):not(.disabled).active { - @include box-shadow($btn-active-box-shadow); - - &:focus { - @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow); - } - } -} - -// Future-proof disabling of clicks on `<a>` elements -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; -} - - -// -// Alternate buttons -// - -@each $color, $value in $theme-colors { - .btn-#{$color} { - @include button-variant($value, $value); - } -} - -@each $color, $value in $theme-colors { - .btn-outline-#{$color} { - @include button-outline-variant($value); - } -} - - -// -// Link buttons -// - -// Make a button look and behave like a link -.btn-link { - font-weight: $font-weight-normal; - color: $link-color; - text-decoration: $link-decoration; - - @include hover() { - color: $link-hover-color; - text-decoration: $link-hover-decoration; - } - - &:focus, - &.focus { - text-decoration: $link-hover-decoration; - box-shadow: none; - } - - &:disabled, - &.disabled { - color: $btn-link-disabled-color; - pointer-events: none; - } - - // No need for an active state here -} - - -// -// Button Sizes -// - -.btn-lg { - @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg); -} - -.btn-sm { - @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm); -} - - -// -// Block button -// - -.btn-block { - display: block; - width: 100%; - - // Vertically space out multiple block buttons - + .btn-block { - margin-top: $btn-block-spacing-y; - } -} - -// Specificity overrides -input[type="submit"], -input[type="reset"], -input[type="button"] { - &.btn-block { - width: 100%; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_card.scss b/nemo/assets/scss/vendor/bootstrap/_card.scss deleted file mode 100644 index d6759fde685feca92c448bb6ef1a2c617065edbe..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_card.scss +++ /dev/null @@ -1,278 +0,0 @@ -// -// Base styles -// - -.card { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 - height: $card-height; - word-wrap: break-word; - background-color: $card-bg; - background-clip: border-box; - border: $card-border-width solid $card-border-color; - @include border-radius($card-border-radius); - - > hr { - margin-right: 0; - margin-left: 0; - } - - > .list-group:first-child { - .list-group-item:first-child { - @include border-top-radius($card-border-radius); - } - } - - > .list-group:last-child { - .list-group-item:last-child { - @include border-bottom-radius($card-border-radius); - } - } -} - -.card-body { - // Enable `flex-grow: 1` for decks and groups so that card blocks take up - // as much space as possible, ensuring footers are aligned to the bottom. - flex: 1 1 auto; - // Workaround for the image size bug in IE - // See: https://github.com/twbs/bootstrap/pull/28855 - min-height: 1px; - padding: $card-spacer-x; - color: $card-color; -} - -.card-title { - margin-bottom: $card-spacer-y; -} - -.card-subtitle { - margin-top: -$card-spacer-y / 2; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link { - @include hover() { - text-decoration: none; - } - - + .card-link { - margin-left: $card-spacer-x; - } -} - -// -// Optional textual caps -// - -.card-header { - padding: $card-spacer-y $card-spacer-x; - margin-bottom: 0; // Removes the default margin-bottom of <hN> - color: $card-cap-color; - background-color: $card-cap-bg; - border-bottom: $card-border-width solid $card-border-color; - - &:first-child { - @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0); - } - - + .list-group { - .list-group-item:first-child { - border-top: 0; - } - } -} - -.card-footer { - padding: $card-spacer-y $card-spacer-x; - background-color: $card-cap-bg; - border-top: $card-border-width solid $card-border-color; - - &:last-child { - @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius); - } -} - - -// -// Header navs -// - -.card-header-tabs { - margin-right: -$card-spacer-x / 2; - margin-bottom: -$card-spacer-y; - margin-left: -$card-spacer-x / 2; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -$card-spacer-x / 2; - margin-left: -$card-spacer-x / 2; -} - -// Card image -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: $card-img-overlay-padding; -} - -.card-img, -.card-img-top, -.card-img-bottom { - flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396 - width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch -} - -.card-img, -.card-img-top { - @include border-top-radius($card-inner-border-radius); -} - -.card-img, -.card-img-bottom { - @include border-bottom-radius($card-inner-border-radius); -} - - -// Card deck - -.card-deck { - .card { - margin-bottom: $card-deck-margin; - } - - @include media-breakpoint-up(sm) { - display: flex; - flex-flow: row wrap; - margin-right: -$card-deck-margin; - margin-left: -$card-deck-margin; - - .card { - // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 - flex: 1 0 0%; - margin-right: $card-deck-margin; - margin-bottom: 0; // Override the default - margin-left: $card-deck-margin; - } - } -} - - -// -// Card groups -// - -.card-group { - // The child selector allows nested `.card` within `.card-group` - // to display properly. - > .card { - margin-bottom: $card-group-margin; - } - - @include media-breakpoint-up(sm) { - display: flex; - flex-flow: row wrap; - // The child selector allows nested `.card` within `.card-group` - // to display properly. - > .card { - // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 - flex: 1 0 0%; - margin-bottom: 0; - - + .card { - margin-left: 0; - border-left: 0; - } - - // Handle rounded corners - @if $enable-rounded { - &:not(:last-child) { - @include border-right-radius(0); - - .card-img-top, - .card-header { - // stylelint-disable-next-line property-blacklist - border-top-right-radius: 0; - } - .card-img-bottom, - .card-footer { - // stylelint-disable-next-line property-blacklist - border-bottom-right-radius: 0; - } - } - - &:not(:first-child) { - @include border-left-radius(0); - - .card-img-top, - .card-header { - // stylelint-disable-next-line property-blacklist - border-top-left-radius: 0; - } - .card-img-bottom, - .card-footer { - // stylelint-disable-next-line property-blacklist - border-bottom-left-radius: 0; - } - } - } - } - } -} - - -// -// Columns -// - -.card-columns { - .card { - margin-bottom: $card-columns-margin; - } - - @include media-breakpoint-up(sm) { - column-count: $card-columns-count; - column-gap: $card-columns-gap; - orphans: 1; - widows: 1; - - .card { - display: inline-block; // Don't let them vertically span multiple columns - width: 100%; // Don't let their width change - } - } -} - - -// -// Accordion -// - -.accordion { - > .card { - overflow: hidden; - - &:not(:last-of-type) { - border-bottom: 0; - @include border-bottom-radius(0); - } - - &:not(:first-of-type) { - @include border-top-radius(0); - } - - > .card-header { - @include border-radius(0); - margin-bottom: -$card-border-width; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_carousel.scss b/nemo/assets/scss/vendor/bootstrap/_carousel.scss deleted file mode 100644 index fb5e9f856aee184b359a26c031a1036beb3e8c63..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_carousel.scss +++ /dev/null @@ -1,197 +0,0 @@ -// Notes on the classes: -// -// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) -// even when their scroll action started on a carousel, but for compatibility (with Firefox) -// we're preventing all actions instead -// 2. The .carousel-item-left and .carousel-item-right is used to indicate where -// the active slide is heading. -// 3. .active.carousel-item is the current slide. -// 4. .active.carousel-item-left and .active.carousel-item-right is the current -// slide in its in-transition state. Only one of these occurs at a time. -// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right -// is the upcoming slide in transition. - -.carousel { - position: relative; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; - @include clearfix(); -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - @include transition($carousel-transition); -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -.carousel-item-next:not(.carousel-item-left), -.active.carousel-item-right { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-right), -.active.carousel-item-left { - transform: translateX(-100%); -} - - -// -// Alternate transitions -// - -.carousel-fade { - .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; - } - - .carousel-item.active, - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - z-index: 1; - opacity: 1; - } - - .active.carousel-item-left, - .active.carousel-item-right { - z-index: 0; - opacity: 0; - @include transition(opacity 0s $carousel-transition-duration); - } -} - - -// -// Left/right controls for nav -// - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - // Use flex for alignment (1-3) - display: flex; // 1. allow flex styles - align-items: center; // 2. vertically center contents - justify-content: center; // 3. horizontally center contents - width: $carousel-control-width; - color: $carousel-control-color; - text-align: center; - opacity: $carousel-control-opacity; - @include transition($carousel-control-transition); - - // Hover/focus state - @include hover-focus() { - color: $carousel-control-color; - text-decoration: none; - outline: 0; - opacity: $carousel-control-hover-opacity; - } -} -.carousel-control-prev { - left: 0; - @if $enable-gradients { - background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); - } -} -.carousel-control-next { - right: 0; - @if $enable-gradients { - background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); - } -} - -// Icons for within -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: $carousel-control-icon-width; - height: $carousel-control-icon-width; - background: no-repeat 50% / 100% 100%; -} -.carousel-control-prev-icon { - background-image: escape-svg($carousel-control-prev-icon-bg); -} -.carousel-control-next-icon { - background-image: escape-svg($carousel-control-next-icon-bg); -} - - -// Optional indicator pips -// -// Add an ordered list with the following class and add a list item for each -// slide your carousel holds. - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: flex; - justify-content: center; - padding-left: 0; // override <ol> default - // Use the .carousel-control's width as margin so we don't overlay those - margin-right: $carousel-control-width; - margin-left: $carousel-control-width; - list-style: none; - - li { - box-sizing: content-box; - flex: 0 1 auto; - width: $carousel-indicator-width; - height: $carousel-indicator-height; - margin-right: $carousel-indicator-spacer; - margin-left: $carousel-indicator-spacer; - text-indent: -999px; - cursor: pointer; - background-color: $carousel-indicator-active-bg; - background-clip: padding-box; - // Use transparent borders to increase the hit area by 10px on top and bottom. - border-top: $carousel-indicator-hit-area-height solid transparent; - border-bottom: $carousel-indicator-hit-area-height solid transparent; - opacity: .5; - @include transition($carousel-indicator-transition); - } - - .active { - opacity: 1; - } -} - - -// Optional captions -// -// - -.carousel-caption { - position: absolute; - right: (100% - $carousel-caption-width) / 2; - bottom: 20px; - left: (100% - $carousel-caption-width) / 2; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: $carousel-caption-color; - text-align: center; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_close.scss b/nemo/assets/scss/vendor/bootstrap/_close.scss deleted file mode 100644 index 071aebe80ffc28d77de31b3acfc2ff34588f5009..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_close.scss +++ /dev/null @@ -1,41 +0,0 @@ -.close { - float: right; - @include font-size($close-font-size); - font-weight: $close-font-weight; - line-height: 1; - color: $close-color; - text-shadow: $close-text-shadow; - opacity: .5; - - // Override <a>'s hover style - @include hover() { - color: $close-color; - text-decoration: none; - } - - &:not(:disabled):not(.disabled) { - @include hover-focus() { - opacity: .75; - } - } -} - -// Additional properties for button version -// iOS requires the button element instead of an anchor tag. -// If you want the anchor version, it requires `href="#"`. -// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile - -// stylelint-disable-next-line selector-no-qualifying-type -button.close { - padding: 0; - background-color: transparent; - border: 0; - appearance: none; -} - -// Future-proof disabling of clicks on `<a>` elements - -// stylelint-disable-next-line selector-no-qualifying-type -a.close.disabled { - pointer-events: none; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_code.scss b/nemo/assets/scss/vendor/bootstrap/_code.scss deleted file mode 100644 index 4bc117a96ded11b5a573d236817ec9cafc6fdb18..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_code.scss +++ /dev/null @@ -1,48 +0,0 @@ -// Inline code -code { - @include font-size($code-font-size); - color: $code-color; - word-wrap: break-word; - - // Streamline the style when inside anchors to avoid broken underline and more - a > & { - color: inherit; - } -} - -// User input typically entered via keyboard -kbd { - padding: $kbd-padding-y $kbd-padding-x; - @include font-size($kbd-font-size); - color: $kbd-color; - background-color: $kbd-bg; - @include border-radius($border-radius-sm); - @include box-shadow($kbd-box-shadow); - - kbd { - padding: 0; - @include font-size(100%); - font-weight: $nested-kbd-font-weight; - @include box-shadow(none); - } -} - -// Blocks of code -pre { - display: block; - @include font-size($code-font-size); - color: $pre-color; - - // Account for some code outputs that place code tags in pre tags - code { - @include font-size(inherit); - color: inherit; - word-break: normal; - } -} - -// Enable scrollable blocks of code -.pre-scrollable { - max-height: $pre-scrollable-max-height; - overflow-y: scroll; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_custom-forms.scss b/nemo/assets/scss/vendor/bootstrap/_custom-forms.scss deleted file mode 100644 index 21e72da7dda5eebde29760cb1cbd72c399def11e..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_custom-forms.scss +++ /dev/null @@ -1,521 +0,0 @@ -// Embedded icons from Open Iconic. -// Released under MIT and copyright 2014 Waybury. -// https://useiconic.com/open - - -// Checkboxes and radios -// -// Base class takes care of all the key behavioral aspects. - -.custom-control { - position: relative; - display: block; - min-height: $font-size-base * $line-height-base; - padding-left: $custom-control-gutter + $custom-control-indicator-size; -} - -.custom-control-inline { - display: inline-flex; - margin-right: $custom-control-spacer-x; -} - -.custom-control-input { - position: absolute; - left: 0; - z-index: -1; // Put the input behind the label so it doesn't overlay text - width: $custom-control-indicator-size; - height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2; - opacity: 0; - - &:checked ~ .custom-control-label::before { - color: $custom-control-indicator-checked-color; - border-color: $custom-control-indicator-checked-border-color; - @include gradient-bg($custom-control-indicator-checked-bg); - @include box-shadow($custom-control-indicator-checked-box-shadow); - } - - &:focus ~ .custom-control-label::before { - // the mixin is not used here to make sure there is feedback - @if $enable-shadows { - box-shadow: $input-box-shadow, $input-focus-box-shadow; - } @else { - box-shadow: $custom-control-indicator-focus-box-shadow; - } - } - - &:focus:not(:checked) ~ .custom-control-label::before { - border-color: $custom-control-indicator-focus-border-color; - } - - &:not(:disabled):active ~ .custom-control-label::before { - color: $custom-control-indicator-active-color; - background-color: $custom-control-indicator-active-bg; - border-color: $custom-control-indicator-active-border-color; - @include box-shadow($custom-control-indicator-active-box-shadow); - } - - // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247 - &[disabled], - &:disabled { - ~ .custom-control-label { - color: $custom-control-label-disabled-color; - - &::before { - background-color: $custom-control-indicator-disabled-bg; - } - } - } -} - -// Custom control indicators -// -// Build the custom controls out of pseudo-elements. - -.custom-control-label { - position: relative; - margin-bottom: 0; - color: $custom-control-label-color; - vertical-align: top; - cursor: $custom-control-cursor; - - // Background-color and (when enabled) gradient - &::before { - position: absolute; - top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2; - left: -($custom-control-gutter + $custom-control-indicator-size); - display: block; - width: $custom-control-indicator-size; - height: $custom-control-indicator-size; - pointer-events: none; - content: ""; - background-color: $custom-control-indicator-bg; - border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width; - @include box-shadow($custom-control-indicator-box-shadow); - } - - // Foreground (icon) - &::after { - position: absolute; - top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2; - left: -($custom-control-gutter + $custom-control-indicator-size); - display: block; - width: $custom-control-indicator-size; - height: $custom-control-indicator-size; - content: ""; - background: no-repeat 50% / #{$custom-control-indicator-bg-size}; - } -} - - -// Checkboxes -// -// Tweak just a few things for checkboxes. - -.custom-checkbox { - .custom-control-label::before { - @include border-radius($custom-checkbox-indicator-border-radius); - } - - .custom-control-input:checked ~ .custom-control-label { - &::after { - background-image: escape-svg($custom-checkbox-indicator-icon-checked); - } - } - - .custom-control-input:indeterminate ~ .custom-control-label { - &::before { - border-color: $custom-checkbox-indicator-indeterminate-border-color; - @include gradient-bg($custom-checkbox-indicator-indeterminate-bg); - @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow); - } - &::after { - background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate); - } - } - - .custom-control-input:disabled { - &:checked ~ .custom-control-label::before { - background-color: $custom-control-indicator-checked-disabled-bg; - } - &:indeterminate ~ .custom-control-label::before { - background-color: $custom-control-indicator-checked-disabled-bg; - } - } -} - -// Radios -// -// Tweak just a few things for radios. - -.custom-radio { - .custom-control-label::before { - // stylelint-disable-next-line property-blacklist - border-radius: $custom-radio-indicator-border-radius; - } - - .custom-control-input:checked ~ .custom-control-label { - &::after { - background-image: escape-svg($custom-radio-indicator-icon-checked); - } - } - - .custom-control-input:disabled { - &:checked ~ .custom-control-label::before { - background-color: $custom-control-indicator-checked-disabled-bg; - } - } -} - - -// switches -// -// Tweak a few things for switches - -.custom-switch { - padding-left: $custom-switch-width + $custom-control-gutter; - - .custom-control-label { - &::before { - left: -($custom-switch-width + $custom-control-gutter); - width: $custom-switch-width; - pointer-events: all; - // stylelint-disable-next-line property-blacklist - border-radius: $custom-switch-indicator-border-radius; - } - - &::after { - top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2); - left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2); - width: $custom-switch-indicator-size; - height: $custom-switch-indicator-size; - background-color: $custom-control-indicator-border-color; - // stylelint-disable-next-line property-blacklist - border-radius: $custom-switch-indicator-border-radius; - @include transition(transform .15s ease-in-out, $custom-forms-transition); - } - } - - .custom-control-input:checked ~ .custom-control-label { - &::after { - background-color: $custom-control-indicator-bg; - transform: translateX($custom-switch-width - $custom-control-indicator-size); - } - } - - .custom-control-input:disabled { - &:checked ~ .custom-control-label::before { - background-color: $custom-control-indicator-checked-disabled-bg; - } - } -} - - -// Select -// -// Replaces the browser default select with a custom one, mostly pulled from -// https://primer.github.io/. -// - -.custom-select { - display: inline-block; - width: 100%; - height: $custom-select-height; - padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x; - font-family: $custom-select-font-family; - @include font-size($custom-select-font-size); - font-weight: $custom-select-font-weight; - line-height: $custom-select-line-height; - color: $custom-select-color; - vertical-align: middle; - background: $custom-select-bg $custom-select-background; - border: $custom-select-border-width solid $custom-select-border-color; - @include border-radius($custom-select-border-radius, 0); - @include box-shadow($custom-select-box-shadow); - appearance: none; - - &:focus { - border-color: $custom-select-focus-border-color; - outline: 0; - @if $enable-shadows { - box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow; - } @else { - box-shadow: $custom-select-focus-box-shadow; - } - - &::-ms-value { - // For visual consistency with other platforms/browsers, - // suppress the default white text on blue background highlight given to - // the selected option text when the (still closed) <select> receives focus - // in IE and (under certain conditions) Edge. - // See https://github.com/twbs/bootstrap/issues/19398. - color: $input-color; - background-color: $input-bg; - } - } - - &[multiple], - &[size]:not([size="1"]) { - height: auto; - padding-right: $custom-select-padding-x; - background-image: none; - } - - &:disabled { - color: $custom-select-disabled-color; - background-color: $custom-select-disabled-bg; - } - - // Hides the default caret in IE11 - &::-ms-expand { - display: none; - } - - // Remove outline from select box in FF - &:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 $custom-select-color; - } -} - -.custom-select-sm { - height: $custom-select-height-sm; - padding-top: $custom-select-padding-y-sm; - padding-bottom: $custom-select-padding-y-sm; - padding-left: $custom-select-padding-x-sm; - @include font-size($custom-select-font-size-sm); -} - -.custom-select-lg { - height: $custom-select-height-lg; - padding-top: $custom-select-padding-y-lg; - padding-bottom: $custom-select-padding-y-lg; - padding-left: $custom-select-padding-x-lg; - @include font-size($custom-select-font-size-lg); -} - - -// File -// -// Custom file input. - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: $custom-file-height; - margin-bottom: 0; -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: $custom-file-height; - margin: 0; - opacity: 0; - - &:focus ~ .custom-file-label { - border-color: $custom-file-focus-border-color; - box-shadow: $custom-file-focus-box-shadow; - } - - // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247 - &[disabled] ~ .custom-file-label, - &:disabled ~ .custom-file-label { - background-color: $custom-file-disabled-bg; - } - - @each $lang, $value in $custom-file-text { - &:lang(#{$lang}) ~ .custom-file-label::after { - content: $value; - } - } - - ~ .custom-file-label[data-browse]::after { - content: attr(data-browse); - } -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: $custom-file-height; - padding: $custom-file-padding-y $custom-file-padding-x; - font-family: $custom-file-font-family; - font-weight: $custom-file-font-weight; - line-height: $custom-file-line-height; - color: $custom-file-color; - background-color: $custom-file-bg; - border: $custom-file-border-width solid $custom-file-border-color; - @include border-radius($custom-file-border-radius); - @include box-shadow($custom-file-box-shadow); - - &::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: $custom-file-height-inner; - padding: $custom-file-padding-y $custom-file-padding-x; - line-height: $custom-file-line-height; - color: $custom-file-button-color; - content: "Browse"; - @include gradient-bg($custom-file-button-bg); - border-left: inherit; - @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0); - } -} - -// Range -// -// Style range inputs the same across browsers. Vendor-specific rules for pseudo -// elements cannot be mixed. As such, there are no shared styles for focus or -// active states on prefixed selectors. - -.custom-range { - width: 100%; - height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2); - padding: 0; // Need to reset padding - background-color: transparent; - appearance: none; - - &:focus { - outline: none; - - // Pseudo-elements must be split across multiple rulesets to have an effect. - // No box-shadow() mixin for focus accessibility. - &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; } - &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; } - &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; } - } - - &::-moz-focus-outer { - border: 0; - } - - &::-webkit-slider-thumb { - width: $custom-range-thumb-width; - height: $custom-range-thumb-height; - margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific - @include gradient-bg($custom-range-thumb-bg); - border: $custom-range-thumb-border; - @include border-radius($custom-range-thumb-border-radius); - @include box-shadow($custom-range-thumb-box-shadow); - @include transition($custom-forms-transition); - appearance: none; - - &:active { - @include gradient-bg($custom-range-thumb-active-bg); - } - } - - &::-webkit-slider-runnable-track { - width: $custom-range-track-width; - height: $custom-range-track-height; - color: transparent; // Why? - cursor: $custom-range-track-cursor; - background-color: $custom-range-track-bg; - border-color: transparent; - @include border-radius($custom-range-track-border-radius); - @include box-shadow($custom-range-track-box-shadow); - } - - &::-moz-range-thumb { - width: $custom-range-thumb-width; - height: $custom-range-thumb-height; - @include gradient-bg($custom-range-thumb-bg); - border: $custom-range-thumb-border; - @include border-radius($custom-range-thumb-border-radius); - @include box-shadow($custom-range-thumb-box-shadow); - @include transition($custom-forms-transition); - appearance: none; - - &:active { - @include gradient-bg($custom-range-thumb-active-bg); - } - } - - &::-moz-range-track { - width: $custom-range-track-width; - height: $custom-range-track-height; - color: transparent; - cursor: $custom-range-track-cursor; - background-color: $custom-range-track-bg; - border-color: transparent; // Firefox specific? - @include border-radius($custom-range-track-border-radius); - @include box-shadow($custom-range-track-box-shadow); - } - - &::-ms-thumb { - width: $custom-range-thumb-width; - height: $custom-range-thumb-height; - margin-top: 0; // Edge specific - margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden. - margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden. - @include gradient-bg($custom-range-thumb-bg); - border: $custom-range-thumb-border; - @include border-radius($custom-range-thumb-border-radius); - @include box-shadow($custom-range-thumb-box-shadow); - @include transition($custom-forms-transition); - appearance: none; - - &:active { - @include gradient-bg($custom-range-thumb-active-bg); - } - } - - &::-ms-track { - width: $custom-range-track-width; - height: $custom-range-track-height; - color: transparent; - cursor: $custom-range-track-cursor; - background-color: transparent; - border-color: transparent; - border-width: $custom-range-thumb-height / 2; - @include box-shadow($custom-range-track-box-shadow); - } - - &::-ms-fill-lower { - background-color: $custom-range-track-bg; - @include border-radius($custom-range-track-border-radius); - } - - &::-ms-fill-upper { - margin-right: 15px; // arbitrary? - background-color: $custom-range-track-bg; - @include border-radius($custom-range-track-border-radius); - } - - &:disabled { - &::-webkit-slider-thumb { - background-color: $custom-range-thumb-disabled-bg; - } - - &::-webkit-slider-runnable-track { - cursor: default; - } - - &::-moz-range-thumb { - background-color: $custom-range-thumb-disabled-bg; - } - - &::-moz-range-track { - cursor: default; - } - - &::-ms-thumb { - background-color: $custom-range-thumb-disabled-bg; - } - } -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - @include transition($custom-forms-transition); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_dropdown.scss b/nemo/assets/scss/vendor/bootstrap/_dropdown.scss deleted file mode 100644 index 76f33a4fd80c549fcfdacd07f642b0e55e066650..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_dropdown.scss +++ /dev/null @@ -1,191 +0,0 @@ -// The dropdown wrapper (`<div>`) -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; - - // Generate the caret automatically - @include caret(); -} - -// The dropdown menu -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: $zindex-dropdown; - display: none; // none by default, but block on "open" of the menu - float: left; - min-width: $dropdown-min-width; - padding: $dropdown-padding-y 0; - margin: $dropdown-spacer 0 0; // override default ul - @include font-size($dropdown-font-size); - color: $dropdown-color; - text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) - list-style: none; - background-color: $dropdown-bg; - background-clip: padding-box; - border: $dropdown-border-width solid $dropdown-border-color; - @include border-radius($dropdown-border-radius); - @include box-shadow($dropdown-box-shadow); -} - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .dropdown-menu#{$infix}-left { - right: auto; - left: 0; - } - - .dropdown-menu#{$infix}-right { - right: 0; - left: auto; - } - } -} - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// Just add .dropup after the standard .dropdown class and you're set. -.dropup { - .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: $dropdown-spacer; - } - - .dropdown-toggle { - @include caret(up); - } -} - -.dropright { - .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: $dropdown-spacer; - } - - .dropdown-toggle { - @include caret(right); - &::after { - vertical-align: 0; - } - } -} - -.dropleft { - .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: $dropdown-spacer; - } - - .dropdown-toggle { - @include caret(left); - &::before { - vertical-align: 0; - } - } -} - -// When enabled Popper.js, reset basic dropdown position -// stylelint-disable-next-line no-duplicate-selectors -.dropdown-menu { - &[x-placement^="top"], - &[x-placement^="right"], - &[x-placement^="bottom"], - &[x-placement^="left"] { - right: auto; - bottom: auto; - } -} - -// Dividers (basically an `<hr>`) within the dropdown -.dropdown-divider { - @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true); -} - -// Links, buttons, and more within the dropdown menu -// -// `<button>`-specific styles are denoted with `// For <button>s` -.dropdown-item { - display: block; - width: 100%; // For `<button>`s - padding: $dropdown-item-padding-y $dropdown-item-padding-x; - clear: both; - font-weight: $font-weight-normal; - color: $dropdown-link-color; - text-align: inherit; // For `<button>`s - white-space: nowrap; // prevent links from randomly breaking onto new lines - background-color: transparent; // For `<button>`s - border: 0; // For `<button>`s - - // Prevent dropdown overflow if there's no padding - // See https://github.com/twbs/bootstrap/pull/27703 - @if $dropdown-padding-y == 0 { - &:first-child { - @include border-top-radius($dropdown-inner-border-radius); - } - - &:last-child { - @include border-bottom-radius($dropdown-inner-border-radius); - } - } - - @include hover-focus() { - color: $dropdown-link-hover-color; - text-decoration: none; - @include gradient-bg($dropdown-link-hover-bg); - } - - &.active, - &:active { - color: $dropdown-link-active-color; - text-decoration: none; - @include gradient-bg($dropdown-link-active-bg); - } - - &.disabled, - &:disabled { - color: $dropdown-link-disabled-color; - pointer-events: none; - background-color: transparent; - // Remove CSS gradients if they're enabled - @if $enable-gradients { - background-image: none; - } - } -} - -.dropdown-menu.show { - display: block; -} - -// Dropdown section headers -.dropdown-header { - display: block; - padding: $dropdown-padding-y $dropdown-item-padding-x; - margin-bottom: 0; // for use with heading elements - @include font-size($font-size-sm); - color: $dropdown-header-color; - white-space: nowrap; // as with > li > a -} - -// Dropdown text -.dropdown-item-text { - display: block; - padding: $dropdown-item-padding-y $dropdown-item-padding-x; - color: $dropdown-link-color; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_forms.scss b/nemo/assets/scss/vendor/bootstrap/_forms.scss deleted file mode 100644 index b2edb7b27bcbfa9685c2549d2c0b9ddb06eb80c1..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_forms.scss +++ /dev/null @@ -1,338 +0,0 @@ -// stylelint-disable selector-no-qualifying-type - -// -// Textual form controls -// - -.form-control { - display: block; - width: 100%; - height: $input-height; - padding: $input-padding-y $input-padding-x; - font-family: $input-font-family; - @include font-size($input-font-size); - font-weight: $input-font-weight; - line-height: $input-line-height; - color: $input-color; - background-color: $input-bg; - background-clip: padding-box; - border: $input-border-width solid $input-border-color; - - // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS. - @include border-radius($input-border-radius, 0); - - @include box-shadow($input-box-shadow); - @include transition($input-transition); - - // Unstyle the caret on `<select>`s in IE10+. - &::-ms-expand { - background-color: transparent; - border: 0; - } - - // Remove select outline from select box in FF - &:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 $input-color; - } - - // Customize the `:focus` state to imitate native WebKit styles. - @include form-control-focus($ignore-warning: true); - - // Placeholder - &::placeholder { - color: $input-placeholder-color; - // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526. - opacity: 1; - } - - // Disabled and read-only inputs - // - // HTML5 says that controls under a fieldset > legend:first-child won't be - // disabled if the fieldset is disabled. Due to implementation difficulty, we - // don't honor that edge case; we style them as disabled anyway. - &:disabled, - &[readonly] { - background-color: $input-disabled-bg; - // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655. - opacity: 1; - } -} - -select.form-control { - &:focus::-ms-value { - // Suppress the nested default white text on blue background highlight given to - // the selected option text when the (still closed) <select> receives focus - // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to - // match the appearance of the native widget. - // See https://github.com/twbs/bootstrap/issues/19398. - color: $input-color; - background-color: $input-bg; - } -} - -// Make file inputs better match text inputs by forcing them to new lines. -.form-control-file, -.form-control-range { - display: block; - width: 100%; -} - - -// -// Labels -// - -// For use with horizontal and inline forms, when you need the label (or legend) -// text to align with the form controls. -.col-form-label { - padding-top: add($input-padding-y, $input-border-width); - padding-bottom: add($input-padding-y, $input-border-width); - margin-bottom: 0; // Override the `<label>/<legend>` default - @include font-size(inherit); // Override the `<legend>` default - line-height: $input-line-height; -} - -.col-form-label-lg { - padding-top: add($input-padding-y-lg, $input-border-width); - padding-bottom: add($input-padding-y-lg, $input-border-width); - @include font-size($input-font-size-lg); - line-height: $input-line-height-lg; -} - -.col-form-label-sm { - padding-top: add($input-padding-y-sm, $input-border-width); - padding-bottom: add($input-padding-y-sm, $input-border-width); - @include font-size($input-font-size-sm); - line-height: $input-line-height-sm; -} - - -// Readonly controls as plain text -// -// Apply class to a readonly input to make it appear like regular plain -// text (without any border, background color, focus indicator) - -.form-control-plaintext { - display: block; - width: 100%; - padding: $input-padding-y 0; - margin-bottom: 0; // match inputs if this class comes on inputs with default margins - @include font-size($input-font-size); - line-height: $input-line-height; - color: $input-plaintext-color; - background-color: transparent; - border: solid transparent; - border-width: $input-border-width 0; - - &.form-control-sm, - &.form-control-lg { - padding-right: 0; - padding-left: 0; - } -} - - -// Form control sizing -// -// Build on `.form-control` with modifier classes to decrease or increase the -// height and font-size of form controls. -// -// Repeated in `_input_group.scss` to avoid Sass extend issues. - -.form-control-sm { - height: $input-height-sm; - padding: $input-padding-y-sm $input-padding-x-sm; - @include font-size($input-font-size-sm); - line-height: $input-line-height-sm; - @include border-radius($input-border-radius-sm); -} - -.form-control-lg { - height: $input-height-lg; - padding: $input-padding-y-lg $input-padding-x-lg; - @include font-size($input-font-size-lg); - line-height: $input-line-height-lg; - @include border-radius($input-border-radius-lg); -} - -// stylelint-disable-next-line no-duplicate-selectors -select.form-control { - &[size], - &[multiple] { - height: auto; - } -} - -textarea.form-control { - height: auto; -} - -// Form groups -// -// Designed to help with the organization and spacing of vertical forms. For -// horizontal forms, use the predefined grid classes. - -.form-group { - margin-bottom: $form-group-margin-bottom; -} - -.form-text { - display: block; - margin-top: $form-text-margin-top; -} - - -// Form grid -// -// Special replacement for our grid system's `.row` for tighter form layouts. - -.form-row { - display: flex; - flex-wrap: wrap; - margin-right: -$form-grid-gutter-width / 2; - margin-left: -$form-grid-gutter-width / 2; - - > .col, - > [class*="col-"] { - padding-right: $form-grid-gutter-width / 2; - padding-left: $form-grid-gutter-width / 2; - } -} - - -// Checkboxes and radios -// -// Indent the labels to position radios/checkboxes as hanging controls. - -.form-check { - position: relative; - display: block; - padding-left: $form-check-input-gutter; -} - -.form-check-input { - position: absolute; - margin-top: $form-check-input-margin-y; - margin-left: -$form-check-input-gutter; - - // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247 - &[disabled] ~ .form-check-label, - &:disabled ~ .form-check-label { - color: $text-muted; - } -} - -.form-check-label { - margin-bottom: 0; // Override default `<label>` bottom margin -} - -.form-check-inline { - display: inline-flex; - align-items: center; - padding-left: 0; // Override base .form-check - margin-right: $form-check-inline-margin-x; - - // Undo .form-check-input defaults and add some `margin-right`. - .form-check-input { - position: static; - margin-top: 0; - margin-right: $form-check-inline-input-margin-x; - margin-left: 0; - } -} - - -// Form validation -// -// Provide feedback to users when form field values are valid or invalid. Works -// primarily for client-side validation via scoped `:invalid` and `:valid` -// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for -// server side validation. - -@each $state, $data in $form-validation-states { - @include form-validation-state($state, map-get($data, color), map-get($data, icon)); -} - -// Inline forms -// -// Make forms appear inline(-block) by adding the `.form-inline` class. Inline -// forms begin stacked on extra small (mobile) devices and then go inline when -// viewports reach <768px. -// -// Requires wrapping inputs and labels with `.form-group` for proper display of -// default HTML form controls and our custom form controls (e.g., input groups). - -.form-inline { - display: flex; - flex-flow: row wrap; - align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height) - - // Because we use flex, the initial sizing of checkboxes is collapsed and - // doesn't occupy the full-width (which is what we want for xs grid tier), - // so we force that here. - .form-check { - width: 100%; - } - - // Kick in the inline - @include media-breakpoint-up(sm) { - label { - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 0; - } - - // Inline-block all the things for "inline" - .form-group { - display: flex; - flex: 0 0 auto; - flex-flow: row wrap; - align-items: center; - margin-bottom: 0; - } - - // Allow folks to *not* use `.form-group` - .form-control { - display: inline-block; - width: auto; // Prevent labels from stacking above inputs in `.form-group` - vertical-align: middle; - } - - // Make static controls behave like regular ones - .form-control-plaintext { - display: inline-block; - } - - .input-group, - .custom-select { - width: auto; - } - - // Remove default margin on radios/checkboxes that were used for stacking, and - // then undo the floating of radios and checkboxes to match. - .form-check { - display: flex; - align-items: center; - justify-content: center; - width: auto; - padding-left: 0; - } - .form-check-input { - position: relative; - flex-shrink: 0; - margin-top: 0; - margin-right: $form-check-input-margin-x; - margin-left: 0; - } - - .custom-control { - align-items: center; - justify-content: center; - } - .custom-control-label { - margin-bottom: 0; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_functions.scss b/nemo/assets/scss/vendor/bootstrap/_functions.scss deleted file mode 100644 index 695e6cd2f8d78e4e1f751f1932173135434fdfba..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_functions.scss +++ /dev/null @@ -1,134 +0,0 @@ -// Bootstrap functions -// -// Utility mixins and functions for evaluating source code across our variables, maps, and mixins. - -// Ascending -// Used to evaluate Sass maps like our grid breakpoints. -@mixin _assert-ascending($map, $map-name) { - $prev-key: null; - $prev-num: null; - @each $key, $num in $map { - @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" { - // Do nothing - } @else if not comparable($prev-num, $num) { - @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !"; - } @else if $prev-num >= $num { - @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !"; - } - $prev-key: $key; - $prev-num: $num; - } -} - -// Starts at zero -// Used to ensure the min-width of the lowest breakpoint starts at 0. -@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") { - $values: map-values($map); - $first-value: nth($values, 1); - @if $first-value != 0 { - @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}."; - } -} - -// Replace `$search` with `$replace` in `$string` -// Used on our SVG icon backgrounds for custom forms. -// -// @author Hugo Giraudel -// @param {String} $string - Initial string -// @param {String} $search - Substring to replace -// @param {String} $replace ('') - New value -// @return {String} - Updated string -@function str-replace($string, $search, $replace: "") { - $index: str-index($string, $search); - - @if $index { - @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); - } - - @return $string; -} - -// See https://codepen.io/kevinweber/pen/dXWoRw -@function escape-svg($string) { - @if str-index($string, "data:image/svg+xml") { - @each $char, $encoded in $escaped-characters { - $string: str-replace($string, $char, $encoded); - } - } - - @return $string; -} - -// Color contrast -@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) { - $r: red($color); - $g: green($color); - $b: blue($color); - - $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000; - - @if ($yiq >= $yiq-contrasted-threshold) { - @return $dark; - } @else { - @return $light; - } -} - -// Retrieve color Sass maps -@function color($key: "blue") { - @return map-get($colors, $key); -} - -@function theme-color($key: "primary") { - @return map-get($theme-colors, $key); -} - -@function gray($key: "100") { - @return map-get($grays, $key); -} - -// Request a theme color level -@function theme-color-level($color-name: "primary", $level: 0) { - $color: theme-color($color-name); - $color-base: if($level > 0, $black, $white); - $level: abs($level); - - @return mix($color-base, $color, $level * $theme-color-interval); -} - -// Return valid calc -@function add($value1, $value2, $return-calc: true) { - @if $value1 == null { - @return $value2; - } - - @if $value2 == null { - @return $value1; - } - - @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { - @return $value1 + $value2; - } - - @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2); -} - -@function subtract($value1, $value2, $return-calc: true) { - @if $value1 == null and $value2 == null { - @return null; - } - - @if $value1 == null { - @return -$value2; - } - - @if $value2 == null { - @return $value1; - } - - @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { - @return $value1 - $value2; - } - - @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_grid.scss b/nemo/assets/scss/vendor/bootstrap/_grid.scss deleted file mode 100644 index d36ee75d8874456f09700922ab5b6b2ceecdf44c..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_grid.scss +++ /dev/null @@ -1,69 +0,0 @@ -// Container widths -// -// Set the container width, and override it for fixed navbars in media queries. - -@if $enable-grid-classes { - // Single container class with breakpoint max-widths - .container { - @include make-container(); - @include make-container-max-widths(); - } - - // 100% wide container at all breakpoints - .container-fluid { - @include make-container(); - } - - // Responsive containers that are 100% wide until a breakpoint - @each $breakpoint, $container-max-width in $container-max-widths { - .container-#{$breakpoint} { - @extend .container-fluid; - } - - @include media-breakpoint-up($breakpoint, $grid-breakpoints) { - %responsive-container-#{$breakpoint} { - max-width: $container-max-width; - } - - @each $name, $width in $grid-breakpoints { - @if ($container-max-width > $width or $breakpoint == $name) { - .container#{breakpoint-infix($name, $grid-breakpoints)} { - @extend %responsive-container-#{$breakpoint}; - } - } - } - } - } -} - - -// Row -// -// Rows contain your columns. - -@if $enable-grid-classes { - .row { - @include make-row(); - } - - // Remove the negative margin from default .row, then the horizontal padding - // from all immediate children columns (to prevent runaway style inheritance). - .no-gutters { - margin-right: 0; - margin-left: 0; - - > .col, - > [class*="col-"] { - padding-right: 0; - padding-left: 0; - } - } -} - -// Columns -// -// Common styles for small and large grid columns - -@if $enable-grid-classes { - @include make-grid-columns(); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_images.scss b/nemo/assets/scss/vendor/bootstrap/_images.scss deleted file mode 100644 index b11b45a37bb04e620d288b2434a9b66218870966..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_images.scss +++ /dev/null @@ -1,42 +0,0 @@ -// Responsive images (ensure images don't scale beyond their parents) -// -// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s. -// We previously tried the "images are responsive by default" approach in Bootstrap v2, -// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) -// which weren't expecting the images within themselves to be involuntarily resized. -// See also https://github.com/twbs/bootstrap/issues/18178 -.img-fluid { - @include img-fluid(); -} - - -// Image thumbnails -.img-thumbnail { - padding: $thumbnail-padding; - background-color: $thumbnail-bg; - border: $thumbnail-border-width solid $thumbnail-border-color; - @include border-radius($thumbnail-border-radius); - @include box-shadow($thumbnail-box-shadow); - - // Keep them at most 100% wide - @include img-fluid(); -} - -// -// Figures -// - -.figure { - // Ensures the caption's text aligns with the image. - display: inline-block; -} - -.figure-img { - margin-bottom: $spacer / 2; - line-height: 1; -} - -.figure-caption { - @include font-size($figure-caption-font-size); - color: $figure-caption-color; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_input-group.scss b/nemo/assets/scss/vendor/bootstrap/_input-group.scss deleted file mode 100644 index bf69ddb41de894daaaffb979bccd16f79a4dc3c6..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_input-group.scss +++ /dev/null @@ -1,191 +0,0 @@ -// stylelint-disable selector-no-qualifying-type - -// -// Base styles -// - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; // For form validation feedback - align-items: stretch; - width: 100%; - - > .form-control, - > .form-control-plaintext, - > .custom-select, - > .custom-file { - position: relative; // For focus state's z-index - flex: 1 1 0%; - min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size - margin-bottom: 0; - - + .form-control, - + .custom-select, - + .custom-file { - margin-left: -$input-border-width; - } - } - - // Bring the "active" form control to the top of surrounding elements - > .form-control:focus, - > .custom-select:focus, - > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; - } - - // Bring the custom file input above the label - > .custom-file .custom-file-input:focus { - z-index: 4; - } - - > .form-control, - > .custom-select { - &:not(:last-child) { @include border-right-radius(0); } - &:not(:first-child) { @include border-left-radius(0); } - } - - // Custom file inputs have more complex markup, thus requiring different - // border-radius overrides. - > .custom-file { - display: flex; - align-items: center; - - &:not(:last-child) .custom-file-label, - &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); } - &:not(:first-child) .custom-file-label { @include border-left-radius(0); } - } -} - - -// Prepend and append -// -// While it requires one extra layer of HTML for each, dedicated prepend and -// append elements allow us to 1) be less clever, 2) simplify our selectors, and -// 3) support HTML5 form validation. - -.input-group-prepend, -.input-group-append { - display: flex; - - // Ensure buttons are always above inputs for more visually pleasing borders. - // This isn't needed for `.input-group-text` since it shares the same border-color - // as our inputs. - .btn { - position: relative; - z-index: 2; - - &:focus { - z-index: 3; - } - } - - .btn + .btn, - .btn + .input-group-text, - .input-group-text + .input-group-text, - .input-group-text + .btn { - margin-left: -$input-border-width; - } -} - -.input-group-prepend { margin-right: -$input-border-width; } -.input-group-append { margin-left: -$input-border-width; } - - -// Textual addons -// -// Serves as a catch-all element for any text or radio/checkbox input you wish -// to prepend or append to an input. - -.input-group-text { - display: flex; - align-items: center; - padding: $input-padding-y $input-padding-x; - margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom - @include font-size($input-font-size); // Match inputs - font-weight: $font-weight-normal; - line-height: $input-line-height; - color: $input-group-addon-color; - text-align: center; - white-space: nowrap; - background-color: $input-group-addon-bg; - border: $input-border-width solid $input-group-addon-border-color; - @include border-radius($input-border-radius); - - // Nuke default margins from checkboxes and radios to vertically center within. - input[type="radio"], - input[type="checkbox"] { - margin-top: 0; - } -} - - -// Sizing -// -// Remix the default form control sizing classes into new ones for easier -// manipulation. - -.input-group-lg > .form-control:not(textarea), -.input-group-lg > .custom-select { - height: $input-height-lg; -} - -.input-group-lg > .form-control, -.input-group-lg > .custom-select, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { - padding: $input-padding-y-lg $input-padding-x-lg; - @include font-size($input-font-size-lg); - line-height: $input-line-height-lg; - @include border-radius($input-border-radius-lg); -} - -.input-group-sm > .form-control:not(textarea), -.input-group-sm > .custom-select { - height: $input-height-sm; -} - -.input-group-sm > .form-control, -.input-group-sm > .custom-select, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { - padding: $input-padding-y-sm $input-padding-x-sm; - @include font-size($input-font-size-sm); - line-height: $input-line-height-sm; - @include border-radius($input-border-radius-sm); -} - -.input-group-lg > .custom-select, -.input-group-sm > .custom-select { - padding-right: $custom-select-padding-x + $custom-select-indicator-padding; -} - - -// Prepend and append rounded corners -// -// These rulesets must come after the sizing ones to properly override sm and lg -// border-radius values when extending. They're more specific than we'd like -// with the `.input-group >` part, but without it, we cannot override the sizing. - - -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text, -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - @include border-right-radius(0); -} - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - @include border-left-radius(0); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_jumbotron.scss b/nemo/assets/scss/vendor/bootstrap/_jumbotron.scss deleted file mode 100644 index bcd7dcad996db4ed4a1c8451f04f623a01cc069b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_jumbotron.scss +++ /dev/null @@ -1,17 +0,0 @@ -.jumbotron { - padding: $jumbotron-padding ($jumbotron-padding / 2); - margin-bottom: $jumbotron-padding; - color: $jumbotron-color; - background-color: $jumbotron-bg; - @include border-radius($border-radius-lg); - - @include media-breakpoint-up(sm) { - padding: ($jumbotron-padding * 2) $jumbotron-padding; - } -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - @include border-radius(0); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_list-group.scss b/nemo/assets/scss/vendor/bootstrap/_list-group.scss deleted file mode 100644 index 468c2e31acab61d406a5fe7338e7f2041dcff1cd..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_list-group.scss +++ /dev/null @@ -1,158 +0,0 @@ -// Base class -// -// Easily usable on <ul>, <ol>, or <div>. - -.list-group { - display: flex; - flex-direction: column; - - // No need to set list-style: none; since .list-group-item is block level - padding-left: 0; // reset padding because ul and ol - margin-bottom: 0; -} - - -// Interactive list items -// -// Use anchor or button elements instead of `li`s or `div`s to create interactive -// list items. Includes an extra `.active` modifier class for selected items. - -.list-group-item-action { - width: 100%; // For `<button>`s (anchors become 100% by default though) - color: $list-group-action-color; - text-align: inherit; // For `<button>`s (anchors inherit) - - // Hover state - @include hover-focus() { - z-index: 1; // Place hover/focus items above their siblings for proper border styling - color: $list-group-action-hover-color; - text-decoration: none; - background-color: $list-group-hover-bg; - } - - &:active { - color: $list-group-action-active-color; - background-color: $list-group-action-active-bg; - } -} - - -// Individual list items -// -// Use on `li`s or `div`s within the `.list-group` parent. - -.list-group-item { - position: relative; - display: block; - padding: $list-group-item-padding-y $list-group-item-padding-x; - color: $list-group-color; - background-color: $list-group-bg; - border: $list-group-border-width solid $list-group-border-color; - - &:first-child { - @include border-top-radius($list-group-border-radius); - } - - &:last-child { - @include border-bottom-radius($list-group-border-radius); - } - - &.disabled, - &:disabled { - color: $list-group-disabled-color; - pointer-events: none; - background-color: $list-group-disabled-bg; - } - - // Include both here for `<a>`s and `<button>`s - &.active { - z-index: 2; // Place active items above their siblings for proper border styling - color: $list-group-active-color; - background-color: $list-group-active-bg; - border-color: $list-group-active-border-color; - } - - & + & { - border-top-width: 0; - - &.active { - margin-top: -$list-group-border-width; - border-top-width: $list-group-border-width; - } - } -} - - -// Horizontal -// -// Change the layout of list group items from vertical (default) to horizontal. - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .list-group-horizontal#{$infix} { - flex-direction: row; - - .list-group-item { - &:first-child { - @include border-bottom-left-radius($list-group-border-radius); - @include border-top-right-radius(0); - } - - &:last-child { - @include border-top-right-radius($list-group-border-radius); - @include border-bottom-left-radius(0); - } - - &.active { - margin-top: 0; - } - - & + .list-group-item { - border-top-width: $list-group-border-width; - border-left-width: 0; - - &.active { - margin-left: -$list-group-border-width; - border-left-width: $list-group-border-width; - } - } - } - } - } -} - - -// Flush list items -// -// Remove borders and border-radius to keep list group items edge-to-edge. Most -// useful within other components (e.g., cards). - -.list-group-flush { - .list-group-item { - border-right-width: 0; - border-left-width: 0; - @include border-radius(0); - - &:first-child { - border-top-width: 0; - } - } - - &:last-child { - .list-group-item:last-child { - border-bottom-width: 0; - } - } -} - - -// Contextual variants -// -// Add modifier classes to change text and background color on individual items. -// Organizationally, this must come after the `:hover` states. - -@each $color, $value in $theme-colors { - @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6)); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_media.scss b/nemo/assets/scss/vendor/bootstrap/_media.scss deleted file mode 100644 index b573052c14affa5bdca02ac9e3e7a4168768925b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_media.scss +++ /dev/null @@ -1,8 +0,0 @@ -.media { - display: flex; - align-items: flex-start; -} - -.media-body { - flex: 1; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_mixins.scss b/nemo/assets/scss/vendor/bootstrap/_mixins.scss deleted file mode 100644 index 7e7a23d254e969b14ee8aeb4c6ce228ede2ef658..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_mixins.scss +++ /dev/null @@ -1,47 +0,0 @@ -// Toggles -// -// Used in conjunction with global variables to enable certain theme features. - -// Vendor -@import "vendor/rfs"; - -// Deprecate -@import "mixins/deprecate"; - -// Utilities -@import "mixins/breakpoints"; -@import "mixins/hover"; -@import "mixins/image"; -@import "mixins/badge"; -@import "mixins/resize"; -@import "mixins/screen-reader"; -@import "mixins/size"; -@import "mixins/reset-text"; -@import "mixins/text-emphasis"; -@import "mixins/text-hide"; -@import "mixins/text-truncate"; -@import "mixins/visibility"; - -// Components -@import "mixins/alert"; -@import "mixins/buttons"; -@import "mixins/caret"; -@import "mixins/pagination"; -@import "mixins/lists"; -@import "mixins/list-group"; -@import "mixins/nav-divider"; -@import "mixins/forms"; -@import "mixins/table-row"; - -// Skins -@import "mixins/background-variant"; -@import "mixins/border-radius"; -@import "mixins/box-shadow"; -@import "mixins/gradients"; -@import "mixins/transition"; - -// Layout -@import "mixins/clearfix"; -@import "mixins/grid-framework"; -@import "mixins/grid"; -@import "mixins/float"; diff --git a/nemo/assets/scss/vendor/bootstrap/_modal.scss b/nemo/assets/scss/vendor/bootstrap/_modal.scss deleted file mode 100644 index 9053c173f8c3894c56f61c736071ab7a61230313..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_modal.scss +++ /dev/null @@ -1,239 +0,0 @@ -// .modal-open - body class for killing the scroll -// .modal - container to scroll within -// .modal-dialog - positioning shell for the actual modal -// .modal-content - actual modal w/ bg and corners and stuff - - -.modal-open { - // Kill the scroll on the body - overflow: hidden; - - .modal { - overflow-x: hidden; - overflow-y: auto; - } -} - -// Container that the modal scrolls within -.modal { - position: fixed; - top: 0; - left: 0; - z-index: $zindex-modal; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - // Prevent Chrome on Windows from adding a focus outline. For details, see - // https://github.com/twbs/bootstrap/pull/10951. - outline: 0; - // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a - // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342 - // See also https://github.com/twbs/bootstrap/issues/17695 -} - -// Shell div to position the modal with bottom padding -.modal-dialog { - position: relative; - width: auto; - margin: $modal-dialog-margin; - // allow clicks to pass through for custom click handling to close modal - pointer-events: none; - - // When fading in the modal, animate it to slide down - .modal.fade & { - @include transition($modal-transition); - transform: $modal-fade-transform; - } - .modal.show & { - transform: $modal-show-transform; - } - - // When trying to close, animate focus to scale - .modal.modal-static & { - transform: $modal-scale-transform; - } -} - -.modal-dialog-scrollable { - display: flex; // IE10/11 - max-height: subtract(100%, $modal-dialog-margin * 2); - - .modal-content { - max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11 - overflow: hidden; - } - - .modal-header, - .modal-footer { - flex-shrink: 0; - } - - .modal-body { - overflow-y: auto; - } -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: subtract(100%, $modal-dialog-margin * 2); - - // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11) - &::before { - display: block; // IE10 - height: subtract(100vh, $modal-dialog-margin * 2); - content: ""; - } - - // Ensure `.modal-body` shows scrollbar (IE10/11) - &.modal-dialog-scrollable { - flex-direction: column; - justify-content: center; - height: 100%; - - .modal-content { - max-height: none; - } - - &::before { - content: none; - } - } -} - -// Actual modal -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog` - // counteract the pointer-events: none; in the .modal-dialog - color: $modal-content-color; - pointer-events: auto; - background-color: $modal-content-bg; - background-clip: padding-box; - border: $modal-content-border-width solid $modal-content-border-color; - @include border-radius($modal-content-border-radius); - @include box-shadow($modal-content-box-shadow-xs); - // Remove focus outline from opened modal - outline: 0; -} - -// Modal background -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: $zindex-modal-backdrop; - width: 100vw; - height: 100vh; - background-color: $modal-backdrop-bg; - - // Fade for backdrop - &.fade { opacity: 0; } - &.show { opacity: $modal-backdrop-opacity; } -} - -// Modal header -// Top section of the modal w/ title and dismiss -.modal-header { - display: flex; - align-items: flex-start; // so the close btn always stays on the upper right corner - justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends - padding: $modal-header-padding; - border-bottom: $modal-header-border-width solid $modal-header-border-color; - @include border-top-radius($modal-content-inner-border-radius); - - .close { - padding: $modal-header-padding; - // auto on the left force icon to the right even when there is no .modal-title - margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto; - } -} - -// Title text within header -.modal-title { - margin-bottom: 0; - line-height: $modal-title-line-height; -} - -// Modal body -// Where all modal content resides (sibling of .modal-header and .modal-footer) -.modal-body { - position: relative; - // Enable `flex-grow: 1` so that the body take up as much space as possible - // when there should be a fixed height on `.modal-dialog`. - flex: 1 1 auto; - padding: $modal-inner-padding; -} - -// Footer (for actions) -.modal-footer { - display: flex; - flex-wrap: wrap; - align-items: center; // vertically center - justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items - padding: $modal-inner-padding - $modal-footer-margin-between / 2; - border-top: $modal-footer-border-width solid $modal-footer-border-color; - @include border-bottom-radius($modal-content-inner-border-radius); - - // Place margin between footer elements - // This solution is far from ideal because of the universal selector usage, - // but is needed to fix https://github.com/twbs/bootstrap/issues/24800 - // stylelint-disable-next-line selector-max-universal - > * { - margin: $modal-footer-margin-between / 2; - } -} - -// Measure scrollbar width for padding body during modal show/hide -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -// Scale up the modal -@include media-breakpoint-up(sm) { - // Automatically set modal's width for larger viewports - .modal-dialog { - max-width: $modal-md; - margin: $modal-dialog-margin-y-sm-up auto; - } - - .modal-dialog-scrollable { - max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2); - - .modal-content { - max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2); - } - } - - .modal-dialog-centered { - min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2); - - &::before { - height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2); - } - } - - .modal-content { - @include box-shadow($modal-content-box-shadow-sm-up); - } - - .modal-sm { max-width: $modal-sm; } -} - -@include media-breakpoint-up(lg) { - .modal-lg, - .modal-xl { - max-width: $modal-lg; - } -} - -@include media-breakpoint-up(xl) { - .modal-xl { max-width: $modal-xl; } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_nav.scss b/nemo/assets/scss/vendor/bootstrap/_nav.scss deleted file mode 100644 index 667d68272150978b29599d69e52bb72c9854a9cc..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_nav.scss +++ /dev/null @@ -1,120 +0,0 @@ -// Base class -// -// Kickstart any navigation component with a set of style resets. Works with -// `<nav>`s, `<ul>`s or `<ol>`s. - -.nav { - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: $nav-link-padding-y $nav-link-padding-x; - - @include hover-focus() { - text-decoration: none; - } - - // Disabled state lightens text - &.disabled { - color: $nav-link-disabled-color; - pointer-events: none; - cursor: default; - } -} - -// -// Tabs -// - -.nav-tabs { - border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color; - - .nav-item { - margin-bottom: -$nav-tabs-border-width; - } - - .nav-link { - border: $nav-tabs-border-width solid transparent; - @include border-top-radius($nav-tabs-border-radius); - - @include hover-focus() { - border-color: $nav-tabs-link-hover-border-color; - } - - &.disabled { - color: $nav-link-disabled-color; - background-color: transparent; - border-color: transparent; - } - } - - .nav-link.active, - .nav-item.show .nav-link { - color: $nav-tabs-link-active-color; - background-color: $nav-tabs-link-active-bg; - border-color: $nav-tabs-link-active-border-color; - } - - .dropdown-menu { - // Make dropdown border overlap tab border - margin-top: -$nav-tabs-border-width; - // Remove the top rounded corners here since there is a hard edge above the menu - @include border-top-radius(0); - } -} - - -// -// Pills -// - -.nav-pills { - .nav-link { - @include border-radius($nav-pills-border-radius); - } - - .nav-link.active, - .show > .nav-link { - color: $nav-pills-link-active-color; - background-color: $nav-pills-link-active-bg; - } -} - - -// -// Justified variants -// - -.nav-fill { - .nav-item { - flex: 1 1 auto; - text-align: center; - } -} - -.nav-justified { - .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; - } -} - - -// Tabbable tabs -// -// Hide tabbable panes to start, show them when `.active` - -.tab-content { - > .tab-pane { - display: none; - } - > .active { - display: block; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_navbar.scss b/nemo/assets/scss/vendor/bootstrap/_navbar.scss deleted file mode 100644 index 5f10a62f14491976eba190d266dcaff76e071874..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_navbar.scss +++ /dev/null @@ -1,324 +0,0 @@ -// Contents -// -// Navbar -// Navbar brand -// Navbar nav -// Navbar text -// Navbar divider -// Responsive navbar -// Navbar position -// Navbar themes - - -// Navbar -// -// Provide a static navbar from which we expand to create full-width, fixed, and -// other navbar variations. - -.navbar { - position: relative; - display: flex; - flex-wrap: wrap; // allow us to do the line break for collapsing content - align-items: center; - justify-content: space-between; // space out brand from logo - padding: $navbar-padding-y $navbar-padding-x; - - // Because flex properties aren't inherited, we need to redeclare these first - // few properties so that content nested within behave properly. - %container-flex-properties { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - } - - .container, - .container-fluid { - @extend %container-flex-properties; - } - - @each $breakpoint, $container-max-width in $container-max-widths { - > .container#{breakpoint-infix($breakpoint, $container-max-widths)} { - @extend %container-flex-properties; - } - } -} - - -// Navbar brand -// -// Used for brand, project, or site names. - -.navbar-brand { - display: inline-block; - padding-top: $navbar-brand-padding-y; - padding-bottom: $navbar-brand-padding-y; - margin-right: $navbar-padding-x; - @include font-size($navbar-brand-font-size); - line-height: inherit; - white-space: nowrap; - - @include hover-focus() { - text-decoration: none; - } -} - - -// Navbar nav -// -// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`). - -.navbar-nav { - display: flex; - flex-direction: column; // cannot use `inherit` to get the `.navbar`s value - padding-left: 0; - margin-bottom: 0; - list-style: none; - - .nav-link { - padding-right: 0; - padding-left: 0; - } - - .dropdown-menu { - position: static; - float: none; - } -} - - -// Navbar text -// -// - -.navbar-text { - display: inline-block; - padding-top: $nav-link-padding-y; - padding-bottom: $nav-link-padding-y; -} - - -// Responsive navbar -// -// Custom styles for responsive collapsing and toggling of navbar contents. -// Powered by the collapse Bootstrap JavaScript plugin. - -// When collapsed, prevent the toggleable navbar contents from appearing in -// the default flexbox row orientation. Requires the use of `flex-wrap: wrap` -// on the `.navbar` parent. -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - // For always expanded or extra full navbars, ensure content aligns itself - // properly vertically. Can be easily overridden with flex utilities. - align-items: center; -} - -// Button for toggling the navbar when in its collapsed state -.navbar-toggler { - padding: $navbar-toggler-padding-y $navbar-toggler-padding-x; - @include font-size($navbar-toggler-font-size); - line-height: 1; - background-color: transparent; // remove default button style - border: $border-width solid transparent; // remove default button style - @include border-radius($navbar-toggler-border-radius); - - @include hover-focus() { - text-decoration: none; - } -} - -// Keep as a separate element so folks can easily override it with another icon -// or image file as needed. -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; -} - -// Generate series of `.navbar-expand-*` responsive classes for configuring -// where your navbar collapses. -.navbar-expand { - @each $breakpoint in map-keys($grid-breakpoints) { - $next: breakpoint-next($breakpoint, $grid-breakpoints); - $infix: breakpoint-infix($next, $grid-breakpoints); - - &#{$infix} { - @include media-breakpoint-down($breakpoint) { - %container-navbar-expand-#{$breakpoint} { - padding-right: 0; - padding-left: 0; - } - - > .container, - > .container-fluid { - @extend %container-navbar-expand-#{$breakpoint}; - } - - @each $size, $container-max-width in $container-max-widths { - > .container#{breakpoint-infix($size, $container-max-widths)} { - @extend %container-navbar-expand-#{$breakpoint}; - } - } - } - - @include media-breakpoint-up($next) { - flex-flow: row nowrap; - justify-content: flex-start; - - .navbar-nav { - flex-direction: row; - - .dropdown-menu { - position: absolute; - } - - .nav-link { - padding-right: $navbar-nav-link-padding-x; - padding-left: $navbar-nav-link-padding-x; - } - } - - // For nesting containers, have to redeclare for alignment purposes - %container-nesting-#{$breakpoint} { - flex-wrap: nowrap; - } - - > .container, - > .container-fluid { - @extend %container-nesting-#{$breakpoint}; - } - - @each $size, $container-max-width in $container-max-widths { - > .container#{breakpoint-infix($size, $container-max-widths)} { - @extend %container-nesting-#{$breakpoint}; - } - } - - .navbar-collapse { - display: flex !important; // stylelint-disable-line declaration-no-important - - // Changes flex-bases to auto because of an IE10 bug - flex-basis: auto; - } - - .navbar-toggler { - display: none; - } - } - } - } -} - - -// Navbar themes -// -// Styles for switching between navbars with light or dark background. - -// Dark links against a light background -.navbar-light { - .navbar-brand { - color: $navbar-light-brand-color; - - @include hover-focus() { - color: $navbar-light-brand-hover-color; - } - } - - .navbar-nav { - .nav-link { - color: $navbar-light-color; - - @include hover-focus() { - color: $navbar-light-hover-color; - } - - &.disabled { - color: $navbar-light-disabled-color; - } - } - - .show > .nav-link, - .active > .nav-link, - .nav-link.show, - .nav-link.active { - color: $navbar-light-active-color; - } - } - - .navbar-toggler { - color: $navbar-light-color; - border-color: $navbar-light-toggler-border-color; - } - - .navbar-toggler-icon { - background-image: escape-svg($navbar-light-toggler-icon-bg); - } - - .navbar-text { - color: $navbar-light-color; - a { - color: $navbar-light-active-color; - - @include hover-focus() { - color: $navbar-light-active-color; - } - } - } -} - -// White links against a dark background -.navbar-dark { - .navbar-brand { - color: $navbar-dark-brand-color; - - @include hover-focus() { - color: $navbar-dark-brand-hover-color; - } - } - - .navbar-nav { - .nav-link { - color: $navbar-dark-color; - - @include hover-focus() { - color: $navbar-dark-hover-color; - } - - &.disabled { - color: $navbar-dark-disabled-color; - } - } - - .show > .nav-link, - .active > .nav-link, - .nav-link.show, - .nav-link.active { - color: $navbar-dark-active-color; - } - } - - .navbar-toggler { - color: $navbar-dark-color; - border-color: $navbar-dark-toggler-border-color; - } - - .navbar-toggler-icon { - background-image: escape-svg($navbar-dark-toggler-icon-bg); - } - - .navbar-text { - color: $navbar-dark-color; - a { - color: $navbar-dark-active-color; - - @include hover-focus() { - color: $navbar-dark-active-color; - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_pagination.scss b/nemo/assets/scss/vendor/bootstrap/_pagination.scss deleted file mode 100644 index 953a35a7feccfb3d48e7f185e207fa5f41431f88..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_pagination.scss +++ /dev/null @@ -1,73 +0,0 @@ -.pagination { - display: flex; - @include list-unstyled(); - @include border-radius(); -} - -.page-link { - position: relative; - display: block; - padding: $pagination-padding-y $pagination-padding-x; - margin-left: -$pagination-border-width; - line-height: $pagination-line-height; - color: $pagination-color; - background-color: $pagination-bg; - border: $pagination-border-width solid $pagination-border-color; - - &:hover { - z-index: 2; - color: $pagination-hover-color; - text-decoration: none; - background-color: $pagination-hover-bg; - border-color: $pagination-hover-border-color; - } - - &:focus { - z-index: 3; - outline: $pagination-focus-outline; - box-shadow: $pagination-focus-box-shadow; - } -} - -.page-item { - &:first-child { - .page-link { - margin-left: 0; - @include border-left-radius($border-radius); - } - } - &:last-child { - .page-link { - @include border-right-radius($border-radius); - } - } - - &.active .page-link { - z-index: 3; - color: $pagination-active-color; - background-color: $pagination-active-bg; - border-color: $pagination-active-border-color; - } - - &.disabled .page-link { - color: $pagination-disabled-color; - pointer-events: none; - // Opinionated: remove the "hand" cursor set previously for .page-link - cursor: auto; - background-color: $pagination-disabled-bg; - border-color: $pagination-disabled-border-color; - } -} - - -// -// Sizing -// - -.pagination-lg { - @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg); -} - -.pagination-sm { - @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_popover.scss b/nemo/assets/scss/vendor/bootstrap/_popover.scss deleted file mode 100644 index 0ad76af3eeb6fa6619fcd3a794aaf78b9f61c045..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_popover.scss +++ /dev/null @@ -1,170 +0,0 @@ -.popover { - position: absolute; - top: 0; - left: 0; - z-index: $zindex-popover; - display: block; - max-width: $popover-max-width; - // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. - // So reset our font and text properties to avoid inheriting weird values. - @include reset-text(); - @include font-size($popover-font-size); - // Allow breaking very long words so they don't overflow the popover's bounds - word-wrap: break-word; - background-color: $popover-bg; - background-clip: padding-box; - border: $popover-border-width solid $popover-border-color; - @include border-radius($popover-border-radius); - @include box-shadow($popover-box-shadow); - - .arrow { - position: absolute; - display: block; - width: $popover-arrow-width; - height: $popover-arrow-height; - margin: 0 $popover-border-radius; - - &::before, - &::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; - } - } -} - -.bs-popover-top { - margin-bottom: $popover-arrow-height; - - > .arrow { - bottom: subtract(-$popover-arrow-height, $popover-border-width); - - &::before { - bottom: 0; - border-width: $popover-arrow-height ($popover-arrow-width / 2) 0; - border-top-color: $popover-arrow-outer-color; - } - - &::after { - bottom: $popover-border-width; - border-width: $popover-arrow-height ($popover-arrow-width / 2) 0; - border-top-color: $popover-arrow-color; - } - } -} - -.bs-popover-right { - margin-left: $popover-arrow-height; - - > .arrow { - left: subtract(-$popover-arrow-height, $popover-border-width); - width: $popover-arrow-height; - height: $popover-arrow-width; - margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners - - &::before { - left: 0; - border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; - border-right-color: $popover-arrow-outer-color; - } - - &::after { - left: $popover-border-width; - border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; - border-right-color: $popover-arrow-color; - } - } -} - -.bs-popover-bottom { - margin-top: $popover-arrow-height; - - > .arrow { - top: subtract(-$popover-arrow-height, $popover-border-width); - - &::before { - top: 0; - border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2); - border-bottom-color: $popover-arrow-outer-color; - } - - &::after { - top: $popover-border-width; - border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2); - border-bottom-color: $popover-arrow-color; - } - } - - // This will remove the popover-header's border just below the arrow - .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: $popover-arrow-width; - margin-left: -$popover-arrow-width / 2; - content: ""; - border-bottom: $popover-border-width solid $popover-header-bg; - } -} - -.bs-popover-left { - margin-right: $popover-arrow-height; - - > .arrow { - right: subtract(-$popover-arrow-height, $popover-border-width); - width: $popover-arrow-height; - height: $popover-arrow-width; - margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners - - &::before { - right: 0; - border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; - border-left-color: $popover-arrow-outer-color; - } - - &::after { - right: $popover-border-width; - border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; - border-left-color: $popover-arrow-color; - } - } -} - -.bs-popover-auto { - &[x-placement^="top"] { - @extend .bs-popover-top; - } - &[x-placement^="right"] { - @extend .bs-popover-right; - } - &[x-placement^="bottom"] { - @extend .bs-popover-bottom; - } - &[x-placement^="left"] { - @extend .bs-popover-left; - } -} - - -// Offset the popover to account for the popover arrow -.popover-header { - padding: $popover-header-padding-y $popover-header-padding-x; - margin-bottom: 0; // Reset the default from Reboot - @include font-size($font-size-base); - color: $popover-header-color; - background-color: $popover-header-bg; - border-bottom: $popover-border-width solid darken($popover-header-bg, 5%); - @include border-top-radius($popover-inner-border-radius); - - &:empty { - display: none; - } -} - -.popover-body { - padding: $popover-body-padding-y $popover-body-padding-x; - color: $popover-body-color; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_print.scss b/nemo/assets/scss/vendor/bootstrap/_print.scss deleted file mode 100644 index 8f73024a8bb875428dff420aa5e77e64f99739d2..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_print.scss +++ /dev/null @@ -1,141 +0,0 @@ -// stylelint-disable declaration-no-important, selector-no-qualifying-type - -// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css - -// ========================================================================== -// Print styles. -// Inlined to avoid the additional HTTP request: -// https://www.phpied.com/delay-loading-your-print-css/ -// ========================================================================== - -@if $enable-print-styles { - @media print { - *, - *::before, - *::after { - // Bootstrap specific; comment out `color` and `background` - //color: $black !important; // Black prints faster - text-shadow: none !important; - //background: transparent !important; - box-shadow: none !important; - } - - a { - &:not(.btn) { - text-decoration: underline; - } - } - - // Bootstrap specific; comment the following selector out - //a[href]::after { - // content: " (" attr(href) ")"; - //} - - abbr[title]::after { - content: " (" attr(title) ")"; - } - - // Bootstrap specific; comment the following selector out - // - // Don't show links that are fragment identifiers, - // or use the `javascript:` pseudo protocol - // - - //a[href^="#"]::after, - //a[href^="javascript:"]::after { - // content: ""; - //} - - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px - page-break-inside: avoid; - } - - // - // Printing Tables: - // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables - // - - thead { - display: table-header-group; - } - - tr, - img { - page-break-inside: avoid; - } - - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - - h2, - h3 { - page-break-after: avoid; - } - - // Bootstrap specific changes start - - // Specify a size and min-width to make printing closer across browsers. - // We don't set margin here because it breaks `size` in Chrome. We also - // don't use `!important` on `size` as it breaks in Chrome. - @page { - size: $print-page-size; - } - body { - min-width: $print-body-min-width !important; - } - .container { - min-width: $print-body-min-width !important; - } - - // Bootstrap components - .navbar { - display: none; - } - .badge { - border: $border-width solid $black; - } - - .table { - border-collapse: collapse !important; - - td, - th { - background-color: $white !important; - } - } - - .table-bordered { - th, - td { - border: 1px solid $gray-300 !important; - } - } - - .table-dark { - color: inherit; - - th, - td, - thead th, - tbody + tbody { - border-color: $table-border-color; - } - } - - .table .thead-dark th { - color: inherit; - border-color: $table-border-color; - } - - // Bootstrap specific changes end - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_progress.scss b/nemo/assets/scss/vendor/bootstrap/_progress.scss deleted file mode 100644 index 37ef6022e5e85a32017daeb3e5fa1ef8ad23414b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_progress.scss +++ /dev/null @@ -1,46 +0,0 @@ -// Disable animation if transitions are disabled -@if $enable-transitions { - @keyframes progress-bar-stripes { - from { background-position: $progress-height 0; } - to { background-position: 0 0; } - } -} - -.progress { - display: flex; - height: $progress-height; - overflow: hidden; // force rounded corners by cropping it - @include font-size($progress-font-size); - background-color: $progress-bg; - @include border-radius($progress-border-radius); - @include box-shadow($progress-box-shadow); -} - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: $progress-bar-color; - text-align: center; - white-space: nowrap; - background-color: $progress-bar-bg; - @include transition($progress-bar-transition); -} - -.progress-bar-striped { - @include gradient-striped(); - background-size: $progress-height $progress-height; -} - -@if $enable-transitions { - .progress-bar-animated { - animation: progress-bar-stripes $progress-bar-animation-timing; - - @if $enable-prefers-reduced-motion-media-query { - @media (prefers-reduced-motion: reduce) { - animation: none; - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_reboot.scss b/nemo/assets/scss/vendor/bootstrap/_reboot.scss deleted file mode 100644 index b6c98ccd775fda35953e4ea77da43cdda67be4f3..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_reboot.scss +++ /dev/null @@ -1,482 +0,0 @@ -// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix - -// Reboot -// -// Normalization of HTML elements, manually forked from Normalize.css to remove -// styles targeting irrelevant browsers while applying new styles. -// -// Normalize is licensed MIT. https://github.com/necolas/normalize.css - - -// Document -// -// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`. -// 2. Change the default font family in all browsers. -// 3. Correct the line height in all browsers. -// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. -// 5. Change the default tap highlight to be completely transparent in iOS. - -*, -*::before, -*::after { - box-sizing: border-box; // 1 -} - -html { - font-family: sans-serif; // 2 - line-height: 1.15; // 3 - -webkit-text-size-adjust: 100%; // 4 - -webkit-tap-highlight-color: rgba($black, 0); // 5 -} - -// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers) -// TODO: remove in v5 -// stylelint-disable-next-line selector-list-comma-newline-after -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -// Body -// -// 1. Remove the margin in all browsers. -// 2. As a best practice, apply a default `background-color`. -// 3. Set an explicit initial text-align value so that we can later use -// the `inherit` value on things like `<th>` elements. - -body { - margin: 0; // 1 - font-family: $font-family-base; - @include font-size($font-size-base); - font-weight: $font-weight-base; - line-height: $line-height-base; - color: $body-color; - text-align: left; // 3 - background-color: $body-bg; // 2 -} - -// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline -// on elements that programmatically receive focus but wouldn't normally show a visible -// focus outline. In general, this would mean that the outline is only applied if the -// interaction that led to the element receiving programmatic focus was a keyboard interaction, -// or the browser has somehow determined that the user is primarily a keyboard user and/or -// wants focus outlines to always be presented. -// -// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible -// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/ -[tabindex="-1"]:focus:not(:focus-visible) { - outline: 0 !important; -} - - -// Content grouping -// -// 1. Add the correct box sizing in Firefox. -// 2. Show the overflow in Edge and IE. - -hr { - box-sizing: content-box; // 1 - height: 0; // 1 - overflow: visible; // 2 -} - - -// -// Typography -// - -// Remove top margins from headings -// -// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top -// margin for easier control within type scales as it avoids margin collapsing. -// stylelint-disable-next-line selector-list-comma-newline-after -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: $headings-margin-bottom; -} - -// Reset margins on paragraphs -// -// Similarly, the top margin on `<p>`s get reset. However, we also reset the -// bottom margin to use `rem` units instead of `em`. -p { - margin-top: 0; - margin-bottom: $paragraph-margin-bottom; -} - -// Abbreviations -// -// 1. Duplicate behavior to the data-* attribute for our tooltip plugin -// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. -// 3. Add explicit cursor to indicate changed behavior. -// 4. Remove the bottom border in Firefox 39-. -// 5. Prevent the text-decoration to be skipped. - -abbr[title], -abbr[data-original-title] { // 1 - text-decoration: underline; // 2 - text-decoration: underline dotted; // 2 - cursor: help; // 3 - border-bottom: 0; // 4 - text-decoration-skip-ink: none; // 5 -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: $dt-font-weight; -} - -dd { - margin-bottom: .5rem; - margin-left: 0; // Undo browser default -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari -} - -small { - @include font-size(80%); // Add the correct font size in all browsers -} - -// -// Prevent `sub` and `sup` elements from affecting the line height in -// all browsers. -// - -sub, -sup { - position: relative; - @include font-size(75%); - line-height: 0; - vertical-align: baseline; -} - -sub { bottom: -.25em; } -sup { top: -.5em; } - - -// -// Links -// - -a { - color: $link-color; - text-decoration: $link-decoration; - background-color: transparent; // Remove the gray background on active links in IE 10. - - @include hover() { - color: $link-hover-color; - text-decoration: $link-hover-decoration; - } -} - -// And undo these styles for placeholder links/named anchors (without href). -// It would be more straightforward to just use a[href] in previous block, but that -// causes specificity issues in many other styles that are too complex to fix. -// See https://github.com/twbs/bootstrap/issues/19402 - -a:not([href]) { - color: inherit; - text-decoration: none; - - @include hover() { - color: inherit; - text-decoration: none; - } -} - - -// -// Code -// - -pre, -code, -kbd, -samp { - font-family: $font-family-monospace; - @include font-size(1em); // Correct the odd `em` font sizing in all browsers. -} - -pre { - // Remove browser default top margin - margin-top: 0; - // Reset browser default of `1em` to use `rem`s - margin-bottom: 1rem; - // Don't allow content to break outside - overflow: auto; -} - - -// -// Figures -// - -figure { - // Apply a consistent margin strategy (matches our type styles). - margin: 0 0 1rem; -} - - -// -// Images and content -// - -img { - vertical-align: middle; - border-style: none; // Remove the border on images inside links in IE 10-. -} - -svg { - // Workaround for the SVG overflow bug in IE10/11 is still required. - // See https://github.com/twbs/bootstrap/issues/26878 - overflow: hidden; - vertical-align: middle; -} - - -// -// Tables -// - -table { - border-collapse: collapse; // Prevent double borders -} - -caption { - padding-top: $table-cell-padding; - padding-bottom: $table-cell-padding; - color: $table-caption-color; - text-align: left; - caption-side: bottom; -} - -th { - // Matches default `<td>` alignment by inheriting from the `<body>`, or the - // closest parent with a set `text-align`. - text-align: inherit; -} - - -// -// Forms -// - -label { - // Allow labels to use `margin` for spacing. - display: inline-block; - margin-bottom: $label-margin-bottom; -} - -// Remove the default `border-radius` that macOS Chrome adds. -// -// Details at https://github.com/twbs/bootstrap/issues/24093 -button { - // stylelint-disable-next-line property-blacklist - border-radius: 0; -} - -// Work around a Firefox/IE bug where the transparent `button` background -// results in a loss of the default `button` focus styles. -// -// Credit: https://github.com/suitcss/base/ -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; // Remove the margin in Firefox and Safari - font-family: inherit; - @include font-size(inherit); - line-height: inherit; -} - -button, -input { - overflow: visible; // Show the overflow in Edge -} - -button, -select { - text-transform: none; // Remove the inheritance of text transform in Firefox -} - -// Remove the inheritance of word-wrap in Safari. -// -// Details at https://github.com/twbs/bootstrap/issues/24990 -select { - word-wrap: normal; -} - - -// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` -// controls in Android 4. -// 2. Correct the inability to style clickable types in iOS and Safari. -button, -[type="button"], // 1 -[type="reset"], -[type="submit"] { - -webkit-appearance: button; // 2 -} - -// Opinionated: add "hand" cursor to non-disabled button elements. -@if $enable-pointer-cursor-for-buttons { - button, - [type="button"], - [type="reset"], - [type="submit"] { - &:not(:disabled) { - cursor: pointer; - } - } -} - -// Remove inner border and padding from Firefox, but don't restore the outline like Normalize. -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; // 1. Add the correct box sizing in IE 10- - padding: 0; // 2. Remove the padding in IE 10- -} - - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - // Remove the default appearance of temporal inputs to avoid a Mobile Safari - // bug where setting a custom line-height prevents text from being vertically - // centered within the input. - // See https://bugs.webkit.org/show_bug.cgi?id=139848 - // and https://github.com/twbs/bootstrap/issues/11266 - -webkit-appearance: listbox; -} - -textarea { - overflow: auto; // Remove the default vertical scrollbar in IE. - // Textareas should really only resize vertically so they don't break their (horizontal) containers. - resize: vertical; -} - -fieldset { - // Browsers set a default `min-width: min-content;` on fieldsets, - // unlike e.g. `<div>`s, which have `min-width: 0;` by default. - // So we reset that to ensure fieldsets behave more like a standard block element. - // See https://github.com/twbs/bootstrap/issues/12359 - // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements - min-width: 0; - // Reset the default outline behavior of fieldsets so they don't affect page layout. - padding: 0; - margin: 0; - border: 0; -} - -// 1. Correct the text wrapping in Edge and IE. -// 2. Correct the color inheritance from `fieldset` elements in IE. -legend { - display: block; - width: 100%; - max-width: 100%; // 1 - padding: 0; - margin-bottom: .5rem; - @include font-size(1.5rem); - line-height: inherit; - color: inherit; // 2 - white-space: normal; // 1 -} - -progress { - vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera. -} - -// Correct the cursor style of increment and decrement buttons in Chrome. -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - // This overrides the extra rounded corners on search inputs in iOS so that our - // `.form-control` class can properly style them. Note that this cannot simply - // be added to `.form-control` as it's not specific enough. For details, see - // https://github.com/twbs/bootstrap/issues/11586. - outline-offset: -2px; // 2. Correct the outline style in Safari. - -webkit-appearance: none; -} - -// -// Remove the inner padding in Chrome and Safari on macOS. -// - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -// -// 1. Correct the inability to style clickable types in iOS and Safari. -// 2. Change font properties to `inherit` in Safari. -// - -::-webkit-file-upload-button { - font: inherit; // 2 - -webkit-appearance: button; // 1 -} - -// -// Correct element displays -// - -output { - display: inline-block; -} - -summary { - display: list-item; // Add the correct display in all browsers - cursor: pointer; -} - -template { - display: none; // Add the correct display in IE -} - -// Always hide an element with the `hidden` HTML attribute (from PureCSS). -// Needed for proper display in IE 10-. -[hidden] { - display: none !important; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_root.scss b/nemo/assets/scss/vendor/bootstrap/_root.scss deleted file mode 100644 index 8110030c640ca2a6554a802287b118335a937740..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_root.scss +++ /dev/null @@ -1,20 +0,0 @@ -// Do not forget to update getting-started/theming.md! -:root { - // Custom variable values only support SassScript inside `#{}`. - @each $color, $value in $colors { - --#{$color}: #{$value}; - } - - @each $color, $value in $theme-colors { - --#{$color}: #{$value}; - } - - @each $bp, $value in $grid-breakpoints { - --breakpoint-#{$bp}: #{$value}; - } - - // Use `inspect` for lists so that quoted items keep the quotes. - // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 - --font-family-sans-serif: #{inspect($font-family-sans-serif)}; - --font-family-monospace: #{inspect($font-family-monospace)}; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_spinners.scss b/nemo/assets/scss/vendor/bootstrap/_spinners.scss deleted file mode 100644 index 364a5c1a65f71e0828a23752934a95e42e511236..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_spinners.scss +++ /dev/null @@ -1,55 +0,0 @@ -// -// Rotating border -// - -@keyframes spinner-border { - to { transform: rotate(360deg); } -} - -.spinner-border { - display: inline-block; - width: $spinner-width; - height: $spinner-height; - vertical-align: text-bottom; - border: $spinner-border-width solid currentColor; - border-right-color: transparent; - // stylelint-disable-next-line property-blacklist - border-radius: 50%; - animation: spinner-border .75s linear infinite; -} - -.spinner-border-sm { - width: $spinner-width-sm; - height: $spinner-height-sm; - border-width: $spinner-border-width-sm; -} - -// -// Growing circle -// - -@keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - } -} - -.spinner-grow { - display: inline-block; - width: $spinner-width; - height: $spinner-height; - vertical-align: text-bottom; - background-color: currentColor; - // stylelint-disable-next-line property-blacklist - border-radius: 50%; - opacity: 0; - animation: spinner-grow .75s linear infinite; -} - -.spinner-grow-sm { - width: $spinner-width-sm; - height: $spinner-height-sm; -} diff --git a/nemo/assets/scss/vendor/bootstrap/_tables.scss b/nemo/assets/scss/vendor/bootstrap/_tables.scss deleted file mode 100644 index 5fd77a4eb0d692a657e5a0ef8040fc7e65a9e70e..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_tables.scss +++ /dev/null @@ -1,185 +0,0 @@ -// -// Basic Bootstrap table -// - -.table { - width: 100%; - margin-bottom: $spacer; - color: $table-color; - background-color: $table-bg; // Reset for nesting within parents with `background-color`. - - th, - td { - padding: $table-cell-padding; - vertical-align: top; - border-top: $table-border-width solid $table-border-color; - } - - thead th { - vertical-align: bottom; - border-bottom: (2 * $table-border-width) solid $table-border-color; - } - - tbody + tbody { - border-top: (2 * $table-border-width) solid $table-border-color; - } -} - - -// -// Condensed table w/ half padding -// - -.table-sm { - th, - td { - padding: $table-cell-padding-sm; - } -} - - -// Border versions -// -// Add or remove borders all around the table and between all the columns. - -.table-bordered { - border: $table-border-width solid $table-border-color; - - th, - td { - border: $table-border-width solid $table-border-color; - } - - thead { - th, - td { - border-bottom-width: 2 * $table-border-width; - } - } -} - -.table-borderless { - th, - td, - thead th, - tbody + tbody { - border: 0; - } -} - -// Zebra-striping -// -// Default zebra-stripe styles (alternating gray and transparent backgrounds) - -.table-striped { - tbody tr:nth-of-type(#{$table-striped-order}) { - background-color: $table-accent-bg; - } -} - - -// Hover effect -// -// Placed here since it has to come after the potential zebra striping - -.table-hover { - tbody tr { - @include hover() { - color: $table-hover-color; - background-color: $table-hover-bg; - } - } -} - - -// Table backgrounds -// -// Exact selectors below required to override `.table-striped` and prevent -// inheritance to nested tables. - -@each $color, $value in $theme-colors { - @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level)); -} - -@include table-row-variant(active, $table-active-bg); - - -// Dark styles -// -// Same table markup, but inverted color scheme: dark background and light text. - -// stylelint-disable-next-line no-duplicate-selectors -.table { - .thead-dark { - th { - color: $table-dark-color; - background-color: $table-dark-bg; - border-color: $table-dark-border-color; - } - } - - .thead-light { - th { - color: $table-head-color; - background-color: $table-head-bg; - border-color: $table-border-color; - } - } -} - -.table-dark { - color: $table-dark-color; - background-color: $table-dark-bg; - - th, - td, - thead th { - border-color: $table-dark-border-color; - } - - &.table-bordered { - border: 0; - } - - &.table-striped { - tbody tr:nth-of-type(#{$table-striped-order}) { - background-color: $table-dark-accent-bg; - } - } - - &.table-hover { - tbody tr { - @include hover() { - color: $table-dark-hover-color; - background-color: $table-dark-hover-bg; - } - } - } -} - - -// Responsive tables -// -// Generate series of `.table-responsive-*` classes for configuring the screen -// size of where your table will overflow. - -.table-responsive { - @each $breakpoint in map-keys($grid-breakpoints) { - $next: breakpoint-next($breakpoint, $grid-breakpoints); - $infix: breakpoint-infix($next, $grid-breakpoints); - - &#{$infix} { - @include media-breakpoint-down($breakpoint) { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - - // Prevent double border on horizontal scroll due to use of `display: block;` - > .table-bordered { - border: 0; - } - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_toasts.scss b/nemo/assets/scss/vendor/bootstrap/_toasts.scss deleted file mode 100644 index 6aa5352a383ccb41d3c6871bed0df5a17f03c10a..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_toasts.scss +++ /dev/null @@ -1,44 +0,0 @@ -.toast { - max-width: $toast-max-width; - overflow: hidden; // cheap rounded corners on nested items - @include font-size($toast-font-size); - color: $toast-color; - background-color: $toast-background-color; - background-clip: padding-box; - border: $toast-border-width solid $toast-border-color; - box-shadow: $toast-box-shadow; - backdrop-filter: blur(10px); - opacity: 0; - @include border-radius($toast-border-radius); - - &:not(:last-child) { - margin-bottom: $toast-padding-x; - } - - &.showing { - opacity: 1; - } - - &.show { - display: block; - opacity: 1; - } - - &.hide { - display: none; - } -} - -.toast-header { - display: flex; - align-items: center; - padding: $toast-padding-y $toast-padding-x; - color: $toast-header-color; - background-color: $toast-header-background-color; - background-clip: padding-box; - border-bottom: $toast-border-width solid $toast-header-border-color; -} - -.toast-body { - padding: $toast-padding-x; // apply to both vertical and horizontal -} diff --git a/nemo/assets/scss/vendor/bootstrap/_tooltip.scss b/nemo/assets/scss/vendor/bootstrap/_tooltip.scss deleted file mode 100644 index 6b3aa62dd619bad73540ede3459a4db91d31c7a6..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_tooltip.scss +++ /dev/null @@ -1,115 +0,0 @@ -// Base class -.tooltip { - position: absolute; - z-index: $zindex-tooltip; - display: block; - margin: $tooltip-margin; - // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. - // So reset our font and text properties to avoid inheriting weird values. - @include reset-text(); - @include font-size($tooltip-font-size); - // Allow breaking very long words so they don't overflow the tooltip's bounds - word-wrap: break-word; - opacity: 0; - - &.show { opacity: $tooltip-opacity; } - - .arrow { - position: absolute; - display: block; - width: $tooltip-arrow-width; - height: $tooltip-arrow-height; - - &::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; - } - } -} - -.bs-tooltip-top { - padding: $tooltip-arrow-height 0; - - .arrow { - bottom: 0; - - &::before { - top: 0; - border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; - border-top-color: $tooltip-arrow-color; - } - } -} - -.bs-tooltip-right { - padding: 0 $tooltip-arrow-height; - - .arrow { - left: 0; - width: $tooltip-arrow-height; - height: $tooltip-arrow-width; - - &::before { - right: 0; - border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; - border-right-color: $tooltip-arrow-color; - } - } -} - -.bs-tooltip-bottom { - padding: $tooltip-arrow-height 0; - - .arrow { - top: 0; - - &::before { - bottom: 0; - border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; - border-bottom-color: $tooltip-arrow-color; - } - } -} - -.bs-tooltip-left { - padding: 0 $tooltip-arrow-height; - - .arrow { - right: 0; - width: $tooltip-arrow-height; - height: $tooltip-arrow-width; - - &::before { - left: 0; - border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; - border-left-color: $tooltip-arrow-color; - } - } -} - -.bs-tooltip-auto { - &[x-placement^="top"] { - @extend .bs-tooltip-top; - } - &[x-placement^="right"] { - @extend .bs-tooltip-right; - } - &[x-placement^="bottom"] { - @extend .bs-tooltip-bottom; - } - &[x-placement^="left"] { - @extend .bs-tooltip-left; - } -} - -// Wrapper for the tooltip content -.tooltip-inner { - max-width: $tooltip-max-width; - padding: $tooltip-padding-y $tooltip-padding-x; - color: $tooltip-color; - text-align: center; - background-color: $tooltip-bg; - @include border-radius($tooltip-border-radius); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_transitions.scss b/nemo/assets/scss/vendor/bootstrap/_transitions.scss deleted file mode 100644 index 40be4d918add473357851dcd32b3b17f54afae27..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_transitions.scss +++ /dev/null @@ -1,20 +0,0 @@ -.fade { - @include transition($transition-fade); - - &:not(.show) { - opacity: 0; - } -} - -.collapse { - &:not(.show) { - display: none; - } -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - @include transition($transition-collapse); -} diff --git a/nemo/assets/scss/vendor/bootstrap/_type.scss b/nemo/assets/scss/vendor/bootstrap/_type.scss deleted file mode 100644 index 43dde7d0fe586ea7eb7dc7253a7ae747906869fb..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_type.scss +++ /dev/null @@ -1,125 +0,0 @@ -// stylelint-disable declaration-no-important, selector-list-comma-newline-after - -// -// Headings -// - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: $headings-margin-bottom; - font-family: $headings-font-family; - font-weight: $headings-font-weight; - line-height: $headings-line-height; - color: $headings-color; -} - -h1, .h1 { @include font-size($h1-font-size); } -h2, .h2 { @include font-size($h2-font-size); } -h3, .h3 { @include font-size($h3-font-size); } -h4, .h4 { @include font-size($h4-font-size); } -h5, .h5 { @include font-size($h5-font-size); } -h6, .h6 { @include font-size($h6-font-size); } - -.lead { - @include font-size($lead-font-size); - font-weight: $lead-font-weight; -} - -// Type display classes -.display-1 { - @include font-size($display1-size); - font-weight: $display1-weight; - line-height: $display-line-height; -} -.display-2 { - @include font-size($display2-size); - font-weight: $display2-weight; - line-height: $display-line-height; -} -.display-3 { - @include font-size($display3-size); - font-weight: $display3-weight; - line-height: $display-line-height; -} -.display-4 { - @include font-size($display4-size); - font-weight: $display4-weight; - line-height: $display-line-height; -} - - -// -// Horizontal rules -// - -hr { - margin-top: $hr-margin-y; - margin-bottom: $hr-margin-y; - border: 0; - border-top: $hr-border-width solid $hr-border-color; -} - - -// -// Emphasis -// - -small, -.small { - @include font-size($small-font-size); - font-weight: $font-weight-normal; -} - -mark, -.mark { - padding: $mark-padding; - background-color: $mark-bg; -} - - -// -// Lists -// - -.list-unstyled { - @include list-unstyled(); -} - -// Inline turns list items into inline-block -.list-inline { - @include list-unstyled(); -} -.list-inline-item { - display: inline-block; - - &:not(:last-child) { - margin-right: $list-inline-padding; - } -} - - -// -// Misc -// - -// Builds on `abbr` -.initialism { - @include font-size(90%); - text-transform: uppercase; -} - -// Blockquotes -.blockquote { - margin-bottom: $spacer; - @include font-size($blockquote-font-size); -} - -.blockquote-footer { - display: block; - @include font-size($blockquote-small-font-size); - color: $blockquote-small-color; - - &::before { - content: "\2014\00A0"; // em dash, nbsp - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/_utilities.scss b/nemo/assets/scss/vendor/bootstrap/_utilities.scss deleted file mode 100644 index a5de31ba6a50de2e58a4a9227c5e753de79cf206..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_utilities.scss +++ /dev/null @@ -1,17 +0,0 @@ -@import "utilities/align"; -@import "utilities/background"; -@import "utilities/borders"; -@import "utilities/clearfix"; -@import "utilities/display"; -@import "utilities/embed"; -@import "utilities/flex"; -@import "utilities/float"; -@import "utilities/overflow"; -@import "utilities/position"; -@import "utilities/screenreaders"; -@import "utilities/shadows"; -@import "utilities/sizing"; -@import "utilities/stretched-link"; -@import "utilities/spacing"; -@import "utilities/text"; -@import "utilities/visibility"; diff --git a/nemo/assets/scss/vendor/bootstrap/_variables.scss b/nemo/assets/scss/vendor/bootstrap/_variables.scss deleted file mode 100644 index 5d3135cd95f03c9be29fca758f8eb01c2c3ecc1f..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/_variables.scss +++ /dev/null @@ -1,1143 +0,0 @@ -// Variables -// -// Variables should follow the `$component-state-property-size` formula for -// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. - -// Color system - -$white: #fff !default; -$gray-100: #f8f9fa !default; -$gray-200: #e9ecef !default; -$gray-300: #dee2e6 !default; -$gray-400: #ced4da !default; -$gray-500: #adb5bd !default; -$gray-600: #6c757d !default; -$gray-700: #495057 !default; -$gray-800: #343a40 !default; -$gray-900: #212529 !default; -$black: #000 !default; - -$grays: () !default; -// stylelint-disable-next-line scss/dollar-variable-default -$grays: map-merge( - ( - "100": $gray-100, - "200": $gray-200, - "300": $gray-300, - "400": $gray-400, - "500": $gray-500, - "600": $gray-600, - "700": $gray-700, - "800": $gray-800, - "900": $gray-900 - ), - $grays -); - -$blue: #007bff !default; -$indigo: #6610f2 !default; -$purple: #6f42c1 !default; -$pink: #e83e8c !default; -$red: #dc3545 !default; -$orange: #fd7e14 !default; -$yellow: #ffc107 !default; -$green: #28a745 !default; -$teal: #20c997 !default; -$cyan: #17a2b8 !default; - -$colors: () !default; -// stylelint-disable-next-line scss/dollar-variable-default -$colors: map-merge( - ( - "blue": $blue, - "indigo": $indigo, - "purple": $purple, - "pink": $pink, - "red": $red, - "orange": $orange, - "yellow": $yellow, - "green": $green, - "teal": $teal, - "cyan": $cyan, - "white": $white, - "gray": $gray-600, - "gray-dark": $gray-800 - ), - $colors -); - -$primary: $blue !default; -$secondary: $gray-600 !default; -$success: $green !default; -$info: $cyan !default; -$warning: $yellow !default; -$danger: $red !default; -$light: $gray-100 !default; -$dark: $gray-800 !default; - -$theme-colors: () !default; -// stylelint-disable-next-line scss/dollar-variable-default -$theme-colors: map-merge( - ( - "primary": $primary, - "secondary": $secondary, - "success": $success, - "info": $info, - "warning": $warning, - "danger": $danger, - "light": $light, - "dark": $dark - ), - $theme-colors -); - -// Set a specific jump point for requesting color jumps -$theme-color-interval: 8% !default; - -// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. -$yiq-contrasted-threshold: 150 !default; - -// Customize the light and dark text colors for use in our YIQ color contrast function. -$yiq-text-dark: $gray-900 !default; -$yiq-text-light: $white !default; - -// Characters which are escaped by the escape-svg function -$escaped-characters: ( - ("<","%3c"), - (">","%3e"), - ("#","%23"), -) !default; - - -// Options -// -// Quickly modify global styling by enabling or disabling optional features. - -$enable-caret: true !default; -$enable-rounded: true !default; -$enable-shadows: false !default; -$enable-gradients: false !default; -$enable-transitions: true !default; -$enable-prefers-reduced-motion-media-query: true !default; -$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS -$enable-grid-classes: true !default; -$enable-pointer-cursor-for-buttons: true !default; -$enable-print-styles: true !default; -$enable-responsive-font-sizes: false !default; -$enable-validation-icons: true !default; -$enable-deprecation-messages: true !default; - - -// Spacing -// -// Control the default styling of most Bootstrap elements by modifying these -// variables. Mostly focused on spacing. -// You can add more entries to the $spacers map, should you need more variation. - -$spacer: 1rem !default; -$spacers: () !default; -// stylelint-disable-next-line scss/dollar-variable-default -$spacers: map-merge( - ( - 0: 0, - 1: ($spacer * .25), - 2: ($spacer * .5), - 3: $spacer, - 4: ($spacer * 1.5), - 5: ($spacer * 3) - ), - $spacers -); - -// This variable affects the `.h-*` and `.w-*` classes. -$sizes: () !default; -// stylelint-disable-next-line scss/dollar-variable-default -$sizes: map-merge( - ( - 25: 25%, - 50: 50%, - 75: 75%, - 100: 100%, - auto: auto - ), - $sizes -); - - -// Body -// -// Settings for the `<body>` element. - -$body-bg: $white !default; -$body-color: $gray-900 !default; - - -// Links -// -// Style anchor elements. - -$link-color: theme-color("primary") !default; -$link-decoration: none !default; -$link-hover-color: darken($link-color, 15%) !default; -$link-hover-decoration: underline !default; -// Darken percentage for links with `.text-*` class (e.g. `.text-success`) -$emphasized-link-hover-darken-percentage: 15% !default; - -// Paragraphs -// -// Style p element. - -$paragraph-margin-bottom: 1rem !default; - - -// Grid breakpoints -// -// Define the minimum dimensions at which your layout will change, -// adapting to different screen sizes, for use in media queries. - -$grid-breakpoints: ( - xs: 0, - sm: 576px, - md: 768px, - lg: 992px, - xl: 1200px -) !default; - -@include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); -@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); - - -// Grid containers -// -// Define the maximum width of `.container` for different screen sizes. - -$container-max-widths: ( - sm: 540px, - md: 720px, - lg: 960px, - xl: 1140px -) !default; - -@include _assert-ascending($container-max-widths, "$container-max-widths"); - - -// Grid columns -// -// Set the number of columns and specify the width of the gutters. - -$grid-columns: 12 !default; -$grid-gutter-width: 30px !default; -$grid-row-columns: 6 !default; - - -// Components -// -// Define common padding and border radius sizes and more. - -$line-height-lg: 1.5 !default; -$line-height-sm: 1.5 !default; - -$border-width: 1px !default; -$border-color: $gray-300 !default; - -$border-radius: .25rem !default; -$border-radius-lg: .3rem !default; -$border-radius-sm: .2rem !default; - -$rounded-pill: 50rem !default; - -$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default; -$box-shadow: 0 .5rem 1rem rgba($black, .15) !default; -$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; - -$component-active-color: $white !default; -$component-active-bg: theme-color("primary") !default; - -$caret-width: .3em !default; -$caret-vertical-align: $caret-width * .85 !default; -$caret-spacing: $caret-width * .85 !default; - -$transition-base: all .2s ease-in-out !default; -$transition-fade: opacity .15s linear !default; -$transition-collapse: height .35s ease !default; - -$embed-responsive-aspect-ratios: () !default; -// stylelint-disable-next-line scss/dollar-variable-default -$embed-responsive-aspect-ratios: join( - ( - (21 9), - (16 9), - (4 3), - (1 1), - ), - $embed-responsive-aspect-ratios -); - -// Typography -// -// Font, line-height, and color for body text, headings, and more. - -// stylelint-disable value-keyword-case -$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; -$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; -$font-family-base: $font-family-sans-serif !default; -// stylelint-enable value-keyword-case - -$font-size-base: 1rem !default; // Assumes the browser default, typically `16px` -$font-size-lg: $font-size-base * 1.25 !default; -$font-size-sm: $font-size-base * .875 !default; - -$font-weight-lighter: lighter !default; -$font-weight-light: 300 !default; -$font-weight-normal: 400 !default; -$font-weight-bold: 700 !default; -$font-weight-bolder: bolder !default; - -$font-weight-base: $font-weight-normal !default; -$line-height-base: 1.5 !default; - -$h1-font-size: $font-size-base * 2.5 !default; -$h2-font-size: $font-size-base * 2 !default; -$h3-font-size: $font-size-base * 1.75 !default; -$h4-font-size: $font-size-base * 1.5 !default; -$h5-font-size: $font-size-base * 1.25 !default; -$h6-font-size: $font-size-base !default; - -$headings-margin-bottom: $spacer / 2 !default; -$headings-font-family: null !default; -$headings-font-weight: 500 !default; -$headings-line-height: 1.2 !default; -$headings-color: null !default; - -$display1-size: 6rem !default; -$display2-size: 5.5rem !default; -$display3-size: 4.5rem !default; -$display4-size: 3.5rem !default; - -$display1-weight: 300 !default; -$display2-weight: 300 !default; -$display3-weight: 300 !default; -$display4-weight: 300 !default; -$display-line-height: $headings-line-height !default; - -$lead-font-size: $font-size-base * 1.25 !default; -$lead-font-weight: 300 !default; - -$small-font-size: 80% !default; - -$text-muted: $gray-600 !default; - -$blockquote-small-color: $gray-600 !default; -$blockquote-small-font-size: $small-font-size !default; -$blockquote-font-size: $font-size-base * 1.25 !default; - -$hr-border-color: rgba($black, .1) !default; -$hr-border-width: $border-width !default; - -$mark-padding: .2em !default; - -$dt-font-weight: $font-weight-bold !default; - -$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default; -$nested-kbd-font-weight: $font-weight-bold !default; - -$list-inline-padding: .5rem !default; - -$mark-bg: #fcf8e3 !default; - -$hr-margin-y: $spacer !default; - - -// Tables -// -// Customizes the `.table` component with basic values, each used across all table variations. - -$table-cell-padding: .75rem !default; -$table-cell-padding-sm: .3rem !default; - -$table-color: $body-color !default; -$table-bg: null !default; -$table-accent-bg: rgba($black, .05) !default; -$table-hover-color: $table-color !default; -$table-hover-bg: rgba($black, .075) !default; -$table-active-bg: $table-hover-bg !default; - -$table-border-width: $border-width !default; -$table-border-color: $border-color !default; - -$table-head-bg: $gray-200 !default; -$table-head-color: $gray-700 !default; - -$table-dark-color: $white !default; -$table-dark-bg: $gray-800 !default; -$table-dark-accent-bg: rgba($white, .05) !default; -$table-dark-hover-color: $table-dark-color !default; -$table-dark-hover-bg: rgba($white, .075) !default; -$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default; - -$table-striped-order: odd !default; - -$table-caption-color: $text-muted !default; - -$table-bg-level: -9 !default; -$table-border-level: -6 !default; - - -// Buttons + Forms -// -// Shared variables that are reassigned to `$input-` and `$btn-` specific variables. - -$input-btn-padding-y: .375rem !default; -$input-btn-padding-x: .75rem !default; -$input-btn-font-family: null !default; -$input-btn-font-size: $font-size-base !default; -$input-btn-line-height: $line-height-base !default; - -$input-btn-focus-width: .2rem !default; -$input-btn-focus-color: rgba($component-active-bg, .25) !default; -$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; - -$input-btn-padding-y-sm: .25rem !default; -$input-btn-padding-x-sm: .5rem !default; -$input-btn-font-size-sm: $font-size-sm !default; -$input-btn-line-height-sm: $line-height-sm !default; - -$input-btn-padding-y-lg: .5rem !default; -$input-btn-padding-x-lg: 1rem !default; -$input-btn-font-size-lg: $font-size-lg !default; -$input-btn-line-height-lg: $line-height-lg !default; - -$input-btn-border-width: $border-width !default; - - -// Buttons -// -// For each of Bootstrap's buttons, define text, background, and border color. - -$btn-padding-y: $input-btn-padding-y !default; -$btn-padding-x: $input-btn-padding-x !default; -$btn-font-family: $input-btn-font-family !default; -$btn-font-size: $input-btn-font-size !default; -$btn-line-height: $input-btn-line-height !default; -$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping - -$btn-padding-y-sm: $input-btn-padding-y-sm !default; -$btn-padding-x-sm: $input-btn-padding-x-sm !default; -$btn-font-size-sm: $input-btn-font-size-sm !default; -$btn-line-height-sm: $input-btn-line-height-sm !default; - -$btn-padding-y-lg: $input-btn-padding-y-lg !default; -$btn-padding-x-lg: $input-btn-padding-x-lg !default; -$btn-font-size-lg: $input-btn-font-size-lg !default; -$btn-line-height-lg: $input-btn-line-height-lg !default; - -$btn-border-width: $input-btn-border-width !default; - -$btn-font-weight: $font-weight-normal !default; -$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default; -$btn-focus-width: $input-btn-focus-width !default; -$btn-focus-box-shadow: $input-btn-focus-box-shadow !default; -$btn-disabled-opacity: .65 !default; -$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default; - -$btn-link-disabled-color: $gray-600 !default; - -$btn-block-spacing-y: .5rem !default; - -// Allows for customizing button radius independently from global border radius -$btn-border-radius: $border-radius !default; -$btn-border-radius-lg: $border-radius-lg !default; -$btn-border-radius-sm: $border-radius-sm !default; - -$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; - - -// Forms - -$label-margin-bottom: .5rem !default; - -$input-padding-y: $input-btn-padding-y !default; -$input-padding-x: $input-btn-padding-x !default; -$input-font-family: $input-btn-font-family !default; -$input-font-size: $input-btn-font-size !default; -$input-font-weight: $font-weight-base !default; -$input-line-height: $input-btn-line-height !default; - -$input-padding-y-sm: $input-btn-padding-y-sm !default; -$input-padding-x-sm: $input-btn-padding-x-sm !default; -$input-font-size-sm: $input-btn-font-size-sm !default; -$input-line-height-sm: $input-btn-line-height-sm !default; - -$input-padding-y-lg: $input-btn-padding-y-lg !default; -$input-padding-x-lg: $input-btn-padding-x-lg !default; -$input-font-size-lg: $input-btn-font-size-lg !default; -$input-line-height-lg: $input-btn-line-height-lg !default; - -$input-bg: $white !default; -$input-disabled-bg: $gray-200 !default; - -$input-color: $gray-700 !default; -$input-border-color: $gray-400 !default; -$input-border-width: $input-btn-border-width !default; -$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default; - -$input-border-radius: $border-radius !default; -$input-border-radius-lg: $border-radius-lg !default; -$input-border-radius-sm: $border-radius-sm !default; - -$input-focus-bg: $input-bg !default; -$input-focus-border-color: lighten($component-active-bg, 25%) !default; -$input-focus-color: $input-color !default; -$input-focus-width: $input-btn-focus-width !default; -$input-focus-box-shadow: $input-btn-focus-box-shadow !default; - -$input-placeholder-color: $gray-600 !default; -$input-plaintext-color: $body-color !default; - -$input-height-border: $input-border-width * 2 !default; - -$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default; -$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default; -$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default; - -$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default; -$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default; -$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default; - -$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; - -$form-text-margin-top: .25rem !default; - -$form-check-input-gutter: 1.25rem !default; -$form-check-input-margin-y: .3rem !default; -$form-check-input-margin-x: .25rem !default; - -$form-check-inline-margin-x: .75rem !default; -$form-check-inline-input-margin-x: .3125rem !default; - -$form-grid-gutter-width: 10px !default; -$form-group-margin-bottom: 1rem !default; - -$input-group-addon-color: $input-color !default; -$input-group-addon-bg: $gray-200 !default; -$input-group-addon-border-color: $input-border-color !default; - -$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; - -$custom-control-gutter: .5rem !default; -$custom-control-spacer-x: 1rem !default; -$custom-control-cursor: null !default; - -$custom-control-indicator-size: 1rem !default; -$custom-control-indicator-bg: $input-bg !default; - -$custom-control-indicator-bg-size: 50% 50% !default; -$custom-control-indicator-box-shadow: $input-box-shadow !default; -$custom-control-indicator-border-color: $gray-500 !default; -$custom-control-indicator-border-width: $input-border-width !default; - -$custom-control-label-color: null !default; - -$custom-control-indicator-disabled-bg: $input-disabled-bg !default; -$custom-control-label-disabled-color: $gray-600 !default; - -$custom-control-indicator-checked-color: $component-active-color !default; -$custom-control-indicator-checked-bg: $component-active-bg !default; -$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default; -$custom-control-indicator-checked-box-shadow: none !default; -$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default; - -$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default; -$custom-control-indicator-focus-border-color: $input-focus-border-color !default; - -$custom-control-indicator-active-color: $component-active-color !default; -$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default; -$custom-control-indicator-active-box-shadow: none !default; -$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default; - -$custom-checkbox-indicator-border-radius: $border-radius !default; -$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default; - -$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default; -$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default; -$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>") !default; -$custom-checkbox-indicator-indeterminate-box-shadow: none !default; -$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default; - -$custom-radio-indicator-border-radius: 50% !default; -$custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>") !default; - -$custom-switch-width: $custom-control-indicator-size * 1.75 !default; -$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default; -$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default; - -$custom-select-padding-y: $input-padding-y !default; -$custom-select-padding-x: $input-padding-x !default; -$custom-select-font-family: $input-font-family !default; -$custom-select-font-size: $input-font-size !default; -$custom-select-height: $input-height !default; -$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator -$custom-select-font-weight: $input-font-weight !default; -$custom-select-line-height: $input-line-height !default; -$custom-select-color: $input-color !default; -$custom-select-disabled-color: $gray-600 !default; -$custom-select-bg: $input-bg !default; -$custom-select-disabled-bg: $gray-200 !default; -$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions -$custom-select-indicator-color: $gray-800 !default; -$custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default; -$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon) - -$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default; -$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default; -$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; - -$custom-select-border-width: $input-border-width !default; -$custom-select-border-color: $input-border-color !default; -$custom-select-border-radius: $border-radius !default; -$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default; - -$custom-select-focus-border-color: $input-focus-border-color !default; -$custom-select-focus-width: $input-focus-width !default; -$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default; - -$custom-select-padding-y-sm: $input-padding-y-sm !default; -$custom-select-padding-x-sm: $input-padding-x-sm !default; -$custom-select-font-size-sm: $input-font-size-sm !default; -$custom-select-height-sm: $input-height-sm !default; - -$custom-select-padding-y-lg: $input-padding-y-lg !default; -$custom-select-padding-x-lg: $input-padding-x-lg !default; -$custom-select-font-size-lg: $input-font-size-lg !default; -$custom-select-height-lg: $input-height-lg !default; - -$custom-range-track-width: 100% !default; -$custom-range-track-height: .5rem !default; -$custom-range-track-cursor: pointer !default; -$custom-range-track-bg: $gray-300 !default; -$custom-range-track-border-radius: 1rem !default; -$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default; - -$custom-range-thumb-width: 1rem !default; -$custom-range-thumb-height: $custom-range-thumb-width !default; -$custom-range-thumb-bg: $component-active-bg !default; -$custom-range-thumb-border: 0 !default; -$custom-range-thumb-border-radius: 1rem !default; -$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default; -$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default; -$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge -$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default; -$custom-range-thumb-disabled-bg: $gray-500 !default; - -$custom-file-height: $input-height !default; -$custom-file-height-inner: $input-height-inner !default; -$custom-file-focus-border-color: $input-focus-border-color !default; -$custom-file-focus-box-shadow: $input-focus-box-shadow !default; -$custom-file-disabled-bg: $input-disabled-bg !default; - -$custom-file-padding-y: $input-padding-y !default; -$custom-file-padding-x: $input-padding-x !default; -$custom-file-line-height: $input-line-height !default; -$custom-file-font-family: $input-font-family !default; -$custom-file-font-weight: $input-font-weight !default; -$custom-file-color: $input-color !default; -$custom-file-bg: $input-bg !default; -$custom-file-border-width: $input-border-width !default; -$custom-file-border-color: $input-border-color !default; -$custom-file-border-radius: $input-border-radius !default; -$custom-file-box-shadow: $input-box-shadow !default; -$custom-file-button-color: $custom-file-color !default; -$custom-file-button-bg: $input-group-addon-bg !default; -$custom-file-text: ( - en: "Browse" -) !default; - - -// Form validation - -$form-feedback-margin-top: $form-text-margin-top !default; -$form-feedback-font-size: $small-font-size !default; -$form-feedback-valid-color: theme-color("success") !default; -$form-feedback-invalid-color: theme-color("danger") !default; - -$form-feedback-icon-valid-color: $form-feedback-valid-color !default; -$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default; -$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; -$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default; - -$form-validation-states: () !default; -// stylelint-disable-next-line scss/dollar-variable-default -$form-validation-states: map-merge( - ( - "valid": ( - "color": $form-feedback-valid-color, - "icon": $form-feedback-icon-valid - ), - "invalid": ( - "color": $form-feedback-invalid-color, - "icon": $form-feedback-icon-invalid - ), - ), - $form-validation-states -); - -// Z-index master list -// -// Warning: Avoid customizing these values. They're used for a bird's eye view -// of components dependent on the z-axis and are designed to all work together. - -$zindex-dropdown: 1000 !default; -$zindex-sticky: 1020 !default; -$zindex-fixed: 1030 !default; -$zindex-modal-backdrop: 1040 !default; -$zindex-modal: 1050 !default; -$zindex-popover: 1060 !default; -$zindex-tooltip: 1070 !default; - - -// Navs - -$nav-link-padding-y: .5rem !default; -$nav-link-padding-x: 1rem !default; -$nav-link-disabled-color: $gray-600 !default; - -$nav-tabs-border-color: $gray-300 !default; -$nav-tabs-border-width: $border-width !default; -$nav-tabs-border-radius: $border-radius !default; -$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default; -$nav-tabs-link-active-color: $gray-700 !default; -$nav-tabs-link-active-bg: $body-bg !default; -$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default; - -$nav-pills-border-radius: $border-radius !default; -$nav-pills-link-active-color: $component-active-color !default; -$nav-pills-link-active-bg: $component-active-bg !default; - -$nav-divider-color: $gray-200 !default; -$nav-divider-margin-y: $spacer / 2 !default; - - -// Navbar - -$navbar-padding-y: $spacer / 2 !default; -$navbar-padding-x: $spacer !default; - -$navbar-nav-link-padding-x: .5rem !default; - -$navbar-brand-font-size: $font-size-lg !default; -// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link -$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default; -$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default; -$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default; - -$navbar-toggler-padding-y: .25rem !default; -$navbar-toggler-padding-x: .75rem !default; -$navbar-toggler-font-size: $font-size-lg !default; -$navbar-toggler-border-radius: $btn-border-radius !default; - -$navbar-dark-color: rgba($white, .5) !default; -$navbar-dark-hover-color: rgba($white, .75) !default; -$navbar-dark-active-color: $white !default; -$navbar-dark-disabled-color: rgba($white, .25) !default; -$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; -$navbar-dark-toggler-border-color: rgba($white, .1) !default; - -$navbar-light-color: rgba($black, .5) !default; -$navbar-light-hover-color: rgba($black, .7) !default; -$navbar-light-active-color: rgba($black, .9) !default; -$navbar-light-disabled-color: rgba($black, .3) !default; -$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; -$navbar-light-toggler-border-color: rgba($black, .1) !default; - -$navbar-light-brand-color: $navbar-light-active-color !default; -$navbar-light-brand-hover-color: $navbar-light-active-color !default; -$navbar-dark-brand-color: $navbar-dark-active-color !default; -$navbar-dark-brand-hover-color: $navbar-dark-active-color !default; - - -// Dropdowns -// -// Dropdown menu container and contents. - -$dropdown-min-width: 10rem !default; -$dropdown-padding-y: .5rem !default; -$dropdown-spacer: .125rem !default; -$dropdown-font-size: $font-size-base !default; -$dropdown-color: $body-color !default; -$dropdown-bg: $white !default; -$dropdown-border-color: rgba($black, .15) !default; -$dropdown-border-radius: $border-radius !default; -$dropdown-border-width: $border-width !default; -$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default; -$dropdown-divider-bg: $gray-200 !default; -$dropdown-divider-margin-y: $nav-divider-margin-y !default; -$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default; - -$dropdown-link-color: $gray-900 !default; -$dropdown-link-hover-color: darken($gray-900, 5%) !default; -$dropdown-link-hover-bg: $gray-100 !default; - -$dropdown-link-active-color: $component-active-color !default; -$dropdown-link-active-bg: $component-active-bg !default; - -$dropdown-link-disabled-color: $gray-600 !default; - -$dropdown-item-padding-y: .25rem !default; -$dropdown-item-padding-x: 1.5rem !default; - -$dropdown-header-color: $gray-600 !default; - - -// Pagination - -$pagination-padding-y: .5rem !default; -$pagination-padding-x: .75rem !default; -$pagination-padding-y-sm: .25rem !default; -$pagination-padding-x-sm: .5rem !default; -$pagination-padding-y-lg: .75rem !default; -$pagination-padding-x-lg: 1.5rem !default; -$pagination-line-height: 1.25 !default; - -$pagination-color: $link-color !default; -$pagination-bg: $white !default; -$pagination-border-width: $border-width !default; -$pagination-border-color: $gray-300 !default; - -$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default; -$pagination-focus-outline: 0 !default; - -$pagination-hover-color: $link-hover-color !default; -$pagination-hover-bg: $gray-200 !default; -$pagination-hover-border-color: $gray-300 !default; - -$pagination-active-color: $component-active-color !default; -$pagination-active-bg: $component-active-bg !default; -$pagination-active-border-color: $pagination-active-bg !default; - -$pagination-disabled-color: $gray-600 !default; -$pagination-disabled-bg: $white !default; -$pagination-disabled-border-color: $gray-300 !default; - - -// Jumbotron - -$jumbotron-padding: 2rem !default; -$jumbotron-color: null !default; -$jumbotron-bg: $gray-200 !default; - - -// Cards - -$card-spacer-y: .75rem !default; -$card-spacer-x: 1.25rem !default; -$card-border-width: $border-width !default; -$card-border-radius: $border-radius !default; -$card-border-color: rgba($black, .125) !default; -$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default; -$card-cap-bg: rgba($black, .03) !default; -$card-cap-color: null !default; -$card-height: null !default; -$card-color: null !default; -$card-bg: $white !default; - -$card-img-overlay-padding: 1.25rem !default; - -$card-group-margin: $grid-gutter-width / 2 !default; -$card-deck-margin: $card-group-margin !default; - -$card-columns-count: 3 !default; -$card-columns-gap: 1.25rem !default; -$card-columns-margin: $card-spacer-y !default; - - -// Tooltips - -$tooltip-font-size: $font-size-sm !default; -$tooltip-max-width: 200px !default; -$tooltip-color: $white !default; -$tooltip-bg: $black !default; -$tooltip-border-radius: $border-radius !default; -$tooltip-opacity: .9 !default; -$tooltip-padding-y: .25rem !default; -$tooltip-padding-x: .5rem !default; -$tooltip-margin: 0 !default; - -$tooltip-arrow-width: .8rem !default; -$tooltip-arrow-height: .4rem !default; -$tooltip-arrow-color: $tooltip-bg !default; - -// Form tooltips must come after regular tooltips -$form-feedback-tooltip-padding-y: $tooltip-padding-y !default; -$form-feedback-tooltip-padding-x: $tooltip-padding-x !default; -$form-feedback-tooltip-font-size: $tooltip-font-size !default; -$form-feedback-tooltip-line-height: $line-height-base !default; -$form-feedback-tooltip-opacity: $tooltip-opacity !default; -$form-feedback-tooltip-border-radius: $tooltip-border-radius !default; - - -// Popovers - -$popover-font-size: $font-size-sm !default; -$popover-bg: $white !default; -$popover-max-width: 276px !default; -$popover-border-width: $border-width !default; -$popover-border-color: rgba($black, .2) !default; -$popover-border-radius: $border-radius-lg !default; -$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default; -$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default; - -$popover-header-bg: darken($popover-bg, 3%) !default; -$popover-header-color: $headings-color !default; -$popover-header-padding-y: .5rem !default; -$popover-header-padding-x: .75rem !default; - -$popover-body-color: $body-color !default; -$popover-body-padding-y: $popover-header-padding-y !default; -$popover-body-padding-x: $popover-header-padding-x !default; - -$popover-arrow-width: 1rem !default; -$popover-arrow-height: .5rem !default; -$popover-arrow-color: $popover-bg !default; - -$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default; - - -// Toasts - -$toast-max-width: 350px !default; -$toast-padding-x: .75rem !default; -$toast-padding-y: .25rem !default; -$toast-font-size: .875rem !default; -$toast-color: null !default; -$toast-background-color: rgba($white, .85) !default; -$toast-border-width: 1px !default; -$toast-border-color: rgba(0, 0, 0, .1) !default; -$toast-border-radius: .25rem !default; -$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default; - -$toast-header-color: $gray-600 !default; -$toast-header-background-color: rgba($white, .85) !default; -$toast-header-border-color: rgba(0, 0, 0, .05) !default; - - -// Badges - -$badge-font-size: 75% !default; -$badge-font-weight: $font-weight-bold !default; -$badge-padding-y: .25em !default; -$badge-padding-x: .4em !default; -$badge-border-radius: $border-radius !default; - -$badge-transition: $btn-transition !default; -$badge-focus-width: $input-btn-focus-width !default; - -$badge-pill-padding-x: .6em !default; -// Use a higher than normal value to ensure completely rounded edges when -// customizing padding or font-size on labels. -$badge-pill-border-radius: 10rem !default; - - -// Modals - -// Padding applied to the modal body -$modal-inner-padding: 1rem !default; - -// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding -$modal-footer-margin-between: .5rem !default; - -$modal-dialog-margin: .5rem !default; -$modal-dialog-margin-y-sm-up: 1.75rem !default; - -$modal-title-line-height: $line-height-base !default; - -$modal-content-color: null !default; -$modal-content-bg: $white !default; -$modal-content-border-color: rgba($black, .2) !default; -$modal-content-border-width: $border-width !default; -$modal-content-border-radius: $border-radius-lg !default; -$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default; -$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default; -$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default; - -$modal-backdrop-bg: $black !default; -$modal-backdrop-opacity: .5 !default; -$modal-header-border-color: $border-color !default; -$modal-footer-border-color: $modal-header-border-color !default; -$modal-header-border-width: $modal-content-border-width !default; -$modal-footer-border-width: $modal-header-border-width !default; -$modal-header-padding-y: 1rem !default; -$modal-header-padding-x: 1rem !default; -$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility - -$modal-xl: 1140px !default; -$modal-lg: 800px !default; -$modal-md: 500px !default; -$modal-sm: 300px !default; - -$modal-fade-transform: translate(0, -50px) !default; -$modal-show-transform: none !default; -$modal-transition: transform .3s ease-out !default; -$modal-scale-transform: scale(1.02) !default; - - -// Alerts -// -// Define alert colors, border radius, and padding. - -$alert-padding-y: .75rem !default; -$alert-padding-x: 1.25rem !default; -$alert-margin-bottom: 1rem !default; -$alert-border-radius: $border-radius !default; -$alert-link-font-weight: $font-weight-bold !default; -$alert-border-width: $border-width !default; - -$alert-bg-level: -10 !default; -$alert-border-level: -9 !default; -$alert-color-level: 6 !default; - - -// Progress bars - -$progress-height: 1rem !default; -$progress-font-size: $font-size-base * .75 !default; -$progress-bg: $gray-200 !default; -$progress-border-radius: $border-radius !default; -$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default; -$progress-bar-color: $white !default; -$progress-bar-bg: theme-color("primary") !default; -$progress-bar-animation-timing: 1s linear infinite !default; -$progress-bar-transition: width .6s ease !default; - - -// List group - -$list-group-color: null !default; -$list-group-bg: $white !default; -$list-group-border-color: rgba($black, .125) !default; -$list-group-border-width: $border-width !default; -$list-group-border-radius: $border-radius !default; - -$list-group-item-padding-y: .75rem !default; -$list-group-item-padding-x: 1.25rem !default; - -$list-group-hover-bg: $gray-100 !default; -$list-group-active-color: $component-active-color !default; -$list-group-active-bg: $component-active-bg !default; -$list-group-active-border-color: $list-group-active-bg !default; - -$list-group-disabled-color: $gray-600 !default; -$list-group-disabled-bg: $list-group-bg !default; - -$list-group-action-color: $gray-700 !default; -$list-group-action-hover-color: $list-group-action-color !default; - -$list-group-action-active-color: $body-color !default; -$list-group-action-active-bg: $gray-200 !default; - - -// Image thumbnails - -$thumbnail-padding: .25rem !default; -$thumbnail-bg: $body-bg !default; -$thumbnail-border-width: $border-width !default; -$thumbnail-border-color: $gray-300 !default; -$thumbnail-border-radius: $border-radius !default; -$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default; - - -// Figures - -$figure-caption-font-size: 90% !default; -$figure-caption-color: $gray-600 !default; - - -// Breadcrumbs - -$breadcrumb-font-size: null !default; - -$breadcrumb-padding-y: .75rem !default; -$breadcrumb-padding-x: 1rem !default; -$breadcrumb-item-padding: .5rem !default; - -$breadcrumb-margin-bottom: 1rem !default; - -$breadcrumb-bg: $gray-200 !default; -$breadcrumb-divider-color: $gray-600 !default; -$breadcrumb-active-color: $gray-600 !default; -$breadcrumb-divider: quote("/") !default; - -$breadcrumb-border-radius: $border-radius !default; - - -// Carousel - -$carousel-control-color: $white !default; -$carousel-control-width: 15% !default; -$carousel-control-opacity: .5 !default; -$carousel-control-hover-opacity: .9 !default; -$carousel-control-transition: opacity .15s ease !default; - -$carousel-indicator-width: 30px !default; -$carousel-indicator-height: 3px !default; -$carousel-indicator-hit-area-height: 10px !default; -$carousel-indicator-spacer: 3px !default; -$carousel-indicator-active-bg: $white !default; -$carousel-indicator-transition: opacity .6s ease !default; - -$carousel-caption-width: 70% !default; -$carousel-caption-color: $white !default; - -$carousel-control-icon-width: 20px !default; - -$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>") !default; -$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>") !default; - -$carousel-transition-duration: .6s !default; -$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) - - -// Spinners - -$spinner-width: 2rem !default; -$spinner-height: $spinner-width !default; -$spinner-border-width: .25em !default; - -$spinner-width-sm: 1rem !default; -$spinner-height-sm: $spinner-width-sm !default; -$spinner-border-width-sm: .2em !default; - - -// Close - -$close-font-size: $font-size-base * 1.5 !default; -$close-font-weight: $font-weight-bold !default; -$close-color: $black !default; -$close-text-shadow: 0 1px 0 $white !default; - - -// Code - -$code-font-size: 87.5% !default; -$code-color: $pink !default; - -$kbd-padding-y: .2rem !default; -$kbd-padding-x: .4rem !default; -$kbd-font-size: $code-font-size !default; -$kbd-color: $white !default; -$kbd-bg: $gray-900 !default; - -$pre-color: $gray-900 !default; -$pre-scrollable-max-height: 340px !default; - - -// Utilities - -$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default; -$overflows: auto, hidden !default; -$positions: static, relative, absolute, fixed, sticky !default; - - -// Printing - -$print-page-size: a3 !default; -$print-body-min-width: map-get($grid-breakpoints, "lg") !default; diff --git a/nemo/assets/scss/vendor/bootstrap/bootstrap-grid.scss b/nemo/assets/scss/vendor/bootstrap/bootstrap-grid.scss deleted file mode 100644 index 33e1376b362ecf5b56f22a3a6ab27d8a74dbc57b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/bootstrap-grid.scss +++ /dev/null @@ -1,29 +0,0 @@ -/*! - * Bootstrap Grid v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -html { - box-sizing: border-box; - -ms-overflow-style: scrollbar; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - -@import "functions"; -@import "variables"; - -@import "mixins/breakpoints"; -@import "mixins/grid-framework"; -@import "mixins/grid"; - -@import "grid"; -@import "utilities/display"; -@import "utilities/flex"; -@import "utilities/spacing"; diff --git a/nemo/assets/scss/vendor/bootstrap/bootstrap-reboot.scss b/nemo/assets/scss/vendor/bootstrap/bootstrap-reboot.scss deleted file mode 100644 index 5dd6f846b44d9c6e086711ad3123c0271bb17554..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/bootstrap-reboot.scss +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) - */ - -@import "functions"; -@import "variables"; -@import "mixins"; -@import "reboot"; diff --git a/nemo/assets/scss/vendor/bootstrap/bootstrap.scss b/nemo/assets/scss/vendor/bootstrap/bootstrap.scss deleted file mode 100644 index 881e4d869a56e6c9050bbbcdae90ab16f1c1d84b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/bootstrap.scss +++ /dev/null @@ -1,44 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - -@import "functions"; -@import "variables"; -@import "mixins"; -@import "root"; -@import "reboot"; -@import "type"; -@import "images"; -@import "code"; -@import "grid"; -@import "tables"; -@import "forms"; -@import "buttons"; -@import "transitions"; -@import "dropdown"; -@import "button-group"; -@import "input-group"; -@import "custom-forms"; -@import "nav"; -@import "navbar"; -@import "card"; -@import "breadcrumb"; -@import "pagination"; -@import "badge"; -@import "jumbotron"; -@import "alert"; -@import "progress"; -@import "media"; -@import "list-group"; -@import "close"; -@import "toasts"; -@import "modal"; -@import "tooltip"; -@import "popover"; -@import "carousel"; -@import "spinners"; -@import "utilities"; -@import "print"; diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_alert.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_alert.scss deleted file mode 100644 index db5a7eb4549ec1406985347113efa74287a2f219..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_alert.scss +++ /dev/null @@ -1,13 +0,0 @@ -@mixin alert-variant($background, $border, $color) { - color: $color; - @include gradient-bg($background); - border-color: $border; - - hr { - border-top-color: darken($border, 5%); - } - - .alert-link { - color: darken($color, 10%); - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_background-variant.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_background-variant.scss deleted file mode 100644 index 3ceb5c5639dee03daaf0094ccb362d353f4e1731..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_background-variant.scss +++ /dev/null @@ -1,22 +0,0 @@ -// stylelint-disable declaration-no-important - -// Contextual backgrounds - -@mixin bg-variant($parent, $color, $ignore-warning: false) { - #{$parent} { - background-color: $color !important; - } - a#{$parent}, - button#{$parent} { - @include hover-focus() { - background-color: darken($color, 10%) !important; - } - } - @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning); -} - -@mixin bg-gradient-variant($parent, $color) { - #{$parent} { - background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_badge.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_badge.scss deleted file mode 100644 index f1c499141accb569142e67a5ffff52ea1fb22cf1..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_badge.scss +++ /dev/null @@ -1,17 +0,0 @@ -@mixin badge-variant($bg) { - color: color-yiq($bg); - background-color: $bg; - - @at-root a#{&} { - @include hover-focus() { - color: color-yiq($bg); - background-color: darken($bg, 10%); - } - - &:focus, - &.focus { - outline: 0; - box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_border-radius.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_border-radius.scss deleted file mode 100644 index 88aeb37d818c3fa50abf6f27e9be69b87d5db40b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_border-radius.scss +++ /dev/null @@ -1,63 +0,0 @@ -// stylelint-disable property-blacklist -// Single side border-radius - -@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { - @if $enable-rounded { - border-radius: $radius; - } - @else if $fallback-border-radius != false { - border-radius: $fallback-border-radius; - } -} - -@mixin border-top-radius($radius) { - @if $enable-rounded { - border-top-left-radius: $radius; - border-top-right-radius: $radius; - } -} - -@mixin border-right-radius($radius) { - @if $enable-rounded { - border-top-right-radius: $radius; - border-bottom-right-radius: $radius; - } -} - -@mixin border-bottom-radius($radius) { - @if $enable-rounded { - border-bottom-right-radius: $radius; - border-bottom-left-radius: $radius; - } -} - -@mixin border-left-radius($radius) { - @if $enable-rounded { - border-top-left-radius: $radius; - border-bottom-left-radius: $radius; - } -} - -@mixin border-top-left-radius($radius) { - @if $enable-rounded { - border-top-left-radius: $radius; - } -} - -@mixin border-top-right-radius($radius) { - @if $enable-rounded { - border-top-right-radius: $radius; - } -} - -@mixin border-bottom-right-radius($radius) { - @if $enable-rounded { - border-bottom-right-radius: $radius; - } -} - -@mixin border-bottom-left-radius($radius) { - @if $enable-rounded { - border-bottom-left-radius: $radius; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_box-shadow.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_box-shadow.scss deleted file mode 100644 index 0726d4359a8f30eef0d0ca097a17994456343675..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_box-shadow.scss +++ /dev/null @@ -1,20 +0,0 @@ -@mixin box-shadow($shadow...) { - @if $enable-shadows { - $result: (); - - @if (length($shadow) == 1) { - // We can pass `@include box-shadow(none);` - $result: $shadow; - } @else { - // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;` - @for $i from 1 through length($shadow) { - @if nth($shadow, $i) != "none" { - $result: append($result, nth($shadow, $i), "comma"); - } - } - } - @if (length($result) > 0) { - box-shadow: $result; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_breakpoints.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_breakpoints.scss deleted file mode 100644 index 23a5de96be0dfd0bcbf342a67ef62b1039500a77..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_breakpoints.scss +++ /dev/null @@ -1,123 +0,0 @@ -// Breakpoint viewport sizes and media queries. -// -// Breakpoints are defined as a map of (name: minimum width), order from small to large: -// -// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px) -// -// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default. - -// Name of the next breakpoint, or null for the last breakpoint. -// -// >> breakpoint-next(sm) -// md -// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) -// md -// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl)) -// md -@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { - $n: index($breakpoint-names, $name); - @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); -} - -// Minimum breakpoint width. Null for the smallest (first) breakpoint. -// -// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) -// 576px -@function breakpoint-min($name, $breakpoints: $grid-breakpoints) { - $min: map-get($breakpoints, $name); - @return if($min != 0, $min, null); -} - -// Maximum breakpoint width. Null for the largest (last) breakpoint. -// The maximum value is calculated as the minimum of the next one less 0.02px -// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths. -// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max -// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari. -// See https://bugs.webkit.org/show_bug.cgi?id=178261 -// -// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) -// 767.98px -@function breakpoint-max($name, $breakpoints: $grid-breakpoints) { - $next: breakpoint-next($name, $breakpoints); - @return if($next, breakpoint-min($next, $breakpoints) - .02, null); -} - -// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front. -// Useful for making responsive utilities. -// -// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) -// "" (Returns a blank string) -// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) -// "-sm" -@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) { - @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}"); -} - -// Media of at least the minimum breakpoint width. No query for the smallest breakpoint. -// Makes the @content apply to the given breakpoint and wider. -@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { - $min: breakpoint-min($name, $breakpoints); - @if $min { - @media (min-width: $min) { - @content; - } - } @else { - @content; - } -} - -// Media of at most the maximum breakpoint width. No query for the largest breakpoint. -// Makes the @content apply to the given breakpoint and narrower. -@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) { - $max: breakpoint-max($name, $breakpoints); - @if $max { - @media (max-width: $max) { - @content; - } - } @else { - @content; - } -} - -// Media that spans multiple breakpoint widths. -// Makes the @content apply between the min and max breakpoints -@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) { - $min: breakpoint-min($lower, $breakpoints); - $max: breakpoint-max($upper, $breakpoints); - - @if $min != null and $max != null { - @media (min-width: $min) and (max-width: $max) { - @content; - } - } @else if $max == null { - @include media-breakpoint-up($lower, $breakpoints) { - @content; - } - } @else if $min == null { - @include media-breakpoint-down($upper, $breakpoints) { - @content; - } - } -} - -// Media between the breakpoint's minimum and maximum widths. -// No minimum for the smallest breakpoint, and no maximum for the largest one. -// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. -@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) { - $min: breakpoint-min($name, $breakpoints); - $max: breakpoint-max($name, $breakpoints); - - @if $min != null and $max != null { - @media (min-width: $min) and (max-width: $max) { - @content; - } - } @else if $max == null { - @include media-breakpoint-up($name, $breakpoints) { - @content; - } - } @else if $min == null { - @include media-breakpoint-down($name, $breakpoints) { - @content; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_buttons.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_buttons.scss deleted file mode 100644 index c82c4d6d094f86818386931af861ddcbb460936f..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_buttons.scss +++ /dev/null @@ -1,110 +0,0 @@ -// Button variants -// -// Easily pump out default styles, as well as :hover, :focus, :active, -// and disabled options for all buttons - -@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) { - color: color-yiq($background); - @include gradient-bg($background); - border-color: $border; - @include box-shadow($btn-box-shadow); - - @include hover() { - color: color-yiq($hover-background); - @include gradient-bg($hover-background); - border-color: $hover-border; - } - - &:focus, - &.focus { - color: color-yiq($hover-background); - @include gradient-bg($hover-background); - border-color: $hover-border; - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows { - box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); - } @else { - box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); - } - } - - // Disabled comes first so active can properly restyle - &.disabled, - &:disabled { - color: color-yiq($background); - background-color: $background; - border-color: $border; - // Remove CSS gradients if they're enabled - @if $enable-gradients { - background-image: none; - } - } - - &:not(:disabled):not(.disabled):active, - &:not(:disabled):not(.disabled).active, - .show > &.dropdown-toggle { - color: color-yiq($active-background); - background-color: $active-background; - @if $enable-gradients { - background-image: none; // Remove the gradient for the pressed/active state - } - border-color: $active-border; - - &:focus { - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows and $btn-active-box-shadow != none { - box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); - } @else { - box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); - } - } - } -} - -@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) { - color: $color; - border-color: $color; - - @include hover() { - color: $color-hover; - background-color: $active-background; - border-color: $active-border; - } - - &:focus, - &.focus { - box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); - } - - &.disabled, - &:disabled { - color: $color; - background-color: transparent; - } - - &:not(:disabled):not(.disabled):active, - &:not(:disabled):not(.disabled).active, - .show > &.dropdown-toggle { - color: color-yiq($active-background); - background-color: $active-background; - border-color: $active-border; - - &:focus { - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows and $btn-active-box-shadow != none { - box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5); - } @else { - box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); - } - } - } -} - -// Button sizes -@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { - padding: $padding-y $padding-x; - @include font-size($font-size); - line-height: $line-height; - // Manually declare to provide an override to the browser default - @include border-radius($border-radius, 0); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_caret.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_caret.scss deleted file mode 100644 index 27466495b28aa9630b01cbe6aa625c8e5e5d0e12..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_caret.scss +++ /dev/null @@ -1,62 +0,0 @@ -@mixin caret-down() { - border-top: $caret-width solid; - border-right: $caret-width solid transparent; - border-bottom: 0; - border-left: $caret-width solid transparent; -} - -@mixin caret-up() { - border-top: 0; - border-right: $caret-width solid transparent; - border-bottom: $caret-width solid; - border-left: $caret-width solid transparent; -} - -@mixin caret-right() { - border-top: $caret-width solid transparent; - border-right: 0; - border-bottom: $caret-width solid transparent; - border-left: $caret-width solid; -} - -@mixin caret-left() { - border-top: $caret-width solid transparent; - border-right: $caret-width solid; - border-bottom: $caret-width solid transparent; -} - -@mixin caret($direction: down) { - @if $enable-caret { - &::after { - display: inline-block; - margin-left: $caret-spacing; - vertical-align: $caret-vertical-align; - content: ""; - @if $direction == down { - @include caret-down(); - } @else if $direction == up { - @include caret-up(); - } @else if $direction == right { - @include caret-right(); - } - } - - @if $direction == left { - &::after { - display: none; - } - - &::before { - display: inline-block; - margin-right: $caret-spacing; - vertical-align: $caret-vertical-align; - content: ""; - @include caret-left(); - } - } - - &:empty::after { - margin-left: 0; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_clearfix.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_clearfix.scss deleted file mode 100644 index 11a977b7373dab15046354e1b27b88f29acdf44f..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_clearfix.scss +++ /dev/null @@ -1,7 +0,0 @@ -@mixin clearfix() { - &::after { - display: block; - clear: both; - content: ""; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_deprecate.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_deprecate.scss deleted file mode 100644 index df070bc59634213b5f9d49b4d6169d61dd6ac40d..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_deprecate.scss +++ /dev/null @@ -1,10 +0,0 @@ -// Deprecate mixin -// -// This mixin can be used to deprecate mixins or functions. -// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to -// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) -@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { - @if ($enable-deprecation-messages != false and $ignore-warning != true) { - @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_float.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_float.scss deleted file mode 100644 index 6b376a2580c8821ceceb09fc4ee1f274130510f8..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_float.scss +++ /dev/null @@ -1,14 +0,0 @@ -// stylelint-disable declaration-no-important - -@mixin float-left() { - float: left !important; - @include deprecate("The `float-left` mixin", "v4.3.0", "v5"); -} -@mixin float-right() { - float: right !important; - @include deprecate("The `float-right` mixin", "v4.3.0", "v5"); -} -@mixin float-none() { - float: none !important; - @include deprecate("The `float-none` mixin", "v4.3.0", "v5"); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_forms.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_forms.scss deleted file mode 100644 index 418470d0b44afb4ec135d562e79ca40e6ae06328..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_forms.scss +++ /dev/null @@ -1,177 +0,0 @@ -// Form control focus state -// -// Generate a customized focus state and for any input with the specified color, -// which defaults to the `$input-focus-border-color` variable. -// -// We highly encourage you to not customize the default value, but instead use -// this to tweak colors on an as-needed basis. This aesthetic change is based on -// WebKit's default styles, but applicable to a wider range of browsers. Its -// usability and accessibility should be taken into account with any change. -// -// Example usage: change the default blue border and shadow to white for better -// contrast against a dark gray background. -@mixin form-control-focus($ignore-warning: false) { - &:focus { - color: $input-focus-color; - background-color: $input-focus-bg; - border-color: $input-focus-border-color; - outline: 0; - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows { - box-shadow: $input-box-shadow, $input-focus-box-shadow; - } @else { - box-shadow: $input-focus-box-shadow; - } - } - @include deprecate("The `form-control-focus()` mixin", "v4.4.0", "v5", $ignore-warning); -} - -// This mixin uses an `if()` technique to be compatible with Dart Sass -// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details -@mixin form-validation-state-selector($state) { - @if ($state == "valid" or $state == "invalid") { - .was-validated #{if(&, "&", "")}:#{$state}, - #{if(&, "&", "")}.is-#{$state} { - @content; - } - } @else { - #{if(&, "&", "")}.is-#{$state} { - @content; - } - } -} - -@mixin form-validation-state($state, $color, $icon) { - .#{$state}-feedback { - display: none; - width: 100%; - margin-top: $form-feedback-margin-top; - @include font-size($form-feedback-font-size); - color: $color; - } - - .#{$state}-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; // Contain to parent when possible - padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x; - margin-top: .1rem; - @include font-size($form-feedback-tooltip-font-size); - line-height: $form-feedback-tooltip-line-height; - color: color-yiq($color); - background-color: rgba($color, $form-feedback-tooltip-opacity); - @include border-radius($form-feedback-tooltip-border-radius); - } - - @include form-validation-state-selector($state) { - ~ .#{$state}-feedback, - ~ .#{$state}-tooltip { - display: block; - } - } - - .form-control { - @include form-validation-state-selector($state) { - border-color: $color; - - @if $enable-validation-icons { - padding-right: $input-height-inner; - background-image: escape-svg($icon); - background-repeat: no-repeat; - background-position: right $input-height-inner-quarter center; - background-size: $input-height-inner-half $input-height-inner-half; - } - - &:focus { - border-color: $color; - box-shadow: 0 0 0 $input-focus-width rgba($color, .25); - } - } - } - - // stylelint-disable-next-line selector-no-qualifying-type - textarea.form-control { - @include form-validation-state-selector($state) { - @if $enable-validation-icons { - padding-right: $input-height-inner; - background-position: top $input-height-inner-quarter right $input-height-inner-quarter; - } - } - } - - .custom-select { - @include form-validation-state-selector($state) { - border-color: $color; - - @if $enable-validation-icons { - padding-right: $custom-select-feedback-icon-padding-right; - background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size; - } - - &:focus { - border-color: $color; - box-shadow: 0 0 0 $input-focus-width rgba($color, .25); - } - } - } - - .form-check-input { - @include form-validation-state-selector($state) { - ~ .form-check-label { - color: $color; - } - - ~ .#{$state}-feedback, - ~ .#{$state}-tooltip { - display: block; - } - } - } - - .custom-control-input { - @include form-validation-state-selector($state) { - ~ .custom-control-label { - color: $color; - - &::before { - border-color: $color; - } - } - - &:checked { - ~ .custom-control-label::before { - border-color: lighten($color, 10%); - @include gradient-bg(lighten($color, 10%)); - } - } - - &:focus { - ~ .custom-control-label::before { - box-shadow: 0 0 0 $input-focus-width rgba($color, .25); - } - - &:not(:checked) ~ .custom-control-label::before { - border-color: $color; - } - } - } - } - - // custom file - .custom-file-input { - @include form-validation-state-selector($state) { - ~ .custom-file-label { - border-color: $color; - } - - &:focus { - ~ .custom-file-label { - border-color: $color; - box-shadow: 0 0 0 $input-focus-width rgba($color, .25); - } - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_gradients.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_gradients.scss deleted file mode 100644 index 88c4d64b7f7ef50faabf977b168076bb9750da17..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_gradients.scss +++ /dev/null @@ -1,45 +0,0 @@ -// Gradients - -@mixin gradient-bg($color) { - @if $enable-gradients { - background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x; - } @else { - background-color: $color; - } -} - -// Horizontal gradient, from left to right -// -// Creates two color stops, start and end, by specifying a color and position for each color stop. -@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { - background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); - background-repeat: repeat-x; -} - -// Vertical gradient, from top to bottom -// -// Creates two color stops, start and end, by specifying a color and position for each color stop. -@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { - background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); - background-repeat: repeat-x; -} - -@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { - background-image: linear-gradient($deg, $start-color, $end-color); - background-repeat: repeat-x; -} -@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { - background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); - background-repeat: no-repeat; -} -@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { - background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); - background-repeat: no-repeat; -} -@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { - background-image: radial-gradient(circle, $inner-color, $outer-color); - background-repeat: no-repeat; -} -@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { - background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_grid-framework.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_grid-framework.scss deleted file mode 100644 index 8e291f7ae0dc75e3bb9580f4c952ca0476843f7a..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_grid-framework.scss +++ /dev/null @@ -1,71 +0,0 @@ -// Framework grid generation -// -// Used only by Bootstrap to generate the correct number of grid classes given -// any value of `$grid-columns`. - -@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { - // Common properties for all breakpoints - %grid-column { - position: relative; - width: 100%; - padding-right: $gutter / 2; - padding-left: $gutter / 2; - } - - @each $breakpoint in map-keys($breakpoints) { - $infix: breakpoint-infix($breakpoint, $breakpoints); - - // Allow columns to stretch full width below their breakpoints - @for $i from 1 through $columns { - .col#{$infix}-#{$i} { - @extend %grid-column; - } - } - .col#{$infix}, - .col#{$infix}-auto { - @extend %grid-column; - } - - @include media-breakpoint-up($breakpoint, $breakpoints) { - // Provide basic `.col-{bp}` classes for equal-width flexbox columns - .col#{$infix} { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - - @for $i from 1 through $grid-row-columns { - .row-cols#{$infix}-#{$i} { - @include row-cols($i); - } - } - - .col#{$infix}-auto { - @include make-col-auto(); - } - - @for $i from 1 through $columns { - .col#{$infix}-#{$i} { - @include make-col($i, $columns); - } - } - - .order#{$infix}-first { order: -1; } - - .order#{$infix}-last { order: $columns + 1; } - - @for $i from 0 through $columns { - .order#{$infix}-#{$i} { order: $i; } - } - - // `$columns - 1` because offsetting by the width of an entire row isn't possible - @for $i from 0 through ($columns - 1) { - @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 - .offset#{$infix}-#{$i} { - @include make-col-offset($i, $columns); - } - } - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_grid.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_grid.scss deleted file mode 100644 index b1240b01f15ff7e80328b4a5a23885cece1f6a63..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_grid.scss +++ /dev/null @@ -1,69 +0,0 @@ -/// Grid system -// -// Generate semantic grid columns with these mixins. - -@mixin make-container($gutter: $grid-gutter-width) { - width: 100%; - padding-right: $gutter / 2; - padding-left: $gutter / 2; - margin-right: auto; - margin-left: auto; -} - - -// For each breakpoint, define the maximum width of the container in a media query -@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { - @each $breakpoint, $container-max-width in $max-widths { - @include media-breakpoint-up($breakpoint, $breakpoints) { - max-width: $container-max-width; - } - } -} - -@mixin make-row($gutter: $grid-gutter-width) { - display: flex; - flex-wrap: wrap; - margin-right: -$gutter / 2; - margin-left: -$gutter / 2; -} - -@mixin make-col-ready($gutter: $grid-gutter-width) { - position: relative; - // Prevent columns from becoming too narrow when at smaller grid tiers by - // always setting `width: 100%;`. This works because we use `flex` values - // later on to override this initial width. - width: 100%; - padding-right: $gutter / 2; - padding-left: $gutter / 2; -} - -@mixin make-col($size, $columns: $grid-columns) { - flex: 0 0 percentage($size / $columns); - // Add a `max-width` to ensure content within each column does not blow out - // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari - // do not appear to require this. - max-width: percentage($size / $columns); -} - -@mixin make-col-auto() { - flex: 0 0 auto; - width: auto; - max-width: 100%; // Reset earlier grid tiers -} - -@mixin make-col-offset($size, $columns: $grid-columns) { - $num: $size / $columns; - margin-left: if($num == 0, 0, percentage($num)); -} - -// Row columns -// -// Specify on a parent element(e.g., .row) to force immediate children into NN -// numberof columns. Supports wrapping to new lines, but does not do a Masonry -// style grid. -@mixin row-cols($count) { - & > * { - flex: 0 0 100% / $count; - max-width: 100% / $count; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_hover.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_hover.scss deleted file mode 100644 index 409f8244e126b580df1b3a76b1efb62e4eb58951..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_hover.scss +++ /dev/null @@ -1,37 +0,0 @@ -// Hover mixin and `$enable-hover-media-query` are deprecated. -// -// Originally added during our alphas and maintained during betas, this mixin was -// designed to prevent `:hover` stickiness on iOS-an issue where hover styles -// would persist after initial touch. -// -// For backward compatibility, we've kept these mixins and updated them to -// always return their regular pseudo-classes instead of a shimmed media query. -// -// Issue: https://github.com/twbs/bootstrap/issues/25195 - -@mixin hover() { - &:hover { @content; } -} - -@mixin hover-focus() { - &:hover, - &:focus { - @content; - } -} - -@mixin plain-hover-focus() { - &, - &:hover, - &:focus { - @content; - } -} - -@mixin hover-focus-active() { - &:hover, - &:focus, - &:active { - @content; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_image.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_image.scss deleted file mode 100644 index c971e038be4e0e4e2565142e2dcc2f4838de99fb..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_image.scss +++ /dev/null @@ -1,36 +0,0 @@ -// Image Mixins -// - Responsive image -// - Retina image - - -// Responsive image -// -// Keep images from scaling beyond the width of their parents. - -@mixin img-fluid() { - // Part 1: Set a maximum relative to the parent - max-width: 100%; - // Part 2: Override the height to auto, otherwise images will be stretched - // when setting a width and height attribute on the img element. - height: auto; -} - - -// Retina image -// -// Short retina mixin for setting background-image and -size. - -@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { - background-image: url($file-1x); - - // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, - // but doesn't convert dppx=>dpi. - // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. - // Compatibility info: https://caniuse.com/#feat=css-media-resolution - @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx - only screen and (min-resolution: 2dppx) { // Standardized - background-image: url($file-2x); - background-size: $width-1x $height-1x; - } - @include deprecate("`img-retina()`", "v4.3.0", "v5"); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_list-group.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_list-group.scss deleted file mode 100644 index 0da35315611c5d920cdbc74697abbbcd26a826d1..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_list-group.scss +++ /dev/null @@ -1,21 +0,0 @@ -// List Groups - -@mixin list-group-item-variant($state, $background, $color) { - .list-group-item-#{$state} { - color: $color; - background-color: $background; - - &.list-group-item-action { - @include hover-focus() { - color: $color; - background-color: darken($background, 5%); - } - - &.active { - color: $white; - background-color: $color; - border-color: $color; - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_lists.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_lists.scss deleted file mode 100644 index 251cb07331902de38e84348ee57b73e7f8f79249..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_lists.scss +++ /dev/null @@ -1,7 +0,0 @@ -// Lists - -// Unstyled keeps list items block level, just removes default browser padding and list-style -@mixin list-unstyled() { - padding-left: 0; - list-style: none; -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_nav-divider.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_nav-divider.scss deleted file mode 100644 index 3e0cceafef73f63da68b14be2cd777f4f062e980..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_nav-divider.scss +++ /dev/null @@ -1,11 +0,0 @@ -// Horizontal dividers -// -// Dividers (basically an hr) within dropdowns and nav lists - -@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) { - height: 0; - margin: $margin-y 0; - overflow: hidden; - border-top: 1px solid $color; - @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_pagination.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_pagination.scss deleted file mode 100644 index af8e16d6a911c097666e54a7abcb091187b07f0c..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_pagination.scss +++ /dev/null @@ -1,22 +0,0 @@ -// Pagination - -@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { - .page-link { - padding: $padding-y $padding-x; - @include font-size($font-size); - line-height: $line-height; - } - - .page-item { - &:first-child { - .page-link { - @include border-left-radius($border-radius); - } - } - &:last-child { - .page-link { - @include border-right-radius($border-radius); - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_reset-text.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_reset-text.scss deleted file mode 100644 index 15b4407a0a00e53b17409dde65875ed387a672d7..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_reset-text.scss +++ /dev/null @@ -1,17 +0,0 @@ -@mixin reset-text() { - font-family: $font-family-base; - // We deliberately do NOT reset font-size or word-wrap. - font-style: normal; - font-weight: $font-weight-normal; - line-height: $line-height-base; - text-align: left; // Fallback for where `start` is not supported - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_resize.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_resize.scss deleted file mode 100644 index 66f233a63c988deb5a59dde3bba962082fbdfd57..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_resize.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Resize anything - -@mixin resizable($direction) { - overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` - resize: $direction; // Options: horizontal, vertical, both -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_screen-reader.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_screen-reader.scss deleted file mode 100644 index 21230390eba85aba1eb022a49d87d4ec275e7ce7..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_screen-reader.scss +++ /dev/null @@ -1,34 +0,0 @@ -// Only display content to screen readers -// -// See: https://a11yproject.com/posts/how-to-hide-content/ -// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ - -@mixin sr-only() { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686 - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -// Use in conjunction with .sr-only to only display content when it's focused. -// -// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 -// -// Credit: HTML5 Boilerplate - -@mixin sr-only-focusable() { - &:active, - &:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_size.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_size.scss deleted file mode 100644 index 69e056d2c1ef94f63abe42f9fba78fbcd85feae0..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_size.scss +++ /dev/null @@ -1,7 +0,0 @@ -// Sizing shortcuts - -@mixin size($width, $height: $width) { - width: $width; - height: $height; - @include deprecate("`size()`", "v4.3.0", "v5"); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_table-row.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_table-row.scss deleted file mode 100644 index 1ccde6b6c5671b375885083ea58c4b9c73619c87..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_table-row.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Tables - -@mixin table-row-variant($state, $background, $border: null) { - // Exact selectors below required to override `.table-striped` and prevent - // inheritance to nested tables. - .table-#{$state} { - &, - > th, - > td { - background-color: $background; - } - - @if $border != null { - th, - td, - thead th, - tbody + tbody { - border-color: $border; - } - } - } - - // Hover states for `.table-hover` - // Note: this is not available for cells or rows within `thead` or `tfoot`. - .table-hover { - $hover-background: darken($background, 5%); - - .table-#{$state} { - @include hover() { - background-color: $hover-background; - - > td, - > th { - background-color: $hover-background; - } - } - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_text-emphasis.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_text-emphasis.scss deleted file mode 100644 index 5eb8a5515412053d335ca360aa51f0722616b80f..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_text-emphasis.scss +++ /dev/null @@ -1,17 +0,0 @@ -// stylelint-disable declaration-no-important - -// Typography - -@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) { - #{$parent} { - color: $color !important; - } - @if $emphasized-link-hover-darken-percentage != 0 { - a#{$parent} { - @include hover-focus() { - color: darken($color, $emphasized-link-hover-darken-percentage) !important; - } - } - } - @include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_text-hide.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_text-hide.scss deleted file mode 100644 index 3a923011ec73de336b6d89f731b0a81dcc14c4a7..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_text-hide.scss +++ /dev/null @@ -1,11 +0,0 @@ -// CSS image replacement -@mixin text-hide($ignore-warning: false) { - // stylelint-disable-next-line font-family-no-missing-generic-family-keyword - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; - - @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning); -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_text-truncate.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_text-truncate.scss deleted file mode 100644 index 3504bb1aa5d7aa2c3d75aedd4a03916afaa7e4d9..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_text-truncate.scss +++ /dev/null @@ -1,8 +0,0 @@ -// Text truncate -// Requires inline-block or block for proper styling - -@mixin text-truncate() { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_transition.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_transition.scss deleted file mode 100644 index 8ce35a6b836cb212af9cc5045796fcc0adce419b..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_transition.scss +++ /dev/null @@ -1,16 +0,0 @@ -// stylelint-disable property-blacklist -@mixin transition($transition...) { - @if $enable-transitions { - @if length($transition) == 0 { - transition: $transition-base; - } @else { - transition: $transition; - } - } - - @if $enable-prefers-reduced-motion-media-query { - @media (prefers-reduced-motion: reduce) { - transition: none; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/mixins/_visibility.scss b/nemo/assets/scss/vendor/bootstrap/mixins/_visibility.scss deleted file mode 100644 index f174673117839c3ff29949edf212248fe3132e3a..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/mixins/_visibility.scss +++ /dev/null @@ -1,8 +0,0 @@ -// stylelint-disable declaration-no-important - -// Visibility - -@mixin invisible($visibility) { - visibility: $visibility !important; - @include deprecate("`invisible()`", "v4.3.0", "v5"); -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_align.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_align.scss deleted file mode 100644 index 8b7df9f76c2c8ddaf8468d9e536bc04da761e63d..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_align.scss +++ /dev/null @@ -1,8 +0,0 @@ -// stylelint-disable declaration-no-important - -.align-baseline { vertical-align: baseline !important; } // Browser default -.align-top { vertical-align: top !important; } -.align-middle { vertical-align: middle !important; } -.align-bottom { vertical-align: bottom !important; } -.align-text-bottom { vertical-align: text-bottom !important; } -.align-text-top { vertical-align: text-top !important; } diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_background.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_background.scss deleted file mode 100644 index a997b1bddafc222f7fb03048d90c0dae44a322b0..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_background.scss +++ /dev/null @@ -1,19 +0,0 @@ -// stylelint-disable declaration-no-important - -@each $color, $value in $theme-colors { - @include bg-variant(".bg-#{$color}", $value, true); -} - -@if $enable-gradients { - @each $color, $value in $theme-colors { - @include bg-gradient-variant(".bg-gradient-#{$color}", $value); - } -} - -.bg-white { - background-color: $white !important; -} - -.bg-transparent { - background-color: transparent !important; -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_borders.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_borders.scss deleted file mode 100644 index 302f6bf8490b04f36c9588303d7a7238482e6012..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_borders.scss +++ /dev/null @@ -1,75 +0,0 @@ -// stylelint-disable property-blacklist, declaration-no-important - -// -// Border -// - -.border { border: $border-width solid $border-color !important; } -.border-top { border-top: $border-width solid $border-color !important; } -.border-right { border-right: $border-width solid $border-color !important; } -.border-bottom { border-bottom: $border-width solid $border-color !important; } -.border-left { border-left: $border-width solid $border-color !important; } - -.border-0 { border: 0 !important; } -.border-top-0 { border-top: 0 !important; } -.border-right-0 { border-right: 0 !important; } -.border-bottom-0 { border-bottom: 0 !important; } -.border-left-0 { border-left: 0 !important; } - -@each $color, $value in $theme-colors { - .border-#{$color} { - border-color: $value !important; - } -} - -.border-white { - border-color: $white !important; -} - -// -// Border-radius -// - -.rounded-sm { - border-radius: $border-radius-sm !important; -} - -.rounded { - border-radius: $border-radius !important; -} - -.rounded-top { - border-top-left-radius: $border-radius !important; - border-top-right-radius: $border-radius !important; -} - -.rounded-right { - border-top-right-radius: $border-radius !important; - border-bottom-right-radius: $border-radius !important; -} - -.rounded-bottom { - border-bottom-right-radius: $border-radius !important; - border-bottom-left-radius: $border-radius !important; -} - -.rounded-left { - border-top-left-radius: $border-radius !important; - border-bottom-left-radius: $border-radius !important; -} - -.rounded-lg { - border-radius: $border-radius-lg !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: $rounded-pill !important; -} - -.rounded-0 { - border-radius: 0 !important; -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_clearfix.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_clearfix.scss deleted file mode 100644 index e92522a94d82a571b84ac1de470bcb70b176023c..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_clearfix.scss +++ /dev/null @@ -1,3 +0,0 @@ -.clearfix { - @include clearfix(); -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_display.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_display.scss deleted file mode 100644 index 130367998fec2ff269df68a152d12e93c09d9d36..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_display.scss +++ /dev/null @@ -1,26 +0,0 @@ -// stylelint-disable declaration-no-important - -// -// Utilities for common `display` values -// - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - @each $value in $displays { - .d#{$infix}-#{$value} { display: $value !important; } - } - } -} - - -// -// Utilities for toggling `display` in print -// - -@media print { - @each $value in $displays { - .d-print-#{$value} { display: $value !important; } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_embed.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_embed.scss deleted file mode 100644 index 4497ac0400fbfacc098868f93fb1d55bf3d2ac77..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_embed.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Credit: Nicolas Gallagher and SUIT CSS. - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; - - &::before { - display: block; - content: ""; - } - - .embed-responsive-item, - iframe, - embed, - object, - video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; - } -} - -@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios { - $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1); - $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2); - - .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} { - &::before { - padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x); - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_flex.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_flex.scss deleted file mode 100644 index 3d4266e0d087794f655ecceb7a367859a1ac513a..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_flex.scss +++ /dev/null @@ -1,51 +0,0 @@ -// stylelint-disable declaration-no-important - -// Flex variation -// -// Custom styles for additional flex alignment options. - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .flex#{$infix}-row { flex-direction: row !important; } - .flex#{$infix}-column { flex-direction: column !important; } - .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; } - .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; } - - .flex#{$infix}-wrap { flex-wrap: wrap !important; } - .flex#{$infix}-nowrap { flex-wrap: nowrap !important; } - .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; } - .flex#{$infix}-fill { flex: 1 1 auto !important; } - .flex#{$infix}-grow-0 { flex-grow: 0 !important; } - .flex#{$infix}-grow-1 { flex-grow: 1 !important; } - .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; } - .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; } - - .justify-content#{$infix}-start { justify-content: flex-start !important; } - .justify-content#{$infix}-end { justify-content: flex-end !important; } - .justify-content#{$infix}-center { justify-content: center !important; } - .justify-content#{$infix}-between { justify-content: space-between !important; } - .justify-content#{$infix}-around { justify-content: space-around !important; } - - .align-items#{$infix}-start { align-items: flex-start !important; } - .align-items#{$infix}-end { align-items: flex-end !important; } - .align-items#{$infix}-center { align-items: center !important; } - .align-items#{$infix}-baseline { align-items: baseline !important; } - .align-items#{$infix}-stretch { align-items: stretch !important; } - - .align-content#{$infix}-start { align-content: flex-start !important; } - .align-content#{$infix}-end { align-content: flex-end !important; } - .align-content#{$infix}-center { align-content: center !important; } - .align-content#{$infix}-between { align-content: space-between !important; } - .align-content#{$infix}-around { align-content: space-around !important; } - .align-content#{$infix}-stretch { align-content: stretch !important; } - - .align-self#{$infix}-auto { align-self: auto !important; } - .align-self#{$infix}-start { align-self: flex-start !important; } - .align-self#{$infix}-end { align-self: flex-end !important; } - .align-self#{$infix}-center { align-self: center !important; } - .align-self#{$infix}-baseline { align-self: baseline !important; } - .align-self#{$infix}-stretch { align-self: stretch !important; } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_float.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_float.scss deleted file mode 100644 index 54250844ff611e8faa31cf0cd5e7ec6cb6cc299d..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_float.scss +++ /dev/null @@ -1,11 +0,0 @@ -// stylelint-disable declaration-no-important - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .float#{$infix}-left { float: left !important; } - .float#{$infix}-right { float: right !important; } - .float#{$infix}-none { float: none !important; } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_overflow.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_overflow.scss deleted file mode 100644 index 8326c30641e6dfce3b23d018edb30c7d044a7d1a..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_overflow.scss +++ /dev/null @@ -1,5 +0,0 @@ -// stylelint-disable declaration-no-important - -@each $value in $overflows { - .overflow-#{$value} { overflow: $value !important; } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_position.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_position.scss deleted file mode 100644 index cdf6c115f3d378cebe5ebc27d9f32b6b8b949c8c..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_position.scss +++ /dev/null @@ -1,32 +0,0 @@ -// stylelint-disable declaration-no-important - -// Common values -@each $position in $positions { - .position-#{$position} { position: $position !important; } -} - -// Shorthand - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: $zindex-fixed; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: $zindex-fixed; -} - -.sticky-top { - @supports (position: sticky) { - position: sticky; - top: 0; - z-index: $zindex-sticky; - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_screenreaders.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_screenreaders.scss deleted file mode 100644 index 9f26fde03538350e750a76cf2415a62f960976af..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_screenreaders.scss +++ /dev/null @@ -1,11 +0,0 @@ -// -// Screenreaders -// - -.sr-only { - @include sr-only(); -} - -.sr-only-focusable { - @include sr-only-focusable(); -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_shadows.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_shadows.scss deleted file mode 100644 index f5d03fcd59c1fc62db7549347003ae43ff6ec709..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_shadows.scss +++ /dev/null @@ -1,6 +0,0 @@ -// stylelint-disable declaration-no-important - -.shadow-sm { box-shadow: $box-shadow-sm !important; } -.shadow { box-shadow: $box-shadow !important; } -.shadow-lg { box-shadow: $box-shadow-lg !important; } -.shadow-none { box-shadow: none !important; } diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_sizing.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_sizing.scss deleted file mode 100644 index f3764880228bff11cab2ec034ef5a3848c441e5e..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_sizing.scss +++ /dev/null @@ -1,20 +0,0 @@ -// stylelint-disable declaration-no-important - -// Width and height - -@each $prop, $abbrev in (width: w, height: h) { - @each $size, $length in $sizes { - .#{$abbrev}-#{$size} { #{$prop}: $length !important; } - } -} - -.mw-100 { max-width: 100% !important; } -.mh-100 { max-height: 100% !important; } - -// Viewport additional helpers - -.min-vw-100 { min-width: 100vw !important; } -.min-vh-100 { min-height: 100vh !important; } - -.vw-100 { width: 100vw !important; } -.vh-100 { height: 100vh !important; } diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_spacing.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_spacing.scss deleted file mode 100644 index 351136790a48a33a2622627e4267425a2ec90b61..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_spacing.scss +++ /dev/null @@ -1,73 +0,0 @@ -// stylelint-disable declaration-no-important - -// Margin and Padding - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - @each $prop, $abbrev in (margin: m, padding: p) { - @each $size, $length in $spacers { - .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; } - .#{$abbrev}t#{$infix}-#{$size}, - .#{$abbrev}y#{$infix}-#{$size} { - #{$prop}-top: $length !important; - } - .#{$abbrev}r#{$infix}-#{$size}, - .#{$abbrev}x#{$infix}-#{$size} { - #{$prop}-right: $length !important; - } - .#{$abbrev}b#{$infix}-#{$size}, - .#{$abbrev}y#{$infix}-#{$size} { - #{$prop}-bottom: $length !important; - } - .#{$abbrev}l#{$infix}-#{$size}, - .#{$abbrev}x#{$infix}-#{$size} { - #{$prop}-left: $length !important; - } - } - } - - // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`) - @each $size, $length in $spacers { - @if $size != 0 { - .m#{$infix}-n#{$size} { margin: -$length !important; } - .mt#{$infix}-n#{$size}, - .my#{$infix}-n#{$size} { - margin-top: -$length !important; - } - .mr#{$infix}-n#{$size}, - .mx#{$infix}-n#{$size} { - margin-right: -$length !important; - } - .mb#{$infix}-n#{$size}, - .my#{$infix}-n#{$size} { - margin-bottom: -$length !important; - } - .ml#{$infix}-n#{$size}, - .mx#{$infix}-n#{$size} { - margin-left: -$length !important; - } - } - } - - // Some special margin utils - .m#{$infix}-auto { margin: auto !important; } - .mt#{$infix}-auto, - .my#{$infix}-auto { - margin-top: auto !important; - } - .mr#{$infix}-auto, - .mx#{$infix}-auto { - margin-right: auto !important; - } - .mb#{$infix}-auto, - .my#{$infix}-auto { - margin-bottom: auto !important; - } - .ml#{$infix}-auto, - .mx#{$infix}-auto { - margin-left: auto !important; - } - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_stretched-link.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_stretched-link.scss deleted file mode 100644 index fb5066bf55dd2d56afad94f322968414775d1638..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_stretched-link.scss +++ /dev/null @@ -1,19 +0,0 @@ -// -// Stretched link -// - -.stretched-link { - &::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - // Just in case `pointer-events: none` is set on a parent - pointer-events: auto; - content: ""; - // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color - background-color: rgba(0, 0, 0, 0); - } -} diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_text.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_text.scss deleted file mode 100644 index 5d0f1c845f8d3f9ee60048532da547042c04cbc3..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_text.scss +++ /dev/null @@ -1,72 +0,0 @@ -// stylelint-disable declaration-no-important - -// -// Text -// - -.text-monospace { font-family: $font-family-monospace !important; } - -// Alignment - -.text-justify { text-align: justify !important; } -.text-wrap { white-space: normal !important; } -.text-nowrap { white-space: nowrap !important; } -.text-truncate { @include text-truncate(); } - -// Responsive alignment - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .text#{$infix}-left { text-align: left !important; } - .text#{$infix}-right { text-align: right !important; } - .text#{$infix}-center { text-align: center !important; } - } -} - -// Transformation - -.text-lowercase { text-transform: lowercase !important; } -.text-uppercase { text-transform: uppercase !important; } -.text-capitalize { text-transform: capitalize !important; } - -// Weight and italics - -.font-weight-light { font-weight: $font-weight-light !important; } -.font-weight-lighter { font-weight: $font-weight-lighter !important; } -.font-weight-normal { font-weight: $font-weight-normal !important; } -.font-weight-bold { font-weight: $font-weight-bold !important; } -.font-weight-bolder { font-weight: $font-weight-bolder !important; } -.font-italic { font-style: italic !important; } - -// Contextual colors - -.text-white { color: $white !important; } - -@each $color, $value in $theme-colors { - @include text-emphasis-variant(".text-#{$color}", $value, true); -} - -.text-body { color: $body-color !important; } -.text-muted { color: $text-muted !important; } - -.text-black-50 { color: rgba($black, .5) !important; } -.text-white-50 { color: rgba($white, .5) !important; } - -// Misc - -.text-hide { - @include text-hide($ignore-warning: true); -} - -.text-decoration-none { text-decoration: none !important; } - -.text-break { - word-break: break-word !important; // IE & < Edge 18 - overflow-wrap: break-word !important; -} - -// Reset - -.text-reset { color: inherit !important; } diff --git a/nemo/assets/scss/vendor/bootstrap/utilities/_visibility.scss b/nemo/assets/scss/vendor/bootstrap/utilities/_visibility.scss deleted file mode 100644 index 7756c3bfacf76d2ff6e7852cdc6ee4e8b3e1aa3d..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/utilities/_visibility.scss +++ /dev/null @@ -1,13 +0,0 @@ -// stylelint-disable declaration-no-important - -// -// Visibility utilities -// - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} diff --git a/nemo/assets/scss/vendor/bootstrap/vendor/_rfs.scss b/nemo/assets/scss/vendor/bootstrap/vendor/_rfs.scss deleted file mode 100644 index 497e07eda913871b1d61e8488e70cf156d038ccf..0000000000000000000000000000000000000000 --- a/nemo/assets/scss/vendor/bootstrap/vendor/_rfs.scss +++ /dev/null @@ -1,204 +0,0 @@ -// stylelint-disable property-blacklist, scss/dollar-variable-default - -// SCSS RFS mixin -// -// Automated font-resizing -// -// See https://github.com/twbs/rfs - -// Configuration - -// Base font size -$rfs-base-font-size: 1.25rem !default; -$rfs-font-size-unit: rem !default; - -// Breakpoint at where font-size starts decreasing if screen width is smaller -$rfs-breakpoint: 1200px !default; -$rfs-breakpoint-unit: px !default; - -// Resize font-size based on screen height and width -$rfs-two-dimensional: false !default; - -// Factor of decrease -$rfs-factor: 10 !default; - -@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 { - @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1."; -} - -// Generate enable or disable classes. Possibilities: false, "enable" or "disable" -$rfs-class: false !default; - -// 1 rem = $rfs-rem-value px -$rfs-rem-value: 16 !default; - -// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14 -$rfs-safari-iframe-resize-bug-fix: false !default; - -// Disable RFS by setting $enable-responsive-font-sizes to false -$enable-responsive-font-sizes: true !default; - -// Cache $rfs-base-font-size unit -$rfs-base-font-size-unit: unit($rfs-base-font-size); - -// Remove px-unit from $rfs-base-font-size for calculations -@if $rfs-base-font-size-unit == "px" { - $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1); -} -@else if $rfs-base-font-size-unit == "rem" { - $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value); -} - -// Cache $rfs-breakpoint unit to prevent multiple calls -$rfs-breakpoint-unit-cache: unit($rfs-breakpoint); - -// Remove unit from $rfs-breakpoint for calculations -@if $rfs-breakpoint-unit-cache == "px" { - $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1); -} -@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" { - $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value); -} - -// Responsive font-size mixin -@mixin rfs($fs, $important: false) { - // Cache $fs unit - $fs-unit: if(type-of($fs) == "number", unit($fs), false); - - // Add !important suffix if needed - $rfs-suffix: if($important, " !important", ""); - - // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value - @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 { - font-size: #{$fs}#{$rfs-suffix}; - } - @else { - // Variables for storing static and fluid rescaling - $rfs-static: null; - $rfs-fluid: null; - - // Remove px-unit from $fs for calculations - @if $fs-unit == "px" { - $fs: $fs / ($fs * 0 + 1); - } - @else if $fs-unit == "rem" { - $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value); - } - - // Set default font-size - @if $rfs-font-size-unit == rem { - $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix}; - } - @else if $rfs-font-size-unit == px { - $rfs-static: #{$fs}px#{$rfs-suffix}; - } - @else { - @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`."; - } - - // Only add media query if font-size is bigger as the minimum font-size - // If $rfs-factor == 1, no rescaling will take place - @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes { - $min-width: null; - $variable-unit: null; - - // Calculate minimum font-size for given font-size - $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor; - - // Calculate difference between given font-size and minimum font-size for given font-size - $fs-diff: $fs - $fs-min; - - // Base font-size formatting - // No need to check if the unit is valid, because we did that before - $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px); - - // If two-dimensional, use smallest of screen width and height - $variable-unit: if($rfs-two-dimensional, vmin, vw); - - // Calculate the variable width between 0 and $rfs-breakpoint - $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit}; - - // Set the calculated font-size. - $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix}; - } - - // Rendering - @if $rfs-fluid == null { - // Only render static font-size if no fluid font-size is available - font-size: $rfs-static; - } - @else { - $mq-value: null; - - // RFS breakpoint formatting - @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem { - $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit}; - } - @else if $rfs-breakpoint-unit == px { - $mq-value: #{$rfs-breakpoint}px; - } - @else { - @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`."; - } - - @if $rfs-class == "disable" { - // Adding an extra class increases specificity, - // which prevents the media query to override the font size - &, - .disable-responsive-font-size &, - &.disable-responsive-font-size { - font-size: $rfs-static; - } - } - @else { - font-size: $rfs-static; - } - - @if $rfs-two-dimensional { - @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) { - @if $rfs-class == "enable" { - .enable-responsive-font-size &, - &.enable-responsive-font-size { - font-size: $rfs-fluid; - } - } - @else { - font-size: $rfs-fluid; - } - - @if $rfs-safari-iframe-resize-bug-fix { - // stylelint-disable-next-line length-zero-no-unit - min-width: 0vw; - } - } - } - @else { - @media (max-width: #{$mq-value}) { - @if $rfs-class == "enable" { - .enable-responsive-font-size &, - &.enable-responsive-font-size { - font-size: $rfs-fluid; - } - } - @else { - font-size: $rfs-fluid; - } - - @if $rfs-safari-iframe-resize-bug-fix { - // stylelint-disable-next-line length-zero-no-unit - min-width: 0vw; - } - } - } - } - } -} - -// The font-size & responsive-font-size mixin uses RFS to rescale font sizes -@mixin font-size($fs, $important: false) { - @include rfs($fs, $important); -} - -@mixin responsive-font-size($fs, $important: false) { - @include rfs($fs, $important); -} diff --git a/nemo/data/academic.toml b/nemo/data/academic.toml deleted file mode 100644 index 87046119877a44f2ccac5b2e01b7007b70e53ee3..0000000000000000000000000000000000000000 --- a/nemo/data/academic.toml +++ /dev/null @@ -1,3 +0,0 @@ -# Academic - -version = "4.7.0" diff --git a/nemo/data/assets.toml b/nemo/data/assets.toml deleted file mode 100644 index 0d6fdf38fc0b32b5c4121dca30fefb51b10a8161..0000000000000000000000000000000000000000 --- a/nemo/data/assets.toml +++ /dev/null @@ -1,106 +0,0 @@ -# Versioning and Subresource Integrity (SRI) for Academic's JavaScript and CSS dependencies - -# When updating the version of an asset below, please also update the corresponding SRI. -# How to update the SRI for an entry: -# echo -n "sha512-" && curl --silent "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML" | openssl dgst -sha512 -binary | openssl enc -base64 -A -# Or, the SRI for the appropriate asset can be copied from https://cdnjs.com/ . - -# JavaScript - -[js.jQuery] - version = "3.4.1" - sri = "sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" - url = "https://cdnjs.cloudflare.com/ajax/libs/jquery/%s/jquery.min.js" -[js.highlight] - version = "9.18.1" - sri = "sha256-eOgo0OtLL4cdq7RdwRUiGKLX9XsIJ7nGhWEKbohmVAQ=" - url = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/%s/highlight.min.js" -[js.mathJax] - version = "3" - sri = "" # No SRI as dynamically generated. - url = "https://cdn.jsdelivr.net/npm/mathjax@%s/es5/tex-chtml.js" - async = true -[js.isotope] - version = "3.0.6" - sri = "sha256-CBrpuqrMhXwcLLUd5tvQ4euBHCdh7wGlDfNz8vbu/iI=" - url = "https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/%s/isotope.pkgd.min.js" -[js.imagesLoaded] - version = "4.1.4" - sri = "sha256-lqvxZrPLtfffUl2G/e7szqSvPBILGbwmsGE1MKlOi0Q=" - url = "https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/%s/imagesloaded.pkgd.min.js" -[js.gmaps] - version = "0.4.25" - sri = "sha256-7vjlAeb8OaTrCXZkCNun9djzuB2owUsaO72kXaFDBJs=" - url = "https://cdnjs.cloudflare.com/ajax/libs/gmaps.js/%s/gmaps.min.js" -[js.leaflet] - version = "1.5.1" - sri = "sha256-EErZamuLefUnbMBQbsEqu1USa+btR2oIlCpBJbyD4/g=" - url = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/%s/leaflet.js" -[js.fancybox] - version = "3.5.7" - sri = "sha256-yt2kYMy0w8AbtF89WXb2P1rfjcP/HTHLT7097U8Y5b8=" - url = "https://cdnjs.cloudflare.com/ajax/libs/fancybox/%s/jquery.fancybox.min.js" -[js.fuse] - version = "3.2.1" - sri = "sha256-VzgmKYmhsGNNN4Ph1kMW+BjoYJM2jV5i4IlFoeZA9XI=" - url = "https://cdnjs.cloudflare.com/ajax/libs/fuse.js/%s/fuse.min.js" -[js.mark] - version = "8.11.1" - sri = "sha256-4HLtjeVgH0eIB3aZ9mLYF6E8oU5chNdjU6p6rrXpl9U=" - url = "https://cdnjs.cloudflare.com/ajax/libs/mark.js/%s/jquery.mark.min.js" -[js.instantsearch] - version = "2.10.2" - sri = "sha256-gFCtPk/sonctyfwYOgjrPoWApQ0rqB6ezBBZ7p32yGc=" - url = "https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/%s/instantsearch.min.js" -[js.anchor] - version = "4.1.1" - sri = "sha256-pB/deHc9CGfFpJRjC43imB29Rse8tak+5eXqntO94ck=" - url = "https://cdnjs.cloudflare.com/ajax/libs/anchor-js/%s/anchor.min.js" -[js.mermaid] - version = "8.4.4" - sri = "sha256-JEqEejGt4tR35L0a1zodzsV0/PJ6GIf7J4yDtywdrH8=" - url = "https://cdnjs.cloudflare.com/ajax/libs/mermaid/%s/mermaid.min.js" -[js.lazysizes] - version = "5.1.2" - sri = "sha256-Md1qLToewPeKjfAHU1zyPwOutccPAm5tahnaw7Osw0A=" - url = "https://cdnjs.cloudflare.com/ajax/libs/lazysizes/%s/lazysizes.min.js" - async = true -[js.cookieconsent] - version = "3.1.1" - sri = "sha256-5VhCqFam2Cn+yjw61zbBNrbHVJ6SRydPeKopYlngbiQ=" - url = "https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/%s/cookieconsent.min.js" - -# CSS - -[css.fontAwesome] - version = "5.12.0-1" - sri = "sha256-4w9DunooKSr3MFXHXWyFER38WmPdm361bQS/2KUWZbU=" - url = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/%s/css/all.min.css" -[css.academicons] - version = "1.8.6" - sri = "sha256-uFVgMKfistnJAfoCUQigIl+JfUaP47GrRKjf6CTPVmw=" - url = "https://cdnjs.cloudflare.com/ajax/libs/academicons/%s/css/academicons.min.css" -[css.leaflet] - version = "1.5.1" - sri = "sha256-SHMGCYmST46SoyGgo4YR/9AlK1vf3ff84Aq9yK4hdqM=" - url = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/%s/leaflet.css" -[css.fancybox] - version = "3.5.7" - sri = "sha256-Vzbj7sDDS/woiFS3uNKo8eIuni59rjyNGtXfstRzStA=" - url = "https://cdnjs.cloudflare.com/ajax/libs/fancybox/%s/jquery.fancybox.min.css" -[css.instantsearch] - version = "2.9.0" - sri = "sha256-ZtmLe16p4jS4/2wPwwH6NzJt460SJzgLmhKrYo5yn7g=" - url = "https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/%s/instantsearch.min.css" -[css.instantsearchTheme] - version = "2.10.2" - sri = "sha256-uL8LUd3zkI/lXvc/Hv/oOu8ld6RJcOZiUY/8c+I+3/o=" - url = "https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/%s/instantsearch-theme-algolia.min.css" -[css.highlight] - version = "9.18.1" - sri = "" # No SRI as highlight style is determined at run time. - url = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/%s/styles/%s.min.css" -[css.cookieconsent] - version = "3.1.1" - sri = "sha256-zQ0LblD/Af8vOppw18+2anxsuaz3pWYyVWi+bTvTH8Q=" - url = "https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/%s/cookieconsent.min.css" diff --git a/nemo/data/fonts/classic.toml b/nemo/data/fonts/classic.toml deleted file mode 100644 index 61d1a905e7feca8d1a33adaa3a1a53eccc5634f2..0000000000000000000000000000000000000000 --- a/nemo/data/fonts/classic.toml +++ /dev/null @@ -1,11 +0,0 @@ -# Font style metadata -name = "Classic" - -# Optional Google font URL -google_fonts = "Lato:400,700|Merriweather|Roboto+Mono" - -# Font families -heading_font = "Lato" -body_font = "Merriweather" -nav_font = "Lato" -mono_font = "Roboto Mono" diff --git a/nemo/data/fonts/minimal.toml b/nemo/data/fonts/minimal.toml deleted file mode 100644 index 171d95398540efae30fe7b130745e362c08239ad..0000000000000000000000000000000000000000 --- a/nemo/data/fonts/minimal.toml +++ /dev/null @@ -1,11 +0,0 @@ -# Font style metadata -name = "Minimal" - -# Optional Google font URL -google_fonts = "Montserrat:400,700|Roboto:400,400italic,700|Roboto+Mono" - -# Font families -heading_font = "Montserrat" -body_font = "Roboto" -nav_font = "Roboto" -mono_font = "Roboto Mono" diff --git a/nemo/data/fonts/mr_robot.toml b/nemo/data/fonts/mr_robot.toml deleted file mode 100644 index 28c8c90921d26ca64992c1aa09adc0f7127ae0f3..0000000000000000000000000000000000000000 --- a/nemo/data/fonts/mr_robot.toml +++ /dev/null @@ -1,11 +0,0 @@ -# Font style metadata -name = "Mr Robot" - -# Optional Google font URL -google_fonts = "B612+Mono:400,700|Orbitron:400,700" - -# Font families -heading_font = "Orbitron" -body_font = "B612 Mono" -nav_font = "B612 Mono" -mono_font = "B612 Mono" diff --git a/nemo/data/fonts/rose.toml b/nemo/data/fonts/rose.toml deleted file mode 100644 index 5f835559cb6a76c7f55037810d5c9011aa5bbe3d..0000000000000000000000000000000000000000 --- a/nemo/data/fonts/rose.toml +++ /dev/null @@ -1,11 +0,0 @@ -# Font style metadata -name = "Rose" - -# Optional Google font URL -google_fonts = "Cutive+Mono|Lora:400,700|Roboto:400,700" - -# Font families -heading_font = "Lora" -body_font = "Roboto" -nav_font = "Lora" -mono_font = "Cutive Mono" diff --git a/nemo/data/i18n/languages.yaml b/nemo/data/i18n/languages.yaml deleted file mode 100644 index 703d65995a7fc7d674dfb27cf0a71799e49e800a..0000000000000000000000000000000000000000 --- a/nemo/data/i18n/languages.yaml +++ /dev/null @@ -1,28 +0,0 @@ -"ca": "Català " -"cs": "ÄŒesky" -"da": "Dansk" -"de": "Deutsch" -"el": "Ελληνικά" -"en": "English" -"es": "Español" -"et": "Eesti" -"eu": "Euskara" -"fr": "Français" -"hu": "Magyar" -"id": "Bahasa Indonesia" -"it": "Italiano" -"ja": "日本語" -"km": "ភាសាážáŸ’មែរ" -"ko": "한êµì–´" -"lv": "LatvieÅ¡u" -"nl": "Nederlands" -"pl": "Polski" -"pt": "Português" -"ro": "Română" -"ru": "РуÑÑкий" -"sv": "Svenska" -"tr": "Türkçe" -"uk": "УкраїнÑька" -"vi": "Tiếng Việt" -"zh": "䏿–‡ (简体)" -"zh-Hant": "䏿–‡ (ç¹é«”)" diff --git a/nemo/data/page_sharer.toml b/nemo/data/page_sharer.toml deleted file mode 100644 index 3400da54c95660522ef6774f4160c8a93a59a912..0000000000000000000000000000000000000000 --- a/nemo/data/page_sharer.toml +++ /dev/null @@ -1,82 +0,0 @@ -# Page Sharer -# Documentation: https://sourcethemes.com/academic/docs/customization/#page-sharer - -[[buttons]] - id = "twitter" - url = "https://twitter.com/intent/tweet?url={url}&text={title}" - title = "Twitter" - icon_pack = "fab" - icon = "twitter" - enable = true - -[[buttons]] - id = "facebook" - url = "https://www.facebook.com/sharer.php?u={url}&t={title}" - title = "Facebook" - icon_pack = "fab" - icon = "facebook" - enable = true - -[[buttons]] - id = "email" - url = "mailto:?subject={title}&body={url}" - title = "Email" - icon_pack = "fas" - icon = "envelope" - enable = true - -[[buttons]] - id = "linkedin" - url = "https://www.linkedin.com/shareArticle?url={url}&title={title}" - title = "LinkedIn" - icon_pack = "fab" - icon = "linkedin-in" - enable = true - -[[buttons]] - id = "whatsapp" - url = "https://web.whatsapp.com/send?text={title}%20{url}" - title = "WhatsApp" - icon_pack = "fab" - icon = "whatsapp" - enable = true - -[[buttons]] - id = "weibo" - url = "https://service.weibo.com/share/share.php?url={url}&title={title}" - title = "Weibo" - icon_pack = "fab" - icon = "weibo" - enable = true - -[[buttons]] - id = "reddit" - url = "https://reddit.com/submit?url={url}&title={title}" - title = "Reddit" - icon_pack = "fab" - icon = "reddit-alien" - enable = false - -[[buttons]] - id = "pinterest" - url = "https://pinterest.com/pin/create/link/?url={url}&description={title}" - title = "Pinterest" - icon_pack = "fab" - icon = "pinterest" - enable = false - -[[buttons]] - id = "xing" - url = "https://www.xing.com/spi/shares/new?url={url}&title={title}" - title = "Xing" - icon_pack = "fab" - icon = "xing" - enable = false - -[[buttons]] - id = "tumblr" - url = "https://www.tumblr.com/widgets/share/tool?canonicalUrl={url}&title={title}" - title = "Tumblr" - icon_pack = "fab" - icon = "tumblr" - enable = false diff --git a/nemo/data/publication_types.toml b/nemo/data/publication_types.toml deleted file mode 100644 index f1d5949e72dbb16e438d6e469eb9d084f2adac52..0000000000000000000000000000000000000000 --- a/nemo/data/publication_types.toml +++ /dev/null @@ -1,12 +0,0 @@ -# Publication types. -# Each item in the list corresponds to an item in the language packs. -types = [ "pub_uncat", - "pub_conf", - "pub_journal", - "pub_preprint", - "pub_report", - "pub_book", - "pub_book_section", - "pub_thesis", - "pub_patent" - ] diff --git a/nemo/data/themes/1950s.toml b/nemo/data/themes/1950s.toml deleted file mode 100644 index 0c6a0c839ad3ecbe3980a67eb059a2f3f50eb733..0000000000000000000000000000000000000000 --- a/nemo/data/themes/1950s.toml +++ /dev/null @@ -1,21 +0,0 @@ -# Theme metadata -name = "1950s" - -# Is theme light or dark? -light = true - -# Primary -primary = "#EF525B" - -# Menu -menu_primary = "#24C2CB" -menu_text = "#fff" -menu_text_active = "#00828B" -menu_title = "#fff" - -# Backgrounds -background = "#EAE7D6" -home_section_odd = "#EAE7D6" -home_section_even = "#EAE7D6" - -font = "rose" diff --git a/nemo/data/themes/apogee.toml b/nemo/data/themes/apogee.toml deleted file mode 100644 index 211e6485628121355ebde7293bde26c25ce97136..0000000000000000000000000000000000000000 --- a/nemo/data/themes/apogee.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Apogee" - -# Is theme light or dark? -light = false - -# Primary -primary = "#EAF04E" - -# Menu -menu_primary = "#312450" -menu_text = "#F2BE4E" -menu_text_active = "#FFE1A0" -menu_title = "#E0A526" - -# Home sections -home_section_odd = "#5e42a6" -home_section_even = "#5e42a6" diff --git a/nemo/data/themes/coffee.toml b/nemo/data/themes/coffee.toml deleted file mode 100644 index cdfe56125eb599876915d404fa311700a883fe16..0000000000000000000000000000000000000000 --- a/nemo/data/themes/coffee.toml +++ /dev/null @@ -1,21 +0,0 @@ -# Theme metadata -name = "Coffee" - -# Is theme light or dark? -light = true - -# Primary -primary = "#795548" - -# Menu -menu_primary = "#795548" -menu_text = "rgba(255,255,255,0.6)" -menu_text_active = "rgba(255,255,255,1)" -menu_title = "#fff" - -# Backgrounds -background = "hsla(16, 24%, 85%, 1)" -home_section_odd = "hsla(16, 24%, 85%, 1)" -home_section_even = "hsla(16, 24%, 80%, 1)" - -font = "rose" diff --git a/nemo/data/themes/dark.toml b/nemo/data/themes/dark.toml deleted file mode 100644 index e5f5f78818f817ce6467f26b9c00d9a2028a6e12..0000000000000000000000000000000000000000 --- a/nemo/data/themes/dark.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Dark" - -# Is theme light or dark? -light = false - -# Primary -primary = "hsl(339, 90%, 68%)" - -# Menu -menu_primary = "rgb(20, 22, 34)" -menu_text = "rgba(255,255,255,0.6)" -menu_text_active = "rgba(255,255,255,1)" -menu_title = "#fff" - -# Home sections -home_section_odd = "hsla(231, 15%, 18%, 1)" -home_section_even = "hsla(231, 15%, 16%, 1)" diff --git a/nemo/data/themes/forest.toml b/nemo/data/themes/forest.toml deleted file mode 100644 index 2a78e806d4c1c1d6a2bdc803d4a9efbe9ba63c6e..0000000000000000000000000000000000000000 --- a/nemo/data/themes/forest.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Forest" - -# Is theme light or dark? -light = true - -# Primary -primary = "#4caf50" - -# Menu -menu_primary = "#4caf50" -menu_text = "#fff" -menu_text_active = "#1b5e20" -menu_title = "#fff" - -# Home sections -home_section_odd = "rgb(255, 255, 255)" -home_section_even = "rgb(247, 247, 247)" diff --git a/nemo/data/themes/minimal.toml b/nemo/data/themes/minimal.toml deleted file mode 100644 index fcf13b487e69c694dff454e9872fbfa7ecd804ad..0000000000000000000000000000000000000000 --- a/nemo/data/themes/minimal.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Minimal" - -# Is theme light or dark? -light = true - -# Primary -primary = "#2962ff" - -# Menu -menu_primary = "#fff" -menu_text = "#34495e" -menu_text_active = "#2962ff" -menu_title = "#2b2b2b" - -# Home sections -home_section_odd = "rgb(255, 255, 255)" -home_section_even = "rgb(247, 247, 247)" diff --git a/nemo/data/themes/mr_robot.toml b/nemo/data/themes/mr_robot.toml deleted file mode 100644 index 0a0cf79ca85404b46868b38ac638cbeb62643419..0000000000000000000000000000000000000000 --- a/nemo/data/themes/mr_robot.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Mr Robot" - -# Is theme light or dark? -light = false - -# Primary -primary = "rgb(0, 136, 204)" - -# Menu -menu_primary = "rgb(33, 37, 41)" -menu_text = "rgb(0, 136, 204)" -menu_text_active = "rgba(255,255,255,1)" -menu_title = "rgb(153, 153, 153)" - -# Home sections -home_section_odd = "rgb(29, 33, 39)" -home_section_even = "rgb(29, 33, 39)" diff --git a/nemo/data/themes/ocean.toml b/nemo/data/themes/ocean.toml deleted file mode 100644 index 7d5ed782e5fdfac3b2237af96efe0cbe9c05e22a..0000000000000000000000000000000000000000 --- a/nemo/data/themes/ocean.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Ocean" - -# Is theme light or dark? -light = true - -# Primary -primary = "#3f51b5" - -# Menu -menu_primary = "#3f51b5" # 500 -menu_text = "#fff" -menu_text_active = "#8c9eff" # A100 -menu_title = "#fff" - -# Home sections -home_section_odd = "rgb(255, 255, 255)" -home_section_even = "rgb(247, 247, 247)" diff --git a/nemo/data/themes/rose.toml b/nemo/data/themes/rose.toml deleted file mode 100644 index 24d9dbcf69ced95e1b488ad4467bb0c014830045..0000000000000000000000000000000000000000 --- a/nemo/data/themes/rose.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Rose" - -# Is theme light or dark? -light = true - -# Primary -primary = "rgb(251, 191, 183)" - -# Menu -menu_primary = "rgb(247, 247, 247)" -menu_text = "#000" -menu_text_active = "rgb(25, 25, 25)" -menu_title = "#000" - -# Home sections -home_section_odd = "#FFF" -home_section_even = "rgb(234, 242, 250)" diff --git a/nemo/data/themes/strawberry.toml b/nemo/data/themes/strawberry.toml deleted file mode 100644 index 4ba3f0cff29adc2112a6dd9b9cddacb7cbec0e6c..0000000000000000000000000000000000000000 --- a/nemo/data/themes/strawberry.toml +++ /dev/null @@ -1,18 +0,0 @@ -# Theme metadata -name = "Strawberry" - -# Is theme light or dark? -light = true - -# Primary -primary = "#ff3860" - -# Menu -menu_primary = "#ff3860" -menu_text = "#fff" -menu_text_active = "rgb(208, 255, 56)" -menu_title = "#fff" - -# Home sections -home_section_odd = "#fff" -home_section_even = "#fff" diff --git a/nemo/exampleSite/config/_default/config.toml b/nemo/exampleSite/config/_default/config.toml deleted file mode 100644 index 8e9b871b2ae6b470515d8d6363ae1aef1cd8e7bc..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/config/_default/config.toml +++ /dev/null @@ -1,71 +0,0 @@ -# Configuration of Academic -# Documentation: https://sourcethemes.com/academic/ -# -# This file is formatted using TOML syntax - learn more at https://learnxinyminutes.com/docs/toml/ -# Each configuration section is defined by a name in square brackets (e.g. `[outputs]`). - -# Title of your site -title = "Academic" - -# The URL of your site. -# End your URL with a `/` trailing slash, e.g. `https://example.com/`. -baseurl = "/" - -# Enter a copyright notice to display in the site footer. -# To display a copyright symbol, type `©`. For current year, type `{year}`. -copyright = "" - -############################ -## Advanced options below ## -############################ - -# Name of Academic theme folder in `themes/`. -theme = "academic" - -# Get last modified date for content from Git? -enableGitInfo = false - -# Default language to use (if you setup multilingual support) -defaultContentLanguage = "en" -hasCJKLanguage = false # Set `true` for Chinese/Japanese/Korean languages. -defaultContentLanguageInSubdir = false -removePathAccents = true # Workaround for https://github.com/gohugoio/hugo/issues/5687 - -paginate = 10 # Number of items per page in paginated lists. -enableEmoji = true -footnotereturnlinkcontents = "<sup>^</sup>" -ignoreFiles = ["\\.ipynb$", ".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", "_files$", "_cache$"] - -[outputs] - home = [ "HTML", "RSS", "JSON", "WebAppManifest" ] - section = [ "HTML", "RSS" ] - -[mediaTypes."application/manifest+json"] - suffixes = ["webmanifest"] - -[outputFormats.WebAppManifest] - mediaType = "application/manifest+json" - rel = "manifest" - -[markup] - defaultMarkdownHandler = "goldmark" - [markup.goldmark] - [markup.goldmark.renderer] - unsafe = true # Enable user to embed HTML snippets in Markdown content. - [markup.highlight] - codeFences = false # Disable Hugo's code highlighter as it conflicts with Academic's highligher. - [markup.tableOfContents] - startLevel = 2 - endLevel = 3 - -[imaging] - resampleFilter = "lanczos" - quality = 90 - anchor = "smart" # Anchor for cropping. Options include Smart and Center. - -# Taxonomies. -[taxonomies] - tag = "tags" - category = "categories" - publication_type = "publication_types" - author = "authors" diff --git a/nemo/exampleSite/config/_default/languages.toml b/nemo/exampleSite/config/_default/languages.toml deleted file mode 100644 index f7c6da684d1382510cecdd5c099859267aeba3db..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/config/_default/languages.toml +++ /dev/null @@ -1,20 +0,0 @@ -# Languages -# Create a `[X]` block for each language you want, where X is the language ID. -# Refer to https://sourcethemes.com/academic/docs/language/ - -# Configure the English version of the site. -[en] - languageCode = "en-us" - # contentDir = "content/en" # Uncomment for multi-lingual sites, and move English content into `en` sub-folder. - -# Uncomment the lines below to configure your website in a second language. -#[zh] -# languageCode = "zh-Hans" -# contentDir = "content/zh" -# title = "Chinese website title..." -# [zh.params] -# description = "Site description in Chinese..." -# [[zh.menu.main]] -# name = "Wo" -# url = "#about" -# weight = 1 diff --git a/nemo/exampleSite/config/_default/menus.toml b/nemo/exampleSite/config/_default/menus.toml deleted file mode 100644 index 45c2b8fcd430f77f7bdb14bf0f08bb4ab2d6eddd..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/config/_default/menus.toml +++ /dev/null @@ -1,41 +0,0 @@ -# Navigation Links -# To link a homepage widget, specify the URL as a hash `#` followed by the filename of the -# desired widget in your `content/home/` folder. -# The weight parameter defines the order that the links will appear in. - -[[main]] - name = "Demo" - url = "#hero" - weight = 10 - -[[main]] - name = "Posts" - url = "#posts" - weight = 20 - -[[main]] - name = "Projects" - url = "#projects" - weight = 30 - -[[main]] - name = "Publications" - url = "#featured" - weight = 40 - -[[main]] - name = "Courses" - url = "courses/" - weight = 50 - -[[main]] - name = "Contact" - url = "#contact" - weight = 60 - -# Link to a PDF of your resume/CV from the menu. -# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below. -# [[main]] -# name = "CV" -# url = "files/cv.pdf" -# weight = 70 diff --git a/nemo/exampleSite/config/_default/params.toml b/nemo/exampleSite/config/_default/params.toml deleted file mode 100644 index 71e03626d60029cbc7a5635e45481063dd95d956..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/config/_default/params.toml +++ /dev/null @@ -1,268 +0,0 @@ -# SITE SETUP -# Documentation: https://sourcethemes.com/academic/ - -############################ -## Theme -############################ - -# Choose a theme. -# Latest themes (may require updating): https://sourcethemes.com/academic/themes/ -# Browse built-in themes in `themes/academic/data/themes/` -# Browse user installed themes in `data/themes/` -theme = "minimal" - -# Enable users to switch between day and night mode? -day_night = true - -# Override the theme's font set (optional). -# Latest font sets (may require updating): https://sourcethemes.com/academic/themes/ -# Browse built-in font sets in `themes/academic/data/fonts/` -# Browse user installed font sets in `data/fonts/` -font = "" - -# Choose a font size. -# Sizes: XS (extra small), S (small), M (medium), L (large - DEFAULT), XL (extra large) -font_size = "L" - -############################ -## Basic Info -############################ - -# Website type -# Improve how search engines understand your site. -# For personal sites, choose "Person". -# For organizations and projects, choose from https://schema.org/Organization#subtypes -# E.g. Person, Organization, LocalBusiness, Project, EducationalOrganization -site_type = "Person" - -# Local business type (optional) -# If you entered "LocalBusiness" above, choose the type of business from https://schema.org/LocalBusiness#subtypes -local_business_type = "" - -# Organization name (optional) -# Enter an organization or project name. Defaults to the site title from `config.toml`. -org_name = "" - -# Description for social sharing and search engines. If undefined, superuser role is used in place. -description = "" - -############################ -## Site Features -############################ - -# Enable source code highlighting? true/false -# Documentation: https://sourcethemes.com/academic/docs/writing-markdown-latex/#highlighting-options -highlight = true -highlight_languages = ["r"] # Add support for highlighting additional languages -# highlight_style = "github" # For supported styles, see https://cdnjs.com/libraries/highlight.js/ - -# Enable LaTeX math rendering? true/false -# If false, you can enable math on a per page basis as needed. -math = false - -# Enable diagram rendering? true/false -# If false, you can enable diagrams on a per page basis as needed. -diagram = false - -# Privacy pack -# Show a cookie consent message to visitors -# Anonymize IP in Google Analytics (if enabled) -privacy_pack = false - -# Enable visitors to edit pages? -# `repo` defines the repository URL. `editable` defines which page types can be edited. -edit_page = {repo_url = "https://github.com/gcushen/hugo-academic", content_dir = "", repo_branch = "master", editable = {docs = true, page = false, post = false}} - -############################ -## Contact details -## -## These details power the Contact widget (if enabled). -## Additionally, for organizations, these details may be used to enrich search engine results. -############################ - -# Enter contact details (optional). To hide a field, clear it to "". -email = "test@example.org" -phone = "888 888 88 88" - -# Address -# For country_code, use the 2-letter ISO code (see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ) -address = {street = "450 Serra Mall", city = "Stanford", region = "CA", postcode = "94305", country = "United States", country_code = "US"} - -# Geographic coordinates -# To get your coordinates, right-click on Google Maps and choose "What's here?". The coords will show up at the bottom. -coordinates = {latitude = "37.4275", longitude = "-122.1697"} - -# Directions for visitors to locate you. -directions = "Enter Building 1 and take the stairs to Office 200 on Floor 2" - -# Office hours -# A list of your office hours. To remove, set to an empty list `[]`. -office_hours = ["Monday 10:00 to 13:00", "Wednesday 09:00 to 10:00"] - -# Enter an optional link for booking appointments (e.g. calendly.com). -appointment_url = "https://calendly.com" - -# Contact links -# Set to `[]` to disable, or comment out unwanted lines with a hash `#`. -contact_links = [ - {icon = "twitter", icon_pack = "fab", name = "DM Me", link = "https://twitter.com/Twitter"}, - {icon = "skype", icon_pack = "fab", name = "Skype Me", link = "skype:echo123?call"}, - {icon = "keybase", icon_pack = "fab", name = "Chat on Keybase", link = "https://keybase.io/"}, - {icon = "comments", icon_pack = "fas", name = "Discuss on Forum", link = "https://discourse.gohugo.io"}, - # {icon = "telegram", icon_pack = "fab", name = "Telegram Me", link = "https://telegram.me/@Telegram"}, - ] - -############################ -## Social -############################ - -# Default image for social sharing and search engines. Place image in `static/img/` folder and specify image name here. -sharing_image = "" - -# Twitter username (without @). Used when a visitor shares your site on Twitter. -twitter = "" - -############################ -## Regional Settings -############################ - -# Date and time format (refer to https://sourcethemes.com/academic/docs/customization/#date-format ) -# Examples: "Mon, Jan 2, 2006" or "2006-01-02" -date_format = "Jan 2, 2006" -# Examples: "3:04 pm" or "15:04" -time_format = "3:04 PM" - -# Address format (choose from the [address_formats] list below or add you own to the list). -address_format = "en-us" - -############################ -## Advanced -############################ - -# Main menu alignment (l = left, c = center, r = right) and logo options. -main_menu = {align = "l", show_logo = true} - -# Show estimated reading time for posts? (true/false) -reading_time = true - -# Display next/previous section pager? (true/false) -section_pager = false -docs_section_pager = true # Display pager in Docs layout (e.g. tutorials)? - -# Enable in-built social sharing buttons? (true/false) -sharing = true - -# Link authors to their profile page? (true/false) -link_authors = true - -# Load JS plugins -# E.g. To load `/assets/js/custom.js`, set `plugins_js = ["custom"]`. -plugins_js = [] - -# Avatars. -# An avatar is an image that appears next to a user's name. -# An avatar can be uploaded as an image named `avatar` to each user's profile or fetched from Gravatar.com. -[avatar] - # Get user avatars from Gravatar.com? (true/false) - gravatar = false - - # Choose a shape for avatar images. Options: circle, square. - shape = "circle" - -# Available address formats. -[address_formats] - en-us = {order = ['street', 'city', 'region', 'postcode'], delimiters = [', ', ', ', ' ', '']} - en-gb = {order = ['street', 'city', 'region', 'postcode'], delimiters = [', ', ', ', ', ', '']} - de = {order = ['street', 'postcode', 'city'], delimiters = ['<br>', ' ', '']} - fr-fr = {order = ['street', 'postcode', 'city'], delimiters = ['<br>', ' ', '']} - zh = {order = ['postcode', 'region', 'city', 'street'], delimiters = [' ', ' ', ' ', '']} - -# Configuration of publication pages. -[publications] - # Date format (refer to https://sourcethemes.com/academic/docs/customization/#date-format ) - # Examples: "Mon, Jan 2, 2006" or "2006-01-02" - date_format = "January 2006" - - # Citation style ("apa" or "mla") - citation_style = "apa" - -# Configuration of project pages. -[projects] - # Views for associated content. - # 1: List - # 2: Compact - # 3: Card - # 4: Citation (publications only) - post_view = 2 - publication_view = 2 - talk_view = 2 - -############################ -## Comments -############################ -[comments] - # Comment provider: - # 0: Disabled - # 1: Disqus (https://disqus.com) - # 2: Commento (https://commento.io) - engine = 0 - - # Which page types are commentable? - commentable = {page = true, post = true, docs = true, project = true, publication = true, talk = true} - - # Configuration of Disqus. - [comments.disqus] - shortname = "" # Paste the shortname from your Disqus dashboard. - show_count = true # Show comment count in page header? (true/false) - - # Configuration of Commento. - [comments.commento] - # If self-hosting Commento, enter its URL here (e.g. "https://commento.?.com"), otherwise leave empty. - url = "" - -############################ -## Search -############################ -[search] - # Search provider: - # 0: No search engine - # 1: Academic (built-in) - # 2: Algolia (https://www.algolia.com) - engine = 1 - - # Configuration of Algolia search engine. - # Paste the values from your Algolia dashboard. - [search.algolia] - app_id = "" - api_key = "" - index_name = "" - show_logo = false - -############################ -## Maps -############################ -[map] - # To show your address on a map in the Contact widget, enter your latitude and longitude (above) - # and choose a map provider below. - # - # To use Google Maps, set `engine` to 1 and enter your API key that can be obtained here: - # https://developers.google.com/maps/documentation/javascript/get-api-key - # To use OpenStreetMap tiles, set `engine` to 2. - # To use OpenStreetMap on a high traffic site, set `engine` to 3 and enter your API key that can be obtained here: - # https://www.mapbox.com/studio/account/tokens - # - # Map provider: - # 0: No map - # 1: Google Maps - # 2: OpenStreetMap (Mapnik) - # 3: OpenStreetMap (Mapbox) - engine = 2 - api_key = "" - zoom = 15 - -############################ -## Marketing -############################ -[marketing] - google_analytics = "" - google_tag_manager = "" diff --git a/nemo/exampleSite/content/authors/admin/_index.md b/nemo/exampleSite/content/authors/admin/_index.md deleted file mode 100644 index 23eff309ef9e21435ee1dc60b512c33cbfe99df2..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/authors/admin/_index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -# Display name -name: Nelson Bighetti - -# Username (this should match the folder name) -authors: -- admin - -# Is this the primary user of the site? -superuser: true - -# Role/position -role: Professor of Artificial Intelligence - -# Organizations/Affiliations -organizations: -- name: Stanford University - url: "" - -# Short bio (displayed in user profile at end of posts) -bio: My research interests include distributed robotics, mobile computing and programmable matter. - -interests: -- Artificial Intelligence -- Computational Linguistics -- Information Retrieval - -education: - courses: - - course: PhD in Artificial Intelligence - institution: Stanford University - year: 2012 - - course: MEng in Artificial Intelligence - institution: Massachusetts Institute of Technology - year: 2009 - - course: BSc in Artificial Intelligence - institution: Massachusetts Institute of Technology - year: 2008 - -# Social/Academic Networking -# For available icons, see: https://sourcethemes.com/academic/docs/page-builder/#icons -# For an email link, use "fas" icon pack, "envelope" icon, and a link in the -# form "mailto:your-email@example.com" or "#contact" for contact widget. -social: -- icon: envelope - icon_pack: fas - link: '#contact' # For a direct email link, use "mailto:test@example.org". -- icon: twitter - icon_pack: fab - link: https://twitter.com/GeorgeCushen -- icon: google-scholar - icon_pack: ai - link: https://scholar.google.co.uk/citations?user=sIwtMXoAAAAJ -- icon: github - icon_pack: fab - link: https://github.com/gcushen -# Link to a PDF of your resume/CV from the About widget. -# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below. -# - icon: cv -# icon_pack: ai -# link: files/cv.pdf - -# Enter email to display Gravatar (if Gravatar enabled in Config) -email: "" - -# Organizational groups that you belong to (for People widget) -# Set this to `[]` or comment out if you are not using People widget. -user_groups: -- Researchers -- Visitors ---- - -Nelson Bighetti is a professor of artificial intelligence at the Stanford AI Lab. His research interests include distributed robotics, mobile computing and programmable matter. He leads the Robotic Neurobiology group, which develops self-reconfiguring robots, systems of self-organizing robots, and mobile sensor networks. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed neque elit, tristique placerat feugiat ac, facilisis vitae arcu. Proin eget egestas augue. Praesent ut sem nec arcu pellentesque aliquet. Duis dapibus diam vel metus tempus vulputate. diff --git a/nemo/exampleSite/content/authors/admin/avatar.jpg b/nemo/exampleSite/content/authors/admin/avatar.jpg deleted file mode 100644 index d1361fd8e04ebc7d46ebea699097347f792c01c7..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/authors/admin/avatar.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/courses/_index.md b/nemo/exampleSite/content/courses/_index.md deleted file mode 100644 index 353cc20006846882cd17771fbe2faa59e8d27682..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/courses/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Courses -layout: docs # Do not modify. - -# Optional header image (relative to `static/img/` folder). -header: - caption: "" - image: "" ---- - diff --git a/nemo/exampleSite/content/courses/example/_index.md b/nemo/exampleSite/content/courses/example/_index.md deleted file mode 100644 index faa85886fde09cc4bb41308ba802cfb62f88e40b..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/courses/example/_index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -# Course title, summary, and position. -linktitle: An Example Course -summary: Learn how to use Academic's docs layout for publishing online courses, software documentation, and tutorials. -weight: 1 - -# Page metadata. -title: Overview -date: "2018-09-09T00:00:00Z" -lastmod: "2018-09-09T00:00:00Z" -draft: false # Is this a draft? true/false -toc: true # Show table of contents? true/false -type: docs # Do not modify. - -# Add menu entry to sidebar. -# - name: Declare this menu item as a parent with ID `name`. -# - weight: Position of link in menu. -menu: - example: - name: Overview - weight: 1 ---- - -## Flexibility - -This feature can be used for publishing content such as: - -* **Online courses** -* **Project or software documentation** -* **Tutorials** - -The `courses` folder may be renamed. For example, we can rename it to `docs` for software/project documentation or `tutorials` for creating an online course. - -## Delete tutorials - -**To remove these pages, delete the `courses` folder and see below to delete the associated menu link.** - -## Update site menu - -After renaming or deleting the `courses` folder, you may wish to update any `[[main]]` menu links to it by editing your menu configuration at `config/_default/menus.toml`. - -For example, if you delete this folder, you can remove the following from your menu configuration: - -```toml -[[main]] - name = "Courses" - url = "courses/" - weight = 50 -``` - -Or, if you are creating a software documentation site, you can rename the `courses` folder to `docs` and update the associated *Courses* menu configuration to: - -```toml -[[main]] - name = "Docs" - url = "docs/" - weight = 50 -``` - -## Update the docs menu - -If you use the *docs* layout, note that the name of the menu in the front matter should be in the form `[menu.X]` where `X` is the folder name. Hence, if you rename the `courses/example/` folder, you should also rename the menu definitions in the front matter of files within `courses/example/` from `[menu.example]` to `[menu.<NewFolderName>]`. diff --git a/nemo/exampleSite/content/courses/example/example1.md b/nemo/exampleSite/content/courses/example/example1.md deleted file mode 100644 index 6e403584b2609ef72be3225288804e4d5121d230..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/courses/example/example1.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Example Page 1 -linktitle: Tips 1-2 -toc: true -type: docs -date: "2019-05-05T00:00:00+01:00" -draft: false -menu: - example: - parent: Example Topic - weight: 1 - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 1 ---- - -In this tutorial, I'll share my top 10 tips for getting started with Academic: - -## Tip 1 - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus. - -Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus. - -Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare. - -Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at. - - -## Tip 2 - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus. - -Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus. - -Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare. - -Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at. diff --git a/nemo/exampleSite/content/courses/example/example2.md b/nemo/exampleSite/content/courses/example/example2.md deleted file mode 100644 index b7481d66190985c2e742b843b1e8d0d06640c77c..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/courses/example/example2.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Example Page 2 -linktitle: Tips 3-4 -toc: true -type: docs -date: "2019-05-05T00:00:00+01:00" -draft: false -menu: - example: - parent: Example Topic - weight: 2 - -# Prev/next pager order (if `docs_section_pager` enabled in `params.toml`) -weight: 2 ---- - -Here are some more tips for getting started with Academic: - -## Tip 3 - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus. - -Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus. - -Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare. - -Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at. - - -## Tip 4 - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus. - -Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus. - -Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare. - -Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at. diff --git a/nemo/exampleSite/content/home/about.md b/nemo/exampleSite/content/home/about.md deleted file mode 100644 index 13d45394fa1469bbaa51e8abb91af06beaf57d3e..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/about.md +++ /dev/null @@ -1,14 +0,0 @@ -+++ -# About widget. -widget = "about" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 20 # Order that this section will appear in. - -title = "Biography" - -# Choose the user profile to display -# This should be the username of a profile in your `content/authors/` folder. -# See https://sourcethemes.com/academic/docs/get-started/#introduce-yourself -author = "admin" -+++ diff --git a/nemo/exampleSite/content/home/accomplishments.md b/nemo/exampleSite/content/home/accomplishments.md deleted file mode 100644 index e2fd9a218121111461a74b406331c016eb786782..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/accomplishments.md +++ /dev/null @@ -1,51 +0,0 @@ -+++ -# Accomplishments widget. -widget = "accomplishments" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 50 # Order that this section will appear. - -title = "Accomplish­ments" -subtitle = "" - -# Date format -# Refer to https://sourcethemes.com/academic/docs/customization/#date-format -date_format = "Jan 2006" - -# Accomplishments. -# Add/remove as many `[[item]]` blocks below as you like. -# `title`, `organization` and `date_start` are the required parameters. -# Leave other parameters empty if not required. -# Begin/end multi-line descriptions with 3 quotes `"""`. - -[[item]] - organization = "Coursera" - organization_url = "https://www.coursera.org" - title = "Neural Networks and Deep Learning" - url = "" - certificate_url = "https://www.coursera.org" - date_start = "2018-10-01" - date_end = "" - description = "" - -[[item]] - organization = "edX" - organization_url = "https://www.edx.org" - title = "Blockchain Fundamentals" - url = "https://www.edx.org/professional-certificate/uc-berkeleyx-blockchain-fundamentals" - certificate_url = "https://www.edx.org" - date_start = "2018-03-01" - date_end = "" - description = "Formulated informed blockchain models, hypotheses, and use cases." - -[[item]] - organization = "DataCamp" - organization_url = "https://www.datacamp.com" - title = "Object-Oriented Programming in R: S3 and R6 Course" - url = "" - certificate_url = "https://www.datacamp.com" - date_start = "2017-07-01" - date_end = "2017-12-21" - description = "" - -+++ diff --git a/nemo/exampleSite/content/home/contact.md b/nemo/exampleSite/content/home/contact.md deleted file mode 100644 index 6459d09f3119b6dcec8b76d3da887b4a5cc1a8f9..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/contact.md +++ /dev/null @@ -1,20 +0,0 @@ -+++ -# Contact widget. -widget = "contact" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 130 # Order that this section will appear. - -title = "Contact" -subtitle = "" - -# Automatically link email and phone? -autolink = true - -# Email form provider -# 0: Disable email form -# 1: Netlify (requires that the site is hosted by Netlify) -# 2: formspree.io -email_form = 2 -+++ - diff --git a/nemo/exampleSite/content/home/demo.md b/nemo/exampleSite/content/home/demo.md deleted file mode 100644 index 8b3c6acd499d7cbe027ad2be6d81f17479c84986..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/demo.md +++ /dev/null @@ -1,65 +0,0 @@ -+++ -# A Demo section created with the Blank widget. -# Any elements can be added in the body: https://sourcethemes.com/academic/docs/writing-markdown-latex/ -# Add more sections by duplicating this file and customizing to your requirements. - -widget = "blank" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 15 # Order that this section will appear. - -title = "Demos" -subtitle = "" - -[design] - # Choose how many columns the section has. Valid values: 1 or 2. - columns = "1" - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - image = "headers/bubbles-wide.jpg" # Name of image in `static/img/`. - image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - image_size = "cover" # Options are `cover` (default), `contain`, or `actual` size. - image_position = "center" # Options include `left`, `center` (default), or `right`. - image_parallax = true # Use a fun parallax-like fixed background effect? true/false - - # Text color (true=light or false=dark). - text_color_light = true - -[design.spacing] - # Customize the section spacing. Order is top, right, bottom, left. - padding = ["20px", "0", "20px", "0"] - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ - -Welcome to the **personal demo** of Academic. Other demos available include: - -- [**Project Demo** (Academic's actual site)](https://sourcethemes.com/academic/) - -**Over 100,000 [Amazing Websites](https://sourcethemes.com/academic/#expo) have Already Been Built with Academic** - -**[Join](https://sourcethemes.com/academic/docs/install/) the Most Empowered Hugo Community** - -{{% alert note %}} -This homepage section is an example of adding [elements](https://sourcethemes.com/academic/docs/writing-markdown-latex/) to the [*Blank* widget](https://sourcethemes.com/academic/docs/widgets/). - -Backgrounds can be applied to any section. Here, the *background* option is set give an *image parallax* effect. -{{% /alert %}} diff --git a/nemo/exampleSite/content/home/experience.md b/nemo/exampleSite/content/home/experience.md deleted file mode 100644 index 12d7b3dbfd5de4384682612665e6f996673cf8a1..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/experience.md +++ /dev/null @@ -1,44 +0,0 @@ -+++ -# Experience widget. -widget = "experience" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 40 # Order that this section will appear. - -title = "Experience" -subtitle = "" - -# Date format for experience -# Refer to https://sourcethemes.com/academic/docs/customization/#date-format -date_format = "Jan 2006" - -# Experiences. -# Add/remove as many `[[experience]]` blocks below as you like. -# Required fields are `title`, `company`, and `date_start`. -# Leave `date_end` empty if it's your current employer. -# Begin/end multi-line descriptions with 3 quotes `"""`. -[[experience]] - title = "CEO" - company = "GenCoin" - company_url = "" - location = "California" - date_start = "2017-01-01" - date_end = "" - description = """ - Responsibilities include: - - * Analysing - * Modelling - * Deploying - """ - -[[experience]] - title = "Professor" - company = "University X" - company_url = "" - location = "California" - date_start = "2016-01-01" - date_end = "2016-12-31" - description = """Taught electronic engineering and researched semiconductor physics.""" - -+++ diff --git a/nemo/exampleSite/content/home/featured.md b/nemo/exampleSite/content/home/featured.md deleted file mode 100644 index 345b6eac10835e7106ea526f82f0c3f13a3f3f1a..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/featured.md +++ /dev/null @@ -1,64 +0,0 @@ -+++ -# A Featured Publications section created with the Featured Content widget. -# This section displays publications from `content/publication/` which have -# `featured = true` in their front matter. - -widget = "featured" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 80 # Order that this section will appear. - -title = "Featured Publications" -subtitle = "" - -[content] - # Page type to display. E.g. post, talk, or publication. - page_type = "publication" - - # Choose how much pages you would like to display (0 = all pages) - count = 0 - - # Page order. Descending (desc) or ascending (asc) date. - order = "desc" - - # Filter posts by a taxonomy term. - [content.filters] - tag = "" - category = "" - publication_type = "" - -[design] - # Toggle between the various page layout types. - # 1 = List - # 2 = Compact - # 3 = Card - # 4 = Citation (publication only) - view = 3 - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - # image = "background.jpg" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - - # Text color (true=light or false=dark). - # text_color_light = true - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-1950s.png b/nemo/exampleSite/content/home/gallery/gallery/theme-1950s.png deleted file mode 100644 index a81ab8d27afafcf7e754a5422b0d05230df8e085..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-1950s.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-apogee.png b/nemo/exampleSite/content/home/gallery/gallery/theme-apogee.png deleted file mode 100644 index 635754c1e85f9e98684c87ac817806d32e84ab47..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-apogee.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-coffee-playfair.png b/nemo/exampleSite/content/home/gallery/gallery/theme-coffee-playfair.png deleted file mode 100644 index 938dd3a0b6ba86b511b44fd4a357554ce8773c2d..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-coffee-playfair.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-dark.png b/nemo/exampleSite/content/home/gallery/gallery/theme-dark.png deleted file mode 100644 index a04ce143eb52b4a0c61aa4d9fea4590a5bd1e198..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-dark.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-default.png b/nemo/exampleSite/content/home/gallery/gallery/theme-default.png deleted file mode 100644 index 71792b125d605d0f9c5675300a4908f717c5629f..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-default.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-forest.png b/nemo/exampleSite/content/home/gallery/gallery/theme-forest.png deleted file mode 100644 index df2d6ccce76030622526625334b43ada5550d9be..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-forest.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-ocean.png b/nemo/exampleSite/content/home/gallery/gallery/theme-ocean.png deleted file mode 100644 index 6f4a0da586e14e523dc9037267a6da5faecaabfe..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-ocean.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/gallery/theme-strawberry.png b/nemo/exampleSite/content/home/gallery/gallery/theme-strawberry.png deleted file mode 100644 index 4ba0dab5449fec3e7b45b845400ecfc17399cf59..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/home/gallery/gallery/theme-strawberry.png and /dev/null differ diff --git a/nemo/exampleSite/content/home/gallery/index.md b/nemo/exampleSite/content/home/gallery/index.md deleted file mode 100644 index 69b5a0b6b12e1a4d31cf0d94dec392804825aeb9..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/gallery/index.md +++ /dev/null @@ -1,12 +0,0 @@ -+++ -# Gallery section using the Blank widget and Gallery element (shortcode). -widget = "blank" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 66 # Order that this section will appear. - -title = "Gallery" -subtitle = "" -+++ - -{{< gallery >}} diff --git a/nemo/exampleSite/content/home/hero.md b/nemo/exampleSite/content/home/hero.md deleted file mode 100644 index 73e2cceac712e64178dd016b68f51ce7fb117bcd..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/hero.md +++ /dev/null @@ -1,58 +0,0 @@ -+++ -# Hero widget. -widget = "hero" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 10 # Order that this section will appear. - -title = "Academic" - -# Hero image (optional). Enter filename of an image in the `static/img/` folder. -hero_media = "hero-academic.png" - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - gradient_start = "#4bb4e3" - gradient_end = "#2b94c3" - - # Background image. - # image = "" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - # image_size = "cover" # Options are `cover` (default), `contain`, or `actual` size. - # image_position = "center" # Options include `left`, `center` (default), or `right`. - # image_parallax = true # Use a fun parallax-like fixed background effect? true/false - - # Text color (true=light or false=dark). - text_color_light = true - -# Call to action links (optional). -# Display link(s) by specifying a URL and label below. Icon is optional for `[cta]`. -# Remove a link/note by deleting a cta/note block. -[cta] - url = "https://sourcethemes.com/academic/docs/install/" - label = "Get Started" - icon_pack = "fas" - icon = "download" - -[cta_alt] - url = "https://sourcethemes.com/academic/" - label = "View Documentation" - -# Note. An optional note to show underneath the links. -[cta_note] - label = '<a class="js-github-release" href="https://sourcethemes.com/academic/updates" data-repo="gcushen/hugo-academic">Latest release<!-- V --></a>' -+++ - -**The Best Way to Create the Website You Want from Markdown (or Jupyter/RStudio)** - -Build **Anything** with Widgets - -<span style="text-shadow: none;"><a class="github-button" href="https://github.com/gcushen/hugo-academic" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star this on GitHub">Star</a><script async defer src="https://buttons.github.io/buttons.js"></script></span> diff --git a/nemo/exampleSite/content/home/index.md b/nemo/exampleSite/content/home/index.md deleted file mode 100644 index ef8bad516abbcad5cf06ec67bf745faa1baa8f6e..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/index.md +++ /dev/null @@ -1,5 +0,0 @@ -+++ -# Homepage -type = "widget_page" -headless = true # Homepage is headless, other widget pages are not. -+++ diff --git a/nemo/exampleSite/content/home/people.md b/nemo/exampleSite/content/home/people.md deleted file mode 100644 index 4088557713f5e12a2e6c63cf8d1252a5e00e779b..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/people.md +++ /dev/null @@ -1,56 +0,0 @@ -+++ -# A "Meet the Team" section created with the People widget. -# This section displays people from `content/authors/` which belong to the `user_groups` below. - -widget = "people" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = false # Activate this widget? true/false -weight = 68 # Order that this section will appear. - -title = "Meet the Team" -subtitle = "" - -[content] - # Choose which groups/teams of users to display. - # Edit `user_groups` in each user's profile to add them to one or more of these groups. - user_groups = ["Principal Investigators", - "Researchers", - "Grad Students", - "Administration", - "Visitors", - "Alumni"] - -[design] - # Show user's social networking links? (true/false) - show_social = false - - # Show user's interests? (true/false) - show_interests = true - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - # image = "background.jpg" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - - # Text color (true=light or false=dark). - # text_color_light = true - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ diff --git a/nemo/exampleSite/content/home/posts.md b/nemo/exampleSite/content/home/posts.md deleted file mode 100644 index 12b3b6f3ec571a644185ac7b0d8df80de9712214..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/posts.md +++ /dev/null @@ -1,67 +0,0 @@ -+++ -# A Recent Blog Posts section created with the Pages widget. -# This section displays recent blog posts from `content/post/`. - -widget = "pages" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 60 # Order that this section will appear. - -title = "Recent Posts" -subtitle = "" - -[content] - # Page type to display. E.g. post, talk, or publication. - page_type = "post" - - # Choose how much pages you would like to display (0 = all pages) - count = 5 - - # Choose how many pages you would like to offset by - offset = 0 - - # Page order. Descending (desc) or ascending (asc) date. - order = "desc" - - # Filter posts by a taxonomy term. - [content.filters] - tag = "" - category = "" - publication_type = "" - exclude_featured = false - -[design] - # Toggle between the various page layout types. - # 1 = List - # 2 = Compact - # 3 = Card - # 4 = Citation (publication only) - view = 2 - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - # image = "background.jpg" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - - # Text color (true=light or false=dark). - # text_color_light = true - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ diff --git a/nemo/exampleSite/content/home/projects.md b/nemo/exampleSite/content/home/projects.md deleted file mode 100644 index 09e5be2b7a24db96c142c1230becd30139a677b5..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/projects.md +++ /dev/null @@ -1,77 +0,0 @@ -+++ -# A Projects section created with the Portfolio widget. -widget = "portfolio" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 65 # Order that this section will appear. - -title = "Projects" -subtitle = "" - -[content] - # Page type to display. E.g. project. - page_type = "project" - - # Filter toolbar (optional). - # Add or remove as many filters (`[[content.filter_button]]` instances) as you like. - # To show all items, set `tag` to "*". - # To filter by a specific tag, set `tag` to an existing tag name. - # To remove toolbar, delete/comment all instances of `[[content.filter_button]]` below. - - # Default filter index (e.g. 0 corresponds to the first `[[filter_button]]` instance below). - filter_default = 0 - - [[content.filter_button]] - name = "All" - tag = "*" - - [[content.filter_button]] - name = "Deep Learning" - tag = "Deep Learning" - - [[content.filter_button]] - name = "Other" - tag = "Demo" - -[design] - # Choose how many columns the section has. Valid values: 1 or 2. - columns = "2" - - # Toggle between the various page layout types. - # 1 = List - # 2 = Compact - # 3 = Card - # 5 = Showcase - view = 3 - - # For Showcase view, flip alternate rows? - flip_alt_rows = false - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - # image = "background.jpg" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - - # Text color (true=light or false=dark). - # text_color_light = true - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ - diff --git a/nemo/exampleSite/content/home/publications.md b/nemo/exampleSite/content/home/publications.md deleted file mode 100644 index 1d22f863c82638154c9b018aba4ec7b26ea17661..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/publications.md +++ /dev/null @@ -1,71 +0,0 @@ -+++ -# A Recent Publications section created with the Pages widget. -# This section displays recent blog posts from `content/publication/`. - -widget = "pages" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 90 # Order that this section will appear. - -title = "Recent Publications" -subtitle = "" - -[content] - # Page type to display. E.g. post, talk, or publication. - page_type = "publication" - - # Choose how much pages you would like to display (0 = all pages) - count = 5 - - # Choose how many pages you would like to offset by - offset = 0 - - # Page order. Descending (desc) or ascending (asc) date. - order = "desc" - - # Filter posts by a taxonomy term. - [content.filters] - tag = "" - category = "" - publication_type = "" - exclude_featured = false - -[design] - # Toggle between the various page layout types. - # 1 = List - # 2 = Compact - # 3 = Card - # 4 = Citation (publication only) - view = 2 - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - # image = "background.jpg" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - - # Text color (true=light or false=dark). - # text_color_light = true - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ - -{{% alert note %}} -Quickly discover relevant content by [filtering publications]({{< ref "/publication/_index.md" >}}). -{{% /alert %}} diff --git a/nemo/exampleSite/content/home/skills.md b/nemo/exampleSite/content/home/skills.md deleted file mode 100644 index 9f9f18ed5eef2b4237ad77e9c5109ac59caae963..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/skills.md +++ /dev/null @@ -1,35 +0,0 @@ -+++ -# A Skills section created with the Featurette widget. -widget = "featurette" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 30 # Order that this section will appear. - -title = "Skills" -subtitle = "" - -# Showcase personal skills or business features. -# -# Add/remove as many `[[feature]]` blocks below as you like. -# -# For available icons, see: https://sourcethemes.com/academic/docs/widgets/#icons - -[[feature]] - icon = "r-project" - icon_pack = "fab" - name = "R" - description = "90%" - -[[feature]] - icon = "chart-line" - icon_pack = "fas" - name = "Statistics" - description = "100%" - -[[feature]] - icon = "camera-retro" - icon_pack = "fas" - name = "Photography" - description = "10%" - -+++ diff --git a/nemo/exampleSite/content/home/slider.md b/nemo/exampleSite/content/home/slider.md deleted file mode 100644 index 6ddc3be9a6268fcc5e4b21b9b5e76e0339f81f0e..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/slider.md +++ /dev/null @@ -1,54 +0,0 @@ -+++ -# Slider widget. -widget = "slider" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = false # Activate this widget? true/false -weight = 1 # Order that this section will appear. - -# Slide interval. -# Use `false` to disable animation or enter a time in ms, e.g. `5000` (5s). -interval = false - -# Slide height (optional). -# E.g. `500px` for 500 pixels or `calc(100vh - 70px)` for full screen. -height = "" - -# Slides. -# Duplicate an `[[item]]` block to add more slides. -[[item]] - title = "Hello" - content = "I am center aligned :smile:" - align = "center" # Choose `center`, `left`, or `right`. - - # Overlay a color or image (optional). - # Deactivate an option by commenting out the line, prefixing it with `#`. - overlay_color = "#666" # An HTML color value. - overlay_img = "headers/bubbles-wide.jpg" # Image path relative to your `static/img/` folder. - overlay_filter = 0.5 # Darken the image. Value in range 0-1. - - # Call to action button (optional). - # Activate the button by specifying a URL and button label below. - # Deactivate by commenting out parameters, prefixing lines with `#`. - cta_label = "Get Academic" - cta_url = "https://sourcethemes.com/academic/" - cta_icon_pack = "fas" - cta_icon = "graduation-cap" - -[[item]] - title = "Left" - content = "I am left aligned :smile:" - align = "left" - - overlay_color = "#555" # An HTML color value. - overlay_img = "" # Image path relative to your `static/img/` folder. - overlay_filter = 0.5 # Darken the image. Value in range 0-1. - -[[item]] - title = "Right" - content = "I am right aligned :smile:" - align = "right" - - overlay_color = "#333" # An HTML color value. - overlay_img = "" # Image path relative to your `static/img/` folder. - overlay_filter = 0.5 # Darken the image. Value in range 0-1. -+++ diff --git a/nemo/exampleSite/content/home/tags.md b/nemo/exampleSite/content/home/tags.md deleted file mode 100644 index 6da5875c9087280afa2af6ef8a3ff701b8b03d99..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/tags.md +++ /dev/null @@ -1,22 +0,0 @@ -+++ -# Tag Cloud widget. -widget = "tag_cloud" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 120 # Order that this section will appear. - -title = "Popular Topics" -subtitle = "" - -[content] - # Choose the taxonomy from `config.toml` to display (e.g. tags, categories) - taxonomy = "tags" - - # Choose how many tags you would like to display (0 = all tags) - count = 20 - -[design] - # Minimum and maximum font sizes (1.0 = 100%). - font_size_min = 0.7 - font_size_max = 2.0 -+++ diff --git a/nemo/exampleSite/content/home/talks.md b/nemo/exampleSite/content/home/talks.md deleted file mode 100644 index 2be025883f4620973e5f2fbec59bf8d670c0f7d3..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/home/talks.md +++ /dev/null @@ -1,69 +0,0 @@ -+++ -# A Recent and Upcoming Talks section created with the Pages widget. -# This section displays recent talks from `content/talk/`. - -widget = "pages" # See https://sourcethemes.com/academic/docs/page-builder/ -headless = true # This file represents a page section. -active = true # Activate this widget? true/false -weight = 70 # Order that this section will appear. - -title = "Recent & Upcoming Talks" -subtitle = "" - -[content] - # Page type to display. E.g. post, talk, or publication. - page_type = "talk" - - # Choose how much pages you would like to display (0 = all pages) - count = 5 - - # Choose how many pages you would like to offset by - offset = 0 - - # Page order. Descending (desc) or ascending (asc) date. - order = "desc" - - # Filter posts by a taxonomy term. - [content.filters] - tag = "" - category = "" - publication_type = "" - exclude_featured = false - exclude_past = false - exclude_future = false - -[design] - # Toggle between the various page layout types. - # 1 = List - # 2 = Compact - # 3 = Card - # 4 = Citation (publication only) - view = 2 - -[design.background] - # Apply a background color, gradient, or image. - # Uncomment (by removing `#`) an option to apply it. - # Choose a light or dark text color by setting `text_color_light`. - # Any HTML color name or Hex value is valid. - - # Background color. - # color = "navy" - - # Background gradient. - # gradient_start = "DeepSkyBlue" - # gradient_end = "SkyBlue" - - # Background image. - # image = "background.jpg" # Name of image in `static/img/`. - # image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque. - - # Text color (true=light or false=dark). - # text_color_light = true - -[advanced] - # Custom CSS. - css_style = "" - - # CSS class. - css_class = "" -+++ diff --git a/nemo/exampleSite/content/post/_index.md b/nemo/exampleSite/content/post/_index.md deleted file mode 100644 index 5ba086fff0dfccfff551d954d2e182e07adea4b6..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/post/_index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Posts - -# View. -# 1 = List -# 2 = Compact -# 3 = Card -view: 2 - -# Optional header image (relative to `static/img/` folder). -header: - caption: "" - image: "" ---- diff --git a/nemo/exampleSite/content/post/getting-started/featured.jpg b/nemo/exampleSite/content/post/getting-started/featured.jpg deleted file mode 100644 index 04a7bae547f3cd518bd0361f4839741f5a5e39f4..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/post/getting-started/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/post/getting-started/index.md b/nemo/exampleSite/content/post/getting-started/index.md deleted file mode 100644 index 69ffcccf62486549655469318abb51fb553a6ff9..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/post/getting-started/index.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: 'Academic: the website builder for Hugo' -subtitle: 'Create a beautifully simple website in under 10 minutes :rocket:' -summary: Create a beautifully simple website in under 10 minutes. -authors: -- admin -tags: -- Academic -categories: -- Demo -date: "2016-04-20T00:00:00Z" -lastmod: "2019-04-17T00:00:00Z" -featured: false -draft: false - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -# Placement options: 1 = Full column width, 2 = Out-set, 3 = Screen-width -# Focal point options: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight -image: - placement: 2 - caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/CpkOjOcXdUY)' - focal_point: "" - preview_only: false - -# Projects (optional). -# Associate this post with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`. -# Otherwise, set `projects = []`. -projects: [] ---- - -**Create a free website with Academic using Markdown, Jupyter, or RStudio. Choose a beautiful color theme and build anything with the Page Builder - over 40 _widgets_, _themes_, and _language packs_ included!** - -[Check out the latest **demo**](https://academic-demo.netlify.com/) of what you'll get in less than 10 minutes, or [view the **showcase**](https://sourcethemes.com/academic/#expo) of personal, project, and business sites. - -- 👉 [**Get Started**](#install) -- 📚 [View the **documentation**](https://sourcethemes.com/academic/docs/) -- 💬 [**Ask a question** on the forum](https://discourse.gohugo.io) -- 👥 [Chat with the **community**](https://spectrum.chat/academic) -- 🦠Twitter: [@source_themes](https://twitter.com/source_themes) [@GeorgeCushen](https://twitter.com/GeorgeCushen) [#MadeWithAcademic](https://twitter.com/search?q=%23MadeWithAcademic&src=typd) -- 💡 [Request a **feature** or report a **bug**](https://github.com/gcushen/hugo-academic/issues) -- â¬†ï¸ **Updating?** View the [Update Guide](https://sourcethemes.com/academic/docs/update/) and [Release Notes](https://sourcethemes.com/academic/updates/) -- :heart: **Support development** of Academic: - - â˜•ï¸ [**Donate a coffee**](https://paypal.me/cushen) - - 💵 [Become a backer on **Patreon**](https://www.patreon.com/cushen) - - ðŸ–¼ï¸ [Decorate your laptop or journal with an Academic **sticker**](https://www.redbubble.com/people/neutreno/works/34387919-academic) - - 👕 [Wear the **T-shirt**](https://academic.threadless.com/) - - :woman_technologist: [**Contribute**](https://sourcethemes.com/academic/docs/contribute/) - -{{< figure src="https://raw.githubusercontent.com/gcushen/hugo-academic/master/academic.png" title="Academic is mobile first with a responsive design to ensure that your site looks stunning on every device." >}} - -**Key features:** - -- **Page builder** - Create *anything* with [**widgets**](https://sourcethemes.com/academic/docs/page-builder/) and [**elements**](https://sourcethemes.com/academic/docs/writing-markdown-latex/) -- **Edit any type of content** - Blog posts, publications, talks, slides, projects, and more! -- **Create content** in [**Markdown**](https://sourcethemes.com/academic/docs/writing-markdown-latex/), [**Jupyter**](https://sourcethemes.com/academic/docs/jupyter/), or [**RStudio**](https://sourcethemes.com/academic/docs/install/#install-with-rstudio) -- **Plugin System** - Fully customizable [**color** and **font themes**](https://sourcethemes.com/academic/themes/) -- **Display Code and Math** - Code highlighting and [LaTeX math](https://en.wikibooks.org/wiki/LaTeX/Mathematics) supported -- **Integrations** - [Google Analytics](https://analytics.google.com), [Disqus commenting](https://disqus.com), Maps, Contact Forms, and more! -- **Beautiful Site** - Simple and refreshing one page design -- **Industry-Leading SEO** - Help get your website found on search engines and social media -- **Media Galleries** - Display your images and videos with captions in a customizable gallery -- **Mobile Friendly** - Look amazing on every screen with a mobile friendly version of your site -- **Multi-language** - 15+ language packs including English, 䏿–‡, and Português -- **Multi-user** - Each author gets their own profile page -- **Privacy Pack** - Assists with GDPR -- **Stand Out** - Bring your site to life with animation, parallax backgrounds, and scroll effects -- **One-Click Deployment** - No servers. No databases. Only files. - -## Themes - -Academic comes with **automatic day (light) and night (dark) mode** built-in. Alternatively, visitors can choose their preferred mode - click the sun/moon icon in the top right of the [Demo](https://academic-demo.netlify.com/) to see it in action! Day/night mode can also be disabled by the site admin in `params.toml`. - -[Choose a stunning **theme** and **font**](https://sourcethemes.com/academic/themes/) for your site. Themes are fully [customizable](https://sourcethemes.com/academic/docs/customization/#custom-theme). - -## Ecosystem - -* **[Academic Admin](https://github.com/sourcethemes/academic-admin):** An admin tool to import publications from BibTeX or import assets for an offline site -* **[Academic Scripts](https://github.com/sourcethemes/academic-scripts):** Scripts to help migrate content to new versions of Academic - -## Install - -You can choose from one of the following four methods to install: - -* [**one-click install using your web browser (recommended)**](https://sourcethemes.com/academic/docs/install/#install-with-web-browser) -* [install on your computer using **Git** with the Command Prompt/Terminal app](https://sourcethemes.com/academic/docs/install/#install-with-git) -* [install on your computer by downloading the **ZIP files**](https://sourcethemes.com/academic/docs/install/#install-with-zip) -* [install on your computer with **RStudio**](https://sourcethemes.com/academic/docs/install/#install-with-rstudio) - -Then [personalize and deploy your new site](https://sourcethemes.com/academic/docs/get-started/). - -## Updating - -[View the Update Guide](https://sourcethemes.com/academic/docs/update/). - -Feel free to *star* the project on [Github](https://github.com/gcushen/hugo-academic/) to help keep track of [updates](https://sourcethemes.com/academic/updates). - -## License - -Copyright 2016-present [George Cushen](https://georgecushen.com). - -Released under the [MIT](https://github.com/gcushen/hugo-academic/blob/master/LICENSE.md) license. diff --git a/nemo/exampleSite/content/post/jupyter/featured.png b/nemo/exampleSite/content/post/jupyter/featured.png deleted file mode 100644 index 9bf5550cec2576709a6ebcbfb49ecb89f20f4f7d..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/post/jupyter/featured.png and /dev/null differ diff --git a/nemo/exampleSite/content/post/jupyter/index.ipynb b/nemo/exampleSite/content/post/jupyter/index.ipynb deleted file mode 100644 index 8b28670ceb6664aa3834312c694121e7520b12a7..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/post/jupyter/index.ipynb +++ /dev/null @@ -1,186 +0,0 @@ -{ - "cells": [ - { - "cell_type": "raw", - "metadata": {}, - "source": [ - "---\n", - "title: Display Jupyter Notebooks with Academic\n", - "subtitle: Learn how to blog in Academic using Jupyter notebooks\n", - "summary: Learn how to blog in Academic using Jupyter notebooks\n", - "authors:\n", - "- admin\n", - "tags: []\n", - "categories: []\n", - "date: \"2019-02-05T00:00:00Z\"\n", - "lastMod: \"2019-09-05T00:00:00Z\"\n", - "featured: false\n", - "draft: false\n", - "\n", - "# Featured image\n", - "# To use, add an image named `featured.jpg/png` to your page's folder. \n", - "image:\n", - " caption: \"\"\n", - " focal_point: \"\"\n", - "\n", - "# Projects (optional).\n", - "# Associate this post with one or more of your projects.\n", - "# Simply enter your project's folder or file name without extension.\n", - "# E.g. `projects = [\"internal-project\"]` references \n", - "# `content/project/deep-learning/index.md`.\n", - "# Otherwise, set `projects = []`.\n", - "projects: []\n", - "---" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlkAAADLCAYAAABdyYYmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNi8wNS8wNE2+5nEAAAAldEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIE1YIDIwMDSHdqzPAAAgAElEQVR4nO3df4wb14Ef8K8U2TJHPyyZG9tra9SzHXESXNKQcpKeKdTORVSCwtm93B/XVVLgEPbiBpCApEFXV6NANo1yRdXzormiWF1aO6GAtlfvFW1SblXk4t00daJxfjQic3GQzMq/ItpexdnRr5VIWbI1/YM73OFwfrwhZ4Yc7vcD2OQM37x53F0tv/vemzcbDMMwQERERESh2tjvBhARERENI4YsIiIioggwZBERERFFgCGLiIiIKAIMWUREREQRYMgiIiIiigBDFhEREVEEGLKIiIiIIsCQRURERBQBhiwiIiKiCDBkEREREUWAIYuIiIgoAgxZRERERBFgyCIiIiKKAEMWERERUQQYsoiIiIgiwJBFREREFAGGLCIiIqIIMGQRERERRYAhi4iIiCgCDFlEREREEWDIIiIiIooAQxYRERFRBBiyiIiIiCLAkEVEREQUAYYsIiIioggwZBERERFFgCGLiIiIKAIMWUREQ6her0NVVczMzKBWq/W7OUTr0qZ+N4CIiMKh6zoqlQo0TUO1Wm3tP3DgQB9bRbR+MWQRESWYGaxUVWWPFdGAYcgiIkqwUqkETdP63QwicsCQtU6cOXcZSxcaWDy3AsDAmaUVrDSuAwDOXazj9YsNwDAsRxiAsfoIYHRHCnfvkFrbD943AsDA6M4tGN2Zwp7RHdiWuiXGd0RERDTYGLKG0JlzKzj98nmcfuU8zpxbwdLFeltgAtAKVIa5z+h8DZbXli7UsXThamu78tJv18qs1r0tdQveNXo7HrzvnXj4d+9B5p4dkbw/IiKiJGDIGhJnzq3g6R/+GpVXLmDpQgPoCE8uAcslfLke79HbtdK4jsqLv0Xlxd/iqflfIHPPDkzs24NHP/A7vb9BIiKihGHISrjTr1zA17/3Ik6/ct6SlboJWIb/8R4By+n4xdcu4Ct//WM89czz+OI//BD2PnBnV++RiIgoibhOVoL9xbc1HD7x/8QClmHEELAMx+OXLlzFoa99F0995/nu3igREVECMWQl1J996xeY/eFZ+AWc9u1eA5YB74CFzvLG2vZTzzyPr8z+KOhbJSIiSiQOFybQ17/3Ek5WX4dvwGnb9gpYQQKX1/HoDFi2sid/8hIAA1+c+D3Rt0tERJRI7MlKmKWLDTz1vRcRLGAZ0Qcsy3CkX90nf/ISZr//K+H3TERElETsyUqYr3+v2RPkFmJGd9yGiYd+B5nR7di6eROWLjbw9HMv4/RLukN5l4Blfw3wnpMVcEI8DANf/dZP8fDv7sLoHVsDfgWIiIiSgSErYdYmuXeGmD13b8Pxf/whbL1tbVHQPaPb8fB77sLJ0zV85X/8DO4hyKW3CmgPUV1PiO88/qnv/BxfPPiQ4DsnSr56vQ5JkvrdDKLIlMtl3zLj4+Mol8sYGRlBPp93LadpGjRNw759+5BOp8NsZmw4XJggSxcb7WtgWQLW1ts2dQQsq0f3yvjMR/Y4DPFZty3PAwUsA0EDFgCc/PELWDp/xftNEyWcrusol8t4/PHHsbCw0O/mEEVqw4YNbf/Nzc117AOAubk5lEol6LruWtfc3Bzm5uY8yww69mQlyLmL1+A2DPdo7l7XgGWayN+PpxZW73EWaEJ7j/O1HMs3H599voaJh9/j2W6ipKnX61BVlTdtpnVnbGysbbtcLnfsM42MjKBarWL//v0dr+m6PhT/dhiyEmTl2o3VZ50h5uF3+y/0ue22W5AZvR2Lr19cqwfoak5V+7ZTebEesNMvnmPIoqFQr9dRrVZRqVRQrVb73RyigVcoFPDMM884hqz5+Xnk83nMz8/3oWXh4XBhgpw5t9I5xAfYQpK3LZvNXB1HwDK8hxgNYKV+XbjtRINsYWEBpVKJAYtIkCzLkCQJmqZ1vKaqKgqFQh9aFS6GrCTxuE3O4tJloSoqLy8jvIBlOJQXPH617JUGQxYR0XpVKBSgqmrbvmq1ClmWEzvZ3YohK3Gsk9aN1T0GTp5+1ffIk6fPIljAMhzKu0yI9wpYHmtoLb6W3AmNRETUm1wuB1VVUa/XW/tUVfW86jBJGLKSyGEV9zPnLuGrJ3/hesji0iV89X/93Hb8aogKMqfKQGfAgrW8LaAJ95YREdF6k0qlkM/n8dxzzwFoTnjXNI0hi/rE4zY5s8+9hD/9zz/B0oW1vwhWrt3AydNncejJH+DKtRu9TVoXmW9l2LYtrXU6FzMWEdH6tm/fPjzzzDMAhqsXC+DVhQnjHrDMxPLsL5fw7C+XsPW2TRjdIeHM0iV0hh6BgBXKfC3v4w1GLCKidS+TyQBoLj566tQpHD58uM8tCg9DVuIYlrzi3st0pXEDZxqXHF9rPniEoNAClnuYY8AiIiLTgQMHcOLECUiSBFmW+92c0HC4MGFEAlb7nCjba0DnnKrAActwKN9lwAqw/AQREQ2nfD6P5eXloVi2wYo9WQniG7D8Ak5bGafyAYYTuzzecGoHERENpSeffFJofyqVcizrdnxSMGQlide6VANymxyvHjHngMWwRUREw4khK4m6CDh9C1iWtbzc20ZERDR8GLKSpq8BS+T49oBleJa11k1ERDRcGLIS5DMfyeAzH8nEcq5DX1vA6RfegHDAcpx/5VK29cCARUREw4shi5x59WAJLzIq2FtGobDfZHWQL4XWdX0o7ktGyVGr1dpu3WIaGRkZqp9FXdexvLzcsX+Qfx8MM4Ys8uE2wd7htW4CFjNWILVaDbVaDWfPnkWtVoOu69B1//s/ptNpyLIMRVGQy+X68qFSr9dRrVahqio0TUv8VUPriT3AA4P9oW3emkXTtNa/GT+ZTKb1b0RRFEiSFENLu2e+x+XlZWialqjfBevJBsPgtfRxunLtBk6/fB6L5y5j6UKj7RY4RsczpyE6+7ZXj5DPpHXDVtby/IXXL2Kl/qbLuZzqFglYzsf/6N//k7Xdl04A119pr9+pnWZdm98L3HInIP09YOMWDCMzlFSrVce/xLuhKAr279+PXC4XSn1uzGBVqVRQrVbbXoszZM3NzaFcLnuWGR8fx9jYmG9d09PTjqEjTIqiYHJyUqisSHuOHDnSWlXbS71ebwsni4uLvsfIsoxMJoN9+/b1PXSpqur4s9aNfD6PfD4PRVFCaFnvzO9NtVpthaowKIrSeq8UPvZkxeRk5TU8+8vf4NlfWeY5edyHMPRJ63HfJifQ8RbXfw28+QtbwLLVYX1sPL+2vfX3gTs+BWy6s7PehNE0Daqqhhqs7PVrmgZFUTAxMRH6h2OYH3YULa8gLMLsKVpYWICiKBgbG4s9mKiqinK5HFrwMOtUVbVv78kU1++CcrmMYrE4MKFyWDBkRez0K+fxZ9983tJj1Rli1nKEYMBymtM0SLfJCRrQ2th7sASClvm48l3g6g+B9GPA9v1IIk3TMDc3F3lPifV8R48eRbFYDPUv2VKpFFpdFA1d11Eul0P98DY/sPfv34+DBw+GUqeXer2O48ePR/rvxfqexsfHYxtGjPt3ga7rmJ6eju17t14wZEXkyrW38Bff/hVOVl71DDHiAcsl4LTV1153x2t9DVgOxzuNVHcbsMyD374KvPFV4MZvgPSnOusfULVaDbOzs7H9QrUrlUrQNA3FYrEv56f41Ot1zM7OQlXVyM6xsLCAxcVFTE5ORhZKNE3D8ePHI+ndcbKwsIBqtYrDhw9HOiwad7iyi+N7t54wZEXgyrW3cKj0Y5w5d7m3gBXabXIc6nYasgvtNjlBAlaIPVnW48//l+Zcre2Dfx+scrmMubm5ro93moDsdiWVF/NDl0FreM3Pz2Nubi6WYFKr1TA9PR3Jh7Wqqn3pLTV7ew4dOhT6sJqu65idnUWlUgl8rFtbug1qUX7v1huGrJAFC1geISiG+wgGO76zrcIBy6+3rEOPAct8PPdvgc33N/8bQLquY2ZmRujKJ6tcLgdFUVoTjt3Yr+YToaoqRkZGhCaAr1duvRjLy8u+c4LS6TRGRka6Pke3lpeXUS6Xu/rQlSSp61BWq9Vw/Phx4Un8IoIGLFmWW/9mdu3a1RYarFchig6b1ut1TE9PhzrEHjT85nI5ZLNZKIrie3Xg4uIiKpUKVFUN9H00e9f5R1dvGLJC9s//a8USsDpDjGMw6SkgCYSYMAOW321y7Mf7ti2inizz8Y3/AMj/BoPG/EtR9JeeeQVQNpsV/stSkqTWVUOapqFUKglNDC6Xy8hkMpwA62JiYsJxv8gVjPv27etLgBUNJel0unVpvyzLHR/gtVqtNSFc9GdX0zQsLCxg//7e50kGCVi5XA779+/3/DlOp9OtfyP1eh0LCwuYn58Xem+zs7OQZbmnQKzremuo3o8kSSgUCigUCkilUsLnyGQyyGQyGB8fx/z8vO/PqJWqqshms5FfhTzMGLJCNPvDX+P0y+aHWFgBy6O3q+eAFTAECd2HsJsw115NaAELBnD1b4FLzwC3H+g8V58ECVj5fB7j4+M9r2WjKAqmpqYwPT0t1HNWKpUwNTXFoYJ1IpfLtUK8F1mWMTExgfHxcZRKJeGhraeffhrZbLann+NarSYUsCRJ6mo4T5IkjI2NIZ/PCwUfs0dramqqq/elqipmZ2d9fw90G67sUqlU6yrJmZkZ4ZA8OzvLkNWDjf1uwLBYutjAU999YXXLJZgYsAWCqAOW4VBe8HiHthrm++g4V0gBq605tsDkF7AMa3lbm85/y/1cfSAyLJBOpzE1NYVisRjaYoGSJGFyclLoL29d13uaJ0bJkM/ncezYMRw6dMg3YFmlUikcOnQo0HBZkB4Uu3q9jpmZGd9ysixjamqqp17YdDqNyclJofdmtqub4VSR3kDzj6OxsbGeApZVJpMJNNfKHFKl7jBkheTr/+cFXLl2A20hwh6wuu1B8gwxgj1QXue3tNXtXOY7cT6XW9vgUt4W0KzsASlwT5atTQaAay8A117EoBD5hVwsFiO5gkmSJBw+fFjoF+z8/Hyo6w7R4FAUBUeOHOk5xBeLReFejqBzgqxOnDjh+7No/hER1h8lonOuzDXCohBGL7YTWZYDzbXienfdY8gKwdLFBk5WXoNTwOktYIXQS9QxydwW0ATCXPcBy/Bom9H20KajJ8sanqyPtv0dr1mOP/9NhxOtT+l0WnheUC+9DzR4JElCsVjE5OSk0ArwIorFonCvyHPPPRe4fk3ThIYlDx06FPrwtuhCveVyOfAFLP0WZK5V0t7bIGHICsGzvwy6iru5TzSECAYsw77tULdTz5Bj3SIBy+goLxwmW4faUpZTQLK/17YytnZ09GStbl8+BVpTKBSE/kJWVZW9WUMil8vh2LFjod8+JZVKuV4MYNfN8gQi87D8Jrh3S5Ik4fc2Ozsb+vmjJvreGLK6x5AVgpOVV5tPhAKWsfafVwhpPbiEGIEhPu+6RQKWQ3gJcHzbc8e2GsjscricvSNg+fRS2c/h1Mv19pWBGjIcBIWC2Bpi8/PzEbeEonbw4EEcOnQotHk9dvl8XqgXKeiHtUjIlyQJ4+PjgeoNwryy14+5FESSmDeL9hPXgq/DiCGrR1eu3VhdsmEtEAS+D6E9hADw7CUKZUK8ue0VsOBzvNf53eu2NBBbpc1o8/YVdAYsazusAcuhTq95W+zNaiPaoxHlyuAUjzhu3Cw6UTxIz6jIcPVDDz0U+VWwoiEuiReL8MrBaDFk9ej0K+dtAQuCAcslhADtIaaLIT7nuty2O48Xv02OQ9vatr2+Dk333LGtbRvXX3YIWLYeq24CFgBc4eRNK0mShK4oMxc1JfIiOlwnGrI0TRMqe+BA9MuzpNNpoX8rom0eJFwPL1oMWT06s3R59ZngbXK8QohZxhTZFYcCAcs+HOl3fNC5ZKv2Zu5d23ANWD6P1vN7PV79Wcf51zvRX7DdzKWh9SXIEhAiRHpQnRZMjYpoz2/ShtejGkKmJoasHp1++TzWApYl4LiFAK8QIhSwHHqQnEKMb0DqbGugVdxDCFgA8KA1ZDWe7zwmrIBl1tsw1zIjQDxkJW2uCfVHmIFHpPc0rCskReRyOaFhyaT9W4ljKHk9Y8jq0U9fXrYErFWuQ3wiISRgD1LXAau9reHeJkcsYD3y/vtxt3W4cGWh/WsXdsAywN4sG9FfsLquJ24YhOIncl9GEYuLi0KTreOeTyQS6mq1Gv+tUAtDVg+WLjaaT4R7oOATQkRCjFP5IAGts62et8lxuSrQt26fgAUABz/y/rWNt96wXP0XUcBiT5Yj0d4AXsZNcRHtDYq7F4Y9vxQUQ1YPzixdRvCAhbV9gQNWDwGtLTA1nzdrczqXW90i79WlvM3Bj7wfe/fcs7bj/F+t1SPSk9VNwDIAXF9ybdN6Jdr7wJBFcRG9YXLc99YUDXX8t0ImhqweLC5dWn0WsAfJM8QI9kAFDVi23i7DrWzroZuA5RTQOmV2jeCxRz+0tqPxc+Dygnsw6rYny+m4FV4lZyc6j4Z/nVNcRELKrl27YmhJO9GeLIYsMjFk9aA5XCjaA2Vu99hLZH/Nfn77VYEO5+o+YImESdt7scnsGsFffuEPsTV1a3PHzavA8lPtAakVjGxfL+v+bgKW+fj2Fdf2rUeivQFckJDiIvKzFncvVhAMWWRiyOrB0oWrtoAVNIT4BCzDvu1Qd+t46+tOdYsELMOjbT5hsnWoe8Dam7m3PWABwPKTa3OxnN6rU8BqNcPWbqGgZnBelg2HQGiQiP6c9euqOJE5jPyDhEyb+t2AJLvSuAHhENJ6cAkxoczX8j6+91XcXc7vE662pTbjsY9/EBO///72F974C+DSfHv91qDXEbQc2toWouztcjmeiAZWo9HodxNCUavVuDwCMWT1on1OFtaeA8FCTGgByz3MhXObHOe63QJWZtcIPv7Qu/Ho772nvfcKiCBg+dVjeVypAFvDXThxveAHB5GYYQmL1BuGrJ75hBDAIRi4vBZSwNr7rruQufcObE3d4pB/bDsce3eMtgfnEGU47jZXcM/sGukMVkBzDtbSvwLqfwt0BCSX8Ck878p8TeA46go/OIiIxDFk9cKvB6mtjFP5AD1Inscb2Puuu/HoBx/AI++TsfU2h3AzCC7+z+ZSDW9fRfgBK2A91DLIE4iJiJKMIatngsNoYU6It2zvfdddeOxj70fugbt6extRuXkVWJkHLpaBG7/pLRgFCVqex4f4/oYAh/+IiKLBkNUTkYAkMuTndbxTeQPbUrfiMx/7u5h4+D3uzXvrLGBcdQkVhuem40GGz+vm7rd+A9x4A6j/CHjzRf9gFXbAYk9WILxqkIgoGgxZvep5TpVTee/jt6VuxfHDH8Wee3ba2lIHrn0fePP7wI2z6DqAhBZkBI7vS8Bi0LLi5eZE4WMPMQEMWT3J3L3d4QrDIAEreEBzDFhGHah/E7j2g+bwnL2+qAKS1/Fh1xN2cCOigSR6B4JB/+MglUr1uwk0ABiyerA1dcvqM7eAZPlA9wpYHT0sAQLWW2eBlX8HvL08eAFpUAMWc1bXRD8Aibol+jPWr2FukfPyYhIyccX3HozulBB5wDKMVpkvfjLfHrCunwYu/evBDFiGYCCKPWAZwPa9oDVBegQYsigOIj9n/VpOROS8HCokE0NWD0Z3SsECljVU2F/rON5oK/vI+3bh4fda/uG+dRZYeRIw6tH0HIURkGIJfIZLfYZHvSALTnynQTMyMuJbph8/t7quC5VjyCITQ1YPMqM7EChgtZW1BSzDKSi0KsIXPvEhy2a92YMVVcAKqz63IGTd73i8IdgOa2iyHw/3erfnQGtEe7IURYm4JURNoj9rcQet5eVloXIMWWRiyOpBc7gQcAwengELa8/N8q7bBh794AO4e+eWtRNf/asIApZbsAkakGzttwche0BybIdlv2s7bMd0HO9QxgCweRTUTvSDikOFFJdBvWm5pmlC5fgHCZkYsnqwZ/T29iAAtIeHngNW8+HgI5a1sN5ebi7T0BFk3Hp6fAKVPdh49RQJBSSHoOkVfvzKOLbD4Wvt+DVw2M/5WB1EP6h2794dcUuImrJZsXuLioaesIgMF6bTaf5BQi0MWT3ae/87ESxgOQQfj4A1escW7LnnjrVqr/2NS0ixnUO0p8jeLq9eINfw41TGHu6cjnFph7V9nuHQWsYjZFq/D1IGtKZWqwlPIM5kwv3acS4Yecnl/If14w5ZIudjLxZZMWT1KHPP7c0ntiE+94AFh/Ju2wYeeZ+t96Dx/bbX254H7imytcs1yNjq9Qpq1sewAlKY88d2PgxaI/ohJUlS6PNMeLNp8iLSm6XremxhXdd1oZ6sQqEQQ2soKRiyerT3gTsdApLledcBq2nUOherdZscpwBinku0p8gpYLk9OgUsr4AkWq/LcUHr8Tve/DptHuWcLBvRkCU6fBOE6CRiWp9EerIA4NSpUxG3pKlSqfiWSafTnPRObRiyetS8whAQC1i2sAJ4BiwYBjL3WoYK3172CCBBe4osj35BKEggChKwggSkXtsFADsfAa3RdR3ValWo7L59+wLVLfJBE/dQDyVLKpVCPp/3LaeqagytETvPgQMHYmgJJQlDVo/u3inZhgy9AhbWnrfKW16zBSxrbQCAt36NyAJIPwJWWO0TDWrvHAOtEe0BSKfTgedjiax4LRrwaP0aHx/3LdNoNCIPWpqm+Q5LSpIkFAppfWHICkH7kCHaP/ix+ugXsGy9XYa1LNBZNuwA4lVPPwNWWO3bPAps2QNqqtfrmJ+fFyrbzV/nIldX1ev12HohBgWHSINJp9NCw4blcjnSexmWy2XfMoVCgfcrpA4MWSF49MH71jbsw3/2gGWdjO7S2+UcsNB5TFgBxOt40aAWVcAKq32jn7R/Ide1UqkkNPG827/ORa+wivrDMU4i71l0xXBaMzEx4VtG13XhPxqC0jQNi4uLnmXS6TTGxthTTp0YskKw554dzQnqrgHLQCtgtQgErLby1qpDDiBxDTlG1TMmUs+dyfoFqKpqZOFDVVXhobqJiYmu/joXnbSs6zpmZ2cD1x+EpmlCk5Z7JfJ14rIVwaXTaaFhw7m5udC/vvV6HTMzM77lDh48GOp5aXgwZIXkMx997+ozh4Bjbre4BSzDpby16ggCiF89YQS1fk6ef+fHgXdsRZKoqorHH3889OG0Wq2GUqkkVFaW5a7nmIhOWgaa71W0TUHouo5SqYTp6elYwo0sy75z0er1OueidWFsbEzoYoonnngitD9O6vU6pqenfXt8C4VCJFff0nBgyArJox+4D6N3rP6C9byC0Ctgwfn4tRfCDyCiASmMQOTZDoevTWufU32GeL27P4skajQaKJVKoYUtVVVx9OhR4fLFYrGn84n0PphUVcX09HQow2n1eh3lchlHjx6Nfc6XyIdtVMNaw65YLPqG2EajEcrPUb1eR6lU8g3nsiwH+jmn9YchK0RTEw/5BCy0hwihgOUQtKzlegogovWZ5Q2XegSCkGEr3xGw4NAeA2tfBpf9XkHNMJrDhAlfG8vskfnc5z6Hcrkc+ANE13U88cQTgXqLisViz+v9iA7zmDRNw9GjR7t6j+bxpVIJn//85zE3N9eXuV4iS11omoa5ubkYWjNcZFkWCv61Wg1f/vKXu14iRNM0TE9P+/Y4SpKEYrHIye7kaVO/GzBMcg/ciUc/eD9O/uTF5o5eA5bTkKF1v2uwaRV0DzL2/V71mNs9He/WDof36hjmHPY71mPZ3rQNuG8Sw6LRaGBubg5zc3OQZRmZTAaKomD37t1tV/PV63XUajXUajWoqhp4qCyfz4d2KfrY2Bg0TRP+wKvX6633mM1moSgKZFl2HIrTNA26rkPTNFSr1YGYQJ/JZJDL5XzngJXLZdRqNXz6058WWu6CmrLZLIrFou8fDGaPViaTwfj4uNBFCZVKRXi+oiRJmJyc5MKj5IshK2Rf+MQHcOb181h89fzqHoGAZZ+v1bHP+rJPEBIKILb9IvW2lbHXGyAgdZwr4PGe78/2+K5/CWxK1lwsUWaIWlhYCLXefD7f8zCh3eHDh/HEE08EDnvVajWR85eKxSI0TfMNfZVKBZVKBfl8HtlstiMskzPzDwCRntnFxUVMT0+3VmJ3CkXmGliit3liwKIgGLJCtvW2W3D80EdxaOY7WHxtdcjDIcyIBSxb0OopYLns96rH/tjRBqf31mXACnt4c/STQPrDSCpFUWJfET2KgAU0J8EfOXIEMzMz62KV91QqhcnJSUxPTwv1rqmq2jZ3LJ1OI5vN8oo1D/l8HpIkoVQqCX2NzfsO9hrazSFLBiwSxTlZEdh62y04fvgADj78nmABy4BD2LBxnM/kFEBiDFiGQzuc2hdXwLrvnwH3J3uYcHx8HFNTU8LrTfXq4MGDkQQskxk84r55rrnO17Fjx2I9ryzLmJyc7KpnStd1vPrqqxG0arhks1lMTU3FFngKhUKs56PhwJ6siGy97Vb80098EI+8bzee/HYVp88swYxYzQdbb5U1RNhDRZseA0iQQBOk3kGo5/YHAfmzzcchYH5QLy4uolwuR9ILpCgKJiYmYvvgmJiYQC6Xwze+8Y1IF+bM5XLIZrPI5XJ9m5gsyzK+9KUv4emnn153K9vHJZ1OY2pqCqqqYnZ2NpJ5eXH/G6HhwpAVsdwDd+H44Y/h3Pkr+L8/P4ufvrCElfp1nHlNx0rjzWahMAJW2EEmquAW5vHb964+Pgjc8WFgS7D76yVFJpPB5OQkarUa5ufnQ5nkrShKqBPcg8hkMjh27BhUVe36SkK7dDoNRVGgKErXwSqK+VCpVArFYhHj4+Mol8sDM0F/2OTz+dYFB/Pz86Gsi5bP57Fv377A9+0kstpgGG4zrGngXP5vwOW/jidg7f5zQHpftO9nnZqenvbtlTpy5IjnL/dqtdq6ak/0A0WW5VYPzyD9VW69ClKkt05RFEiS1JrILMuyUEB67LHHPF/3+5qHoV7rvpUAAArWSURBVNFotL5nmqZheXnZMWQqioLJSbEhb5FJ27Isx9KjNyhtMedfaZqGs2fPCgV5RVFa90pUFCXyNg7K1wqA722DADBsdok9WUkT55AcDaxsNtu28KX5S7JWq7V6StLpNEZGRpBKpQYqVNnJstxxfzr7L/1ef8GLfIjEIZVKtb53Yd3rbpC+t4PSlnQ6jf3792P//v2tfW4/A+l0ui9XdQ7K1wpggIoSQ1bixBWwGLSSxPwlOSy/LIflfdDg4M8U9QNDVqLEMCfLLPebrwEbpLXybfU4tKdtG871wna8Wd+7/W/AShQ1rtxNRGFjyEqSOIcKGy/0Xk+gdhH11yAN3xDRcGDISprQgpa1VynMoGart3WctZfLtp+IiGgIMWQlThgByeV4h4VTXQOSYz1dBCxmLIrB8vKy5+vsxSKiKDBkJUoYAckevoIe79YOh+E/x1XgHfYTRczvEn7epJmIosCQlSQdvUGr/wsrYAUJSB3ncnhkwKIBwZ4sIuoHhqykcQ1YHkEmyLCi6/GW/V7Hd7t6O1GE/HqyRkZGYmoJEa0nDFmJ4hdo4BKQBANWL7fH2ZYD3vlHwI6/39z35hKg/2/gta/7H08UMb+V5NmTRURRYMhKmkG4D6G9fPofAH/nX7S3c/MocM+fNMPXLw/710MUkWq16luGC1USURQ29rsBFEBbb9XqjrgDlmErf+vdwK7Pubd5217g3j9hwKK+qVQqnq8rihJTS4hovWHISpp+Byx7fXf+EfCOrd5tvnuisx7z+FtHxd43URfq9bpvT1Yul4upNUS03jBkJcnGLc1Ho48By96Tldrj3+53bGv2aDm16zaGLIrOiRMnWjfMdmO90TYRUZg4JytJbr2v+x6nsAJW10N9LvX49YIRdUlVVd+hwnw+j3Q6HVOLiGi9YU9WkqTe23wU7cmKOmAZBlBf9G/3WyvApdPO9Wz/gOCbJxKnqipKpZJvufHx8RhaQ0TrFUNW0mzbv/okpJ4sz3oM//rOzfq3eenpznrN49MfFnjTROLK5bJwwGIvFhFFicOFSbPjD4BLz6xuWMKKY0Ayi3UbsOAQsIzWJgwDuH4OeOkrwP1fdG7v1UXg1f/o3K47x5pLPRCFQNM0zM7Oolar+ZZVFAVjY2MxtIqI1jOGrKTZfB+w8w+AC9/qImDZAhJs5TsClr0eh+MNA1g+Cbz5OnD3QWDnI839by4Bb8wBrz7pXO+mbcDuz/b0pSACmuFqbm7Od8FRkyzLOHz4cMStIiJiyEqm9D8Crv4MePOl3gJSVwHLXs/q9uXTzf/c6rE/3j/JXizqmqZpqFQqqFarvrfMsZJlGUeOHEEqlYqwdURETQxZSbRxC7D7z4Gzfwpce7G3gGQt3/PaWS7tsD9mvtwcKiQSoGkadF3H2bNnUavVsLgocLGFg3w+j4MHDzJgEVFsGLKSygxar08DK2qAgISIApbA46ZtzR4sBixyYfZQ1Wo16LoeqJfKjSRJKBaLXA+LiGLHkJVkG7cAu74EnP8m8Nv/1FwqAQg/IIURsG7/QDNgbeE94shdo9HAwsJCaPUVCgWMj4+z94qI+oIhaxjc8YfA7R8Fzh0HLvxNc19YAanXoLZ5tDnBnb1XJCCM+whKkoR8Po9CocAlGoiorxiyhsU7tgD3HgHu/ONm0Fr+78DbK9H3ZLnVc/uDwOinuA6Wg0KhAEmSfFcjX49SqRRkWRZahsFOlmUUCgXkcjn2XBHRQGDIGja33NUMWnf+MXD5FHDpB83/nAIXEG7Auv1BYOeHm8GKVw66ymazyGazaDQaUFUVp06d6ipUDCtFUYS+HpIkQVEUKIqCbDbLXisiGjgbDCPwTegoiRovAlcqwEoVaCwCb55DT0HrHdsAaQ+w/cFmuNq+N653MpR0XW8FLl3XceTIEWQy63P+WrVaxczMTNu+dDqNkZERyLKMkZERZDIZyLLcpxYSEYlhyFqv3r4KNM40Fw29vtQMTyunW7nLcikikMoAm7auBavNo+ypilCtVoMkSeu2Z6bRaKBWq7WGDomIkoohi4iIiCgCvEE0ERERUQQYsoiIiIgiwKsL14PVEeG4x4U3AMCGDTGflYiIaDAwZCWdYYiFp5iD1gbBczGIERHRsGLISgqvMCUQtOK+vsHAaoDysAGAsWGDZakI2+sMX0RElGAMWQPKNRS5BCq38l7hKszg5RSImktqGa6vu9bVPKCjfez1IiKiJOESDoPCKTwJBiqnb6HoPq/9IrzCk9Nr9n0d282dvvv8zk1ERNRvDFn9JBisvEKVX+Bq2/YZcgTE52z59Sp5hSnfoGUt63Aex30MXERENGAYsvqg40vuE6xEQ1brub0+27ZX3d3oOkAFfd7c4brtto+IiKgfGLJi5BuuBMKQb6iyPHc6xqu+bomErCCBKmj4ctxu7hR9C0RERKFjyIpDD0OA9jDkF7IMw3Cs2+18YYasIAGr29c8nzd3OLaBiIgobgxZUfPprXLqebI+FwlcbmX9tu3HOG27Ee2Bsu9z27YGpCBBzP5cZJuIiCgODFkRE52IHiRM2feJhqsgocz+utuVgm4BSDRc2bf9Hv32AezRIiKiwcB1sqLkMAerbdPxEPf1sexl/AKVSNjy2ufGDEWGYbTCy8aNGzvOZy1nHmc9lzX4tOoyjNYaWRscHu1fq9a+1eOA1YVQLdtERET9wJAVoY55WG7lBCamWye2u9XhtQ6WSMC6efOmaxkzMNlDkxl0bt68iY0b3e837hSsrK9tsAYk11rc+R7H0EVERDFjyIqQ/f59bvfzswYX+z77I1xuQ2PvJXJ7zd4rZN1n743yGyK0vm4PWE7zotyG7DqG+rrQcZz9XAxYREQUM4asKNkDkW3bKXQ5BS57eaegZB5rblt7nZyG7qznM928eVN47pLbfCy314TnXAnMyXI6JzyCGuMVERH1Aye+R81+NSGCTX63Pu+YsG64L90gcjVht1cYii6tEORqQ5GlHLiMAxERJQlDVkz8goxowHLc5xDUgoSpXn4E/JZS8NsnEq5cyzU31vb7bBMREcWJIStO9l4tn16uboKXSFm/Y4LwClnWfa7BSHCJBq9zsfeKiIgGEUNWP/gNIfpsB33ezbYoz56s5k7HbZGhv6D1O5UhIiLqF4asPuv48jsEMPu+bgOZ1z77+Tz5BBmvoGTfDlIWcAlWAm0iIiKKG0PWAHH8VgiELrdjgwasID8Kfj1GvlcDuuxzLNN8wXcfERHRIGHIGlRO4cprP9xDkt+3OKyJ70HKuIUkr/DEoUAiIkoShqwk8QhYnq8FKRMSv56m1itugcrneCIiokHHkDUMRMOTeaVhhE3xC08d5RmkiIhoSHHF92GwYYPwqubd3hswiKBBi4iIaBgxZK0nAcIYERER9WajfxEiIiIiCoohi4iIiCgCDFlEREREEWDIIiIiIooAQxYRERFRBBiyiIiIiCLAkEVEREQUAYYsIiIioggwZBERERFFgCGLiIiIKAIMWUREREQRYMgiIiIiigBDFhEREVEEGLKIiIiIIsCQRURERBQBhiwiIiKiCDBkEREREUWAIYuIiIgoAgxZRERERBFgyCIiIiKKAEMWERERUQQYsoiIiIgiwJBFREREFAGGLCIiIqIIMGQRERERRYAhi4iIiCgCDFlEREREEWDIIiIiIooAQxYRERFRBBiyiIiIiCLw/wHFhXehSRmsyQAAAABJRU5ErkJggg==\n", - "text/plain": [ - "<IPython.core.display.Image object>" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from IPython.core.display import Image\n", - "Image('https://www.python.org/static/community_logos/python-logo-master-v3-TM-flattened.png')" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Welcome to Academic!\n" - ] - } - ], - "source": [ - "print(\"Welcome to Academic!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Install Python and JupyterLab\n", - "\n", - "[Install Anaconda](https://www.anaconda.com/distribution/#download-section) which includes Python 3 and JupyterLab.\n", - "\n", - "Alternatively, install JupyterLab with `pip3 install jupyterlab`." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Create or upload a Jupyter notebook\n", - "\n", - "Run the following commands in your Terminal, substituting `<MY-WEBSITE-FOLDER>` and `<SHORT-POST-TITLE>` with the file path to your Academic website folder and a short title for your blog post (use hyphens instead of spaces), respectively:" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```bash\n", - "mkdir -p <MY-WEBSITE-FOLDER>/content/post/<SHORT-POST-TITLE>/\n", - "cd <MY-WEBSITE-FOLDER>/content/post/<SHORT-POST-TITLE>/\n", - "jupyter lab index.ipynb\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `jupyter` command above will launch the JupyterLab editor, allowing us to add Academic metadata and write the content." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Edit your post metadata\n", - "\n", - "The first cell of your Jupter notebook will contain your post metadata ([front matter](https://sourcethemes.com/academic/docs/front-matter/)).\n", - "\n", - "In Jupter, choose _Markdown_ as the type of the first cell and wrap your Academic metadata in three dashes, indicating that it is YAML front matter: \n", - "\n", - "```\n", - "---\n", - "title: My post's title\n", - "date: 2019-09-01\n", - "\n", - "# Put any other Academic metadata here...\n", - "---\n", - "```\n", - "\n", - "Edit the metadata of your post, using the [documentation](https://sourcethemes.com/academic/docs/managing-content) as a guide to the available options.\n", - "\n", - "To set a [featured image](https://sourcethemes.com/academic/docs/managing-content/#featured-image), place an image named `featured` into your post's folder.\n", - "\n", - "For other tips, such as using math, see the guide on [writing content with Academic](https://sourcethemes.com/academic/docs/writing-markdown-latex/). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Convert notebook to Markdown" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```bash\n", - "jupyter nbconvert index.ipynb --to markdown --NbConvertApp.output_files_dir=.\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example\n", - "\n", - "This post was created with Jupyter. The orginal files can be found at https://github.com/gcushen/hugo-academic/tree/master/exampleSite/content/post/jupyter" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/nemo/exampleSite/content/post/jupyter/index.md b/nemo/exampleSite/content/post/jupyter/index.md deleted file mode 100644 index da3d3b8732d07df6e40bec81007621f241a85242..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/post/jupyter/index.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: Display Jupyter Notebooks with Academic -subtitle: Learn how to blog in Academic using Jupyter notebooks -summary: Learn how to blog in Academic using Jupyter notebooks -authors: -- admin -tags: [] -categories: [] -date: "2019-02-05T00:00:00Z" -lastMod: "2019-09-05T00:00:00Z" -featured: false -draft: false - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -image: - caption: "" - focal_point: "" - -# Projects (optional). -# Associate this post with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `projects = ["internal-project"]` references -# `content/project/deep-learning/index.md`. -# Otherwise, set `projects = []`. -projects: [] ---- - -```python -from IPython.core.display import Image -Image('https://www.python.org/static/community_logos/python-logo-master-v3-TM-flattened.png') -``` - - - - - - - - - -```python -print("Welcome to Academic!") -``` - - Welcome to Academic! - - -## Install Python and JupyterLab - -[Install Anaconda](https://www.anaconda.com/distribution/#download-section) which includes Python 3 and JupyterLab. - -Alternatively, install JupyterLab with `pip3 install jupyterlab`. - -## Create or upload a Jupyter notebook - -Run the following commands in your Terminal, substituting `<MY-WEBSITE-FOLDER>` and `<SHORT-POST-TITLE>` with the file path to your Academic website folder and a short title for your blog post (use hyphens instead of spaces), respectively: - -```bash -mkdir -p <MY-WEBSITE-FOLDER>/content/post/<SHORT-POST-TITLE>/ -cd <MY-WEBSITE-FOLDER>/content/post/<SHORT-POST-TITLE>/ -jupyter lab index.ipynb -``` - -The `jupyter` command above will launch the JupyterLab editor, allowing us to add Academic metadata and write the content. - -## Edit your post metadata - -The first cell of your Jupter notebook will contain your post metadata ([front matter](https://sourcethemes.com/academic/docs/front-matter/)). - -In Jupter, choose _Markdown_ as the type of the first cell and wrap your Academic metadata in three dashes, indicating that it is YAML front matter: - -``` ---- -title: My post's title -date: 2019-09-01 - -# Put any other Academic metadata here... ---- -``` - -Edit the metadata of your post, using the [documentation](https://sourcethemes.com/academic/docs/managing-content) as a guide to the available options. - -To set a [featured image](https://sourcethemes.com/academic/docs/managing-content/#featured-image), place an image named `featured` into your post's folder. - -For other tips, such as using math, see the guide on [writing content with Academic](https://sourcethemes.com/academic/docs/writing-markdown-latex/). - -## Convert notebook to Markdown - -```bash -jupyter nbconvert index.ipynb --to markdown --NbConvertApp.output_files_dir=. -``` - -## Example - -This post was created with Jupyter. The orginal files can be found at https://github.com/gcushen/hugo-academic/tree/master/exampleSite/content/post/jupyter diff --git a/nemo/exampleSite/content/post/jupyter/index_1_0.png b/nemo/exampleSite/content/post/jupyter/index_1_0.png deleted file mode 100644 index 738f6ed41f499d1f57fd4db356dc1d64769bf725..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/post/jupyter/index_1_0.png and /dev/null differ diff --git a/nemo/exampleSite/content/post/writing-technical-content/featured.jpg b/nemo/exampleSite/content/post/writing-technical-content/featured.jpg deleted file mode 100644 index e2c0fb240b6363eeccb2c79299a10198d9af5275..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/post/writing-technical-content/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/post/writing-technical-content/index.md b/nemo/exampleSite/content/post/writing-technical-content/index.md deleted file mode 100644 index f0b2934a56d902853034bd34dbcc67522455d371..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/post/writing-technical-content/index.md +++ /dev/null @@ -1,282 +0,0 @@ ---- -title: Writing technical content in Academic -date: 2019-07-12 -math: true -diagram: true -image: - placement: 3 - caption: 'Image credit: [**John Moeses Bauan**](https://unsplash.com/photos/OGZtQF8iC0g)' ---- - -Academic is designed to give technical content creators a seamless experience. You can focus on the content and Academic handles the rest. - -**Highlight your code snippets, take notes on math classes, and draw diagrams from textual representation.** - -On this page, you'll find some examples of the types of technical content that can be rendered with Academic. - -## Examples - -### Code - -Academic supports a Markdown extension for highlighting code syntax. You can enable this feature by toggling the `highlight` option in your `config/_default/params.toml` file. - - ```python - import pandas as pd - data = pd.read_csv("data.csv") - data.head() - ``` - -renders as - -```python -import pandas as pd -data = pd.read_csv("data.csv") -data.head() -``` - -### Math - -Academic supports a Markdown extension for $\LaTeX$ math. You can enable this feature by toggling the `math` option in your `config/_default/params.toml` file. - -To render *inline* or *block* math, wrap your LaTeX math with `$...$` or `$$...$$`, respectively. - -Example **math block**: - -```tex -$$\gamma_{n} = \frac{ -\left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T -\left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |} -{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}$$ -``` - -renders as - -$$\gamma_{n} = \frac{ \left | \left (\mathbf x_{n} - \mathbf x_{n-1} \right )^T \left [\nabla F (\mathbf x_{n}) - \nabla F (\mathbf x_{n-1}) \right ] \right |}{\left \|\nabla F(\mathbf{x}_{n}) - \nabla F(\mathbf{x}_{n-1}) \right \|^2}$$ - -Example **inline math** `$\nabla F(\mathbf{x}_{n})$` renders as $\nabla F(\mathbf{x}_{n})$. - -Example **multi-line math** using the `\\` math linebreak: - -```tex -$$f(k;p_0^*) = \begin{cases} p_0^* & \text{if }k=1, \\ -1-p_0^* & \text {if }k=0.\end{cases}$$ -``` - -renders as - -$$f(k;p_0^*) = \begin{cases} p_0^* & \text{if }k=1, \\ -1-p_0^* & \text {if }k=0.\end{cases}$$ - -### Diagrams - -Academic supports a Markdown extension for diagrams. You can enable this feature by toggling the `diagram` option in your `config/_default/params.toml` file or by adding `diagram: true` to your page front matter. - -An example **flowchart**: - - ```mermaid - graph TD - A[Hard] -->|Text| B(Round) - B --> C{Decision} - C -->|One| D[Result 1] - C -->|Two| E[Result 2] - ``` - -renders as - -```mermaid -graph TD -A[Hard] -->|Text| B(Round) -B --> C{Decision} -C -->|One| D[Result 1] -C -->|Two| E[Result 2] -``` - -An example **sequence diagram**: - - ```mermaid - sequenceDiagram - Alice->>John: Hello John, how are you? - loop Healthcheck - John->>John: Fight against hypochondria - end - Note right of John: Rational thoughts! - John-->>Alice: Great! - John->>Bob: How about you? - Bob-->>John: Jolly good! - ``` - -renders as - -```mermaid -sequenceDiagram -Alice->>John: Hello John, how are you? -loop Healthcheck - John->>John: Fight against hypochondria -end -Note right of John: Rational thoughts! -John-->>Alice: Great! -John->>Bob: How about you? -Bob-->>John: Jolly good! -``` - -An example **Gantt diagram**: - - ```mermaid - gantt - section Section - Completed :done, des1, 2014-01-06,2014-01-08 - Active :active, des2, 2014-01-07, 3d - Parallel 1 : des3, after des1, 1d - Parallel 2 : des4, after des1, 1d - Parallel 3 : des5, after des3, 1d - Parallel 4 : des6, after des4, 1d - ``` - -renders as - -```mermaid -gantt -section Section -Completed :done, des1, 2014-01-06,2014-01-08 -Active :active, des2, 2014-01-07, 3d -Parallel 1 : des3, after des1, 1d -Parallel 2 : des4, after des1, 1d -Parallel 3 : des5, after des3, 1d -Parallel 4 : des6, after des4, 1d -``` - -An example **class diagram**: - - ```mermaid - classDiagram - Class01 <|-- AveryLongClass : Cool - <<interface>> Class01 - Class09 --> C2 : Where am i? - Class09 --* C3 - Class09 --|> Class07 - Class07 : equals() - Class07 : Object[] elementData - Class01 : size() - Class01 : int chimp - Class01 : int gorilla - class Class10 { - <<service>> - int id - size() - } - ``` - -renders as - -```mermaid -classDiagram -Class01 <|-- AveryLongClass : Cool -<<interface>> Class01 -Class09 --> C2 : Where am i? -Class09 --* C3 -Class09 --|> Class07 -Class07 : equals() -Class07 : Object[] elementData -Class01 : size() -Class01 : int chimp -Class01 : int gorilla -class Class10 { - <<service>> - int id - size() -} -``` - -An example **state diagram**: - - ```mermaid - stateDiagram - [*] --> Still - Still --> [*] - Still --> Moving - Moving --> Still - Moving --> Crash - Crash --> [*] - ``` - -renders as - -```mermaid -stateDiagram -[*] --> Still -Still --> [*] -Still --> Moving -Moving --> Still -Moving --> Crash -Crash --> [*] -``` - -### Todo lists - -You can even write your todo lists in Academic too: - -```markdown -- [x] Write math example -- [x] Write diagram example -- [ ] Do something else -``` - -renders as - -- [x] Write math example -- [x] Write diagram example -- [ ] Do something else - -### Tables - -Represent your data in tables: - -```markdown -| First Header | Second Header | -| ------------- | ------------- | -| Content Cell | Content Cell | -| Content Cell | Content Cell | -``` - -renders as - -| First Header | Second Header | -| ------------- | ------------- | -| Content Cell | Content Cell | -| Content Cell | Content Cell | - -### Asides - -Academic supports a [shortcode for asides](https://sourcethemes.com/academic/docs/writing-markdown-latex/#alerts), also referred to as *notices*, *hints*, or *alerts*. By wrapping a paragraph in `{{%/* alert note */%}} ... {{%/* /alert */%}}`, it will render as an aside. - -```markdown -{{%/* alert note */%}} -A Markdown aside is useful for displaying notices, hints, or definitions to your readers. -{{%/* /alert */%}} -``` - -renders as - -{{% alert note %}} -A Markdown aside is useful for displaying notices, hints, or definitions to your readers. -{{% /alert %}} - -### Icons - -Academic enables you to use a wide range of [icons from _Font Awesome_ and _Academicons_](https://sourcethemes.com/academic/docs/page-builder/#icons) in addition to [emojis](https://sourcethemes.com/academic/docs/writing-markdown-latex/#emojis). - -Here are some examples using the `icon` shortcode to render icons: - -```markdown -{{</* icon name="terminal" pack="fas" */>}} Terminal -{{</* icon name="python" pack="fab" */>}} Python -{{</* icon name="r-project" pack="fab" */>}} R -``` - -renders as - -{{< icon name="terminal" pack="fas" >}} Terminal -{{< icon name="python" pack="fab" >}} Python -{{< icon name="r-project" pack="fab" >}} R - -### Did you find this page helpful? Consider sharing it 🙌 diff --git a/nemo/exampleSite/content/privacy.md b/nemo/exampleSite/content/privacy.md deleted file mode 100644 index 5566c5a878c37b824387d15fae4f6bcb5f8fb668..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/privacy.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Privacy Policy -date: "2018-06-28T00:00:00+01:00" -draft: true -share: false -commentable: false -editable: false - -# Optional header image (relative to `static/img/` folder). -header: - caption: "" - image: "" ---- - -... diff --git a/nemo/exampleSite/content/project/external-project/featured.jpg b/nemo/exampleSite/content/project/external-project/featured.jpg deleted file mode 100644 index 050f74d53afda94dd659a684027fbc2411aa9396..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/project/external-project/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/project/external-project/index.md b/nemo/exampleSite/content/project/external-project/index.md deleted file mode 100644 index f40cd2086abf628bf668f0cd72cbaad76672709c..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/project/external-project/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: External Project -summary: An example of linking directly to an external project website using `external_link`. -tags: -- Demo -date: "2016-04-27T00:00:00Z" - -# Optional external URL for project (replaces project detail page). -external_link: http://example.org - -image: - caption: Photo by Toa Heftiba on Unsplash - focal_point: Smart ---- diff --git a/nemo/exampleSite/content/project/internal-project/featured.jpg b/nemo/exampleSite/content/project/internal-project/featured.jpg deleted file mode 100644 index 5d8815cc6f7522a5a39ed2db27920b8ab824bb6d..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/project/internal-project/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/project/internal-project/index.md b/nemo/exampleSite/content/project/internal-project/index.md deleted file mode 100644 index e7853fc1d917fc5c6408a45b3bcf39bd7d18790c..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/project/internal-project/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Internal Project -summary: An example of using the in-built project page. -tags: -- Deep Learning -date: "2016-04-27T00:00:00Z" - -# Optional external URL for project (replaces project detail page). -external_link: "" - -image: - caption: Photo by rawpixel on Unsplash - focal_point: Smart - -links: -- icon: twitter - icon_pack: fab - name: Follow - url: https://twitter.com/georgecushen -url_code: "" -url_pdf: "" -url_slides: "" -url_video: "" - -# Slides (optional). -# Associate this project with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides = "example-slides"` references `content/slides/example-slides.md`. -# Otherwise, set `slides = ""`. -slides: example ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -Nullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus. - -Cras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus. - -Suspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare. - -Aliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at. diff --git a/nemo/exampleSite/content/publication/_index.md b/nemo/exampleSite/content/publication/_index.md deleted file mode 100644 index 510d5769dd3447f6eb812237d659c2e363ef9139..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/publication/_index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Publications - -# View. -# 1 = List -# 2 = Compact -# 3 = Card -# 4 = Citation -view: 4 - -# Optional header image (relative to `static/img/` folder). -header: - caption: "" - image: "" ---- diff --git a/nemo/exampleSite/content/publication/conference-paper/cite.bib b/nemo/exampleSite/content/publication/conference-paper/cite.bib deleted file mode 100644 index 98c37482aff74a275af5117bae23a9e97d87071a..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/publication/conference-paper/cite.bib +++ /dev/null @@ -1,8 +0,0 @@ -@inproceedings{example1, - title={An example conference paper}, - author={Bighetti, Nelson and Ford, Robert}, - booktitle={Source Themes Conference}, - pages={1--6}, - year={2013}, - organization={IEEE} -} diff --git a/nemo/exampleSite/content/publication/conference-paper/featured.jpg b/nemo/exampleSite/content/publication/conference-paper/featured.jpg deleted file mode 100644 index 2ebab27a0f81ad443961847a72c852558a29e133..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/publication/conference-paper/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/publication/conference-paper/index.md b/nemo/exampleSite/content/publication/conference-paper/index.md deleted file mode 100644 index 338f606ab70d140c9aa71e3110aebfcd9b9bfd88..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/publication/conference-paper/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: "An example conference paper" -authors: -- admin -- Robert Ford -date: "2013-07-01T00:00:00Z" -doi: "" - -# Schedule page publish date (NOT publication's date). -publishDate: "2017-01-01T00:00:00Z" - -# Publication type. -# Legend: 0 = Uncategorized; 1 = Conference paper; 2 = Journal article; -# 3 = Preprint / Working Paper; 4 = Report; 5 = Book; 6 = Book section; -# 7 = Thesis; 8 = Patent -publication_types: ["1"] - -# Publication name and optional abbreviated publication name. -publication: In *Source Themes Conference* -publication_short: In *STC* - -abstract: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -# Summary. An optional shortened abstract. -summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. - -tags: -- Source Themes -featured: true - -links: -- name: Custom Link - url: http://example.org -url_pdf: http://eprints.soton.ac.uk/352095/1/Cushen-IMV2013.pdf -url_code: '#' -url_dataset: '#' -url_poster: '#' -url_project: '' -url_slides: '' -url_source: '#' -url_video: '#' - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -image: - caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/pLCdAaMFLTE)' - focal_point: "" - preview_only: false - -# Associated Projects (optional). -# Associate this publication with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `internal-project` references `content/project/internal-project/index.md`. -# Otherwise, set `projects: []`. -projects: -- internal-project - -# Slides (optional). -# Associate this publication with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides: "example"` references `content/slides/example/index.md`. -# Otherwise, set `slides: ""`. -slides: example ---- - -{{% alert note %}} -Click the *Cite* button above to demo the feature to enable visitors to import publication metadata into their reference management software. -{{% /alert %}} - -{{% alert note %}} -Click the *Slides* button above to demo Academic's Markdown slides feature. -{{% /alert %}} - -Supplementary notes can be added here, including [code and math](https://sourcethemes.com/academic/docs/writing-markdown-latex/). - diff --git a/nemo/exampleSite/content/publication/journal-article/cite.bib b/nemo/exampleSite/content/publication/journal-article/cite.bib deleted file mode 100644 index a7da7acc5107dc1b2a5392d3f232dc1a57b0a2a8..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/publication/journal-article/cite.bib +++ /dev/null @@ -1,8 +0,0 @@ -@article{example2, - title = {An example journal article}, - author={Bighetti, Nelson and Ford, Robert}, - journal = {Journal of Source Themes}, - year = 2015, - volume = 1, - number = 1 -} diff --git a/nemo/exampleSite/content/publication/journal-article/featured.jpg b/nemo/exampleSite/content/publication/journal-article/featured.jpg deleted file mode 100644 index 15272c012a04f8c381381d2c5cfdbd57c463b3ca..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/publication/journal-article/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/publication/journal-article/index.md b/nemo/exampleSite/content/publication/journal-article/index.md deleted file mode 100644 index bccb5c1a9fe3858e04dd334040d347f04310cf68..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/publication/journal-article/index.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "An example journal article" -authors: -- admin -- Robert Ford -date: "2015-09-01T00:00:00Z" -doi: "" - -# Schedule page publish date (NOT publication's date). -publishDate: "2017-01-01T00:00:00Z" - -# Publication type. -# Legend: 0 = Uncategorized; 1 = Conference paper; 2 = Journal article; -# 3 = Preprint / Working Paper; 4 = Report; 5 = Book; 6 = Book section; -# 7 = Thesis; 8 = Patent -publication_types: ["2"] - -# Publication name and optional abbreviated publication name. -publication: "*Journal of Source Themes, 1*(1)" -publication_short: "" - -abstract: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -# Summary. An optional shortened abstract. -summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. - -tags: -- Source Themes -featured: false - -# links: -# - name: "" -# url: "" -url_pdf: http://arxiv.org/pdf/1512.04133v1 -url_code: '' -url_dataset: '' -url_poster: '' -url_project: '' -url_slides: '' -url_source: '' -url_video: '' - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -image: - caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/jdD8gXaTZsc)' - focal_point: "" - preview_only: false - -# Associated Projects (optional). -# Associate this publication with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `internal-project` references `content/project/internal-project/index.md`. -# Otherwise, set `projects: []`. -projects: [] - -# Slides (optional). -# Associate this publication with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides: "example"` references `content/slides/example/index.md`. -# Otherwise, set `slides: ""`. -slides: example ---- - -{{% alert note %}} -Click the *Cite* button above to demo the feature to enable visitors to import publication metadata into their reference management software. -{{% /alert %}} - -{{% alert note %}} -Click the *Slides* button above to demo Academic's Markdown slides feature. -{{% /alert %}} - -Supplementary notes can be added here, including [code and math](https://sourcethemes.com/academic/docs/writing-markdown-latex/). diff --git a/nemo/exampleSite/content/publication/preprint/featured.jpg b/nemo/exampleSite/content/publication/preprint/featured.jpg deleted file mode 100644 index 8fdeeeec5c11334ca89a218ad12d4898a61b7bd1..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/publication/preprint/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/publication/preprint/index.md b/nemo/exampleSite/content/publication/preprint/index.md deleted file mode 100644 index 6a1b610fad2df4b261f238c3c50f0d5e1ebc0c36..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/publication/preprint/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "An example preprint / working paper" -authors: -- admin -date: "2019-04-07T00:00:00Z" -doi: "" - -# Schedule page publish date (NOT publication's date). -publishDate: "2017-01-01T00:00:00Z" - -# Publication type. -# Legend: 0 = Uncategorized; 1 = Conference paper; 2 = Journal article; -# 3 = Preprint / Working Paper; 4 = Report; 5 = Book; 6 = Book section; -# 7 = Thesis; 8 = Patent -publication_types: ["3"] - -# Publication name and optional abbreviated publication name. -publication: "" -publication_short: "" - -abstract: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida. - -# Summary. An optional shortened abstract. -summary: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. - -tags: -- Source Themes -featured: false - -links: -- name: Custom Link - url: http://example.org -url_pdf: http://arxiv.org/pdf/1512.04133v1 -url_code: '#' -url_dataset: '#' -url_poster: '#' -url_project: '' -url_slides: '' -url_source: '#' -url_video: '#' - -# Featured image -# To use, add an image named `featured.jpg/png` to your page's folder. -image: - caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/s9CC2SKySJM)' - focal_point: "" - preview_only: false - -# Associated Projects (optional). -# Associate this publication with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `internal-project` references `content/project/internal-project/index.md`. -# Otherwise, set `projects: []`. -projects: -- internal-project - -# Slides (optional). -# Associate this publication with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides: "example"` references `content/slides/example/index.md`. -# Otherwise, set `slides: ""`. -slides: example ---- - -{{% alert note %}} -Click the *Slides* button above to demo Academic's Markdown slides feature. -{{% /alert %}} - -Supplementary notes can be added here, including [code and math](https://sourcethemes.com/academic/docs/writing-markdown-latex/). diff --git a/nemo/exampleSite/content/slides/example/index.md b/nemo/exampleSite/content/slides/example/index.md deleted file mode 100644 index d3dc38424c19c0c73d813c2ef7a8eaf5f5d0a0ad..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/slides/example/index.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: Slides -summary: An introduction to using Academic's Slides feature. -authors: [] -tags: [] -categories: [] -date: "2019-02-05T00:00:00Z" -slides: - # Choose a theme from https://github.com/hakimel/reveal.js#theming - theme: black - # Choose a code highlighting style (if highlighting enabled in `params.toml`) - # Light style: github. Dark style: dracula (default). - highlight_style: dracula ---- - -# Create slides in Markdown with Academic - -[Academic](https://sourcethemes.com/academic/) | [Documentation](https://sourcethemes.com/academic/docs/managing-content/#create-slides) - ---- - -## Features - -- Efficiently write slides in Markdown -- 3-in-1: Create, Present, and Publish your slides -- Supports speaker notes -- Mobile friendly slides - ---- - -## Controls - -- Next: `Right Arrow` or `Space` -- Previous: `Left Arrow` -- Start: `Home` -- Finish: `End` -- Overview: `Esc` -- Speaker notes: `S` -- Fullscreen: `F` -- Zoom: `Alt + Click` -- [PDF Export](https://github.com/hakimel/reveal.js#pdf-export): `E` - ---- - -## Code Highlighting - -Inline code: `variable` - -Code block: -```python -porridge = "blueberry" -if porridge == "blueberry": - print("Eating...") -``` - ---- - -## Math - -In-line math: $x + y = z$ - -Block math: - -$$ -f\left( x \right) = \;\frac{{2\left( {x + 4} \right)\left( {x - 4} \right)}}{{\left( {x + 4} \right)\left( {x + 1} \right)}} -$$ - ---- - -## Fragments - -Make content appear incrementally - -``` -{{%/* fragment */%}} One {{%/* /fragment */%}} -{{%/* fragment */%}} **Two** {{%/* /fragment */%}} -{{%/* fragment */%}} Three {{%/* /fragment */%}} -``` - -Press `Space` to play! - -{{% fragment %}} One {{% /fragment %}} -{{% fragment %}} **Two** {{% /fragment %}} -{{% fragment %}} Three {{% /fragment %}} - ---- - -A fragment can accept two optional parameters: - -- `class`: use a custom style (requires definition in custom CSS) -- `weight`: sets the order in which a fragment appears - ---- - -## Speaker Notes - -Add speaker notes to your presentation - -```markdown -{{%/* speaker_note */%}} -- Only the speaker can read these notes -- Press `S` key to view -{{%/* /speaker_note */%}} -``` - -Press the `S` key to view the speaker notes! - -{{< speaker_note >}} -- Only the speaker can read these notes -- Press `S` key to view -{{< /speaker_note >}} - ---- - -## Themes - -- black: Black background, white text, blue links (default) -- white: White background, black text, blue links -- league: Gray background, white text, blue links -- beige: Beige background, dark text, brown links -- sky: Blue background, thin dark text, blue links - ---- - -- night: Black background, thick white text, orange links -- serif: Cappuccino background, gray text, brown links -- simple: White background, black text, blue links -- solarized: Cream-colored background, dark green text, blue links - ---- - -{{< slide background-image="/img/boards.jpg" >}} - -## Custom Slide - -Customize the slide style and background - -```markdown -{{</* slide background-image="/img/boards.jpg" */>}} -{{</* slide background-color="#0000FF" */>}} -{{</* slide class="my-style" */>}} -``` - ---- - -## Custom CSS Example - -Let's make headers navy colored. - -Create `assets/css/reveal_custom.css` with: - -```css -.reveal section h1, -.reveal section h2, -.reveal section h3 { - color: navy; -} -``` - ---- - -# Questions? - -[Ask](https://spectrum.chat/academic) - -[Documentation](https://sourcethemes.com/academic/docs/managing-content/#create-slides) diff --git a/nemo/exampleSite/content/talk/_index.md b/nemo/exampleSite/content/talk/_index.md deleted file mode 100644 index 7d27cb39b3fbf1a04c848f9f888f30c9c5f81b6c..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/talk/_index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Recent & Upcoming Talks - -# View. -# 1 = List -# 2 = Compact -# 3 = Card -view: 2 - -# Optional header image (relative to `static/img/` folder). -header: - caption: "" - image: "" ---- diff --git a/nemo/exampleSite/content/talk/example/featured.jpg b/nemo/exampleSite/content/talk/example/featured.jpg deleted file mode 100644 index 7b16c3c9e7d1a0235a99c4d05c02654c046dbd2c..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/content/talk/example/featured.jpg and /dev/null differ diff --git a/nemo/exampleSite/content/talk/example/index.md b/nemo/exampleSite/content/talk/example/index.md deleted file mode 100644 index c07b5a4586bf951f0b4cc9c7b1ea6a0455229393..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/talk/example/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Example Talk -event: Academic Theme Conference -event_url: https://example.org - -location: Source Themes HQ -address: - street: 450 Serra Mall - city: Stanford - region: CA - postcode: '94305' - country: United States - -summary: An example talk using Academic's Markdown slides feature. -abstract: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellusac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam." - -# Talk start and end times. -# End time can optionally be hidden by prefixing the line with `#`. -date: "2030-06-01T13:00:00Z" -date_end: "2030-06-01T15:00:00Z" -all_day: false - -# Schedule page publish date (NOT talk date). -publishDate: "2017-01-01T00:00:00Z" - -authors: [] -tags: [] - -# Is this a featured talk? (true/false) -featured: false - -image: - caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/bzdhc5b3Bxs)' - focal_point: Right - -links: -- icon: twitter - icon_pack: fab - name: Follow - url: https://twitter.com/georgecushen -url_code: "" -url_pdf: "" -url_slides: "" -url_video: "" - -# Markdown Slides (optional). -# Associate this talk with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides = "example-slides"` references `content/slides/example-slides.md`. -# Otherwise, set `slides = ""`. -slides: example - -# Projects (optional). -# Associate this post with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`. -# Otherwise, set `projects = []`. -projects: -- internal-project - -# Enable math on this page? -math: true ---- - -{{% alert note %}} -Click on the **Slides** button above to view the built-in slides feature. -{{% /alert %}} - -Slides can be added in a few ways: - -- **Create** slides using Academic's [*Slides*](https://sourcethemes.com/academic/docs/managing-content/#create-slides) feature and link using `slides` parameter in the front matter of the talk file -- **Upload** an existing slide deck to `static/` and link using `url_slides` parameter in the front matter of the talk file -- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://sourcethemes.com/academic/docs/writing-markdown-latex/). - -Further talk details can easily be added to this page using *Markdown* and $\rm \LaTeX$ math code. diff --git a/nemo/exampleSite/content/terms.md b/nemo/exampleSite/content/terms.md deleted file mode 100644 index 5a5d865e61313b73caf165111e3dd451ec80544b..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/content/terms.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Terms -date: "2018-06-28T00:00:00+01:00" -draft: true -share: false -commentable: false -editable: false - -# Optional header image (relative to `static/img/` folder). -header: - caption: "" - image: "" ---- - -... diff --git a/nemo/exampleSite/resources/_gen/assets/scss/scss/main.scss_6c95cc1249b26b124274204dbf970c34.content b/nemo/exampleSite/resources/_gen/assets/scss/scss/main.scss_6c95cc1249b26b124274204dbf970c34.content deleted file mode 100644 index 46700749fda9d2a68fc75d617b48290dc88c0a74..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/resources/_gen/assets/scss/scss/main.scss_6c95cc1249b26b124274204dbf970c34.content +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue: #007bff;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--primary: #2962ff;--secondary: #6c757d;--success: #28a745;--info: #17a2b8;--warning: #ffc107;--danger: #dc3545;--light: #f8f9fa;--dark: #343a40;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#2962ff;text-decoration:none;background-color:transparent}a:hover{color:#003adc;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:rgba(0,0,0,0.54);text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none}input[type="radio"],input[type="checkbox"]{box-sizing:border-box;padding:0}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:none}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1200px}}.container-fluid,.container-sm,.container-md,.container-lg,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1200px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.66666667%;max-width:16.66666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media (min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media (min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media (min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media (min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.33333333%;max-width:33.33333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered th,.table-bordered td{border:1px solid #dee2e6}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,0.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#c3d3ff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#90adff}.table-hover .table-primary:hover{background-color:#aac0ff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#aac0ff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#d6d8db}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>th,.table-success>td{background-color:#c3e6cb}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>th,.table-info>td{background-color:#bee5eb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>th,.table-warning>td{background-color:#ffeeba}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>th,.table-danger>td{background-color:#f5c6cb}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>th,.table-light>td{background-color:#fdfdfe}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>th,.table-dark>td{background-color:#c6c8ca}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark th,.table-dark td,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#a9c0ff;outline:0;box-shadow:0 0 0 .2rem rgba(41,98,255,0.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled] ~ .form-check-label,.form-check-input:disabled ~ .form-check-label{color:rgba(0,0,0,0.54)}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,0.9);border-radius:.25rem}.was-validated :valid ~ .valid-feedback,.was-validated :valid ~ .valid-tooltip,.is-valid ~ .valid-feedback,.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#28a745}.was-validated .form-check-input:valid ~ .valid-feedback,.was-validated .form-check-input:valid ~ .valid-tooltip,.form-check-input.is-valid ~ .valid-feedback,.form-check-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid ~ .custom-control-label,.custom-control-input.is-valid ~ .custom-control-label{color:#28a745}.was-validated .custom-control-input:valid ~ .custom-control-label::before,.custom-control-input.is-valid ~ .custom-control-label::before{border-color:#28a745}.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,.custom-control-input.is-valid:checked ~ .custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,.custom-control-input.is-valid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before{border-color:#28a745}.was-validated .custom-file-input:valid ~ .custom-file-label,.custom-file-input.is-valid ~ .custom-file-label{border-color:#28a745}.was-validated .custom-file-input:valid:focus ~ .custom-file-label,.custom-file-input.is-valid:focus ~ .custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,0.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.25rem}.was-validated :invalid ~ .invalid-feedback,.was-validated :invalid ~ .invalid-tooltip,.is-invalid ~ .invalid-feedback,.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#dc3545}.was-validated .form-check-input:invalid ~ .invalid-feedback,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.form-check-input.is-invalid ~ .invalid-feedback,.form-check-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid ~ .custom-control-label,.custom-control-input.is-invalid ~ .custom-control-label{color:#dc3545}.was-validated .custom-control-input:invalid ~ .custom-control-label::before,.custom-control-input.is-invalid ~ .custom-control-label::before{border-color:#dc3545}.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,.custom-control-input.is-invalid:checked ~ .custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,.custom-control-input.is-invalid:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before{border-color:#dc3545}.was-validated .custom-file-input:invalid ~ .custom-file-label,.custom-file-input.is-invalid ~ .custom-file-label{border-color:#dc3545}.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,.custom-file-input.is-invalid:focus ~ .custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,0.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(41,98,255,0.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#2962ff;border-color:#2962ff}.btn-primary:hover{color:#fff;background-color:#0346ff;border-color:#0041f5}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#0346ff;border-color:#0041f5;box-shadow:0 0 0 .2rem rgba(73,122,255,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2962ff;border-color:#2962ff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0041f5;border-color:#003ee8}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(73,122,255,0.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,0.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,0.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,0.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning:focus,.btn-warning.focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,0.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,0.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light:focus,.btn-light.focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,0.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,0.5)}.btn-outline-primary{color:#2962ff;border-color:#2962ff}.btn-outline-primary:hover{color:#fff;background-color:#2962ff;border-color:#2962ff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(41,98,255,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2962ff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#2962ff;border-color:#2962ff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(41,98,255,0.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.btn-link{font-weight:400;color:#2962ff;text-decoration:none}.btn-link:hover{color:#003adc;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#6c757d;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^="top"],.dropdown-menu[x-placement^="right"],.dropdown-menu[x-placement^="bottom"],.dropdown-menu[x-placement^="left"]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2962ff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus ~ .custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type="radio"],.input-group-text input[type="checkbox"]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked ~ .custom-control-label::before{color:#fff;border-color:#2962ff;background-color:#2962ff}.custom-control-input:focus ~ .custom-control-label::before{box-shadow:0 0 0 .2rem rgba(41,98,255,0.25)}.custom-control-input:focus:not(:checked) ~ .custom-control-label::before{border-color:#a9c0ff}.custom-control-input:not(:disabled):active ~ .custom-control-label::before{color:#fff;background-color:#dce5ff;border-color:#dce5ff}.custom-control-input[disabled] ~ .custom-control-label,.custom-control-input:disabled ~ .custom-control-label{color:#6c757d}.custom-control-input[disabled] ~ .custom-control-label::before,.custom-control-input:disabled ~ .custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50% / 50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before{border-color:#2962ff;background-color:#2962ff}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(41,98,255,0.5)}.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before{background-color:rgba(41,98,255,0.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(41,98,255,0.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked ~ .custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(41,98,255,0.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#a9c0ff;outline:0;box-shadow:0 0 0 .2rem rgba(41,98,255,0.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus ~ .custom-file-label{border-color:#a9c0ff;box-shadow:0 0 0 .2rem rgba(41,98,255,0.25)}.custom-file-input[disabled] ~ .custom-file-label,.custom-file-input:disabled ~ .custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en) ~ .custom-file-label::after{content:"Browse"}.custom-file-input ~ .custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(41,98,255,0.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(41,98,255,0.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(41,98,255,0.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2962ff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#dce5ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2962ff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#dce5ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2962ff;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#dce5ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2962ff}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.35rem;padding-bottom:.35rem;margin-right:1rem;font-size:1.2rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem 0;font-size:1.125rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#2b2b2b}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#2962ff}.navbar-light .navbar-nav .nav-link{color:#34495e}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,0.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:#2962ff}.navbar-light .navbar-toggler{color:#34495e;border-color:rgba(0,0,0,0)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%2334495e' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#34495e}.navbar-light .navbar-text a{color:#2962ff}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#2962ff}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid rgba(0,0,0,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,0.03);border-top:1px solid rgba(0,0,0,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2962ff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#003adc;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(41,98,255,0.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#2962ff;border-color:#2962ff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#2962ff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#0041f5}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(41,98,255,0.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#545b62}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,0.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#1e7e34}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,0.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#117a8b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,0.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:hover,a.badge-warning:focus{color:#212529;background-color:#d39e00}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,0.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#bd2130}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,0.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:hover,a.badge-light:focus{color:#212529;background-color:#dae0e5}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,0.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#1d2124}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,0.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert,.article-style aside{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#153385;background-color:#d4e0ff;border-color:#c3d3ff}.alert-primary hr{border-top-color:#aac0ff}.alert-primary .alert-link{color:#0e2259}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2962ff;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2962ff;border-color:#2962ff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#153385;background-color:#c3d3ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#153385;background-color:#aac0ff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#153385;border-color:#153385}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.25rem 0.75rem rgba(0,0,0,0.1);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^="top"] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^="top"] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^="right"]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^="right"] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^="right"] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^="bottom"] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^="bottom"] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^="left"]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^="left"] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^="left"] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^="top"]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^="top"]>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^="top"]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^="top"]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^="right"]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^="right"]>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^="right"]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^="right"]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^="bottom"]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^="bottom"]>.arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^="bottom"]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^="bottom"]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^="left"]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^="left"]>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^="left"]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,0.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^="left"]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50% / 100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#2962ff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#0041f5 !important}.bg-secondary{background-color:#6c757d !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#545b62 !important}.bg-success{background-color:#28a745 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#1e7e34 !important}.bg-info{background-color:#17a2b8 !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#117a8b !important}.bg-warning{background-color:#ffc107 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#d39e00 !important}.bg-danger{background-color:#dc3545 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#bd2130 !important}.bg-light{background-color:#f8f9fa !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#dae0e5 !important}.bg-dark{background-color:#343a40 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#1d2124 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #dee2e6 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-right{border-right:1px solid #dee2e6 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-left{border-left:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#2962ff !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#28a745 !important}.border-info{border-color:#17a2b8 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#343a40 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-.25rem !important}.mt-n1,.my-n1{margin-top:-.25rem !important}.mr-n1,.mx-n1{margin-right:-.25rem !important}.mb-n1,.my-n1{margin-bottom:-.25rem !important}.ml-n1,.mx-n1{margin-left:-.25rem !important}.m-n2{margin:-.5rem !important}.mt-n2,.my-n2{margin-top:-.5rem !important}.mr-n2,.mx-n2{margin-right:-.5rem !important}.mb-n2,.my-n2{margin-bottom:-.5rem !important}.ml-n2,.mx-n2{margin-left:-.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem !important}.m-md-n2{margin:-.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#2962ff !important}a.text-primary:hover,a.text-primary:focus{color:#003adc !important}.text-secondary{color:#6c757d !important}a.text-secondary:hover,a.text-secondary:focus{color:#494f54 !important}.text-success{color:#28a745 !important}a.text-success:hover,a.text-success:focus{color:#19692c !important}.text-info{color:#17a2b8 !important}a.text-info:hover,a.text-info:focus{color:#0f6674 !important}.text-warning{color:#ffc107 !important}a.text-warning:hover,a.text-warning:focus{color:#ba8b00 !important}.text-danger{color:#dc3545 !important}a.text-danger:hover,a.text-danger:focus{color:#a71d2a !important}.text-light{color:#f8f9fa !important}a.text-light:hover,a.text-light:focus{color:#cbd3da !important}.text-dark{color:#343a40 !important}a.text-dark:hover,a.text-dark:focus{color:#121416 !important}.text-body{color:#212529 !important}.text-muted{color:rgba(0,0,0,0.54) !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;overflow-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #dee2e6 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}html{font-family:Roboto,sans-serif;font-size:16.17px;color:rgba(0,0,0,0.8);line-height:1.65}@media screen and (min-width: 58em){html{font-size:21px}}body{font-family:inherit;font-size:1rem;line-height:inherit;color:inherit;background-color:#fff;margin-top:70px;padding-top:0;counter-reset:captions}@media screen and (max-width: 1200px){body{margin-top:50px}}.max-width-640{max-width:640px}.margin-auto,figure img{margin-left:auto;margin-right:auto}.center-text{text-align:center}p{margin-top:0;margin-bottom:1rem}ul,ol,dl{margin-top:0;margin-bottom:1rem}ul.task-list{list-style:none}ul.task-list li input[type="checkbox"]{margin-right:0.5rem}.navbar-light{font-family:Roboto,sans-serif;font-weight:400;line-height:1.25;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;font-weight:400;margin-top:1rem;margin-bottom:.5rem;line-height:1.25;color:#313131;text-rendering:optimizeLegibility;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}h1{font-size:2.25rem}h2{margin-top:1rem;font-size:1.5rem}h3{font-weight:700;margin-top:1.5rem;font-size:1.25rem}h4,h5,h6{font-weight:700;margin-top:1rem;font-size:1rem}a,h3.article-title a:hover{color:#2962ff;text-decoration:none;transition:color 0.6s ease}a:hover,a:focus{color:#2962ff}img,video{height:auto;max-width:100%;display:block}video{width:100%;height:auto;max-height:400px}.img-responsive{margin:0 auto}figcaption{display:block;margin-top:0.75em;margin-bottom:1.65rem;line-height:1.4;font-size:0.76rem;text-align:center}figcaption.numbered:before{font-weight:700;text-transform:uppercase;content:attr(data-pre) counter(captions) attr(data-post)}figcaption.numbered{counter-increment:captions}pre,code{font-family:Roboto Mono,monospace;color:#c7254e;background-color:#f9f2f4}pre{margin:0 0 1rem 0;background-color:#f8f8f8;border-color:#f8f8f8;font-size:0.7rem;border-radius:4px}pre code{white-space:pre;overflow-x:auto}hr{border:0;height:1px;background:#333;background-image:linear-gradient(to right, #ccc, #333, #ccc)}blockquote{padding:.5rem 1rem;margin:.8rem 0;color:#7a7a7a;border-left:.25rem solid #e5e5e5}blockquote p:last-child{margin-bottom:0}@media (min-width: 30em){blockquote{padding-right:5rem;padding-left:1.25rem}}.markup-quote{background-color:transparent;background-image:linear-gradient(to bottom, #e9e7f5, #e9e7f5)}.space-below{margin-bottom:50px}@media screen and (max-width: 768px){.space-below{margin-bottom:10px}}.universal-wrapper{margin:0 auto;padding-right:1rem;padding-left:1rem;padding-top:0.1rem;width:100%}@media only screen and (min-width: 1001px){.universal-wrapper{width:1000px}}small,.small{font-size:.75em}.responsive-wrap iframe{max-width:100%}.modal-content{background:#fff}.modal-title{margin:0}.modal-content pre{margin:0}.modal-header{border:0;color:rgba(0,0,0,0.8)}.modal-footer{border:0}#modal-error{color:red}.gallery{margin:0.5em -4px 1.5em -4px;font-size:0}a[data-fancybox]{text-decoration:none;cursor:zoom-in}.gallery a[data-fancybox] img{height:250px;width:auto;max-width:inherit;display:inherit;margin:0;padding:4px;box-shadow:none;vertical-align:inherit}.fancybox-caption{font-size:1rem;line-height:1.5rem;text-align:center}.post-nav{margin-top:1rem;font-size:0.8rem}.post-nav-item{hyphens:auto;word-wrap:break-word;padding:11px 0 12px;width:100%}.post-nav-item a{color:#2b2b2b;line-height:1.7;text-transform:none}.post-nav-item .meta-nav{color:#767676;font-weight:900;line-height:2;text-transform:uppercase}.dark .post-nav-item a{color:#ddd}footer{margin:4rem 0 0;padding:2rem 0;width:100%}footer p{font-size:0.75rem;text-align:center}site-footer,footer a.back-to-top i{color:rgba(0,0,0,0.54)}.dark site-footer,.dark footer a#back_to_top i,.dark .docs .body-footer{color:rgba(255,255,255,0.54)}.badge-light{border:none;color:rgba(0,0,0,0.68);background:rgba(0,0,0,0.05);font-weight:normal;border-radius:3px;padding:5px 10px;margin-right:8px;margin-bottom:8px}.article-tags>.badge-light:last-child{margin-right:0}.badge-light[href]:focus,.badge-light[href]:hover{background:rgba(0,0,0,0.1)}a.badge:focus,a.badge:hover{color:rgba(0,0,0,0.68)}.tag-cloud a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.tag-cloud a:active,.tag-cloud a:focus,.tag-cloud a:hover{color:#0041f5;transform:scale(1.2)}.dark .tag-cloud a:active,.dark .tag-cloud a:focus,.dark .tag-cloud a:hover{color:#5c87ff}.btn{padding:.5rem;font-size:.8rem;line-height:.5;border-radius:.3rem}.btn-links .btn{padding:5px .5rem 5px .5rem;line-height:1}.btn.btn-sm,.btn-group-sm>.btn{padding:5px .4rem 5px .4rem;font-size:.6rem;border-radius:.2rem}.btn-toolbar .btn{font-size:0.9rem;padding:10px 14px 9px;border:none}.btn-toolbar .btn:first-child{border-radius:6px 0 0 6px}.btn-toolbar .btn:last-child{border-radius:0 6px 6px 0}.btn-toolbar .btn.btn-primary:hover,.btn-toolbar .btn.btn-primary:focus{background-color:#5c87ff !important}.btn-toolbar .btn.btn-primary:active,.btn-toolbar .btn.btn-primary.active{background-color:#0041f5 !important}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 0.2rem #5c87ff}table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;font-size:0.8rem}table>thead>tr>th,table>tbody>tr>th,table>tfoot>tr>th,table>thead>tr>td,table>tbody>tr>td,table>tfoot>tr>td{padding:8px;line-height:1.43;vertical-align:top;border-top:1px solid #ddd}table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}table>caption+thead>tr:first-child>th,table>colgroup+thead>tr:first-child>th,table>thead:first-child>tr:first-child>th,table>caption+thead>tr:first-child>td,table>colgroup+thead>tr:first-child>td,table>thead:first-child>tr:first-child>td{border-top:0}table>tbody+tbody{border-top:2px solid #ddd}table table{background-color:#fff}table>tbody>tr:nth-child(odd)>td,table>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}table>tbody>tr:hover>td,table>tbody>tr:hover>th{background-color:#e5e5e5}.article-style aside p,div.alert>div{position:relative;display:block;font-size:1rem;margin-left:2rem;margin-top:0;margin-bottom:0}div.alert div>*{margin-bottom:.5rem}div.alert div>:last-child{margin-bottom:0}.article-style aside p::before,div.alert>div:first-child::before{position:absolute;top:-0.5rem;left:-2rem;font-size:1.5rem;color:#209cee;font-family:'Font Awesome 5 Free';font-weight:900;content:'\f05a';width:1.5rem;text-align:center}div.alert-warning>div:first-child::before{font-family:'Font Awesome 5 Free';font-weight:900;color:#ff3860;content:'\f071'}.article-style aside a,div.alert a{color:currentColor;text-decoration:none;border-bottom:solid 1px currentColor}.article-style aside,.alert-note{color:#12537e;background-color:#f6fbfe;border-color:#209cee}.alert-warning{color:#cd0930;background-color:#fff5f7;border-color:#ff3860}.navbar{height:70px;background:#fff;box-shadow:0 0.125rem 0.25rem 0 rgba(0,0,0,0.11);font-size:16.17px;position:fixed;top:0;right:0;left:0;z-index:1030;padding:0 1rem}.navbar .nav-item{position:relative}@media (max-width: 991.98px){.navbar{height:50px}.navbar .navbar-nav-scroll{width:100%;overflow:hidden}.navbar .navbar-nav-scroll .navbar-nav{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}.navbar .navbar-nav{display:flex}.navbar .navbar-nav .nav-link{color:rgba(52,73,94,0.85)}.navbar .navbar-nav .nav-link.active,.navbar .navbar-nav .nav-link:hover,.navbar .navbar-nav .nav-link:focus{color:#34495e}.navbar .navbar-nav .nav-link.active{font-weight:bold !important;color:#2962ff !important}.navbar .dropdown-menu{font-size:16.17px}.navbar .dropdown-item.active,.navbar .i18n-active{font-weight:bold;color:#2962ff !important}.dark .navbar{box-shadow:0 0.125rem 0.25rem 0 rgba(255,255,255,0.11)}.navbar-toggler{border:0 !important;position:relative;z-index:1030}.navbar-toggler:focus,.navbar-toggler:active{outline:none !important;box-shadow:none !important}@media (max-width: 991.98px){.i18n-dropdown .nav-link::after{content:none}.i18n-dropdown .dropdown-menu{position:absolute;right:0;left:auto}}.navbar-brand{padding-top:5px;padding-bottom:5px;font-weight:bold;position:relative;z-index:1030}.navbar-brand img{width:auto;height:-moz-available;height:-webkit-fill-available;height:-webkit-stretch;height:stretch;max-height:60px;max-width:fit-content}#navbar-main .main-menu-item ul li .nav-link{color:#34495e}@media (max-width: 991.98px){.navbar-brand-mobile-wrapper{position:absolute;left:0;right:0}.navbar-brand{margin:0 auto}.navbar-brand img{max-height:40px}.navbar-toggler{border-color:transparent}#navbar-main .main-menu-item{text-align:left !important;padding-left:0}.navbar-collapse{z-index:1031 !important;position:absolute;left:0;top:50px;width:100%;background-color:#fff;text-align:center !important}#navbar-main .main-menu-item .nav-item{padding:10px 15px !important}#navbar-main .main-menu-item .nav-item .nav-link{padding:5px 15px !important}}ul.nav-icons{list-style-type:none;font-size:18px;padding:0.5rem 0 0.5rem 0;margin:0}ul.nav-icons li{display:inline;padding-right:1rem}ul.nav-icons li:last-of-type{padding-right:0}ul.nav-icons li.nav-item a.nav-link{padding:0}.dropdown-menu{background-color:#fff !important;color:#34495e !important;z-index:1032}.dropdown-item{background-color:#fff !important;color:#34495e !important}.card-simple{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.09);border-radius:3px;margin-top:20px;padding:15px 20px 15px 20px}.card-simple:first-of-type{margin-top:0}.card-simple p.read-more{margin:0}.dark .card-simple{background:#282a36;box-shadow:0 1px 4px rgba(0,0,0,0.04);border:1px solid #44475a}.card{margin-bottom:1.5rem;overflow:hidden;text-overflow:ellipsis;background:#fff;box-shadow:0 2px 4px 0 rgba(0,0,0,0.2);transition:all 0.2s ease-out}.card .card-image{display:block;position:relative;min-height:100px}.card h4{font-size:0.9rem;font-weight:700;line-height:1.5;text-transform:uppercase}.card h4 a{color:#000;border-bottom:solid 1px transparent}.card h4 a:hover{color:#000;border-bottom:solid 1px #000;text-decoration:none}.card .card-text{padding:0.75rem 1rem 0.75rem}.card .card-text p{color:rgba(0,0,0,0.54);font-size:0.75rem}.dark .card-text p{color:#f8f8f2}.card p:last-child{margin-bottom:0}.card .card-image.hover-overlay:before{display:block;position:absolute;left:0;top:0;width:100%;height:100%;background:#fff;content:" ";opacity:0;transition:all 0.2s ease-out}.card .card-image.hover-overlay:after{display:block;position:absolute;left:0;top:50%;width:100%;transform:translate(0, -50%);opacity:0;transition:all 0.2s ease-out;font-family:'Font Awesome 5 Free';font-weight:900;content:'\f0c1';text-align:center;font-size:3rem;color:#666}.card:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2)}.card:hover .card-image.hover-overlay:before{opacity:0.8}.card:hover .card-image.hover-overlay:after{opacity:0.6}.search-results{transform:scale(0);-webkit-transform:scale(0);background-color:#fff;bottom:0;left:0;right:0;top:0;overflow:scroll;position:fixed;visibility:hidden;z-index:-99}.dark .search-results{background-color:#282a36}.searching{overflow:hidden}.searching .search-results{transform:scale(1);-webkit-transform:scale(1);visibility:visible;z-index:1031}.searching #search-box #search-query{width:100%}.search-results>.container{padding-top:70px}@media screen and (max-width: 1200px){.search-results>.container{padding-top:50px}}.search-header{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;padding-top:2rem;padding-bottom:1rem}.dark .search-header{background-color:#282a36}.search-header h1{margin:0;line-height:1}.col-search-close{text-align:right}.search-header i{font-size:2rem;line-height:1}#search-box{position:relative;margin-bottom:0.5rem}#search-box::before{font-family:'Font Awesome 5 Free';font-weight:900;content:"\f002";font-size:1rem;opacity:0.25;line-height:1rem;position:absolute;left:0.7rem;top:0.6rem;overflow-x:hidden}#search-box #search-query{border:1px solid #dedede;border-radius:1rem;padding:1rem 1rem 1rem 2rem;width:250px;line-height:1rem;height:1rem;font-size:0.8rem}.search-hit em{font-style:normal;background-color:#FFE0B2;color:#E65100;border-bottom:1px solid #E65100}.search-hit-type{margin-bottom:0 !important;text-transform:capitalize}.search-hit-description{font-size:0.7rem}#search-hits button[disabled]{display:none}.form-control:focus{border-color:#2962ff;box-shadow:0 0 0 0.2rem #5c87ff}.dark .ais-search-box--input{background-color:#282a36}.dark #search-query{background-color:#282a36}article{animation:intro 0.3s both;animation-delay:0.15s}.article-container{max-width:760px;padding:0 20px 0 20px;margin:0 auto 0 auto}.page-subtitle{font-size:1.15rem;color:rgba(0,0,0,0.54);margin-bottom:1rem}.dark .page-subtitle{color:rgba(255,255,255,0.54)}.article-header{position:relative;clear:both}.article-banner{width:100%;height:auto}.featured-image-wrapper{position:relative;padding-left:0;padding-right:0}.featured-image{position:relative;width:100%;display:block;margin:0 auto}.article-header-caption{position:absolute;bottom:0;right:0;margin:0 auto;padding:2px 5px;color:#fff;font-size:.7em;background:#000;text-align:right;z-index:5;opacity:0.65;border-radius:5px 0 0 0}@media (min-width: 64em){.article-header-caption{padding:5px 10px}}.article-header-caption a{color:#fff;text-decoration:none}.article-title{font-size:1.75rem}.article-title a{color:#151515;transition:color 0.6s ease}.dark .text-muted{color:rgba(255,255,255,0.54) !important}.article-metadata{margin-bottom:15px;overflow:hidden;font-size:14px;letter-spacing:0.03em;color:rgba(0,0,0,0.54)}.dark .article-metadata{color:rgba(255,255,255,0.54)}.stream-meta.article-metadata{margin-bottom:5px}article .article-metadata{margin-bottom:20px}.article-metadata a{color:rgba(0,0,0,0.54)}.dark .article-metadata a{color:rgba(255,255,255,0.54)}.article-metadata a:hover{color:#2962ff}.article-categories{white-space:nowrap}.middot-divider{padding-right:.45em;padding-left:.45em;font-size:15px}.middot-divider::after{content:'\00B7'}.article-style img,.article-style video{margin-left:auto;margin-right:auto;margin-top:2rem;margin-bottom:2rem;padding:0}.article-style td img,.article-style td video{margin-top:0;margin-bottom:0}.article-style figure{margin-top:2rem;margin-bottom:2rem}.article-style figure img{margin-top:0;margin-bottom:0}.pub-banner{max-width:100%;height:auto;margin-left:auto;margin-right:auto}.pub-row-heading{font-weight:bold}#container-publications{display:block;position:relative;overflow:hidden}.li-cite-author{font-size:1em;color:inherit}.li-cite-author a{color:inherit}.dark .li-cite-author a{color:#f8f8f2}.content-widget-hr{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(0,0,0,0.05)}.dark .content-widget-hr{border-top:1px solid rgba(255,255,255,0.05)}.article-tags{margin-top:1.2rem}.share-box{margin-top:0.7rem}ul.share{display:flex;align-items:center;justify-content:center;flex-direction:row;flex-wrap:wrap;list-style:none;margin:0;padding:0}ul.share li{display:inline-flex;margin-right:8px}ul.share li:last-of-type{margin-right:0}ul.share li i{display:block;width:30px;height:30px;line-height:30px;font-size:22px;text-align:center;transition:all 150ms ease-in-out}ul.share li a{text-decoration:none !important;color:rgba(0,0,0,0.84)}.dark ul.share li a{color:rgba(255,255,255,0.84)}ul.share li:hover i{transform:scale(1.2)}.author-card .avatar{width:60px;height:60px}.author-card .card-title{margin-top:0;margin-bottom:15px;font-weight:600;color:rgba(0,0,0,0.84)}.author-card .card-title a{color:rgba(0,0,0,0.84)}.dark .author-card .card-title,.dark .author-card .card-title a{color:rgba(255,255,255,0.84)}.author-card p{margin-bottom:5px}.author-card .card-subtitle{font-weight:300;font-size:0.8rem;color:rgba(0,0,0,0.54);margin-bottom:7px}.dark .author-card .card-subtitle{color:rgba(255,255,255,0.54)}.author-card .card-text{color:rgba(0,0,0,0.76);font-size:0.8rem;margin-bottom:4px}.dark .author-card .card-text{color:rgba(255,255,255,0.76)}#comments{padding-top:1rem}.article-widget{padding-top:1.2rem}.article-widget h3{margin-top:0}.view-list-item{margin-bottom:1rem}.pub-icon{color:rgba(0,0,0,0.54);font-size:0.81em;padding-right:6px}.view-list-item .article-metadata{margin-bottom:0}.pub-list-item .pub-abstract{font-size:1rem}.pub-list-item .btn-links{padding-top:10px}.media.stream-item{margin-bottom:2rem}.media.stream-item .article-title,.card-simple .article-title{font-size:1.2rem}.media.stream-item .article-style,.card-simple .article-style{margin-top:2px;font-size:0.8rem}.media.stream-item .stream-meta{margin-top:12px}.media.stream-item img{max-width:150px;height:auto;object-fit:cover}@media screen and (max-width: 768px){.media.stream-item img{max-width:80px}}@keyframes intro{0%{opacity:0}100%{opacity:1}}.home-section{background-color:#fff;padding:110px 0 110px 0;animation:intro 0.3s both;animation-delay:0.15s}.home-section.dark,.home-section.dark h1,.home-section.dark h2,.home-section.dark h3,.home-section.dark a:not(.btn){color:#f8f8f2}.home-section.dark a:not(.btn):not(.hero-cta-alt){text-decoration:underline}.home-section.dark .alert a,.home-section.dark .article-style aside a,.article-style .home-section.dark aside a{color:inherit !important;text-decoration:inherit !important}.home-section.bg-image{background-position:center;background-repeat:no-repeat;background-size:cover}.parallax{height:100%;background-attachment:fixed}.home-section:first-of-type{padding-top:50px}.home-section:nth-of-type(even){background-color:#f7f7f7}.dark .home-section{background-color:#272935}.dark .home-section:nth-of-type(even){background-color:#23252f}@media screen and (max-width: 768px){.home-section{padding:60px 0 60px 0}.home-section:first-of-type{padding-top:40px}}.section-heading h1{margin:0 0 10px 0}.section-heading p{font-weight:400;font-size:1.1rem;color:#b2b2b2}.see-all{margin-top:2rem;text-transform:uppercase}.dark .alert pre,.dark .article-style aside pre,.article-style .dark aside pre,.dark .alert code,.dark .article-style aside code,.article-style .dark aside code{color:initial;background-color:initial}.wg-hero{padding:3em 0;clear:both;background-size:cover;background-repeat:no-repeat;background-position:center;animation:intro 0.3s both;animation-delay:0s;animation-delay:0.25s}.hero-title{font-size:2.7rem;margin-top:0;line-height:1}.hero-lead{max-width:768px;font-size:1.35rem}.wg-hero.dark .hero-title,.wg-hero.dark .hero-lead,.wg-hero.dark .hero-cta-alt,.wg-hero.dark .hero-note>*{color:#fff}.wg-hero.dark a:not(.wg-hero .btn){color:#fff}.wg-hero .hero-lead a{text-decoration:underline}.wg-hero .cta-btns{margin-bottom:16px}.wg-hero .btn{padding:.6em 2.1em}.wg-hero.dark .btn{color:#0041f5}a.hero-cta-alt{display:inline-block;position:relative;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out;font-size:1.1rem}a.hero-cta-alt:active,a.hero-cta-alt:focus,a.hero-cta-alt:hover{transform:scale(1.1)}.wg-hero .btn-lg,.wg-hero .btn-group-lg>.btn{font-size:1.1rem}.wg-hero .hero-note{font-size:0.8rem}.hero-media{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.home-section.wg-slider{padding:0;animation:none;animation-delay:unset}.carousel-inner .wg-hero{animation:none;clear:none}.featurette{font-size:0.8rem;line-height:1.5;color:#555;text-align:center}.featurette h3{margin-top:0;margin-bottom:5px;font-weight:400;color:#333}.dark .featurette,.dark .featurette h3{color:#fff}.featurette-icon{display:block;width:100%;color:#2962ff;font-size:3rem;text-align:center}#profile{text-align:center;padding:30px 10px;position:relative}.avatar{width:270px;height:270px;margin:0 auto;object-fit:cover}@media (max-width: 767.98px){.wg-about .avatar{width:200px;height:200px}}.avatar-circle{border-radius:50%}.avatar-square{border-radius:3px}.portrait-title h2{font-size:1.75em;font-weight:300;color:#000000;margin:20px 0 10px 0}.portrait-title h3{font-size:1rem;font-weight:300;color:rgba(0,0,0,0.54);margin:0px 0 10px 0}ul.network-icon{display:inline-flex;flex-direction:row;flex-wrap:wrap;justify-content:center;list-style:none;padding:0;margin:0}#profile .network-icon{margin-top:30px}.network-icon li{margin-right:10px}.network-icon li:last-of-type{margin-right:0}.network-icon li:hover{transform:scale(1.2)}.big-icon{font-size:2rem}ul.ul-interests li{font-size:0.9rem}ul.ul-edu{list-style:none}ul.ul-edu li{position:relative;padding:0px 15px 4px 3px}ul.ul-edu li .description p{margin:0}ul.ul-edu li .description p.course{font-size:0.9rem}ul.ul-edu li .description p.institution{font-size:0.75rem;color:rgba(0,0,0,0.6)}.exp-title{text-transform:none !important}.exp-company{font-weight:normal !important;text-transform:none !important}.exp-meta{font-size:0.8rem}.experience .card-text,.experience .card-text p{color:#000 !important;font-size:0.75rem !important}.dark .experience .text-muted{color:rgba(255,255,255,0.8) !important}.dark .experience .card-text,.dark .experience .card-text p{color:#f8f8f2 !important}.card .card-text ul{margin-top:-1rem;margin-bottom:0rem}.experience .m-2 .border,.experience .col.border-right{border-color:#2962ff !important}.experience .m-2 .border.exp-fill{background-color:#2962ff !important}.talk-metadata{color:#4b4f56;font-size:0.8rem}.project-widget-simple li{margin-bottom:1rem}.project-widget-simple li:last-of-type{margin-bottom:0}.project-widget-simple .project-title{margin-bottom:6px}.project-widget-simple .project-summary{font-size:0.9rem;margin-bottom:0.4rem}.projects-container{display:block;position:relative;overflow:hidden}.project-toolbar{margin-bottom:2rem}.project-card{position:relative;width:calc(33.3% - 2*20px)}@media screen and (max-width: 1199px){.project-card{width:calc(50% - 20px)}}@media screen and (max-width: 768px){.project-card{width:100%}}.project-item{margin-bottom:1.5rem}.project-card.project-item{margin:0 0 20px 0}.project-card .card{margin:0}.project-showcase .project-item{margin-bottom:3rem}.project-item:last-of-type{margin-bottom:0}.isotope-item{z-index:2}.isotope-item:hover{z-index:3}.card.course{margin-bottom:1rem}.card.course:last-of-type{margin-bottom:0}.course .card-subtitle a{border-bottom:solid 1px transparent}.course .card-subtitle a:hover{border-bottom:solid 1px;text-decoration:none}.people-widget{font-size:0.8rem;text-align:center}.people-widget .portrait-title h2{font-size:1rem}.people-widget .portrait-title h3{font-size:0.7rem}.people-widget .avatar{width:80%;max-width:150px;height:auto}@media (min-width: 576px){.people-widget .col-sm-auto{width:30%}}@media (min-width: 992px){.people-widget .col-sm-auto{width:20%}}.contact-widget .fa-ul{margin-left:3.14285714rem}.contact-widget .fa-li{position:absolute;left:-3.14285714rem;width:2rem;top:0.14285714em;text-align:center}.contact-widget li{padding-top:0.8rem;margin-bottom:0.3rem}.contact-widget li:last-of-type{margin-bottom:0}#map{height:350px;width:100%}.docs-article-container{max-width:760px}.docs .body-footer{border-top:1px solid #e8e8e8;margin-top:30px;padding-top:10px;font-size:14px;color:#707070}.docs-content{order:1;position:relative}.docs-content>h2[id],.docs-content>h3[id],.docs-content>h4[id]{pointer-events:none}.docs-content>ol li,.docs-content>ul li{margin-bottom:.25rem}.docs-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px;border-bottom:1px solid rgba(0,0,0,0.05)}.docs-search .form-control:focus{border-color:#2962ff;box-shadow:0 0 0 3px #5c87ff}.docs-sidebar{order:0;border-bottom:1px solid rgba(0,0,0,0.1)}@media (min-width: 768px){.docs-sidebar{border-right:1px solid rgba(0,0,0,0.1)}@supports (position: -webkit-sticky) or (position: sticky){.docs-sidebar{position:-webkit-sticky;position:sticky;top:50px;z-index:10;height:calc(100vh - 50px)}}}@media (min-width: 1200px){.docs-sidebar{border-right:1px solid rgba(0,0,0,0.1)}@supports (position: -webkit-sticky) or (position: sticky){.docs-sidebar{position:-webkit-sticky;position:sticky;top:70px;z-index:10;height:calc(100vh - 70px)}}}@media (min-width: 1200px){.docs-sidebar{flex:0 1 320px}}.docs-sidebar .nav>li>a{display:block;padding:.25rem 1.5rem;font-size:0.8rem;color:rgba(0,0,0,0.65)}.docs-sidebar .nav>li>a:hover{color:rgba(0,0,0,0.85);text-decoration:none;background-color:transparent}.docs-sidebar .docs-toc-item.active a,.docs-sidebar .nav>.active:hover>a,.docs-sidebar .nav>.active>a{font-weight:bold;color:#2962ff;background-color:transparent}.docs-toggle{line-height:1;font-size:1.2rem;color:#2962ff;background-color:transparent}.docs-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width: 768px){@supports (position: -webkit-sticky) or (position: sticky){.docs-links{max-height:calc(100vh - 5rem - 70px);overflow-y:auto}}}@media (min-width: 768px){.docs-links{display:block !important}}.docs-toc{order:2;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem}@supports (position: -webkit-sticky) or (position: sticky){.docs-toc{position:-webkit-sticky;position:sticky;top:70px;height:calc(100vh - 70px);overflow-y:auto}}.docs-toc-link{display:block;padding:.25rem 1.5rem;font-weight:bold;color:rgba(0,0,0,0.65)}.docs-toc-link:hover{color:rgba(0,0,0,0.85);text-decoration:none}.docs-toc-item.active{margin-bottom:1rem}.docs-toc-item.active:not(:first-child){margin-top:1rem}.docs-toc-item.active>.docs-toc-link{color:rgba(0,0,0,0.85)}.docs-toc-item.active>.docs-toc-link:hover{background-color:transparent}.docs-sidenav{display:block}.docs-toc-title{color:#b5b5b5;font-size:.875rem;font-weight:600;padding-left:calc(1.5rem + 1px)}#TableOfContents{padding-left:0;border-left:1px solid #eee}#TableOfContents ul,ul.toc-top{padding-left:0}#TableOfContents ul ul{padding-left:0.8rem}#TableOfContents li{display:block}#TableOfContents li a,.toc-top li a{display:block;padding:.125rem 1.5rem;color:#99979c;font-size:0.7rem}#TableOfContents li a:hover,.toc-top li a:hover{color:#2962ff;text-decoration:none}#TableOfContents li a.active{color:#2962ff;font-weight:700}.anchorjs-link{font-weight:400;color:#0041f5;transition:color .16s linear}.anchorjs-link:hover{color:#2962ff;text-decoration:none}body.dark,.dark .docs-toc-link,.dark .docs-sidebar .nav>li:not(.active)>a,.dark .modal button.close,.dark input,.dark .form-control,.dark .form-control:focus{color:#f8f8f2;background:#282a36}.dark .form-control{background-color:#44475a}.dark .form-control:focus{background-color:#44475a;border-color:#2962ff;box-shadow:0 0 0 0.2rem #0041f5}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#98a6ad}.dark pre,.dark code{color:#8be9fd;background-color:#44475a}.dark pre{background-color:#44475a;border-color:#44475a}.dark .markup-quote{background-image:linear-gradient(to bottom, rgba(233,231,245,0.2), rgba(233,231,245,0.2))}.dark #MathJax_Zoom{background-color:#44475a !important}.dark table table{background-color:#282a36}.dark table>tbody>tr:nth-child(odd)>td,.dark table>tbody>tr:nth-child(odd)>th{background-color:#323440}.dark table>tbody>tr:hover>td,.dark table>tbody>tr:hover>th{background-color:#3c3e4a}.dark .article-title a{color:#fff}.dark .portrait-title h2{color:#fff}.dark .portrait-title h3{color:rgba(255,255,255,0.54)}.dark ul.ul-edu li .description p.institution{color:rgba(255,255,255,0.6)}.dark .pub-icon{color:rgba(255,255,255,0.54)}.dark .talk-metadata{color:rgba(255,255,255,0.54)}.dark .pagination li>a,.pagination li>span{background-color:#282a36;border:1px solid #ddd}.dark .card{background:#343a40}.dark .card h4 a{color:#2962ff;border-bottom:solid 1px transparent}.dark .card .card-image.hover-overlay::before{background:#666}.dark .card .card-image.hover-overlay::after{color:#fff}.dark select{background:#282a36;color:#f8f8f2}.dark .badge-light{color:rgba(255,255,255,0.68);background:rgba(255,255,255,0.2)}.dark .badge-light[href]:focus,.dark .badge-light[href]:hover{background:rgba(255,255,255,0.3)}.dark a.badge:focus,.dark a.badge:hover{color:rgba(255,255,255,0.68)}.dark .btn-primary,.dark .btn.btn-primary.active{color:initial}div.mermaid{width:100%;text-align:center;margin-bottom:1rem} diff --git a/nemo/exampleSite/resources/_gen/assets/scss/scss/main.scss_6c95cc1249b26b124274204dbf970c34.json b/nemo/exampleSite/resources/_gen/assets/scss/scss/main.scss_6c95cc1249b26b124274204dbf970c34.json deleted file mode 100644 index f701cda669ea5bb2e8534b7789234877de356087..0000000000000000000000000000000000000000 --- a/nemo/exampleSite/resources/_gen/assets/scss/scss/main.scss_6c95cc1249b26b124274204dbf970c34.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"css/academic.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/nemo/exampleSite/resources/_gen/images/authors/admin/avatar_hu52a603635ecebd45650b162dadabb4e5_12861_270x270_fill_q90_lanczos_center.jpg b/nemo/exampleSite/resources/_gen/images/authors/admin/avatar_hu52a603635ecebd45650b162dadabb4e5_12861_270x270_fill_q90_lanczos_center.jpg deleted file mode 100644 index 6a075a38dc97eb6480c4e63253d3f0a2199f0119..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/authors/admin/avatar_hu52a603635ecebd45650b162dadabb4e5_12861_270x270_fill_q90_lanczos_center.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/authors/admin2/avatar_hu52a603635ecebd45650b162dadabb4e5_12861_270x270_fill_q90_lanczos_center.jpg b/nemo/exampleSite/resources/_gen/images/authors/admin2/avatar_hu52a603635ecebd45650b162dadabb4e5_12861_270x270_fill_q90_lanczos_center.jpg deleted file mode 100644 index 6a075a38dc97eb6480c4e63253d3f0a2199f0119..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/authors/admin2/avatar_hu52a603635ecebd45650b162dadabb4e5_12861_270x270_fill_q90_lanczos_center.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-1950s_huaf5482f8cea0c5a703a328640e3b7509_21614_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-1950s_huaf5482f8cea0c5a703a328640e3b7509_21614_0x190_resize_lanczos_2.png deleted file mode 100644 index 4bc92666f9eedd240b574c50e596fe38840bc042..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-1950s_huaf5482f8cea0c5a703a328640e3b7509_21614_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-apogee_hu4b45d99db97150df01464c393bfd17d4_24119_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-apogee_hu4b45d99db97150df01464c393bfd17d4_24119_0x190_resize_lanczos_2.png deleted file mode 100644 index 75741b83780fed59e8434bae1f7c6e7cb59d20e7..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-apogee_hu4b45d99db97150df01464c393bfd17d4_24119_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-coffee-playfair_hu446a8f670cc5622adcc77b97ba95f6c5_22462_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-coffee-playfair_hu446a8f670cc5622adcc77b97ba95f6c5_22462_0x190_resize_lanczos_2.png deleted file mode 100644 index 25e083353dca099b3622ef71fc60340d56303a97..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-coffee-playfair_hu446a8f670cc5622adcc77b97ba95f6c5_22462_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-dark_hu1e8601ecc47f58eada7743fdcd709d3d_21456_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-dark_hu1e8601ecc47f58eada7743fdcd709d3d_21456_0x190_resize_lanczos_2.png deleted file mode 100644 index c95951a359a099128b6f1da1f94fb1dd042208e6..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-dark_hu1e8601ecc47f58eada7743fdcd709d3d_21456_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-default_huba6228b7bdf30e2f03f12ea91b2cba0d_21751_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-default_huba6228b7bdf30e2f03f12ea91b2cba0d_21751_0x190_resize_lanczos_2.png deleted file mode 100644 index 66296133e4f2f37d0c7303b69141dc690f90c513..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-default_huba6228b7bdf30e2f03f12ea91b2cba0d_21751_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-forest_hu4f093a1c683134431456584193ea41ee_21797_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-forest_hu4f093a1c683134431456584193ea41ee_21797_0x190_resize_lanczos_2.png deleted file mode 100644 index 19b0f0ee84bf726ecdeeeb66741d1501ba75a1fd..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-forest_hu4f093a1c683134431456584193ea41ee_21797_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-ocean_hu14831ccafc2219f30a7a096fa7617e01_21760_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-ocean_hu14831ccafc2219f30a7a096fa7617e01_21760_0x190_resize_lanczos_2.png deleted file mode 100644 index e41bf11f3ed44f9f642885bf749e0ecb930c0f31..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-ocean_hu14831ccafc2219f30a7a096fa7617e01_21760_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-strawberry_hu36b0b347fcca08bd39e2df22dcedbdfb_39532_0x190_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-strawberry_hu36b0b347fcca08bd39e2df22dcedbdfb_39532_0x190_resize_lanczos_2.png deleted file mode 100644 index 0190da5166bc3fb4411f5072bf11cad72baa56f5..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/home/gallery/gallery/theme-strawberry_hu36b0b347fcca08bd39e2df22dcedbdfb_39532_0x190_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_192x192_fill_lanczos_center_2.png b/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_192x192_fill_lanczos_center_2.png deleted file mode 100644 index 85dc7b3c1f134d6acdf1bd2c7d1f326e8d6aeede..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_192x192_fill_lanczos_center_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_32x32_fill_lanczos_center_2.png b/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_32x32_fill_lanczos_center_2.png deleted file mode 100644 index 86ec5d646496fd90af882d7c7d86a48f471b637d..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_32x32_fill_lanczos_center_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_2.png b/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_2.png deleted file mode 100644 index bafcec61234fa0785d7935ce63167425fbdc6e76..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/post/getting-started/featured_hub9ee31969f44a6711206a2baf9f065b4_241861_1200x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/post/getting-started/featured_hub9ee31969f44a6711206a2baf9f065b4_241861_1200x0_resize_q90_lanczos.jpg deleted file mode 100644 index ebbd4d280707e060b5b8d8949dbec0f5cb464c00..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/post/getting-started/featured_hub9ee31969f44a6711206a2baf9f065b4_241861_1200x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/post/getting-started/featured_hub9ee31969f44a6711206a2baf9f065b4_241861_150x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/post/getting-started/featured_hub9ee31969f44a6711206a2baf9f065b4_241861_150x0_resize_q90_lanczos.jpg deleted file mode 100644 index 3e864ab42d2a3198e6bbde0f85f3b233d277a178..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/post/getting-started/featured_hub9ee31969f44a6711206a2baf9f065b4_241861_150x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/post/jupyter/featured_hub1daa031c2af6888ff37bd93eb033a1a_71549_150x0_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/post/jupyter/featured_hub1daa031c2af6888ff37bd93eb033a1a_71549_150x0_resize_lanczos_2.png deleted file mode 100644 index 854a21f7564427d13f2c013990d719bee458557e..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/post/jupyter/featured_hub1daa031c2af6888ff37bd93eb033a1a_71549_150x0_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/post/jupyter/featured_hub1daa031c2af6888ff37bd93eb033a1a_71549_720x0_resize_lanczos_2.png b/nemo/exampleSite/resources/_gen/images/post/jupyter/featured_hub1daa031c2af6888ff37bd93eb033a1a_71549_720x0_resize_lanczos_2.png deleted file mode 100644 index c7620e35e3f49e39ea4971a2799b83c05682e9ce..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/post/jupyter/featured_hub1daa031c2af6888ff37bd93eb033a1a_71549_720x0_resize_lanczos_2.png and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/post/writing-technical-content/featured_huc72159e0fc0d14b85f60d34436a630f0_266353_150x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/post/writing-technical-content/featured_huc72159e0fc0d14b85f60d34436a630f0_266353_150x0_resize_q90_lanczos.jpg deleted file mode 100644 index a1dbf36a46db5fd1a156dd61257c1abac96ff7e0..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/post/writing-technical-content/featured_huc72159e0fc0d14b85f60d34436a630f0_266353_150x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/post/writing-technical-content/featured_huc72159e0fc0d14b85f60d34436a630f0_266353_2560x2560_fit_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/post/writing-technical-content/featured_huc72159e0fc0d14b85f60d34436a630f0_266353_2560x2560_fit_q90_lanczos.jpg deleted file mode 100644 index f869c8565490a580916af186727791f35b971a7b..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/post/writing-technical-content/featured_huc72159e0fc0d14b85f60d34436a630f0_266353_2560x2560_fit_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/project/external-project/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_329522_720x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/project/external-project/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_329522_720x0_resize_q90_lanczos.jpg deleted file mode 100644 index 159c91f05b1317f014f2eb558bec9ecb33cffac2..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/project/external-project/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_329522_720x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/project/internal-project/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_224363_720x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/project/internal-project/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_224363_720x0_resize_q90_lanczos.jpg deleted file mode 100644 index 3ea08f17b68d8c1cf846a415fe294e36648f91e0..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/project/internal-project/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_224363_720x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_150x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_150x0_resize_q90_lanczos.jpg deleted file mode 100644 index 502f3d8e86e7bd0ccd503eb5ca7be151419ba9f6..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_150x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_720x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_720x0_resize_q90_lanczos.jpg deleted file mode 100644 index e910552750473c6537beb66289832bc7e119925b..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_720x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_918x517_fill_q90_lanczos_smart1.jpg b/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_918x517_fill_q90_lanczos_smart1.jpg deleted file mode 100644 index 299e8bda34f146ef04ecc4869b5f7f8e26d5e7ff..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/publication/conference-paper/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_312700_918x517_fill_q90_lanczos_smart1.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/publication/journal-article/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_214168_150x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/publication/journal-article/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_214168_150x0_resize_q90_lanczos.jpg deleted file mode 100644 index ebb8cc1c1df0eeb44ed0ecbfbe8a4d2cb5c78a91..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/publication/journal-article/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_214168_150x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/publication/journal-article/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_214168_720x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/publication/journal-article/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_214168_720x0_resize_q90_lanczos.jpg deleted file mode 100644 index 83cc75e4446f1194366d31bd5e9471d7e595560f..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/publication/journal-article/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_214168_720x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/publication/preprint/featured_hu559a5add5185b02575aa8333502ab2cc_220813_150x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/publication/preprint/featured_hu559a5add5185b02575aa8333502ab2cc_220813_150x0_resize_q90_lanczos.jpg deleted file mode 100644 index 2a71a6474858efa53dd4dfda00511107b41fb033..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/publication/preprint/featured_hu559a5add5185b02575aa8333502ab2cc_220813_150x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/publication/preprint/featured_hu559a5add5185b02575aa8333502ab2cc_220813_720x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/publication/preprint/featured_hu559a5add5185b02575aa8333502ab2cc_220813_720x0_resize_q90_lanczos.jpg deleted file mode 100644 index 314b828805bccf72d4bdb0400200ce231b657759..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/publication/preprint/featured_hu559a5add5185b02575aa8333502ab2cc_220813_720x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/talk/example/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_620088_150x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/talk/example/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_620088_150x0_resize_q90_lanczos.jpg deleted file mode 100644 index 24b3412d0f461ebfbb82650c129894933a646df4..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/talk/example/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_620088_150x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/resources/_gen/images/talk/example/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_620088_720x0_resize_q90_lanczos.jpg b/nemo/exampleSite/resources/_gen/images/talk/example/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_620088_720x0_resize_q90_lanczos.jpg deleted file mode 100644 index 43eede811379acd952e0c5c96cc8a9e0941dfca2..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/resources/_gen/images/talk/example/featured_hu3d03a01dcc18bc5be0e67db3d8d209a6_620088_720x0_resize_q90_lanczos.jpg and /dev/null differ diff --git a/nemo/exampleSite/static/img/boards.jpg b/nemo/exampleSite/static/img/boards.jpg deleted file mode 100644 index fdde290f45e7c5f5bcc325ddc5b73d2c6c02152c..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/static/img/boards.jpg and /dev/null differ diff --git a/nemo/exampleSite/static/img/headers/bubbles-wide.jpg b/nemo/exampleSite/static/img/headers/bubbles-wide.jpg deleted file mode 100644 index abacf840597d97d0b098a04c02dd4b759d828ce3..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/static/img/headers/bubbles-wide.jpg and /dev/null differ diff --git a/nemo/exampleSite/static/img/hero-academic.png b/nemo/exampleSite/static/img/hero-academic.png deleted file mode 100644 index 89afaff34b37936339feef97c417281e21b47046..0000000000000000000000000000000000000000 Binary files a/nemo/exampleSite/static/img/hero-academic.png and /dev/null differ diff --git a/nemo/i18n/ca.yaml b/nemo/i18n/ca.yaml deleted file mode 100644 index 0a813bb88825cae5e31984d83494c3a1edf9aa80..0000000000000000000000000000000000000000 --- a/nemo/i18n/ca.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Barra de navegació -- id: table_of_contents - translation: Index -- id: on_this_page - translation: On this page -- id: back_to_top - translation: Back to top -- id: related - translation: Relacionat -- id: minute_read - translation: min de lectura -- id: previous - translation: Anterior -- id: next - translation: Següent -- id: figure - translation: 'Figura %d:' -- id: btn_preprint - translation: Preimpresió -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Cita -- id: btn_slides - translation: Diapositives -- id: btn_video - translation: VÃdeo -- id: btn_code - translation: Códi -- id: btn_dataset - translation: Dades -- id: btn_project - translation: Projecte -- id: btn_poster - translation: Poster -- id: btn_source - translation: Font -- id: btn_copy - translation: Copia -- id: btn_download - translation: Baixa -- id: interests - translation: Interessos -- id: education - translation: Educació -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: See certificate -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: Més entrades -- id: more_talks - translation: Més xerrades -- id: more_publications - translation: Més publicacions -- id: contact_name - translation: Name -- id: contact_email - translation: Email -- id: contact_message - translation: Message -- id: contact_send - translation: Send -- id: book_appointment - translation: Book an appointment -- id: abstract - translation: Resum -- id: publication - translation: Publicació -- id: publication_type - translation: Tipus -- id: date - translation: Data -- id: last_updated - translation: Última actualizació el -- id: event - translation: Event -- id: location - translation: Ubicació -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Obre el lloc del web del projecte -- id: posts - translation: Entrada -- id: publications - translation: Publicació -- id: talks - translation: Conferència -- id: projects - translation: Projectes -- id: search - translation: Search -- id: search_placeholder - translation: Search... -- id: search_results - translation: results found -- id: search_no_results - translation: No results found -- id: page_not_found - translation: No s'ha trobat la pà gina -- id: 404_recommendations - translation: Buscaves alguna d'aquestes? -- id: cookie_message - translation: Aquet lloc web fa servir cookies per garantitzar una millor experiència. -- id: cookie_dismiss - translation: D'acord -- id: cookie_learn - translation: Més informació diff --git a/nemo/i18n/cs.yaml b/nemo/i18n/cs.yaml deleted file mode 100644 index 74753c41305be4085fd8f357def9f383e8f2895d..0000000000000000000000000000000000000000 --- a/nemo/i18n/cs.yaml +++ /dev/null @@ -1,224 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: Toggle navigation - -- id: table_of_contents - translation: Obsah - -- id: on_this_page - translation: Na stránce - -- id: back_to_top - translation: Nahoru - -# General - -- id: related - translation: Related - -- id: minute_read - translation: min read - -- id: previous - translation: PÅ™edchozà - -- id: next - translation: Dalšà - -- id: figure - translation: "Obrázek %d:" - -- id: edit_page - translation: Upravit stránku - -# Buttons - -- id: btn_preprint - translation: Tisk - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: Citace - -- id: btn_slides - translation: Slidy - -- id: btn_video - translation: Video - -- id: btn_code - translation: Kód - -- id: btn_dataset - translation: Dataset - -- id: btn_project - translation: Projekt - -- id: btn_poster - translation: Plakát - -- id: btn_source - translation: Zdrojový dokument - -- id: btn_copy - translation: KopÃrovat - -- id: btn_download - translation: Stáhnout - -# About widget - -- id: interests - translation: Zájmy - -- id: education - translation: VzdÄ›lánà - -- id: user_profile_latest - translation: Nejnověšà - -# Accomplishments widget - -- id: see_certificate - translation: Stáhnout - -# Experience widget - -- id: present - translation: Aktuálnà - -# Pages widget - -- id: more_pages - translation: Zobrazit vÅ¡echny - -- id: more_posts - translation: Zobrazit vÅ¡echny aktualizy - -- id: more_talks - translation: Zobrazit vÅ¡echny pÅ™ednášky - -- id: more_publications - translation: Zobrazit vÅ¡echny publikace - -# Contact widget - -- id: contact_name - translation: Jméno - -- id: contact_email - translation: Email - -- id: contact_message - translation: Zpráva - -- id: contact_send - translation: Poslat - -- id: book_appointment - translation: Rezervovat schůzku - -# Publication/Talk details - -- id: abstract - translation: Abstrakt - -- id: publication - translation: Publikace - -- id: publication_type - translation: Typ - -- id: date - translation: Datum - -- id: last_updated - translation: Naposledy aktualizováno dne - -- id: event - translation: Událost - -- id: location - translation: MÃsto - -- id: pub_uncat - translation: NezaÅ™azeno - -- id: pub_conf - translation: Materiál ke konferenci - -- id: pub_journal - translation: ÄŒlánek v žurnálu - -- id: pub_preprint - translation: Tisk pÅ™edem - -- id: pub_report - translation: Správa - -- id: pub_book - translation: Kniha - -- id: pub_book_section - translation: Sekce knihy - -- id: pub_thesis - translation: Diplomová práce - -- id: pub_patent - translation: Patent - -# Project details - -- id: open_project_site - translation: Na stánku projektu - -# Default titles for archive pages - -- id: posts - translation: Aktuality - -- id: publications - translation: Publikace - -- id: talks - translation: PÅ™ednášky - -- id: projects - translation: Projekty - -# Search - -- id: search - translation: Hledánà - -- id: search_placeholder - translation: HledánÃ... - -- id: search_results - translation: nalezených výsledků - -- id: search_no_results - translation: Nic nelalezeno -# Error 404 - -- id: page_not_found - translation: Stránka neexistuje - -- id: 404_recommendations - translation: Nehledáte náhodou jednu z tÄ›chto stránek? - -# Cookie consent - -- id: cookie_message - translation: Tyto stránky použÃvá cookies k zajiÅ¡tÄ›nà co možná nejlepšà zkuÅ¡enosti na naÅ¡em webu. - -- id: cookie_dismiss - translation: RozumÃm! - -- id: cookie_learn - translation: Zjistit vÃce diff --git a/nemo/i18n/da.yaml b/nemo/i18n/da.yaml deleted file mode 100644 index 4d96a708c12e364a7f5b9daff241ba41a20e323f..0000000000000000000000000000000000000000 --- a/nemo/i18n/da.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Vis/skjul navigation -- id: table_of_contents - translation: Indholdsfortegnelse -- id: on_this_page - translation: PÃ¥ denne side -- id: back_to_top - translation: Til toppen -- id: related - translation: Relaterede -- id: minute_read - translation: min læsning -- id: previous - translation: Forrige -- id: next - translation: Næste -- id: figure - translation: 'Figur %d:' -- id: btn_preprint - translation: Eksempel -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Citer -- id: btn_slides - translation: Præsentation -- id: btn_video - translation: Video -- id: btn_code - translation: Kode -- id: btn_dataset - translation: Datasæt -- id: btn_project - translation: Projekt -- id: btn_poster - translation: Plakat -- id: btn_source - translation: Kilde kode -- id: btn_copy - translation: Kopier -- id: btn_download - translation: Download -- id: interests - translation: Interesser -- id: education - translation: Uddannelse -- id: user_profile_latest - translation: Seneste -- id: see_certificate - translation: Certifikat -- id: present - translation: Nuværende -- id: more_pages - translation: Se alle -- id: more_posts - translation: Se alle indlæg -- id: more_talks - translation: Se alle foredrag -- id: more_publications - translation: Se alle udgivelser -- id: contact_name - translation: Navn -- id: contact_email - translation: Email -- id: contact_message - translation: Besked -- id: contact_send - translation: Send -- id: book_appointment - translation: Reserver en aftale -- id: abstract - translation: Abstrakt -- id: publication - translation: Udgivelse -- id: publication_type - translation: Type -- id: date - translation: Dato -- id: last_updated - translation: Sidst opdateret -- id: event - translation: Begivenhed -- id: location - translation: Lokation -- id: pub_uncat - translation: Ikke katagoriseret -- id: pub_conf - translation: Konference artikel -- id: pub_journal - translation: Videnskablig artikel -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Rapport -- id: pub_book - translation: Bog -- id: pub_book_section - translation: Bøger -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: GÃ¥ til projekt side -- id: posts - translation: Indlæg -- id: publications - translation: Udgivelser -- id: talks - translation: Foredrag -- id: projects - translation: Projekter -- id: search - translation: Søg -- id: search_placeholder - translation: Søg... -- id: search_results - translation: resultater fundet -- id: search_no_results - translation: Ingen resultater fundet -- id: page_not_found - translation: Side blev ikke fundet -- id: 404_recommendations - translation: MÃ¥ske du ledte efter dette? -- id: cookie_message - translation: Denne side benytter cookies for at sikre den bedste oplevelse. -- id: cookie_dismiss - translation: Accepter -- id: cookie_learn - translation: Læs mere diff --git a/nemo/i18n/de.yaml b/nemo/i18n/de.yaml deleted file mode 100644 index 9ee89ea994465c9dabf0ffaa058aebab3b421b3f..0000000000000000000000000000000000000000 --- a/nemo/i18n/de.yaml +++ /dev/null @@ -1,132 +0,0 @@ -- id: toggle_navigation - translation: Navigation einblenden -- id: table_of_contents - translation: Inhaltsverzeichnis -- id: on_this_page - translation: Auf dieser Seite -- id: back_to_top - translation: Zurück zum Anfang -- id: related - translation: Ähnliches -- id: minute_read - translation: min Lesezeit -- id: previous - translation: Zurück -- id: next - translation: Weiter -- id: figure - translation: 'Abbildung %d:' -- id: edit_page - translation: Seite editieren -- id: btn_preprint - translation: Vorabdruck -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Zitieren -- id: btn_slides - translation: Folien -- id: btn_video - translation: Video -- id: btn_code - translation: Code -- id: btn_dataset - translation: Datensatz -- id: btn_project - translation: Projekt -- id: btn_poster - translation: Poster -- id: btn_source - translation: Quelldokument -- id: btn_copy - translation: Kopie -- id: btn_download - translation: Download -- id: interests - translation: Interessen -- id: education - translation: Bildung -- id: user_profile_latest - translation: Aktuellste -- id: see_certificate - translation: Zertifikat anzeigen -- id: present - translation: Aktuell -- id: more_pages - translation: Alle anzeigen -- id: more_posts - translation: Weitere Blogbeiträge -- id: more_talks - translation: Weitere Vorträge -- id: more_publications - translation: Weitere Publikationen -- id: contact_name - translation: Name -- id: contact_email - translation: E-Mail -- id: contact_message - translation: Nachricht -- id: contact_send - translation: Senden -- id: book_appointment - translation: Termin vereinbaren -- id: abstract - translation: Zusammenfassung -- id: publication - translation: Publikation -- id: publication_type - translation: Typ -- id: date - translation: Datum -- id: last_updated - translation: Zuletzt aktualisiert am -- id: event - translation: Veranstaltung -- id: location - translation: Ort -- id: pub_uncat - translation: Unkategorisiert -- id: pub_conf - translation: Konferenzpapier -- id: pub_journal - translation: Journalartikel -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Bericht -- id: pub_book - translation: Buch -- id: pub_book_section - translation: Buchkapitel -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Zur Projektseite -- id: posts - translation: Blog -- id: publications - translation: Publikationen -- id: talks - translation: Vorträge -- id: projects - translation: Projekte -- id: search - translation: Suche -- id: search_placeholder - translation: Suche... -- id: search_results - translation: Suchergebnisse -- id: search_no_results - translation: Nichts gefunden -- id: page_not_found - translation: Seite nicht gefunden -- id: 404_recommendations - translation: Suchen Sie vielleicht nach einer der folgenden Seiten? -- id: cookie_message - translation: Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. -- id: cookie_dismiss - translation: Verstanden! -- id: cookie_learn - translation: Mehr erfahren diff --git a/nemo/i18n/el.yaml b/nemo/i18n/el.yaml deleted file mode 100644 index 4604c8e872780a5acdb249c446902720c0ae92b2..0000000000000000000000000000000000000000 --- a/nemo/i18n/el.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Εναλλαγή πλοήγησης -- id: table_of_contents - translation: Πίνακας πεÏιεχομÎνων -- id: on_this_page - translation: On this page -- id: back_to_top - translation: Back to top -- id: related - translation: Σχετικά -- id: minute_read - translation: λεπτά διαβάσματος -- id: previous - translation: Î ÏοηγοÏμενο -- id: next - translation: Επόμενο -- id: figure - translation: 'Figure %d:' -- id: btn_preprint - translation: Î Ïο-δημοσίευση -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: ΒιβλιογÏαφική αναφοÏά -- id: btn_slides - translation: Διαφάνεια -- id: btn_video - translation: Βίντεο -- id: btn_code - translation: Κώδικας -- id: btn_dataset - translation: ΔεδομÎνα -- id: btn_project - translation: ΕÏευνητικό Ï€ÏόγÏαμμα -- id: btn_poster - translation: Ανακοίνωση συνεδÏίου -- id: btn_source - translation: Πηγαίος κώδικας -- id: btn_copy - translation: ΑντιγÏαφή -- id: btn_download - translation: Λήψη -- id: interests - translation: ΕνδιαφÎÏοντα -- id: education - translation: Εκπαίδευση -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: See certificate -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: ΠεÏισσότεÏες αναÏτήσεις -- id: more_talks - translation: ΠεÏισσότεÏες ομιλίες -- id: more_publications - translation: ΠεÏισσότεÏες δημοσιεÏσεις -- id: contact_name - translation: Name -- id: contact_email - translation: Email -- id: contact_message - translation: Message -- id: contact_send - translation: Send -- id: book_appointment - translation: Book an appointment -- id: abstract - translation: ΠεÏίληψη -- id: publication - translation: Δημοσίευση -- id: publication_type - translation: ΤÏπος -- id: date - translation: ΗμεÏομηνία -- id: last_updated - translation: Τελευταία ενημÎÏωση -- id: event - translation: Συμβάν -- id: location - translation: Τοποθεσία -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Î Ïος ιστοσελίδα εÏÎµÏ…Î½Î·Ï„Î¹ÎºÎ¿Ï Ï€ÏογÏάμματος -- id: posts - translation: ΑναÏτήσεις -- id: publications - translation: ΔημοσιεÏσεις -- id: talks - translation: Ομιλίες -- id: projects - translation: ΕÏευνητικά Ï€ÏογÏάμματα -- id: search - translation: Search -- id: search_placeholder - translation: Search... -- id: search_results - translation: results found -- id: search_no_results - translation: No results found -- id: page_not_found - translation: Η ιστοσελίδα δεν βÏÎθηκε -- id: 404_recommendations - translation: Μήπως ψάχνατε για μια από αυτÎÏ‚; -- id: cookie_message - translation: This website uses cookies to ensure you get the best experience on our website. -- id: cookie_dismiss - translation: Got it! -- id: cookie_learn - translation: Learn more diff --git a/nemo/i18n/en.yaml b/nemo/i18n/en.yaml deleted file mode 100644 index 653ef7dff47f86694ec75cc26d5361baadff8248..0000000000000000000000000000000000000000 --- a/nemo/i18n/en.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: Toggle navigation - -- id: table_of_contents - translation: Table of Contents - -- id: on_this_page - translation: Contents - -- id: back_to_top - translation: Back to top - -# General - -- id: related - translation: Related - -- id: minute_read - translation: min read - -- id: previous - translation: Previous - -- id: next - translation: Next - -- id: figure - translation: "Figure %d:" - -- id: edit_page - translation: Edit this page - -# Buttons - -- id: btn_preprint - translation: Preprint - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: Cite - -- id: btn_slides - translation: Slides - -- id: btn_video - translation: Video - -- id: btn_code - translation: Code - -- id: btn_dataset - translation: Dataset - -- id: btn_project - translation: Project - -- id: btn_poster - translation: Poster - -- id: btn_source - translation: Source Document - -- id: btn_copy - translation: Copy - -- id: btn_download - translation: Download - -# About widget - -- id: interests - translation: Interests - -- id: education - translation: Education - -- id: user_profile_latest - translation: Latest - -# Accomplishments widget - -- id: see_certificate - translation: See certificate - -# Experience widget - -- id: present - translation: Present - -# Pages widget - -- id: more_pages - translation: See all - -- id: more_posts - translation: See all posts - -- id: more_talks - translation: See all talks - -- id: more_publications - translation: See all publications - -# Contact widget - -- id: contact_name - translation: Name - -- id: contact_email - translation: Email - -- id: contact_message - translation: Message - -- id: contact_send - translation: Send - -- id: book_appointment - translation: Book an appointment - -# Publication/Talk details - -- id: abstract - translation: Abstract - -- id: publication - translation: Publication - -- id: publication_type - translation: Type - -- id: date - translation: Date - -- id: last_updated - translation: Last updated on - -- id: event - translation: Event - -- id: location - translation: Location - -- id: pub_uncat - translation: Uncategorized - -- id: pub_conf - translation: Conference paper - -- id: pub_journal - translation: Journal article - -- id: pub_preprint - translation: Preprint - -- id: pub_report - translation: Report - -- id: pub_book - translation: Book - -- id: pub_book_section - translation: Book section - -- id: pub_thesis - translation: Thesis - -- id: pub_patent - translation: Patent - -# Project details - -- id: open_project_site - translation: Go to Project Site - -# Default titles for archive pages - -- id: posts - translation: Posts - -- id: publications - translation: Publications - -- id: talks - translation: Talks - -- id: projects - translation: Projects - -# Search - -- id: search - translation: Search - -- id: search_placeholder - translation: Search... - -- id: search_results - translation: results found - -- id: search_no_results - translation: No results found - -# Error 404 - -- id: page_not_found - translation: Page not found - -- id: 404_recommendations - translation: Perhaps you were looking for one of these? - -# Cookie consent - -- id: cookie_message - translation: This website uses cookies to ensure you get the best experience on our website. - -- id: cookie_dismiss - translation: Got it! - -- id: cookie_learn - translation: Learn more diff --git a/nemo/i18n/es.yaml b/nemo/i18n/es.yaml deleted file mode 100644 index 10b219f4aac6069ad24a22c536e976b0ef9d7ffa..0000000000000000000000000000000000000000 --- a/nemo/i18n/es.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Barra de navegación -- id: table_of_contents - translation: Ãndice -- id: on_this_page - translation: En esta página -- id: back_to_top - translation: Regreso al inicio -- id: related - translation: Relacionado -- id: minute_read - translation: min de lectura -- id: previous - translation: Anterior -- id: next - translation: Siguiente -- id: figure - translation: 'Figura %d:' -- id: btn_preprint - translation: Prepublicación -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Citar -- id: btn_slides - translation: Diapositivas -- id: btn_video - translation: VÃdeo -- id: btn_code - translation: Código fuente -- id: btn_dataset - translation: Datos -- id: btn_project - translation: Proyecto -- id: btn_poster - translation: Poster -- id: btn_source - translation: Documento fuente -- id: btn_copy - translation: Copiar -- id: btn_download - translation: Descargar -- id: interests - translation: Intereses -- id: education - translation: Educación -- id: user_profile_latest - translation: Recientes -- id: see_certificate - translation: Ver certificado -- id: present - translation: Actualmente -- id: more_pages - translation: Ver todo -- id: more_posts - translation: Más posts -- id: more_talks - translation: Más charlas -- id: more_publications - translation: Más publicaciones -- id: contact_name - translation: Nombre -- id: contact_email - translation: Email -- id: contact_message - translation: Mensaje -- id: contact_send - translation: Enviar -- id: book_appointment - translation: Solicitar una cita -- id: abstract - translation: Resumen -- id: publication - translation: Publicación -- id: publication_type - translation: Tipo -- id: date - translation: Fecha -- id: last_updated - translation: Última actualización el -- id: event - translation: Evento -- id: location - translation: Localización -- id: pub_uncat - translation: Sin categorÃa -- id: pub_conf - translation: ArtÃculo de conferencia -- id: pub_journal - translation: ArtÃculo de revista -- id: pub_preprint - translation: Prepublicación -- id: pub_report - translation: Informe -- id: pub_book - translation: Libro -- id: pub_book_section - translation: CapÃtulo de libro -- id: pub_thesis - translation: Tesis -- id: pub_patent - translation: Patente -- id: open_project_site - translation: Ir al sitio del proyecto -- id: posts - translation: Posts -- id: publications - translation: Publicaciones -- id: talks - translation: Charlas -- id: projects - translation: Proyectos -- id: search - translation: Buscar -- id: search_placeholder - translation: Buscar... -- id: search_results - translation: resultados encontrados -- id: search_no_results - translation: No se encontraron resultados -- id: page_not_found - translation: Página no encontrada -- id: 404_recommendations - translation: ¿Buscabas una de éstas? -- id: cookie_message - translation: Este sitio web utiliza cookies para garantizarle una mejor experiencia. -- id: cookie_dismiss - translation: Entendido! -- id: cookie_learn - translation: Más información diff --git a/nemo/i18n/et.yaml b/nemo/i18n/et.yaml deleted file mode 100644 index 2be686aebcaadd786deb3a3e92f68ad3b678223f..0000000000000000000000000000000000000000 --- a/nemo/i18n/et.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: Näita menüüd - -- id: table_of_contents - translation: Sisukord - -- id: on_this_page - translation: Sellel lehel - -- id: back_to_top - translation: Lehe algusse - -# General - -- id: related - translation: Vaata ka - -- id: minute_read - translation: min lugemine - -- id: previous - translation: Tagasi - -- id: next - translation: Edasi - -- id: figure - translation: "Kujutis %d:" - -- id: edit_page - translation: Muuda seda lehte - -# Buttons - -- id: btn_preprint - translation: Eeltrükk - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: Tsiteeri - -- id: btn_slides - translation: Slaidid - -- id: btn_video - translation: Video - -- id: btn_code - translation: Lähtekood - -- id: btn_dataset - translation: Lähteandmed - -- id: btn_project - translation: Projekt - -- id: btn_poster - translation: Poster - -- id: btn_source - translation: Algdokument - -- id: btn_copy - translation: Koopia - -- id: btn_download - translation: Laadi alla - -# About widget - -- id: interests - translation: Huvid - -- id: education - translation: Haridus - -- id: user_profile_latest - translation: Värske - -# Accomplishments widget - -- id: see_certificate - translation: Vaata serti - -# Experience widget - -- id: present - translation: Praegu - -# Pages widget - -- id: more_pages - translation: Näita kõiki - -- id: more_posts - translation: Näita kõiki postitusi - -- id: more_talks - translation: Näita kõiki esinemisi - -- id: more_publications - translation: Näita kõiki väljaandeid - -# Contact widget - -- id: contact_name - translation: Nimi - -- id: contact_email - translation: Meil - -- id: contact_message - translation: Sõnum - -- id: contact_send - translation: Saada - -- id: book_appointment - translation: Lepi kohtumine - -# Publication/Talk details - -- id: abstract - translation: Kokkuvõte - -- id: publication - translation: Väljaanne - -- id: publication_type - translation: Tüüp - -- id: date - translation: Kuupäev - -- id: last_updated - translation: Viimati uuendatud - -- id: event - translation: Sündmus - -- id: location - translation: Asukoht - -- id: pub_uncat - translation: Määramata - -- id: pub_conf - translation: Ettekanne - -- id: pub_journal - translation: Artikkel - -- id: pub_preprint - translation: Eeltrükk - -- id: pub_report - translation: Raport - -- id: pub_book - translation: Raamat - -- id: pub_book_section - translation: Peatükk - -- id: pub_thesis - translation: Väitekiri - -- id: pub_patent - translation: Patent - -# Project details - -- id: open_project_site - translation: Mine projektilehele - -# Default titles for archive pages - -- id: posts - translation: Blogi - -- id: publications - translation: Publikatsioonid - -- id: talks - translation: Esinemised - -- id: projects - translation: Projektid - -# Search - -- id: search - translation: Otsing - -- id: search_placeholder - translation: Otsimine... - -- id: search_results - translation: tulemust - -- id: search_no_results - translation: Tulemusi pole - -# Error 404 - -- id: page_not_found - translation: Lehekülge ei leitud - -- id: 404_recommendations - translation: Äkki mõni neist aitab edasi? - -# Cookie consent - -- id: cookie_message - translation: See veebisait kasutab küpsiseid, et pakkuda sulle isikustatud lehitsemiskogemust. - -- id: cookie_dismiss - translation: Selge! - -- id: cookie_learn - translation: Täpsemalt diff --git a/nemo/i18n/eu.yaml b/nemo/i18n/eu.yaml deleted file mode 100644 index a2c38aad792a206c136e81fda8e582e46aec1a13..0000000000000000000000000000000000000000 --- a/nemo/i18n/eu.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Nabigazio-barra -- id: table_of_contents - translation: Aurkibidea -- id: on_this_page - translation: Orrialde honetan -- id: back_to_top - translation: Hasierara itzuli -- id: related - translation: Erlazionatuta -- id: minute_read - translation: minutuko irakurketa -- id: previous - translation: Aurrekoa -- id: next - translation: Hurrengoa -- id: figure - translation: 'Figura %d:' -- id: btn_preprint - translation: Aurreargitalpena -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Aipuak -- id: btn_slides - translation: Diapositibak -- id: btn_video - translation: Bideoa -- id: btn_code - translation: Kodea -- id: btn_dataset - translation: Datu-sorta -- id: btn_project - translation: Proiektua -- id: btn_poster - translation: Posterra -- id: btn_source - translation: Jatorrizko dokumentua -- id: btn_copy - translation: Kopiatu -- id: btn_download - translation: Deskargatu -- id: interests - translation: Interesak -- id: education - translation: Ikasketak -- id: user_profile_latest - translation: Berriak -- id: see_certificate - translation: Ikusi zertifikatua -- id: present - translation: Gaur egun -- id: more_pages - translation: Dena ikusi -- id: more_posts - translation: Post gehiago -- id: more_talks - translation: Hitzaldi gehiago -- id: more_publications - translation: Argitalpen gehiago -- id: contact_name - translation: Izena -- id: contact_email - translation: Emaila -- id: contact_message - translation: Mezua -- id: contact_send - translation: Bidali -- id: book_appointment - translation: Hitzordua eskatu -- id: abstract - translation: Laburpena -- id: publication - translation: Publikazioa -- id: publication_type - translation: Mota -- id: date - translation: Data -- id: last_updated - translation: Azkenengoz editatua -- id: event - translation: Ekitaldia -- id: location - translation: Kokalekua -- id: pub_uncat - translation: Kategoria gabe -- id: pub_conf - translation: Konferentzia-artikulua -- id: pub_journal - translation: Aldizkari-artikulua -- id: pub_preprint - translation: Aurreargitalpena -- id: pub_report - translation: Txostena -- id: pub_book - translation: Liburua -- id: pub_book_section - translation: Liburu-kapitulua -- id: pub_thesis - translation: Tesia -- id: pub_patent - translation: Patentea -- id: open_project_site - translation: Joan proiektuaren webgunera -- id: posts - translation: Posts -- id: publications - translation: Argitalpenak -- id: talks - translation: Hitzaldiak -- id: projects - translation: Projektuak -- id: search - translation: Bilatu -- id: search_placeholder - translation: Bilatu... -- id: search_results - translation: Bilaketaren emaitzak -- id: search_no_results - translation: Ez da ezer aurkitu -- id: page_not_found - translation: Ezin izan da orrialdea aurkitu -- id: 404_recommendations - translation: Agian hauetako baten bila zenbiltzan? -- id: cookie_message - translation: Webgune honek cookie-ak erabiltzen ditu esperientzia hobea bermatzeko. -- id: cookie_dismiss - translation: Ulertua! -- id: cookie_learn - translation: Informazio gehiago diff --git a/nemo/i18n/fr.yaml b/nemo/i18n/fr.yaml deleted file mode 100644 index c1c61e70b41842ca5ad5893d97caa1caa61161d6..0000000000000000000000000000000000000000 --- a/nemo/i18n/fr.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Ouvrir la barre de navigation -- id: table_of_contents - translation: Table des matières -- id: on_this_page - translation: Dans cette page -- id: back_to_top - translation: Retourner au début -- id: related - translation: Sur le même sujet -- id: minute_read - translation: min de lecture -- id: previous - translation: Précédent -- id: next - translation: Suivant -- id: figure - translation: 'Figure %d:' -- id: btn_preprint - translation: Preprint -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Citation -- id: btn_slides - translation: Diapositives -- id: btn_video - translation: Vidéo -- id: btn_code - translation: Code -- id: btn_dataset - translation: Jeu de données -- id: btn_project - translation: Projet -- id: btn_poster - translation: Poster -- id: btn_source - translation: Document source -- id: btn_copy - translation: Copier -- id: btn_download - translation: Télécharger -- id: interests - translation: Intérêts -- id: education - translation: Formation -- id: user_profile_latest - translation: Récents -- id: see_certificate - translation: Voir certificat -- id: present - translation: Actuellement -- id: more_pages - translation: Voir tout -- id: more_posts - translation: Plus de posts -- id: more_talks - translation: Plus de présentations -- id: more_publications - translation: Plus de publications -- id: contact_name - translation: Nom -- id: contact_email - translation: E-mail -- id: contact_message - translation: Message -- id: contact_send - translation: Envoyer -- id: book_appointment - translation: Demander un rendez-vous -- id: abstract - translation: Résumé -- id: publication - translation: Publication -- id: publication_type - translation: Type -- id: date - translation: Date -- id: last_updated - translation: Dernière mise à jour le -- id: event - translation: Évènement -- id: location - translation: Lieu -- id: pub_uncat - translation: Non catégorisé -- id: pub_conf - translation: Article de conférence -- id: pub_journal - translation: Article de revue -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Rapport -- id: pub_book - translation: Livre -- id: pub_book_section - translation: Chapitre de livre -- id: pub_thesis - translation: Thèse -- id: pub_patent - translation: Brevet -- id: open_project_site - translation: Aller sur le site du projet -- id: posts - translation: Posts -- id: publications - translation: Publications -- id: talks - translation: Présentations -- id: projects - translation: Projets -- id: search - translation: Rechercher -- id: search_placeholder - translation: Recherche... -- id: search_results - translation: Résultats trouvés -- id: search_no_results - translation: Aucun résultat n'a été trouvé -- id: page_not_found - translation: Page non disponible -- id: 404_recommendations - translation: Vous cherchiez peut-être une des pages suivantes ? -- id: cookie_message - translation: Ce site utilise des cookies pour vous assurer la meilleure expérience. -- id: cookie_dismiss - translation: Accepter -- id: cookie_learn - translation: En savoir plus diff --git a/nemo/i18n/hu.yaml b/nemo/i18n/hu.yaml deleted file mode 100644 index da247b2693e8ca212a8bc919c5fe3bd26ede6fd5..0000000000000000000000000000000000000000 --- a/nemo/i18n/hu.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Navigáció -- id: table_of_contents - translation: Tartalomjegyzék -- id: on_this_page - translation: Ezen az oldalon -- id: back_to_top - translation: Vissza felülre -- id: related - translation: Kapcsolódó anyagok -- id: minute_read - translation: perc olvasás -- id: previous - translation: ElÅ‘zÅ‘ -- id: next - translation: KövetkezÅ‘ -- id: figure - translation: '%d. ábra:' -- id: btn_preprint - translation: Megjelenés elÅ‘tt -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Idézet -- id: btn_slides - translation: Diák -- id: btn_video - translation: Videó -- id: btn_code - translation: Kód -- id: btn_dataset - translation: Adatcsomag -- id: btn_project - translation: Projekt -- id: btn_poster - translation: Poszter -- id: btn_source - translation: Forrás dokumentum -- id: btn_copy - translation: Másolat -- id: btn_download - translation: Letöltés -- id: interests - translation: ÉrdeklÅ‘dési terület -- id: education - translation: Tanulmányok -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: Lásd a bizonyÃtányt -- id: present - translation: Jelenleg -- id: more_pages - translation: See all -- id: more_posts - translation: További posztok -- id: more_talks - translation: ElÅ‘adások -- id: more_publications - translation: További publikációk -- id: contact_name - translation: Név -- id: contact_email - translation: Email -- id: contact_message - translation: Üzenet -- id: contact_send - translation: Elküldés -- id: book_appointment - translation: IdÅ‘pont kérése -- id: abstract - translation: Kivonat -- id: publication - translation: Publikáció -- id: publication_type - translation: TÃpus -- id: date - translation: Dátum -- id: last_updated - translation: Utoljára frissÃtve -- id: event - translation: Esemény -- id: location - translation: HelyszÃn -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Tovább a projekt oldalára -- id: posts - translation: Posztok -- id: publications - translation: Publikációk -- id: talks - translation: ElÅ‘adások -- id: projects - translation: Projektek -- id: search - translation: Keresés -- id: search_placeholder - translation: Keresés... -- id: search_results - translation: találat -- id: search_no_results - translation: Nincsen találat -- id: page_not_found - translation: Az oldal nem található -- id: 404_recommendations - translation: Esetleg ezeket kereste? -- id: cookie_message - translation: Ez az oldal a legjobb felhasználói élmény érdekében sütiket használ. -- id: cookie_dismiss - translation: Rendben -- id: cookie_learn - translation: További információk diff --git a/nemo/i18n/id.yaml b/nemo/i18n/id.yaml deleted file mode 100644 index 472df6a779ec0a4b75adf1b5ec6f7bf7de2fe2ec..0000000000000000000000000000000000000000 --- a/nemo/i18n/id.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Buka navigasi -- id: table_of_contents - translation: Daftar isi -- id: on_this_page - translation: On this page -- id: back_to_top - translation: Back to top -- id: related - translation: Terkait -- id: minute_read - translation: menit untuk membaca -- id: previous - translation: Sebelumnya -- id: next - translation: Selanjutnya -- id: figure - translation: 'Figure %d:' -- id: btn_preprint - translation: Pracetak -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Sitasi -- id: btn_slides - translation: Presentasi -- id: btn_video - translation: Video -- id: btn_code - translation: Skrip Kode -- id: btn_dataset - translation: Dataset -- id: btn_project - translation: Proyek -- id: btn_poster - translation: Poster -- id: btn_source - translation: Sumber dokumen -- id: btn_copy - translation: Salin -- id: btn_download - translation: Unduh -- id: interests - translation: Minat -- id: education - translation: Pendidikan -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: See certificate -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: Tulisan lainnya -- id: more_talks - translation: Presentasi lainnya -- id: more_publications - translation: Publikasi lainnya -- id: contact_name - translation: Name -- id: contact_email - translation: Email -- id: contact_message - translation: Message -- id: contact_send - translation: Send -- id: book_appointment - translation: Book an appointment -- id: abstract - translation: Abstrak -- id: publication - translation: Publikasi -- id: publication_type - translation: Jenis -- id: date - translation: Tanggal -- id: last_updated - translation: Terakhir diperbaharui -- id: event - translation: Acara -- id: location - translation: Lokasi -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Ke laman proyek -- id: posts - translation: Tulisan -- id: publications - translation: Publikasi -- id: talks - translation: Presentasi -- id: projects - translation: Proyek -- id: search - translation: Search -- id: search_placeholder - translation: Search... -- id: search_results - translation: results found -- id: search_no_results - translation: No results found -- id: page_not_found - translation: Laman tidak ditemukan -- id: 404_recommendations - translation: Apakah ini yang Anda cari? -- id: cookie_message - translation: This website uses cookies to ensure you get the best experience on our website. -- id: cookie_dismiss - translation: Got it! -- id: cookie_learn - translation: Learn more diff --git a/nemo/i18n/it.yaml b/nemo/i18n/it.yaml deleted file mode 100644 index 3e803177f74c60cde6b9a5fbaa395fd5e727c7a4..0000000000000000000000000000000000000000 --- a/nemo/i18n/it.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Attiva la navigazione -- id: table_of_contents - translation: Indice dei Contenuti -- id: on_this_page - translation: In questa pagina -- id: back_to_top - translation: Torna su -- id: related - translation: Correlato -- id: minute_read - translation: minuti -- id: previous - translation: Precedente -- id: next - translation: Prossimo -- id: figure - translation: 'Immagine %d:' -- id: btn_preprint - translation: Preprint -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Citazione -- id: btn_slides - translation: Slides -- id: btn_video - translation: Video -- id: btn_code - translation: Codice -- id: btn_dataset - translation: Dataset -- id: btn_project - translation: Progetti -- id: btn_poster - translation: Poster -- id: btn_source - translation: Sorgente -- id: btn_copy - translation: Copia -- id: btn_download - translation: Download -- id: interests - translation: Interessi -- id: education - translation: Formazione -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: Guarda il certificato -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: Altri Post -- id: more_talks - translation: Altre Conferenze -- id: more_publications - translation: Altre pubblicazioni -- id: contact_name - translation: Nome -- id: contact_email - translation: Email -- id: contact_message - translation: Messaggio -- id: contact_send - translation: Invio -- id: book_appointment - translation: Richiedi un appuntamento -- id: abstract - translation: Abstract -- id: publication - translation: Publicazione -- id: publication_type - translation: Tipo -- id: date - translation: Data -- id: last_updated - translation: Aggiornato il -- id: event - translation: Evento -- id: location - translation: Luogo -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Libro -- id: pub_book_section - translation: Sezione Libro -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Apri il sito del Progetto -- id: posts - translation: Post -- id: publications - translation: Pubblicazioni -- id: talks - translation: Conferenze -- id: projects - translation: Progetti -- id: search - translation: Cerca -- id: search_placeholder - translation: Cerca... -- id: search_results - translation: Risultati della ricerca -- id: search_no_results - translation: Nessun risultato -- id: page_not_found - translation: Pagina non trovata -- id: 404_recommendations - translation: Forse stavate carcando uno di questi? -- id: cookie_message - translation: Questo sito usa i cookies per garantire la migliore esperienza di navigazione. -- id: cookie_dismiss - translation: Ok! -- id: cookie_learn - translation: Leggi i dettagli diff --git a/nemo/i18n/ja.yaml b/nemo/i18n/ja.yaml deleted file mode 100644 index 27f3be03ad7b40542e4892d733c521619fcb895c..0000000000000000000000000000000000000000 --- a/nemo/i18n/ja.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: ナビゲーションã®åˆ‡ã‚Šæ›¿ãˆ -- id: table_of_contents - translation: 目次 -- id: on_this_page - translation: On this page -- id: back_to_top - translation: Back to top -- id: related - translation: é–¢é€£é …ç›® -- id: minute_read - translation: 分ã§èªã‚ã‚‹ -- id: previous - translation: å‰ã¸ -- id: next - translation: 次㸠-- id: figure - translation: '図 %d:' -- id: btn_preprint - translation: プレプリント -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: 引用 -- id: btn_slides - translation: スライド -- id: btn_video - translation: å‹•ç”» -- id: btn_code - translation: コード -- id: btn_dataset - translation: データセット -- id: btn_project - translation: プãƒã‚¸ã‚§ã‚¯ãƒˆ -- id: btn_poster - translation: ãƒã‚¹ã‚¿ãƒ¼ -- id: btn_source - translation: ソース -- id: btn_copy - translation: コピー -- id: btn_download - translation: ダウンãƒãƒ¼ãƒ‰ -- id: interests - translation: 興味・関心 -- id: education - translation: 妿´ -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: See certificate -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: 投稿一覧 -- id: more_talks - translation: 登壇一覧 -- id: more_publications - translation: 発表文献一覧 -- id: contact_name - translation: Name -- id: contact_email - translation: Email -- id: contact_message - translation: Message -- id: contact_send - translation: Send -- id: book_appointment - translation: Book an appointment -- id: abstract - translation: æ¦‚è¦ -- id: publication - translation: åŽéŒ² -- id: publication_type - translation: タイプ -- id: date - translation: 日付 -- id: last_updated - translation: 最終更新 -- id: event - translation: イベント -- id: location - translation: å ´æ‰€ -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: プãƒã‚¸ã‚§ã‚¯ãƒˆã®ã‚µã‚¤ãƒˆã¸ -- id: posts - translation: 投稿 -- id: publications - translation: 発表文献 -- id: talks - translation: 登壇 -- id: projects - translation: プãƒã‚¸ã‚§ã‚¯ãƒˆ -- id: search - translation: Search -- id: search_placeholder - translation: 検索... -- id: search_results - translation: results found -- id: search_no_results - translation: çµæžœãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—㟠-- id: page_not_found - translation: ページãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—㟠-- id: 404_recommendations - translation: ã‚ãªãŸãŒæŽ¢ã—ã¦ã„ã‚‹ã‚‚ã®ã¯ã“れらã®ä¸ã«ã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“ -- id: cookie_message - translation: ã“ã®ã‚¦ã‚§ãƒ–サイトã¯ã‚ãªãŸãŒæœ€é«˜ã®ä½“験を得るãŸã‚ã«ã‚¯ãƒƒã‚ーを使用ã—ã¾ã™ã€‚ -- id: cookie_dismiss - translation: ã¯ã„ -- id: cookie_learn - translation: 詳細を見る diff --git a/nemo/i18n/km.yaml b/nemo/i18n/km.yaml deleted file mode 100644 index 3e1b1e26b6714783ba2fa2045c483551b29c40d8..0000000000000000000000000000000000000000 --- a/nemo/i18n/km.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: បិទ/បើក នាវាចរណ០- -- id: table_of_contents - translation: ážáž¶ážšáž¶áž„មាážáž·áž€áž¶ - -- id: on_this_page - translation: នៅក្នុងទំពáŸážšáž“áŸáŸ‡ - -- id: back_to_top - translation: ទៅážáž¶áž„លើទំពáŸážš - -# General - -- id: related - translation: ភាសាážáŸ’មែរ - -- id: minute_read - translation: áž–áŸáž›áž…ំណាយអាន - -- id: previous - translation: ផ្នែកមុន - -- id: next - translation: ផ្នែកបន្ទាប់ - -- id: figure - translation: 'រូប %d:' - -- id: edit_page - translation: កែប្រែទំពáŸážš - -# Buttons - -- id: btn_preprint - translation: ប៊ូážáž»áž„បោះពុម្ព - -- id: btn_pdf - translation: ប៊ូážáž»áž„PDF - -- id: btn_cite - translation: ប៊ូážáž»áž„ដកស្រង់ - -- id: btn_slides - translation: ប៊ូážáž»áž„ស្លាយ - -- id: btn_video - translation: ប៊ូážáž»áž„វីដáŸáž¢áž¼ - -- id: btn_code - translation: ប៊ូážáž»áž„កូដ - -- id: btn_dataset - translation: ប៊ូážáž»áž„ទិន្ននáŸáž™ - -- id: btn_project - translation: ប៊ូážáž»áž„គម្រោង - -- id: btn_poster - translation: ប៊ូážáž»áž„áž”áŸážŽáŸ’ណប្រកាស - -- id: btn_source - translation: ប៊ូážáž»áž„ប្រភព - -- id: btn_copy - translation: ប៊ូážáž»áž„ចម្លង - -- id: btn_download - translation: ប៊ូážáž»áž„ទាញយក - -# About widget - -- id: interests - translation: ចំណាប់អារម្មណ០- -- id: education - translation: កម្រិážáž€áž¶ážšážŸáž·áž€áŸ’សា - -- id: user_profile_latest - translation: ប្រវážáŸ’ážáž·ážšáž¼áž”ចុងក្រោយបង្អស់ - -# Accomplishments widget - -- id: see_certificate - translation: វិញ្ញាបនបážáŸ’ážš - -# Experience widget - -- id: present - translation: បច្ចុប្បន្ន - -# Pages widget - -- id: more_pages - translation: ទំពáŸážšáž…្រើនទៀហ- -- id: more_posts - translation: ប៉ុស្ដិáŸáž…្រើនទៀហ- -- id: more_talks - translation: សុន្ទរកážáž¶áž…្រើនទៀហ- -- id: more_publications - translation: ការបោះពុម្ពផ្សាយច្រើនទៀហ- -# Contact widget - -- id: contact_name - translation: ឈ្មោះ​ - -- id: contact_email - translation: អាសáŸáž™â€‹ážŠáŸ’ឋាន​អ៊ី​ម៉áŸâ€‹áž› - -- id: contact_message - translation: ​សារអ៊ី​ម៉áŸâ€‹áž› - -- id: contact_send - translation: ផ្ញើអ៊ីមែល - -- id: book_appointment - translation: កក់ការណាážáŸ‹áž‡áž½áž” - -# Publication/Talk details - -- id: abstract - translation: របាយការណ០- -- id: publication - translation: ការបោះពុម្ពផ្សាយ - -- id: publication_type - translation: ប្រភáŸáž‘ការបោះពុម្ពផ្សាយ - -- id: date - translation: កាលបរិច្ឆáŸáž‘ - -- id: last_updated - translation: ការធ្វើឱ្យទាន់សមáŸáž™áž…ុងក្រោយបង្អស់ - -- id: event - translation: ព្រឹážáŸ’ážáž·áž€áž¶ážšážŽáŸ - -- id: location - translation: ទីážáž¶áŸ†áž„ - -- id: pub_uncat - translation: គ្មានប្រភáŸáž‘ - -- id: pub_conf - translation: សន្និសិទ - -- id: pub_journal - translation: ទិនានុប្បវážáŸ’ážáž· - -- id: pub_preprint - translation: បោះពុម្ព - -- id: pub_report - translation: របាយការណ០- -- id: pub_book - translation: សៀវភៅបោះពុម្ព - -- id: pub_book_section - translation: ផ្នែកសៀវភៅ - -- id: pub_thesis - translation: និក្ážáŸáž”បទ - -- id: pub_patent - translation: ប៉ាážáž„់ - -# Project details - -- id: open_project_site - translation: គម្រោងបើក - -# Default titles for archive pages - -- id: posts - translation: ប៉ុស្ដិ០- -- id: publications - translation: ការបោះពុម្ពផ្សាយ - -- id: talks - translation: សុន្ទរកážáž¶ - -- id: projects - translation: គម្រោង - -# Search - -- id: search - translation: ស្វែងរក - -- id: search_placeholder - translation: កន្លែងស្វែងរក - -- id: search_results - translation: លទ្ធផលស្វែងរក - -- id: search_no_results - translation: ស្វែងរកគ្មានលទ្ធផល - -# Error 404 - -- id: page_not_found - translation: ទំពáŸážšážšáž€â€‹áž˜áž·áž“​ឃើញ - -- id: 404_recommendations - translation: 404_អនុសាសន០- -# Cookie consent - -- id: cookie_message - translation: សារážáž¼ážƒáž¸ - -- id: cookie_dismiss - translation: ážáž¼ážƒáž¸áž”ណ្ážáŸáž‰áž…áŸáž‰ - -- id: cookie_learn - translation: ážáž¼ážƒáž¸ážšáŸ€áž“ diff --git a/nemo/i18n/ko.yaml b/nemo/i18n/ko.yaml deleted file mode 100644 index 1afb2b7e2c2b9486891157774551796d4dc26ff4..0000000000000000000000000000000000000000 --- a/nemo/i18n/ko.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: 네비게ì´ì…˜ -- id: table_of_contents - translation: 차례 -- id: on_this_page - translation: ì´ íŽ˜ì´ì§€ -- id: back_to_top - translation: 맨 위로 -- id: related - translation: ê´€ë ¨ë¬¸ì„œ -- id: minute_read - translation: ë¶„ ì½ê¸° -- id: previous - translation: ì´ì „ -- id: next - translation: ë‹¤ìŒ -- id: figure - translation: '그림 %d:' -- id: btn_preprint - translation: ì¶œíŒ ì „ 논문 -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: ì¸ìš© -- id: btn_slides - translation: 발표ìžë£Œ -- id: btn_video - translation: 비디오 -- id: btn_code - translation: 소스코드 -- id: btn_dataset - translation: ë°ì´í„°ì…‹ -- id: btn_project - translation: 프로ì 트 -- id: btn_poster - translation: í¬ìŠ¤í„° -- id: btn_source - translation: ì›ë³¸ë¬¸ì„œ -- id: btn_copy - translation: 복사 -- id: btn_download - translation: 다운로드 -- id: interests - translation: 관심분야 -- id: education - translation: 학위 -- id: user_profile_latest - translation: ìµœì‹ -- id: see_certificate - translation: ì¦ì„œ 보기 -- id: present - translation: 현재 -- id: more_pages - translation: ì „ì²´ 보기 -- id: more_posts - translation: í¬ìŠ¤íŠ¸ ë” ë³´ê¸° -- id: more_talks - translation: ê°•ì—° ë” ë³´ê¸° -- id: more_publications - translation: 논문 ë” ë³´ê¸° -- id: contact_name - translation: ì´ë¦„ -- id: contact_email - translation: ì´ë©”ì¼ -- id: contact_message - translation: 메시지 -- id: contact_send - translation: 보내기 -- id: book_appointment - translation: ì¼ì • ì•½ì† -- id: abstract - translation: ì´ˆë¡ -- id: publication - translation: 발행기관 -- id: publication_type - translation: ì¶œíŒìœ 형 -- id: date - translation: ë‚ ì§œ -- id: last_updated - translation: 마지막 ì—…ë°ì´íЏ -- id: event - translation: ì´ë²¤íЏ -- id: location - translation: 장소 -- id: pub_uncat - translation: 분류ë˜ì§€ ì•ŠìŒ -- id: pub_conf - translation: í•™ìˆ ëŒ€íšŒ 논문 -- id: pub_journal - translation: ì €ë„ ë…¼ë¬¸ -- id: pub_preprint - translation: ì¶œíŒ ì „ 논문 -- id: pub_report - translation: ë³´ê³ ì„œ -- id: pub_book - translation: ë„서 -- id: pub_book_section - translation: ì±… 소개 ë©´ -- id: pub_thesis - translation: 졸업 논문 -- id: pub_patent - translation: 특허 -- id: open_project_site - translation: 프로ì 트 사ì´íЏ 열기 -- id: posts - translation: í¬ìŠ¤íŠ¸ -- id: publications - translation: 논문 -- id: talks - translation: ê°•ì—° -- id: projects - translation: 프로ì 트 -- id: search - translation: 검색 -- id: search_placeholder - translation: 검색... -- id: search_results - translation: 검색 ê²°ê³¼ -- id: search_no_results - translation: 검색 ê²°ê³¼ ì—†ìŒ -- id: page_not_found - translation: 페ì´ì§€ ì—†ìŒ -- id: 404_recommendations - translation: ì´ ì¤‘ì— ì°¾ëŠ”ê²Œ 있나요? -- id: cookie_message - translation: ì´ ì‚¬ì´íŠ¸ëŠ” 최ì í™”ëœ ì‚¬ìš© ê²½í—˜ì„ ì œê³µí•˜ê¸° 위해 ì¿ í‚¤ë¥¼ 사용합니다. -- id: cookie_dismiss - translation: ì•Œê² ì–´! -- id: cookie_learn - translation: ë” ì•Œì•„ë³´ê¸° diff --git a/nemo/i18n/lv.yaml b/nemo/i18n/lv.yaml deleted file mode 100644 index 27d136b8ae68af5c2dd275ac9f42415d4625e94c..0000000000000000000000000000000000000000 --- a/nemo/i18n/lv.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: PÄrslÄ“gt navigÄciju - -- id: table_of_contents - translation: Satura rÄdÄ«tÄjs - -- id: on_this_page - translation: Å ajÄ lapÄ - -- id: back_to_top - translation: Uz augÅ¡u - -# General - -- id: related - translation: LÄ«dzÄ«gi - -- id: minute_read - translation: minÅ«tes lasīšanai - -- id: previous - translation: Atpakaļ - -- id: next - translation: Uz priekÅ¡u - -- id: figure - translation: "AttÄ“ls %d:" - -- id: edit_page - translation: Rediģēt Å¡o lapu - -# Buttons - -- id: btn_preprint - translation: Preprints - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: CitÄ“t - -- id: btn_slides - translation: Slaidi - -- id: btn_video - translation: Video - -- id: btn_code - translation: Kods - -- id: btn_dataset - translation: Datu kopa - -- id: btn_project - translation: Projekts - -- id: btn_poster - translation: PlakÄts - -- id: btn_source - translation: Pirmavots - -- id: btn_copy - translation: Kopija - -- id: btn_download - translation: LejupielÄdÄ“t - -# About widget - -- id: interests - translation: Intereses - -- id: education - translation: IzglÄ«tÄ«ba - -- id: user_profile_latest - translation: JaunÄkais - -# Accomplishments widget - -- id: see_certificate - translation: SkatÄ«t sertifikÄtu - -# Experience widget - -- id: present - translation: Å obrÄ«d - -# Pages widget - -- id: more_pages - translation: SkatÄ«t visu - -- id: more_posts - translation: SkatÄ«t visus rakstus - -- id: more_talks - translation: SkatÄ«t visas runas - -- id: more_publications - translation: SkatÄ«t visas publikÄcijas - -# Contact widget - -- id: contact_name - translation: VÄrds - -- id: contact_email - translation: E-pasts - -- id: contact_message - translation: Teksts - -- id: contact_send - translation: NosÅ«tÄ«t - -- id: book_appointment - translation: Pieteikt tikÅ¡anos - -# Publication/Talk details - -- id: abstract - translation: Kopsavilkums - -- id: publication - translation: PublikÄcija - -- id: publication_type - translation: Veids - -- id: date - translation: Datums - -- id: last_updated - translation: PÄ“dÄ“jais atjauninÄjums - -- id: event - translation: Notikums - -- id: location - translation: Vieta - -- id: pub_uncat - translation: Bez kategorijas - -- id: pub_conf - translation: UzstÄÅ¡anÄs konferencÄ“ - -- id: pub_journal - translation: Raksts žurnÄlÄ - -- id: pub_preprint - translation: Novilkums - -- id: pub_report - translation: Ziņojums - -- id: pub_book - translation: GrÄmata - -- id: pub_book_section - translation: GrÄmatas nodaļa - -- id: pub_thesis - translation: DisertÄcija - -- id: pub_patent - translation: Patents - -# Project details - -- id: open_project_site - translation: PÄriet pie projekta lapas - -# Default titles for archive pages - -- id: posts - translation: Blogs - -- id: publications - translation: PublikÄcijas - -- id: talks - translation: Runas - -- id: projects - translation: Projekti - -# Search - -- id: search - translation: MeklÄ“t - -- id: search_placeholder - translation: MeklÄ“t... - -- id: search_results - translation: rezultÄti - -- id: search_no_results - translation: Nekas nav atrasts - -# Error 404 - -- id: page_not_found - translation: Lapa nav atrasta - -- id: 404_recommendations - translation: IespÄ“jams, meklÄ“jÄt kÄdu no Å¡iem ierakstiem? - -# Cookie consent - -- id: cookie_message - translation: Å Ä« vietne izmanto sÄ«kdatnes, lai nodroÅ¡inÄtu Jums vislabÄko pieredzi mÅ«su vietnÄ“. - -- id: cookie_dismiss - translation: Sapratu! - -- id: cookie_learn - translation: UzzinÄt vairÄk \ No newline at end of file diff --git a/nemo/i18n/nl.yaml b/nemo/i18n/nl.yaml deleted file mode 100644 index e264516db000719f376a9fdb59d104d205f2fef9..0000000000000000000000000000000000000000 --- a/nemo/i18n/nl.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Navigatiebalk -- id: table_of_contents - translation: Table of Contents -- id: on_this_page - translation: On this page -- id: back_to_top - translation: Back to top -- id: related - translation: Related -- id: minute_read - translation: min read -- id: previous - translation: Previous -- id: next - translation: Next -- id: figure - translation: 'Figure %d:' -- id: btn_preprint - translation: Preprint -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Cite -- id: btn_slides - translation: Dia's -- id: btn_video - translation: Video -- id: btn_code - translation: Code -- id: btn_dataset - translation: Dataset -- id: btn_project - translation: Project -- id: btn_poster - translation: Poster -- id: btn_source - translation: Source Document -- id: btn_copy - translation: Copy -- id: btn_download - translation: Download -- id: interests - translation: Interesses -- id: education - translation: Educatie -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: See certificate -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: Meer Berichten -- id: more_talks - translation: Meer Presentaties -- id: more_publications - translation: Meer Publicaties -- id: contact_name - translation: Name -- id: contact_email - translation: Email -- id: contact_message - translation: Message -- id: contact_send - translation: Send -- id: book_appointment - translation: Book an appointment -- id: abstract - translation: Korte inhoud -- id: publication - translation: Publicatie -- id: publication_type - translation: Type -- id: date - translation: Datum -- id: last_updated - translation: Last updated on -- id: event - translation: Evenement -- id: location - translation: Locatie -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Ga naar Projecten pagina -- id: posts - translation: Berichten -- id: publications - translation: Publicaties -- id: talks - translation: Presentaties -- id: projects - translation: Projects -- id: search - translation: Search -- id: search_placeholder - translation: Search... -- id: search_results - translation: results found -- id: search_no_results - translation: No results found -- id: page_not_found - translation: Page not found -- id: 404_recommendations - translation: Perhaps you were looking for one of these? -- id: cookie_message - translation: This website uses cookies to ensure you get the best experience on our website. -- id: cookie_dismiss - translation: Got it! -- id: cookie_learn - translation: Learn more diff --git a/nemo/i18n/pl.yaml b/nemo/i18n/pl.yaml deleted file mode 100644 index db5f75af114894cd0007caa96d50e3f3a44cbb43..0000000000000000000000000000000000000000 --- a/nemo/i18n/pl.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Włącz/Wyłącz nawigacjÄ™ -- id: table_of_contents - translation: Spis treÅ›ci -- id: on_this_page - translation: Na tej stronie -- id: back_to_top - translation: Powrót do góry -- id: related - translation: PowiÄ…zane -- id: minute_read - translation: min czytania -- id: previous - translation: Poprzedni -- id: next - translation: NastÄ™pny -- id: figure - translation: 'Figura %d:' -- id: btn_preprint - translation: Preprint -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Cytowanie -- id: btn_slides - translation: Slajdy -- id: btn_video - translation: Wideo -- id: btn_code - translation: Kod -- id: btn_dataset - translation: Dane -- id: btn_project - translation: Projekt -- id: btn_poster - translation: Poster -- id: btn_source - translation: Dokument źródÅ‚owy -- id: btn_copy - translation: Kopia -- id: btn_download - translation: Pobierz -- id: interests - translation: Zainteresowania -- id: education - translation: WyksztaÅ‚cenie -- id: user_profile_latest - translation: Ostatnie -- id: see_certificate - translation: Zobacz certyfikat -- id: present - translation: Obecnie -- id: more_pages - translation: Wszystkie -- id: more_posts - translation: WiÄ™cej postów -- id: more_talks - translation: WiÄ™cej wystÄ…pieÅ„ -- id: more_publications - translation: WiÄ™cej publikacji -- id: contact_name - translation: ImiÄ™ i nazwisko -- id: contact_email - translation: Adres email -- id: contact_message - translation: Wiadomość -- id: contact_send - translation: WyÅ›lij -- id: book_appointment - translation: Umów spotkanie -- id: abstract - translation: Streszczenie -- id: publication - translation: Publikacja -- id: publication_type - translation: Rodzaj -- id: date - translation: Data -- id: last_updated - translation: Ostatnia aktualizacja -- id: event - translation: Wydarzenie -- id: location - translation: Miejsce -- id: pub_uncat - translation: Nieskategoryzowany -- id: pub_conf - translation: Prezentacja z konferencji -- id: pub_journal - translation: ArtykuÅ‚ w czasopiÅ›mie -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Raport -- id: pub_book - translation: Książka -- id: pub_book_section - translation: RozdziaÅ‚ książki -- id: pub_thesis - translation: Praca dyplomowa -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Idź do strony projektu -- id: posts - translation: Posty -- id: publications - translation: Publikacje -- id: talks - translation: WystÄ…pienia -- id: projects - translation: Projekty -- id: search - translation: Szukaj -- id: search_placeholder - translation: Szukaj... -- id: search_results - translation: wyników -- id: search_no_results - translation: Brak wyników -- id: page_not_found - translation: Strona nie znaleziona -- id: 404_recommendations - translation: Podobne strony -- id: cookie_message - translation: Ta strona używa ciasteczek do poprawnego dziaÅ‚ania strony. -- id: cookie_dismiss - translation: ZrozumiaÅ‚em! -- id: cookie_learn - translation: Dlaczego? diff --git a/nemo/i18n/pt.yaml b/nemo/i18n/pt.yaml deleted file mode 100644 index 8275ba8c9c21f557d7c6c9e28495d257aa0a0d17..0000000000000000000000000000000000000000 --- a/nemo/i18n/pt.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Alterar navegação -- id: table_of_contents - translation: Lista de Conteúdos -- id: on_this_page - translation: Nesta página -- id: back_to_top - translation: Voltar para o topo -- id: related - translation: Relacionados -- id: minute_read - translation: minutos de leitura -- id: previous - translation: Anterior -- id: next - translation: Próximo -- id: figure - translation: 'Figura %d:' -- id: btn_preprint - translation: Pré-impressão -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Citação -- id: btn_slides - translation: Slides -- id: btn_video - translation: VÃdeo -- id: btn_code - translation: Código -- id: btn_dataset - translation: Dados -- id: btn_project - translation: Projeto -- id: btn_poster - translation: Pôster -- id: btn_source - translation: Documento Fonte -- id: btn_copy - translation: Copiar -- id: btn_download - translation: Download -- id: interests - translation: Interesses -- id: education - translation: Formação -- id: user_profile_latest - translation: Recentes -- id: see_certificate - translation: Ver certificado -- id: present - translation: Presente -- id: more_pages - translation: Ver todas -- id: more_posts - translation: Mais Posts -- id: more_talks - translation: Mais Palestras -- id: more_publications - translation: Mais Publicações -- id: contact_name - translation: Nome -- id: contact_email - translation: Email -- id: contact_message - translation: Mensagem -- id: contact_send - translation: Enviar -- id: book_appointment - translation: Agendar um horário -- id: abstract - translation: Resumo -- id: publication - translation: Publicação -- id: publication_type - translation: Tipo -- id: date - translation: Data -- id: last_updated - translation: Última atualização em -- id: event - translation: Evento -- id: location - translation: Local -- id: pub_uncat - translation: Sem categoria -- id: pub_conf - translation: Artigo de conferência -- id: pub_journal - translation: Artigo de revista -- id: pub_preprint - translation: Pré-impressão -- id: pub_report - translation: Relatório -- id: pub_book - translation: Livro -- id: pub_book_section - translation: Seção de livro -- id: pub_thesis - translation: Tese -- id: pub_patent - translation: Patente -- id: open_project_site - translation: Ir para o site do projeto -- id: posts - translation: Posts -- id: publications - translation: Publicações -- id: talks - translation: Palestras -- id: projects - translation: Projetos -- id: search - translation: Pesquisar -- id: search_placeholder - translation: Pesquisar... -- id: search_results - translation: Resultados encontrados -- id: search_no_results - translation: Sem resultados -- id: page_not_found - translation: Página não encontrada -- id: 404_recommendations - translation: Você está procurando por um desses? -- id: cookie_message - translation: Este site contém cookies para garantir que você tenha a melhor experência. -- id: cookie_dismiss - translation: Entendi! -- id: cookie_learn - translation: Saiba mais diff --git a/nemo/i18n/ro.yaml b/nemo/i18n/ro.yaml deleted file mode 100644 index b60b5b21262a9e629b8ead8ebc434a4ee0898839..0000000000000000000000000000000000000000 --- a/nemo/i18n/ro.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Bara de navigare -- id: table_of_contents - translation: Indice -- id: on_this_page - translation: Pe această pagină -- id: back_to_top - translation: ÃŽnapoi la început -- id: related - translation: ÃŽnrudit -- id: minute_read - translation: min de citire -- id: previous - translation: Anterioară -- id: next - translation: Următor -- id: figure - translation: 'Imagine %d:' -- id: btn_preprint - translation: Preimprimare -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Citat -- id: btn_slides - translation: Diapozitive -- id: btn_video - translation: VÃdeo -- id: btn_code - translation: Cod -- id: btn_dataset - translation: Date -- id: btn_project - translation: Proiect -- id: btn_poster - translation: Poster -- id: btn_source - translation: Sursa document -- id: btn_copy - translation: Copie -- id: btn_download - translation: Descărcare -- id: interests - translation: Interese -- id: education - translation: EducaÈ›ie -- id: user_profile_latest - translation: Recent -- id: see_certificate - translation: Vezi certificatul -- id: present - translation: ÃŽn prezent -- id: more_pages - translation: Vezi tot -- id: more_posts - translation: Mai multe postări -- id: more_talks - translation: Mai multe discuÈ›ii -- id: more_publications - translation: Mai multe publicaÈ›ii -- id: contact_name - translation: Nume -- id: contact_email - translation: Email -- id: contact_message - translation: Mesaj -- id: contact_send - translation: TrimiteÈ›i -- id: book_appointment - translation: SolicitaÈ›i o întâlnire -- id: abstract - translation: Rezumat -- id: publication - translation: PublicaÈ›ie -- id: publication_type - translation: Tip -- id: date - translation: Data -- id: last_updated - translation: Ultima actualizare la -- id: event - translation: Eveniment -- id: location - translation: Localizare -- id: pub_uncat - translation: Fără categorie -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Articol jurnal -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Carte -- id: pub_book_section - translation: SecÈ›iunea cărÈ›i -- id: pub_thesis - translation: Teza -- id: pub_patent - translation: Brevet de invenÈ›ie -- id: open_project_site - translation: AccesaÈ›i site-ul proiectului -- id: posts - translation: Articole -- id: publications - translation: PublicaÈ›ii -- id: talks - translation: ConferinÈ›e -- id: projects - translation: Proiecte -- id: search - translation: Căutare -- id: search_placeholder - translation: Căutare... -- id: search_results - translation: rezultate găsite -- id: search_no_results - translation: Nu s-au găsit rezultate -- id: page_not_found - translation: Pagina nu a fost găsită -- id: 404_recommendations - translation: CăutaÈ›i una din acestea? -- id: cookie_message - translation: Acest site utilizează cookie-uri pentru a garanta o experiență mai bună. -- id: cookie_dismiss - translation: ÃŽnÈ›eles! -- id: cookie_learn - translation: Mai multe informaÈ›ii diff --git a/nemo/i18n/ru.yaml b/nemo/i18n/ru.yaml deleted file mode 100644 index 2b59d6110cdb0dbd08e45cc3a5b2e6df42c1a3fb..0000000000000000000000000000000000000000 --- a/nemo/i18n/ru.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Переключить навигацию -- id: table_of_contents - translation: Содержание -- id: on_this_page - translation: Ðа Ñтой Ñтранице -- id: back_to_top - translation: Ðа верх -- id: related - translation: Похожие -- id: minute_read - translation: мин. Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ -- id: previous - translation: Предыдущий -- id: next - translation: Следующий -- id: figure - translation: 'Схема â„– %d:' -- id: btn_preprint - translation: ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Процитировать -- id: btn_slides - translation: Слайды -- id: btn_video - translation: Видео -- id: btn_code - translation: Код -- id: btn_dataset - translation: Ðабор данных -- id: btn_project - translation: Проект -- id: btn_poster - translation: ПоÑтер -- id: btn_source - translation: ИÑходный документ -- id: btn_copy - translation: ÐšÐ¾Ð¿Ð¸Ñ -- id: btn_download - translation: Скачать -- id: interests - translation: ИнтереÑÑ‹ -- id: education - translation: Образование -- id: user_profile_latest - translation: ПоÑледние -- id: see_certificate - translation: ПоÑмотреть Ñертификат -- id: present - translation: ÐаÑтоÑщий -- id: more_pages - translation: ПоÑмотреть вÑÑ‘ -- id: more_posts - translation: Больше Ñтатей -- id: more_talks - translation: Больше выÑтуплений -- id: more_publications - translation: Больше публикаций -- id: contact_name - translation: Ð˜Ð¼Ñ -- id: contact_email - translation: Ð°Ð´Ñ€ÐµÑ Ñлектронной почты -- id: contact_message - translation: Сообщение -- id: contact_send - translation: Отправить -- id: book_appointment - translation: Ðазначить вÑтречу -- id: abstract - translation: ÐÐ½Ð½Ð¾Ñ‚Ð°Ñ†Ð¸Ñ -- id: publication - translation: ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ -- id: publication_type - translation: Тип публикации -- id: date - translation: Дата -- id: last_updated - translation: Обновлено -- id: event - translation: Событие -- id: location - translation: МеÑто -- id: pub_uncat - translation: Без категории -- id: pub_conf - translation: Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„ÐµÑ€ÐµÐ½Ñ†Ð¸Ð¸ -- id: pub_journal - translation: Ð¡Ñ‚Ð°Ñ‚ÑŒÑ Ð´Ð»Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ð° -- id: pub_preprint - translation: ÐŸÑ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ -- id: pub_report - translation: Ð’Ñ‹Ñтупление -- id: pub_book - translation: Книга -- id: pub_book_section - translation: Глава книги -- id: pub_thesis - translation: Ð¢ÐµÐ·Ð¸Ñ -- id: pub_patent - translation: Патент -- id: open_project_site - translation: Перейти на Ñайт проекта -- id: posts - translation: Статьи -- id: publications - translation: Публикации -- id: talks - translation: Ð’Ñ‹ÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ -- id: projects - translation: Проекты -- id: search - translation: ПоиÑк -- id: search_placeholder - translation: ПоиÑк ... -- id: search_results - translation: результат найден -- id: search_no_results - translation: результат не найден -- id: page_not_found - translation: Страница не найдена -- id: 404_recommendations - translation: Ð’Ñ‹ наверное иÑкали один из тезиÑов? -- id: cookie_message - translation: Ð”Ð»Ñ ÐºÐ¾Ð¼Ñ„Ð¾Ñ€Ð½Ð¾Ð¹ навигации на Ñтом Ñайте иÑпользуютÑÑ ÐºÑƒÐºÐ¸ (cookies). -- id: cookie_dismiss - translation: ПонÑл! -- id: cookie_learn - translation: Узнать больше diff --git a/nemo/i18n/sv.yaml b/nemo/i18n/sv.yaml deleted file mode 100644 index 6cae76f889757bc1882cb0d0b0fefabe1a2f5d6c..0000000000000000000000000000000000000000 --- a/nemo/i18n/sv.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: Växla navigering - -- id: table_of_contents - translation: InnehÃ¥llsförteckning - -- id: on_this_page - translation: InnehÃ¥ll - -- id: back_to_top - translation: Tillbaka till toppen - -# General - -- id: related - translation: Relaterad - -- id: minute_read - translation: Min Läsning - -- id: previous - translation: FöregÃ¥ende - -- id: next - translation: Nästa - -- id: figure - translation: "Figur %d:" - -- id: edit_page - translation: Redigera den här sidan - -# Buttons - -- id: btn_preprint - translation: Manuscript - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: Citera - -- id: btn_slides - translation: Presentationer - -- id: btn_video - translation: Video - -- id: btn_code - translation: Kod - -- id: btn_dataset - translation: Datauppsättning - -- id: btn_project - translation: Projekt - -- id: btn_poster - translation: Affisch - -- id: btn_source - translation: Källdokument - -- id: btn_copy - translation: Kopia - -- id: btn_download - translation: Ladda ner - -# About widget - -- id: interests - translation: Intressen - -- id: education - translation: Utbildning - -- id: user_profile_latest - translation: Senaste Inläggen - -# Accomplishments widget - -- id: see_certificate - translation: Se certifikat - -# Experience widget - -- id: present - translation: Nuvarande - -# Pages widget - -- id: more_pages - translation: Se allt - -- id: more_posts - translation: Se alla inlägg - -- id: more_talks - translation: Se alla föredrag - -- id: more_publications - translation: Se alla publikationer - -# Contact widget - -- id: contact_name - translation: Namn - -- id: contact_email - translation: E-post - -- id: contact_message - translation: Meddelande - -- id: contact_send - translation: Skicka - -- id: book_appointment - translation: Boka ett möte - -# Publication/Talk details - -- id: abstract - translation: Abstrakt - -- id: publication - translation: Publikation - -- id: publication_type - translation: Typ - -- id: date - translation: Datum - -- id: last_updated - translation: Senast uppdaterad - -- id: event - translation: Event - -- id: location - translation: Plats - -- id: pub_uncat - translation: Okategoriserad - -- id: pub_conf - translation: Konferensbidrag - -- id: pub_journal - translation: Tidskriftsartikel - -- id: pub_preprint - translation: Manuscript - -- id: pub_report - translation: Rapport - -- id: pub_book - translation: Bok - -- id: pub_book_section - translation: Bok sektion - -- id: pub_thesis - translation: Avhandling - -- id: pub_patent - translation: Patent - -# Project details - -- id: open_project_site - translation: GÃ¥ till projektsidan - -# Default titles for archive pages - -- id: posts - translation: Inlägg - -- id: publications - translation: Publikationer - -- id: talks - translation: Föredrag - -- id: projects - translation: Projekt - -# Search - -- id: search - translation: Sök - -- id: search_placeholder - translation: Sök... - -- id: search_results - translation: hittade resultat - -- id: search_no_results - translation: Inga resultat funna - -# Error 404 - -- id: page_not_found - translation: Sidan hittas inte - -- id: 404_recommendations - translation: Kanske letade du efter en av dessa? - -# Cookie consent - -- id: cookie_message - translation: Denna webbplats använder kakor för att säkerställa att du fÃ¥r den bästa upplevelsen pÃ¥ vÃ¥r webbplats. - -- id: cookie_dismiss - translation: Jag fattar! - -- id: cookie_learn - translation: Lär dig mer diff --git a/nemo/i18n/tr.yaml b/nemo/i18n/tr.yaml deleted file mode 100644 index df0d44dbbe962cbf8ba16b9bdc566439edc5acb3..0000000000000000000000000000000000000000 --- a/nemo/i18n/tr.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Arayüz yönünü deÄŸiÅŸtir -- id: table_of_contents - translation: Table of Contents -- id: on_this_page - translation: On this page -- id: back_to_top - translation: Back to top -- id: related - translation: Related -- id: minute_read - translation: min read -- id: previous - translation: Previous -- id: next - translation: Next -- id: figure - translation: 'Figure %d:' -- id: btn_preprint - translation: Preprint -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: Cite -- id: btn_slides - translation: Slaytlar -- id: btn_video - translation: Video -- id: btn_code - translation: Kod -- id: btn_dataset - translation: Veri kümesi -- id: btn_project - translation: Proje -- id: btn_poster - translation: Poster -- id: btn_source - translation: Source Document -- id: btn_copy - translation: Copy -- id: btn_download - translation: Download -- id: interests - translation: İlgi alanları -- id: education - translation: EÄŸitim -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: See certificate -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: Daha fazla blog içeriÄŸi -- id: more_talks - translation: Daha fazla konuÅŸma -- id: more_publications - translation: Daha fazla yayınlar -- id: contact_name - translation: Name -- id: contact_email - translation: Email -- id: contact_message - translation: Message -- id: contact_send - translation: Send -- id: book_appointment - translation: Book an appointment -- id: abstract - translation: Özet -- id: publication - translation: Yayın -- id: publication_type - translation: Yayın tipi -- id: date - translation: Tarih -- id: last_updated - translation: Last updated on -- id: event - translation: Etkinlikler -- id: location - translation: Adres -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Projenin sayfasına git -- id: posts - translation: Blog içerikleri -- id: publications - translation: Yayınlar -- id: talks - translation: KonuÅŸmalar -- id: projects - translation: Projects -- id: search - translation: Search -- id: search_placeholder - translation: Search... -- id: search_results - translation: results found -- id: search_no_results - translation: No results found -- id: page_not_found - translation: Page not found -- id: 404_recommendations - translation: Perhaps you were looking for one of these? -- id: cookie_message - translation: This website uses cookies to ensure you get the best experience on our website. -- id: cookie_dismiss - translation: Got it! -- id: cookie_learn - translation: Learn more diff --git a/nemo/i18n/uk.yaml b/nemo/i18n/uk.yaml deleted file mode 100644 index a585060b23b86c405c91f43cb7b5684318b15c8d..0000000000000000000000000000000000000000 --- a/nemo/i18n/uk.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: Перемкнути навігацію - -- id: table_of_contents - translation: ЗміÑÑ‚ - -- id: on_this_page - translation: на Ñторінці - -- id: back_to_top - translation: ПовернутиÑÑ Ð´Ð¾Ð³Ð¾Ñ€Ð¸ - -# General - -- id: related - translation: Подібні - -- id: minute_read - translation: хв Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ - -- id: previous - translation: Попередній - -- id: next - translation: ÐаÑтупний - -- id: figure - translation: "Схема %d:" - -- id: edit_page - translation: Редагувати цю Ñторінку - -# Buttons - -- id: btn_preprint - translation: Попередній друк - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: Цитувати - -- id: btn_slides - translation: Слайди - -- id: btn_video - translation: Відео - -- id: btn_code - translation: Код - -- id: btn_dataset - translation: Ðабір даних - -- id: btn_project - translation: Проєкт - -- id: btn_poster - translation: ПоÑтер - -- id: btn_source - translation: Вихідний документ - -- id: btn_copy - translation: ÐšÐ¾Ð¿Ñ–Ñ - -- id: btn_download - translation: Завантажити - -# About widget - -- id: interests - translation: Ð—Ð°Ñ†Ñ–ÐºÐ°Ð²Ð»ÐµÐ½Ð½Ñ - -- id: education - translation: ОÑвіта - -- id: user_profile_latest - translation: ОÑтанні - -# Accomplishments widget - -- id: see_certificate - translation: ПереглÑнути Ñертифікат - -# Experience widget - -- id: present - translation: Теперішній - -# Pages widget - -- id: more_pages - translation: ПереглÑнути вÑе - -- id: more_posts - translation: ПереглÑнути вÑÑ– поÑти - -- id: more_talks - translation: ПереглÑнути вÑÑ– беÑіди - -- id: more_publications - translation: ПереглÑнути вÑÑ– публікації - -# Contact widget - -- id: contact_name - translation: Ім'Ñ - -- id: contact_email - translation: Email - -- id: contact_message - translation: ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ - -- id: contact_send - translation: ÐадіÑлати - -- id: book_appointment - translation: Призначити зуÑтріч - -# Publication/Talk details - -- id: abstract - translation: ÐÐ½Ð¾Ñ‚Ð°Ñ†Ñ–Ñ - -- id: publication - translation: ÐŸÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ - -- id: publication_type - translation: Тип - -- id: date - translation: Дата - -- id: last_updated - translation: ОÑтаннє Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ - -- id: event - translation: ÐŸÐ¾Ð´Ñ–Ñ - -- id: location - translation: МіÑце - -- id: pub_uncat - translation: Без категорії - -- id: pub_conf - translation: Ð¡Ñ‚Ð°Ñ‚Ñ‚Ñ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„ÐµÑ€ÐµÐ½Ñ†Ñ–Ñ— - -- id: pub_journal - translation: Ð¡Ñ‚Ð°Ñ‚Ñ‚Ñ Ð´Ð»Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ð° - -- id: pub_preprint - translation: Попередній друк - -- id: pub_report - translation: Доповідь - -- id: pub_book - translation: Книга - -- id: pub_book_section - translation: Розділ книги - -- id: pub_thesis - translation: Ð¢ÐµÐ·Ð¸Ñ - -- id: pub_patent - translation: Патент - -# Project details - -- id: open_project_site - translation: Перейти на Ñайт проєкта - -# Default titles for archive pages - -- id: posts - translation: ДопиÑи - -- id: publications - translation: Публікації - -- id: talks - translation: БеÑіди - -- id: projects - translation: Проєкти - -# Search - -- id: search - translation: Пошук - -- id: search_placeholder - translation: Пошук... - -- id: search_results - translation: Знайдені результати - -- id: search_no_results - translation: Результатів не знайдено - -# Error 404 - -- id: page_not_found - translation: Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñторінку - -- id: 404_recommendations - translation: Можливо, Ви шукали щоÑÑŒ з цього? - -# Cookie consent - -- id: cookie_message - translation: Щоб упевнитиÑÑŒ у зручноÑті кориÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñайтом, ми викориÑтовуємо кукі-файли. - -- id: cookie_dismiss - translation: Зрозуміло! - -- id: cookie_learn - translation: ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ diff --git a/nemo/i18n/vi.yaml b/nemo/i18n/vi.yaml deleted file mode 100644 index 55f77418db1f7700f721c7b268e262c79fe30de5..0000000000000000000000000000000000000000 --- a/nemo/i18n/vi.yaml +++ /dev/null @@ -1,130 +0,0 @@ -- id: toggle_navigation - translation: Chuyển Äiá»u Hướng -- id: table_of_contents - translation: Mục Lục -- id: on_this_page - translation: On this page -- id: back_to_top - translation: Back to top -- id: related - translation: Bà i Liên Quan -- id: minute_read - translation: phút để Ä‘á»c -- id: previous - translation: Trước -- id: next - translation: Sau -- id: figure - translation: 'Figure %d:' -- id: btn_preprint - translation: Bản Thảo -- id: btn_pdf - translation: PDF -- id: btn_cite - translation: TrÃch Dẫn -- id: btn_slides - translation: Slides -- id: btn_video - translation: Video -- id: btn_code - translation: Mã Nguồn -- id: btn_dataset - translation: Dữ liệu -- id: btn_project - translation: Dá»± Ãn -- id: btn_poster - translation: Poster -- id: btn_source - translation: Mã Nguồn -- id: btn_copy - translation: Sao Chép -- id: btn_download - translation: Tải Vá» -- id: interests - translation: Hướng Nghiên Cứu -- id: education - translation: Há»c Vấn -- id: user_profile_latest - translation: Latest -- id: see_certificate - translation: See certificate -- id: present - translation: Present -- id: more_pages - translation: See all -- id: more_posts - translation: Bà i Äăng Khác -- id: more_talks - translation: Thuyết Trình Khác -- id: more_publications - translation: Các Công Trình -- id: contact_name - translation: Name -- id: contact_email - translation: Email -- id: contact_message - translation: Message -- id: contact_send - translation: Send -- id: book_appointment - translation: Book an appointment -- id: abstract - translation: Tóm tắt -- id: publication - translation: Công Trình -- id: publication_type - translation: Phân Loại -- id: date - translation: Thá»i Gian -- id: last_updated - translation: Cáºp Nháºt Lần Cuối -- id: event - translation: Sá»± Kiện -- id: location - translation: Äịa Äiểm -- id: pub_uncat - translation: Uncategorized -- id: pub_conf - translation: Conference paper -- id: pub_journal - translation: Journal article -- id: pub_preprint - translation: Preprint -- id: pub_report - translation: Report -- id: pub_book - translation: Book -- id: pub_book_section - translation: Book section -- id: pub_thesis - translation: Thesis -- id: pub_patent - translation: Patent -- id: open_project_site - translation: Äến Trang Dá»± Ãn -- id: posts - translation: Bà i Äăng -- id: publications - translation: Công Trình -- id: talks - translation: Thuyết Trình -- id: projects - translation: Dá»± Ãn -- id: search - translation: Search -- id: search_placeholder - translation: Search... -- id: search_results - translation: results found -- id: search_no_results - translation: No results found -- id: page_not_found - translation: Trang không tìm thấy -- id: 404_recommendations - translation: Có thể bạn Ä‘ang tìm những trang nà y -- id: cookie_message - translation: This website uses cookies to ensure you get the best experience on our website. -- id: cookie_dismiss - translation: Got it! -- id: cookie_learn - translation: Learn more diff --git a/nemo/i18n/zh-Hant.yaml b/nemo/i18n/zh-Hant.yaml deleted file mode 100644 index 40a39c67e0adf960f6ed5be585e2f641f07ba716..0000000000000000000000000000000000000000 --- a/nemo/i18n/zh-Hant.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: 切æ›å°Žèˆª - -- id: table_of_contents - translation: 目錄 - -- id: on_this_page - translation: 於本é - -- id: back_to_top - translation: å›žåˆ°é ‚ç«¯ - -# General - -- id: related - translation: 相關 - -- id: minute_read - translation: 閱讀時間(分é˜ï¼‰ - -- id: previous - translation: 上一é - -- id: next - translation: 下一é - -- id: figure - translation: '圖%d:' - -- id: edit_page - translation: ç·¨è¼¯æœ¬æ¥ - -# Buttons - -- id: btn_preprint - translation: å½±å°é 覽 - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: 引用 - -- id: btn_slides - translation: 顯示 Slides - -- id: btn_video - translation: 影片 - -- id: btn_code - translation: 程å¼ç¢¼ - -- id: btn_dataset - translation: 數據集 - -- id: btn_project - translation: 專案 - -- id: btn_poster - translation: æµ·å ± - -- id: btn_source - translation: 原始檔 - -- id: btn_copy - translation: 複製 - -- id: btn_download - translation: 下載 - -# About widget - -- id: interests - translation: 興趣 - -- id: education - translation: 教育程度 - -- id: user_profile_latest - translation: 最新 - -# Accomplishments widget - -- id: see_certificate - translation: æŸ¥çœ‹è‰æ›¸ - -# Experience widget - -- id: present - translation: ç¾åœ¨ - -# Pages widget - -- id: more_pages - translation: 查看全部 - -- id: more_posts - translation: æŸ¥çœ‹å…¨éƒ¨æ–‡ç« - -- id: more_talks - translation: 查看全部演講 - -- id: more_publications - translation: 查看全部出版物 - -# Contact widget - -- id: contact_name - translation: å§“å - -- id: contact_email - translation: ä¿¡ç®± - -- id: contact_message - translation: è¨Šæ¯ - -- id: contact_send - translation: ç™¼é€ - -- id: book_appointment - translation: é ç´„ - -# Publication/Talk details - -- id: abstract - translation: æ‘˜è¦ - -- id: publication - translation: 出版物 - -- id: publication_type - translation: 類型 - -- id: date - translation: 日期 - -- id: last_updated - translation: 最近更新於 - -- id: event - translation: 事件 - -- id: location - translation: ä½ç½® - -- id: pub_uncat - translation: 未分類 - -- id: pub_conf - translation: æœƒè°æ–‡ç« - -- id: pub_journal - translation: æœŸåˆŠæ–‡ç« - -- id: pub_preprint - translation: å½±å°é 覽 - -- id: pub_report - translation: å ±å‘Š - -- id: pub_book - translation: æ›¸ç± - -- id: pub_book_section - translation: ç« ç¯€ - -- id: pub_thesis - translation: è«–æ–‡ - -- id: pub_patent - translation: 專利 - -# Project details - -- id: open_project_site - translation: å‰å¾€å°ˆæ¡ˆç¶²ç«™ - -# Default titles for archive pages - -- id: posts - translation: æ–‡ç« - -- id: publications - translation: 出版物 - -- id: talks - translation: 演講 - -- id: projects - translation: 專案 - -# Search - -- id: search - translation: æœå°‹ - -- id: search_placeholder - translation: æœå°‹... - -- id: search_results - translation: æœå°‹ç»“æžœ - -- id: search_no_results - translation: 找ä¸åˆ°ç»“æžœ - -# Error 404 - -- id: page_not_found - translation: 找ä¸åˆ°é é¢ - -- id: 404_recommendations - translation: 您å¯èƒ½åœ¨æ‰¾ï¼Ÿ - -# Cookie consent - -- id: cookie_message - translation: 本網站使用cookiesä¾†ç¢ºä¿æ‚¨å¯ä»¥åœ¨ç¶²ç«™ä¸ç²å¾—最佳體驗。 - -- id: cookie_dismiss - translation: 知é“了! - -- id: cookie_learn - translation: 了解更多 diff --git a/nemo/i18n/zh.yaml b/nemo/i18n/zh.yaml deleted file mode 100644 index ac73d4e1bf3ffcd00981b8efd9b19f2f929b4660..0000000000000000000000000000000000000000 --- a/nemo/i18n/zh.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Navigation - -- id: toggle_navigation - translation: 切æ¢å¯¼èˆª - -- id: table_of_contents - translation: 目录 - -- id: on_this_page - translation: 在本页 - -- id: back_to_top - translation: 回到顶部 - -# General - -- id: related - translation: 相关 - -- id: minute_read - translation: 分钟阅读时长 - -- id: previous - translation: 上一页 - -- id: next - translation: 下一页 - -- id: figure - translation: '图%d:' - -- id: edit_page - translation: 编辑本页 - -# Buttons - -- id: btn_preprint - translation: 预尿œ¬ - -- id: btn_pdf - translation: PDF - -- id: btn_cite - translation: 引用 - -- id: btn_slides - translation: 演示文稿 - -- id: btn_video - translation: 视频 - -- id: btn_code - translation: 代ç - -- id: btn_dataset - translation: æ•°æ®é›† - -- id: btn_project - translation: 项目 - -- id: btn_poster - translation: 海报 - -- id: btn_source - translation: æºæ–‡æ¡£ - -- id: btn_copy - translation: å¤åˆ¶ - -- id: btn_download - translation: 下载 - -# About widget - -- id: interests - translation: 兴趣爱好 - -- id: education - translation: 教育ç»åކ - -- id: user_profile_latest - translation: 最新 - -# Accomplishments widget - -- id: see_certificate - translation: 查看è¯ä¹¦ - -# Experience widget - -- id: present - translation: 现在 - -# Pages widget - -- id: more_pages - translation: 查看全部 - -- id: more_posts - translation: æŸ¥çœ‹å…¨éƒ¨æ–‡ç« - -- id: more_talks - translation: 查看全部演讲 - -- id: more_publications - translation: 查看全部出版物 - -# Contact widget - -- id: contact_name - translation: å§“å - -- id: contact_email - translation: 邮箱 - -- id: contact_message - translation: ä¿¡æ¯ - -- id: contact_send - translation: å‘é€ - -- id: book_appointment - translation: 预约 - -# Publication/Talk details - -- id: abstract - translation: æ‘˜è¦ - -- id: publication - translation: 出版物 - -- id: publication_type - translation: 类型 - -- id: date - translation: 日期 - -- id: last_updated - translation: 最近更新于 - -- id: event - translation: 事件 - -- id: location - translation: ä½ç½® - -- id: pub_uncat - translation: 未分类 - -- id: pub_conf - translation: ä¼šè®®æ–‡ç« - -- id: pub_journal - translation: æœŸåˆŠæ–‡ç« - -- id: pub_preprint - translation: 预尿œ¬ - -- id: pub_report - translation: 报告 - -- id: pub_book - translation: ä¹¦ç± - -- id: pub_book_section - translation: ç« èŠ‚ - -- id: pub_thesis - translation: 论文 - -- id: pub_patent - translation: 专利 - -# Project details - -- id: open_project_site - translation: 访问项目网站 - -# Default titles for archive pages - -- id: posts - translation: æ–‡ç« - -- id: publications - translation: 出版物 - -- id: talks - translation: 演讲 - -- id: projects - translation: 项目 - -# Search - -- id: search - translation: æœç´¢ - -- id: search_placeholder - translation: æœç´¢... - -- id: search_results - translation: æœç´¢ç»“æžœ - -- id: search_no_results - translation: 没有找到结果 - -# Error 404 - -- id: page_not_found - translation: 找ä¸åˆ°é¡µé¢ - -- id: 404_recommendations - translation: ä¹Ÿè®¸ä½ åœ¨æ‰¾ï¼Ÿ - -# Cookie consent - -- id: cookie_message - translation: 本网站使用cookiesæ¥ç¡®ä¿æ‚¨åœ¨æœ¬ç½‘站上获得最佳体验。 - -- id: cookie_dismiss - translation: 知é“了! - -- id: cookie_learn - translation: 了解更多 diff --git a/nemo/images/screenshot.png b/nemo/images/screenshot.png deleted file mode 100644 index 2b545d8ef56602a326051fb74ceda1c78c21055e..0000000000000000000000000000000000000000 Binary files a/nemo/images/screenshot.png and /dev/null differ diff --git a/nemo/images/theme-1950s.png b/nemo/images/theme-1950s.png deleted file mode 100644 index a81ab8d27afafcf7e754a5422b0d05230df8e085..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-1950s.png and /dev/null differ diff --git a/nemo/images/theme-apogee.png b/nemo/images/theme-apogee.png deleted file mode 100644 index 635754c1e85f9e98684c87ac817806d32e84ab47..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-apogee.png and /dev/null differ diff --git a/nemo/images/theme-coffee-playfair.png b/nemo/images/theme-coffee-playfair.png deleted file mode 100644 index 938dd3a0b6ba86b511b44fd4a357554ce8773c2d..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-coffee-playfair.png and /dev/null differ diff --git a/nemo/images/theme-cupcake.png b/nemo/images/theme-cupcake.png deleted file mode 100644 index deb94be5573b31d046c4e7b772a40454183b2992..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-cupcake.png and /dev/null differ diff --git a/nemo/images/theme-dark.png b/nemo/images/theme-dark.png deleted file mode 100644 index a04ce143eb52b4a0c61aa4d9fea4590a5bd1e198..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-dark.png and /dev/null differ diff --git a/nemo/images/theme-default.png b/nemo/images/theme-default.png deleted file mode 100644 index 71792b125d605d0f9c5675300a4908f717c5629f..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-default.png and /dev/null differ diff --git a/nemo/images/theme-forest.png b/nemo/images/theme-forest.png deleted file mode 100644 index df2d6ccce76030622526625334b43ada5550d9be..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-forest.png and /dev/null differ diff --git a/nemo/images/theme-ocean.png b/nemo/images/theme-ocean.png deleted file mode 100644 index 6f4a0da586e14e523dc9037267a6da5faecaabfe..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-ocean.png and /dev/null differ diff --git a/nemo/images/theme-spacer.png b/nemo/images/theme-spacer.png deleted file mode 100644 index e4c4f8b25d3b2b932369281247f3ec979ef72e51..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-spacer.png and /dev/null differ diff --git a/nemo/images/theme-strawberry.png b/nemo/images/theme-strawberry.png deleted file mode 100644 index 4ba0dab5449fec3e7b45b845400ecfc17399cf59..0000000000000000000000000000000000000000 Binary files a/nemo/images/theme-strawberry.png and /dev/null differ diff --git a/nemo/images/themes.png b/nemo/images/themes.png deleted file mode 100644 index 2f390361fee43264334ac8263d41909a31a75270..0000000000000000000000000000000000000000 Binary files a/nemo/images/themes.png and /dev/null differ diff --git a/nemo/images/tn.png b/nemo/images/tn.png deleted file mode 100644 index 18a718242fb1be6a42f32a5abe1b01e291698f78..0000000000000000000000000000000000000000 Binary files a/nemo/images/tn.png and /dev/null differ diff --git a/nemo/layouts/404.html b/nemo/layouts/404.html deleted file mode 100644 index d06ab0054d8b3983dcfe4b15b9d70af9ecb46256..0000000000000000000000000000000000000000 --- a/nemo/layouts/404.html +++ /dev/null @@ -1,31 +0,0 @@ -{{- define "main" -}} - -<div class="universal-wrapper pt-3"> - - <h1>{{ i18n "page_not_found" }}</h1> - - {{/* Show search box if Academic's search engine is enabled. */}} - {{ if eq site.Params.search.engine 1 }} - <form class="d-flex align-items-center mb-3"> - <input name="q" type="search" class="form-control" placeholder="{{ i18n "search_placeholder" }}" autocomplete="off"> - </form> - {{ end }} - - {{/* Suggest recently published pages to the user. */}} - - <p>{{ i18n "404_recommendations" }}</p> - - {{ $query := site.RegularPages }} - {{ $count := len $query }} - {{ if gt $count 0 }} - <h2>{{ i18n "user_profile_latest" }}</h2> - <ul> - {{ range first 10 $query }} - <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li> - {{ end }} - </ul> - {{ end }} - -</div> - -{{- end -}} diff --git a/nemo/layouts/_default/_markup/render-link.html b/nemo/layouts/_default/_markup/render-link.html deleted file mode 100644 index 4ff0c2c6779370af6960ff7c91dc4e300e1ec958..0000000000000000000000000000000000000000 --- a/nemo/layouts/_default/_markup/render-link.html +++ /dev/null @@ -1,2 +0,0 @@ -{{/* A Hugo Markdown render hook to parse links, opening external links in new tabs. */}} -<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a> \ No newline at end of file diff --git a/nemo/layouts/_default/baseof.html b/nemo/layouts/_default/baseof.html deleted file mode 100644 index ba50dc71ce0d4f0bbd0eaea20faf8d1337d73a50..0000000000000000000000000000000000000000 --- a/nemo/layouts/_default/baseof.html +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.LanguageCode | default "en-us" }}"> - -{{ partial "site_head" . }} -<body id="top" data-spy="scroll" data-offset="70" data-target="{{ if or .IsHome (eq .Type "widget_page") }}#navbar-main{{else}}#TableOfContents{{end}}" {{ if not (.Scratch.Get "light") }}class="dark"{{end}}> - - {{ partial "search" . }} - - {{ partial "navbar" . }} - - {{ block "main" . }}{{ end }} - - {{ partial "site_js" . }} - - {{/* Docs and Updates layouts include the site footer in a different location. */}} - {{ if not (in (slice "docs" "updates") .Type) }} - <div class="container"> - {{ partial "site_footer" . }} - </div> - {{ end }} - - {{ partial "citation" . }} - -</body> -</html> diff --git a/nemo/layouts/_default/list.html b/nemo/layouts/_default/list.html deleted file mode 100644 index 8a7389ba69c11bf5a708dc3e97e6803de339d118..0000000000000000000000000000000000000000 --- a/nemo/layouts/_default/list.html +++ /dev/null @@ -1,35 +0,0 @@ -{{- define "main" -}} - -{{ partial "page_header.html" . }} - -<div class="universal-wrapper"> - {{ with .Content }} - <div class="article-style">{{ . }}</div> - {{ end }} - - {{ $paginator := .Paginate .Data.Pages }} - {{ range $paginator.Pages }} - {{ $link := .RelPermalink }} - {{ $target := "" }} - {{ with .Params.external_link }} - {{ $link = . }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - <div> - <h2><a href="{{$link}}" {{ $target | safeHTMLAttr }}>{{ .Title }}</a></h2> - <div class="article-style"> - {{ if .Params.summary }} - {{ .Params.summary | plainify | emojify }} - {{ else if .Params.abstract }} - {{ .Params.abstract | plainify | emojify | truncate 250 }} - {{ else if .Summary }} - {{ .Summary | plainify | emojify }} - {{ end }} - </div> - </div> - {{ end }} - - {{ partial "pagination" . }} -</div> - -{{- end -}} diff --git a/nemo/layouts/_default/rss.xml b/nemo/layouts/_default/rss.xml deleted file mode 100644 index 38086bca177f015f6744f6b85d897d7a34ccda51..0000000000000000000000000000000000000000 --- a/nemo/layouts/_default/rss.xml +++ /dev/null @@ -1,39 +0,0 @@ -{{- /* Generate RSS v2 with full page content. */ -}} -{{- /* Upstream Hugo bug - RSS dates can be in future: https://github.com/gohugoio/hugo/issues/3918 */ -}} -{{- $page_context := cond .IsHome site . -}} -{{- $pages := $page_context.RegularPages -}} -{{- $limit := site.Config.Services.RSS.Limit -}} -{{- if ge $limit 1 -}} - {{- $pages = $pages | first $limit -}} -{{- end -}} -{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }} -<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> - <channel> - <title>{{ if ne .Title site.Title }}{{ with .Title }}{{.}} | {{ end }}{{end}}{{ site.Title }}</title> - <link>{{ .Permalink }}</link> - {{- with .OutputFormats.Get "RSS" }} - {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }} - {{ end -}} - <description>{{ .Title | default site.Title }}</description> - <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator> - {{- with site.LanguageCode }}<language>{{.}}</language>{{end -}} - {{- with site.Copyright }}<copyright>{{ replace (replace . "{year}" now.Year) "©" "©" | plainify }}</copyright>{{end -}} - {{- if not .Date.IsZero }}<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end -}} - {{- if .Scratch.Get "og_image" }} - <image> - <url>{{ .Scratch.Get "og_image" }}</url> - <title>{{ .Title | default site.Title }}</title> - <link>{{ .Permalink }}</link> - </image> - {{end -}} - {{ range $pages }} - <item> - <title>{{ .Title }}</title> - <link>{{ .Permalink }}</link> - <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate> - <guid>{{ .Permalink }}</guid> - <description>{{ .Content | html }}</description> - </item> - {{ end }} - </channel> -</rss> diff --git a/nemo/layouts/_default/single.html b/nemo/layouts/_default/single.html deleted file mode 100644 index 4c1800b7c6d838c92cf8d0b0ab5bdd6638849f7e..0000000000000000000000000000000000000000 --- a/nemo/layouts/_default/single.html +++ /dev/null @@ -1,18 +0,0 @@ -{{- define "main" -}} - -<article class="article"> - - {{ partial "page_header" . }} - - <div class="article-container"> - - <div class="article-style"> - {{ .Content }} - </div> - - {{ partial "page_footer" . }} - - </div> -</article> - -{{- end -}} diff --git a/nemo/layouts/authors/list.html b/nemo/layouts/authors/list.html deleted file mode 100644 index 504e3f5062464425f68c0c5532938ddfe759dae4..0000000000000000000000000000000000000000 --- a/nemo/layouts/authors/list.html +++ /dev/null @@ -1,39 +0,0 @@ -{{- define "main" -}} - -{{/* Author profile page. */}} - -{{/* If an account has not been created for this user, just display their name as the title. */}} -{{ if not .File }} -<div class="universal-wrapper pt-3"> - <h1>{{ .Title }}</h1> -</div> -{{ end }} - -<section id="profile-page" class="pt-5"> - <div class="container"> - {{/* Show the About widget if an account exists for this user. */}} - {{ if .File }} - {{ $widget := "widgets/about.html" }} - {{ $username := (path.Base (path.Split .Path).Dir) }}{{/* Alternatively, use `index .Params.authors 0` */}} - {{ $params := dict "root" $ "page" . "author" $username }} - {{ partial $widget $params }} - {{end}} - - {{ $query := where .Pages ".IsNode" false }} - {{ $count := len $query }} - {{ if $count }} - <div class="article-widget content-widget-hr"> - <h3>{{ i18n "user_profile_latest" | default "Latest" }}</h3> - <ul> - {{ range $query }} - <li> - <a href="{{ .RelPermalink }}">{{ .Title }}</a> - </li> - {{ end }} - </ul> - </div> - {{ end }} - </div> -</section> - -{{- end -}} diff --git a/nemo/layouts/authors/terms.html b/nemo/layouts/authors/terms.html deleted file mode 100644 index bf88ba98c15000ba5ed26e6f8ce2808b807614be..0000000000000000000000000000000000000000 --- a/nemo/layouts/authors/terms.html +++ /dev/null @@ -1,23 +0,0 @@ -{{- define "main" -}} - -{{/* List of all authors. */}} - -{{ partial "page_header.html" . }} - -<div class="universal-wrapper"> - {{ with .Content }} - <div class="article-style">{{ . }}</div> - {{ end }} - - <ul> - {{ $paginator := .Paginate .Data.Pages }} - {{ range $k, $v := $paginator.Pages }} - {{ $name := $v.Params.name | default ($v.Title|plainify) }} - <li><a href="{{$v.Permalink}}">{{$name}}</a></li> - {{ end }} - </ul> - - {{ partial "pagination" . }} -</div> - -{{- end -}} diff --git a/nemo/layouts/docs/list.html b/nemo/layouts/docs/list.html deleted file mode 100644 index 34d123db967798db252f86c899eb746d9a75ce41..0000000000000000000000000000000000000000 --- a/nemo/layouts/docs/list.html +++ /dev/null @@ -1,3 +0,0 @@ -{{- define "main" -}} -{{ partial "docs_layout.html" . }} -{{- end -}} diff --git a/nemo/layouts/docs/single.html b/nemo/layouts/docs/single.html deleted file mode 100644 index 34d123db967798db252f86c899eb746d9a75ce41..0000000000000000000000000000000000000000 --- a/nemo/layouts/docs/single.html +++ /dev/null @@ -1,3 +0,0 @@ -{{- define "main" -}} -{{ partial "docs_layout.html" . }} -{{- end -}} diff --git a/nemo/layouts/index.html b/nemo/layouts/index.html deleted file mode 100644 index 40d4d8f36a98d39882c821c152be7222477f4805..0000000000000000000000000000000000000000 --- a/nemo/layouts/index.html +++ /dev/null @@ -1,20 +0,0 @@ -{{- define "main" -}} - -{{/* Check that user fully installed Academic. */}} -{{ if not (isset site.Params "theme") }} - {{ errorf "Please complete the installation of Academic by following the steps at https://sourcethemes.com/academic/docs/install/" }} -{{ end }} - -{{/* Deprecation warnings */}} - -{{/* v4.5: Address changed from string to map. */}} -{{ if isset site.Params "address" }} -{{ if eq (reflect.IsMap site.Params.address) false }} - {{ errorf "Please upgrade the `address` field in `config/_default/params.toml`. Refer to all of the Breaking Changes in v4.5 at https://sourcethemes.com/academic/updates/v4.5.0/" }} -{{ end }} -{{ end }} - -{{/* Generate homepage. */}} -{{ partial "widget_page.html" . }} - -{{- end -}} diff --git a/nemo/layouts/index.json b/nemo/layouts/index.json deleted file mode 100644 index 50ff9ce86d935a344e0d8b913576bf472396d974..0000000000000000000000000000000000000000 --- a/nemo/layouts/index.json +++ /dev/null @@ -1,62 +0,0 @@ -{{- /* Generate the search index. */ -}} -{{- $index := slice -}} -{{- $pages := site.RegularPages -}} -{{- /* Add the index page of docs separately since it's not in RegularPages above. */ -}} -{{- $pages := $pages | union (where (where site.Pages "Kind" "section") "Type" "docs") -}} -{{- /* Add author pages to index so their bios can be searched. Hide empty `/authors/` node. */ -}} -{{- $pages := $pages | union (where (where site.Pages "Section" "authors") "Params.name" "!=" nil) -}} - -{{- range $pages -}} - {{- /* Do not index drafts or private pages. */ -}} - {{- if and (not .Draft) (not .Params.private) -}} - - {{- /* Generate page description. */ -}} - {{- $desc := "" -}} - {{- if .Params.summary -}} - {{- $desc = .Params.summary -}} - {{- else if .Params.abstract -}} - {{- $desc = .Params.abstract -}} - {{- else -}} - {{- $desc = .Summary -}} - {{- end -}} - - {{- $authors := .Params.authors -}} - {{- $title := .Title}} - {{- $rel_permalink := .RelPermalink -}} - {{- $permalink := .Permalink -}} - - {{/* Correct the title and URL for author profile pages. */}} - {{- if eq .Section "authors" -}} - {{- $title = .Params.name -}} - {{- $username := path.Base (path.Split .Path).Dir -}} - {{- with site.GetPage (printf "/authors/%s" $username) -}} - {{- $permalink = .Permalink -}} - {{- $rel_permalink = .RelPermalink -}} - {{- end -}} - {{- else -}} - {{/* Include a user's display name rather than username where possible. */}} - {{- if .Params.authors -}} - {{- $authorLen := len .Params.authors -}} - {{- if gt $authorLen 0 -}} - {{- $authors = slice -}} - {{- range $k, $v := .Params.authors -}} - {{- $person_page_path := (printf "/authors/%s" (anchorize $v)) -}} - {{- $person_page := site.GetPage $person_page_path -}} - {{- if and $person_page $person_page.File -}} - {{- $person := $person_page.Params -}} - {{- $authors = $authors | append $person.name -}} - {{- else -}} - {{- $authors = $authors | append ($v | plainify) -}} - {{- end -}} - {{- end -}} - {{- end -}} - {{- end -}} - {{- end -}} - - {{- /* Add page to index. */ -}} - {{- $index = $index | append (dict "objectID" .File.UniqueID "date" .Date.UTC.Unix "publishdate" .PublishDate "lastmod" .Lastmod.UTC.Unix "expirydate" .ExpiryDate.UTC.Unix "lang" .Lang "permalink" $permalink "relpermalink" $rel_permalink "title" $title "summary" (plainify $desc) "content" .Plain "authors" $authors "kind" .Kind "type" .Type "section" .Section "tags" .Params.Tags "categories" .Params.Categories) -}} - - {{- end -}} -{{- end -}} - -{{- $index | jsonify -}} diff --git a/nemo/layouts/index.webmanifest b/nemo/layouts/index.webmanifest deleted file mode 100644 index 6dbff198d6d95e9d586f4335e9ad7a18ed09283d..0000000000000000000000000000000000000000 --- a/nemo/layouts/index.webmanifest +++ /dev/null @@ -1,19 +0,0 @@ -{{- $scr := .Scratch -}} -{ - "name": "{{site.Title}}", - "short_name": "{{site.Title}}", - "lang": "{{site.LanguageCode}}", - "theme_color": "{{ $scr.Get "primary" }}", - "background_color": "{{ $scr.Get "primary" }}", - "icons": [{ - "src": "{{ (partial "functions/get_icon" 192).RelPermalink }}", - "sizes": "192x192", - "type": "image/png" - }, { - "src": "{{ (partial "functions/get_icon" 512).RelPermalink }}", - "sizes": "512x512", - "type": "image/png" - }], - "display": "standalone", - "start_url": "{{ "/" | relLangURL }}?utm_source=web_app_manifest" -} diff --git a/nemo/layouts/partials/citation.html b/nemo/layouts/partials/citation.html deleted file mode 100644 index 01620ae7597583671fccab5151a29aed6d65e709..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/citation.html +++ /dev/null @@ -1,25 +0,0 @@ -<!-- Citation modal --> -<div id="modal" class="modal fade" role="dialog"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <h5 class="modal-title">{{ i18n "btn_cite" }}</h5> - <button type="button" class="close" data-dismiss="modal" aria-label="Close"> - <span aria-hidden="true">×</span> - </button> - </div> - <div class="modal-body"> - <pre><code class="tex hljs"></code></pre> - </div> - <div class="modal-footer"> - <a class="btn btn-outline-primary my-1 js-copy-cite" href="#" target="_blank"> - <i class="fas fa-copy"></i> {{ i18n "btn_copy" }} - </a> - <a class="btn btn-outline-primary my-1 js-download-cite" href="#" target="_blank"> - <i class="fas fa-download"></i> {{ i18n "btn_download" }} - </a> - <div id="modal-error"></div> - </div> - </div> - </div> -</div> \ No newline at end of file diff --git a/nemo/layouts/partials/comments.html b/nemo/layouts/partials/comments.html deleted file mode 100644 index 53fb49786980f20a18af1a775d86e2aceef654ca..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/comments.html +++ /dev/null @@ -1,9 +0,0 @@ -{{ if site.Params.comments.engine | and (index site.Params.comments.commentable .Type) | and (ne .Params.commentable false) | or .Params.commentable }} -<section id="comments"> - {{ if eq site.Params.comments.engine 1 }} - {{ partial "comments/disqus.html" . }} - {{ else if eq site.Params.comments.engine 2 }} - {{ partial "comments/commento.html" . }} - {{ end }} -</section> -{{ end }} diff --git a/nemo/layouts/partials/comments/commento.html b/nemo/layouts/partials/comments/commento.html deleted file mode 100644 index cacf3a547d7de870fd0bd133bba93d9eb297c12d..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/comments/commento.html +++ /dev/null @@ -1,3 +0,0 @@ -<div id="commento"></div> -{{ $url := (printf "%s/js/commento.js" (site.Params.comments.commento.url | default "https://cdn.commento.io")) }} -<script src="{{$url}}" defer></script> diff --git a/nemo/layouts/partials/comments/disqus.html b/nemo/layouts/partials/comments/disqus.html deleted file mode 100644 index 58cdbf4a6e1c5683fd2943387ac08c81e38d86c1..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/comments/disqus.html +++ /dev/null @@ -1,22 +0,0 @@ -{{ if site.Params.comments.disqus.shortname }} -<div id="disqus_thread"></div> -<script> - let disqus_config = function () { - {{with .Params.disqus_identifier }}this.page.identifier = '{{ . }}';{{end}} - {{with .Params.disqus_title }}this.page.title = '{{ . }}';{{end}} - {{with .Params.disqus_url }}this.page.url = '{{ . | html }}';{{end}} - }; - (function() { - if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) { - document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.'; - return; - } - var d = document, s = d.createElement('script'); s.async = true; - s.src = 'https://' + {{site.Params.comments.disqus.shortname}} + '.disqus.com/embed.js'; - s.setAttribute('data-timestamp', +new Date()); - (d.head || d.body).appendChild(s); - })(); -</script> -<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> -<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> -{{end}} diff --git a/nemo/layouts/partials/cookie_consent.html b/nemo/layouts/partials/cookie_consent.html deleted file mode 100644 index 3406716b0369f9cffce2f1b24f91e1c817e5c91c..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/cookie_consent.html +++ /dev/null @@ -1,31 +0,0 @@ -{{ if site.Params.privacy_pack }} - {{ $scr := .Scratch }} - {{ $js := site.Data.assets.js }} - {{ $css := site.Data.assets.css }} - {{ if ($scr.Get "use_cdn") }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.cookieconsent.url $js.cookieconsent.version) $js.cookieconsent.sri | safeHTML }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.cookieconsent.url $css.cookieconsent.version) $css.cookieconsent.sri | safeHTML }} - {{ end }} - <script> - window.addEventListener("load", function(){ - window.cookieconsent.initialise({ - "palette": { - "popup": { - "background": "{{ $scr.Get "primary" }}", - "text": "{{ $scr.Get "background" }}" - }, - "button": { - "background": "{{ $scr.Get "background" }}", - "text": "{{ $scr.Get "primary" }}" - } - }, - "theme": "classic", - "content": { - "message": {{ i18n "cookie_message" | default "This website uses cookies to ensure you get the best experience on our website." }}, - "dismiss": {{ i18n "cookie_dismiss" | default "Got it!" }}, - "link": {{ i18n "cookie_learn" | default "Learn more" }}, - "href": {{ with site.GetPage "privacy.md" }}{{ printf "%s" .RelPermalink }}{{ else }}"https://www.cookiesandyou.com"{{ end }} - } - })}); - </script> -{{ end }} diff --git a/nemo/layouts/partials/custom_head.html b/nemo/layouts/partials/custom_head.html deleted file mode 100644 index 7f262fae19967bc172dce476c9ffbf94121dd3f4..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/custom_head.html +++ /dev/null @@ -1,4 +0,0 @@ -{{/* Do not directly modify this file! */}} -{{/* Instead, create a `layouts/partials/custom_head.html` file in your site and add your code to it. */}} - -{{/* This partial is included in `themes/academic/layouts/partials/site_head.html`. */}} diff --git a/nemo/layouts/partials/custom_js.html b/nemo/layouts/partials/custom_js.html deleted file mode 100644 index 8d081963f5b827de267c0e31a7e3e3e6496f72ba..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/custom_js.html +++ /dev/null @@ -1,4 +0,0 @@ -{{/* Do not directly modify this file! */}} -{{/* Instead, create a `layouts/partials/custom_js.html` file in your site and add your code to it. */}} - -{{/* This partial is included in `themes/academic/layouts/partials/site_js.html`. */}} diff --git a/nemo/layouts/partials/docs_layout.html b/nemo/layouts/partials/docs_layout.html deleted file mode 100644 index bc80575d4ba1bbfdc4652366b30503be58156455..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/docs_layout.html +++ /dev/null @@ -1,55 +0,0 @@ -{{ $current_page := . }} - -<div class="container-fluid docs"> - <div class="row flex-xl-nowrap"> - <div class="col-12 col-md-3 col-xl-2 docs-sidebar"> - {{ partial "docs_sidebar" . }} - </div> - - {{ if .Params.toc }} - <div class="d-none d-xl-block col-xl-2 docs-toc"> - <ul class="nav toc-top"> - <li><a href="#" id="back_to_top" class="docs-toc-title">{{ i18n "on_this_page" }}</a></li> - </ul> - - {{ .TableOfContents }} - - {{ partial "docs_toc_foot" . }} - </div> - {{ end }} - - <main class="col-12 col-md-9 col-xl-8 py-md-3 pl-md-5 docs-content" role="main"> - - <article class="article"> - - <div class="docs-article-container"> - <h1>{{ .Title }}</h1> - - <div class="article-style"> - {{ .Content }} - </div> - - {{ partial "tags.html" . }} - - {{ if site.Params.docs_section_pager }} - <div class="article-widget"> - {{ partial "section_pager" . }} - </div> - {{ end }} - </div> - - <div class="body-footer"> - <p>{{ i18n "last_updated" }} {{ $.Lastmod.Format site.Params.date_format }}</p> - - {{ partial "page_edit" . }} - - {{ partial "comments" . }} - </div> - - </article> - - {{ partial "site_footer" . }} - - </main> - </div> -</div> diff --git a/nemo/layouts/partials/docs_sidebar.html b/nemo/layouts/partials/docs_sidebar.html deleted file mode 100644 index 9be30657b883932e5c58c58ccdfda22438594a39..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/docs_sidebar.html +++ /dev/null @@ -1,53 +0,0 @@ -{{ $current_page := . }} - -{{/* Dynamically load menu for this docs page. */}} -{{/* Attempt to get menu name from `menu_name` param, Hugo's front matter menu config, or the last dir of filepath. */}} -{{ $menu_name := "" }} -{{ if .Params.menu | and (not (reflect.IsMap .Params.menu)) | and (not (reflect.IsSlice .Params.menu)) }} - {{ $menu_name = .Params.menu }} -{{ else if .Params.menu | and (or (reflect.IsMap .Params.menu) (reflect.IsSlice .Params.menu)) }} - {{ range $k, $v := .Params.menu }} - {{ $menu_name = $k }} - {{ end }} -{{ end }} -{{ $menu_name = .Params.menu_name | default $menu_name | default (path.Base (path.Split .File).Dir) }} -{{ if not (index site.Menus $menu_name) }} - {{ errorf "Please define menu items named `menu: %s:` in your %s front matter or define `[[menu.%s]]` in `config/default/menus.toml`. See https://sourcethemes.com/academic/docs/managing-content/#menus" $menu_name .Path $menu_name }} -{{ end }} - -<form class="docs-search d-flex align-items-center"> - <button class="btn docs-toggle d-md-none p-0 mr-3" type="button" data-toggle="collapse" data-target="#docs-nav" aria-controls="docs-nav" aria-expanded="false" aria-label="Toggle section navigation"> - <span><i class="fas fa-bars"></i></span> - </button> - - {{ if eq site.Params.search.engine 1 }} - <input name="q" type="search" class="form-control" placeholder="{{ i18n "search_placeholder" }}" autocomplete="off"> - {{ end }} -</form> - -<nav class="collapse docs-links" id="docs-nav"> - {{ with (index site.Menus $menu_name) }} - - {{/* Enable Updates layout to order by descending version name. */}} - {{ $menu := (index site.Menus $menu_name).ByWeight }} - {{ if eq ($.Scratch.Get "docs_menu_sort" | default "weight") "name_reverse" }} - {{ $menu = (index site.Menus $menu_name).ByName.Reverse }} - {{end}} - {{ range $menu }} - <div class="docs-toc-item{{ if $current_page.IsMenuCurrent $menu_name . }} active{{ end }}"> - <a class="docs-toc-link" {{ if .URL }}href="{{ .URL }}"{{else if .HasChildren }}href="{{ (index .Children 0).URL }}"{{end}}>{{ .Name }}</a> - - {{- if .HasChildren }} - <ul class="nav docs-sidenav"> - {{ range .Children }} - <li {{ if $current_page.IsMenuCurrent $menu_name . }}class="active"{{ end }}> - <a href="{{ .URL }}">{{ .Name }}</a> - </li> - {{ end }} - </ul> - {{ end }} - - </div> - {{ end }} - {{ end }} -</nav> diff --git a/nemo/layouts/partials/docs_toc_foot.html b/nemo/layouts/partials/docs_toc_foot.html deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/nemo/layouts/partials/functions/get_address.html b/nemo/layouts/partials/functions/get_address.html deleted file mode 100644 index 02eec101d31719833a4924ac4f946d00df8042dd..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/get_address.html +++ /dev/null @@ -1,21 +0,0 @@ -{{/* Function to return a formatted address given a semantic address. */}} - -{{/* Check for valid site config. */}} -{{ if not site.Params.address_format }}{{errorf "Address format missing from `params.toml`!"}}{{end}} -{{ if not site.Params.address_formats }}{{errorf "Address formats missing from `params.toml`!"}}{{end}} - -{{ $page := . }} -{{ $address := .address }} -{{ $format_name := $page.Params.address_format | default site.Params.address_format | default "en-us" }} -{{ $format := index site.Params.address_formats $format_name }} -{{ $address_display := slice }} - -{{ range $k, $v := $format.order }} - {{ if eq $v "street" | and $address.street }}{{$address_display = $address_display | append $address.street | append (index $format.delimiters $k | default "") }}{{end}} - {{ if eq $v "city" | and $address.city }}{{$address_display = $address_display | append $address.city | append (index $format.delimiters $k | default "") }}{{end}} - {{ if eq $v "region" | and $address.region }}{{$address_display = $address_display | append $address.region | append (index $format.delimiters $k | default "") }}{{end}} - {{ if eq $v "postcode" | and $address.postcode }}{{$address_display = $address_display | append $address.postcode | append (index $format.delimiters $k | default "") }}{{end}} - {{ if eq $v "country" | and $address.country }}{{$address_display = $address_display | append $address.country | append (index $format.delimiters $k | default "") }}{{end}} -{{end}} - -{{ return (delimit $address_display "") }} diff --git a/nemo/layouts/partials/functions/get_author_name.html b/nemo/layouts/partials/functions/get_author_name.html deleted file mode 100644 index 06ed3b3a2a77a4a2b1a3ed50d408691db30cb20e..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/get_author_name.html +++ /dev/null @@ -1,26 +0,0 @@ -{{/* Get name of primary author. */}} - -{{ $page := . }} - -{{/* Get publisher as fall back. */}} -{{ $publisher := site.Params.org_name | default site.Title }} - -{{ $author := "" }} -{{ $author_username := "" }} - -{{ if and (not $page.Params.authors) ($page.Scratch.Get "superuser_username") }} - {{ $author_username = $page.Scratch.Get "superuser_username" }} -{{ else if $page.Params.authors }} - {{ $author = index $page.Params.authors 0 }} - {{ $author_username = anchorize $author }} -{{ end }} - -{{ $taxonomy := "authors" }} -{{ $profile_page := site.GetPage (printf "/%s/%s" $taxonomy $author_username) }} -{{ with $profile_page }} - {{ $author = .Params.name | default .Title }} -{{ else }} - {{ $author = $author | default $publisher }} -{{ end }} - -{{ return $author }} diff --git a/nemo/layouts/partials/functions/get_event_dates.html b/nemo/layouts/partials/functions/get_event_dates.html deleted file mode 100644 index db621b923ca082e7d252fe2e397afe638e7c9e49..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/get_event_dates.html +++ /dev/null @@ -1,17 +0,0 @@ -{{/* Function to get event start and end dates/times. */}} -{{ $t1 := time .Date }}{{/* Start datetime. */}} -{{ $str := slice ((time $t1).Format site.Params.date_format) }}{{/* Init return string with start date. */}} -{{/* Show start time if not all day event. */}} -{{ if not .Params.all_day }}{{ $str = $str | append ((time $t1).Format (site.Params.time_format)) }}{{ end }} -{{/* Show event end date if provided. */}} -{{ if .Params.date_end }} - {{ $str = $str | append "—" }} - {{ $t2 := time .Params.date_end}}{{/* End datetime. */}} - {{/* Show end date if it differs to start date. */}} - {{ if not (eq $t1.Year $t2.Year | and (eq $t1.Month $t2.Month) | and (eq $t1.Day $t2.Day)) }} - {{ $str = $str | append ((time $t2).Format site.Params.date_format) }} - {{ end }} - {{/* Show end time if not all day event. */}} - {{ if not .Params.all_day }}{{ $str = $str | append ((time $t2).Format (site.Params.time_format)) }}{{ end }} -{{ end }} -{{ return (delimit $str " ") }} diff --git a/nemo/layouts/partials/functions/get_icon.html b/nemo/layouts/partials/functions/get_icon.html deleted file mode 100644 index fce30d4e4389385299af164d16fc02615dd6915c..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/get_icon.html +++ /dev/null @@ -1,7 +0,0 @@ -{{/* Function to get website icon image. */}} -{{/* Input: size (int) */}} -{{/* Output: resource (obj) */}} - -{{ $icon := resources.GetMatch "images/icon.png" }} -{{ $icon_resized := $icon.Fill (printf "%sx%s Center" (string .) (string .)) }} -{{ return $icon_resized }} diff --git a/nemo/layouts/partials/functions/get_logo.html b/nemo/layouts/partials/functions/get_logo.html deleted file mode 100644 index b4e11c1ddc60683efa66a94ff461ca7c13cc9ac1..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/get_logo.html +++ /dev/null @@ -1,21 +0,0 @@ -{{/* Function to get logo image. */}} -{{/* Inputs: constraint: max_height/fit (str); size (int) */}} -{{/* Output: resource (obj) */}} - -{{/* Workaround fact Hugo does not support GetMatch in assets dir */}} -{{/* Hugo doesn't support image ops on SVG: https://discourse.gohugo.io/t/ho-do-i-convert-a-generic-resource-to-image-resource/22570/4 */}} -{{ $logo := resources.Get "images/logo.png" | default (resources.Get "images/logo.svg") }} -{{ $logo_proc := $logo }} - -{{/* If the type of image can be resized by Hugo, resize it given a `.size` argument to the function. */}} -{{ if resources.Get "images/logo.png" }} - {{ if eq .constraint "max_height" }} - {{/* Resize logo to fit specified max height. */}} - {{ $logo_proc = ($logo.Resize (printf "x%s" (string .size))) }} - {{ else }} - {{/* Constrain logo to fit within specified dimensions. */}} - {{ $logo_proc = ($logo.Fit (printf "%sx%s" (string .size) (string .size))) }} - {{ end }} -{{ end }} - -{{ return $logo_proc }} diff --git a/nemo/layouts/partials/functions/get_logo_url.html b/nemo/layouts/partials/functions/get_logo_url.html deleted file mode 100644 index 0f2c23d564d7c0e5f04123dbd2b3117127de00e7..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/get_logo_url.html +++ /dev/null @@ -1,12 +0,0 @@ -{{/* Function to get logo URL for JSONLD. */}} -{{/* Inputs: page context */}} -{{/* Output: logo URL (URL) */}} - -{{ $logo_url := "" }} -{{ if resources.Get "images/logo.png" | or (resources.Get "images/logo.svg") }} - {{ $logo_url = (partial "functions/get_logo" (dict "constraint" "fit" "size" 192)).Permalink }} -{{ else }} - {{ $logo_url = (partial "functions/get_icon" 192).Permalink }} -{{ end }} - -{{ return $logo_url }} diff --git a/nemo/layouts/partials/functions/get_pub_types.html b/nemo/layouts/partials/functions/get_pub_types.html deleted file mode 100644 index 7a8f1fd045ce62d8c940567518ff2db89ba55286..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/get_pub_types.html +++ /dev/null @@ -1,6 +0,0 @@ -{{/* Get Publication Types */}} -{{ $pub_types := slice }} -{{ range site.Data.publication_types.types }} - {{ $pub_types = $pub_types | append (i18n . | default "Uncategorized") }} -{{ end }} -{{ return $pub_types }} diff --git a/nemo/layouts/partials/functions/parse_theme.html b/nemo/layouts/partials/functions/parse_theme.html deleted file mode 100644 index 101d2e6a835f76d0dec5a0ceee57ec3c9431e9cb..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/functions/parse_theme.html +++ /dev/null @@ -1,57 +0,0 @@ -{{- $scr := .Scratch -}} - -{{/* Get name of site's Theme. Precedence: Params.toml > Default (Minimal) */}} -{{- $theme_index := (site.Params.theme | lower | replaceRE "\\s" "_") | default "minimal" -}} - -{{/* Get name of site's Font Set. Precedence: Params.toml > Theme > Default (Minimal) */}} -{{- $font_index := (site.Params.font | lower | replaceRE "\\s" "_") | default ((index site.Data.themes $theme_index).font | lower | replaceRE "\\s" "_") | default $theme_index -}} -{{- $font_index := cond (isset site.Data.fonts $font_index) $font_index "minimal" -}} - -{{/* Get Font Size. */}} - -{{- $font_size := lower site.Params.font_size | default "l" -}} -{{- $font_sizes := dict "xs" 14 "s" 16 "m" 18 "l" 21 "xl" 23 -}} -{{- $font_size_numeric := (index $font_sizes $font_size) | default (index $font_sizes "l") -}} -{{- $scr.Set "font_size" $font_size_numeric -}} -{{- $scr.Set "font_size_small" (mul 0.77 $font_size_numeric) -}} - -{{/* Load Font Set. */}} - -{{- $font := index site.Data.fonts $font_index -}} -{{- $scr.Set "google_fonts" $font.google_fonts -}} -{{- $scr.Set "body_font" $font.body_font -}} -{{- $scr.Set "heading_font" $font.heading_font -}} -{{- $scr.Set "nav_font" $font.nav_font -}} -{{- $scr.Set "mono_font" $font.mono_font -}} - -{{/* Load Theme. */}} - -{{ $theme := index site.Data.themes $theme_index }} - -{{- $scr.Set "light" ($theme.light | default true) -}} - -{{ if $theme.light }} - {{- $scr.Set "background" ($theme.background | default "#fff") -}} - {{- $scr.Set "dark_background" "rgb(40, 42, 54)" -}} - {{- $scr.Set "home_section_odd" $theme.home_section_odd -}} - {{- $scr.Set "home_section_even" $theme.home_section_even -}} - {{- $scr.Set "dark_home_section_odd" "hsla(231, 15%, 18%, 1)" -}} - {{- $scr.Set "dark_home_section_even" "hsla(231, 15%, 16%, 1)" -}} -{{ else }} - {{- $scr.Set "background" ($theme.background | default "#fff") -}} - {{- $scr.Set "dark_background" ($theme.background | default "rgb(40, 42, 54)") -}} - {{- $scr.Set "home_section_odd" "rgb(255, 255, 255)" -}} - {{- $scr.Set "home_section_even" "rgb(247, 247, 247)" -}} - {{- $scr.Set "dark_home_section_odd" $theme.home_section_odd -}} - {{- $scr.Set "dark_home_section_even" $theme.home_section_even -}} -{{ end }} - -{{- $scr.Set "link" ($theme.link | default $theme.primary) -}} -{{- $scr.Set "link_hover" ($theme.link_hover | default $theme.primary) -}} - -{{- $scr.Set "primary" $theme.primary -}} - -{{- $scr.Set "menu_primary" $theme.menu_primary -}} -{{- $scr.Set "menu_text" $theme.menu_text -}} -{{- $scr.Set "menu_text_active" $theme.menu_text_active -}} -{{- $scr.Set "menu_title" $theme.menu_title -}} diff --git a/nemo/layouts/partials/jsonld/article.html b/nemo/layouts/partials/jsonld/article.html deleted file mode 100644 index 33550bf04b5d892a4320cf3dcfda783c06438ebc..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/jsonld/article.html +++ /dev/null @@ -1,47 +0,0 @@ -{{- $page := .page }} -{{ $summary := .summary }} -{{ $featured_image := ($page.Resources.ByType "image").GetMatch "*featured*" }} - -{{/* Get schema type. */}} -{{ $schema := "Article" }} -{{ if eq $page.Type "post" }} - {{ $schema = "BlogPosting" }} -{{ end }} - -{{ $author := partial "functions/get_author_name" $page }} -{{ $publisher := site.Params.org_name | default site.Title }} -{{ $logo_url := partial "functions/get_logo_url" $page -}} - -<script type="application/ld+json"> -{ - "@context": "https://schema.org", - "@type": {{$schema}}, - "mainEntityOfPage": { - "@type": "WebPage", - "@id": {{$page.Permalink}} - }, - "headline": {{$page.Title}}, - {{ if $featured_image }} - "image": [ - {{$featured_image.Permalink}} - ], - {{end}} - "datePublished": {{ $page.PublishDate.Format "2006-01-02T15:04:05Z07:00" }}, - "dateModified": {{ $page.Lastmod.Format "2006-01-02T15:04:05Z07:00" }}, - {{with $author}} - "author": { - "@type": "Person", - "name": {{.}} - }, - {{end}} - "publisher": { - "@type": "Organization", - "name": {{$publisher}}, - "logo": { - "@type": "ImageObject", - "url": {{$logo_url}} - } - }, - "description": {{$summary}} -} -</script> diff --git a/nemo/layouts/partials/jsonld/business.html b/nemo/layouts/partials/jsonld/business.html deleted file mode 100644 index c0aa57ef53a705a36360ae6175e7e0653eb3b7ff..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/jsonld/business.html +++ /dev/null @@ -1,29 +0,0 @@ -<script type="application/ld+json"> -{ - "@context": "https://schema.org", - "@type": {{site.Params.local_business_type | default site.Params.site_type}}, - "@id": {{site.BaseURL}}, - "name": {{site.Params.org_name | default site.Title}}, - "logo": {{ partial "functions/get_logo_url" . }}, - {{with site.Params.sharing_image}}"image": {{printf "img/%s" . | absURL}},{{end}} - {{ if (eq site.Params.site_type "LocalBusiness") | and site.Params.coordinates }} - "geo": { - "@type": "GeoCoordinates", - "latitude": {{site.Params.coordinates.latitude}}, - "longitude": {{site.Params.coordinates.longitude}} - }, - {{end}} - {{ with site.Params.address }} - "address": { - "@type": "PostalAddress", - "streetAddress": {{ .street | default "" }}, - "addressLocality": {{ .city | default "" }}, - "addressRegion": {{ .region | default "" }}, - "postalCode": {{ .postcode | default "" }}, - "addressCountry": {{ .country_code | default .country | default "" }} - }, - {{end}} - {{ with site.Params.phone }}"telephone": {{.}},{{end}} - "url": {{site.BaseURL}} -} -</script> diff --git a/nemo/layouts/partials/jsonld/event.html b/nemo/layouts/partials/jsonld/event.html deleted file mode 100644 index a8189451aa206e10964fa39c9feaf52bf73b3cf6..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/jsonld/event.html +++ /dev/null @@ -1,47 +0,0 @@ -{{ $page := .page }} -{{ $summary := .summary }} -{{ $featured_image := ($page.Resources.ByType "image").GetMatch "*featured*" }} -{{ $author := partial "functions/get_author_name" $page }} - -<script type="application/ld+json"> -{ - "@context": "https://schema.org", - "@type": "Event", - "mainEntityOfPage": { - "@type": "WebPage", - "@id": {{$page.Permalink}} - }, - "name": {{$page.Title}}, - {{ with $page.Params.location }} - "location": { - "@type": "Place", - "name": {{. | plainify}}{{if $page.Params.address}}, - "address": { - "@type": "PostalAddress", - "streetAddress": {{$page.Params.address.street | default ""}}, - "addressLocality": {{$page.Params.address.city | default ""}}, - "postalCode": {{$page.Params.address.postcode | default ""}}, - "addressRegion": {{$page.Params.address.region | default ""}}, - "addressCountry": {{$page.Params.address.country | default ""}} - } - {{end}} - }, - {{end}} - {{ if $featured_image }} - "image": [ - {{$featured_image.Permalink}} - ], - {{end}} - "startDate": {{ $page.Date.Format "2006-01-02T15:04:05Z07:00" }}, - {{with $page.Params.date_end}} - "endDate": {{ (time .).Format "2006-01-02T15:04:05Z07:00" }}, - {{end}} - {{with $author}} - "performer": { - "@type": "Person", - "name": {{.}} - }, - {{end}} - "description": {{$summary}} -} -</script> diff --git a/nemo/layouts/partials/jsonld/main.html b/nemo/layouts/partials/jsonld/main.html deleted file mode 100644 index aafaed4dfeb6cc2f14df076c4a51022558255bf2..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/jsonld/main.html +++ /dev/null @@ -1,23 +0,0 @@ -{{ $page := .page }} -{{ $summary := .summary }} -{{ $site_type := site.Params.site_type | default "Person" }} - -{{- if $page.IsHome -}} - - {{ partial "jsonld/website.html" $page }} - - {{ if ne $site_type "Person" }} - {{ partial "jsonld/business.html" $page }} - {{ end }} - -{{- else if $page.IsPage -}} - - {{ if (eq $page.Type "post") | or (eq $page.Type "publication") | or (eq $page.Type "project") }} - {{ partial "jsonld/article.html" (dict "page" $page "summary" $summary) }} - {{ end }} - - {{ if eq $page.Type "talk" }} - {{ partial "jsonld/event.html" (dict "page" $page "summary" $summary) }} - {{ end }} - -{{- end }} diff --git a/nemo/layouts/partials/jsonld/website.html b/nemo/layouts/partials/jsonld/website.html deleted file mode 100644 index 61c7a2bc0613273ebb82fe677a7334acc2a2b0b1..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/jsonld/website.html +++ /dev/null @@ -1,14 +0,0 @@ -<script type="application/ld+json"> -{ - "@context": "https://schema.org", - "@type": "WebSite", - {{- if site.Params.search.engine }} - "potentialAction": { - "@type": "SearchAction", - "target": {{ printf "%s?q={search_term_string}" site.BaseURL }}, - "query-input": "required name=search_term_string" - }, - {{end -}} - "url": {{site.BaseURL}} -} -</script> diff --git a/nemo/layouts/partials/li_card.html b/nemo/layouts/partials/li_card.html deleted file mode 100644 index 08dc2118cc043f87ae6e4810b2f70012408e1936..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/li_card.html +++ /dev/null @@ -1,70 +0,0 @@ -{{ $item := . }} - - -{{/* Dynamic view adjusts to content type. */}} -{{ $show_buttons := false }} -{{ if eq $item.Type "talk" }} - {{ $show_buttons = true }} -{{ else if eq $item.Type "publication" }} - {{ $show_buttons = true }} -{{ end }} - -{{/* Get summary. */}} -{{ $summary := "" }} -{{ if $item.Params.summary }} - {{ $summary = $item.Params.summary | markdownify | emojify }} -{{ else if .Params.abstract }} - {{ $summary = .Params.abstract | markdownify | emojify }} -{{ else if $item.Truncated }} - {{ $summary = $item.Summary }} -{{ else }} - {{ $summary = $item.Content }} -{{ end }} - -<div class="card-simple"> - - {{ if eq $item.Type "talk" }} - <div class="article-metadata"> - {{ if $item.Params.authors }} - <div> - {{ partial "page_metadata_authors" $item }} - </div> - {{ end }} - <span> - {{ partial "functions/get_event_dates" $item }} - </span> - {{ with $item.Params.location }} - <span class="middot-divider"></span> - <span>{{ . }}</span> - {{ end }} - </div> - {{ else }} - {{ partial "page_metadata" (dict "page" $item "is_list" 1) }} - {{ end }} - - {{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }} - {{ $anchor := $item.Params.image.focal_point | default "Smart" }} - {{ with $resource }} - {{ $image := .Fill (printf "918x517 q90 %s" $anchor) }} - <a href="{{ $item.RelPermalink }}"> - <img src="{{ $image.RelPermalink }}" class="article-banner" alt=""> - </a> - {{end}} - - <h3 class="article-title mb-1 mt-3"> - <a href="{{ $item.RelPermalink }}">{{ $item.Title }}</a> - </h3> - - {{ with $summary }} - <div class="article-style"> - <p>{{.}}</p> - </div> - {{ end }} - - {{ if $show_buttons }} - <div class="btn-links"> - {{ partial "page_links" (dict "page" $item "is_list" 1) }} - </div> - {{ end }} - -</div> diff --git a/nemo/layouts/partials/li_citation.html b/nemo/layouts/partials/li_citation.html deleted file mode 100644 index 201b7088f441a53fa79c189302f24ff845a2f38f..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/li_citation.html +++ /dev/null @@ -1,35 +0,0 @@ -<div class="pub-list-item" style="margin-bottom: 1rem"> - <i class="far fa-file-alt pub-icon" aria-hidden="true"></i> - - {{/* APA Style */}} - {{ if eq (site.Params.publications.citation_style | default "apa") "apa" }} - - <span class="article-metadata li-cite-author"> - {{ partial "page_metadata_authors" . }} - </span> - ({{- .Date.Format "2006" -}}). - <a href="{{ .RelPermalink }}">{{ .Title }}</a>. - {{ if .Params.publication_short }} - {{- .Params.publication_short | markdownify -}}. - {{ else if .Params.publication }} - {{- .Params.publication | markdownify -}}. - {{ end }} - <p>{{ partial "page_links" (dict "page" . "is_list" 1) }}</p> - - {{/* MLA Style */}} - {{ else }} - - <span class="article-metadata li-cite-author"> - {{ partial "page_metadata_authors" . }} - </span>. - <a href="{{ .RelPermalink }}">{{ .Title }}</a>. - {{ if .Params.publication_short }} - {{- .Params.publication_short | markdownify -}}, - {{ else if .Params.publication }} - {{- .Params.publication | markdownify -}}, - {{ end }} - {{- .Date.Format "2006" -}}. - <p>{{ partial "page_links" (dict "page" . "is_list" 1) }}</p> - - {{ end }} -</div> diff --git a/nemo/layouts/partials/li_compact.html b/nemo/layouts/partials/li_compact.html deleted file mode 100644 index 964634ecd7e31d76c60f11c2fdf36504e33f8bc6..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/li_compact.html +++ /dev/null @@ -1,85 +0,0 @@ -{{ $item := . }} - -{{/* Dynamic view adjusts to content type. */}} -{{ $show_authors_only := false }}{{/* Show authors only or full metadata? */}} -{{ $show_buttons := false }} -{{ $link := $item.RelPermalink }} -{{ $target := "" }} -{{ if $item.Params.external_link }} - {{ $link = $item.Params.external_link }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} -{{ end }} -{{ if eq $item.Type "talk" }} - {{ $show_authors_only = true }} - {{ $show_buttons = true }} -{{ else if eq $item.Type "publication" }} - {{ $show_authors_only = true }} - {{ $show_buttons = true }} -{{ else if eq $item.Type "project" }} - {{ $show_authors_only = true }} - {{ $show_buttons = true }} -{{ end }} - -{{/* Get summary. */}} -{{ $summary := "" }} -{{ if $item.Params.summary }} - {{ $summary = $item.Params.summary | markdownify | emojify }} -{{ else if .Params.abstract }} - {{ $summary = .Params.abstract | markdownify | emojify }} -{{ else if $item.Truncated }} - {{ $summary = $item.Summary }} -{{ end }} - -<div class="media stream-item"> - <div class="media-body"> - - <h3 class="article-title mb-0 mt-0"> - <a href="{{$link}}" {{ $target | safeHTMLAttr }}>{{ $item.Title }}</a> - </h3> - - {{ with $summary }} - <div class="article-style"> - {{ . | truncate 135 }} - </div> - {{ end }} - - <div class="stream-meta article-metadata"> - - {{ if eq $item.Type "talk" }} - <div> - <span> - {{ partial "functions/get_event_dates" $item }} - </span> - {{ with $item.Params.location }} - <span class="middot-divider"></span> - <span>{{ . }}</span> - {{ end }} - </div> - {{ end }} - - {{ if and $show_authors_only $item.Params.authors }} - <div> - {{ partial "page_metadata_authors" $item }} - </div> - {{ else if not $show_authors_only }} - {{ partial "page_metadata" (dict "page" $item "is_list" 1) }} - {{ end }} - </div> - - {{ if $show_buttons }} - <div class="btn-links"> - {{ partial "page_links" (dict "page" $item "is_list" 1) }} - </div> - {{ end }} - - </div> - <div class="ml-3"> - {{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }} - {{ with $resource }} - {{ $image := .Resize "150x" }} - <a href="{{$link}}" {{ $target | safeHTMLAttr }}> - <img src="{{ $image.RelPermalink }}" alt=""> - </a> - {{end}} - </div> -</div> diff --git a/nemo/layouts/partials/li_list.html b/nemo/layouts/partials/li_list.html deleted file mode 100644 index 2600af05ea998c13f1b271ceac8a3baf8f19f36e..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/li_list.html +++ /dev/null @@ -1,56 +0,0 @@ -{{ $item := . }} - -{{/* Dynamic view adjusts to content type. */}} -{{ $icon_pack := "far" }} -{{ $icon := "fa-file-alt" }} -{{ $show_authors := false }} -{{ $show_buttons := false }} -{{ $link := $item.RelPermalink }} -{{ $target := "" }} -{{ if $item.Params.external_link }} - {{ $link = $item.Params.external_link }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} -{{ end }} -{{ if eq $item.Type "post" }} - {{ $icon = "fa-newspaper" }} -{{ else if eq $item.Type "talk" }} - {{ $icon = "fa-calendar-alt" }} -{{ else if eq $item.Type "publication" }} - {{ $show_authors = true }} - {{ $show_buttons = true }} -{{ else if eq $item.Type "project" }} - {{ $icon_pack = "fas" }} - {{ $icon = "fa-project-diagram" }} - {{ $show_authors = true }} - {{ $show_buttons = true }} -{{ end }} - -<div class="view-list-item"> - <i class="{{$icon_pack}} {{$icon}} pub-icon" aria-hidden="true"></i> - <a href="{{$link}}" {{ $target | safeHTMLAttr }}>{{ $item.Title }}</a> - - {{ if eq $item.Type "talk" }} - <div class="article-metadata"> - <span> - {{ partial "functions/get_event_dates" $item }} - </span> - {{ with $item.Params.location }} - <span class="middot-divider"></span> - <span>{{ . }}</span> - {{ end }} - </div> - {{ end }} - - {{ if and $show_authors $item.Params.authors }} - <div class="article-metadata"> - {{ partial "page_metadata_authors" $item }} - </div> - {{ end }} - - {{ if $show_buttons }} - <div class="btn-links"> - {{ partial "page_links" (dict "page" $item "is_list" 1) }} - </div> - {{ end }} - -</div> diff --git a/nemo/layouts/partials/marketing/google_analytics.html b/nemo/layouts/partials/marketing/google_analytics.html deleted file mode 100644 index 580db22c887bd7ab651f4a922fce4ef49e96e4b6..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/marketing/google_analytics.html +++ /dev/null @@ -1,42 +0,0 @@ -{{ $ga := site.Params.marketing.google_analytics | default site.GoogleAnalytics | default "" }} -{{ $gtm := site.Params.marketing.google_tag_manager | default "" }} - -{{ if (in (slice (getenv "HUGO_ENV") hugo.Environment) "production") | and $ga | and (not $gtm) }} - -{{ $gtag_config := cond site.Params.privacy_pack "{ 'anonymize_ip': true }" "{}" }} -<script async src="https://www.googletagmanager.com/gtag/js?id={{$ga}}"></script> -<script> - window.dataLayer = window.dataLayer || []; - - function gtag() { - dataLayer.push(arguments); - } - - function trackOutboundLink(url, target) { - gtag('event', 'click', { - 'event_category': 'outbound', - 'event_label': url, - 'transport_type': 'beacon', - 'event_callback': function () { - if (target !== '_blank') { - document.location = url; - } - } - }); - console.debug("Outbound link clicked: " + url); - } - - function onClickCallback(event) { - if ((event.target.tagName !== 'A') || (event.target.host === window.location.host)) { - return; - } - trackOutboundLink(event.target, event.target.getAttribute('target')); // Send GA event. - } - - gtag('js', new Date()); - gtag('config', '{{$ga}}', {{$gtag_config|safeJS}}); - - // Outbound link tracking. - document.addEventListener('click', onClickCallback, false); -</script> -{{ end }} diff --git a/nemo/layouts/partials/marketing/google_tag_manager.html b/nemo/layouts/partials/marketing/google_tag_manager.html deleted file mode 100644 index 6ae3abc66606e3d549da3f658b0dce41db2a0e73..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/marketing/google_tag_manager.html +++ /dev/null @@ -1,9 +0,0 @@ -{{ if (in (slice (getenv "HUGO_ENV") hugo.Environment) "production") | and site.Params.marketing.google_tag_manager }} -<script> - (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': - new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], - j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); - })(window,document,'script','dataLayer','{{site.Params.marketing.google_tag_manager}}'); -</script> -{{ end }} diff --git a/nemo/layouts/partials/navbar.html b/nemo/layouts/partials/navbar.html deleted file mode 100644 index 787d1521f821c7d3a969014fc98c5e77aa69909f..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/navbar.html +++ /dev/null @@ -1,160 +0,0 @@ -{{ $current_page := . }} - -{{/* Get site logo. */}} -{{ $show_logo := site.Params.main_menu.show_logo | default true }} -{{ $has_logo := fileExists "assets/images/logo.png" | or (fileExists "assets/images/logo.svg") }} -{{ $logo := "" }} -{{ if $has_logo }} - {{ $logo = (partial "functions/get_logo" (dict "constraint" "max_height" "size" 70)) }} -{{ end }} - -<nav class="navbar navbar-expand-lg navbar-light compensate-for-scrollbar" id="navbar-main"> - <div class="container"> - - {{if $show_logo}} - <div class="d-none d-lg-inline-flex"> - <a class="navbar-brand" href="{{ "/" | relLangURL }}"> - {{- if $has_logo -}} - <img src="{{ $logo.RelPermalink }}" alt="{{ site.Title }}"> - {{- else -}} - {{- site.Title -}} - {{- end -}} - </a> - </div> - {{end}} - - {{ if site.Menus.main }} - <button type="button" class="navbar-toggler" data-toggle="collapse" - data-target="#navbar-content" aria-controls="navbar" aria-expanded="false" aria-label="{{ i18n "toggle_navigation" }}"> - <span><i class="fas fa-bars"></i></span> - </button> - {{ end }} - - {{if $show_logo}} - <div class="navbar-brand-mobile-wrapper d-inline-flex d-lg-none"> - <a class="navbar-brand" href="{{ "/" | relLangURL }}"> - {{- if $has_logo -}} - <img src="{{ $logo.RelPermalink }}" alt="{{ site.Title }}"> - {{- else -}} - {{- site.Title -}} - {{- end -}} - </a> - </div> - {{end}} - - <!-- Collect the nav links, forms, and other content for toggling --> - {{ $align_menu := site.Params.main_menu.align | default "l" }} - <div class="navbar-collapse main-menu-item collapse {{ if eq $align_menu "c" }}justify-content-center{{ else if eq $align_menu "r" }}justify-content-end{{else}}justify-content-start{{ end }}" id="navbar-content"> - - <!-- Left Nav Bar --> - <ul class="navbar-nav d-md-inline-flex"> - {{ range site.Menus.main }} - - {{ if .HasChildren }} - <li class="nav-item dropdown"> - <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true"> - {{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}} - <span class="caret"></span> - </a> - <div class="dropdown-menu"> - {{ range .Children }} - <a class="dropdown-item" href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}> - {{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}} - </a> - {{ end }} - </div> - </li> - - {{ else }} - - {{/* Set target for link. */}} - {{ $.Scratch.Set "target" "" }} - {{ if gt (len .URL) 4 }} - {{ if eq "http" (slicestr .URL 0 4) }} - {{ $.Scratch.Set "target" " target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - {{ end }} - - {{/* Get active page. */}} - {{ $is_link_in_current_path := in $current_page.RelPermalink .URL }} - {{ $is_widget_page := or $current_page.IsHome (eq $current_page.Type "widget_page") }} - {{ $hash := findRE "#(.+)" .URL }} - {{ $is_same_page := $is_link_in_current_path }} - {{ if gt (len $hash) 0 }} - {{ $hash = index $hash 0 }} - {{ $hash_removed := replace .URL $hash "" }} - {{ if eq (len $hash_removed) 0 }} - {{ $hash_removed = "/" }}{{/* Add robustness for `/#SECTION` or `#SECTION` in `menus.toml`. */}} - {{ end }} - {{ $is_same_page = eq (path.Dir $current_page.RelPermalink) (path.Dir ($hash_removed|relLangURL)) }} - {{ end }} - - <li class="nav-item"> - <a class="nav-link {{if $is_link_in_current_path }} active{{end}}" href="{{.URL | relLangURL}}"{{ if and $is_widget_page $is_same_page }} data-target="{{$hash}}"{{ end }}{{ ($.Scratch.Get "target") | safeHTMLAttr }}> - {{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}} - </a> - </li> - - {{ end }} - {{ end }} - - {{ if site.Menus.main_right | and (eq $align_menu "l") }} - </ul> - <ul class="navbar-nav ml-md-auto"> - {{ end }} - - {{ range site.Menus.main_right }} - - {{/* Set target for link. */}} - {{ $.Scratch.Set "target" "" }} - {{ if gt (len .URL) 4 }} - {{ if eq "http" (slicestr .URL 0 4) }} - {{ $.Scratch.Set "target" " target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - {{ end }} - - <li class="nav-item"> - <a class="nav-link" href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}{{ ($.Scratch.Get "target") | safeHTMLAttr }}> - {{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}} - </a> - </li> - - {{ end }} - </ul> - </div><!-- /.navbar-collapse --> - - <ul class="nav-icons navbar-nav flex-row ml-auto d-flex pl-md-2"> - {{ if site.Params.search.engine }} - <li class="nav-item"> - <a class="nav-link js-search" href="#"><i class="fas fa-search" aria-hidden="true"></i></a> - </li> - {{ end }} - - {{ if site.Params.day_night }} - <li class="nav-item"> - <a class="nav-link js-dark-toggle" href="#"><i class="fas fa-moon" aria-hidden="true"></i></a> - </li> - {{ end }} - - {{ if .IsTranslated }} - <li class="nav-item dropdown i18n-dropdown"> - <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true"> - <i class="fas fa-globe mr-1" aria-hidden="true"></i><span class="d-none d-lg-inline">{{ index site.Data.i18n.languages .Lang }}</span> - </a> - <div class="dropdown-menu"> - <div class="dropdown-item i18n-active font-weight-bold"> - <span>{{ index site.Data.i18n.languages .Lang }}</span> - </div> - {{ range .Translations }} - <a class="dropdown-item" href="{{ .Permalink }}"{{ if $.IsHome }} data-target="{{ .RelPermalink }}"{{ end }}> - <span>{{ index site.Data.i18n.languages .Lang }}</span> - </a> - {{ end }} - </div> - </li> - {{ end }} - - </ul> - - </div><!-- /.container --> -</nav> diff --git a/nemo/layouts/partials/page_author.html b/nemo/layouts/partials/page_author.html deleted file mode 100644 index 5e833edbbfd6c7b1d468fd0f2b9902311b55c85e..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_author.html +++ /dev/null @@ -1,47 +0,0 @@ -{{/* Author profile box */}} - -{{/* Don't show author box on normal pages or if author box disabled. */}} -{{ if ne .Type "page" | and (not (or (eq site.Params.profile false) (eq .Params.profile false))) }} - -{{/* Display superuser if superuser exists and page authors are not explicitly specified. */}} -{{/* Otherwise, display first author if a profile for them exists. */}} - -{{ $author_urlized := "" }} -{{ if and (not .Params.authors) (.Scratch.Get "superuser_username") }} - {{ $author_urlized = (.Scratch.Get "superuser_username") }} -{{ else }} - {{ $first_author := "" }} - {{ if .Params.authors }} - {{ $first_author = index .Params.authors 0 }} - {{ end }} - {{ $author_urlized = anchorize $first_author }} -{{ end }} - -{{ $site_type := site.Params.site_type | default "Person" }} -{{ $taxonomy := "authors" }} -{{ $profile_page := site.GetPage (printf "/%s/%s" $taxonomy $author_urlized) }} -{{ with $profile_page }} - {{/* If it's a personal site and primary page author is superuser, link to the homepage rather than their profile page. */}} - {{ $profile_url := .RelPermalink }} - {{ if and (eq $site_type "Person") (eq .Params.superuser true) }} - {{ $profile_url = site.BaseURL }} - {{ end }} - {{ $avatar := (.Resources.ByType "image").GetMatch "*avatar*" }} - {{ $avatar_shape := site.Params.avatar.shape | default "circle" }} - <div class="media author-card content-widget-hr"> - {{ if and site.Params.avatar.gravatar .Params.email }} - <img class="avatar mr-3 {{if eq $avatar_shape "square"}}avatar-square{{else}}avatar-circle{{end}}" src="https://s.gravatar.com/avatar/{{ md5 .Params.email }}?s=200')" alt="Avatar"> - {{ else if $avatar }} - {{ $avatar_image := $avatar.Fill "270x270 Center" }} - <img class="avatar mr-3 {{if eq $avatar_shape "square"}}avatar-square{{else}}avatar-circle{{end}}" src="{{ $avatar_image.RelPermalink }}" alt="Avatar"> - {{ end }} - - <div class="media-body"> - <h5 class="card-title"><a href="{{$profile_url}}">{{.Params.name}}</a></h5> - {{ with .Params.role }}<h6 class="card-subtitle">{{. | markdownify | emojify}}</h6>{{end}} - {{ with .Params.bio }}<p class="card-text">{{. | markdownify | emojify}}</p>{{end}} - {{ partial "social_links" . }} - </div> - </div> -{{end}}{{/* Profile page block */}} -{{end}}{{/* Show profile block */}} diff --git a/nemo/layouts/partials/page_edit.html b/nemo/layouts/partials/page_edit.html deleted file mode 100644 index 1e0d8fd9d04d0d04b4ce8b87473bd601e3dfd348..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_edit.html +++ /dev/null @@ -1,18 +0,0 @@ -{{ if site.Params.edit_page }}{{/* Make `edit_page` optional in `params.toml` - prevent errors if it's removed. */}} -{{ if site.Params.edit_page.repo_url | and (index site.Params.edit_page.editable .Type) | and (ne .Params.editable false) | or .Params.editable }} -{{/* Get language subfolder for multilingual sites. */}} -{{/* Limitations: the subfolder param, `<LANG>.contentDir`, is unexposed in the Hugo `site` API so we attempt to workaround this issue. */}} -{{ $content_dir := "content" }} -{{ if site.Params.edit_page.content_dir }} - {{ $content_dir = site.Params.edit_page.content_dir }} -{{else}} - {{/* Attempt to get content dir from the LanguagePrefix URI, but defaultContentLanguageInSubdir can break this assumption. */}} - {{ $content_dir = cond site.IsMultiLingual (cond (ne .Site.LanguagePrefix "") (printf "%s%s" $content_dir .Site.LanguagePrefix) $content_dir) $content_dir }} -{{end}} -<p class="edit-page"> - <a href="{{site.Params.edit_page.repo_url}}/edit/{{site.Params.edit_page.repo_branch | default "master"}}/{{$content_dir}}/{{.File.Path}}"> - <i class="fas fa-pen pr-2"></i>{{ i18n "edit_page" | default "Edit this page" }} - </a> -</p> -{{ end }} -{{ end }} diff --git a/nemo/layouts/partials/page_footer.html b/nemo/layouts/partials/page_footer.html deleted file mode 100644 index 244d2b5e9725743844a6e94858dd83edf3f6be2c..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_footer.html +++ /dev/null @@ -1,25 +0,0 @@ -{{ partial "page_edit" . }} -{{ partial "tags" . }} -{{ partial "share" . }} -{{ partial "page_author" . }} -{{ partial "comments" . }} - -{{ if site.Params.section_pager }} -<div class="article-widget"> - {{ partial "section_pager" . }} -</div> -{{ end }} - -{{ if ne .Type "page" }} - {{ $related := site.RegularPages.Related . | first 5 }} - {{ with $related }} - <div class="article-widget content-widget-hr"> - <h3>{{ i18n "related" }}</h3> - <ul> - {{ range . }} - <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li> - {{ end }} - </ul> - </div> - {{ end }} -{{ end }} diff --git a/nemo/layouts/partials/page_header.html b/nemo/layouts/partials/page_header.html deleted file mode 100644 index f0bc71c327c7160ddc73306b923a461e383d4449..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_header.html +++ /dev/null @@ -1,93 +0,0 @@ -{{ $page := . }} -{{ $featured := (.Resources.ByType "image").GetMatch "*featured*" }} -{{ $anchor := $page.Params.image.focal_point | default "Smart" }} - -{{/* Set default titles for node pages */}} -{{ $title := .Title }} -{{ if and (not $title) .IsNode }} - {{ if eq .Type "post" }} - {{ $title = i18n "posts" }} - {{ else if eq .Type "talk" }} - {{ $title = i18n "talks" }} - {{ else if eq .Type "publication" }} - {{ $title = i18n "publications" }} - {{end}} -{{end}} - -{{/* Header image */}} -{{ if and .Params.header.image (not (and $featured (not .Params.image.preview_only))) }} -<div class="article-header"> - {{ $img_src := urls.Parse .Params.header.image }} - {{ if $img_src.Scheme }} - <img src="{{ .Params.header.image }}" class="article-banner" alt=""> - {{ else }} - <img src="{{ (printf "/img/%s" .Params.header.image) | relURL }}" class="article-banner" alt=""> - {{ end }} - - {{ with .Params.header.caption }}<span class="article-header-caption">{{ . | markdownify | emojify }}</span>{{ end }} -</div> -{{end}} - -{{/* Featured image layout */}} -{{ if and $featured (not .Params.image.preview_only) }} - -{{/* Fit image within max size. */}} -{{ $image := $featured }} - -{{/* Determine image placement. */}} -{{ $placement := .Params.image.placement | default 1 }}{{/* Default to full column width. */}} -{{ $image_container := "" }} -{{ if eq $placement 2}} - {{ $image_container = "container" }} - {{ if gt $featured.Width 1200 }} - {{ $image = $featured.Resize "1200x" }} - {{ end }} -{{else if eq $placement 3}} - {{ $image_container = "container-fluid" }} - {{ $image := $featured.Fit "2560x2560" }} -{{else}} - {{ $image_container = "article-container" }} - {{ if gt $featured.Width 720 }} - {{ $image = $featured.Resize "720x" }} - {{ end }} -{{end}} - -<div class="article-container pt-3"> - <h1>{{ $title }}</h1> - - {{ with $page.Params.subtitle }} - <p class="page-subtitle">{{ . | markdownify | emojify }}</p> - {{end}} - - {{ partial "page_metadata" (dict "page" $page "is_list" 0 "share" true) }} - {{ partial "page_links_div.html" $page }} -</div> - -{{/* Featured image */}} -<div class="article-header {{$image_container}} featured-image-wrapper mt-4 mb-4" style="max-width: {{$image.Width}}px; max-height: {{$image.Height}}px;"> - <div style="position: relative"> - <img src="{{ $image.RelPermalink }}" alt="" class="featured-image"> - {{ with $.Params.image.caption }}<span class="article-header-caption">{{ . | markdownify | emojify }}</span>{{ end }} - </div> -</div> -{{else}} - {{/* Case when page has no image */}} - - {{/* Wider container for nodes */}} - {{ $ctnr := "article-container" }} - {{ if $page.IsNode }} - {{ $ctnr = "universal-wrapper" }} - {{end}} -<div class="{{$ctnr}} pt-3"> - <h1>{{ $title }}</h1> - - {{ with $page.Params.subtitle }} - <p class="page-subtitle">{{ . | markdownify | emojify }}</p> - {{end}} - - {{ if not .IsNode }} - {{ partial "page_metadata" (dict "page" $page "is_list" 0 "share" true) }} - {{ partial "page_links_div.html" $page }} - {{end}} -</div> -{{end}} diff --git a/nemo/layouts/partials/page_links.html b/nemo/layouts/partials/page_links.html deleted file mode 100644 index 4e88aa4f0d671b2d8c63d0dbaa327da5aa4dcbfa..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_links.html +++ /dev/null @@ -1,158 +0,0 @@ -{{ $is_list := .is_list }} -{{ $page := .page }} -{{ $link := "" }} - -{{/* ***** TODO: Deprecate `url_preprint` in favour of `url_pdf` given there's now a dedicated "Preprint" pub. type. ***** */}} -{{ with $page.Params.url_preprint }} - {{ $resource := $page.Resources.GetMatch . }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = . | relURL }} - {{ end }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener"> - {{ i18n "btn_preprint" }} -</a> -{{ end }} -{{ $pdf := "" }} -{{ $resource := $page.Resources.GetMatch (printf "%s.pdf" $page.File.ContentBaseName) }} -{{ with $resource }} - {{ $pdf = .RelPermalink }} -{{ else }} - {{ if $page.Params.url_pdf }} - {{ $pdf = $page.Params.url_pdf | relURL }} - {{ end }} -{{ end }} - -{{ with $pdf }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ . }}" target="_blank" rel="noopener"> - {{ i18n "btn_pdf" }} -</a> -{{ end }} -{{ $resource := $page.Resources.GetMatch "cite.bib" }} -{{ with $resource }} -<button type="button" class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}} js-cite-modal" - data-filename="{{ .RelPermalink }}"> - {{ i18n "btn_cite" }} -</button> -{{ end }} -{{ with $page.Params.url_code }} - {{ $resource := $page.Resources.GetMatch . }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = . | relURL }} - {{ end }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener"> - {{ i18n "btn_code" }} -</a> -{{ end }} -{{ with $page.Params.url_dataset }} - {{ $resource := $page.Resources.GetMatch . }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = . | relURL }} - {{ end }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener"> - {{ i18n "btn_dataset" }} -</a> -{{ end }} -{{ if $page.Params.projects }} -{{ range $page.Params.projects }} - {{ with (site.GetPage (printf "project/%s" .)) }} - <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ .RelPermalink }}"> - {{ i18n "btn_project" }} - </a> - {{ else }} - {{/* errorf "The `projects` parameter in `content/%s` references a project file, `content/project/%s`, which cannot be found. Please either set `projects = []` or fix the reference." $page.File.Path . */}} - {{ end }} -{{ end }} -{{ else }} -{{ with $page.Params.url_project }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ . }}" target="_blank" rel="noopener"> - {{ i18n "btn_project" }} -</a> -{{ end }} -{{ end }} -{{ with $page.Params.url_poster }} - {{ $resource := $page.Resources.GetMatch . }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = . | relURL }} - {{ end }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener"> - {{ i18n "btn_poster" }} -</a> -{{ end }} -{{ if $page.Params.slides }} - {{ with (site.GetPage (printf "slides/%s" $page.Params.slides)) }} - <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ .RelPermalink }}" target="_blank"> - {{ i18n "btn_slides" }} - </a> - {{ end }} -{{ else }} -{{ with $page.Params.url_slides }} - {{ $resource := $page.Resources.GetMatch . }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = . | relURL }} - {{ end }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener"> - {{ i18n "btn_slides" }} -</a> -{{ end }} -{{ end }} -{{ with $page.Params.url_video }} - {{ $resource := $page.Resources.GetMatch . }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = . | relURL }} - {{ end }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener"> - {{ i18n "btn_video" }} -</a> -{{ end }} -{{ with $page.Params.url_source }} - {{ $resource := $page.Resources.GetMatch . }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = . | relURL }} - {{ end }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener"> - {{ i18n "btn_source" }} -</a> -{{ end }} -{{ with $page.Params.doi }} -<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="https://doi.org/{{ . }}" target="_blank" rel="noopener"> - DOI -</a> -{{ end }} -{{ range $page.Params.links }} - {{ $pack := or .icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - {{ $link := .url | default "" }} - {{ $scheme := (urls.Parse $link).Scheme }} - {{ $target := "" }} - {{ if not $scheme }} - {{ $resource := $page.Resources.GetMatch $link }} - {{ if $resource }} - {{ $link = $resource.RelPermalink }} - {{ else }} - {{ $link = $link | relURL }} - {{ end }} - {{ else if in (slice "http" "https") $scheme }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}> - {{ if .icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }} {{if .name}}mr-1{{end}}"></i>{{end}} - {{ with .name }}{{ . | safeHTML }}{{end}} - </a> -{{ end }} diff --git a/nemo/layouts/partials/page_links_div.html b/nemo/layouts/partials/page_links_div.html deleted file mode 100644 index fc1491f493352b3815bb8e2575efca50da590cdc..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_links_div.html +++ /dev/null @@ -1,25 +0,0 @@ -{{/* Div wrapper around page links. */}} -{{/* The wrapper is hidden when the page has no link buttons. */}} - -{{ $page := . }} -{{ $pdf_link := false }} -{{ $cite_link := false }} -{{ $slug := $page.File.ContentBaseName }} -{{ $resource := $page.Resources.GetMatch (printf "%s.pdf" $slug) }} -{{ with $resource }} - {{ $pdf_link = true }} -{{ end }} - -{{ $resource := $page.Resources.GetMatch "cite.bib" }} -{{ with $resource }} - {{ $cite_link = true }} -{{ end }} - -{{ if $cite_link | or $pdf_link | or .Params.external_link | or .Params.url_preprint | or .Params.url_pdf | or .Params.url_slides | or .Params.url_video | or .Params.url_source | or .Params.url_code | or .Params.url_dataset | or .Params.url_poster | or .Params.url_project | or .Params.doi | or .Params.links | or .Params.projects | or .Params.slides }} -<div class="btn-links mb-3"> - {{ with .Params.external_link }} - <a class="btn btn-outline-primary my-1" href="{{ . }}" target="_blank" rel="noopener">{{ i18n "open_project_site" }}</a> - {{ end }} - {{ partial "page_links" (dict "page" $page "is_list" 0) }} -</div> -{{ end }} diff --git a/nemo/layouts/partials/page_metadata.html b/nemo/layouts/partials/page_metadata.html deleted file mode 100644 index 3d6812ed9d2f97888a2edc2acdef80845c9cfd5d..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_metadata.html +++ /dev/null @@ -1,67 +0,0 @@ -{{ $is_list := .is_list }} -{{ $page := .page }} - -<div class="article-metadata"> - - {{/* If `authors` is set and is not empty. */}} - {{ if $page.Params.authors }} - {{ $authorLen := len $page.Params.authors }} - {{ if gt $authorLen 0 }} - <div> - {{ partial "page_metadata_authors" $page }} - </div> - {{ end }} - {{ end }} - - {{ if not (in (slice "talk" "page") $page.Type) }} - <span class="article-date"> - {{ $date := $page.Lastmod.Format site.Params.date_format }} - {{ if eq $page.Type "publication" }} - {{ $date = $page.Date.Format (site.Params.publications.date_format | default "January, 2006") }} - {{ else }} - {{ if ne $page.Params.Lastmod $page.Params.Date }} - {{ i18n "last_updated" }} - {{ end }} - {{ end }} - {{ $date }} - </span> - {{ end }} - - {{ if and (eq $is_list 1) (eq $page.Type "publication") }} - <span class="middot-divider"></span> - <span class="pub-publication"> - {{ if $page.Params.publication_short }} - {{ $page.Params.publication_short | markdownify }} - {{ else if $page.Params.publication }} - {{ $page.Params.publication | markdownify }} - {{ end }} - </span> - {{ end }} - - {{ if and (eq $page.Type "post") (not (or (eq site.Params.reading_time false) (eq $page.Params.reading_time false))) }} - <span class="middot-divider"></span> - <span class="article-reading-time"> - {{ $page.ReadingTime }} {{ i18n "minute_read" }} - </span> - {{ end }} - - {{/* Show Disqus comment count if enabled. */}} - {{ $disqus_enabled := eq site.Params.comments.engine 1 | and (index site.Params.comments.commentable $page.Type) | and (ne $page.Params.commentable false) | or $page.Params.commentable }} - {{ if and $disqus_enabled (site.Params.comments.disqus.show_count | default true) }} - <span class="middot-divider"></span> - <a href="{{ $page.RelPermalink }}#disqus_thread"><!-- Count will be inserted here --></a> - {{ end}} - - {{ $taxonomy := "categories" }} - {{ with $page.Param $taxonomy }} - <span class="middot-divider"></span> - <span class="article-categories"> - <i class="fas fa-folder mr-1"></i> - {{- range $index, $value := . -}} - {{- if gt $index 0 }}, {{ end -}} - <a href="{{ (site.GetPage (printf "/%s/%s" $taxonomy (. | urlize))).RelPermalink }}">{{ . }}</a> - {{- end -}} - </span> - {{ end }} - -</div> diff --git a/nemo/layouts/partials/page_metadata_authors.html b/nemo/layouts/partials/page_metadata_authors.html deleted file mode 100644 index d9e8d537318f03389d0569709eb86c28a7264606..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/page_metadata_authors.html +++ /dev/null @@ -1,18 +0,0 @@ -{{/* Display author list. */}} - -{{ $taxonomy := "authors" }} -{{ with .Param $taxonomy }} - {{ $link_authors := site.Params.link_authors | default true }} - {{ range $index, $value := . }} - {{- $profile_page := site.GetPage (printf "/%s/%s" $taxonomy (. | anchorize)) -}} - {{- $name := $profile_page.Params.name | default ($value|markdownify) -}} - {{- if gt $index 0 }}, {{ end -}} - <span> - {{- if and $profile_page $link_authors -}} - <a href="{{$profile_page.RelPermalink}}">{{$name}}</a> - {{- else -}} - {{$name}} - {{- end -}} - </span> - {{- end -}} -{{ end }} diff --git a/nemo/layouts/partials/pagination.html b/nemo/layouts/partials/pagination.html deleted file mode 100644 index 91c521a74e363e7f86a7e8a15298c300cb1b59c2..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/pagination.html +++ /dev/null @@ -1,12 +0,0 @@ -{{ if or (.Paginator.HasPrev) (.Paginator.HasNext) }} -<nav> - <ul class="pagination justify-content-center"> - {{ if .Paginator.HasPrev }} - <li class="page-item"><a class="page-link" href="{{ .Paginator.Prev.URL }}">«</a></li> - {{ end }} - {{ if .Paginator.HasNext }} - <li class="page-item"><a class="page-link" href="{{ .Paginator.Next.URL }}">»</a></li> - {{ end }} - </ul> -</nav> -{{ end }} diff --git a/nemo/layouts/partials/portfolio_li_card.html b/nemo/layouts/partials/portfolio_li_card.html deleted file mode 100644 index 2ab8987ce70969eb09157034b72b7b8bd65bc18f..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/portfolio_li_card.html +++ /dev/null @@ -1,39 +0,0 @@ -{{ $item := .item }} -{{ $widget := .widget }} - -{{ $link := .link }} -{{ $target := .target }} - -{{/* Get summary. */}} -{{ $summary := "" }} -{{ if $item.Params.summary }} - {{ $summary = $item.Params.summary | markdownify | emojify }} -{{ else if .Params.abstract }} - {{ $summary = .Params.abstract | markdownify | emojify }} -{{ else if $item.Truncated }} - {{ $summary = $item.Summary }} -{{ else }} - {{ $summary = $item.Content }} -{{ end }} - -{{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }} -{{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }} - -<div class="project-card project-item isotope-item {{ $js_tag_classes | safeHTMLAttr }}"> - <div class="card"> - {{ with $resource }} - {{ $image := .Resize (printf "550x q90 %s") }} - <a href="{{ $link }}" {{ $target | safeHTMLAttr }} class="card-image hover-overlay"> - <img src="{{ $image.RelPermalink }}" alt="" class="img-responsive"> - </a> - {{ end }} - <div class="card-text"> - <h4><a href="{{ $link }}" {{ $target | safeHTMLAttr }}>{{ $item.Title | markdownify | emojify }}</a></h4> - {{ with $summary }} - <div class="article-style"> - <p>{{ . | truncate 135 }}</p> - </div> - {{ end }} - </div> - </div> -</div> diff --git a/nemo/layouts/partials/portfolio_li_compact.html b/nemo/layouts/partials/portfolio_li_compact.html deleted file mode 100644 index 336a38d9d0a9846cbc5fb56551177729c451eecf..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/portfolio_li_compact.html +++ /dev/null @@ -1,6 +0,0 @@ -{{ $item := .item }} -{{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }} - -<div class="col-12 isotope-item {{ $js_tag_classes | safeHTMLAttr }}"> - {{ partial "li_compact" $item }} -</div> diff --git a/nemo/layouts/partials/portfolio_li_list.html b/nemo/layouts/partials/portfolio_li_list.html deleted file mode 100644 index 6671d24cb94bcb6e85484eb773a73741654492de..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/portfolio_li_list.html +++ /dev/null @@ -1,6 +0,0 @@ -{{ $item := .item }} -{{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }} - -<div class="col-12 isotope-item {{ $js_tag_classes | safeHTMLAttr }}"> - {{ partial "li_list" $item }} -</div> diff --git a/nemo/layouts/partials/portfolio_li_showcase.html b/nemo/layouts/partials/portfolio_li_showcase.html deleted file mode 100644 index b3a1175cf5682d000b04be1830c4a29654d37aac..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/portfolio_li_showcase.html +++ /dev/null @@ -1,63 +0,0 @@ -{{ $item := .item }} -{{ $widget := .widget }} - -{{ $do_link := true }} -{{ if $item.Params.external_link | or $item.Content }} - {{ $do_link = true }} -{{ else }} - {{ $do_link = false }} -{{ end }} - -{{ $link := .link }} -{{ $target := .target }} - -{{/* Get summary. */}} -{{ $summary := "" }} -{{ if $item.Params.summary }} - {{ $summary = $item.Params.summary | markdownify | emojify }} -{{ else if .Params.abstract }} - {{ $summary = .Params.abstract | markdownify | emojify }} -{{ else if $item.Truncated }} - {{ $summary = $item.Summary }} -{{ else }} - {{ $summary = $item.Content }} -{{ end }} - -{{ $order := "" }} -{{ if and ($widget.Params.design.flip_alt_rows | default true) (not (modBool .index 2)) }} - {{ $order = "order-md-2" }} -{{ end }} - -{{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }} - -<div class="col-lg-12 project-item isotope-item {{ $js_tag_classes | safeHTMLAttr }}"> - <div class="row align-items-center"> - <div class="col-12 col-md-6"> - <h3 class="article-title mb-0 mt-0"> - {{- if $do_link}}<a href="{{ $link }}" {{ $target | safeHTMLAttr }}>{{end -}} - {{ $item.Title | markdownify | emojify }} - {{- if $do_link}}</a>{{end -}} - </h3> - - {{ with $summary }} - <div class="article-style"> - {{ . }} - </div> - {{ end }} - - <div class="btn-links"> - {{ partial "page_links" (dict "page" $item "is_list" 0) }} - </div> - - </div> - <div class="col-12 col-md-6 order-first {{$order}}"> - {{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }} - {{ with $resource }} - {{ $image := .Resize "540x" }} - {{if $do_link}}<a href="{{ $link }}" {{ $target | safeHTMLAttr }}>{{end}} - <img src="{{ $image.RelPermalink }}" alt=""> - {{if $do_link}}</a>{{end}} - {{end}} - </div> - </div> -</div> diff --git a/nemo/layouts/partials/search.html b/nemo/layouts/partials/search.html deleted file mode 100644 index ad914126e1798059061fbdd58bd0b1e595994bf6..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/search.html +++ /dev/null @@ -1,32 +0,0 @@ -<aside class="search-results" id="search"> - <div class="container"> - <section class="search-header"> - - <div class="row no-gutters justify-content-between mb-3"> - <div class="col-6"> - <h1>{{ i18n "search" }}</h1> - </div> - <div class="col-6 col-search-close"> - <a class="js-search" href="#"><i class="fas fa-times-circle text-muted" aria-hidden="true"></i></a> - </div> - </div> - - <div id="search-box"> - {{ if eq site.Params.search.engine 1 }} - <input name="q" id="search-query" placeholder="{{i18n "search_placeholder"}}" autocapitalize="off" - autocomplete="off" autocorrect="off" spellcheck="false" type="search"> - {{ else }} - <!-- Search box will appear here --> - {{ end }} - </div> - - </section> - <section class="section-search-results"> - - <div id="search-hits"> - <!-- Search results will appear here --> - </div> - - </section> - </div> -</aside> diff --git a/nemo/layouts/partials/section_pager.html b/nemo/layouts/partials/section_pager.html deleted file mode 100644 index 3f082d6f9979d00d2084f81d6a60a12da03a589a..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/section_pager.html +++ /dev/null @@ -1,18 +0,0 @@ -{{ $str := "" }} -<div class="post-nav"> - {{if .NextInSection}} - {{/* For the docs layout, prev/next labels are reversed. */}} - {{ if eq .Type "docs" }}{{ $str = "previous" }}{{else}}{{ $str = "next" }}{{end}} - <div class="post-nav-item"> - <div class="meta-nav">{{ i18n $str }}</div> - <a href="{{.NextInSection.RelPermalink}}" rel="next">{{.NextInSection.Title}}</a> - </div> - {{end}} - {{if .PrevInSection}} - {{ if eq .Type "docs" }}{{ $str = "next" }}{{else}}{{ $str = "previous" }}{{end}} - <div class="post-nav-item"> - <div class="meta-nav">{{ i18n $str }}</div> - <a href="{{.PrevInSection.RelPermalink}}" rel="prev">{{.PrevInSection.Title}}</a> - </div> - {{end}} -</div> diff --git a/nemo/layouts/partials/share.html b/nemo/layouts/partials/share.html deleted file mode 100644 index 979c3750d52d53c0db57d48343e64ed0616edfff..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/share.html +++ /dev/null @@ -1,20 +0,0 @@ -{{ if and site.Params.sharing (ne .Params.share false) }} -<div class="share-box" aria-hidden="true"> - <ul class="share"> - {{ range where site.Data.page_sharer.buttons "enable" true }} - {{ $pack := or .icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - {{ $link := replace .url "{url}" ($.Permalink | htmlEscape) }} - {{ $link = replace $link "{title}" ($.Title | htmlEscape) }} - <li> - <a href="{{$link|safeURL}}" target="_blank" rel="noopener" class="share-btn-{{.id}}"> - <i class="{{$pack}} {{$pack_prefix}}-{{.icon}}"></i> - </a> - </li> - {{ end }} - </ul> -</div> -{{ end }} diff --git a/nemo/layouts/partials/site_footer.html b/nemo/layouts/partials/site_footer.html deleted file mode 100644 index 7a8c2b73a9b648d3f22a38c1d3810dbea69a3994..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/site_footer.html +++ /dev/null @@ -1,31 +0,0 @@ -<footer class="site-footer"> - {{ if or (site.GetPage "terms.md") (site.GetPage "privacy.md") }} - <p class="powered-by"> - {{ with site.GetPage "privacy.md" }} - {{ printf "<a href=\"%s\">%s</a>" .RelPermalink .Title | safeHTML }} - {{ end }} - {{ with site.GetPage "terms.md" }} - {{ if site.GetPage "privacy.md" }} · {{ end }} - {{ printf "<a href=\"%s\">%s</a>" .RelPermalink .Title | safeHTML }} - {{ end }} - </p> - {{ end }} - - <p class="powered-by"> - {{ with site.Copyright }}{{ replace . "{year}" now.Year | markdownify}} · {{ end }} - - Powered by the - <a href="https://sourcethemes.com/academic/" target="_blank" rel="noopener">Academic theme</a> for - <a href="https://gohugo.io" target="_blank" rel="noopener">Hugo</a>. - - {{ if not (in (slice "docs" "updates") .Type) }} - <span class="float-right" aria-hidden="true"> - <a href="#" class="back-to-top"> - <span class="button_icon"> - <i class="fas fa-chevron-up fa-2x"></i> - </span> - </a> - </span> - {{ end }} - </p> -</footer> diff --git a/nemo/layouts/partials/site_head.html b/nemo/layouts/partials/site_head.html deleted file mode 100644 index 79137ba15fb58ed88a26a0e2647889233dc2166a..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/site_head.html +++ /dev/null @@ -1,204 +0,0 @@ -<head> - - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="generator" content="Source Themes Academic {{ site.Data.academic.version }}"> - - {{ $scr := .Scratch }} - - {{/* Attempt to load superuser. */}} - {{ $superuser_name := "" }} - {{ $superuser_username := "" }} - {{ $superuser_role := "" }} - {{ range first 1 (where (where site.Pages "Section" "authors") "Params.superuser" true) }} - {{ $superuser_name = .Params.name }} - {{ $superuser_username = path.Base (path.Split .Path).Dir }} - {{ $superuser_role = .Params.role }} - {{ end }} - {{ $scr.Set "superuser_username" $superuser_username }}{{/* Set superuser globally for page_author.html. */}} - - {{ with $superuser_name }}<meta name="author" content="{{ . }}">{{ end }} - - {{/* Generate page description. */}} - {{ $desc := "" }} - {{ if .Params.summary }} - {{ $desc = .Params.summary }} - {{ else if .Params.abstract }} - {{ $desc = .Params.abstract }} - {{ else if .IsPage }} - {{ $desc = .Summary }} - {{ else if site.Params.description }} - {{ $desc = site.Params.description }} - {{ else }} - {{ $desc = $superuser_role }} - {{ end }} - <meta name="description" content="{{ $desc }}"> - - {{ range .Translations }} - <link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}"> - {{ end }} - <link rel="alternate" hreflang="{{ site.LanguageCode | default "en-us" }}" href="{{ .Permalink }}"> - - {{ partial "functions/parse_theme" . }} - {{ $css := site.Data.assets.css }} - {{ $js := site.Data.assets.js }} - {{ if ne ($scr.Get "primary") "#fff" }} - <meta name="theme-color" content="{{ $scr.Get "primary" }}"> - {{ end }} - - {{/* Config LaTeX math rendering. */}} - {{ if or .Params.math site.Params.math }} - {{ $mathjax_config := resources.Get "js/mathjax-config.js" }} - <script src="{{ $mathjax_config.RelPermalink }}"></script> - {{ end }} - - {{/* Attempt to load local vendor CSS, otherwise load from CDN. */}} - {{ $scr.Set "vendor_css_filename" "main.min.css" }} - {{ $scr.Set "vendor_js_filename" "main.min.js" }} - {{ if and (fileExists (printf "static/css/vendor/%s" ($scr.Get "vendor_css_filename"))) (fileExists (printf "static/js/vendor/%s" ($scr.Get "vendor_js_filename"))) }} - {{ $scr.Set "use_cdn" 0 }} - <link rel="stylesheet" href="{{ printf "/css/vendor/%s" ($scr.Get "vendor_css_filename") | relURL }}"> - {{ else }} - {{ $scr.Set "use_cdn" 1 }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.academicons.url $css.academicons.version) $css.academicons.sri | safeHTML }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.fontAwesome.url $css.fontAwesome.version) $css.fontAwesome.sri | safeHTML }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.fancybox.url $css.fancybox.version) $css.fancybox.sri | safeHTML }} - - {{/* Default to enabling highlighting, but allow the user to override it in .Params or site.Params. - Use $scr to store "highlight_enabled", so that we can read it again in footer.html. */}} - {{ $scr.Set "highlight_enabled" true }} - {{ if isset .Params "highlight" }} - {{ $scr.Set "highlight_enabled" .Params.highlight }} - {{ else if isset site.Params "highlight" }} - {{ $scr.Set "highlight_enabled" site.Params.highlight }} - {{ end }} - {{ if ($scr.Get "highlight_enabled") }} - {{ $v := $css.highlight.version }} - {{ with site.Params.highlight_style }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-light\">" (printf $css.highlight.url $css.highlight.version .) | safeHTML }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-dark\" disabled>" (printf $css.highlight.url $css.highlight.version .) | safeHTML }} - {{ else }} - {{ if eq ($scr.Get "light") true }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-light\">" (printf $css.highlight.url $css.highlight.version "github") | safeHTML }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-dark\" disabled>" (printf $css.highlight.url $css.highlight.version "dracula") | safeHTML }} - {{ else }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-light\" disabled>" (printf $css.highlight.url $css.highlight.version "github") | safeHTML }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-dark\">" (printf $css.highlight.url $css.highlight.version "dracula") | safeHTML }} - {{ end }} - {{ end }} - {{ end }} - - {{ if or (eq site.Params.map.engine 2) (eq site.Params.map.engine 3) }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.leaflet.url $css.leaflet.version) $css.leaflet.sri | safeHTML }} - {{ end }} - - {{ if eq site.Params.search.engine 2 }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.instantsearch.url $css.instantsearch.version) $css.instantsearch.sri | safeHTML }} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.instantsearchTheme.url $css.instantsearchTheme.version) $css.instantsearchTheme.sri | safeHTML }} - {{ end }} - - {{/* Load async scripts. */}} - {{ range $k, $v := site.Data.assets.js }}{{/* TODO: investigate why `where ... "async" true` does not work. */}} - {{ $load := $v.async }} - - {{/* Only load MathJax if required. */}} - {{ if (eq $k "mathJax") | and (not (or $.Params.math site.Params.math)) }} - {{ $load = false }} - {{end}} - - {{ if $load }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" async></script>" (printf $v.url $v.version) $v.sri | safeHTML }} - {{end}} - {{end}} - - {{ end }} - - {{/* We cannot use SRI with Google Fonts because the CSS is dynamically generated according to the user agent. */}} - {{/* Hugo's htmlEscape cannot escape "|" in Google Font URIs so we implement our own escape functionality. */}} - {{ with ($scr.Get "google_fonts") }} - <link rel="stylesheet" {{ printf "href=\"https://fonts.googleapis.com/css?family=%s&display=swap\"" . | replaceRE "\\|" "%7C" | safeHTMLAttr }}> - {{ end }} - - {{ $css_comment := printf "/*!* Source Themes Academic v%s (https://sourcethemes.com/academic/) */\n" site.Data.academic.version }} - {{ $css_bundle_head := $css_comment | resources.FromString "css/bundle-head.css" }} - {{ $css_options := dict "targetPath" "css/academic.css" }} - {{- if (in (slice (getenv "HUGO_ENV") hugo.Environment) "production") -}} - {{- $css_options = merge $css_options (dict "outputStyle" "compressed") -}} - {{- end -}} - {{ $sass_template := resources.Get "scss/main.scss" }} - {{ $style := $sass_template | resources.ExecuteAsTemplate "main_parsed.scss" . | toCSS $css_options }} - {{ $style := slice $css_bundle_head $style | resources.Concat "css/academic.css" }} - {{- if (eq (getenv "HUGO_ENV") "production") -}} - {{- $style = $style | minify | fingerprint "md5" -}} - {{- end -}} - <link rel="stylesheet" href="{{ $style.RelPermalink }}"> - - {{ partial "marketing/google_analytics" . }} - {{ partial "marketing/google_tag_manager" . }} - - {{ with .OutputFormats.Get "RSS" }} - <link rel="alternate" href="{{.RelPermalink}}" type="application/rss+xml" title="{{site.Title}}"> - {{ end }} - - <link rel="manifest" href="{{ "index.webmanifest" | relLangURL }}"> - <link rel="icon" type="image/png" href="{{(partial "functions/get_icon" 32).RelPermalink}}"> - <link rel="apple-touch-icon" type="image/png" href="{{(partial "functions/get_icon" 192).RelPermalink}}"> - - <link rel="canonical" href="{{ .Permalink }}"> - - {{ $featured_image := (.Resources.ByType "image").GetMatch "*featured*" }} - {{ $has_logo := fileExists "assets/images/logo.png" | or (fileExists "assets/images/logo.svg") }} - {{ $og_image := "" }} - {{ $twitter_card := "summary_large_image" }} - {{ if $featured_image }} - {{ $og_image = $featured_image.Permalink }} - {{ else if .Params.header.image }} - {{ $og_image = printf "img/%s" .Params.header.image | absURL }} - {{ else if site.Params.sharing_image }} - {{ $og_image = printf "img/%s" site.Params.sharing_image | absURL }} - {{ else if $has_logo }} - {{ $og_image = (partial "functions/get_logo" (dict "constraint" "fit" "size" 300)).Permalink }} - {{ $twitter_card = "summary" }} - {{ else if site.Params.avatar }} - {{ $og_image = (printf "img/%s" site.Params.avatar) | absURL }} - {{ $twitter_card = "summary" }} - {{ else }} - {{ $og_image = (partial "functions/get_icon" 512).Permalink }} - {{ $twitter_card = "summary" }} - {{ end }} - {{ $scr.Set "og_image" $og_image }}{{/* Set `og_image` globally for `rss.xml`. */}} - <meta property="twitter:card" content="{{ $twitter_card }}"> - {{ with site.Params.twitter }} - <meta property="twitter:site" content="@{{ . }}"> - <meta property="twitter:creator" content="@{{ . }}"> - {{ end }} - <meta property="og:site_name" content="{{ site.Title }}"> - <meta property="og:url" content="{{ .Permalink }}"> - <meta property="og:title" content="{{ if not .IsHome }}{{ .Params.name | default .Title }} | {{ end }}{{ site.Title }}"> - <meta property="og:description" content="{{ $desc }}"> - {{- with $og_image -}} - <meta property="og:image" content="{{.}}"> - <meta property="twitter:image" content="{{.}}"> - {{- end -}} - <meta property="og:locale" content="{{ site.LanguageCode | default "en-us" }}"> - {{ if .IsPage }} - {{ if not .PublishDate.IsZero }} - <meta property="article:published_time" content="{{ .PublishDate.Format "2006-01-02T15:04:05-07:00" | safeHTML }}"> - {{ else if not .Date.IsZero }} - <meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}"> - {{ end }} - {{ if not .Lastmod.IsZero }}<meta property="article:modified_time" content="{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}">{{ end }} - {{ else }} - {{ if not .Date.IsZero }}<meta property="og:updated_time" content="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}">{{ end }} - {{ end }} - - {{ partial "jsonld/main" (dict "page" . "summary" $desc) }} - - {{ partial "cookie_consent" . }} - - {{ partial "custom_head" . }} - - <title>{{ if not .IsHome }}{{ .Params.name | default .Title }} | {{ end }}{{ site.Title }}</title> - -</head> diff --git a/nemo/layouts/partials/site_js.html b/nemo/layouts/partials/site_js.html deleted file mode 100644 index 37afbc33d301b8dbc1db49f70a321b143d7401aa..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/site_js.html +++ /dev/null @@ -1,151 +0,0 @@ - {{ $scr := $.Scratch }} - - {{/* Attempt to load local vendor JS, otherwise load from CDN. */}} - {{ $js := site.Data.assets.js }} - {{ if not ($scr.Get "use_cdn") }} - <script src="{{ printf "/js/vendor/%s" ($scr.Get "vendor_js_filename") | relURL }}"></script> - {{ else }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.jQuery.url $js.jQuery.version) $js.jQuery.sri | safeHTML }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.imagesLoaded.url $js.imagesLoaded.version) $js.imagesLoaded.sri | safeHTML }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.isotope.url $js.isotope.version) $js.isotope.sri | safeHTML }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.fancybox.url $js.fancybox.version) $js.fancybox.sri | safeHTML }} - - {{ if or .Params.diagram site.Params.diagram }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"mermaid\"></script>" (printf $js.mermaid.url $js.mermaid.version) $js.mermaid.sri | safeHTML }} - {{ end }} - - {{ if $.Scratch.Get "highlight_enabled" }} - {{ $v := $js.highlight.version }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.highlight.url $v) $js.highlight.sri | safeHTML }} - {{ range site.Params.highlight_languages }} - <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/languages/{{ . }}.min.js"></script> - {{ end }} - {{ end }} - - {{ end }} - - {{/* Maps JS. */}} - {{ if eq site.Params.map.engine 1 }} - <script async defer src="https://maps.googleapis.com/maps/api/js?key={{ site.Params.map.api_key }}"></script> - {{ if ($scr.Get "use_cdn") }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.gmaps.url $js.gmaps.version) $js.gmaps.sri | safeHTML }} - {{ end }} - {{ else if and (or (eq site.Params.map.engine 2) (eq site.Params.map.engine 3)) ($scr.Get "use_cdn") }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.leaflet.url $js.leaflet.version) $js.leaflet.sri | safeHTML }} - {{ end }} - - {{/* Initialise code highlighting. */}} - {{ if $scr.Get "highlight_enabled" }} - <script>const code_highlighting = true;</script> - {{ else }} - <script>const code_highlighting = false;</script> - {{ end }} - - {{/* Initialise default theme. */}} - {{ if eq ($scr.Get "light") true }} - <script>const isSiteThemeDark = false;</script> - {{ else }} - <script>const isSiteThemeDark = true;</script> - {{ end }} - - {{ if ne site.Params.search.engine 0 }} - {{/* Configure search engine. */}} - {{ $min_length := site.Params.search.academic.min_length | default 1 }} - {{ $threshold := site.Params.search.academic.threshold | default 0.3 }} - {{ $search_i18n := dict "placeholder" (i18n "search_placeholder") "results" (i18n "search_results") "no_results" (i18n "search_no_results") }} - {{ $search_config := dict "indexURI" ("/index.json" | relLangURL) "threshold" $threshold "minLength" $min_length }} - <script> - const search_config = {{ $search_config | jsonify | safeJS }}; - const i18n = {{ $search_i18n | jsonify | safeJS }}; - const content_type = { - 'post': {{ i18n "posts" }}, - 'project': {{ i18n "projects" }}, - 'publication' : {{ i18n "publications" }}, - 'talk' : {{ i18n "talks" }} - }; - </script> - {{ end }} - - {{/* Load hash anchors for documentation pages. */}} - {{ if eq .Type "docs" }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.anchor.url $js.anchor.version) $js.anchor.sri | safeHTML }} - <script> - anchors.add(); - </script> - {{ end }} - - {{ if eq site.Params.search.engine 1 }} - {{/* Fuse search result template. */}} - <script id="search-hit-fuse-template" type="text/x-template"> - <div class="search-hit" id="summary-{{"{{key}}"}}"> - <div class="search-hit-content"> - <div class="search-hit-name"> - {{ printf "<a href=\"%s\">%s</a>" "{{relpermalink}}" "{{title}}" | safeHTML }} - <div class="article-metadata search-hit-type">{{"{{type}}"}}</div> - <p class="search-hit-description">{{"{{snippet}}"}}</p> - </div> - </div> - </div> - </script> - {{ else if eq site.Params.search.engine 2 }} - {{/* Algolia search result template. */}} - <script id="search-hit-algolia-template" type="text/html"> - <div class="search-hit"> - <div class="search-hit-content"> - <div class="search-hit-name"> - {{ printf "<a href=\"%s\">{{{_highlightResult.title.value}}}</a>" "{{relpermalink}}" | safeHTML }} - </div> - <div class="article-metadata search-hit-type">{{"{{type}}"}}</div> - <p class="search-hit-description">{{ safeHTML "{{{_highlightResult.summary.value}}}" }}</p> - </div> - </div> - </script> - {{ end }} - - {{/* Fuse search engine. */}} - {{ if and (eq site.Params.search.engine 1) ($scr.Get "use_cdn") }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.fuse.url $js.fuse.version) $js.fuse.sri | safeHTML }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.mark.url $js.mark.version) $js.mark.sri | safeHTML }} - {{ end }} - - {{/* Algolia search engine. */}} - {{ if eq site.Params.search.engine 2 }} - {{ if ($scr.Get "use_cdn") }} - {{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.instantsearch.url $js.instantsearch.version) $js.instantsearch.sri | safeHTML }} - {{ end }} - <script> - const algoliaConfig = { - appId: {{ site.Params.search.algolia.app_id }}, - apiKey: {{ site.Params.search.algolia.api_key }}, - indexName: {{ site.Params.search.algolia.index_name }}, - poweredBy: {{ site.Params.search.algolia.show_logo | default false }} - }; - </script> - {{ end }} - - {{/* Disqus Comment Count JS. */}} - {{ if and (eq site.Params.comments.engine 1) (site.Params.comments.disqus.show_count | default true) }} - <script id="dsq-count-scr" src="https://{{site.Params.comments.disqus.shortname}}.disqus.com/count.js" async></script> - {{ end }} - - {{ $js_comment := printf "/* Source Themes Academic v%s | https://sourcethemes.com/academic/ */\n" site.Data.academic.version }} - {{ $js_bundle_head := $js_comment | resources.FromString "js/bundle-head.js" }} - {{ $js_linebreak := "\n" | resources.FromString "js/linebreak.js" }}{{/* Fix no line break after Bootstrap JS causing error. */}} - {{ $js_academic := resources.Get "js/academic.js" }} - {{ $js_academic_search := resources.Get "js/academic-search.js" }} - {{ $js_algolia_search := resources.Get "js/algolia-search.js" }} - {{ $js_bootstrap := resources.Get "js/vendor/bootstrap.min.js" }} - {{ $js_bundle := slice $js_bootstrap $js_linebreak $js_academic }} - {{ if eq site.Params.search.engine 1 }} - {{ $js_bundle = $js_bundle | append $js_academic_search }} - {{ else if eq site.Params.search.engine 2 }} - {{ $js_bundle = $js_bundle | append $js_algolia_search }} - {{ end }} - {{ range site.Params.plugins_js }} - {{ $js_bundle = $js_bundle | append (resources.Get (printf "js/%s.js" .)) }} - {{ end }} - {{ $js_bundle := $js_bundle | resources.Concat "js/academic-bundle-pre.js" | minify }} - {{ $js_bundle := slice $js_bundle_head $js_bundle | resources.Concat "js/academic.min.js" | fingerprint "md5" }} - <script src="{{ $js_bundle.RelPermalink }}"></script> - - {{ partial "custom_js" . }} diff --git a/nemo/layouts/partials/slides.html b/nemo/layouts/partials/slides.html deleted file mode 100644 index 4f87c5f8512c1e7c86370b247a18a16d14585ad8..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/slides.html +++ /dev/null @@ -1,28 +0,0 @@ -<div class="reveal"> - <div class="slides"> - {{/* Loop over each page. */}} - {{ range . }} - {{ if ne (len .Content) 0 }} - - {{/* Must remove `<hr />` generated by Blackfriday footnotes as conflicts with slide delimiter. */}} - {{/* Commented out workaround as Blackfriday has been superseded by Goldmark in Hugo 0.60. */}} - {{/* TODO: reintroduce a similar workaround if Goldmark requires it. */}} - {{/* $content := replace .Content "<div class=\"footnotes\">\n\n<hr />" "<div class=\"footnotes\">" */}} - {{ $content := .Content }}{{/* For Goldmark. */}} - - {{/* Let `---` delimit slides. In Goldmark, that is `<hr>`. Alternatively, for Blackfriday, use `<hr />`. */}} - {{ range (split $content "<hr>") }} - - {{/* Each `<section>` defines a new slide. */}} - {{/* Only begin new slide `<section>` if not already added by custom `slide` shortcode. */}} - {{ if not (in . "data-noprocess") }} - <section> - {{ end }} - {{ . | safeHTML }} - </section> - {{ end }} - - {{ end }} - {{ end }} - </div> -</div> diff --git a/nemo/layouts/partials/social_links.html b/nemo/layouts/partials/social_links.html deleted file mode 100644 index 78de30afcca606833b27e808acd107a9bfdafba3..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/social_links.html +++ /dev/null @@ -1,22 +0,0 @@ -<ul class="network-icon" aria-hidden="true"> - {{ range .Params.social }} - {{ $pack := or .icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - {{ $link := .link }} - {{ $scheme := (urls.Parse $link).Scheme }} - {{ $target := "" }} - {{ if not $scheme }} - {{ $link = .link | relLangURL }} - {{ else if in (slice "http" "https") $scheme }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - <li> - <a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}> - <i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }}"></i> - </a> - </li> - {{end}} -</ul> diff --git a/nemo/layouts/partials/tags.html b/nemo/layouts/partials/tags.html deleted file mode 100644 index 721c11978fdc185dd26a7f31425533a0bdea977b..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/tags.html +++ /dev/null @@ -1,8 +0,0 @@ -{{ $taxonomy := "tags" }} -{{ with .Param $taxonomy }} -<div class="article-tags"> - {{ range $index, $value := . }} - <a class="badge badge-light" href="{{ (site.GetPage (printf "/%s/%s" $taxonomy (. | urlize))).RelPermalink }}">{{ . }}</a> - {{ end }} -</div> -{{ end }} diff --git a/nemo/layouts/partials/widget_page.html b/nemo/layouts/partials/widget_page.html deleted file mode 100644 index 6379a56a5ddd2bbb307d8c204350ec9acbb63eb8..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widget_page.html +++ /dev/null @@ -1,82 +0,0 @@ -{{/* Notify JS that this is a widget page */}} -<span class="js-widget-page d-none"></span> - -{{/* Get widget page */}} -{{ $page := "" }} -{{ if .IsHome }} - {{ $page = "/home" }} -{{ else }} - {{ $page = .File.Path }} -{{ end }} -{{ $headless_bundle := site.GetPage $page }} -{{/* Check homepage exists */}} -{{ if not $headless_bundle }} - {{ errorf "Homepage not found or duplicate homepages detected for a localization! Add the `home/` folder (especially `/home/index.md`) to each language's content folder. For example, your site should have a `content/home/` folder containing `index.md` and your homepage sections, or for multi-language sites, `content/en/home/` and `content/zh/home/` etc. Refer to the 'Build Your Homepage' and 'Language' documentation at https://sourcethemes.com/academic/docs/ and the example homepage at https://github.com/gcushen/hugo-academic/tree/master/exampleSite/content/home/index.md ." }} -{{ end }} - -{{/* Load page sections */}} -{{ range $index, $st := where ( $headless_bundle.Resources.ByType "page" ) ".Params.active" "!=" false }} - {{/* Begin widget styling */}} - {{ $bg := $st.Params.design.background }} - {{ $style := "" }} - - {{ if $bg.color }} - {{ $style = printf "background-color: %s;" ($bg.color | default "transparent") }} - {{ end }} - - {{ if and $bg.gradient_start $bg.gradient_end }} - {{ $style = printf "%sbackground-image: linear-gradient(%s, %s);" $style $bg.gradient_start $bg.gradient_end }} - {{ end }} - - {{ if $bg.image }} - {{ $darken := "" }} - {{ if $bg.image_darken }} - {{ $darken = printf "linear-gradient(rgba(0, 0, 0, %s), rgba(0, 0, 0, %s))," (string $bg.image_darken) (string $bg.image_darken) }} - {{ end }} - {{/* See Hugo note on linking assets in styles: https://github.com/gohugoio/hugoThemes#common-permalink-issues */}} - {{ $style = printf "%sbackground-image: %s url('%s');" $style $darken (printf "img/%s" $bg.image | absURL) }} - {{ with $bg.image_size }} - {{/* Allow sizes: actual, cover, and contain. */}} - {{ $style = printf "%sbackground-size: %s;" $style (replace . "actual" "auto") }} - {{ end }} - {{ with $bg.image_position }} - {{/* Allow valid CSS positions including left, center, and right. */}} - {{ $style = printf "%sbackground-position: %s;" $style . }} - {{ end }} - {{ end }} - - {{ with $st.Params.design.spacing.padding }} - {{ $style_pad := printf "padding: %s;" (delimit . " ") }} - {{ $style = print $style $style_pad }} - {{ end }} - - {{ with $st.Params.advanced.css_style }} - {{ $style = print $style . }} - {{ end }} - - {{/* Fix Hugo's ContentBaseName returning wrong file base name when page section is within a bundle. */}} - {{ $hash_id := replace $st.File.ContentBaseName "index" (path.Base (path.Split .Path).Dir) }} - - {{ $widget := or $st.Params.widget "blank" }} - {{ if eq $widget "custom" }}{{ $widget = "blank" }}{{ end }}{{/* Support legacy Custom widget */}} - {{ if eq $widget "projects" }}{{ $widget = "portfolio" }}{{ end }}{{/* Support legacy Projects widget */}} - - {{ $widget_path := printf "widgets/%s.html" $widget }} - {{ $widget_args := dict "root" $ "page" $st "hash_id" $hash_id }} - {{ $css_classes := $st.Params.advanced.css_class | default "" }} - {{ $extra_attributes := "" }} - {{ $use_container := true }} - - {{/* Special case: Slider widget. */}} - {{ if in (slice "slider") $widget }} - {{ $css_classes = print $css_classes " carousel slide" }} - {{ $extra_attributes = printf "data-ride=\"carousel\" data-interval=\"%s\"" (string $st.Params.interval | default "5000") }} - {{ $use_container = false }} - {{ end }} - - <section id="{{$hash_id}}" class="home-section {{printf "wg-%s" (replace $widget "_" "-")}} {{if $bg.text_color_light}}dark{{end}} {{if $bg.image}} bg-image{{if ($bg.image_parallax | default true) }} parallax{{end}}{{end}} {{with $css_classes}}{{.}}{{end}}" {{with $style}}style="{{. | safeCSS}}"{{end}} {{print $extra_attributes | safeHTMLAttr}}> - {{if $use_container}}<div class="container">{{end}} - {{ partial $widget_path $widget_args }} - {{if $use_container}}</div>{{end}} - </section> -{{ end }} diff --git a/nemo/layouts/partials/widgets/about.html b/nemo/layouts/partials/widgets/about.html deleted file mode 100644 index 430f5c87eda2624f1a699b3622146d07c09673f8..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/about.html +++ /dev/null @@ -1,109 +0,0 @@ -{{ $ := .root }} -{{ $page := .page }} - -{{ $author := "" }} -{{ if .author }} - {{ $author = .author }} -{{ else }} - {{ $author = $page.Params.author }} -{{end}} - -{{ $person_page_path := (printf "/authors/%s" (anchorize $author)) }} -{{ $person_page := site.GetPage $person_page_path }} -{{ if not $person_page }} - {{ errorf "Could not find an author page at `%s`. Please check the value of `author` in your About widget and create an associated author page if one does not already exist. See https://sourcethemes.com/academic/docs/page-builder/#about " $person_page_path }} -{{end}} -{{ $person := $person_page.Params }} -{{ $avatar := ($person_page.Resources.ByType "image").GetMatch "*avatar*" }} -{{ $avatar_shape := site.Params.avatar.shape | default "circle" }} - -<!-- About widget --> -<div class="row"> - <div class="col-12 col-lg-4"> - <div id="profile"> - - {{ if site.Params.avatar.gravatar }} - <img class="avatar {{if eq $avatar_shape "square"}}avatar-square{{else}}avatar-circle{{end}}" src="https://s.gravatar.com/avatar/{{ md5 $person.email }}?s=270')" alt="Avatar"> - {{ else if $avatar }} - {{ $avatar_image := $avatar.Fill "270x270 Center" }} - <img class="avatar {{if eq $avatar_shape "square"}}avatar-square{{else}}avatar-circle{{end}}" src="{{ $avatar_image.RelPermalink }}" alt="Avatar"> - {{ end }} - - <div class="portrait-title"> - <h2>{{ $person.name }}</h2> - {{ with $person.role }}<h3>{{ . | markdownify | emojify }}</h3>{{ end }} - - {{ range $person.organizations }} - <h3> - {{ with .url }}<a href="{{ . }}" target="_blank" rel="noopener">{{ end }} - <span>{{ .name }}</span> - {{ if .url }}</a>{{ end }} - </h3> - {{ end }} - </div> - - <ul class="network-icon" aria-hidden="true"> - {{ range $person.social }} - {{ $pack := or .icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - {{ $link := .link }} - {{ $scheme := (urls.Parse $link).Scheme }} - {{ $target := "" }} - {{ if not $scheme }} - {{ $link = .link | relLangURL }} - {{ else if in (slice "http" "https") $scheme }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - <li> - <a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}> - <i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }} big-icon"></i> - </a> - </li> - {{ end }} - </ul> - - </div> - </div> - <div class="col-12 col-lg-8"> - - {{/* Only display widget title in explicit instances of about widget, not in author pages. */}} - {{ if and $page.Params.widget $page.Title }}<h1>{{ $page.Title | markdownify | emojify }}</h1>{{ end }} - - {{ $person_page.Content }} - - <div class="row"> - - {{ with $person.interests }} - <div class="col-md-5"> - <h3>{{ i18n "interests" | markdownify }}</h3> - <ul class="ul-interests"> - {{ range . }} - <li>{{ . | markdownify | emojify }}</li> - {{ end }} - </ul> - </div> - {{ end }} - - {{ with $person.education }} - <div class="col-md-7"> - <h3>{{ i18n "education" | markdownify }}</h3> - <ul class="ul-edu fa-ul"> - {{ range .courses }} - <li> - <i class="fa-li fas fa-graduation-cap"></i> - <div class="description"> - <p class="course">{{ .course }}{{ with .year }}, {{ . }}{{ end }}</p> - <p class="institution">{{ .institution }}</p> - </div> - </li> - {{ end }} - </ul> - </div> - {{ end }} - - </div> - </div> -</div> diff --git a/nemo/layouts/partials/widgets/accomplishments.html b/nemo/layouts/partials/widgets/accomplishments.html deleted file mode 100644 index c9a8cf25b16665c6b8f928a7dc1a9e677997d491..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/accomplishments.html +++ /dev/null @@ -1,48 +0,0 @@ -{{ $ := .root }} -{{ $page := .page }} - -<!-- Accomplishments widget --> -<div class="row"> - <div class="col-12 col-lg-4 section-heading"> - <h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1> - {{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }} - </div> - <div class="col-12 col-lg-8"> - {{ with $page.Content }}{{ . }}{{ end }} - - {{ if $page.Params.item }} - {{ range $idx, $key := sort $page.Params.item ".date_start" "desc" }} - <div class="card experience course"> - <div class="card-body"> - {{- with .url -}}<a href="{{.}}" target="_blank" rel="noopener">{{- end -}} - <h4 class="card-title exp-title text-muted my-0">{{.title | markdownify | emojify}}</h4> - {{- with .url -}}</a>{{- end -}} - - <div class="card-subtitle my-0 article-metadata"> - {{- with .organization_url}}<a href="{{.}}" target="_blank" rel="noopener">{{end -}} - {{- .organization | markdownify | emojify -}} - {{- with .organization_url}}</a>{{end -}} - - <span class="middot-divider"></span> - - {{ (time .date_start).Format ($page.Params.date_format | default "Jan 2006") }} - {{ if .date_end}} - – {{ (time .date_end).Format ($page.Params.date_format | default "Jan 2006") }} - {{end}} - </div> - - {{with .description}} - <div class="card-text">{{. | markdownify | emojify}}</div> - {{end}} - - {{ with .certificate_url }} - <a class="card-link" href="{{.}}" target="_blank" rel="noopener"> - {{ i18n "see_certificate" | default "See certificate" }} - </a> - {{ end }} - </div> - </div> - {{end}} - {{end}} - </div> -</div> diff --git a/nemo/layouts/partials/widgets/blank.html b/nemo/layouts/partials/widgets/blank.html deleted file mode 100644 index 9f75bef114693c7071053eb33c873fa30deda641..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/blank.html +++ /dev/null @@ -1,20 +0,0 @@ -{{ $st := .page }} -{{ $columns := $st.Params.design.columns | default "2" }} - -<div class="row"> - {{ if ne $columns "1" }} - <div class="col-12 col-lg-4 section-heading"> - {{ with $st.Title }}<h1>{{ . | markdownify | emojify }}</h1>{{ end }} - {{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - </div> - <div class="col-12 col-lg-8"> - {{ $st.Content }} - </div> - {{ else }} - <div class="col-lg-12"> - {{ with $st.Title }}<h1>{{ . | markdownify | emojify }}</h1>{{ end }} - {{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - {{ $st.Content }} - </div> - {{ end }} -</div> diff --git a/nemo/layouts/partials/widgets/contact.html b/nemo/layouts/partials/widgets/contact.html deleted file mode 100644 index ddc46091dfc8ed62d75ca9fdd12ac56ba87d7271..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/contact.html +++ /dev/null @@ -1,138 +0,0 @@ -{{ $ := .root }} -{{ $page := .page }} -{{ $autolink := default true $page.Params.autolink }} -{{ $data := site.Params }} - -<!-- Contact widget --> -<div class="row contact-widget"> - <div class="col-12 col-lg-4 section-heading"> - <h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1> - {{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }} - </div> - <div class="col-12 col-lg-8"> - {{ with $page.Content }}{{ . }}{{ end }} - - {{ if $page.Params.email_form }} - - {{ $post_action := "" }} - {{ if eq $page.Params.email_form 1 }} - {{ $post_action = "netlify" }} - {{ else }} - {{ if not $data.email }} - {{ errorf "Please set an email address for the contact form using the `email` parameter in `params.toml`. Otherwise, set `email_form = 0` to disable the contact form." }} - {{ end }} - {{ $post_action = printf "action=\"https://formspree.io/%s\"" $data.email }} - {{end}} - - <div class="mb-3"> - <form name="contact" method="POST" {{ $post_action | safeHTMLAttr }}> - <div class="form-group form-inline"> - <label class="sr-only" for="inputName">{{ i18n "contact_name" }}</label> - <input type="text" name="name" class="form-control w-100" id="inputName" placeholder="{{ i18n "contact_name" | default "Name" }}" required> - </div> - <div class="form-group form-inline"> - <label class="sr-only" for="inputEmail">{{ i18n "contact_email" }}</label> - <input type="email" name="email" class="form-control w-100" id="inputEmail" placeholder="{{ i18n "contact_email" | default "Email" }}" required> - </div> - <div class="form-group"> - <label class="sr-only" for="inputMessage">{{ i18n "contact_message" }}</label> - <textarea name="message" class="form-control" id="inputMessage" rows="5" placeholder="{{ i18n "contact_message" | default "Message" }}" required></textarea> - </div> - <button type="submit" class="btn btn-outline-primary px-3 py-2">{{ i18n "contact_send" | default "Send" }}</button> - </form> - </div> - {{end}} - - <ul class="fa-ul"> - - {{ if and $data.email (not $page.Params.email_form) }} - <li> - <i class="fa-li fas fa-envelope fa-2x" aria-hidden="true"></i> - <span id="person-email"> - {{- if $autolink }}<a href="mailto:{{ $data.email }}">{{ $data.email }}</a>{{ else }}{{ $data.email }}{{ end -}} - </span> - </li> - {{ end }} - - {{ with $data.phone }} - <li> - <i class="fa-li fas fa-phone fa-2x" aria-hidden="true"></i> - <span id="person-telephone"> - {{- if $autolink }}<a href="tel:{{ . }}">{{ . }}</a>{{ else }}{{ . }}{{ end -}} - </span> - </li> - {{ end }} - - {{ $addr_formatted := "" }}{{/* Scoping for maps. */}} - {{ if $data.address.street | or $data.address.city | or $data.address.region | or $data.address.postcode | or $data.address.country }} - {{ $addr_formatted = partial "functions/get_address" (dict "root" . "address" $data.address) }} - <li> - <i class="fa-li fas fa-map-marker fa-2x" aria-hidden="true"></i> - <span id="person-address">{{$addr_formatted}}</span> - </li> - {{ end }} - - {{ with $data.directions }} - <li> - <i class="fa-li fas fa-compass fa-2x" aria-hidden="true"></i> - <span>{{ . | markdownify | emojify }}</span> - </li> - {{ end }} - - {{ with $data.office_hours }} - <li> - <i class="fa-li fas fa-clock fa-2x" aria-hidden="true"></i> - <span> - {{- if not (reflect.IsSlice .)}}{{/* Support legacy string format. */}} - {{- . | markdownify | emojify -}} - {{else}} - {{- delimit . "<br>" | markdownify | emojify -}} - {{end -}} - </span> - </li> - {{ end }} - - {{ with $data.appointment_url }} - <li> - <i class="fa-li fas fa-calendar-check fa-2x" aria-hidden="true"></i> - <a href="{{ . }}" target="_blank" rel="noopener">{{ i18n "book_appointment" | default "Book an appointment" }}</a> - </li> - {{ end }} - - {{/* Contact links. */}} - {{ range $data.contact_links }} - {{ $pack := or .icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - {{ $link := .link }} - {{ $scheme := (urls.Parse $link).Scheme }} - {{ $target := "" }} - {{ if not $scheme }} - {{ $link = .link | relLangURL }} - {{ else if in (slice "http" "https") $scheme }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - <li> - <i class="fa-li {{ $pack }} {{ $pack_prefix }}-{{ .icon }} fa-2x" aria-hidden="true"></i> - <a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}>{{.name|markdownify|emojify|safeHTML}}</a> - </li> - {{ end }} - - </ul> - - {{ if and site.Params.map.engine $data.coordinates.latitude }} - <div class="d-none"> - <input id="map-provider" value="{{ site.Params.map.engine }}"> - <input id="map-lat" value="{{ $data.coordinates.latitude }}"> - <input id="map-lng" value="{{ $data.coordinates.longitude }}"> - <input id="map-dir" value="{{ $addr_formatted }}"> - <input id="map-zoom" value="{{ site.Params.map.zoom | default "15" }}"> - <input id="map-api-key" value="{{ site.Params.map.api_key }}"> - </div> - <div id="map"></div> - {{ end }} - - </div> -</div> diff --git a/nemo/layouts/partials/widgets/experience.html b/nemo/layouts/partials/widgets/experience.html deleted file mode 100644 index 77bba1162d7043e1091af593c7e868b69b0bc5a4..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/experience.html +++ /dev/null @@ -1,59 +0,0 @@ -{{ $ := .root }} -{{ $page := .page }} - -<!-- Experience widget --> -<div class="row"> - <div class="col-12 col-lg-4 section-heading"> - <h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1> - {{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }} - </div> - <div class="col-12 col-lg-8"> - {{ with $page.Content }}{{ . }}{{ end }} - - {{ if $page.Params.experience }} - {{ $exp_len := len $page.Params.experience }} - {{ range $idx, $key := sort $page.Params.experience ".date_start" "desc" }} - <div class="row experience"> - <!-- Timeline --> - <div class="col-auto text-center flex-column d-none d-sm-flex"> - <div class="row h-50"> - <div class="col {{if gt $idx 0}}border-right{{end}}"> </div> - <div class="col"> </div> - </div> - <div class="m-2"> - <span class="badge badge-pill border {{if not .date_end}}exp-fill{{end}}"> </span> - </div> - <div class="row h-50"> - <div class="col {{if lt $idx (sub $exp_len 1)}}border-right{{end}}"> </div> - <div class="col"> </div> - </div> - </div> - <!-- Content --> - <div class="col py-2"> - <div class="card"> - <div class="card-body"> - <h4 class="card-title exp-title text-muted mt-0 mb-1">{{.title | markdownify | emojify}}</h4> - <h4 class="card-title exp-company text-muted my-0"> - {{- with .company_url}}<a href="{{.}}" target="_blank" rel="noopener">{{end}}{{.company | markdownify | emojify}}{{with .company_url}}</a>{{end -}} - </h4> - <div class="text-muted exp-meta"> - {{ (time .date_start).Format ($page.Params.date_format | default "January 2006") }} – - {{ if .date_end}} - {{ (time .date_end).Format ($page.Params.date_format | default "January 2006") }} - {{else}} - {{ i18n "present" | default "Present" }} - {{end}} - {{with .location}} - <span class="middot-divider"></span> - <span>{{.}}</span> - {{end}} - </div> - {{with .description}}<div class="card-text">{{. | markdownify | emojify}}</div>{{end}} - </div> - </div> - </div> - </div> - {{end}} - {{end}} - </div> -</div> diff --git a/nemo/layouts/partials/widgets/featured.html b/nemo/layouts/partials/widgets/featured.html deleted file mode 100644 index 91bb1f91dfc1aa81049a138c611e91330f9b5517..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/featured.html +++ /dev/null @@ -1,56 +0,0 @@ -{{/* Featured Content Widget */}} - -{{/* Initialise */}} -{{ $ := .root }} -{{ $st := .page }} -{{ $items_type := $st.Params.content.page_type | default "post" }} -{{ $items_count := $st.Params.content.count | default 65535 }} -{{ $items_sort := $st.Params.content.order| default "desc" }} - -{{/* Query */}} -{{ $query := where (where site.RegularPages "Type" $items_type) "Params.featured" true }} - -{{/* Filters */}} -{{ if $st.Params.content.filters.tag }} - {{ $archive_page := site.GetPage (printf "tags/%s" (urlize $st.Params.content.filters.tag)) }} - {{ $query = $query | intersect $archive_page.Pages }} -{{ end }} -{{ if $st.Params.content.filters.category }} - {{ $archive_page := site.GetPage (printf "categories/%s" (urlize $st.Params.content.filters.category)) }} - {{ $query = $query | intersect $archive_page.Pages }} -{{ end }} -{{ if $st.Params.content.filters.publication_type }} - {{ $archive_page := site.GetPage (printf "publication_types/%s" $st.Params.content.filters.publication_type) }} - {{ $query = $query | intersect $archive_page.Pages }} -{{ end }} - -{{/* Sort */}} -{{ $sort_by := "Date" }} -{{ $query = sort $query $sort_by $items_sort }} - -{{/* Limit */}} -{{ $query = first $items_count $query }} - -<div class="row"> - <div class="col-12 col-lg-4 section-heading"> - <h1>{{ with $st.Title }}{{ . | markdownify | emojify }}{{ end }}</h1> - {{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - </div> - <div class="col-12 col-lg-8"> - - {{ with $st.Content }}{{ . }}{{ end }} - - {{ range $post := $query }} - {{ if eq $st.Params.design.view 1 }} - {{ partial "li_list" . }} - {{ else if eq $st.Params.design.view 3 }} - {{ partial "li_card" . }} - {{ else if eq $st.Params.design.view 4 | and (eq $items_type "publication") }} - {{ partial "li_citation" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - {{end}} - - </div> -</div> diff --git a/nemo/layouts/partials/widgets/featurette.html b/nemo/layouts/partials/widgets/featurette.html deleted file mode 100644 index 28e591ab7bc57991cb325f0792c51b00fdaa833a..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/featurette.html +++ /dev/null @@ -1,30 +0,0 @@ -{{ $ := .root }} -{{ $page := .page }} - -<div class="row featurette"> - {{ with $page.Title }} - <div class="col-md-12 section-heading"> - <h1>{{ . | markdownify | emojify }}</h1> - {{ if $page.Params.subtitle }}<p>{{ $page.Params.subtitle | markdownify | emojify }}</p>{{ end }} - </div> - {{ end }} - - {{ with $page.Content }} - <div class="col-md-12"> - {{ . }} - </div> - {{ end }} - - {{ range $page.Params.feature }} - {{ $pack := or .icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - <div class="col-12 col-sm-4"> - {{ with .icon }}<div class="featurette-icon"><i class="{{ $pack }} {{ $pack_prefix }}-{{ . }}"></i></div>{{ end }} - <h3>{{ .name | markdownify | emojify }}</h3> - {{ with .description }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - </div> - {{ end }} -</div> diff --git a/nemo/layouts/partials/widgets/hero.html b/nemo/layouts/partials/widgets/hero.html deleted file mode 100644 index 3f60f18ba4a4629861bbf24b5040dc242679fc5e..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/hero.html +++ /dev/null @@ -1,65 +0,0 @@ -{{ $ := .root }} -{{ $page := .page }} -{{ $bg := $page.Params.design.background }} - -{{ if $page.Params.hero_media }} -<div class="row"> - <div class="col-md-6 order-md-1 text-center text-md-left"> -{{ end }} - - <h1 class="hero-title"> - {{ with $page.Title }}{{ . | markdownify }}{{ end }} - </h1> - - {{ with $page.Content }} - <div class="hero-lead">{{ . }}</div> - {{ end }} - - {{/* Call-to-action link */}} - {{ if $page.Params.cta.url }} - {{ $pack := or $page.Params.cta.icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - {{ $link := $page.Params.cta.url }} - {{ $scheme := (urls.Parse $link).Scheme }} - {{ $target := "" }} - {{ if not $scheme }} - {{ $link = $link | relLangURL }} - {{ else if in (slice "http" "https") $scheme }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - <p class="cta-btns"> - <a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} class="btn {{if $bg.text_color_light}}btn-light{{else}}btn-primary{{end}} btn-lg">{{ if $page.Params.cta.icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ $page.Params.cta.icon }} pr-1" aria-hidden="true"></i>{{end}}{{ $page.Params.cta.label | markdownify | emojify | safeHTML }}</a> - - {{/* Alternative Call-to-action link */}} - {{ if $page.Params.cta_alt.url }} - {{ $link := $page.Params.cta_alt.url }} - {{ $scheme := (urls.Parse $link).Scheme }} - {{ $target := "" }} - {{ if not $scheme }} - {{ $link = $link | relLangURL }} - {{ else if in (slice "http" "https") $scheme }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - <a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} class="hero-cta-alt pl-4">{{ $page.Params.cta_alt.label | markdownify | emojify | safeHTML }} <i class="fas fa-angle-right"></i></a> - {{ end }} - </p> - {{ end }} - - {{/* Call-to-action note */}} - {{ with $page.Params.cta_note }} - <p class="hero-note text-muted mb-0"> - {{ .label | markdownify | emojify | safeHTML }} - </p> - {{ end }} - - {{/* Hero image */}} - {{ if $page.Params.hero_media }} - </div> - <div class="col-6 mx-auto col-md-6 order-md-2 hero-media"> - <img src="{{ printf "img/%s" $page.Params.hero_media | relURL }}" alt=""> - </div> -</div> -{{ end }} diff --git a/nemo/layouts/partials/widgets/pages.html b/nemo/layouts/partials/widgets/pages.html deleted file mode 100644 index 11639dc8099ab349052cd692747b22d281f9cd4d..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/pages.html +++ /dev/null @@ -1,99 +0,0 @@ -{{/* Pages Widget */}} - -{{/* Initialise */}} -{{ $ := .root }} -{{ $st := .page }} -{{ $items_type := $st.Params.content.page_type | default "post" }} -{{ $items_offset := $st.Params.content.offset | default 0 }} -{{ $items_count := $st.Params.content.count }} -{{ if eq $items_count 0 }} - {{ $items_count = 65535 }} -{{ else }} - {{ $items_count = $items_count | default 5 }} -{{ end }} -{{ $items_sort := $st.Params.content.order | default "desc" }} - -{{/* Query */}} -{{ $query := where site.RegularPages "Type" $items_type }} -{{ $archive_page := site.GetPage "Section" $items_type }} - -{{/* Filters */}} -{{ if $st.Params.content.filters.tag }} - {{ $archive_page = site.GetPage (printf "tags/%s" (urlize $st.Params.content.filters.tag)) }} - {{ $query = $query | intersect $archive_page.Pages }} -{{ end }} -{{ if $st.Params.content.filters.category }} - {{ $archive_page = site.GetPage (printf "categories/%s" (urlize $st.Params.content.filters.category)) }} - {{ $query = $query | intersect $archive_page.Pages }} -{{ end }} -{{ if $st.Params.content.filters.publication_type }} - {{ $archive_page = site.GetPage (printf "publication_types/%s" $st.Params.content.filters.publication_type) }} - {{ $query = $query | intersect $archive_page.Pages }} -{{ end }} -{{ if $st.Params.content.filters.exclude_featured }} - {{ $query = where $query "Params.featured" "!=" true }} -{{ end }} -{{ if $st.Params.content.filters.exclude_past }} - {{ $query = where $query "Date" ">=" now }} -{{ end }} -{{ if $st.Params.content.filters.exclude_future }} - {{ $query = where $query "Date" "<" now }} -{{ end }} - -{{ $count := len $query }} - -{{/* Sort */}} -{{ $sort_by := "Date" }} -{{ $query = sort $query $sort_by $items_sort }} - -{{/* Offset and Limit */}} -{{ if gt $items_offset 0 }} - {{ $query = first $items_count (after $items_offset $query) }} -{{ else }} - {{ $query = first $items_count $query }} -{{ end }} - -{{/* Localisation */}} -{{ $i18n := "" }} -{{ if eq $items_type "post" }} - {{ $i18n = "more_posts" }} -{{ else if eq $items_type "talk" }} - {{ $i18n = "more_talks" }} -{{ else if eq $items_type "publication" }} - {{ $i18n = "more_publications" }} -{{ else }} - {{ $i18n = "more_pages" }} -{{ end }} - -<div class="row"> - <div class="col-12 col-lg-4 section-heading"> - <h1>{{ with $st.Title }}{{ . | markdownify | emojify }}{{ end }}</h1> - {{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - </div> - <div class="col-12 col-lg-8"> - - {{ with $st.Content }}{{ . }}{{ end }} - - {{ range $post := $query }} - {{ if eq $st.Params.design.view 1 }} - {{ partial "li_list" . }} - {{ else if eq $st.Params.design.view 3 }} - {{ partial "li_card" . }} - {{ else if eq $st.Params.design.view 4 | and (eq $items_type "publication") }} - {{ partial "li_citation" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - {{end}} - - {{ if gt $count $items_count }} - <div class="see-all"> - <a href="{{ $archive_page.RelPermalink }}"> - {{ i18n $i18n | default "See all" }} - <i class="fas fa-angle-right"></i> - </a> - </div> - {{ end }} - - </div> -</div> diff --git a/nemo/layouts/partials/widgets/people.html b/nemo/layouts/partials/widgets/people.html deleted file mode 100644 index 53760038aa21e7533ba0b3dfa4a222f57991c31d..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/people.html +++ /dev/null @@ -1,61 +0,0 @@ -{{/* People Widget */}} - -{{/* Initialise */}} -{{ $ := .root }} -{{ $page := .page }} -{{ $show_social := $page.Params.design.show_social | default false }} -{{ $show_interests := $page.Params.design.show_interests | default true }} - -<div class="row justify-content-center people-widget"> - {{ with $page.Title }} - <div class="col-md-12 section-heading"> - <h1>{{ . | markdownify | emojify }}</h1> - {{ if $page.Params.subtitle }}<p>{{ $page.Params.subtitle | markdownify | emojify }}</p>{{ end }} - </div> - {{ end }} - - {{ with $page.Content }} - <div class="col-md-12"> - {{ . }} - </div> - {{ end }} - - {{ range $page.Params.content.user_groups }} - {{ $query := where (where site.Pages "Section" "authors") ".Params.user_groups" "intersect" (slice .) }} - - {{if $query}} - <div class="col-md-12"> - <h2 class="mb-4">{{ . | markdownify }}</h2> - </div> - {{end}} - - {{ range $query }} - {{ $avatar := (.Resources.ByType "image").GetMatch "*avatar*" }} - {{/* Get link to user's profile page. */}} - {{ $link := "" }} - {{ with site.GetPage (printf "/authors/%s" (path.Base (path.Split .Path).Dir)) }} - {{ $link = .RelPermalink }} - {{ end }} - <div class="col-12 col-sm-auto people-person"> - {{ $src := "" }} - {{ if site.Params.avatar.gravatar }} - {{ $src = printf "https://s.gravatar.com/avatar/%s?s=150" (md5 .Params.email) }} - {{ else if $avatar }} - {{ $avatar_image := $avatar.Fill "270x270 Center" }} - {{ $src = $avatar_image.RelPermalink }} - {{ end }} - {{ if $src }} - {{ $avatar_shape := site.Params.avatar.shape | default "circle" }} - {{with $link}}<a href="{{.}}">{{end}}<img class="avatar {{if eq $avatar_shape "square"}}avatar-square{{else}}avatar-circle{{end}}" src="{{ $src }}" alt="Avatar">{{if $link}}</a>{{end}} - {{ end }} - - <div class="portrait-title"> - <h2>{{with $link}}<a href="{{.}}">{{end}}{{ .Params.name }}{{if $link}}</a>{{end}}</h2> - {{ with .Params.role }}<h3>{{ . | markdownify | emojify }}</h3>{{ end }} - {{ if $show_social }}{{ partial "social_links" . }}{{ end }} - {{ if and $show_interests .Params.interests }}<p class="people-interests">{{ delimit .Params.interests ", " | markdownify | emojify }}</p>{{ end }} - </div> - </div> - {{ end }} - {{ end }} -</div> diff --git a/nemo/layouts/partials/widgets/portfolio.html b/nemo/layouts/partials/widgets/portfolio.html deleted file mode 100644 index a5839dd786d588af11a19deb82caefcbef881885..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/portfolio.html +++ /dev/null @@ -1,93 +0,0 @@ -{{/* Portfolio Widget */}} - -{{/* Initialise */}} -{{ $ := .root }} -{{ $st := .page }} -{{ $items_type := $st.Params.content.page_type | default "project" }} -{{ $columns := $st.Params.design.columns | default "2" }} - -{{ if ne $columns "1" }} -{{/* Standard dual-column layout. */}} - -<div class="row"> - <div class="col-12 col-lg-4 section-heading"> - - {{ with $st.Title }}<h1>{{ . | markdownify | emojify }}</h1>{{ end }} - {{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - - </div> - <div class="col-12 col-lg-8"> - -{{ else }} -{{/* Single column layout. */}} - -<div class="margin-auto"> - - <div class="center-text"> - {{ with $st.Title }}<h1 class="mt-0">{{ . | markdownify | emojify }}</h1>{{ end }} - {{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - </div> - <div> -{{ end }} - - {{ with $st.Content }}{{ . }}{{ end }} - - {{ if $st.Params.content.filter_button }} - - {{ $filter_default := default (int $st.Params.content.filter_default) 0 }} - - {{/* Parse default filter tag from front matter in the form of either tag name or CSS class name. */}} - {{ $default_filter_tag_raw := (index $st.Params.content.filter_button ($filter_default)).tag }} - {{ $default_filter_tag := printf ".js-id-%s" (replace $default_filter_tag_raw " " "-") }} - {{ if or (eq (substr $default_filter_tag_raw 0 1) "*") (eq (substr $default_filter_tag_raw 0 1) ".") }} - {{ $default_filter_tag = $default_filter_tag_raw }} - {{ end }} - - <span class="d-none default-project-filter">{{ $default_filter_tag }}</span> - - {{/* Only show filter buttons if there are multiple filters. */}} - {{ if gt (len $st.Params.content.filter_button) 1 }} - <div class="project-toolbar"> - <div class="project-filters"> - <div class="btn-toolbar"> - <div class="btn-group flex-wrap"> - {{ range $idx, $item := $st.Params.content.filter_button }} - {{/* Parse filter tag from front matter in the form of either tag name or CSS class name. */}} - {{ $data_filter := printf ".js-id-%s" (replace .tag " " "-") }} - {{ if or (eq (substr .tag 0 1) "*") (eq (substr .tag 0 1) ".") }} - {{ $data_filter = .tag }} - {{ end }} - <a href="#" data-filter="{{ $data_filter | safeHTMLAttr }}" class="btn btn-primary btn-lg{{ if eq $idx $filter_default }} active{{ end }}">{{ .name }}</a> - {{ end }} - </div> - </div> - </div> - </div> - {{ end }} - {{ end }} - - <div class="{{ if or $st.Params.content.filter_button (eq $st.Params.design.view 3) }}isotope projects-container{{end}} {{if eq $st.Params.design.view 3}}js-layout-masonry{{else}}row js-layout-row{{end}} {{ if eq $st.Params.design.view 5 }}project-showcase mt-5{{end}}"> - {{ range $idx, $item := where site.RegularPages "Type" $items_type }} - - {{ $link := $item.RelPermalink }} - {{ $target := "" }} - {{ if $item.Params.external_link }} - {{ $link = $item.Params.external_link }} - {{ $target = "target=\"_blank\" rel=\"noopener\"" }} - {{ end }} - - {{ if eq $st.Params.design.view 1 }} - {{ partial "portfolio_li_list" (dict "item" $item) }} - {{ else if eq $st.Params.design.view 2 }} - {{ partial "portfolio_li_compact" (dict "item" $item) }} - {{ else if eq $st.Params.design.view 3 }} - {{ partial "portfolio_li_card" (dict "widget" $st "index" $idx "item" $item "link" $link "target" $target) }} - {{ else }} - {{ partial "portfolio_li_showcase" (dict "widget" $st "index" $idx "item" $item "link" $link "target" $target) }} - {{ end }} - - {{ end }} - </div> - - </div> -</div> diff --git a/nemo/layouts/partials/widgets/slider.html b/nemo/layouts/partials/widgets/slider.html deleted file mode 100644 index 5da34b14819154bd065525b192866f8cb7e7b005..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/slider.html +++ /dev/null @@ -1,62 +0,0 @@ -{{ $ := .root }} -{{ $page := .page }} -{{ $hash_id := .hash_id }} - -<!-- Indicators --> -<ol class="carousel-indicators"> - {{ range $index, $item := $page.Params.item }} - <li data-target="#{{$hash_id}}" data-slide-to="{{$index}}" {{if eq $index 0}}class="active"{{end}}></li> - {{ end }} -</ol> - -<!-- Carousel slides wrapper --> -<div class="carousel-inner"> - {{ range $index, $item := $page.Params.item }} - <div class="wg-hero dark carousel-item{{if eq $index 0}} active{{end}}" style="{{with $page.Params.height}}{{printf "height: %s;" . | safeCSS}}{{end}} - {{ if $item.overlay_color }} - background-color: {{ $item.overlay_color | default "transparent" }}; - {{ end }} - {{ if $item.overlay_img }} - background-image: - {{ if $item.overlay_filter }}linear-gradient(rgba(0, 0, 0, {{ $item.overlay_filter }}), rgba(0, 0, 0, {{ $item.overlay_filter }})), {{ end }} - url('{{ printf "img/%s" $item.overlay_img | absURL }}'); - {{ end }} - ;"> - <div class="container" style="text-align: {{$item.align | default "left"}};"> - <h1 class="hero-title"> - {{ with $item.title }}{{ . | markdownify | emojify }}{{ end }} - </h1> - - {{ with $item.content }} - <p class="hero-lead" style="{{if eq $item.align "center"}}margin: 0 auto 0 auto;{{else if eq $item.align "right"}}margin-left: auto; margin-right: 0{{end}}"> - {{ . | markdownify | emojify }} - </p> - {{ end }} - - {{ if $item.cta_url }} - {{ $pack := or .cta_icon_pack "fas" }} - {{ $pack_prefix := $pack }} - {{ if in (slice "fab" "fas" "far" "fal") $pack }} - {{ $pack_prefix = "fa" }} - {{ end }} - <p> - <a href="{{ $item.cta_url }}" class="btn btn-light btn-lg"> - {{- with $item.cta_icon -}}<i class="{{ $pack }} {{ $pack_prefix }}-{{ . }}" style="padding-right: 10px;"></i>{{- end -}} - {{- $item.cta_label | emojify | safeHTML -}} - </a> - </p> - {{ end }} - </div> - </div> - {{ end }} -</div> - -<!-- Left and right controls --> -<a class="carousel-control-prev" href="#{{$hash_id}}" data-slide="prev"> - <span class="carousel-control-prev-icon"></span> - <span class="sr-only">Previous</span> -</a> -<a class="carousel-control-next" href="#{{$hash_id}}" data-slide="next"> - <span class="carousel-control-next-icon"></span> - <span class="sr-only">Next</span> -</a> diff --git a/nemo/layouts/partials/widgets/tag_cloud.html b/nemo/layouts/partials/widgets/tag_cloud.html deleted file mode 100644 index 595d07599970e7c9a9c8103b47f9cae20848e02d..0000000000000000000000000000000000000000 --- a/nemo/layouts/partials/widgets/tag_cloud.html +++ /dev/null @@ -1,49 +0,0 @@ -{{/* Pages Widget */}} - -{{/* Initialise */}} -{{ $ := .root }} -{{ $st := .page }} -{{ $taxonomy := $st.Params.content.taxonomy | default "tags" }} -{{ $fontSmall := $st.Params.design.font_size_min | default 0.8 }} -{{ $fontBig := $st.Params.design.font_size_max | default 2.5 }} - -{{ $items_count := $st.Params.content.count }} -{{ if eq $items_count 0 }} - {{ $items_count = 65535 }} -{{ else }} - {{ $items_count = $items_count | default 20 }} -{{ end }} - -{{/* Query */}} -{{ $tags := first $items_count (index site.Taxonomies $taxonomy).ByCount }} -{{ $count := len $tags }} - -<div class="row"> - <div class="col-12 col-lg-4 section-heading"> - <h1>{{ with $st.Title }}{{ . | markdownify | emojify }}{{ end }}</h1> - {{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }} - </div> - <div class="col-12 col-lg-8"> - {{ with $st.Content }}{{ . }}{{ end }} - - {{ if ne $count 0 }} - - {{ $fontDelta := sub $fontBig $fontSmall }} - {{/* Warning: Hugo's `Reverse` function appears to operate in-place, hence the order of performing $max/$min matters. */}} - {{ $max := add (len (index $tags 0).Pages) 1 }} - {{ $min := len (index ($tags).Reverse 0).Pages }} - {{ $delta := sub $max $min }} - {{ $fontStep := div $fontDelta $delta }} - - <div class="tag-cloud"> - {{ range $name, $term := (sort $tags ".Page.Title" "asc") }} - {{ $tagCount := len $term.Pages }} - {{ $weight := div (sub (math.Log $tagCount) (math.Log $min)) (sub (math.Log $max) (math.Log $min)) }} - {{ $fontSize := add $fontSmall (mul (sub $fontBig $fontSmall) $weight) }} - <a href="{{ .Page.RelPermalink }}" style="font-size:{{ $fontSize }}rem">{{ .Page.Title }}</a> - {{ end }} - </div> - {{ end }} - - </div> -</div> diff --git a/nemo/layouts/project/single.html b/nemo/layouts/project/single.html deleted file mode 100644 index 485c72c398400911627c9170d4cb10526263d32a..0000000000000000000000000000000000000000 --- a/nemo/layouts/project/single.html +++ /dev/null @@ -1,68 +0,0 @@ -{{- define "main" -}} - -<article class="article article-project"> - - {{ partial "page_header.html" . }} - - <div class="article-container"> - - <div class="article-style"> - {{ .Content }} - </div> - - {{ partial "page_footer" . }} - - <div class="project-related-pages content-widget-hr"> - {{ $page := . }} - {{ $project := .File.ContentBaseName }} - - {{ $items := where (where site.RegularPages "Type" "post") ".Params.projects" "intersect" (slice $project) }} - {{ $count := len $items }} - {{ if ge $count 1 }} - <h2>{{ (i18n "posts") }}</h2> - {{ range $items }} - {{ if eq site.Params.projects.post_view 1 }} - {{ partial "li_list" . }} - {{ else if eq site.Params.projects.post_view 3 }} - {{ partial "li_card" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - {{ end }} - {{ end }} - - {{ $items := where (where site.RegularPages "Type" "publication") ".Params.projects" "intersect" (slice $project) }} - {{ $pubs_len := len $items }} - {{ if ge $pubs_len 1 }} - <h2>{{ (i18n "publications") }}</h2> - {{ range $items }} - {{ if eq site.Params.projects.publication_view 1 }} - {{ partial "li_list" . }} - {{ else if eq site.Params.projects.publication_view 3 }} - {{ partial "li_card" . }} - {{ else if eq site.Params.projects.publication_view 4 }} - {{ partial "li_citation" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - {{ end }} - {{ end }} - - {{ $items := where (where site.RegularPages "Type" "talk") ".Params.projects" "intersect" (slice $project) }} - {{ $talks_len := len $items }} - {{ if ge $talks_len 1 }} - <h2>{{ (i18n "talks") }}</h2> - {{ range $items }} - {{ if eq site.Params.projects.talk_view 1 }} - {{ partial "li_list" . }} - {{ else if eq site.Params.projects.talk_view 3 }} - {{ partial "li_card" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - {{ end }} - {{ end }} - </div> - </div> -</article> -{{- end -}} diff --git a/nemo/layouts/publication/single.html b/nemo/layouts/publication/single.html deleted file mode 100644 index cf204ea478d720ca98d5237c80a8ebe769378a0a..0000000000000000000000000000000000000000 --- a/nemo/layouts/publication/single.html +++ /dev/null @@ -1,57 +0,0 @@ -{{- define "main" -}} - -<div class="pub"> - - {{ partial "page_header.html" . }} - - <div class="article-container"> - - {{ if .Params.abstract }} - <h3>{{ i18n "abstract" }}</h3> - <p class="pub-abstract">{{ .Params.abstract | markdownify }}</p> - {{ end }} - - {{ if (.Params.publication_types) and (ne (index .Params.publication_types 0) "0") }} - <div class="row"> - <div class="col-md-1"></div> - <div class="col-md-10"> - <div class="row"> - <div class="col-12 col-md-3 pub-row-heading">{{ i18n "publication_type" }}</div> - <div class="col-12 col-md-9"> - {{ $pub_types := partial "functions/get_pub_types" $ }} - {{ range $index, $pubtype := .Params.publication_types }} - <a href="{{ (site.GetPage "section" "publication").RelPermalink }}#{{ . | urlize }}"> - {{ index $pub_types (int .) }} - </a> - {{ end }} - </div> - </div> - </div> - <div class="col-md-1"></div> - </div> - <div class="d-md-none space-below"></div> - {{ end }} - - {{ if .Params.publication }} - <div class="row"> - <div class="col-md-1"></div> - <div class="col-md-10"> - <div class="row"> - <div class="col-12 col-md-3 pub-row-heading">{{ i18n "publication" }}</div> - <div class="col-12 col-md-9">{{ .Params.publication | markdownify }}</div> - </div> - </div> - <div class="col-md-1"></div> - </div> - <div class="d-md-none space-below"></div> - {{ end }} - - <div class="space-below"></div> - - <div class="article-style">{{ .Content }}</div> - - {{ partial "page_footer" . }} - - </div> -</div> -{{- end -}} diff --git a/nemo/layouts/section/docs.html b/nemo/layouts/section/docs.html deleted file mode 100644 index 1a46a841113c28d2b8db0e7b61a6b8efd03685ee..0000000000000000000000000000000000000000 --- a/nemo/layouts/section/docs.html +++ /dev/null @@ -1,18 +0,0 @@ -{{- define "main" -}} - -{{ partial "page_header.html" . }} - -<div class="universal-wrapper"> - {{ with .Content }} - <div class="article-style">{{ . }}</div> - {{ end }} - <ul class="list-unstyled"> - {{ if gt (len .Sections) 0}} - {{ range .Sections }} - <li><h5><a href="{{.RelPermalink}}">{{.LinkTitle}}</a></h5> {{with .Params.summary}}<p>{{. | plainify | emojify}}</p>{{end}}</li> - {{end}} - {{end}} - </ul> -</div> - -{{- end -}} diff --git a/nemo/layouts/section/post.html b/nemo/layouts/section/post.html deleted file mode 100644 index 9c282a76d19bfe0e914d8b6e15c8489f2820d9df..0000000000000000000000000000000000000000 --- a/nemo/layouts/section/post.html +++ /dev/null @@ -1,26 +0,0 @@ -{{- define "main" -}} - -{{ partial "page_header.html" . }} - -<div class="universal-wrapper"> - - {{ with .Content }} - <div class="article-style">{{ . }}</div> - {{ end }} - - {{ $paginator := .Paginate .Data.Pages }} - {{ range $paginator.Pages }} - {{ if eq $.Params.view 1 }} - {{ partial "li_list" . }} - {{ else if eq $.Params.view 3 }} - {{ partial "li_card" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - {{ end }} - - {{ partial "pagination" . }} - -</div> - -{{- end -}} diff --git a/nemo/layouts/section/publication.html b/nemo/layouts/section/publication.html deleted file mode 100644 index f42e179aa59f966b40530371ff684860a04498e0..0000000000000000000000000000000000000000 --- a/nemo/layouts/section/publication.html +++ /dev/null @@ -1,78 +0,0 @@ -{{- define "main" -}} - -{{ partial "page_header.html" . }} - -<div class="universal-wrapper"> - <div class="row"> - <div class="col-lg-12"> - - {{ with .Content }} - <div class="article-style">{{ . }}</div> - {{ end }} - - {{/* Array of distinct years. */}} - {{ range .Pages.ByDate.Reverse }} - {{ $year := print (.Date.Format "2006") }} - {{ $.Scratch.SetInMap "years" $year $year }} - {{ end }} - - <div class="form-row mb-4"> - <div class="col-auto"> - <input type="search" class="filter-search" placeholder="{{ i18n "search_placeholder" }}" autocapitalize="off" - autocomplete="off" autocorrect="off" role="textbox" spellcheck="false"> - </div> - <div class="col-auto"> - <select class="pub-filters pubtype-select form-control form-control-sm" data-filter-group="pubtype"> - <option value="*">{{ i18n "publication_type" }}</option> - {{ $pub_types := partial "functions/get_pub_types" $ }} - {{ range $index, $taxonomy := site.Taxonomies.publication_types }} - <option value=".pubtype-{{ (int $index) }}"> - {{ index $pub_types (int $index) }} - </option> - {{ end }} - </select> - </div> - <div class="col-auto"> - <select class="pub-filters form-control form-control-sm" data-filter-group="year"> - <option value="*">{{ i18n "date" }}</option> - {{ $years_sorted := $.Scratch.GetSortedMapValues "years" }} - {{ if $years_sorted }} - {{ range $year := sort $years_sorted "" "desc" }} - <option value=".year-{{ $year }}"> - {{ $year }} - </option> - {{ end }} - {{ end }} - </select> - </div> - </div> - - <div id="container-publications"> - {{ range .Pages.ByDate.Reverse }} - - {{ if .Params.publication_types }} - {{ $.Scratch.Set "pubtype" (index .Params.publication_types 0) }} - {{ else }} - {{ $.Scratch.Set "pubtype" 0 }} - {{ end }} - - <div class="grid-sizer col-lg-12 isotope-item pubtype-{{ $.Scratch.Get "pubtype" }} year-{{ .Date.Format "2006" }}"> - {{ if eq $.Params.view 1 }} - {{ partial "li_list" . }} - {{ else if eq $.Params.view 3 }} - {{ partial "li_card" . }} - {{ else if eq $.Params.view 4 }} - {{ partial "li_citation" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - </div> - - {{ end }} - </div> - - </div> - </div> -</div> - -{{- end -}} diff --git a/nemo/layouts/section/talk.html b/nemo/layouts/section/talk.html deleted file mode 100644 index dfb581a24fe759d666ba59f6d1ecb3eee9d4eb91..0000000000000000000000000000000000000000 --- a/nemo/layouts/section/talk.html +++ /dev/null @@ -1,39 +0,0 @@ -{{- define "main" -}} - -{{ partial "page_header.html" . }} - -<div class="universal-wrapper"> - <div class="row"> - <div class="col-lg-12"> - - {{ with .Content }} - <div class="article-style">{{ . }}</div> - {{ end }} - - {{ range .Data.Pages.GroupByDate "2006" }} - <div class="row" id="talk_list"> - <div class="col-lg-2"> - <h3>{{ .Key }}</h3> - </div> - <div class="col-lg-10"> - - {{ range .Pages }} - {{ if eq $.Params.view 1 }} - {{ partial "li_list" . }} - {{ else if eq $.Params.view 3 }} - {{ partial "li_card" . }} - {{ else }} - {{ partial "li_compact" . }} - {{ end }} - {{ end }} - - </div> - </div> - {{ end }} - - </div> - </div> - -</div> - -{{- end -}} diff --git a/nemo/layouts/shortcodes/alert.html b/nemo/layouts/shortcodes/alert.html deleted file mode 100644 index 9712fbdb2ffac55bb0278070d8526b273d28234b..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/alert.html +++ /dev/null @@ -1,5 +0,0 @@ -<div class="alert alert-{{ .Get 0 }}"> - <div> - {{ .Inner | markdownify | emojify }} - </div> -</div> diff --git a/nemo/layouts/shortcodes/diagram.html b/nemo/layouts/shortcodes/diagram.html deleted file mode 100644 index 33fdc82e9fbcefe3d18c20c9ab4aa934719eaf5c..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/diagram.html +++ /dev/null @@ -1,3 +0,0 @@ -<div class="mermaid"> - {{- safeHTML .Inner -}} -</div> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/figure.html b/nemo/layouts/shortcodes/figure.html deleted file mode 100644 index 663273e0891af75d2bcf161ac0cf2408db21dff4..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/figure.html +++ /dev/null @@ -1,48 +0,0 @@ -{{/* Enable image to be loaded from local page dir or media library at `static/img/`. */}} - -{{ $asset := (.Page.Resources.ByType "image").GetMatch (.Get "src") }} -{{ $image_src := (.Get "src") }} -{{ if $asset }} - {{ $asset2 := $asset.Fit "2000x2000" }} - {{ $image_src = $asset2.RelPermalink }} -{{ else if .Get "library" }} - {{ $image_src = printf "img/%s" $image_src | relURL }} -{{ end }} - -{{/* Disallow user from opening image in the lightbox? */}} -{{ $lightbox := eq (.Get "lightbox" | default "true") "true" }} - -{{/* Get lightbox group for showing multiple images in a lightbox. */}} -{{ $group := .Get "lightbox-group" | default "" }} - -{{/* Get caption. Support legacy `title` option. */}} -{{ $caption := .Get "title" | default (.Get "caption") | default "" }} - -<figure{{ with .Get "class" }} class="{{.}}"{{ end }}> - -{{ if $lightbox }} - <a data-fancybox="{{$group}}" href="{{$image_src}}" {{ with $caption }}data-caption="{{ .|markdownify|emojify }}"{{ end }}> -{{ else if .Get "link"}} - <a href="{{ .Get "link" }}"{{ with .Get "target" }} target="{{.}}"{{ end }}{{ with .Get "rel" }} rel="{{.}}"{{ end }}> -{{ end -}} - -{{/* Lazy load only when we know image dimensions in order to preserve anchor linking. */}} -{{ if $asset }} - <img data-src="{{$image_src}}" class="lazyload" alt="{{ with .Get "alt" }}{{.}}{{end}}" width="{{ (.Get "width") | default $asset.Width }}" height="{{ (.Get "height") | default $asset.Height }}"> -{{ else if and (.Get "width") (.Get "height") }} - <img data-src="{{$image_src}}" class="lazyload" alt="{{ with .Get "alt" }}{{.}}{{end}}" {{ with .Get "width" }}width="{{.}}"{{end}} {{ with .Get "height" }}height="{{.}}"{{end}}> -{{ else }} - <img src="{{$image_src}}" alt="{{ with .Get "alt" }}{{.}}{{end}}" {{ with .Get "width" }}width="{{.}}"{{end}} {{ with .Get "height" }}height="{{.}}"{{end}}> -{{ end }} - -{{- if or $lightbox (.Get "link") }}</a>{{ end }} - -{{ if $caption }} - {{/* Localize the figure numbering (if enabled). */}} - {{ $figure := split (i18n "figure" | default "Figure %d:") "%d" }} - <figcaption{{ if eq (.Get "numbered") "true" }} data-pre="{{ index $figure 0 }}" data-post="{{ index $figure 1 }}" class="numbered"{{ end }}> - {{ $caption | markdownify | emojify }} - </figcaption> -{{ end }} - -</figure> diff --git a/nemo/layouts/shortcodes/fragment.html b/nemo/layouts/shortcodes/fragment.html deleted file mode 100644 index 312208b2ffe823c4fd8dcf543e0150771f6a9656..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/fragment.html +++ /dev/null @@ -1,3 +0,0 @@ -<span class="fragment {{ .Get "class" }}" {{ with .Get "weight" }}data-fragment-index="{{ . }}"{{ end }}> - {{ .Inner }} -</span> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/gallery.html b/nemo/layouts/shortcodes/gallery.html deleted file mode 100644 index 3d48c6ea1e30541e4f70fd96030f15e3063792f6..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/gallery.html +++ /dev/null @@ -1,57 +0,0 @@ -{{/* Get album folder or default to `gallery/`. */}} -{{ $album := "" }} -{{ with .Get "album" }}{{ $album = . }}{{else}}{{ $album = "gallery" }}{{end}} - -{{/* Set image path and page bundle that images are associated with. */}} -{{ $album_path := "" }} -{{ $resource_page := "" }} -{{ if eq .Page.Parent.Type "widget_page" }} - {{ $album_path = printf "%s/%s/*" (path.Base (path.Split .Page.Path).Dir) $album }} - {{ $resource_page = $.Page.Parent }} -{{ else }} - {{ $album_path = printf "%s/*" $album }} - {{ $resource_page = $.Page }} -{{ end }} - -<div class="gallery"> - - {{/* Attempt to automatically load gallery images from page bundle */}} - {{ $images := ($resource_page.Resources.ByType "image").Match $album_path }} - {{ with $images }} - {{ range $images }} - {{ $image := .Resize "x190" }} - {{/* Check if the user set a caption for this image */}} - {{ $filename := path.Base .Name }} - {{ $caption := "" }} - {{ if $.Page.Params.gallery_item }} - {{ range (where (where $.Page.Params.gallery_item "album" $album) "image" $filename) }} - {{ $caption = .caption }} - {{ end }} - {{ end }} - <a data-fancybox="gallery-{{$album}}" href="{{ .RelPermalink }}" {{ with $caption }}data-caption="{{.|markdownify|emojify|safeHTMLAttr}}"{{ end }}> - <img data-src="{{ $image.RelPermalink }}" class="lazyload" alt="" width="{{ $image.Width }}" height="{{ $image.Height }}">{{/* Width & height (or low res src) required for lazy loading. */}} - </a> - {{end}} - - {{else}} - {{/* Load gallery images from the `static/img/` media library or internet */}} - - {{ if $.Page.Params.gallery_item }} - {{ range (where $.Page.Params.gallery_item "album" $album) }} - {{/* Set image path. */}} - {{ $.Scratch.Set "src" .image }} - {{ if gt (len .image) 4 }} - {{ if ne "http" (slicestr .image 0 4) }} - {{ $.Scratch.Set "src" (printf "img/%s" .image | relURL) }} - {{ end }} - {{ end }} - {{/* Don't lazy load image as cannot init image size from non-Hugo asset, resulting in inaccurate anchor scrolling & active link highlighting. */}} - <a data-fancybox="gallery{{ with .album }}-{{.}}{{ end }}" {{ with .caption }}data-caption="{{.|markdownify|emojify|safeHTMLAttr}}"{{ end }} href="{{$.Scratch.Get "src"}}"> - <img data-src="{{$.Scratch.Get "src"}}" alt=""> - </a> - {{end}} - {{else}} - {{ errorf "Unable to load gallery in %s." .Page.File.Filename }} - {{end}} - {{end}} -</div> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/gdocs.html b/nemo/layouts/shortcodes/gdocs.html deleted file mode 100644 index aa3ad33aaea390ae0e84cf073da26c6c9e2a6de7..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/gdocs.html +++ /dev/null @@ -1,3 +0,0 @@ -<div class="responsive-wrap"> - <iframe src="{{ .Get "src" }}" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe> -</div> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/hl.html b/nemo/layouts/shortcodes/hl.html deleted file mode 100644 index f56cb01755ab03213f8ddd549a5e4ddba4087e4e..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/hl.html +++ /dev/null @@ -1 +0,0 @@ -<span class="markup-quote">{{ .Inner | markdownify | emojify }}</span> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/icon.html b/nemo/layouts/shortcodes/icon.html deleted file mode 100644 index 38541aba570ee7d293f4f77070637ced639c229e..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/icon.html +++ /dev/null @@ -1,10 +0,0 @@ -{{- if (.Get "name") -}} - {{- $icon := .Get "name" -}} - {{- $pack := or (.Get "pack") "fas" -}} - {{- $pack_prefix := $pack -}} - {{- if in (slice "fab" "fas" "far" "fal") $pack -}} - {{- $pack_prefix = "fa" -}} - {{- end -}} - {{- $padding_right := (.Get "padding_right") | default 1 -}}{{/* Defaulting to 1 prevents no spacing when minimizing HTML. */}} - <i class="{{ $pack }} {{ $pack_prefix }}-{{ $icon }} {{with (.Get "padding_left")}}pl-{{.}}{{end}} {{with $padding_right}}pr-{{.}}{{end}} {{if ne (.Get "fixed_width") "false"}}fa-fw{{end}}"></i> -{{- end -}} \ No newline at end of file diff --git a/nemo/layouts/shortcodes/list_categories.html b/nemo/layouts/shortcodes/list_categories.html deleted file mode 100644 index 7bbf986a5ddfddc3d7f13d861c1dee3ed9ea3e4e..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/list_categories.html +++ /dev/null @@ -1,5 +0,0 @@ -<ul class="list-unstyled"> - {{ range site.Taxonomies.categories }} - <li><a href="{{.Page.RelPermalink}}">{{.Page.Title}}</a></li> - {{ end }} -</ul> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/list_tags.html b/nemo/layouts/shortcodes/list_tags.html deleted file mode 100644 index 4384812888fad1cfbc026f9c85818180a9ffb182..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/list_tags.html +++ /dev/null @@ -1,5 +0,0 @@ -<ul class="list-unstyled"> - {{ range site.Taxonomies.tags }} - <li><a href="{{.Page.RelPermalink}}">{{.Page.Title}}</a></li> - {{ end }} -</ul> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/mention.html b/nemo/layouts/shortcodes/mention.html deleted file mode 100644 index 1ac54108a577e1696e353733a169cce28467c91b..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/mention.html +++ /dev/null @@ -1,10 +0,0 @@ -{{- $username := .Get 0 -}} -{{- $username_url := $username | anchorize -}} -{{- $taxonomy := "authors" -}} -{{- $profile_page := site.GetPage (printf "/%s/%s" $taxonomy $username_url) -}} -{{- $name := $profile_page.Params.name | default ($username|markdownify) -}} -{{- with $profile_page -}} - <a href="{{$profile_page.RelPermalink}}">{{$name}}</a> -{{- else -}} - {{- $name -}} -{{- end -}} diff --git a/nemo/layouts/shortcodes/slide.html b/nemo/layouts/shortcodes/slide.html deleted file mode 100644 index d3bced6a5861990321a90780cf9141a7a8cf39de..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/slide.html +++ /dev/null @@ -1,6 +0,0 @@ -{{ $non_data_attributes := slice "id" "class" }} -<section data-noprocess data-shortcode-slide - {{ range $key, $value := $.Params }} - {{ $attribute := cond (in $non_data_attributes $key) $key (delimit (slice "data" $key) "-") }} - {{ $attribute | safeHTMLAttr }}="{{ $value }}" - {{ end }}> diff --git a/nemo/layouts/shortcodes/speaker_note.html b/nemo/layouts/shortcodes/speaker_note.html deleted file mode 100644 index e2b72105c50db288e478323759d91b9ed08ef5d2..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/speaker_note.html +++ /dev/null @@ -1,3 +0,0 @@ -<aside class="notes"> - {{ .Inner | markdownify | emojify }} -</aside> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/staticref.html b/nemo/layouts/shortcodes/staticref.html deleted file mode 100644 index c6e99f4510f41bb22351d47ab31ff4d9bdbbc290..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/staticref.html +++ /dev/null @@ -1 +0,0 @@ -<a href="{{ .Get 0 | relURL }}"{{ if len .Params | eq 2 }} target="_blank"{{ end }}>{{ .Inner }}</a> \ No newline at end of file diff --git a/nemo/layouts/shortcodes/toc.html b/nemo/layouts/shortcodes/toc.html deleted file mode 100644 index 31dd72c06ffc88fe5693aa4b6632e91af7bb39b0..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/toc.html +++ /dev/null @@ -1,2 +0,0 @@ -<h2>{{ i18n "table_of_contents" }}</h2> -{{ $.Page.TableOfContents }} diff --git a/nemo/layouts/shortcodes/video.html b/nemo/layouts/shortcodes/video.html deleted file mode 100644 index f6019f1c7d767961075073ba2579d07c899e10f2..0000000000000000000000000000000000000000 --- a/nemo/layouts/shortcodes/video.html +++ /dev/null @@ -1,27 +0,0 @@ -{{/* Enable video to be loaded from local page dir or media library at `static/img/`. */}} -{{ $path := "" }} -{{ $root_dir := "" }} -{{ if .Get "library" }} - {{ $path = "img/" }} - {{ $root_dir = "static/" }} -{{ end }} - -{{ $video := printf "%s%s" $path (.Get "src") }} -{{ $video_type := strings.TrimPrefix "." (path.Ext (.Get "src")) }} -{{ if .Get "library" }} - {{ $video = $video | relURL }} -{{ end }} - -{{ $poster := printf "%s%s%s" $path (substr (.Get "src") 0 -4) ".jpg" }} -{{ $has_poster := fileExists (printf "%s%s" $root_dir $poster) }} -{{ if and $has_poster (.Get "library") }} - {{ $poster = $poster | relURL }} -{{ else if $has_poster }} - {{ $poster = $poster }} -{{ else }} - {{ $poster = "" }} -{{ end }} - -<video {{if (.Get "controls")}}controls{{else}}autoplay loop{{end}} {{with $poster}}poster="{{.}}"{{end}}> - <source src="{{ $video }}" type="video/{{$video_type}}"> -</video> \ No newline at end of file diff --git a/nemo/layouts/slides/baseof.html b/nemo/layouts/slides/baseof.html deleted file mode 100644 index 98c8fa4cf843d26e90353c900b05544786866811..0000000000000000000000000000000000000000 --- a/nemo/layouts/slides/baseof.html +++ /dev/null @@ -1,71 +0,0 @@ -<!DOCTYPE html> -<html lang="{{ site.LanguageCode | default "en-us" }}"> -<head> - {{ $css := site.Data.assets.css }} - {{ $cdn_url_reveal := "https://cdnjs.cloudflare.com/ajax/libs/reveal.js/3.8.0" }} - - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="generator" content="Source Themes Academic {{ site.Data.academic.version }}"> - - <link rel="manifest" href="{{ "index.webmanifest" | relLangURL }}"> - <link rel="icon" type="image/png" href="{{(partial "functions/get_icon" 32).RelPermalink}}"> - <link rel="apple-touch-icon" type="image/png" href="{{(partial "functions/get_icon" 192).RelPermalink}}"> - - <link rel="canonical" href="{{ .Permalink }}"> - - <title>{{ .Title }} | {{ site.Title }}</title> - - <link rel="stylesheet" href="{{ $cdn_url_reveal }}/css/reveal.min.css"> - {{- $theme := $.Param "slides.theme" | default "black" -}} - <link rel="stylesheet" href="{{ $cdn_url_reveal }}/css/theme/{{ $theme }}.min.css"> - - {{- $highlight_style := $.Param "slides.highlight_style" | default "dracula" -}} - {{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\">" (printf $css.highlight.url $css.highlight.version $highlight_style) | safeHTML }} - - {{ $css := resources.Get "css/reveal.css" }} - {{ $css_custom := resources.Get "css/reveal_custom.css" }} - {{ $style := slice $css $css_custom | resources.Concat "css/reveal_custom.css" | resources.Minify }} - <link rel="stylesheet" href="{{ $style.RelPermalink }}"> - - <!-- Printing and PDF exports --> - <script> - var link = document.createElement( 'link' ); - link.rel = 'stylesheet'; - link.type = 'text/css'; - link.href = window.location.search.match( /print-pdf/gi ) ? '{{ $cdn_url_reveal }}/css/print/pdf.css' : '{{ $cdn_url_reveal }}/css/print/paper.css'; - document.getElementsByTagName( 'head' )[0].appendChild( link ); - </script> - -</head> -<body> - - {{ block "main" . }}{{ end }} - - <script src="{{ $cdn_url_reveal }}/js/reveal.min.js"></script> - - <script> - window.revealPlugins = { dependencies: [ - // Interpret Markdown in <section> elements. - { src: '{{ $cdn_url_reveal }}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, - { src: '{{ $cdn_url_reveal }}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, - // Enable code highlighting. - { src: '{{ $cdn_url_reveal }}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, - // Enable zooming. - { src: '{{ $cdn_url_reveal }}/plugin/zoom-js/zoom.js', async: true }, - // Enable math. - { src: '{{ $cdn_url_reveal }}/plugin/math/math.js', async: true }, - // Enable exporting deck to PDF. - { src: '{{ $cdn_url_reveal }}/plugin/print-pdf/print-pdf.js', async: true }, - // Enable speaker notes. Notes plugin must be loaded locally as CDN is missing `notes.html`. - { src: '{{ "js/vendor/reveal.js/plugin/notes/notes.js" | relURL }}', async: true } - ]}; - - let revealDefaults = { center: true, controls: true, history: true, progress: true, transition: 'slide', mouseWheel: true }; - let revealOptions = Object.assign({}, revealDefaults, revealPlugins); - Reveal.initialize(revealOptions); - </script> - -</body> -</html> diff --git a/nemo/layouts/slides/list.html b/nemo/layouts/slides/list.html deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/nemo/layouts/slides/single.html b/nemo/layouts/slides/single.html deleted file mode 100644 index 6bd27b183ae861ffdb6cbc7f72a405b5b6d704a9..0000000000000000000000000000000000000000 --- a/nemo/layouts/slides/single.html +++ /dev/null @@ -1,3 +0,0 @@ -{{ define "main" }} -{{ partial "slides" (union (slice .Page) .Pages) }} -{{ end }} diff --git a/nemo/layouts/talk/single.html b/nemo/layouts/talk/single.html deleted file mode 100644 index e87505a956f07e3cbf9bd770383b10e143d919a3..0000000000000000000000000000000000000000 --- a/nemo/layouts/talk/single.html +++ /dev/null @@ -1,76 +0,0 @@ -{{- define "main" -}} - -<div class="pub"> - - {{ partial "page_header.html" . }} - - <div class="article-container"> - - {{ if .Params.abstract }} - <h3>{{ i18n "abstract" }}</h3> - <p class="pub-abstract">{{ .Params.abstract | markdownify | emojify }}</p> - {{ else }} - <br> - {{ end }} - - <div class="row"> - <div class="col-md-1"></div> - <div class="col-md-10"> - <div class="row"> - <div class="col-12 col-md-3 pub-row-heading">{{ i18n "date" }}</div> - <div class="col-12 col-md-9"> - {{ partial "functions/get_event_dates" . }} - </div> - </div> - </div> - <div class="col-md-1"></div> - </div> - <div class="d-md-none space-below"></div> - - {{ if .Params.event }} - <div class="row"> - <div class="col-md-1"></div> - <div class="col-md-10"> - <div class="row"> - <div class="col-12 col-md-3 pub-row-heading">{{ i18n "event" }}</div> - <div class="col-12 col-md-9"> - {{ with .Params.event_url }}<a href="{{ . }}" target="_blank" rel="noopener">{{ end }} - {{ .Params.event | markdownify }} - {{ if .Params.event_url }}</a>{{ end }} - </div> - </div> - </div> - <div class="col-md-1"></div> - </div> - <div class="d-md-none space-below"></div> - {{ end }} - - {{ if .Params.location }} - <div class="row"> - <div class="col-md-1"></div> - <div class="col-md-10"> - <div class="row"> - <div class="col-12 col-md-3 pub-row-heading">{{ i18n "location" }}</div> - <div class="col-12 col-md-9">{{ .Params.location | markdownify }}</div> - {{ if .Params.address }} - <div class="col-md-3"></div> - <div class="col-12 col-md-9">{{partial "functions/get_address" (dict "root" . "address" .Params.address) }}</div> - {{end}} - </div> - </div> - <div class="col-md-1"></div> - </div> - <div class="d-md-none space-below"></div> - {{ end }} - - <div class="space-below"></div> - - <div class="article-style"> - {{ .Content }} - </div> - - {{ partial "page_footer" . }} - - </div> -</div> -{{- end -}} diff --git a/nemo/layouts/widget_page/single.html b/nemo/layouts/widget_page/single.html deleted file mode 100644 index 842aa8939eed3ae065169988427fff7695a7d1c4..0000000000000000000000000000000000000000 --- a/nemo/layouts/widget_page/single.html +++ /dev/null @@ -1,3 +0,0 @@ -{{- define "main" -}} -{{ partial "widget_page.html" . }} -{{- end -}} diff --git a/nemo/netlify.toml b/nemo/netlify.toml deleted file mode 100644 index 16c777dd34715dc927056b890e603c7e7974c00f..0000000000000000000000000000000000000000 --- a/nemo/netlify.toml +++ /dev/null @@ -1,28 +0,0 @@ -[build] - command = "hugo --gc --minify -b $URL --themesDir ../../" - base = "exampleSite" - publish = "exampleSite/public" - -[build.environment] - HUGO_THEME = "repo" - HUGO_VERSION = "0.64.0" - HUGO_ENABLEGITINFO = "true" - -[context.production.environment] - HUGO_ENV = "production" - -[context.deploy-preview] - command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL --themesDir ../../" - -[context.branch-deploy] - command = "hugo --gc --minify -b $DEPLOY_PRIME_URL --themesDir ../../" - -[[headers]] - for = "*.webmanifest" - [headers.values] - Content-Type = "application/manifest+json; charset=UTF-8" - -[[headers]] - for = "index.xml" - [headers.values] - Content-Type = "application/rss+xml" diff --git a/nemo/package-lock.json b/nemo/package-lock.json deleted file mode 100644 index 3fa83d90ba89d102c42ba1d34b508c4424447ba3..0000000000000000000000000000000000000000 --- a/nemo/package-lock.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "academic", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "bootstrap": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz", - "integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==" - } - } -} diff --git a/nemo/package.json b/nemo/package.json deleted file mode 100644 index 5d6e1a0ff5a3482bf4cea879fa4f61902fd60cac..0000000000000000000000000000000000000000 --- a/nemo/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "academic", - "version": "1.0.0", - "description": "The Page Builder for Hugo", - "main": "index.js", - "dependencies": { - "bootstrap": "^4.4.1" - }, - "devDependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/gcushen/hugo-academic.git" - }, - "author": "George Cushen", - "license": "MIT", - "bugs": { - "url": "https://github.com/gcushen/hugo-academic/issues" - }, - "homepage": "https://github.com/gcushen/hugo-academic#readme" -} diff --git a/nemo/scripts/gen_demo_resources.sh b/nemo/scripts/gen_demo_resources.sh deleted file mode 100755 index c689e0e87739659fd2723a595f42cd75a6107d1c..0000000000000000000000000000000000000000 --- a/nemo/scripts/gen_demo_resources.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env zsh - -# Generate preprocessed resources for demo site whilst also removing disused resources. -# Run this script from the root Academic dir. -HUGO_THEME=academic hugo --source exampleSite --themesDir ../../ --gc diff --git a/nemo/scripts/list_language_packs.py b/nemo/scripts/list_language_packs.py deleted file mode 100644 index 043aef7eed87196732f20b549077ba3490e47318..0000000000000000000000000000000000000000 --- a/nemo/scripts/list_language_packs.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -# List Available Language Packs -# Used for updating the Languages page of the documentation. -# https://sourcethemes.com/academic/ -# -# Prerequisites: pip3 install PyYAML - -import yaml -from pathlib import Path - -LANG_PATH = Path(__file__).resolve().parent.parent.joinpath('data').joinpath('i18n') -LANG_YAML = LANG_PATH.joinpath('languages.yaml') - - -# Iterate over languages. -with open(LANG_YAML) as f: - master_map = yaml.safe_load(f) - - # Print languages as a plaintext list. - # lang_list = [master_map[master_item] for master_item in master_map] - # print(', '.join(lang_list)) - - # Print languages as a Markdown list. - i = 0 - for master_item in master_map: - print(f'- **{master_map[master_item]}** ({master_item})') - i += 1 - -print("\n") -print(f"{i} language packs found!") diff --git a/nemo/scripts/sync_i18n.py b/nemo/scripts/sync_i18n.py deleted file mode 100644 index cd1661a32a199aee74000709a3a7917a37db3017..0000000000000000000000000000000000000000 --- a/nemo/scripts/sync_i18n.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python3 - -# Sync Language Packs -# Script to synchronize each language pack's items against Academic's master pack (English). -# https://sourcethemes.com/academic/ -# -# Prerequisites: pip3 install PyYAML -# -# TODO: Switch from PyYAML to Ruamel in order to load/dump comments - -# see https://stackoverflow.com/questions/47382227/python-yaml-update-preserving-order-and-comments - -import copy -from pathlib import Path -import yaml - -I18N_PATH = Path(__file__).resolve().parent.parent.joinpath('i18n') -MASTER_PACK = I18N_PATH.joinpath('en.yaml') - - -# Load master language pack (English). -with open(MASTER_PACK) as f: - master_map = yaml.safe_load(f) - # if (DEBUG) - # print(master_map) - -# Iterate over each child language pack. -cnt = 0 -for filename in Path(I18N_PATH).glob("*.yaml"): - if filename.stem != 'en': - i18n_file = I18N_PATH.joinpath(filename) - print(f"Processing {i18n_file} ...") - - # Load a child language pack. - with open(i18n_file) as f: - child_map = yaml.safe_load(f) - - # Synchronize the language pack's structure against the master language pack. - tmp_map = copy.deepcopy(master_map) # Make a temporary deep copy of the master map (list of objects). - master_index = 0 - for master_item in master_map: - translation = next((item['translation'] for item in child_map if item['id'] == master_item['id']), - master_item['translation']) - tmp_map[master_index]['translation'] = translation - master_index += 1 - - # Write the synced language pack to file. - with open(i18n_file, 'w') as f: - yaml.dump(tmp_map, f, allow_unicode=True, width=float("inf")) # PyYAML will break lines unless a large column width is set. - cnt += 1 - -# Print results. -print(f"{cnt} child language packs successfully synchronized!") diff --git a/nemo/scripts/update_bootstrap.sh b/nemo/scripts/update_bootstrap.sh deleted file mode 100644 index 68e802367d50dcee5cd7d3a83749cb34ea5ddb7e..0000000000000000000000000000000000000000 --- a/nemo/scripts/update_bootstrap.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -# Script to copy Bootstrap files into project after running `npm install` to download Bootstrap. -# Use: run from project root dir. - -ASSETS_JS_DIR="assets/js/vendor/" -ASSETS_SCSS_DIR="assets/scss/vendor/" - -mkdir -p $ASSETS_SCSS_DIR/bootstrap/ - -cp node_modules/bootstrap/dist/js/bootstrap.min.js $ASSETS_JS_DIR -cp -r node_modules/bootstrap/scss/* $ASSETS_SCSS_DIR/bootstrap/ - -# cp node_modules/jquery/dist/jquery.min.js $ASSETS_JS_DIR -# cp node_modules/popper.js/dist/umd/popper.min.js $ASSETS_JS_DIR diff --git a/nemo/scripts/view_demo.sh b/nemo/scripts/view_demo.sh deleted file mode 100755 index 55c2443a10841c6b7104a2119ff4af46681c4dfd..0000000000000000000000000000000000000000 --- a/nemo/scripts/view_demo.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env zsh - -# View the demo site on any local devices by binding the local IP on port 1315. -# Run this script from the root Academic dir. -HUGO_THEME=academic hugo \ ---source exampleSite --themesDir ../../ \ ---bind=0.0.0.0 -p 1315 --baseURL=http://0.0.0.0:1315 \ ---i18n-warnings --minify -e "development" \ -server diff --git a/nemo/static/js/vendor/reveal.js/plugin/notes/notes.html b/nemo/static/js/vendor/reveal.js/plugin/notes/notes.html deleted file mode 100644 index 255dade30fb05e257552ebb2366d63e762641883..0000000000000000000000000000000000000000 --- a/nemo/static/js/vendor/reveal.js/plugin/notes/notes.html +++ /dev/null @@ -1,834 +0,0 @@ -<!doctype html> -<html lang="en"> -<head> - <meta charset="utf-8"> - - <title>Speaker Notes</title> - - <style> - body { - font-family: Helvetica; - font-size: 18px; - } - - #current-slide, - #upcoming-slide, - #speaker-controls { - padding: 6px; - box-sizing: border-box; - -moz-box-sizing: border-box; - } - - #current-slide iframe, - #upcoming-slide iframe { - width: 100%; - height: 100%; - border: 1px solid #ddd; - } - - #current-slide .label, - #upcoming-slide .label { - position: absolute; - top: 10px; - left: 10px; - z-index: 2; - } - - #connection-status { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 20; - padding: 30% 20% 20% 20%; - font-size: 18px; - color: #222; - background: #fff; - text-align: center; - box-sizing: border-box; - line-height: 1.4; - } - - .overlay-element { - height: 34px; - line-height: 34px; - padding: 0 10px; - text-shadow: none; - background: rgba( 220, 220, 220, 0.8 ); - color: #222; - font-size: 14px; - } - - .overlay-element.interactive:hover { - background: rgba( 220, 220, 220, 1 ); - } - - #current-slide { - position: absolute; - width: 60%; - height: 100%; - top: 0; - left: 0; - padding-right: 0; - } - - #upcoming-slide { - position: absolute; - width: 40%; - height: 40%; - right: 0; - top: 0; - } - - /* Speaker controls */ - #speaker-controls { - position: absolute; - top: 40%; - right: 0; - width: 40%; - height: 60%; - overflow: auto; - font-size: 18px; - } - - .speaker-controls-time.hidden, - .speaker-controls-notes.hidden { - display: none; - } - - .speaker-controls-time .label, - .speaker-controls-pace .label, - .speaker-controls-notes .label { - text-transform: uppercase; - font-weight: normal; - font-size: 0.66em; - color: #666; - margin: 0; - } - - .speaker-controls-time, .speaker-controls-pace { - border-bottom: 1px solid rgba( 200, 200, 200, 0.5 ); - margin-bottom: 10px; - padding: 10px 16px; - padding-bottom: 20px; - cursor: pointer; - } - - .speaker-controls-time .reset-button { - opacity: 0; - float: right; - color: #666; - text-decoration: none; - } - .speaker-controls-time:hover .reset-button { - opacity: 1; - } - - .speaker-controls-time .timer, - .speaker-controls-time .clock { - width: 50%; - } - - .speaker-controls-time .timer, - .speaker-controls-time .clock, - .speaker-controls-time .pacing .hours-value, - .speaker-controls-time .pacing .minutes-value, - .speaker-controls-time .pacing .seconds-value { - font-size: 1.9em; - } - - .speaker-controls-time .timer { - float: left; - } - - .speaker-controls-time .clock { - float: right; - text-align: right; - } - - .speaker-controls-time span.mute { - opacity: 0.3; - } - - .speaker-controls-time .pacing-title { - margin-top: 5px; - } - - .speaker-controls-time .pacing.ahead { - color: blue; - } - - .speaker-controls-time .pacing.on-track { - color: green; - } - - .speaker-controls-time .pacing.behind { - color: red; - } - - .speaker-controls-notes { - padding: 10px 16px; - } - - .speaker-controls-notes .value { - margin-top: 5px; - line-height: 1.4; - font-size: 1.2em; - } - - /* Layout selector */ - #speaker-layout { - position: absolute; - top: 10px; - right: 10px; - color: #222; - z-index: 10; - } - #speaker-layout select { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - border: 0; - box-shadow: 0; - cursor: pointer; - opacity: 0; - - font-size: 1em; - background-color: transparent; - - -moz-appearance: none; - -webkit-appearance: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - } - - #speaker-layout select:focus { - outline: none; - box-shadow: none; - } - - .clear { - clear: both; - } - - /* Speaker layout: Wide */ - body[data-speaker-layout="wide"] #current-slide, - body[data-speaker-layout="wide"] #upcoming-slide { - width: 50%; - height: 45%; - padding: 6px; - } - - body[data-speaker-layout="wide"] #current-slide { - top: 0; - left: 0; - } - - body[data-speaker-layout="wide"] #upcoming-slide { - top: 0; - left: 50%; - } - - body[data-speaker-layout="wide"] #speaker-controls { - top: 45%; - left: 0; - width: 100%; - height: 50%; - font-size: 1.25em; - } - - /* Speaker layout: Tall */ - body[data-speaker-layout="tall"] #current-slide, - body[data-speaker-layout="tall"] #upcoming-slide { - width: 45%; - height: 50%; - padding: 6px; - } - - body[data-speaker-layout="tall"] #current-slide { - top: 0; - left: 0; - } - - body[data-speaker-layout="tall"] #upcoming-slide { - top: 50%; - left: 0; - } - - body[data-speaker-layout="tall"] #speaker-controls { - padding-top: 40px; - top: 0; - left: 45%; - width: 55%; - height: 100%; - font-size: 1.25em; - } - - /* Speaker layout: Notes only */ - body[data-speaker-layout="notes-only"] #current-slide, - body[data-speaker-layout="notes-only"] #upcoming-slide { - display: none; - } - - body[data-speaker-layout="notes-only"] #speaker-controls { - padding-top: 40px; - top: 0; - left: 0; - width: 100%; - height: 100%; - font-size: 1.25em; - } - - @media screen and (max-width: 1080px) { - body[data-speaker-layout="default"] #speaker-controls { - font-size: 16px; - } - } - - @media screen and (max-width: 900px) { - body[data-speaker-layout="default"] #speaker-controls { - font-size: 14px; - } - } - - @media screen and (max-width: 800px) { - body[data-speaker-layout="default"] #speaker-controls { - font-size: 12px; - } - } - - </style> -</head> - -<body> - -<div id="connection-status">Loading speaker view...</div> - -<div id="current-slide"></div> -<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span></div> -<div id="speaker-controls"> - <div class="speaker-controls-time"> - <h4 class="label">Time <span class="reset-button">Click to Reset</span></h4> - <div class="clock"> - <span class="clock-value">0:00 AM</span> - </div> - <div class="timer"> - <span class="hours-value">00</span><span class="minutes-value">:00</span><span class="seconds-value">:00</span> - </div> - <div class="clear"></div> - - <h4 class="label pacing-title" style="display: none">Pacing – Time to finish current slide</h4> - <div class="pacing" style="display: none"> - <span class="hours-value">00</span><span class="minutes-value">:00</span><span class="seconds-value">:00</span> - </div> - </div> - - <div class="speaker-controls-notes hidden"> - <h4 class="label">Notes</h4> - <div class="value"></div> - </div> -</div> -<div id="speaker-layout" class="overlay-element interactive"> - <span class="speaker-layout-label"></span> - <select class="speaker-layout-dropdown"></select> -</div> - -<script src="../../plugin/markdown/marked.js"></script> -<script> - - (function() { - - var notes, - notesValue, - currentState, - currentSlide, - upcomingSlide, - layoutLabel, - layoutDropdown, - pendingCalls = {}, - lastRevealApiCallId = 0, - connected = false; - - var SPEAKER_LAYOUTS = { - 'default': 'Default', - 'wide': 'Wide', - 'tall': 'Tall', - 'notes-only': 'Notes only' - }; - - setupLayout(); - - var connectionStatus = document.querySelector( '#connection-status' ); - var connectionTimeout = setTimeout( function() { - connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.'; - }, 5000 ); - - window.addEventListener( 'message', function( event ) { - - clearTimeout( connectionTimeout ); - connectionStatus.style.display = 'none'; - - var data = JSON.parse( event.data ); - - // The overview mode is only useful to the reveal.js instance - // where navigation occurs so we don't sync it - if( data.state ) delete data.state.overview; - - // Messages sent by the notes plugin inside of the main window - if( data && data.namespace === 'reveal-notes' ) { - if( data.type === 'connect' ) { - handleConnectMessage( data ); - } - else if( data.type === 'state' ) { - handleStateMessage( data ); - } - else if( data.type === 'return' ) { - pendingCalls[data.callId](data.result); - delete pendingCalls[data.callId]; - } - } - // Messages sent by the reveal.js inside of the current slide preview - else if( data && data.namespace === 'reveal' ) { - if( /ready/.test( data.eventName ) ) { - // Send a message back to notify that the handshake is complete - window.opener.postMessage( JSON.stringify({ namespace: 'reveal-notes', type: 'connected'} ), '*' ); - } - else if( /slidechanged|fragmentshown|fragmenthidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) { - - window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ]} ), '*' ); - - } - } - - } ); - - /** - * Asynchronously calls the Reveal.js API of the main frame. - */ - function callRevealApi( methodName, methodArguments, callback ) { - - var callId = ++lastRevealApiCallId; - pendingCalls[callId] = callback; - window.opener.postMessage( JSON.stringify( { - namespace: 'reveal-notes', - type: 'call', - callId: callId, - methodName: methodName, - arguments: methodArguments - } ), '*' ); - - } - - /** - * Called when the main window is trying to establish a - * connection. - */ - function handleConnectMessage( data ) { - - if( connected === false ) { - connected = true; - - setupIframes( data ); - setupKeyboard(); - setupNotes(); - setupTimer(); - } - - } - - /** - * Called when the main window sends an updated state. - */ - function handleStateMessage( data ) { - - // Store the most recently set state to avoid circular loops - // applying the same state - currentState = JSON.stringify( data.state ); - - // No need for updating the notes in case of fragment changes - if ( data.notes ) { - notes.classList.remove( 'hidden' ); - notesValue.style.whiteSpace = data.whitespace; - if( data.markdown ) { - notesValue.innerHTML = marked( data.notes ); - } - else { - notesValue.innerHTML = data.notes; - } - } - else { - notes.classList.add( 'hidden' ); - } - - // Update the note slides - currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' ); - upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ] }), '*' ); - upcomingSlide.contentWindow.postMessage( JSON.stringify({ method: 'next' }), '*' ); - - } - - // Limit to max one state update per X ms - handleStateMessage = debounce( handleStateMessage, 200 ); - - /** - * Forward keyboard events to the current slide window. - * This enables keyboard events to work even if focus - * isn't set on the current slide iframe. - * - * Block F5 default handling, it reloads and disconnects - * the speaker notes window. - */ - function setupKeyboard() { - - document.addEventListener( 'keydown', function( event ) { - if( event.keyCode === 116 || ( event.metaKey && event.keyCode === 82 ) ) { - event.preventDefault(); - return false; - } - currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' ); - } ); - - } - - /** - * Creates the preview iframes. - */ - function setupIframes( data ) { - - var params = [ - 'receiver', - 'progress=false', - 'history=false', - 'transition=none', - 'autoSlide=0', - 'backgroundTransition=none' - ].join( '&' ); - - var urlSeparator = /\?/.test(data.url) ? '&' : '?'; - var hash = '#/' + data.state.indexh + '/' + data.state.indexv; - var currentURL = data.url + urlSeparator + params + '&postMessageEvents=true' + hash; - var upcomingURL = data.url + urlSeparator + params + '&controls=false' + hash; - - currentSlide = document.createElement( 'iframe' ); - currentSlide.setAttribute( 'width', 1280 ); - currentSlide.setAttribute( 'height', 1024 ); - currentSlide.setAttribute( 'src', currentURL ); - document.querySelector( '#current-slide' ).appendChild( currentSlide ); - - upcomingSlide = document.createElement( 'iframe' ); - upcomingSlide.setAttribute( 'width', 640 ); - upcomingSlide.setAttribute( 'height', 512 ); - upcomingSlide.setAttribute( 'src', upcomingURL ); - document.querySelector( '#upcoming-slide' ).appendChild( upcomingSlide ); - - } - - /** - * Setup the notes UI. - */ - function setupNotes() { - - notes = document.querySelector( '.speaker-controls-notes' ); - notesValue = document.querySelector( '.speaker-controls-notes .value' ); - - } - - function getTimings( callback ) { - - callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) { - callRevealApi( 'getConfig', [], function ( config ) { - var defaultTiming = config.defaultTiming; - if (defaultTiming == null) { - callback(null); - return; - } - - var timings = []; - for ( var i in slideAttributes ) { - var slide = slideAttributes[ i ]; - var timing = defaultTiming; - if( slide.hasOwnProperty( 'data-timing' )) { - var t = slide[ 'data-timing' ]; - timing = parseInt(t); - if( isNaN(timing) ) { - console.warn("Could not parse timing '" + t + "' of slide " + i + "; using default of " + defaultTiming); - timing = defaultTiming; - } - } - timings.push(timing); - } - - callback( timings ); - } ); - } ); - - } - - /** - * Return the number of seconds allocated for presenting - * all slides up to and including this one. - */ - function getTimeAllocated( timings, callback ) { - - callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) { - var allocated = 0; - for (var i in timings.slice(0, currentSlide + 1)) { - allocated += timings[i]; - } - callback( allocated ); - } ); - - } - - /** - * Create the timer and clock and start updating them - * at an interval. - */ - function setupTimer() { - - var start = new Date(), - timeEl = document.querySelector( '.speaker-controls-time' ), - clockEl = timeEl.querySelector( '.clock-value' ), - hoursEl = timeEl.querySelector( '.hours-value' ), - minutesEl = timeEl.querySelector( '.minutes-value' ), - secondsEl = timeEl.querySelector( '.seconds-value' ), - pacingTitleEl = timeEl.querySelector( '.pacing-title' ), - pacingEl = timeEl.querySelector( '.pacing' ), - pacingHoursEl = pacingEl.querySelector( '.hours-value' ), - pacingMinutesEl = pacingEl.querySelector( '.minutes-value' ), - pacingSecondsEl = pacingEl.querySelector( '.seconds-value' ); - - var timings = null; - getTimings( function ( _timings ) { - - timings = _timings; - if (_timings !== null) { - pacingTitleEl.style.removeProperty('display'); - pacingEl.style.removeProperty('display'); - } - - // Update once directly - _updateTimer(); - - // Then update every second - setInterval( _updateTimer, 1000 ); - - } ); - - - function _resetTimer() { - - if (timings == null) { - start = new Date(); - _updateTimer(); - } - else { - // Reset timer to beginning of current slide - getTimeAllocated( timings, function ( slideEndTimingSeconds ) { - var slideEndTiming = slideEndTimingSeconds * 1000; - callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) { - var currentSlideTiming = timings[currentSlide] * 1000; - var previousSlidesTiming = slideEndTiming - currentSlideTiming; - var now = new Date(); - start = new Date(now.getTime() - previousSlidesTiming); - _updateTimer(); - } ); - } ); - } - - } - - timeEl.addEventListener( 'click', function() { - _resetTimer(); - return false; - } ); - - function _displayTime( hrEl, minEl, secEl, time) { - - var sign = Math.sign(time) == -1 ? "-" : ""; - time = Math.abs(Math.round(time / 1000)); - var seconds = time % 60; - var minutes = Math.floor( time / 60 ) % 60 ; - var hours = Math.floor( time / ( 60 * 60 )) ; - hrEl.innerHTML = sign + zeroPadInteger( hours ); - if (hours == 0) { - hrEl.classList.add( 'mute' ); - } - else { - hrEl.classList.remove( 'mute' ); - } - minEl.innerHTML = ':' + zeroPadInteger( minutes ); - if (hours == 0 && minutes == 0) { - minEl.classList.add( 'mute' ); - } - else { - minEl.classList.remove( 'mute' ); - } - secEl.innerHTML = ':' + zeroPadInteger( seconds ); - } - - function _updateTimer() { - - var diff, hours, minutes, seconds, - now = new Date(); - - diff = now.getTime() - start.getTime(); - - clockEl.innerHTML = now.toLocaleTimeString( 'en-US', { hour12: true, hour: '2-digit', minute:'2-digit' } ); - _displayTime( hoursEl, minutesEl, secondsEl, diff ); - if (timings !== null) { - _updatePacing(diff); - } - - } - - function _updatePacing(diff) { - - getTimeAllocated( timings, function ( slideEndTimingSeconds ) { - var slideEndTiming = slideEndTimingSeconds * 1000; - - callRevealApi( 'getSlidePastCount', [], function ( currentSlide ) { - var currentSlideTiming = timings[currentSlide] * 1000; - var timeLeftCurrentSlide = slideEndTiming - diff; - if (timeLeftCurrentSlide < 0) { - pacingEl.className = 'pacing behind'; - } - else if (timeLeftCurrentSlide < currentSlideTiming) { - pacingEl.className = 'pacing on-track'; - } - else { - pacingEl.className = 'pacing ahead'; - } - _displayTime( pacingHoursEl, pacingMinutesEl, pacingSecondsEl, timeLeftCurrentSlide ); - } ); - } ); - } - - } - - /** - * Sets up the speaker view layout and layout selector. - */ - function setupLayout() { - - layoutDropdown = document.querySelector( '.speaker-layout-dropdown' ); - layoutLabel = document.querySelector( '.speaker-layout-label' ); - - // Render the list of available layouts - for( var id in SPEAKER_LAYOUTS ) { - var option = document.createElement( 'option' ); - option.setAttribute( 'value', id ); - option.textContent = SPEAKER_LAYOUTS[ id ]; - layoutDropdown.appendChild( option ); - } - - // Monitor the dropdown for changes - layoutDropdown.addEventListener( 'change', function( event ) { - - setLayout( layoutDropdown.value ); - - }, false ); - - // Restore any currently persisted layout - setLayout( getLayout() ); - - } - - /** - * Sets a new speaker view layout. The layout is persisted - * in local storage. - */ - function setLayout( value ) { - - var title = SPEAKER_LAYOUTS[ value ]; - - layoutLabel.innerHTML = 'Layout' + ( title ? ( ': ' + title ) : '' ); - layoutDropdown.value = value; - - document.body.setAttribute( 'data-speaker-layout', value ); - - // Persist locally - if( supportsLocalStorage() ) { - window.localStorage.setItem( 'reveal-speaker-layout', value ); - } - - } - - /** - * Returns the ID of the most recently set speaker layout - * or our default layout if none has been set. - */ - function getLayout() { - - if( supportsLocalStorage() ) { - var layout = window.localStorage.getItem( 'reveal-speaker-layout' ); - if( layout ) { - return layout; - } - } - - // Default to the first record in the layouts hash - for( var id in SPEAKER_LAYOUTS ) { - return id; - } - - } - - function supportsLocalStorage() { - - try { - localStorage.setItem('test', 'test'); - localStorage.removeItem('test'); - return true; - } - catch( e ) { - return false; - } - - } - - function zeroPadInteger( num ) { - - var str = '00' + parseInt( num ); - return str.substring( str.length - 2 ); - - } - - /** - * Limits the frequency at which a function can be called. - */ - function debounce( fn, ms ) { - - var lastTime = 0, - timeout; - - return function() { - - var args = arguments; - var context = this; - - clearTimeout( timeout ); - - var timeSinceLastCall = Date.now() - lastTime; - if( timeSinceLastCall > ms ) { - fn.apply( context, args ); - lastTime = Date.now(); - } - else { - timeout = setTimeout( function() { - fn.apply( context, args ); - lastTime = Date.now(); - }, ms - timeSinceLastCall ); - } - - } - - } - - })(); - -</script> -</body> -</html> diff --git a/nemo/static/js/vendor/reveal.js/plugin/notes/notes.js b/nemo/static/js/vendor/reveal.js/plugin/notes/notes.js deleted file mode 100644 index ee6311516d31a144370b4399be4bf6414da1e168..0000000000000000000000000000000000000000 --- a/nemo/static/js/vendor/reveal.js/plugin/notes/notes.js +++ /dev/null @@ -1,178 +0,0 @@ -/** - * Handles opening of and synchronization with the reveal.js - * notes window. - * - * Handshake process: - * 1. This window posts 'connect' to notes window - * - Includes URL of presentation to show - * 2. Notes window responds with 'connected' when it is available - * 3. This window proceeds to send the current presentation state - * to the notes window - */ -var RevealNotes = (function() { - - var notesPopup = null; - - function openNotes( notesFilePath ) { - - if (notesPopup && !notesPopup.closed) { - notesPopup.focus(); - return; - } - - if( !notesFilePath ) { - var jsFileLocation = document.querySelector('script[src$="notes.js"]').src; // this js file path - jsFileLocation = jsFileLocation.replace(/notes\.js(\?.*)?$/, ''); // the js folder path - notesFilePath = jsFileLocation + 'notes.html'; - } - - notesPopup = window.open( notesFilePath, 'reveal.js - Notes', 'width=1100,height=700' ); - - if( !notesPopup ) { - alert( 'Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.' ); - return; - } - - /** - * Connect to the notes window through a postmessage handshake. - * Using postmessage enables us to work in situations where the - * origins differ, such as a presentation being opened from the - * file system. - */ - function connect() { - // Keep trying to connect until we get a 'connected' message back - var connectInterval = setInterval( function() { - notesPopup.postMessage( JSON.stringify( { - namespace: 'reveal-notes', - type: 'connect', - url: window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search, - state: Reveal.getState() - } ), '*' ); - }, 500 ); - - window.addEventListener( 'message', function( event ) { - var data = JSON.parse( event.data ); - if( data && data.namespace === 'reveal-notes' && data.type === 'connected' ) { - clearInterval( connectInterval ); - onConnected(); - } - if( data && data.namespace === 'reveal-notes' && data.type === 'call' ) { - callRevealApi( data.methodName, data.arguments, data.callId ); - } - } ); - } - - /** - * Calls the specified Reveal.js method with the provided argument - * and then pushes the result to the notes frame. - */ - function callRevealApi( methodName, methodArguments, callId ) { - - var result = Reveal[methodName].apply( Reveal, methodArguments ); - notesPopup.postMessage( JSON.stringify( { - namespace: 'reveal-notes', - type: 'return', - result: result, - callId: callId - } ), '*' ); - - } - - /** - * Posts the current slide data to the notes window - */ - function post( event ) { - - var slideElement = Reveal.getCurrentSlide(), - notesElement = slideElement.querySelector( 'aside.notes' ), - fragmentElement = slideElement.querySelector( '.current-fragment' ); - - var messageData = { - namespace: 'reveal-notes', - type: 'state', - notes: '', - markdown: false, - whitespace: 'normal', - state: Reveal.getState() - }; - - // Look for notes defined in a slide attribute - if( slideElement.hasAttribute( 'data-notes' ) ) { - messageData.notes = slideElement.getAttribute( 'data-notes' ); - messageData.whitespace = 'pre-wrap'; - } - - // Look for notes defined in a fragment - if( fragmentElement ) { - var fragmentNotes = fragmentElement.querySelector( 'aside.notes' ); - if( fragmentNotes ) { - notesElement = fragmentNotes; - } - else if( fragmentElement.hasAttribute( 'data-notes' ) ) { - messageData.notes = fragmentElement.getAttribute( 'data-notes' ); - messageData.whitespace = 'pre-wrap'; - - // In case there are slide notes - notesElement = null; - } - } - - // Look for notes defined in an aside element - if( notesElement ) { - messageData.notes = notesElement.innerHTML; - messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string'; - } - - notesPopup.postMessage( JSON.stringify( messageData ), '*' ); - - } - - /** - * Called once we have established a connection to the notes - * window. - */ - function onConnected() { - - // Monitor events that trigger a change in state - Reveal.addEventListener( 'slidechanged', post ); - Reveal.addEventListener( 'fragmentshown', post ); - Reveal.addEventListener( 'fragmenthidden', post ); - Reveal.addEventListener( 'overviewhidden', post ); - Reveal.addEventListener( 'overviewshown', post ); - Reveal.addEventListener( 'paused', post ); - Reveal.addEventListener( 'resumed', post ); - - // Post the initial state - post(); - - } - - connect(); - - } - - return { - init: function() { - - if( !/receiver/i.test( window.location.search ) ) { - - // If the there's a 'notes' query set, open directly - if( window.location.search.match( /(\?|\&)notes/gi ) !== null ) { - openNotes(); - } - - // Open the notes when the 's' key is hit - Reveal.addKeyBinding({keyCode: 83, key: 'S', description: 'Speaker notes view'}, function() { - openNotes(); - } ); - - } - - }, - - open: openNotes - }; - -})(); - -Reveal.registerPlugin( 'notes', RevealNotes ); diff --git a/nemo/theme.toml b/nemo/theme.toml deleted file mode 100644 index a0df2a5bba48af1fe91c0d09f528ee17ee16b688..0000000000000000000000000000000000000000 --- a/nemo/theme.toml +++ /dev/null @@ -1,49 +0,0 @@ -name = "Academic" -license = "MIT" -licenselink = "https://github.com/gcushen/hugo-academic/blob/master/LICENSE.md" -description = "The website builder for Hugo. Build *anything* with widgets and deploy with one click! Fully personalize your site with themes, plugins, and language packs." -homepage = "https://sourcethemes.com/academic/" -min_version = "0.62" -tags = ["widgets", - "resume", - "portfolio", - "responsive", - "clean", - "personal", - "company", - "blog", - "minimal", - "light", - "dark", - "multilingual", - "documentation", - "landing page", - "projects", - "single page", - "contact form", - "mobile", - "gallery", - "search", - "presentation", - "simple", - "minimalist", - "starter", - "modern", - "one page", - "customizable", - "technical", - "product", - "slide" - ] -features = ["page builder", "widgets", "themes", "search", "research publication system", "filterable portfolio", - "blog", "create courses", "talks", "events", "slides", "gallery", "contact form"] - -[author] - name = "George Cushen" - homepage = "https://georgecushen.com" - -# If porting an existing theme -[original] - name = "" - homepage = "" - repo = ""