Compare commits
	
		
			81 Commits
		
	
	
		
			new-colour
			...
			small-text
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f706ae0b46 | |||
| 8be22e9dda | |||
| 1b52b03a2b | |||
| e9a4cb4c60 | |||
| 9f657c6b65 | |||
| 0ef50500ed | |||
| ced5e88134 | |||
| 9267f4b6df | |||
| 6c5ad61fbc | |||
| 26f02bf6d7 | |||
| 
						
						
							
						
						603e5c96f1
	
				 | 
					
					
						|||
| 39eef16f9e | |||
| 04c7d20a56 | |||
| a2f5a6cbac | |||
| 
						
						
							
						
						d3ea095d2b
	
				 | 
					
					
						|||
| 
						
						
							
						
						8cdacd0901
	
				 | 
					
					
						|||
| 
						
						
							
						
						48e654008e
	
				 | 
					
					
						|||
| 
						
						
							
						
						d72cc7389c
	
				 | 
					
					
						|||
| 
						
						
							
						
						ef18228bee
	
				 | 
					
					
						|||
| 
						
						
							
						
						13622fd105
	
				 | 
					
					
						|||
| 
						
						
							
						
						ea3afbb4e1
	
				 | 
					
					
						|||
| 
						
						
							
						
						13357d685a
	
				 | 
					
					
						|||
| 693e8c9665 | |||
| 30d86673c5 | |||
| 86a7eb0ea5 | |||
| cdea7563f4 | |||
| b29e79f493 | |||
| 4dff7a9a12 | |||
| b2d8d569a6 | |||
| ab31c1902e | |||
| 9e79cc2d24 | |||
| 6086c318bd | |||
| ac4d46d4bf | |||
| 1e60a29875 | |||
| 5d21e5ecb3 | |||
| 56a73b36af | |||
| 0c863bb5a7 | |||
| 81481b23df | |||
| a533060c88 | |||
| 5fdac7c16f | |||
| 510a6920cf | |||
| 4520bcd736 | |||
| 947a4b9a0a | |||
| bf20dec44a | |||
| 287b755e3d | |||
| edb3d64cca | |||
| 19c715c611 | |||
| ef1d576244 | |||
| adcd1ceec4 | |||
| 4394fdb749 | |||
| 3c27f2b74a | |||
| 5f90749d0e | |||
| bbbd6a7134 | |||
| d8be4eb58c | |||
| 3883a2c5b1 | |||
| db69c2e7ea | |||
| 3887a60299 | |||
| a643595a95 | |||
| 2521064a34 | |||
| 4d041ec7dd | |||
| 74d2dbb867 | |||
| 04f2e8eb28 | |||
| d97b124a79 | |||
| 1ad7a4368d | |||
| f1d93b1719 | |||
| 4aaeac1f07 | |||
| 7220ee6178 | |||
| 3fce3c1a7a | |||
| 5832ee4b12 | |||
| 4983b916c7 | |||
| 665a3690b1 | |||
| 7584dc796e | |||
| 5502122e21 | |||
| b056420f9e | |||
| 0564bec241 | |||
| 186bc4f373 | |||
| 7d9b81b324 | |||
| a50249fe22 | |||
| 9443912519 | |||
| 9c4166e573 | |||
| 39c391e803 | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,5 +1,7 @@
 | 
			
		||||
dist/
 | 
			
		||||
.sass-cache/
 | 
			
		||||
.jekyll-metadata
 | 
			
		||||
.jekyll-cache
 | 
			
		||||
.DS_Store
 | 
			
		||||
Gemfile.lock
 | 
			
		||||
*.gem
 | 
			
		||||
 | 
			
		||||
@ -1,19 +1,17 @@
 | 
			
		||||
image: ruby:2.4.2
 | 
			
		||||
 | 
			
		||||
stages:
 | 
			
		||||
  - deploy
 | 
			
		||||
 | 
			
		||||
deploy:
 | 
			
		||||
variables:
 | 
			
		||||
  GIT_DEPTH: 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
pages:
 | 
			
		||||
  image: jekyll/jekyll:4
 | 
			
		||||
  stage: deploy
 | 
			
		||||
  before_script:
 | 
			
		||||
    - apt-get update -y
 | 
			
		||||
    - apt-get -y install rsync
 | 
			
		||||
    - gem install jekyll
 | 
			
		||||
    - eval $(ssh-agent -s)
 | 
			
		||||
  script:
 | 
			
		||||
    - jekyll build -d public
 | 
			
		||||
    - ssh-add <(echo "$SSH_PRIVATE_KEY")
 | 
			
		||||
    - rsync -rvz --delete -e 'ssh -o StrictHostKeyChecking=no' ./public/ "$SERVER_USER"@autonomic.zone:/var/www/autonomic.zone/html/
 | 
			
		||||
    - apk add gzip --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
 | 
			
		||||
    - gzip -v -k -6 $(find public -name '*.js' -o -name '*.html' -o -name '*.css')
 | 
			
		||||
  artifacts:
 | 
			
		||||
    paths:
 | 
			
		||||
      - public
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,7 @@
 | 
			
		||||
# Contributing
 | 
			
		||||
 | 
			
		||||
### Not that these instructions may be out of date. If you find any quirks that aren't described in this file, please make patches.
 | 
			
		||||
 | 
			
		||||
# What Is Jekyll
 | 
			
		||||
 | 
			
		||||
For those unfamiliar with how Jekyll works, check out [jekyll.rb] for all the
 | 
			
		||||
@ -19,23 +21,24 @@ advised that you use [RVM](https://rvm.io/rvm/install).
 | 
			
		||||
Once you've got that installed and configured, get the latest version of Ruby with:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
$ rvm install 2.4.2
 | 
			
		||||
$ rvm install 2.6.5
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Select that version and then create an isolated [gemset](https://rvm.io/gemsets/basics) with:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
$ rvm use 2.4.2
 | 
			
		||||
$ rvm use 2.6.5
 | 
			
		||||
$ rvm gemset create autonomic
 | 
			
		||||
$ rvm gemset use autonomic
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Install Dependencies
 | 
			
		||||
 | 
			
		||||
Then you can get your Ruby dependencies installed with:
 | 
			
		||||
Then you can install your Ruby dependencies with:
 | 
			
		||||
 | 
			
		||||
``` bash
 | 
			
		||||
$ gem install jekyll bundler
 | 
			
		||||
$ bundle install
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Serve Website
 | 
			
		||||
@ -48,14 +51,14 @@ $ make devserver
 | 
			
		||||
 | 
			
		||||
# Editing Content
 | 
			
		||||
 | 
			
		||||
You can edit content in the `.md` files under `src` and `src/_posts`.
 | 
			
		||||
Edit content in the `.md` files under `src` and `src/_posts`.
 | 
			
		||||
 | 
			
		||||
# Manage Gemset
 | 
			
		||||
# Next time
 | 
			
		||||
 | 
			
		||||
When you're hacking later on (or in a new shell), you'll need to run:
 | 
			
		||||
 | 
			
		||||
``` bash
 | 
			
		||||
$ rvm use 2.4.2
 | 
			
		||||
$ rvm use 2.6.5
 | 
			
		||||
$ rvm gemset use autonomic
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										48
									
								
								README.md
									
									
									
									
									
								
							
							
						
						@ -1,59 +1,29 @@
 | 
			
		||||
[](https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/commits/master)
 | 
			
		||||
 | 
			
		||||
# autonomic-cooperative.gitlab.io
 | 
			
		||||
# autonomic.zone
 | 
			
		||||
 | 
			
		||||
A [Jekyll] based site for the Autonomic Cooperative.
 | 
			
		||||
A [Jekyll] based site for the Autonomic Cooperative. The site is based on the [spectral-jekyll-theme] template.
 | 
			
		||||
 | 
			
		||||
The template is based on the [spectral-jekyll-theme].
 | 
			
		||||
 | 
			
		||||
We use [autonomic.zone] for production and [autonomic-cooperative.gitlab.io] for staging.
 | 
			
		||||
master is served up to [autonomic.zone] and [autonomic-cooperative.gitlab.io].
 | 
			
		||||
 | 
			
		||||
[Jekyll]: https://jekyllrb.com/
 | 
			
		||||
[spectral-jekyll-theme]: https://github.com/andrewbanchich/spectral-jekyll-theme
 | 
			
		||||
[autonomic.zone]: https://autonomic.zone/
 | 
			
		||||
[autonomic-cooperative.gitlab.io]: http://autonomic-cooperative.gitlab.io/
 | 
			
		||||
 | 
			
		||||
# Contribute
 | 
			
		||||
# Make a change
 | 
			
		||||
 | 
			
		||||
Please see [CONTRIBUTING.md] for the juicy details.
 | 
			
		||||
 | 
			
		||||
[CONTRIBUTING.md]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/blob/master/CONTRIBUTING.md
 | 
			
		||||
 | 
			
		||||
# Make A New Release
 | 
			
		||||
 | 
			
		||||
Please add a new [change log] entry. This helps us track released changes easily.
 | 
			
		||||
 | 
			
		||||
[change log]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/blob/master/CHANGELOG.md
 | 
			
		||||
 | 
			
		||||
Then, [tag a new commit] and send it upstream with:
 | 
			
		||||
 | 
			
		||||
[tag a new commit]: https://git-scm.com/book/en/v2/Git-Basics-Tagging
 | 
			
		||||
[semantic versioning]: http://semver.org/
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
$ COMMIT=$(git rev-parse HEAD)
 | 
			
		||||
$ TAG=6.6.6  # enter your new tag
 | 
			
		||||
$ git tag -a $TAG $COMMIT
 | 
			
		||||
$ git push upstream master --tags
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
You can also use the [Gitlab tags UI] for this.
 | 
			
		||||
 | 
			
		||||
[Gitlab tags UI]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/tags
 | 
			
		||||
 | 
			
		||||
Our [deploy] CI stage will push the new site to [the production branch].
 | 
			
		||||
Work on features in branches. If you commit to master, open a merge request from your branch unless it is a tiny change. Our [pages] CI stage will push any changes on master branch to [autonomic.zone].
 | 
			
		||||
 | 
			
		||||
[deploy]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/blob/d16aec42bd2ddd7449f55d9f06b03499cc660b22/.gitlab-ci.yml#L17
 | 
			
		||||
[the production branch]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/tree/production
 | 
			
		||||
 | 
			
		||||
Watch the [CI/CD pipeline] to see that it builds successfully.
 | 
			
		||||
 | 
			
		||||
[CI/CD pipeline]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/pipelines
 | 
			
		||||
 | 
			
		||||
Then head over to [fullyautomatedluxuryinfrastructure] and run:
 | 
			
		||||
 | 
			
		||||
[fullyautomatedluxuryinfrastructure]: https://gitlab.com/autonomic-cooperative/fullyautomatedluxuryinfrastructure
 | 
			
		||||
# Contribute
 | 
			
		||||
 | 
			
		||||
``` bash
 | 
			
		||||
$ ansible-playbook orgs/autonomic/gitlabpages.yml
 | 
			
		||||
```
 | 
			
		||||
Please see [CONTRIBUTING.md] for the juicy details. It may need to be updated, so please submit patches if you discover some quirk!
 | 
			
		||||
 | 
			
		||||
[CONTRIBUTING.md]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/blob/master/CONTRIBUTING.md
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
title: Autonomic Co-operative
 | 
			
		||||
email: autonomic@posteo.net
 | 
			
		||||
email: helo@autonomic.zone
 | 
			
		||||
description: Sustainability, Transparency, Privacy
 | 
			
		||||
baseurl: ""
 | 
			
		||||
url: ""
 | 
			
		||||
@ -10,7 +10,7 @@ sass:
 | 
			
		||||
featured-image-source:
 | 
			
		||||
500px_url:
 | 
			
		||||
github_url:
 | 
			
		||||
gitlab_url: https://gitlab.com/autonomic-cooperative
 | 
			
		||||
mastodon_url: https://sunbeam.city/@autonomic
 | 
			
		||||
twitter_url: https://twitter.com/autonomiccoop
 | 
			
		||||
markdown: kramdown
 | 
			
		||||
permalink: pretty
 | 
			
		||||
 | 
			
		||||
@ -1,15 +1,15 @@
 | 
			
		||||
# coding: utf-8
 | 
			
		||||
 | 
			
		||||
Gem::Specification.new do |spec|
 | 
			
		||||
  spec.name     = "autonomic"
 | 
			
		||||
  spec.name        = "autonomic"
 | 
			
		||||
  spec.version     = '0.0.0'
 | 
			
		||||
  spec.date        = '2017-09-24'
 | 
			
		||||
  spec.summary     = ""
 | 
			
		||||
  spec.description = ""
 | 
			
		||||
  spec.authors     = ['autonomic co-operative']
 | 
			
		||||
  spec.email       = 'autonomic.posteo.net'
 | 
			
		||||
  spec.files         = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|_layouts|_includes|_sass|LICENSE|README)}i) }
 | 
			
		||||
  spec.files       = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|_layouts|_includes|_sass|LICENSE|README)}i) }
 | 
			
		||||
 | 
			
		||||
  spec.add_development_dependency "jekyll", "~> 3.3"
 | 
			
		||||
  spec.add_development_dependency "bundler", "~> 1.12"
 | 
			
		||||
  spec.add_development_dependency "jekyll", ">= 4"
 | 
			
		||||
  spec.add_development_dependency "bundler", ">= 1.12"
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -1,15 +0,0 @@
 | 
			
		||||
<section id="two" class="wrapper alt style2">
 | 
			
		||||
 | 
			
		||||
  {% for post in site.categories.values %}
 | 
			
		||||
 | 
			
		||||
  <section class="spotlight">
 | 
			
		||||
    <div class="image">{% if post.image %}<img src="{% if site.featured-image-source %}{{ post.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ post.image }}{% endif %}" alt="" />{% endif %}</div>
 | 
			
		||||
    <div class="content">
 | 
			
		||||
      <h2><a href="{{ post.url | relative_url }}" class="link">{{ post.title }}</a></h2>
 | 
			
		||||
      <p class="h5">{{ post.date | date: '%B %d, %Y' }}</p>
 | 
			
		||||
      <p>{{ post.description }}</p>
 | 
			
		||||
    </div>
 | 
			
		||||
  </section>
 | 
			
		||||
  {% endfor %}
 | 
			
		||||
 | 
			
		||||
</section>
 | 
			
		||||
@ -1,12 +1,13 @@
 | 
			
		||||
<a class="named-anchor" name="contact"></a>
 | 
			
		||||
<section id="contact" class="wrapper style5 special">
 | 
			
		||||
  <a class="named-anchor" name="contact">
 | 
			
		||||
  <header class="major">
 | 
			
		||||
    <h2>Get in Touch</h2>
 | 
			
		||||
    <p>Contact us to discuss your project's needs and arrange a consultation.</p>
 | 
			
		||||
    <p><a href="mailto:autonomic-coop@posteo.net">autonomic-coop@posteo.net</a></p>
 | 
			
		||||
    <p><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></p>
 | 
			
		||||
    <p>
 | 
			
		||||
      If you use encrypted email, here is our <a href="{{ "/assets/pgp/autonomic-key.asc" | relative_url }}">PGP key</a>.
 | 
			
		||||
      Our key fingerprint is: <br/><code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
 | 
			
		||||
    </p>
 | 
			
		||||
  </header>
 | 
			
		||||
  </a>
 | 
			
		||||
</section>
 | 
			
		||||
 | 
			
		||||
@ -12,15 +12,21 @@
 | 
			
		||||
    </header>
 | 
			
		||||
    <ul class="icons major icons--flex">
 | 
			
		||||
      <li>
 | 
			
		||||
        <span class="icon fa-leaf major style1"></span>
 | 
			
		||||
        <span class="icon icon--diamond icon--style3">
 | 
			
		||||
          <svg viewBox="0 0 1792 1792"><path d="M1280 704q0-26-19-45t-45-19q-172 0-318 50T639 824t-236 219q-19 21-19 45 0 26 19 45t45 19q24 0 45-19 27-24 74-71t67-66q137-124 269-176t313-52q26 0 45-19t19-45zm512-198q0 95-20 193-46 224-184 383t-358 268q-214 108-438 108-148 0-286-47-15-5-88-42t-96-37q-16 0-39 32t-45 70-53 70-60 32q-43 0-63-17t-46-60l-6-11-5-10-3-9q-2-6-2-14 0-35 31-73t68-66 68-56 31-48q0-4-14-38t-16-44q-9-51-9-104 0-115 44-220t119-184 170-139 204-96q55-18 145-25t180-9 178-6 164-24 113-57l30-29 29-28 27-20 37-16 43-5q39 0 71 46t47 112 24 124 8 96z" /></svg>
 | 
			
		||||
        </span>
 | 
			
		||||
        <span class="icons__title">Sustainability</span>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li>
 | 
			
		||||
        <span class="icon fa-eye major style1"></span>
 | 
			
		||||
        <span class="icon icon--diamond icon--style3">
 | 
			
		||||
          <svg viewBox="0 100 1792 1692"><path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131 317t-317 131-316-131-132-317q0-121 61-225-229 117-381 353 133 205 334 327t434 121 435-121 333-327zM944 576q0-20-14-34t-34-14q-125 0-214 90t-90 214q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376 369t-500 138-499-139-377-368Q0 994 0 960t20-69q140-229 377-368t499-139 500 139 376 368q20 35 20 69z" /></svg>
 | 
			
		||||
        </span>
 | 
			
		||||
        <span class="icons__title">Transparency</span>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li>
 | 
			
		||||
        <span class="icon fa-lock major style1"></span>
 | 
			
		||||
        <span class="icon icon--diamond icon--style3">
 | 
			
		||||
          <svg viewBox="0 0 1792 1792"><path d="M640 768h512V576q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28H416q-40 0-68-28t-28-68V864q0-40 28-68t68-28h32V576q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z" /></svg>
 | 
			
		||||
        </span>
 | 
			
		||||
        <span class="icons__title">Privacy</span>
 | 
			
		||||
      </li>
 | 
			
		||||
    </ul>
 | 
			
		||||
 | 
			
		||||
@ -1,14 +1,7 @@
 | 
			
		||||
<!-- Piwik -->
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
  var _paq = _paq || [];
 | 
			
		||||
  _paq.push(['trackPageView']);
 | 
			
		||||
  _paq.push(['enableLinkTracking']);
 | 
			
		||||
  (function() {
 | 
			
		||||
    _paq.push(['setTrackerUrl',  'https://api-183ae21d2fb4215fa8fb3bbf13fbda21.autonomic.sandcats.io']);
 | 
			
		||||
    _paq.push(['setSiteId', 1]);
 | 
			
		||||
    _paq.push(['setApiToken', '6X45HLvJ0KWNiLTlhbZ-uuhZcXfg9n3bDauHalRZMSh']);
 | 
			
		||||
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
 | 
			
		||||
    g.type='text/javascript'; g.async=true; g.defer=true; g.src='https://6aurs6uetbyvpubfuh5y.autonomic.sandcats.io/embed.js'; s.parentNode.insertBefore(g,s);
 | 
			
		||||
  })();
 | 
			
		||||
</script>
 | 
			
		||||
<!-- End Piwik Code -->
 | 
			
		||||
<!-- Scripts -->
 | 
			
		||||
<script src="{{ "/assets/js/jquery-3.4.1.min.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/jquery.scrollex.min.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/skel.min.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/util.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/particles.min.js" | absolute_url }}""></script>
 | 
			
		||||
<script src="{{ "/assets/js/main.js" | absolute_url }}"></script>
 | 
			
		||||
@ -1,40 +1,50 @@
 | 
			
		||||
<!-- Footer -->
 | 
			
		||||
<footer id="footer">
 | 
			
		||||
  <ul class="icons">
 | 
			
		||||
    {% if site.twitter_url %}
 | 
			
		||||
    <li><a href="{{ site.twitter_url }}" class="icon fa-twitter" target="_blank"><span class="label">Twitter</span></a></li>
 | 
			
		||||
    {% endif %} {% if site.500px_url %}
 | 
			
		||||
    <li><a href="{{ site.500px_url }}" class="icon fa-500px" target="_blank"><span class="label">500px</span></a></li>
 | 
			
		||||
    {% endif %} {% if site.gitlab_url %}
 | 
			
		||||
    <li><a href="{{ site.gitlab_url }}" class="icon fa-gitlab" target="_blank"><span class="label">GitLab</span></a></li>
 | 
			
		||||
    {% endif %} {% if site.github_url %}
 | 
			
		||||
    <li><a href="{{ site.github_url }}" class="icon fa-github" target="_blank"><span class="label">GitHub</span></a></li>
 | 
			
		||||
    {% endif %}
 | 
			
		||||
  </ul>
 | 
			
		||||
  <ul class="copyright">
 | 
			
		||||
    <li class="icon fa-creative-commons"> {{ site.title }}</li>
 | 
			
		||||
  </ul>
 | 
			
		||||
  <div class="row">
 | 
			
		||||
    <div class="column">
 | 
			
		||||
      <a class="named-anchor" name="contact"></a>
 | 
			
		||||
        <h3>Get in Touch</h3>
 | 
			
		||||
        Contact us to discuss your project's needs and arrange a consultation:
 | 
			
		||||
        <a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></br></br>
 | 
			
		||||
        <a href="{{ '/assets/pgp/autonomic-key.asc' | relative_url }}">PGP key:</a>
 | 
			
		||||
        <code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
 | 
			
		||||
 | 
			
		||||
  <address>
 | 
			
		||||
      Autonomic Co-operative</br>
 | 
			
		||||
      1539 Pershore Road </br>
 | 
			
		||||
      Stirchley</br>
 | 
			
		||||
      B30 2JH
 | 
			
		||||
  </address>
 | 
			
		||||
      <ul class="icons" style="margin-bottom: 0; padding-top: 1em">
 | 
			
		||||
        <li>
 | 
			
		||||
          <a rel="noopener" href="{{ site.twitter_url }}" style="border-bottom: none">
 | 
			
		||||
            <img alt="twitter" style="height: 2rem;" src="{{ '/assets/svg/twitter-brands.svg' | absolute_url }}">
 | 
			
		||||
          </a>
 | 
			
		||||
        </li>
 | 
			
		||||
        <li>
 | 
			
		||||
          <a rel="me" href="{{ site.mastodon_url }}" style="border-bottom: none">
 | 
			
		||||
            <img alt="mastodon" style="height: 2rem;" src="{{ '/assets/svg/mastodon-brands.svg' | absolute_url }}">
 | 
			
		||||
          </a>
 | 
			
		||||
        </li>
 | 
			
		||||
      </ul>
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="column">
 | 
			
		||||
      <div class="copyright">
 | 
			
		||||
        <object style="height: 1.2rem; vertical-align: text-bottom;" type="image/svg+xml" data="{{ '/assets/svg/creative-commons-brands.svg' | absolute_url }}">
 | 
			
		||||
          Your browser does not support SVG
 | 
			
		||||
        </object> 
 | 
			
		||||
        {{ site.title }}
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="cotech-box">
 | 
			
		||||
        <a href="https://www.coops.tech/">
 | 
			
		||||
          <img class="cotech-logo" src="{{ '/assets/images/CoTech-white-logo.png' | relative_url }}" alt="CoTech"/>
 | 
			
		||||
          <span class="cotech-text">Member of the Cotech Network</span>
 | 
			
		||||
        </a>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div style="vertical-align: bottom;">
 | 
			
		||||
        <address>
 | 
			
		||||
          Autonomic Co-operative Limited</br>
 | 
			
		||||
          1539 Pershore Road</br>
 | 
			
		||||
          Birmingham</br>
 | 
			
		||||
          B30 2JH</br>
 | 
			
		||||
          United Kingdom</br>
 | 
			
		||||
        </address>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</footer>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<!-- Scripts -->
 | 
			
		||||
<script src="{{ "/assets/js/jquery.min.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/jquery.scrollex.min.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/jquery.scrolly.min.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/skel.min.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="{{ "/assets/js/util.js" | absolute_url }}"></script>
 | 
			
		||||
<script src="//cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
 | 
			
		||||
<!--[if lte IE 8]><script src="{{ "/assets/js/ie/respond.min.js" | absolute_url }}"></script><![endif]-->
 | 
			
		||||
<script src="{{ "/assets/js/main.js" | absolute_url }}"></script>
 | 
			
		||||
 | 
			
		||||
</body>
 | 
			
		||||
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,12 @@
 | 
			
		||||
<head>
 | 
			
		||||
  <meta charset="utf-8">
 | 
			
		||||
  <title>{{ site.title }}</title>
 | 
			
		||||
  <meta charset="utf-8" />
 | 
			
		||||
  <link rel="shortcut icon" href="{{ "/assets/images/favicon.ico" | relative_url }}" />
 | 
			
		||||
  <meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
			
		||||
  <!--[if lte IE 8]><script src="{{ "/assets/js/ie/html5shiv.js" | relative_url }}"></script><![endif]-->
 | 
			
		||||
  <link rel="stylesheet" href="{{ "/assets/styles/main.css" | relative_url }}" />
 | 
			
		||||
  <!--[if lte IE 8]><link rel="stylesheet" href="{{ "/assets/css/ie8.css" | relative_url }}" /><![endif]-->
 | 
			
		||||
  <!--[if lte IE 9]><link rel="stylesheet" href="{{ "/assets/css/ie9.css" | relative_url }}" /><![endif]-->
 | 
			
		||||
 | 
			
		||||
  {% if page.meta_description %}
 | 
			
		||||
  <meta name="description" value="{{ page.meta_description }}">
 | 
			
		||||
  {% endif %}
 | 
			
		||||
 | 
			
		||||
  <link rel="shortcut icon" href="{{ "/assets/images/favicon.ico" | relative_url }}">
 | 
			
		||||
  <meta name="viewport" content="width=device-width, initial-scale=1">
 | 
			
		||||
  <link rel="stylesheet" href="{{ "/assets/styles/main.css" | relative_url }}">
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
@ -1,20 +1,21 @@
 | 
			
		||||
<header class="header {% if page.layout == 'default' %}alt{% endif %}">
 | 
			
		||||
  <h1 class="header-home"><a href="{{ "/" | absolute_url }}">Autonomic</a></h1>
 | 
			
		||||
  <nav>
 | 
			
		||||
    <ul class="header-nav">
 | 
			
		||||
      <li>
 | 
			
		||||
        <a class="header-link" href="{{ "/#core-values" | relative_url }}">Values</a>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li>
 | 
			
		||||
        <a class="header-link" href="{{ "/#services" | relative_url }}">Services</a>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li>
 | 
			
		||||
        <a class="header-link" href="{{ "/blog" | relative_url }}">Blog</a>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li>
 | 
			
		||||
        <a class="header-link" href="{{ "/#contact" | relative_url }}">Contact</a>
 | 
			
		||||
      </li>
 | 
			
		||||
    </ul>
 | 
			
		||||
  </nav>
 | 
			
		||||
</header>
 | 
			
		||||
 | 
			
		||||
<div id="page-wrapper">
 | 
			
		||||
  <header id="header" {% if page.layout == 'default' %} class="alt" {% endif %}>
 | 
			
		||||
    <h1><a href="{{ "/" | absolute_url }}">Autonomic</a></h1>
 | 
			
		||||
    <nav id="nav">
 | 
			
		||||
      <ul>
 | 
			
		||||
        <li class="special">
 | 
			
		||||
          <a href="#menu" class="menuToggle"><span>Menu</span></a>
 | 
			
		||||
          <div id="menu">
 | 
			
		||||
            <ul>
 | 
			
		||||
              <li><a href="{{ "/" | relative_url }}">Home</a></li>
 | 
			
		||||
              <li><a href="{{ "/#core-values" | relative_url }}">Our Core Values</a></li>
 | 
			
		||||
              <li><a href="{{ "/blog" | relative_url }}">Blog</a></li>
 | 
			
		||||
              <li><a href="{{ "/#services" | relative_url }}">Services We Offer</a></li>
 | 
			
		||||
              <li><a href="{{ "/#contact" | relative_url }}">Get In Touch</a></li>
 | 
			
		||||
            </ul>
 | 
			
		||||
          </div>
 | 
			
		||||
        </li>
 | 
			
		||||
      </ul>
 | 
			
		||||
    </nav>
 | 
			
		||||
  </header>
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
<section class="wrapper style5 special compressed">
 | 
			
		||||
    <a href="https://www.coops.tech/" target="_blank">
 | 
			
		||||
    <a rel="noopener" href="https://www.coops.tech/">
 | 
			
		||||
    <img src="/assets/images/Member-of-CoTech-logo-200.png" alt="Member of Co-Tech"/>
 | 
			
		||||
    </a>
 | 
			
		||||
</section>
 | 
			
		||||
 | 
			
		||||
@ -2,77 +2,113 @@
 | 
			
		||||
<section id="three" class="wrapper style6 special">
 | 
			
		||||
  <div class="inner">
 | 
			
		||||
    <header class="major">
 | 
			
		||||
      <h2>Services we offer</h2>
 | 
			
		||||
      <h2>Cooperative Cloud: For Organisations</h2>
 | 
			
		||||
      <p>
 | 
			
		||||
        We design integrated infrastructure tailored to your needs utilising
 | 
			
		||||
        technologies from <br/> the best free and open source software projects
 | 
			
		||||
        available. Your data under your control.<br/> Here are some examples of
 | 
			
		||||
        the applications we have deployed for our clients.
 | 
			
		||||
        This isn't an exhaustive list. If you don't see what you need, please contact us anyway:</br>
 | 
			
		||||
        <h3><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></h3>
 | 
			
		||||
      </p>
 | 
			
		||||
    </header>
 | 
			
		||||
    <ul class="features">
 | 
			
		||||
      <li class="icon fa-paper-plane-o">
 | 
			
		||||
        <h3>Encrypted Email</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          Secure your email communications with state of the art transport
 | 
			
		||||
          encryption and <a href="https://0xacab.org/riseuplabs/trees">TREES</a>
 | 
			
		||||
          encrypted mailbox storage.
 | 
			
		||||
        </p>
 | 
			
		||||
      <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M127 896q0-163 67-313l367 1005q-196-95-315-281T127 896zm1288-39l-2 39q-2 20-10 49t-12 44-17 59-18 58l-76 256-278-826q46-3 88-8 19-2 26-18t-2-31-29-14l-205 10q-75-1-202-10-12-1-20 5t-12 15-1 19 9 16 19 8l80 8 120 328-168 504-280-832q46-3 88-8 19-2 26-18t-2-31-29-14l-205 10h-23l-26-1q105-160 275-253t367-94q147 0 281 53t238 149h-10q-55 0-92 41t-37 95l2 24 4 22q2 10 8 23t9 21 12 22 13 21 14 24 14 23q63 107 63 212zM909 963l237 647q1 6 5 11-126 44-255 44-112 0-217-32zm661-436q95 174 95 369 0 209-104 386t-279 278l235-678q59-169 59-276 0-42-6-79zM896 0q182 0 348 71t286 191 191 286 71 348-71 348-191 286-286 191-348 71-348-71-286-191-191-286T0 896t71-348 191-286T548 71 896 0zm0 1751q173 0 332-68t273-182 182-273 68-332-68-331-182-273-273-183-332-68-331 68-273 183-183 273-68 331 68 332 183 273 273 182 331 68z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Websites</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            We offer <a href="https://wordpress.com/">Wordpress</a> and static sites. Either managed or unmanaged with frictionless tools for editing and publishing that empower users. <a href="https://matomo.org/">Matamo</a> provides ethical analytics to measure impact. 
 | 
			
		||||
          </p>
 | 
			
		||||
          </div>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="icon fa-rocket2">
 | 
			
		||||
        <h3>Text and Video Chat</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          Mobile friendly multi-channel team chat using <a href="https://rocket.chat/">Rocket.Chat</a>,
 | 
			
		||||
          with no artificial limits on features. Vital for remote project coordination.
 | 
			
		||||
        </p>
 | 
			
		||||
      <!-- <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1703 478q40 57 18 129l-275 906q-19 64-76 108t-123 43H324q-77 0-148-53T76 1479q-24-67-2-127l3-27 4-37q1-8-3-21t-3-20q2-11 8-21t17-23 16-24q23-38 45-91t30-92q3-10 1-30t-1-28q3-11 17-28t17-23q21-36 42-92t25-90q1-9-2-32t0-28q4-13 22-30t22-23q19-26 43-84t27-97q1-8-3-25t-2-27q2-8 9-18t18-23 17-21q8-12 17-30t15-35 16-36 19-32 27-24 36-11 47 5l-1 3q38-9 51-9h761q74 0 114 56t18 130l-274 906q-36 119-71 154t-129 34H220q-27 0-38 15-11 16-1 43 24 70 144 70h923q29 0 56-15t35-42l300-987q7-22 5-57 38 15 59 43zm-1064 2q-4 13 2 23t20 9h608q13 0 26-9t16-23l21-64q4-13-2-22t-20-10H702q-13 0-25 10t-17 22zm-83 256q-4 13 2 23t20 9h608q13 0 26-9t16-23l21-64q4-13-2-22t-20-10H619q-13 0-25 10t-17 22z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>CRM and Case Management</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            For case work (e.g. housing or asylum support) we offer our own system, OpenCase. It's simple and user-friendly, perfect for small, volunteer-led groups. We will also consider CiviCRM depending on requirements.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li> -->
 | 
			
		||||
      <!-- <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1764 11q33 24 27 64l-256 1536q-5 29-32 45-14 8-31 8-11 0-24-5l-527-215-298 327q-18 21-47 21-14 0-23-4-19-7-30-23t-11-37v-452L40 1083q-37-14-40-55-3-39 32-59L1696 9q35-21 68 2zm-342 1499l221-1323-1434 827 336 137 863-639-478 797z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Encrypted Email</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            Secure your email communications with state of the art transport
 | 
			
		||||
            encryption and <a href="https://0xacab.org/riseuplabs/trees">TREES</a>
 | 
			
		||||
            encrypted mailbox storage.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li> -->
 | 
			
		||||
      <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 1024 901"><g fill-rule="nonzero"><path d="M898 350zM308 38c32 18 62 40 87 64 41-7 84-11 127-11 128 0 250 34 343 95 48 32 86 70 113 112a279 279 0 010 305c-27 42-65 80-113 111-93 62-215 95-343 95-43 0-86-3-127-11-25 25-55 47-87 65-168 84-308 2-308 2s130-111 109-208c-58-59-90-131-90-207 0-75 32-147 90-207C130 146 0 36 0 36s140-82 308 2zM208 618c16 52 6 111-29 176l-5 10c30-3 61-11 92-27 24-13 46-30 65-48l36-34c48 13 101 20 157 20 225 0 408-118 408-265 0-146-183-264-408-264-226 0-409 118-409 264 0 64 35 123 93 168z"/><path d="M328 509a60 60 0 110-120 60 60 0 010 120zm194 0a60 60 0 110-120 60 60 0 010 120zm194 0a60 60 0 11-1-120 60 60 0 011 120z"/></g></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Team Chat</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            Mobile friendly multi-channel team chat using <a href="https://rocket.chat/">Rocket.Chat</a>,
 | 
			
		||||
            with no artificial limits on features. Vital for remote project coordination.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="icon fa-cloud-o">
 | 
			
		||||
        <h3>Cloud Storage and Collaboration</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          <a href="https://sandstorm.io/">Sandstorm</a> is a personal "cloud
 | 
			
		||||
          in a box" , designed with the upmost security in mind. It allows you to
 | 
			
		||||
          deploy apps for file-storage, collaborative document editing,
 | 
			
		||||
          calendars, to-do lists and much more.
 | 
			
		||||
        </p>
 | 
			
		||||
      <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 2048 1792"><path d="M1984 1152q0 159-112 272t-272 112H512q-185 0-316-131T64 1088q0-132 71-241t187-164l-2-43q0-212 150-362t362-150q158 0 287 88t187 230q70-62 166-62 106 0 181 75t75 181q0 75-41 138 129 30 213 135t84 239z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Cloud Storage and Collaboration</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            <a href="https://nextcloud.com/">Nextcloud</a> for file-storage, collaborative document editing, calendars. We also host <a href="https://github.com/hackmdio/codimd">CodiMD</a>, <a href="https://etherpad.org/">Etherpad</a>, <a href="https://gitea.io">Gitea</a> and <a href="https://wekan.github.io/">Wekan</a> instances.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="icon fa-headphones">
 | 
			
		||||
        <h3>Voice Conferencing</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          Stable and low latency voice communications using <a href="https://wiki.mumble.info/wiki/Main_Page">Mumble</a>.
 | 
			
		||||
          Perfect for meetings, even with large groups, on mobile, or with low bandwidth.
 | 
			
		||||
        </p>
 | 
			
		||||
      <!-- <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1728 886q0 166-60 314l-20 49-185 33q-22 83-90 137t-157 53v32q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23V928q0-14 9-23t23-9h64q14 0 23 9t9 23v32q71 0 130 36t93 95l68-12q29-95 29-193 0-148-88-279t-236-209-316-78-315 78-237 209-88 279q0 98 29 193l68 12q34-60 93-95t130-36v-32q0-14 9-23t23-9h64q14 0 23 9t9 23v576q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23v-32q-88 0-156-53t-91-137l-185-33-20-49q-60-148-60-314 0-151 67-291t179-242 266-164 320-61 320 61 266 164 179 242 67 291z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Voice Conferencing</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            Stable and low latency voice communications using <a href="https://wiki.mumble.info/wiki/Main_Page">Mumble</a>.
 | 
			
		||||
            Perfect for meetings, even with large groups, on mobile, or with low bandwidth.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li> -->
 | 
			
		||||
      <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M704 384q-153 0-286 52T207 577t-79 191q0 82 53 158t149 132l97 56-35 84q34-20 62-39l44-31 53 10q78 14 153 14 153 0 286-52t212-141 78-191-78-191-212-141-286-52zm0-128q191 0 354 69t256 186 94 257-94 257-256 187-354 68q-86 0-176-16-124 88-278 128-36 9-86 16h-3q-11 0-20-8t-12-21l-1-6 1-7 2-6 2-5 4-5 4-5 4-5 4-5 23-25 26-29 23-29q15-19 25-39t20-44q-124-72-195-177T0 768q0-139 94-257t257-186 353-69zm822 1169q10 24 21 44t25 39 22 29 26 29 23 25l4 5 5 5 4 5 3 5 3 5 2 6v7l-1 6q-3 14-13 22t-22 7q-50-7-86-16-154-40-278-128-90 16-176 16-271 0-472-132 58 4 88 4 161 0 309-45t264-129q125-92 192-212t67-254q0-77-23-152 129 71 204 178t75 230q0 120-71 225t-195 176z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Forum and Mailing Lists</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            Build your online community with a modern and responsive forum with
 | 
			
		||||
            <a href="https://www.discourse.org/">Discourse</a>. An accessible
 | 
			
		||||
            replacement for traditional mailing lists.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="icon fa-comments-o">
 | 
			
		||||
        <h3>Forum and Mailing Lists</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          Build your online community with a modern and responsive forum with
 | 
			
		||||
          <a href="https://www.discourse.org/">Discourse</a>. An accessible
 | 
			
		||||
          replacement for traditional mailing lists.
 | 
			
		||||
        </p>
 | 
			
		||||
      <!-- <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 2048 1792"><path d="M2020 11q28 20 28 53v1408q0 20-11 36t-29 23l-640 256q-24 11-48 0l-616-246-616 246q-10 5-24 5-19 0-36-11-28-20-28-53V320q0-20 11-36t29-23L680 5q24-11 48 0l616 246L1960 5q32-13 60 6zM736 146v1270l576 230V376zM128 363v1270l544-217V146zm1792 1066V159l-544 217v1270z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Interactive Data and Mapping</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            Got some data? We can provide a variety of interactive data
 | 
			
		||||
            visualisations, including mapping using <a href="https://www.openstreetmap.org">OpenStreetMap</a>,
 | 
			
		||||
            and charts using <a href="https://d3js.org/">D3.js</a>. Get the most out of your
 | 
			
		||||
            data by presenting it in a bespoke web app.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li> -->
 | 
			
		||||
      <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 2048 1792"><path d="M681 1399l-50 50q-10 10-23 10t-23-10L119 983q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23t-10 23L288 960l393 393q10 10 10 23t-10 23zm591-1067L899 1623q-4 13-15 20t-24 2l-62-17q-13-4-19-15t-3-25l373-1291q4-13 16-19t23-3l62 17q13 4 20 16t2 24zm657 651l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23t-10 23z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Bespoke Development</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            For some problems, there may not be a pre-existing solution. Let us guide you through the full development cycle to deliver your bespoke solution.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="icon fa-map-o">
 | 
			
		||||
        <h3>Interactive Data and Mapping</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          Got some data? We can provide a variety of interactive data
 | 
			
		||||
          visualisations, including mapping using <a href="https://www.openstreetmap.org">OpenStreetMap</a>,
 | 
			
		||||
          and charts using <a href="https://d3js.org/">D3.js</a>. Get the most out of your
 | 
			
		||||
          data by presenting it in a bespoke web app.
 | 
			
		||||
        </p>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="icon fa-code">
 | 
			
		||||
        <h3>Bespoke Development</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          For some problems, there may not be a pre-existing free software solution. Let
 | 
			
		||||
          us guide you through the full development cycle to deliver your bespoke solution.
 | 
			
		||||
        </p>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="icon fa-lock">
 | 
			
		||||
        <h3>Cybersecurity Training</h3>
 | 
			
		||||
        <p>
 | 
			
		||||
          A grounded and principled understanding of the cybersecurity domain can ensure
 | 
			
		||||
          your organisation is not liable to any unwanted security threats. We provide
 | 
			
		||||
          structured training taliored to your threat model.
 | 
			
		||||
        </p>
 | 
			
		||||
      <li class="features-item">
 | 
			
		||||
        <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M640 768h512V576q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28H416q-40 0-68-28t-28-68V864q0-40 28-68t68-28h32V576q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"/></svg>
 | 
			
		||||
        <div>
 | 
			
		||||
          <h3>Cybersecurity Training</h3>
 | 
			
		||||
          <p>
 | 
			
		||||
            A grounded and principled understanding of the cybersecurity domain can ensure
 | 
			
		||||
            your organisation is not liable to any unwanted security threats. We provide
 | 
			
		||||
            structured training tailored to your threat model.
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </li>
 | 
			
		||||
    </ul>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
@ -1,15 +1,12 @@
 | 
			
		||||
<!DOCTYPE HTML>
 | 
			
		||||
<html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
{% include head.html %}
 | 
			
		||||
<body class="landing">
 | 
			
		||||
  {% include header.html %}
 | 
			
		||||
  {% include banner.html %}
 | 
			
		||||
  {% include core-values.html %}
 | 
			
		||||
  {% include blog.html %}
 | 
			
		||||
  {% include services.html %}
 | 
			
		||||
  {% include contact.html %}
 | 
			
		||||
  {% include footer.html %}
 | 
			
		||||
  {% include membership-footer.html %}
 | 
			
		||||
  {% include foot-scripts.html %}
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
<!DOCTYPE HTML>
 | 
			
		||||
<html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
{% include head.html %}
 | 
			
		||||
 | 
			
		||||
<body>
 | 
			
		||||
@ -7,12 +7,11 @@
 | 
			
		||||
 | 
			
		||||
    <!-- Main -->
 | 
			
		||||
    <article id="main">
 | 
			
		||||
        <header>
 | 
			
		||||
        <header
 | 
			
		||||
            {% if page.image %}
 | 
			
		||||
            <div
 | 
			
		||||
                class="header-image"
 | 
			
		||||
                style="background-image: url('{% if site.featured-image-source %}{{ page.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ page.image }}{% endif %}');"></div>
 | 
			
		||||
            style="background-image: url('{% if site.featured-image-source %}{{ page.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ page.image }}{% endif %}');"
 | 
			
		||||
            {% endif %}
 | 
			
		||||
        >
 | 
			
		||||
            <h2>{{ page.title }}</h2>
 | 
			
		||||
            <p>{{ page.description }}</p>
 | 
			
		||||
        </header>
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
  html5up.net | @ajlkn
 | 
			
		||||
  Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
 | 
			
		||||
-->
 | 
			
		||||
<html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
 | 
			
		||||
{% include head.html %}
 | 
			
		||||
 | 
			
		||||
@ -14,18 +14,17 @@
 | 
			
		||||
 | 
			
		||||
    <!-- Main -->
 | 
			
		||||
    <article id="main">
 | 
			
		||||
        <header>
 | 
			
		||||
        <header
 | 
			
		||||
            {% if page.image %}
 | 
			
		||||
            <div
 | 
			
		||||
                class="header-image"
 | 
			
		||||
                style="background-image: url('{% if site.featured-image-source %}{{ page.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ page.image }}{% endif %}');"></div>
 | 
			
		||||
            style="background-image: url('{% if site.featured-image-source %}{{ page.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ page.image }}{% endif %}');"
 | 
			
		||||
            {% endif %}
 | 
			
		||||
        >
 | 
			
		||||
            <h2>{{ page.title }}</h2>
 | 
			
		||||
            <p>{{ page.description }}</p>
 | 
			
		||||
            <p><em>{{ page.date | date: '%B %d, %Y' }}</em></p>
 | 
			
		||||
        </header>
 | 
			
		||||
        <section class="wrapper style5">
 | 
			
		||||
            <div class="inner">
 | 
			
		||||
            <div class="inner inner--text">
 | 
			
		||||
 | 
			
		||||
                {{ content }}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,17 +1,16 @@
 | 
			
		||||
<!DOCTYPE HTML>
 | 
			
		||||
<html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
{% include head.html %}
 | 
			
		||||
 | 
			
		||||
<body>
 | 
			
		||||
    {% include header.html %}
 | 
			
		||||
 | 
			
		||||
    <div id="main">
 | 
			
		||||
        <header>
 | 
			
		||||
        <header
 | 
			
		||||
            {% if page.image %}
 | 
			
		||||
            <div
 | 
			
		||||
                class="header-image"
 | 
			
		||||
                style="background-image: url('{% if site.featured-image-source %}{{ page.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ page.image }}{% endif %}');"></div>
 | 
			
		||||
            style="background-image: url('{% if site.featured-image-source %}{{ page.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ page.image }}{% endif %}');"
 | 
			
		||||
            {% endif %}
 | 
			
		||||
        >
 | 
			
		||||
            <h2>{{ page.title }}</h2>
 | 
			
		||||
            <p>{{ page.description }}</p>
 | 
			
		||||
        </header>
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@
 | 
			
		||||
layout: post
 | 
			
		||||
title: Our Founding Principles
 | 
			
		||||
description: Autonomic Co-operative And Our Core Values
 | 
			
		||||
image: pic01.jpg
 | 
			
		||||
image: 2016-09-23-thinkpad-keyboard.jpg
 | 
			
		||||
category: values
 | 
			
		||||
date: 2017-10-03
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										136
									
								
								src/_posts/2019-08-30-civicrm-mailing-validation.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,136 @@
 | 
			
		||||
---
 | 
			
		||||
layout: post
 | 
			
		||||
title: CiviCRM AngularJS extension
 | 
			
		||||
description: Adding custom validation to the CiviCRM Mailing form
 | 
			
		||||
image: 2019-08-30_civicrm_validation_header.jpg
 | 
			
		||||
category: howto
 | 
			
		||||
date: 2019-08-30
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
We support [Campaign Against Arms Trade](https://caat.org.uk), a right-on group
 | 
			
		||||
that works to end the international arms trade, with their technology –
 | 
			
		||||
including [CiviCRM](https://civicrm.org/), a popular open source
 | 
			
		||||
"constituent relationship management" platform. 
 | 
			
		||||
 | 
			
		||||
Among other things, CAAT uses CiviCRM's "Mailing" features to send out emails to
 | 
			
		||||
their supporters, and they told us that they're experiencing an annoying bug: if
 | 
			
		||||
a user sends out a mailing with the same name (not subject line, just the
 | 
			
		||||
internal identifier 🙄) as an existing one, it'll cause the CRM to freeze up
 | 
			
		||||
elsewhere.
 | 
			
		||||
 | 
			
		||||
As an added challenge, the mailing features of CiviCRM [now use
 | 
			
		||||
AngularJS](https://docs.civicrm.org/dev/en/latest/framework/angular/) following
 | 
			
		||||
a recent rebuild by the developers, and there aren't many tutorials or examples
 | 
			
		||||
out there to customise it. Luckily, the CiviCRM developer community was
 | 
			
		||||
super-helpful, and we managed to sort out some in-form validation to prevent
 | 
			
		||||
duplicate mailing names for our client… and now for you, too!
 | 
			
		||||
 | 
			
		||||
## Create a new extension
 | 
			
		||||
 | 
			
		||||
Using [`civix`](https://github.com/totten/civix), we set up a new CiviCRM extension for our code:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
$ civix generate:module mailing
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
(We called our extension `mailing`, because our creative director was occupied
 | 
			
		||||
with an Art at the time)
 | 
			
		||||
 | 
			
		||||
Our client sensibly keeps their custom CiviCRM extensions in `git`, so at this
 | 
			
		||||
stage we initialised a repository, added the boilerplate template code, and
 | 
			
		||||
pushed.
 | 
			
		||||
 | 
			
		||||
## Set up the AngularJS hook
 | 
			
		||||
 | 
			
		||||
A function called `mailing_civicrm_alterAngular()`  will get executed whenever
 | 
			
		||||
an AngularJS page loads, and you can use a `ChangeSet` to edit an AngularJS
 | 
			
		||||
template. Because AngularJS templates specify form logic, this also lets you
 | 
			
		||||
change the validation behaviour. Our hook function looks like this:
 | 
			
		||||
 | 
			
		||||
```php
 | 
			
		||||
function mailing_civicrm_alterAngular($angular) {
 | 
			
		||||
  $changeSet = \Civi\Angular\ChangeSet::create('mailing_name_unique')
 | 
			
		||||
    ->alterHtml('~/crmMailing/BlockSummary.html', function(phpQueryObject $doc) {
 | 
			
		||||
      // name validation
 | 
			
		||||
      $doc->find('.crm-group:has([crm-ui-id="subform.mailingName"])')->attr('ng-controller', 'NameValidateCtrl');
 | 
			
		||||
      $doc->find('[crm-ui-id="subform.mailingName"]')->attr('ng-blur', 'validateName(mailing, \'name\')');
 | 
			
		||||
      $doc->find('[crm-ui-id="subform.mailingName"]')->attr('crm-ui-validate', 'isValid');
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
  $angular->add($changeSet);
 | 
			
		||||
 | 
			
		||||
  CRM_Core_Resources::singleton()->addScriptFile('mailing', 'js/disallow-duplicate-names.js');
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Setting `crm-ui-validate` to `validateName` directly fired the event _way_ too
 | 
			
		||||
many times, so instead `validateName` is only called when focus leaves the
 | 
			
		||||
field, `ng-blur`, which then sets the `isValid` variable that's checked by
 | 
			
		||||
`crm-ui-validate`.
 | 
			
		||||
 | 
			
		||||
## Create the `validateName` function
 | 
			
		||||
 | 
			
		||||
Then, the code which queries the CiviCRM API to check for mailings with
 | 
			
		||||
duplicate names:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
var validating = false;
 | 
			
		||||
 | 
			
		||||
(function(angular, $) {
 | 
			
		||||
  var crmMailing = angular.module('crmMailing');
 | 
			
		||||
 | 
			
		||||
  crmMailing.controller('NameValidateCtrl', function($scope) {
 | 
			
		||||
      $scope.isValid = false;
 | 
			
		||||
 | 
			
		||||
      $scope.validateName = function(mailing, field) {
 | 
			
		||||
        if (!validating) {
 | 
			
		||||
          validating = true;
 | 
			
		||||
 | 
			
		||||
          CRM.api3('Mailing', 'get', {
 | 
			
		||||
            "sequential": 1,
 | 
			
		||||
            "name": mailing[field],
 | 
			
		||||
            "id": {"!=": mailing.id}
 | 
			
		||||
          }).then(function(result) {
 | 
			
		||||
            // do something with result
 | 
			
		||||
            if (result.count > 0 ) {
 | 
			
		||||
              $scope.isValid = false;
 | 
			
		||||
              CRM.alert(ts('There is already a mailing with this name; sending this one will crash CiviCRM!'));
 | 
			
		||||
            } else {
 | 
			
		||||
              $scope.isValid = true;
 | 
			
		||||
            }
 | 
			
		||||
          }, function(error) {
 | 
			
		||||
            // oops
 | 
			
		||||
            console.log(error);
 | 
			
		||||
          });
 | 
			
		||||
 | 
			
		||||
          validating = false;
 | 
			
		||||
      }
 | 
			
		||||
    };
 | 
			
		||||
  });
 | 
			
		||||
})(angular, CRM.$);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
(saved as `js/disallow-duplicate-names.js`)
 | 
			
		||||
 | 
			
		||||
## Conclusion
 | 
			
		||||
 | 
			
		||||
Activate the extension, e.g. with `cv`
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ cv en mailing
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Now, open a mailing and try to give it the same name as an existing one – you
 | 
			
		||||
should see the field border turn red, and you'll be prevented from continuing or
 | 
			
		||||
sending the mailing:
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
(As a bonus, the extension also sends a notification to the user using
 | 
			
		||||
`CRM.alert` to explain the error)
 | 
			
		||||
 | 
			
		||||
It does seem like a red border sometimes hangs around the field label even after
 | 
			
		||||
the value is valid again… but apart from that, the feature is working great!
 | 
			
		||||
 | 
			
		||||
Lastly, props to CAAT for being a great member of the CiviCRM community and
 | 
			
		||||
supporting us writing this post to share our work with y'all.
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 668 KiB  | 
| 
		 Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/2019-08-30_civicrm_validation.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.7 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/2019-08-30_civicrm_validation_header.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 97 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								src/assets/images/CoTech-white-logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.4 KiB  | 
@ -1,265 +0,0 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html class="devise-layout-html">
 | 
			
		||||
<head prefix="og: http://ogp.me/ns#">
 | 
			
		||||
<meta charset="utf-8">
 | 
			
		||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
 | 
			
		||||
<meta content="object" property="og:type">
 | 
			
		||||
<meta content="GitLab" property="og:site_name">
 | 
			
		||||
<meta content="Sign in" property="og:title">
 | 
			
		||||
<meta content="GitLab.com" property="og:description">
 | 
			
		||||
<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image">
 | 
			
		||||
<meta content="64" property="og:image:width">
 | 
			
		||||
<meta content="64" property="og:image:height">
 | 
			
		||||
<meta content="https://gitlab.com/users/sign_in" property="og:url">
 | 
			
		||||
<meta content="summary" property="twitter:card">
 | 
			
		||||
<meta content="Sign in" property="twitter:title">
 | 
			
		||||
<meta content="GitLab.com" property="twitter:description">
 | 
			
		||||
<meta content="https://gitlab.com/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image">
 | 
			
		||||
 | 
			
		||||
<title>Sign in · GitLab</title>
 | 
			
		||||
<meta content="GitLab.com" name="description">
 | 
			
		||||
<link rel="shortcut icon" type="image/x-icon" href="/assets/favicon-075eba76312e8421991a0c1f89a89ee81678bcde72319dd3e8047e2a47cd3a42.ico" id="favicon" />
 | 
			
		||||
<link rel="stylesheet" media="all" href="/assets/application-61d4cb7e100f2fac8ccaeac5e18d08f97554f0639e84004165d6f9697cfbe08c.css" />
 | 
			
		||||
<link rel="stylesheet" media="print" href="/assets/print-74b3d49adeaada27337e759b75a34af7cf3d80051de91d60d40570f5a382e132.css" />
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<!-- / TODO: Combine these 2 stylesheets into application.scss -->
 | 
			
		||||
<link rel="stylesheet" media="all" href="/assets/new_nav-9dc36451d6461185b3c501b73a23f48936cda9ee5b0b8f9b1001c951ce12eabf.css" />
 | 
			
		||||
<link rel="stylesheet" media="all" href="/assets/new_sidebar-1f383f3cb338b8ecf8062dab06052141f414f51165f656b97a0930c0d38cd7dc.css" />
 | 
			
		||||
<script>
 | 
			
		||||
//<![CDATA[
 | 
			
		||||
window.gon={};gon.api_version="v4";gon.default_avatar_url="https:\/\/gitlab.com\/assets\/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.webpack_public_path="\/assets\/webpack\/";gon.relative_url_root="";gon.shortcuts_path="\/help\/shortcuts";gon.user_color_scheme="white";gon.katex_css_url="\/assets\/katex-dc07578acd203b2dd73a8c78cdb8dcb79144ba11a23749d80904496b7ff8a650.css";gon.katex_js_url="\/assets\/katex-04bcf56379fcda0ee7c7a63f71d0fc15ffd2e014d017cd9d51fd6554dfccf40a.js";gon.sentry_dsn="https:\/\/526a2f38a53d44e3a8e69bfa001d1e8b@sentry.gitlap.com\/15";gon.gitlab_url="https:\/\/gitlab.com";gon.revision="235b8d5";gon.gitlab_logo="\/assets\/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";
 | 
			
		||||
//]]>
 | 
			
		||||
</script>
 | 
			
		||||
<script src="/assets/webpack/webpack_runtime.294a69f1dca44b9962ff.bundle.js" defer="defer"></script>
 | 
			
		||||
<script src="/assets/webpack/common.c04294b903455a34f707.bundle.js" defer="defer"></script>
 | 
			
		||||
<script src="/assets/webpack/locale.b9a56fbc6e00d576d16c.bundle.js" defer="defer"></script>
 | 
			
		||||
<script src="/assets/webpack/main.78a00e6bb497a127e58c.bundle.js" defer="defer"></script>
 | 
			
		||||
<script src="/assets/webpack/raven.c94699aec8e665da5599.bundle.js" defer="defer"></script>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<meta name="csrf-param" content="authenticity_token" />
 | 
			
		||||
<meta name="csrf-token" content="wsHK8up7MLWg48uVbcNYE7pk+TDs3OQ3y4e9l2k39xoa8OscEyQq+4SeumcbjMwNOvnHnyNl7Lod0aiJn1AEYA==" />
 | 
			
		||||
<meta content="origin-when-cross-origin" name="referrer">
 | 
			
		||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
 | 
			
		||||
<meta content="#474D57" name="theme-color">
 | 
			
		||||
<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" />
 | 
			
		||||
<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" />
 | 
			
		||||
<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" />
 | 
			
		||||
<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" />
 | 
			
		||||
<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon">
 | 
			
		||||
<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage">
 | 
			
		||||
<meta content="#30353E" name="msapplication-TileColor">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<!-- Piwik -->
 | 
			
		||||
<script>
 | 
			
		||||
  var _paq = _paq || [];
 | 
			
		||||
  _paq.push(['trackPageView']);
 | 
			
		||||
  _paq.push(['enableLinkTracking']);
 | 
			
		||||
  (function() {
 | 
			
		||||
    var u="//piwik.gitlab.com/";
 | 
			
		||||
    _paq.push(['setTrackerUrl', u+'piwik.php']);
 | 
			
		||||
    _paq.push(['setSiteId', 1]);
 | 
			
		||||
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
 | 
			
		||||
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
 | 
			
		||||
  })();
 | 
			
		||||
</script>
 | 
			
		||||
<noscript><p><img src="//piwik.gitlab.com/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
 | 
			
		||||
<!-- End Piwik Code -->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body class="ui_charcoal login-page application navless" data-page="sessions:new">
 | 
			
		||||
<div class="page-wrap">
 | 
			
		||||
<header class="navbar navbar-fixed-top navbar-empty">
 | 
			
		||||
<div class="container">
 | 
			
		||||
<div class="center-logo">
 | 
			
		||||
<svg width="24" height="24" class="tanuki-logo" viewBox="0 0 36 36">
 | 
			
		||||
  <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/>
 | 
			
		||||
  <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/>
 | 
			
		||||
  <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/>
 | 
			
		||||
  <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/>
 | 
			
		||||
  <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/>
 | 
			
		||||
  <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/>
 | 
			
		||||
  <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/>
 | 
			
		||||
</svg>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
</header>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div class="container navless-container">
 | 
			
		||||
<div class="content">
 | 
			
		||||
<div class="flash-container flash-container-page">
 | 
			
		||||
<div class="flash-alert">
 | 
			
		||||
<div class="container-fluid container-limited">
 | 
			
		||||
<span>You need to sign in or sign up before continuing.</span>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<div class="row">
 | 
			
		||||
<div class="col-sm-5 pull-right new-session-forms-container">
 | 
			
		||||
<div>
 | 
			
		||||
<ul class="nav-links new-session-tabs nav-tabs" role="tablist">
 | 
			
		||||
<li class="active" role="presentation">
 | 
			
		||||
<a data-toggle="tab" href="#login-pane" role="tab">Sign in</a>
 | 
			
		||||
</li>
 | 
			
		||||
<li role="presentation">
 | 
			
		||||
<a data-toggle="tab" href="#register-pane" role="tab">Register</a>
 | 
			
		||||
</li>
 | 
			
		||||
</ul>
 | 
			
		||||
 | 
			
		||||
<div class="tab-content">
 | 
			
		||||
<div class="login-box tab-pane active" id="login-pane" role="tabpanel">
 | 
			
		||||
<div class="login-body">
 | 
			
		||||
<form class="new_user gl-show-field-errors" aria-live="assertive" id="new_user" action="/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="aviQVpjjnwWyU0/d+NkgsYlxNMtli94j5+cz98Ptm/CyybG4YbyFS5YuPi+OlrSvCewKZKoy1q4xsSbpNYpoig==" /><div class="form-group">
 | 
			
		||||
<label for="user_login">Username or email</label>
 | 
			
		||||
<input class="form-control top" autofocus="autofocus" autocapitalize="off" autocorrect="off" required="required" title="This field is required." type="text" name="user[login]" id="user_login" />
 | 
			
		||||
</div>
 | 
			
		||||
<div class="form-group">
 | 
			
		||||
<label for="user_password">Password</label>
 | 
			
		||||
<input class="form-control bottom" required="required" title="This field is required." type="password" name="user[password]" id="user_password" />
 | 
			
		||||
</div>
 | 
			
		||||
<div class="remember-me checkbox">
 | 
			
		||||
<label for="user_remember_me">
 | 
			
		||||
<input name="user[remember_me]" type="hidden" value="0" /><input class="remember-me-checkbox" type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" />
 | 
			
		||||
<span>Remember me</span>
 | 
			
		||||
</label>
 | 
			
		||||
<div class="pull-right forgot-password">
 | 
			
		||||
<a href="/users/password/new">Forgot your password?</a>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="submit-container move-submit-down">
 | 
			
		||||
<input type="submit" name="commit" value="Sign in" class="btn btn-save" />
 | 
			
		||||
</div>
 | 
			
		||||
</form>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<div class="tab-pane login-box" id="register-pane" role="tabpanel">
 | 
			
		||||
<div class="login-body">
 | 
			
		||||
<form class="new_new_user gl-show-field-errors" aria-live="assertive" id="new_new_user" action="/users" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="KNVgt2nO9DZYvvt0iq8qMuVtT0aWcVKL5ZapEZ7c8Jrw5EFZkJHueHzDiob84L4sZfBx6VnIWgYzwLwPaLsD4A==" /><div class="devise-errors">
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
<div class="form-group">
 | 
			
		||||
<label for="new_user_name">Full name</label>
 | 
			
		||||
<input class="form-control top" required="required" title="This field is required." type="text" name="new_user[name]" id="new_user_name" />
 | 
			
		||||
</div>
 | 
			
		||||
<div class="username form-group">
 | 
			
		||||
<label for="new_user_username">Username</label>
 | 
			
		||||
<input class="form-control middle" pattern="[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*[a-zA-Z0-9_\-]|[a-zA-Z0-9_]" required="required" title="Please create a username with only alphanumeric characters." type="text" name="new_user[username]" id="new_user_username" />
 | 
			
		||||
<p class="validation-error hide">Username is already taken.</p>
 | 
			
		||||
<p class="validation-success hide">Username is available.</p>
 | 
			
		||||
<p class="validation-pending hide">Checking username availability...</p>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="form-group">
 | 
			
		||||
<label for="new_user_email">Email</label>
 | 
			
		||||
<input class="form-control middle" required="required" title="Please provide a valid email address." type="email" value="" name="new_user[email]" id="new_user_email" />
 | 
			
		||||
</div>
 | 
			
		||||
<div class="form-group">
 | 
			
		||||
<label for="new_user_email_confirmation">Email confirmation</label>
 | 
			
		||||
<input class="form-control middle" required="required" title="Please retype the email address." type="email" name="new_user[email_confirmation]" id="new_user_email_confirmation" />
 | 
			
		||||
</div>
 | 
			
		||||
<div class="form-group append-bottom-20" id="password-strength">
 | 
			
		||||
<label for="new_user_password">Password</label>
 | 
			
		||||
<input class="form-control bottom" required="required" pattern=".{8,}" title="Minimum length is 8 characters." type="password" name="new_user[password]" id="new_user_password" />
 | 
			
		||||
<p class="gl-field-hint">Minimum length is 8 characters</p>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="form-group">
 | 
			
		||||
<input name="new_user[email_opted_in]" type="hidden" value="0" /><input type="checkbox" value="1" name="new_user[email_opted_in]" id="new_user_email_opted_in" />
 | 
			
		||||
<label for="new_user_email_opted_in">I'd like to receive updates via email about GitLab.</label>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<div></div>
 | 
			
		||||
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
 | 
			
		||||
<div class="g-recaptcha" data-sitekey="6LfAERQTAAAAAL4GYSiAMGLbcLyUIBSfPrDNJgeC"></div>
 | 
			
		||||
          <noscript>
 | 
			
		||||
            <div style="width: 302px; height: 352px;">
 | 
			
		||||
              <div style="width: 302px; height: 352px; position: relative;">
 | 
			
		||||
                <div style="width: 302px; height: 352px; position: absolute;">
 | 
			
		||||
                  <iframe
 | 
			
		||||
                    src="https://www.google.com/recaptcha/api/fallback?k=6LfAERQTAAAAAL4GYSiAMGLbcLyUIBSfPrDNJgeC"
 | 
			
		||||
                    frameborder="0" scrolling="no"
 | 
			
		||||
                    style="width: 302px; height:352px; border-style: none;">
 | 
			
		||||
                  </iframe>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div style="width: 250px; height: 80px; position: absolute; border-style: none;
 | 
			
		||||
                  bottom: 21px; left: 25px; margin: 0px; padding: 0px; right: 25px;">
 | 
			
		||||
                  <textarea id="g-recaptcha-response" name="g-recaptcha-response"
 | 
			
		||||
                    class="g-recaptcha-response"
 | 
			
		||||
                    style="width: 250px; height: 80px; border: 1px solid #c1c1c1;
 | 
			
		||||
                    margin: 0px; padding: 0px; resize: none;" value="">
 | 
			
		||||
                  </textarea>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </noscript>
 | 
			
		||||
 | 
			
		||||
<div class="submit-container">
 | 
			
		||||
<input type="submit" name="commit" value="Register" class="btn-register btn" />
 | 
			
		||||
</div>
 | 
			
		||||
</form></div>
 | 
			
		||||
</div>
 | 
			
		||||
<div class="clearfix submit-container">
 | 
			
		||||
<p>
 | 
			
		||||
<span class="light">Didn't receive a confirmation email?</span>
 | 
			
		||||
<a href="/users/confirmation/new">Request a new one</a>.
 | 
			
		||||
</p>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
<div class="clearfix">
 | 
			
		||||
<div class="omniauth-container">
 | 
			
		||||
<p>
 | 
			
		||||
<span class="light">
 | 
			
		||||
Sign in with  
 | 
			
		||||
</span>
 | 
			
		||||
<span class="light">
 | 
			
		||||
<a class="oauth-login oauth-image-link" id="oauth-login-google_oauth2" rel="nofollow" data-method="post" href="/users/auth/google_oauth2"><img alt="Google" title="Sign in with Google" data-src="/assets/auth_buttons/google_64-37d98b7033cc7059a484199ffdd766adf69babbc6e5fc64b43006ca866629f17.png" class=" lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /></a>
 | 
			
		||||
</span>
 | 
			
		||||
<span class="light">
 | 
			
		||||
<a class="oauth-login oauth-image-link" id="oauth-login-twitter" rel="nofollow" data-method="post" href="/users/auth/twitter"><img alt="Twitter" title="Sign in with Twitter" data-src="/assets/auth_buttons/twitter_64-86860edb139fb2f62fc25ef62a4213a5c8b20122fd8752ab0df09e740eb53deb.png" class=" lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /></a>
 | 
			
		||||
</span>
 | 
			
		||||
<span class="light">
 | 
			
		||||
<a class="oauth-login oauth-image-link" id="oauth-login-github" rel="nofollow" data-method="post" href="/users/auth/github"><img alt="GitHub" title="Sign in with GitHub" data-src="/assets/auth_buttons/github_64-84041cd0ea392220da96f0fb9b9473c08485c4924b98c776be1bd33b0daab8c0.png" class=" lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /></a>
 | 
			
		||||
</span>
 | 
			
		||||
<span class="light">
 | 
			
		||||
<a class="oauth-login oauth-image-link" id="oauth-login-bitbucket" rel="nofollow" data-method="post" href="/users/auth/bitbucket"><img alt="Bitbucket" title="Sign in with Bitbucket" data-src="/assets/auth_buttons/bitbucket_64-eceb0f98bfa1a0bdc088138f970e1bc209114a8934c1372b596e9d137e611c21.png" class=" lazy" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /></a>
 | 
			
		||||
</span>
 | 
			
		||||
<fieldset class="prepend-top-10">
 | 
			
		||||
<input type="checkbox" name="remember_me" id="remember_me" value="1" />
 | 
			
		||||
<label for="remember_me">Remember me</label>
 | 
			
		||||
</fieldset>
 | 
			
		||||
</p>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
<div class="col-sm-7 brand-holder pull-left">
 | 
			
		||||
<h1>
 | 
			
		||||
GitLab.com
 | 
			
		||||
</h1>
 | 
			
		||||
 | 
			
		||||
<p dir="auto">GitLab.com offers free unlimited (private) repositories and unlimited collaborators.</p>

<ul dir="auto">
<li>
<a href="https://gitlab.com/explore/projects/trending">Explore projects on GitLab.com</a> (no login needed)</li>
<li><a href="https://about.gitlab.com/gitlab-com/" rel="nofollow noreferrer noopener" target="_blank">More information about GitLab.com</a></li>
<li><a href="https://gitlab.com/gitlab-com/support-forum/issues">GitLab.com Support Forum</a></li>
</ul>

<p dir="auto">By signing up for and by signing in to this service you accept our:</p>

<ul dir="auto">
<li><a href="https://about.gitlab.com/privacy/" rel="nofollow noreferrer noopener" target="_blank">Privacy policy</a></li>
<li>
<a href="https://about.gitlab.com/terms/#gitlab_com" rel="nofollow noreferrer noopener" target="_blank">GitLab.com Terms</a>.</li>
</ul>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
<hr class="footer-fixed">
 | 
			
		||||
<div class="container footer-container">
 | 
			
		||||
<div class="footer-links">
 | 
			
		||||
<a href="/explore">Explore</a>
 | 
			
		||||
<a href="/help">Help</a>
 | 
			
		||||
<a href="https://about.gitlab.com/">About GitLab</a>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
@ -1,7 +0,0 @@
 | 
			
		||||
<component lightWeight="true">
 | 
			
		||||
<attach event="onpropertychange" onevent="handlePropertychange()" />
 | 
			
		||||
<attach event="ondetach" onevent="restore()" />
 | 
			
		||||
<attach event="onresize" for="window" onevent="handleResize()" />
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
var rsrc=/url\(["']?(.*?)["']?\)/,positions={top:0,left:0,bottom:1,right:1,center:0.5},doc=element.document;init(); function init(){var b=doc.createElement("div"),a=doc.createElement("img"),c,d;b.style.position="absolute";b.style.zIndex=-1;b.style.top=0;b.style.right=0;b.style.left=0;b.style.bottom=0;b.style.overflow="hidden";a.style.position="absolute";a.style.width=a.style.width="auto";b.appendChild(a);element.insertBefore(b,element.firstChild);d=[element.currentStyle.backgroundPositionX,element.currentStyle.backgroundPositionY];element.bgsExpando=c={wrapper:b,img:a,backgroundSize:element.currentStyle["background-size"], backgroundPositionX:positions[d[0]]||parseFloat(d[0])/100,backgroundPositionY:positions[d[1]]||parseFloat(d[1])/100};"auto"==element.currentStyle.zIndex&&(element.style.zIndex=0);"static"==element.currentStyle.position&&(element.style.position="relative");refreshDisplay(element,c)&&(refreshDimensions(element,c),refreshBackgroundImage(element,c,function(){updateBackground(element,c)}))} function refreshDisplay(b,a){var c=b.currentStyle.display;c!=a.display&&(a.display=c,a.somethingChanged=!0);return"none"!=c}function refreshDimensions(b,a){var c=b.offsetWidth-(parseFloat(b.currentStyle.borderLeftWidth)||0)-(parseFloat(b.currentStyle.borderRightWidth)||0),d=b.offsetHeight-(parseFloat(b.currentStyle.borderTopWidth)||0)-(parseFloat(b.currentStyle.borderBottomWidth)||0);if(c!=a.innerWidth||d!=a.innerHeight)a.innerWidth=c,a.innerHeight=d,a.somethingChanged=!0} function refreshBackgroundImage(b,a,c){var d=a.img,e=(rsrc.exec(b.currentStyle.backgroundImage)||[])[1];if(e&&e!=a.backgroundSrc){a.backgroundSrc=e;a.somethingChanged=!0;d.onload=function(){var b=d.width,e=d.height;1==b&&1==e||(a.imgWidth=b,a.imgHeight=e,a.constrain=!1,c(),d.style.visibility="visible",d.onload=null)};d.style.visibility="hidden";d.src=a.backgroundSrc;if(d.readyState||d.complete)d.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",d.src=a.backgroundSrc;a.ignoreNextPropertyChange= !0;b.style.backgroundImage="none"}else c()} function updateBackground(b,a){if(a.somethingChanged){var c=a.img,d=a.innerWidth/a.innerHeight,e=a.imgWidth/a.imgHeight,f=a.constrain;"contain"==a.backgroundSize?e>d?(a.constrain=d="width",e=Math.floor((a.innerHeight-a.innerWidth/e)*a.backgroundPositionY),c.style.top=e+"px",d!=f&&(c.style.width="100%",c.style.height="auto",c.style.left=0)):(a.constrain=d="height",e=Math.floor((a.innerWidth-a.innerHeight*e)*a.backgroundPositionX),c.style.left=e+"px",d!=f&&(c.style.width="auto",c.style.height="100%", c.style.top=0)):"cover"==a.backgroundSize&&(e>d?(a.constrain=d="height",e=Math.floor((a.innerHeight*e-a.innerWidth)*a.backgroundPositionX),c.style.left=-e+"px",d!=f&&(c.style.width="auto",c.style.height="100%",c.style.top=0)):(a.constrain=d="width",e=Math.floor((a.innerWidth/e-a.innerHeight)*a.backgroundPositionY),c.style.top=-e+"px",d!=f&&(c.style.width="100%",c.style.height="auto",c.style.left=0)));a.somethingChanged=!1}} function handlePropertychange(){var b=element.bgsExpando;b.ignoreNextPropertyChange?b.ignoreNextPropertyChange=!1:refreshDisplay(element,b)&&(refreshDimensions(element,b),refreshBackgroundImage(element,b,function(){updateBackground(element,b)}))}function handleResize(){var b=element.bgsExpando;"none"!=b.display&&(refreshDimensions(element,b),updateBackground(element,b))} function restore(){var b=element.bgsExpando;try{element.style.backgroundImage="url('"+b.backgroundSrc+"')",element.removeChild(b.wrapper),element.bgsExpando=null}catch(a){}};
 | 
			
		||||
</script>
 | 
			
		||||
							
								
								
									
										8
									
								
								src/assets/js/ie/html5shiv.js
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,8 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
 | 
			
		||||
*/
 | 
			
		||||
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
 | 
			
		||||
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
 | 
			
		||||
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
 | 
			
		||||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
 | 
			
		||||
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
 | 
			
		||||
							
								
								
									
										6
									
								
								src/assets/js/ie/respond.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,6 +0,0 @@
 | 
			
		||||
/*! Respond.js v1.4.2: min/max-width media query polyfill
 | 
			
		||||
 * Copyright 2014 Scott Jehl
 | 
			
		||||
 * Licensed under MIT
 | 
			
		||||
 * http://j.mp/respondjs */
 | 
			
		||||
 | 
			
		||||
!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b<t.length;b++){var c=t[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!p[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(w(c.styleSheet.rawCssText,e,f),p[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!s||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}x()};y(),c.update=y,c.getEmValue=u,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
 | 
			
		||||
							
								
								
									
										2
									
								
								src/assets/js/jquery-3.4.1.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										5
									
								
								src/assets/js/jquery.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
							
								
								
									
										2
									
								
								src/assets/js/jquery.scrolly.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,2 +0,0 @@
 | 
			
		||||
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
 | 
			
		||||
(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);
 | 
			
		||||
@ -5,216 +5,186 @@
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
(function($) {
 | 
			
		||||
  skel
 | 
			
		||||
    .breakpoints({
 | 
			
		||||
      xlarge: '(max-width: 1680px)',
 | 
			
		||||
      large: '(max-width: 1280px)',
 | 
			
		||||
      medium: '(max-width: 980px)',
 | 
			
		||||
      small: '(max-width: 736px)',
 | 
			
		||||
      xsmall: '(max-width: 480px)'
 | 
			
		||||
    });
 | 
			
		||||
  skel.breakpoints({
 | 
			
		||||
    xlarge: "(max-width: 1680px)",
 | 
			
		||||
    large: "(max-width: 1280px)",
 | 
			
		||||
    medium: "(max-width: 980px)",
 | 
			
		||||
    small: "(max-width: 736px)",
 | 
			
		||||
    xsmall: "(max-width: 480px)"
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  $(function() {
 | 
			
		||||
  var $window = $(window),
 | 
			
		||||
    $body = $("body"),
 | 
			
		||||
    $wrapper = $("#page-wrapper"),
 | 
			
		||||
    $banner = $("#banner"),
 | 
			
		||||
    $header = $(".header");
 | 
			
		||||
 | 
			
		||||
    var $window = $(window),
 | 
			
		||||
      $body = $('body'),
 | 
			
		||||
      $wrapper = $('#page-wrapper'),
 | 
			
		||||
      $banner = $('#banner'),
 | 
			
		||||
      $header = $('#header');
 | 
			
		||||
  // Disable animations/transitions until the page has loaded.
 | 
			
		||||
  $body.addClass("is-loading");
 | 
			
		||||
 | 
			
		||||
    // Disable animations/transitions until the page has loaded.
 | 
			
		||||
    $body.addClass('is-loading');
 | 
			
		||||
  $window.on("load", function() {
 | 
			
		||||
    window.setTimeout(function() {
 | 
			
		||||
      $body.removeClass("is-loading");
 | 
			
		||||
    }, 100);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
    $window.on('load', function() {
 | 
			
		||||
      window.setTimeout(function() {
 | 
			
		||||
        $body.removeClass('is-loading');
 | 
			
		||||
      }, 100);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    // Mobile?
 | 
			
		||||
    if (skel.vars.mobile)
 | 
			
		||||
      $body.addClass('is-mobile');
 | 
			
		||||
    else
 | 
			
		||||
      skel
 | 
			
		||||
      .on('-medium !medium', function() {
 | 
			
		||||
        $body.removeClass('is-mobile');
 | 
			
		||||
  // Mobile?
 | 
			
		||||
  if (skel.vars.mobile) {
 | 
			
		||||
    $body.addClass("is-mobile");
 | 
			
		||||
  } else {
 | 
			
		||||
    skel
 | 
			
		||||
      .on("-medium !medium", function() {
 | 
			
		||||
        $body.removeClass("is-mobile");
 | 
			
		||||
      })
 | 
			
		||||
      .on('+medium', function() {
 | 
			
		||||
        $body.addClass('is-mobile');
 | 
			
		||||
      .on("+medium", function() {
 | 
			
		||||
        $body.addClass("is-mobile");
 | 
			
		||||
      });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    // Fix: Placeholder polyfill.
 | 
			
		||||
    $('form').placeholder();
 | 
			
		||||
  // Fix: Placeholder polyfill.
 | 
			
		||||
  $("form").placeholder();
 | 
			
		||||
 | 
			
		||||
    // Prioritize "important" elements on medium.
 | 
			
		||||
    skel.on('+medium -medium', function() {
 | 
			
		||||
      $.prioritize(
 | 
			
		||||
        '.important\\28 medium\\29',
 | 
			
		||||
        skel.breakpoint('medium').active
 | 
			
		||||
      );
 | 
			
		||||
  // Prioritize "important" elements on medium.
 | 
			
		||||
  skel.on("+medium -medium", function() {
 | 
			
		||||
    $.prioritize(
 | 
			
		||||
      ".important\\28 medium\\29",
 | 
			
		||||
      skel.breakpoint("medium").active
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // Header.
 | 
			
		||||
  if (skel.vars.IEVersion < 9) $header.removeClass("alt");
 | 
			
		||||
 | 
			
		||||
  if ($banner.length > 0 && $header.hasClass("alt")) {
 | 
			
		||||
    $window.on("resize", function() {
 | 
			
		||||
      $window.trigger("scroll");
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    // Scrolly.
 | 
			
		||||
    $('.scrolly')
 | 
			
		||||
      .scrolly({
 | 
			
		||||
        speed: 1500,
 | 
			
		||||
        offset: $header.outerHeight()
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
    $("#menu").show();
 | 
			
		||||
 | 
			
		||||
    // Menu.
 | 
			
		||||
    $('#menu')
 | 
			
		||||
      .append('<a href="#menu" class="close"></a>')
 | 
			
		||||
      .appendTo($body)
 | 
			
		||||
      .panel({
 | 
			
		||||
        delay: 500,
 | 
			
		||||
        hideOnClick: true,
 | 
			
		||||
        hideOnSwipe: true,
 | 
			
		||||
        resetScroll: true,
 | 
			
		||||
        resetForms: true,
 | 
			
		||||
        side: 'right',
 | 
			
		||||
        target: $body,
 | 
			
		||||
        visibleClass: 'is-menu-visible'
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
    // Header.
 | 
			
		||||
    if (skel.vars.IEVersion < 9)
 | 
			
		||||
      $header.removeClass('alt');
 | 
			
		||||
 | 
			
		||||
    if ($banner.length > 0 &&
 | 
			
		||||
      $header.hasClass('alt')) {
 | 
			
		||||
 | 
			
		||||
      $window.on('resize', function() {
 | 
			
		||||
        $window.trigger('scroll');
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      $banner.scrollex({
 | 
			
		||||
        bottom: $header.outerHeight() + 1,
 | 
			
		||||
        terminate: function() {
 | 
			
		||||
          $header.removeClass('alt');
 | 
			
		||||
        },
 | 
			
		||||
        enter: function() {
 | 
			
		||||
          $header.addClass('alt');
 | 
			
		||||
        },
 | 
			
		||||
        leave: function() {
 | 
			
		||||
          $header.removeClass('alt');
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    $banner.scrollex({
 | 
			
		||||
      bottom: $header.outerHeight() + 1,
 | 
			
		||||
      terminate: function() {
 | 
			
		||||
        $header.removeClass("alt");
 | 
			
		||||
      },
 | 
			
		||||
      enter: function() {
 | 
			
		||||
        $header.addClass("alt");
 | 
			
		||||
      },
 | 
			
		||||
      leave: function() {
 | 
			
		||||
        $header.removeClass("alt");
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    // Particles
 | 
			
		||||
    if ($( window ).width() > 980) {
 | 
			
		||||
      particlesJS('banner', {
 | 
			
		||||
        "particles": {
 | 
			
		||||
          "number": {
 | 
			
		||||
          "value": 65,
 | 
			
		||||
          "density": {
 | 
			
		||||
            "enable": false,
 | 
			
		||||
            "value_area": 800
 | 
			
		||||
          }
 | 
			
		||||
          },
 | 
			
		||||
          "color": {
 | 
			
		||||
          "value": "#f99081"
 | 
			
		||||
          },
 | 
			
		||||
          "shape": {
 | 
			
		||||
          "type": "circle",
 | 
			
		||||
          "stroke": {
 | 
			
		||||
            "width": 0,
 | 
			
		||||
            "color": "#000000"
 | 
			
		||||
          },
 | 
			
		||||
          "polygon": {
 | 
			
		||||
            "nb_sides": 5
 | 
			
		||||
          },
 | 
			
		||||
          "image": {
 | 
			
		||||
            "src": "img/github.svg",
 | 
			
		||||
            "width": 100,
 | 
			
		||||
            "height": 100
 | 
			
		||||
          }
 | 
			
		||||
          },
 | 
			
		||||
          "opacity": {
 | 
			
		||||
          "value": 0.6,
 | 
			
		||||
          "random": true,
 | 
			
		||||
          "anim": {
 | 
			
		||||
            "enable": false,
 | 
			
		||||
            "speed": 1,
 | 
			
		||||
            "opacity_min": 0.4,
 | 
			
		||||
            "sync": false
 | 
			
		||||
          }
 | 
			
		||||
          },
 | 
			
		||||
          "size": {
 | 
			
		||||
          "value": 14,
 | 
			
		||||
          "random": true,
 | 
			
		||||
          "anim": {
 | 
			
		||||
            "enable": true,
 | 
			
		||||
            "speed": 6,
 | 
			
		||||
            "size_min": 4,
 | 
			
		||||
            "sync": false
 | 
			
		||||
          }
 | 
			
		||||
          },
 | 
			
		||||
          "line_linked": {
 | 
			
		||||
          "enable": true,
 | 
			
		||||
          "distance": 250,
 | 
			
		||||
          "color": "#f99081",
 | 
			
		||||
          "opacity": 0.8,
 | 
			
		||||
          "width": 2
 | 
			
		||||
          },
 | 
			
		||||
          "move": {
 | 
			
		||||
          "enable": true,
 | 
			
		||||
          "speed": 0.4,
 | 
			
		||||
          "direction": "none",
 | 
			
		||||
          "random": true,
 | 
			
		||||
          "straight": false,
 | 
			
		||||
          "out_mode": "out",
 | 
			
		||||
          "bounce": false,
 | 
			
		||||
          "attract": {
 | 
			
		||||
            "enable": false,
 | 
			
		||||
            "rotateX": 600,
 | 
			
		||||
            "rotateY": 1200
 | 
			
		||||
          }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "interactivity": {
 | 
			
		||||
          "detect_on": "canvas",
 | 
			
		||||
          "events": {
 | 
			
		||||
          "onhover": {
 | 
			
		||||
            "enable": true,
 | 
			
		||||
            "mode": "grab"
 | 
			
		||||
          },
 | 
			
		||||
          "onclick": {
 | 
			
		||||
            "enable": true,
 | 
			
		||||
            "mode": "push"
 | 
			
		||||
          },
 | 
			
		||||
          "resize": true
 | 
			
		||||
          },
 | 
			
		||||
          "modes": {
 | 
			
		||||
          "grab": {
 | 
			
		||||
            "distance": 200,
 | 
			
		||||
            "line_linked": {
 | 
			
		||||
            "opacity": 0.8
 | 
			
		||||
    if ($(window).width() > 980) {
 | 
			
		||||
      particlesJS("banner", {
 | 
			
		||||
        particles: {
 | 
			
		||||
          number: {
 | 
			
		||||
            value: 65,
 | 
			
		||||
            density: {
 | 
			
		||||
              enable: false,
 | 
			
		||||
              value_area: 800
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "bubble": {
 | 
			
		||||
            "distance": 400,
 | 
			
		||||
            "size": 40,
 | 
			
		||||
            "duration": 2,
 | 
			
		||||
            "opacity": 8,
 | 
			
		||||
            "speed": 3
 | 
			
		||||
          color: {
 | 
			
		||||
            value: "#ff5555"
 | 
			
		||||
          },
 | 
			
		||||
          "repulse": {
 | 
			
		||||
            "distance": 200,
 | 
			
		||||
            "duration": 0.4
 | 
			
		||||
          shape: {
 | 
			
		||||
            type: "circle",
 | 
			
		||||
            stroke: {
 | 
			
		||||
              width: 0,
 | 
			
		||||
              color: "#000000"
 | 
			
		||||
            },
 | 
			
		||||
            polygon: {
 | 
			
		||||
              nb_sides: 5
 | 
			
		||||
            },
 | 
			
		||||
            image: {
 | 
			
		||||
              src: "img/github.svg",
 | 
			
		||||
              width: 100,
 | 
			
		||||
              height: 100
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "push": {
 | 
			
		||||
            "particles_nb": 2
 | 
			
		||||
          opacity: {
 | 
			
		||||
            value: 0.6,
 | 
			
		||||
            random: true,
 | 
			
		||||
            anim: {
 | 
			
		||||
              enable: false,
 | 
			
		||||
              speed: 1,
 | 
			
		||||
              opacity_min: 0.4,
 | 
			
		||||
              sync: false
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "remove": {
 | 
			
		||||
            "particles_nb": 2
 | 
			
		||||
          }
 | 
			
		||||
          size: {
 | 
			
		||||
            value: 14,
 | 
			
		||||
            random: true,
 | 
			
		||||
            anim: {
 | 
			
		||||
              enable: true,
 | 
			
		||||
              speed: 6,
 | 
			
		||||
              size_min: 4,
 | 
			
		||||
              sync: false
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          line_linked: {
 | 
			
		||||
            enable: true,
 | 
			
		||||
            distance: 250,
 | 
			
		||||
            color: "#ff5555",
 | 
			
		||||
            opacity: 0.8,
 | 
			
		||||
            width: 2
 | 
			
		||||
          },
 | 
			
		||||
          move: {
 | 
			
		||||
            enable: true,
 | 
			
		||||
            speed: 0.4,
 | 
			
		||||
            direction: "none",
 | 
			
		||||
            random: true,
 | 
			
		||||
            straight: false,
 | 
			
		||||
            out_mode: "out",
 | 
			
		||||
            bounce: false,
 | 
			
		||||
            attract: {
 | 
			
		||||
              enable: false,
 | 
			
		||||
              rotateX: 600,
 | 
			
		||||
              rotateY: 1200
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "retina_detect": true
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
        interactivity: {
 | 
			
		||||
          detect_on: "canvas",
 | 
			
		||||
          events: {
 | 
			
		||||
            onhover: {
 | 
			
		||||
              enable: true,
 | 
			
		||||
              mode: "grab"
 | 
			
		||||
            },
 | 
			
		||||
            onclick: {
 | 
			
		||||
              enable: true,
 | 
			
		||||
              mode: "push"
 | 
			
		||||
            },
 | 
			
		||||
            resize: true
 | 
			
		||||
          },
 | 
			
		||||
          modes: {
 | 
			
		||||
            grab: {
 | 
			
		||||
              distance: 200,
 | 
			
		||||
              line_linked: {
 | 
			
		||||
                opacity: 0.8
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            bubble: {
 | 
			
		||||
              distance: 400,
 | 
			
		||||
              size: 40,
 | 
			
		||||
              duration: 2,
 | 
			
		||||
              opacity: 8,
 | 
			
		||||
              speed: 3
 | 
			
		||||
            },
 | 
			
		||||
            repulse: {
 | 
			
		||||
              distance: 200,
 | 
			
		||||
              duration: 0.4
 | 
			
		||||
            },
 | 
			
		||||
            push: {
 | 
			
		||||
              particles_nb: 2
 | 
			
		||||
            },
 | 
			
		||||
            remove: {
 | 
			
		||||
              particles_nb: 2
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        retina_detect: true
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
  }
 | 
			
		||||
})(jQuery);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										9
									
								
								src/assets/js/particles.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@ -1,301 +1,5 @@
 | 
			
		||||
(function($) {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Generate an indented list of links from a nav. Meant for use with panel().
 | 
			
		||||
   * @return {jQuery} jQuery object.
 | 
			
		||||
   */
 | 
			
		||||
  $.fn.navList = function() {
 | 
			
		||||
 | 
			
		||||
    var $this = $(this);
 | 
			
		||||
      $a = $this.find('a'),
 | 
			
		||||
      b = [];
 | 
			
		||||
 | 
			
		||||
    $a.each(function() {
 | 
			
		||||
 | 
			
		||||
      var $this = $(this),
 | 
			
		||||
        indent = Math.max(0, $this.parents('li').length - 1),
 | 
			
		||||
        href = $this.attr('href'),
 | 
			
		||||
        target = $this.attr('target');
 | 
			
		||||
 | 
			
		||||
      b.push(
 | 
			
		||||
        '<a ' +
 | 
			
		||||
          'class="link depth-' + indent + '"' +
 | 
			
		||||
          ( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
 | 
			
		||||
          ( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
 | 
			
		||||
        '>' +
 | 
			
		||||
          '<span class="indent-' + indent + '"></span>' +
 | 
			
		||||
          $this.text() +
 | 
			
		||||
        '</a>'
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    return b.join('');
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Panel-ify an element.
 | 
			
		||||
   * @param {object} userConfig User config.
 | 
			
		||||
   * @return {jQuery} jQuery object.
 | 
			
		||||
   */
 | 
			
		||||
  $.fn.panel = function(userConfig) {
 | 
			
		||||
 | 
			
		||||
    // No elements?
 | 
			
		||||
      if (this.length == 0)
 | 
			
		||||
        return $this;
 | 
			
		||||
 | 
			
		||||
    // Multiple elements?
 | 
			
		||||
      if (this.length > 1) {
 | 
			
		||||
 | 
			
		||||
        for (var i=0; i < this.length; i++)
 | 
			
		||||
          $(this[i]).panel(userConfig);
 | 
			
		||||
 | 
			
		||||
        return $this;
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    // Vars.
 | 
			
		||||
      var $this = $(this),
 | 
			
		||||
        $body = $('body'),
 | 
			
		||||
        $window = $(window),
 | 
			
		||||
        id = $this.attr('id'),
 | 
			
		||||
        config;
 | 
			
		||||
 | 
			
		||||
    // Config.
 | 
			
		||||
      config = $.extend({
 | 
			
		||||
 | 
			
		||||
        // Delay.
 | 
			
		||||
          delay: 0,
 | 
			
		||||
 | 
			
		||||
        // Hide panel on link click.
 | 
			
		||||
          hideOnClick: false,
 | 
			
		||||
 | 
			
		||||
        // Hide panel on escape keypress.
 | 
			
		||||
          hideOnEscape: false,
 | 
			
		||||
 | 
			
		||||
        // Hide panel on swipe.
 | 
			
		||||
          hideOnSwipe: false,
 | 
			
		||||
 | 
			
		||||
        // Reset scroll position on hide.
 | 
			
		||||
          resetScroll: false,
 | 
			
		||||
 | 
			
		||||
        // Reset forms on hide.
 | 
			
		||||
          resetForms: false,
 | 
			
		||||
 | 
			
		||||
        // Side of viewport the panel will appear.
 | 
			
		||||
          side: null,
 | 
			
		||||
 | 
			
		||||
        // Target element for "class".
 | 
			
		||||
          target: $this,
 | 
			
		||||
 | 
			
		||||
        // Class to toggle.
 | 
			
		||||
          visibleClass: 'visible'
 | 
			
		||||
 | 
			
		||||
      }, userConfig);
 | 
			
		||||
 | 
			
		||||
      // Expand "target" if it's not a jQuery object already.
 | 
			
		||||
        if (typeof config.target != 'jQuery')
 | 
			
		||||
          config.target = $(config.target);
 | 
			
		||||
 | 
			
		||||
    // Panel.
 | 
			
		||||
 | 
			
		||||
      // Methods.
 | 
			
		||||
        $this._hide = function(event) {
 | 
			
		||||
 | 
			
		||||
          // Already hidden? Bail.
 | 
			
		||||
            if (!config.target.hasClass(config.visibleClass))
 | 
			
		||||
              return;
 | 
			
		||||
 | 
			
		||||
          // If an event was provided, cancel it.
 | 
			
		||||
            if (event) {
 | 
			
		||||
 | 
			
		||||
              event.preventDefault();
 | 
			
		||||
              event.stopPropagation();
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
          // Hide.
 | 
			
		||||
            config.target.removeClass(config.visibleClass);
 | 
			
		||||
 | 
			
		||||
          // Post-hide stuff.
 | 
			
		||||
            window.setTimeout(function() {
 | 
			
		||||
 | 
			
		||||
              // Reset scroll position.
 | 
			
		||||
                if (config.resetScroll)
 | 
			
		||||
                  $this.scrollTop(0);
 | 
			
		||||
 | 
			
		||||
              // Reset forms.
 | 
			
		||||
                if (config.resetForms)
 | 
			
		||||
                  $this.find('form').each(function() {
 | 
			
		||||
                    this.reset();
 | 
			
		||||
                  });
 | 
			
		||||
 | 
			
		||||
            }, config.delay);
 | 
			
		||||
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
      // Vendor fixes.
 | 
			
		||||
        $this
 | 
			
		||||
          .css('-ms-overflow-style', '-ms-autohiding-scrollbar')
 | 
			
		||||
          .css('-webkit-overflow-scrolling', 'touch');
 | 
			
		||||
 | 
			
		||||
      // Hide on click.
 | 
			
		||||
        if (config.hideOnClick) {
 | 
			
		||||
 | 
			
		||||
          $this.find('a')
 | 
			
		||||
            .css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
 | 
			
		||||
 | 
			
		||||
          $this
 | 
			
		||||
            .on('click', 'a', function(event) {
 | 
			
		||||
 | 
			
		||||
              var $a = $(this),
 | 
			
		||||
                href = $a.attr('href'),
 | 
			
		||||
                target = $a.attr('target');
 | 
			
		||||
 | 
			
		||||
              if (!href || href == '#' || href == '' || href == '#' + id)
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
              // Cancel original event.
 | 
			
		||||
                event.preventDefault();
 | 
			
		||||
                event.stopPropagation();
 | 
			
		||||
 | 
			
		||||
              // Hide panel.
 | 
			
		||||
                $this._hide();
 | 
			
		||||
 | 
			
		||||
              // Redirect to href.
 | 
			
		||||
                window.setTimeout(function() {
 | 
			
		||||
 | 
			
		||||
                  if (target == '_blank')
 | 
			
		||||
                    window.open(href);
 | 
			
		||||
                  else
 | 
			
		||||
                    window.location.href = href;
 | 
			
		||||
 | 
			
		||||
                }, config.delay + 10);
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
      // Event: Touch stuff.
 | 
			
		||||
        $this.on('touchstart', function(event) {
 | 
			
		||||
 | 
			
		||||
          $this.touchPosX = event.originalEvent.touches[0].pageX;
 | 
			
		||||
          $this.touchPosY = event.originalEvent.touches[0].pageY;
 | 
			
		||||
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        $this.on('touchmove', function(event) {
 | 
			
		||||
 | 
			
		||||
          if ($this.touchPosX === null
 | 
			
		||||
          ||  $this.touchPosY === null)
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
          var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
 | 
			
		||||
            diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
 | 
			
		||||
            th = $this.outerHeight(),
 | 
			
		||||
            ts = ($this.get(0).scrollHeight - $this.scrollTop());
 | 
			
		||||
 | 
			
		||||
          // Hide on swipe?
 | 
			
		||||
            if (config.hideOnSwipe) {
 | 
			
		||||
 | 
			
		||||
              var result = false,
 | 
			
		||||
                boundary = 20,
 | 
			
		||||
                delta = 50;
 | 
			
		||||
 | 
			
		||||
              switch (config.side) {
 | 
			
		||||
 | 
			
		||||
                case 'left':
 | 
			
		||||
                  result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
 | 
			
		||||
                  break;
 | 
			
		||||
 | 
			
		||||
                case 'right':
 | 
			
		||||
                  result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
 | 
			
		||||
                  break;
 | 
			
		||||
 | 
			
		||||
                case 'top':
 | 
			
		||||
                  result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
 | 
			
		||||
                  break;
 | 
			
		||||
 | 
			
		||||
                case 'bottom':
 | 
			
		||||
                  result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
 | 
			
		||||
                  break;
 | 
			
		||||
 | 
			
		||||
                default:
 | 
			
		||||
                  break;
 | 
			
		||||
 | 
			
		||||
              }
 | 
			
		||||
 | 
			
		||||
              if (result) {
 | 
			
		||||
 | 
			
		||||
                $this.touchPosX = null;
 | 
			
		||||
                $this.touchPosY = null;
 | 
			
		||||
                $this._hide();
 | 
			
		||||
 | 
			
		||||
                return false;
 | 
			
		||||
 | 
			
		||||
              }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
          // Prevent vertical scrolling past the top or bottom.
 | 
			
		||||
            if (($this.scrollTop() < 0 && diffY < 0)
 | 
			
		||||
            || (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
 | 
			
		||||
 | 
			
		||||
              event.preventDefault();
 | 
			
		||||
              event.stopPropagation();
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
      // Event: Prevent certain events inside the panel from bubbling.
 | 
			
		||||
        $this.on('click touchend touchstart touchmove', function(event) {
 | 
			
		||||
          event.stopPropagation();
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
      // Event: Hide panel if a child anchor tag pointing to its ID is clicked.
 | 
			
		||||
        $this.on('click', 'a[href="#' + id + '"]', function(event) {
 | 
			
		||||
 | 
			
		||||
          event.preventDefault();
 | 
			
		||||
          event.stopPropagation();
 | 
			
		||||
 | 
			
		||||
          config.target.removeClass(config.visibleClass);
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
    // Body.
 | 
			
		||||
 | 
			
		||||
      // Event: Hide panel on body click/tap.
 | 
			
		||||
        $body.on('click touchend', function(event) {
 | 
			
		||||
          $this._hide(event);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
      // Event: Toggle.
 | 
			
		||||
        $body.on('click', 'a[href="#' + id + '"]', function(event) {
 | 
			
		||||
 | 
			
		||||
          event.preventDefault();
 | 
			
		||||
          event.stopPropagation();
 | 
			
		||||
 | 
			
		||||
          config.target.toggleClass(config.visibleClass);
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
    // Window.
 | 
			
		||||
 | 
			
		||||
      // Event: Hide on ESC.
 | 
			
		||||
        if (config.hideOnEscape)
 | 
			
		||||
          $window.on('keydown', function(event) {
 | 
			
		||||
 | 
			
		||||
            if (event.keyCode == 27)
 | 
			
		||||
              $this._hide(event);
 | 
			
		||||
 | 
			
		||||
          });
 | 
			
		||||
 | 
			
		||||
    return $this;
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Apply "placeholder" attribute polyfill to one or more forms.
 | 
			
		||||
   * @return {jQuery} jQuery object.
 | 
			
		||||
 | 
			
		||||
@ -11,54 +11,183 @@ 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
 | 
			
		||||
fG9YVaQqGxeUSQ==
 | 
			
		||||
=OH/1
 | 
			
		||||
tDJBdXRvbm9taWMgQ28tb3BlcmF0aXZlIDxhdXRvbm9taWMtY29vcEBwb3N0ZW8u
 | 
			
		||||
bmV0PokCVAQTAQgAPhYhBIL8h8UacZAv3BAs9U+Q1VuySxFHBQJZ/cG6AhsjBQkC
 | 
			
		||||
LRGUBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEE+Q1VuySxFH/XUP/0+NPkji
 | 
			
		||||
Qupvtqp5vYJW2VqFf9QnfEUR24UI60nbKf/2oRKw/Ts+SxnQ4R4it4wEN/ZJb056
 | 
			
		||||
qg2XwzAwMXbwzFr/yuY7/C1UTVFg5Zo/FC971X7WiTmk4UmAee1IFnIfG7krKCfg
 | 
			
		||||
Ko9rNAGrNX+d8/juUnn+FQAHjfSdaQyzlnwRvJXAlb9/sBNuibEbBpJ68Pg38W66
 | 
			
		||||
KmQ9zLCtPGxTy3lLAfKZoEBVP3reQKoNHb+qPs84d1DOXTFU5LI7VnmunQ/i+uHq
 | 
			
		||||
WUlOuTbjdFYHjlkJgugtClLIlwF5Jw+BIxTQAJCu3SFfcAOypm/Q810qJZoWhOko
 | 
			
		||||
5bdw+oIfuthBGqrtYOVGH4wQF7JwnxY101kiUykSOy4JcmqSwCDhosL+FJPI9iZb
 | 
			
		||||
Eoww4IFz3SJtp9uvCK9NCTZU2cN2Ejw3pzq8sXmm1rIwrq0XRbzQ+WipJRSdxUsK
 | 
			
		||||
+qFstRn2ZHx0GhWKFE5sgQZsY4xvwZXZmDEUTrDzhOrxNPVw4VNr26emS6l3WyGE
 | 
			
		||||
/W0m8LD/F9gp/9sU+CYtc4bibaLkgO6Hw3ZK8m+NEd/EvTtX3gTHF8yAcGDQ84pQ
 | 
			
		||||
TsEkfbWVnWhO3Kp+Ii/gofNOO7TdhyWCdsD78tVS3c3fZtIoYkhzy3CHbVZYeZ+J
 | 
			
		||||
Z38PGUSNV0qDh30KtmJ4/B4TvO1+KHm0ijliiQIzBBMBCAAdFiEE2vqcqEz9SPX8
 | 
			
		||||
6s6q7ek5Yp9cGmoFAln9weMACgkQ7ek5Yp9cGmrpcQ//Z0EJsqBg3pp/LLQgImcd
 | 
			
		||||
tfEZFkooJXPYhE6cnpUJkU3mXNSW/MW9gbM0Vp23fU8jC6W53xiyFIoo4aVHClxB
 | 
			
		||||
IoatrUG4cT1D2qZACShqzEvlllxcRpPZuK7lLuk91g12Mlho4JKeIJ6Oui3ODF0Z
 | 
			
		||||
LgAOxFeUYrM9X9HJKkeXVPBOd5RMGxKtbME8g6Wiv/41tZJ1cRtxTUdh/A3pKG9X
 | 
			
		||||
OmeUxYs1S1lR7z9eh6RvOcrmTOrzZlh78+9VKu+P7OqcQSiIG/zAdzhiG1Zxwcd+
 | 
			
		||||
DG1QcBsrF6WxxNxiPhJOiZ9gw/WA2JWz2Q7GrXjy7QS7+3iR5qtSIEt5BAj1kHIa
 | 
			
		||||
UpJVppGXX/sN+KY6ZljjPe2XwKDuePf/DQpm8pmc4OXf8tmFyYvtT44QjukH9uj7
 | 
			
		||||
/ra12a6lgVE7IllxBPvsGhFydDGb2hMV3WOXinsgdDQufoV3NW3/jw+QuCiUrJdI
 | 
			
		||||
IO+EGhTtR0EooVY63Y59KZVr9jwEikKMpGbfvSCHiXysKAzkV+PGQ5Z178y7U8dK
 | 
			
		||||
6Q3MWczmlrnyQVQ6xXlNxLfvcn3IUj+ADaW8LkQyVrJM0EcbBk4cw0Ri4tOyHYl1
 | 
			
		||||
f5Bx/zCbpCkTf4uDfTE+cdt41FYiyvx0Amu7plZ3ibGUlhbswk8MdzofBK2DixTS
 | 
			
		||||
4voMlbDE4zeSBNHU5wPW1HeIRgQTEQIABgUCWoxPHAAKCRC1UnX7y+g4PH8dAJwJ
 | 
			
		||||
e2Gas1fDwoYesuHCNOP33mj5WwCeNBat5nVVRbP9rTbSjcP+gnWQXA2JAlcEEwEI
 | 
			
		||||
AEECGyMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AFCQtW2zUWIQSC/IfFGnGQL9wQ
 | 
			
		||||
LPVPkNVbsksRRwUCW+DdWAIZAQAKCRBPkNVbsksRR2SJEACJA9GtC67i+tP7cWTY
 | 
			
		||||
La9iRUI14fLZrAnry+bN+B/f2IDpvv2eZXlkdTdUo7PF5/+1ug8oTV3NkkfhQ59v
 | 
			
		||||
rNp3XEhqkG3fIwSVYXyAj3flxS7Oa5PHUKfEIzR/hGX6k8YGxb/ILHr4vqEcLnrf
 | 
			
		||||
Nz0F6p6wD+XoNUqJv/xogwWj8McnNg5594ksIfFfkJixoAOQTEzN722+90nVguN6
 | 
			
		||||
/h2EG2iMKhDwxgS54MDLN0MySOSiKmAqD1oPzH9mLUXI1Wl4SI9GPiaiKR8ATgGw
 | 
			
		||||
w/+apBi5G38LQo7wZatCXiiht1tOE5Daxrs7Y6dKk8tbFzANxztIyXJl8Vcavk2s
 | 
			
		||||
9mMnTxlYu+6qu1tuhuo5MLMyQ5AVb+cfa3C83djMT8q5EOHSCBZ/eRKrd52XxQMM
 | 
			
		||||
gHD7mrM4LwXk6YdpJsthg/XkrpbbRhhV8yiLgjL7c75gmdzY9rWOxnVH7xHM/p9G
 | 
			
		||||
PsTFPmuvgsz2Hq6tSzqOdr166kKb957FExC/Z7U9ExtToPOVDW5wLFC81VHg8F6I
 | 
			
		||||
bAdy7JUDdGm7Gcw+RZfSS248fsmPtCK8AY6SFgYKQjviscRSprzis7fwOzE+pLgw
 | 
			
		||||
mBqYC7QVqhEvnykeXkQkRzzl9Wa3zrikYniPk8tphQrvU2AQWB9wbPk2EVNaEPXE
 | 
			
		||||
HzaRLV1CDEL7bX1xjHs7cOM5x4kCVAQTAQgAPgIbIwULCQgHAgYVCAkKCwIEFgID
 | 
			
		||||
AQIeAQIXgBYhBIL8h8UacZAv3BAs9U+Q1VuySxFHBQJbor05BQkLVts1AAoJEE+Q
 | 
			
		||||
1VuySxFHKcQP/joTOsDKjVkjZmYtoFixIBPgIfHcDFKN4UyVg/79Ue3xNaaUAze9
 | 
			
		||||
9NSLD8SBYbmI4y26H61u19WW2EyXs77jqgu6h00wKt0Ka+mFOHIhsd4gj5S2DXaz
 | 
			
		||||
+XJpllUm3n+LlU7Usi7MXkfwmKW0HmKRlJgqN9UCNczj5ldkcByuWd+h9NsDN8Q5
 | 
			
		||||
RADU+/wOaH47rcg8hNRJUtoBhz8qtU/5whlGMmV+Mi585eHlUXKHtsTtLfjzxBjx
 | 
			
		||||
DvnD8gcvFYUnFALW/qM6uZMcfjt3pEcetQ3Jj9dWl6QZujawtATf7jG79LVe9v3c
 | 
			
		||||
Ty1F+dQ59HuzkLLsq4TLjgIafABpaZNUezVhpeREW0ucOyA66Jgm4eIpTLlk0MoU
 | 
			
		||||
vzsY2jlQ13EUtFaL42xW44nYzeJm+PJNL7+hlh8GjlA4SjeF8vOpmIEOqn2cNhzp
 | 
			
		||||
Bn8NXcfI/kLvYknvuTvhlIRG22eCOD89Y4QEoK0L51FSHdpHKs20gEdftpZWG513
 | 
			
		||||
dHCNnXCp6+aQ1v6lkREQUYzNX11pRVJC6Yojs5rs4MN779adSMpF29VjE8yM0D6X
 | 
			
		||||
lPIpYyiOCeG7b5aln4+Sn4JYJ8usIlCrPTm0uDcHrnISVn7LeIvbMn3t1KqhF4BT
 | 
			
		||||
kJyHVUn3+oNSTQVUhtd4lXO3UcZc4zddYkbLeF2QeY+6yVMFyiB7izRTtCxBdXRv
 | 
			
		||||
bm9taWMgQ29vcGVyYXRpdmUgPGF1dG9ub21pY0Bwb3N0ZW8ubmV0PokCVAQTAQgA
 | 
			
		||||
PgIbIwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYhBIL8h8UacZAv3BAs9U+Q1Vuy
 | 
			
		||||
SxFHBQJZ/cGYBQkCLRGUAAoJEE+Q1VuySxFHwOEP/j2uPM+FUM84X5DzPdJ20mUA
 | 
			
		||||
1omWmBMgttW/S5VY7+ACpJWa2MP6qjGmjl/mmgGKTq31lLbvDHDD796fouZUGXqf
 | 
			
		||||
8spPyF4VVcreqJilBFrGpDEkL10B3K/WfpS/k5p87IH6JudNNIM0lUyAG1KR5q8l
 | 
			
		||||
MhEQeXz4RWE+ZIF9mAmrGRLb1OIaNYpKVSQliBh3F6jiyQ3uiUx//6x/tSFOfxqR
 | 
			
		||||
M1tdcb8gDKs6u3zFB+uM5BywGzRNTIcF8Ie2smavrQ0qSgQzacQmIWFpu0V2L4QX
 | 
			
		||||
kJRQiUkVeRkhDV+fWcR+49BuFQgU2K8YB8n2JLalG5l7gBSfQ4FUOUhxmDMquVIJ
 | 
			
		||||
yS7nLsMBBYtl7SrFe776uYaxNE+hYofv3mRRz/dApRxLc7jCI9dg0PtZjAaCrahg
 | 
			
		||||
FPHmXLZi0jg+Ijbpx8TI2MUf0P20iYeL6cRFKh0M774H0XwYLi/JFol+5bgscBF6
 | 
			
		||||
UwyL0gwiO+eamXi6VCNAn/4RJtdwsOSK+M62ZXl78cb7UrK7I7fDOuZFWS4p57CM
 | 
			
		||||
ZgS5W9RQDEmPJUCBTEfByGBLs/YFiDUrNlt53UhzSe1xIQs8CM0Vg4wtE6ipT0UL
 | 
			
		||||
lE79DwrgI1CaKOyL8RQf43oQ3kYz+HgY3YMqTYGrpDRbJNl1oeYFsHf/v5rd+4Nb
 | 
			
		||||
CnXGswAnQId7eFmd4cX/iQIzBBMBCAAdFiEE70ujcLPqlBi+AFx24UxUHrwFfywF
 | 
			
		||||
AlnKafIACgkQ4UxUHrwFfyybixAAiim4L86loIMD9wfXmmrOnp7V7Z8Xuwo3hZTb
 | 
			
		||||
0qtYXdCilkSYbnQthUiHiGaE0c3BMFBUX7yQdTIewmRc6CGkyWNNcyNC0y7HA/B7
 | 
			
		||||
HiGZHlymxDTdrB39AoLv6Bg76pkNIWcUGKkNKHETZSnB/MV2fPg7eQNvLD3qhdNl
 | 
			
		||||
ZCTXaT2y9VIPc+acE21C1WyCLtp6F/SDlLlR5F2oDSEX81jLupzBHXsHe/WVkyLV
 | 
			
		||||
yCepI/iNDbeVYVkY/ZmKoY+XW7UkT9mQboKmRNoz0aQFFsTL9Xl6Dlo6K3nbGvKV
 | 
			
		||||
wyVwiipwdl2CkFDfi2qpsDUGqXSpvjgMvfaIBNreAzQgDFafqG/UWkkL3Sy7XQkn
 | 
			
		||||
1+4Yb5CEzz7JwpD/5ah2tE8KmN8JpxeRaVoQAZ9i7G8Wd/8XtAsifOAdLqnnUvZc
 | 
			
		||||
N7CeEcJCba0Gg03zl17bjHQIVbCfjqVGtxeSHyRdbJ6ilrdBRq0AdoCZ46JZsWIM
 | 
			
		||||
U3Nvk+Ei16Ie5vO2TOd7WDRohI/H4yFU+hHfX7+P93xYBe8md2YMPCzf/10gU+fD
 | 
			
		||||
MCV3M8E9nnnJF2uYyalzayqgFuun7TfRQ1rC02CWZMiaTiAvoZNrLhn7Z+Nm+pPP
 | 
			
		||||
b7Anb2R5w1Kb/cngTZ7NvBw5qlvA9a+dXpgSsiE7kV4Npe+zTCU0gxD+u28FX+Ad
 | 
			
		||||
nXzO38+JAjMEEwEIAB0WIQTa+pyoTP1I9fzqzqrt6Tlin1waagUCWf3B5AAKCRDt
 | 
			
		||||
6Tlin1waaqs/D/45TzZcqmiJMEmzvxiN6MZU2NiUEioLSzSlXk8mqw6xmpSjR7r1
 | 
			
		||||
6mdngkCn1dbvriTF4DBqSVspdEV5B5O9m/Q/RMAw8iKxF6oL/bQ8iiEQcK4GTkL4
 | 
			
		||||
+li5ruoNOmiboUy4Ivtx5htlogkcFFfyTw3omEjJ0OMWBSWti+hIJbvv49BuLDw6
 | 
			
		||||
4pNcmFW2zeT8RKaX/e56g4+aXEK3SV6Ii0XXRk23UBnlQ+EXImNMUcIkke4I1c7H
 | 
			
		||||
UHFL7PW9RTlZEHeAosbTL16rrz03uT6P4dGdQNnS00qMD0UZTIw7oGHhDgfnM00V
 | 
			
		||||
pKp4E3Mn02c77r2CMitovCdWYkITqHWuuyAjFN817FHyIPs3lxyNNC5EsRerQmg9
 | 
			
		||||
S9brNrDi56Lg1Bu9lidMfCuEWXCmJlCAmmfKH+Rs01a+LEdPaKz+1JfPkVnfJN4B
 | 
			
		||||
mpxa2w7EsHifxOGcVOTIKb3ctqqHfLlkzBLIlZSThIBG0Yr+6/xjOTDO6+eXvvCW
 | 
			
		||||
/BEDVZIzup1oiBD5+3Jgin+vXnwGhciqJu2qKLGy5pJIoki8l1S7bB6J71VeUuhi
 | 
			
		||||
fHo4UbftBWghLgQ+mInY+vgxrE8HFt9HSUbbTwslI+Ok7zjQ4TNY0JHgf1qfClk6
 | 
			
		||||
MOCtvgSVhxYHJXbbZrzhRgT4Ugu87QhbHcB+d4G5TljUrj4slQbREs9qnIhGBBMR
 | 
			
		||||
AgAGBQJajE8cAAoJELVSdfvL6Dg86YwAnjRvy4sZj3h0mc9vxtE3SeZyoeFrAJ9M
 | 
			
		||||
2MoFJZBu0Tgu2GrGWZAW/zzGVIkCVAQTAQgAPhYhBIL8h8UacZAv3BAs9U+Q1Vuy
 | 
			
		||||
SxFHBQJZseOEAhsjBQkFo5qABQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEE+Q
 | 
			
		||||
1VuySxFHKYQP/1HyBo0KM55ywKGQvjvQzH2JO/V+yg+SYwr1S63sQNEkDF8o06FD
 | 
			
		||||
pJw+axCFFzmn6Kfbv6vx0J9LgEhhraFgBlSDv91ZsmMfaYxsR6/f2ru/kTmrOdww
 | 
			
		||||
TDm562y+sJGSd4b+yWa5sOdr4u4HusTmZlNbPm2s+YM2GCN4fv1JmQJ0UCuJs/Hc
 | 
			
		||||
FGCPNCrpMcId/0HsDt+9onPivzXzpTEx6eS2e52Fn3JJvOy00A7kxz5Lxa6dqzIu
 | 
			
		||||
krdU2CFa/dsFlx3Ai3O1TQTczKYVkv9poiNI0evRudxaUzBqDrdJqtblo2q2xgUQ
 | 
			
		||||
DbgEH4uxY1cdHOJg98hn6Qg50hYeVZ9Qauqbxrvxi2oykitfvGWW4W6HT7CbXYSH
 | 
			
		||||
VZxq/hUb+D25annGxoifTtnH8dkNnYZyct1rF/IVjOk1a6yfpye3GgpQ+tq0Bi6b
 | 
			
		||||
dePq35jrUuTmbY1idlDhTT1AZVoEJQo0UkaZkaw2K2F+B5poGVgXYTGdCIZzgBmx
 | 
			
		||||
wddw48JsnvonbnOY4qobFG4xmUy4teRDUcFa5cYgqFwaXFmD8OxtkLBSLyfRzpDT
 | 
			
		||||
5tHQFGMvAkvy21G6j6R82bCvIdPZZlRzmIkF3pEpoClcuSM4qh5MYmF0FO5zcxOo
 | 
			
		||||
0+4KUOry1BIVmY7Pe+xk8D2IP3lTKACD9T0N+VpFageLvDEWQTUQkMJjiQJUBBMB
 | 
			
		||||
CAA+AhsjBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAFiEEgvyHxRpxkC/cECz1T5DV
 | 
			
		||||
W7JLEUcFAluivT0FCQtW2zUACgkQT5DVW7JLEUeGAw/+PO2Bw+NYp9qG9g3cSCQs
 | 
			
		||||
MDhTLmzWxOsLXlgvnfZ17q1K0jItvFGJwhQF72ItINVccxlv+hErcl0VAdPNIQ1E
 | 
			
		||||
gl9cBiFDUWnfkE6qRETBe5ZCPzrDyIO8KwdwmTXKfHMmyuF7t58IzrtsxvdNVDbb
 | 
			
		||||
9PT4uUg6ocZzmYxVnMymsOldeUrCL6b2e3Pn1ciPArlJztTCrGL45eYKCRwHE0LA
 | 
			
		||||
rEk3UevW4IXSZVCpCa/JykFl90ytTwKvyis19QgvTR2x7Zphv8kuk4pTBY3hPzoc
 | 
			
		||||
ZR7MykHEJ8Ly0VyxudAnZk4mpUj/bM8HdTM/OYNdwhMb5TkJFGet4q5lwa0mK9kE
 | 
			
		||||
QRgFW+v2aq5ASp0HSNa2fmXfdQ/TaIiS2ZhJmObl9d3m9y/Qvmd4kNmT4xD/2FgJ
 | 
			
		||||
lvMj0eo5khdhekDt/FNCMjqcjnqNNwY7YSWv+V2IlGi+3om4h9n/hFBvu2rkA9pa
 | 
			
		||||
6y7QYCz39lM9Sb+uWNcd2/zy8lD/eB5eoUXJsYc0z/UfLe+/0o25Ba4TDzE6ZPOT
 | 
			
		||||
pc6UoQjsDyI0slnrwWgvDQQkJ99/NeZw9aHK8GlIdOjTKzPTri/Q/d7ZO+1WlawA
 | 
			
		||||
Tt5zi/6tJE8WehVfK6flpZpzbTVBH0Dbqx/z+ddQG2GudPYA/QPGBIiPsclROy4P
 | 
			
		||||
A4wYCv50l3gT7hyfFvhRKIm0LEF1dG9ub21pYyBDb8O2cGVyYXRpdmUgPGhlbG9A
 | 
			
		||||
YXV0b25vbWljLnpvbmU+iQJUBBMBCAA+FiEEgvyHxRpxkC/cECz1T5DVW7JLEUcF
 | 
			
		||||
Alzp2D4CGyMFCQtW2zUFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQT5DVW7JL
 | 
			
		||||
EUdPbA/+MnnGkOXo7iHJMPnHklJrYodnuTB2AqDTHM6M5/ugR5GxDrJIoVbNKHDN
 | 
			
		||||
x+EFNIl5+2ddUMTVmU8UFncA73oBgtf7bOqKSnC/4+9+F+pxrgiU894WRxCQSAif
 | 
			
		||||
TZpcEMm4woef1A3a8OzHGLBr3q+n8PfDr/YSHbV7HuQBtlEbh4OncXiS70Yrcg49
 | 
			
		||||
GU5tswODn53F3Z+ff+GzAcb1112gnu/+pwIF1N9VqmLVeE3z/6jDRzYiBT7xWLqI
 | 
			
		||||
vGeVuDryxObZcSPWmeALnwlJUAXuSLVDhVsDZc+odNRAIQFGT9s2KarIrfQ5CIw2
 | 
			
		||||
Yml28jTrirtYKrFmbY16iZLj7S6elPUctnCTu3rmVHhZfEQg8okxVOr4Y0n9d81K
 | 
			
		||||
wk44WsoDOXw42TcW+4/kOc15Uts+jCNVrj5l1PUqNW717J2RtjJf/kzV8HLdEO/W
 | 
			
		||||
IQkU/8JzYNbNs5HnCEGxwWj2lKZ/fsCHTYDplAzpQxMYT4lYCS1fTrXlAWXam4lb
 | 
			
		||||
kaSkq/4/TsEGg4dYrx+39JhpbDnv0edsxf0NFANuvkeUIsRpWAJa6czz1Cztltnk
 | 
			
		||||
fA66yPnOHWKky33LmIZUyzVU03sXNlBT+wEMsz6PECw7wVAu9KXqEryg7nrwyyVi
 | 
			
		||||
ZTHlNRn6jNe+qZ+oT1gRAkUbKTI2M3J2DjV1y3o0JhtwJezC6fC0LUF1dG9ub21p
 | 
			
		||||
YyBDb8O2cGVyYXRpdmUgPGhlbGxvQGF1dG9ub21pYy56b25lPokCVAQTAQgAPhYh
 | 
			
		||||
BIL8h8UacZAv3BAs9U+Q1VuySxFHBQJc6dhRAhsjBQkLVts1BQsJCAcCBhUKCQgL
 | 
			
		||||
AgQWAgMBAh4BAheAAAoJEE+Q1VuySxFH2pMQAIewubYq1RMvjaprSH6U+EmQgT8i
 | 
			
		||||
QoT4RwuChDy4noxjtKHKN4OI7cicdoqc0TN1cLBmncAMRbsUtPt0JdYuMVUbv2yo
 | 
			
		||||
hDJd9VJQ+KrYRV1HNb9D2tq/wPelEdjskKrQSlK6fA9a1iUOKLwAOI8vX8rkN7q7
 | 
			
		||||
x/wH0PTfsUxVwxr0APmHX1l9U2+unSfkSWXqovrmwB+zD1n656e8FSA+yN4lJSyf
 | 
			
		||||
fCIlWXSdkBLadRltIRP/C26anhI/gM+xOXSXXlouQcXgqdacmfgeITfVlhbSjYp6
 | 
			
		||||
P3cRhVyql6LJ8OauiUjM/8/lnUGqcqeFnHNNp9rZY8A0zApcsWZ4MUq8wMkrwpfK
 | 
			
		||||
CHvzK7DRLIk/Ct3/t9CV9WTcL5CUp/W3Y40zqNPWEyC0wRA2wNYVOZ/HNXsvWBLQ
 | 
			
		||||
3bfioLCs/fSuWHaSXZemcRt8eAfFLiZ/iiKl0wC9sF2HfTW1sk2153nbJ9NZ/cFA
 | 
			
		||||
7srW39I7yNI34rT2UyDVHV+0qh0ti5XfWz6j5WGPCRE30SvHE5TlULfsUStCZ387
 | 
			
		||||
rIjehQYQg8GkR04KkZkLVmnFvGK/kR4/Bfmf7OgzDaHEBDGh1Rk2HxaIPGH3RZ7z
 | 
			
		||||
e+BNc99oYZg9SunGoRiM+JPbBlm9IDw/jH8G8SvdT7sQaTKJiC4zdQFb4asNOaJ7
 | 
			
		||||
6z3JWYuWVQu+L7jkuQINBFmx44QBEAC0RQpkmVcY9Peu9v6Fg2taOnVCVhB6N/mY
 | 
			
		||||
q7olMp0SZY2rU5YkbAM5kUoF1OEcfRwQe3Z2f2vk9JAWZtf4aH5xUJy2UehanLnU
 | 
			
		||||
LgqsMTd5qhCQf5fbByleYbf7KjuNm9vSzqZ3wqBwXYWxW4WZ+Q1ZJysFn2CVN4If
 | 
			
		||||
34mwFl8n0QtWfBNfrGFOLlQnTyckNAqy7sO6wSXPVgDHnYAVe+ZEK/Rf9cJGY725
 | 
			
		||||
j7xHKQAKZL7DHfGV3SiGvdgoKXaJMPr0Q3eGZvN/Tpri0NAMzwfwjgzlcbFd8Mnw
 | 
			
		||||
9hKfhK5NH6DQvi1dxTuWG+JupULUVkuQ6bZ/yjsm1olkfp90NVbjh5UHjVhpgJ28
 | 
			
		||||
cnUZK6V8UW8sYK1THE7qziGsGL+Zfzr0IML8tZu5dTRvVDs7KEyG5h/xDV9507dA
 | 
			
		||||
0+Y+JEPFh4NyoEEOZQe5ilHbolNql3CQxjB7qSIi+q59Du9znQFH3Ya2lwIq0LCA
 | 
			
		||||
9KIGeVJ/ohILCMzM0nP0EeNuiVZ0TK0BngPvoG7DuGDkklftj9VnHLjIRH4PcxUP
 | 
			
		||||
Sh60/3SEQJ0pI+eqiAjN8NGYtRfL/IDWSjY0LFubXnlhtUkjWSil+JFKXnVLk0DA
 | 
			
		||||
28MxhOJMekpPa0tNTCxY6eQlWswQn3ETZd25JPCFAITzJbQfUbpRl24wvsbbhh5A
 | 
			
		||||
tcKKZ1kCRQARAQABiQI8BBgBCAAmAhsMFiEEgvyHxRpxkC/cECz1T5DVW7JLEUcF
 | 
			
		||||
Aln9wZgFCQItEZQACgkQT5DVW7JLEUfqWw//Z86vEQ66bPsv/yh+iIr07FxhrsXZ
 | 
			
		||||
zuRBpdqURFOGDfcz6mfs0KrHvln4vgTqrIOJt2W5tJfZKH5XjLT0q21ZkJhUsjvy
 | 
			
		||||
WS9SSvQocsecYsvJdR5EemqyDwJOkj+0SWt2D/uBFwy6ZPwecFh6UW5WvClrRjb1
 | 
			
		||||
BFKOrpqBp7HtarxH3qWBzvBFtNI0QvI6QxKOqzBlE58Ihr2e/ewC74CysfOefC6E
 | 
			
		||||
//UfNB76VcawU/gE76Xusxx+Bd/XebGLK1AaC4xpBPgQpDWpQTjJcoInadFHxJgq
 | 
			
		||||
ixTqmh83yQFAPomNdorLi7yMbWMjohl+cVcXemHXoaSMREg2FaJ/Z5mjJ5GbvOhd
 | 
			
		||||
ScYG6emEhnFqoS2zTUMA79ajn8IZQ47LtRSvnDuZliCEdjCPWfAeimTR27X3v4Ts
 | 
			
		||||
g8soHDUh5ctD/vNDbgRFeVMH9nV5RPHxJKaxVrNNX2u7Nt68Unw1Qs+6e1zCHUjj
 | 
			
		||||
kjzXbDfU4aE1/yiO/WaeoIhS9jzZe4ADRrQZk3qLCM/HhUPsD4LZTdOLRP8XYN+x
 | 
			
		||||
70+7LO1fkD+QytMnpy3szmSCDyuqjkh2KB7JrqH/pEOrSZYVKiusQoKR4WVrsisW
 | 
			
		||||
2k1roTsSMiHDvLQ6tUG0lXG4dgkbNoP3Bwz9aR8hk6R1Vd3vpJPFvqk3EtpGKkaJ
 | 
			
		||||
KDrIwzOXOcXBllWJAjwEGAEIACYCGwwWIQSC/IfFGnGQL9wQLPVPkNVbsksRRwUC
 | 
			
		||||
W6K9PQUJC1bbOQAKCRBPkNVbsksRR+IsEACAYYovlNtt8Av0bDaljvb9E9ZC3nYj
 | 
			
		||||
cEZzocknCuDv+ZVlHryTM0XwtQTaFnC7vrtHRi1yjhgQAhZcR4Ukc1Q4jfbW9eOG
 | 
			
		||||
FIRLx9U9jZUgY4Mk6R7+zAw5dpSDOtEoXryXnuKYhbqdvTNrNBiBCXST7RghyWzg
 | 
			
		||||
BwFXq2LO38nvlrOKlkiJwoyDKfo9peVWBoaIGEYc3LFMVeQf/CYZa9Rsmziewjkn
 | 
			
		||||
fmUbYSajrvwxLDvLjUXF7ddzBLR7R3WMS5aIL8bbEjauwLzYWFBXROaToCHzvMlr
 | 
			
		||||
SpUmEvpzUNofyp2lKLYUH2XWiYTiN/3h6bkLlpFwNgDjiZ9FsajIfNaF33Yvhd5o
 | 
			
		||||
NDcPxgNphhsqh4DiZ24ZV1M3vb+Prfgvy0tV4yEaVN9iXVsmrl/e/CVxgqW4qRoK
 | 
			
		||||
HOroRp2ssNoCL6Jt2jhinsoTdaFPVLhTRlG9sBf59gOcglkcH9RyVI+UNF0WdtNa
 | 
			
		||||
ciqCCBmat2lRide/yWAVRM7r/4ENVYDnYpGlbcrORM0FzY0b4qNhlVhQ+gITJ8zS
 | 
			
		||||
KfX2KynIZziOG4TboGB5cR6QF7nGDEOSiNz8jGnBnxvFyb6z4XTpJsT/e4lcm0J1
 | 
			
		||||
NNlVznU46EHg88s0aD4a47beMyZ1XoIO4DVYN9Qn2H771xVi6oZ0rJJ4c4FYxl/4
 | 
			
		||||
AhF2loFrCEnlZw==
 | 
			
		||||
=u0eg
 | 
			
		||||
-----END PGP PUBLIC KEY BLOCK-----
 | 
			
		||||
 | 
			
		||||
@ -104,7 +104,7 @@ body.is-loading {
 | 
			
		||||
.particle {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  user-select: none;
 | 
			
		||||
  background: _palette(accent3, bg);
 | 
			
		||||
  background: _palette(bg);
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(medium) {
 | 
			
		||||
    background: none;
 | 
			
		||||
 | 
			
		||||
@ -19,23 +19,10 @@ body {
 | 
			
		||||
body, input, select, textarea {
 | 
			
		||||
  color: _palette(fg);
 | 
			
		||||
  font-family: _font(family);
 | 
			
		||||
  font-size: 15pt;
 | 
			
		||||
  font-size: 18px;
 | 
			
		||||
  font-weight: _font(weight);
 | 
			
		||||
  letter-spacing: _size(letter-spacing);
 | 
			
		||||
  line-height: 1.65em;
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(xlarge) {
 | 
			
		||||
    font-size: 13pt;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(large) {
 | 
			
		||||
    font-size: 12pt;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    font-size: 11pt;
 | 
			
		||||
    letter-spacing: _size(letter-spacing) * 0.5;
 | 
			
		||||
  }
 | 
			
		||||
  line-height: 1.6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a {
 | 
			
		||||
 | 
			
		||||
@ -22,50 +22,26 @@
 | 
			
		||||
 | 
			
		||||
/* Icon */
 | 
			
		||||
 | 
			
		||||
.icon {
 | 
			
		||||
  @include icon;
 | 
			
		||||
  border-bottom: none;
 | 
			
		||||
  position: relative;
 | 
			
		||||
.icon--style1 { fill: _palette(bg); }
 | 
			
		||||
.icon--style2 { fill: _palette(accent2, bg); }
 | 
			
		||||
.icon--style3 { fill: _palette(accent3, bg); }
 | 
			
		||||
.icon--style4 { fill: _palette(accent4, bg); }
 | 
			
		||||
 | 
			
		||||
  > .label {
 | 
			
		||||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
.icon--diamond {
 | 
			
		||||
  transform: rotate(-45deg);
 | 
			
		||||
  border-radius: 3px;
 | 
			
		||||
  border: 2px solid #dfdfdf;
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  height: 5rem;
 | 
			
		||||
  width: 5rem;
 | 
			
		||||
 | 
			
		||||
  &.major {
 | 
			
		||||
    @include vendor('transform', 'rotate(-45deg)');
 | 
			
		||||
    border-radius: 3px;
 | 
			
		||||
    border: solid 2px _palette(border);
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    font-size: 1.35em;
 | 
			
		||||
    height: calc(3em + 2px);
 | 
			
		||||
    line-height: 3em;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    width: calc(3em + 2px);
 | 
			
		||||
 | 
			
		||||
    &:before {
 | 
			
		||||
      @include vendor('transform', 'rotate(45deg)');
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
      font-size: 1.5em;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @include breakpoint(small) {
 | 
			
		||||
      font-size: 1em;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.style1 {
 | 
			
		||||
    color: _palette(bg);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.style2 {
 | 
			
		||||
    color: _palette(accent2, bg);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.style3 {
 | 
			
		||||
    color: _palette(accent3, bg);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  &.style4 {
 | 
			
		||||
    color: _palette(accent4, bg);
 | 
			
		||||
  }
 | 
			
		||||
  display: inline-flex;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.icon--diamond svg {
 | 
			
		||||
  margin: 1rem;
 | 
			
		||||
  width: 2.25rem;
 | 
			
		||||
  transform: rotate(45deg);
 | 
			
		||||
}
 | 
			
		||||
@ -2,74 +2,74 @@
 | 
			
		||||
/* Features */
 | 
			
		||||
 | 
			
		||||
.features {
 | 
			
		||||
  @include vendor('display', 'flex');
 | 
			
		||||
  @include vendor('flex-wrap', 'wrap');
 | 
			
		||||
  @include vendor('justify-content', 'center');
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  flex-wrap: wrap;
 | 
			
		||||
 | 
			
		||||
  list-style: none;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  li {
 | 
			
		||||
    @include padding(4em, 4em, (0,0,0,2em));
 | 
			
		||||
    display: block;
 | 
			
		||||
    position: relative;
 | 
			
		||||
    text-align: left;
 | 
			
		||||
    width: 50%;
 | 
			
		||||
.features-icon {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  max-width: 2rem;
 | 
			
		||||
  margin-right: 2rem;
 | 
			
		||||
  fill: _palette(accent1, bg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    @for $i from 1 through _misc(max-features) {
 | 
			
		||||
      $j: 0.035 * $i;
 | 
			
		||||
.features-item {
 | 
			
		||||
  display: inline-flex;
 | 
			
		||||
  align-items: start;
 | 
			
		||||
 | 
			
		||||
      &:nth-child(#{$i}) {
 | 
			
		||||
        background-color: rgba(0,0,0, $j);
 | 
			
		||||
      }
 | 
			
		||||
  padding: 4rem 4rem 4rem 3rem;
 | 
			
		||||
  text-align: left;
 | 
			
		||||
  width: 50%;
 | 
			
		||||
 | 
			
		||||
  @for $i from 1 through _misc(max-features) {
 | 
			
		||||
    $j: 0.035 * $i;
 | 
			
		||||
 | 
			
		||||
    &:nth-child(#{$i}) {
 | 
			
		||||
      background-color: rgba(0,0,0, $j);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &:nth-child(1) {
 | 
			
		||||
    border-top-left-radius: 3px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &:nth-child(2) {
 | 
			
		||||
    border-top-right-radius: 3px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &:nth-last-child(1) {
 | 
			
		||||
    border-bottom-right-radius: 3px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &:nth-last-child(2) {
 | 
			
		||||
    border-bottom-left-radius: 3px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(medium) {
 | 
			
		||||
    @include padding(3em, 2em);
 | 
			
		||||
    text-align: center;
 | 
			
		||||
 | 
			
		||||
    &:before {
 | 
			
		||||
      display: block;
 | 
			
		||||
      color: _palette(accent1, bg);
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      left: 1.75em;
 | 
			
		||||
      top: 2.75em;
 | 
			
		||||
      font-size: 1.5em;
 | 
			
		||||
      left: 0;
 | 
			
		||||
      margin: 0 0 (_size(element-margin) * 0.5) 0;
 | 
			
		||||
      position: relative;
 | 
			
		||||
      top: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    &:nth-child(1) {
 | 
			
		||||
      border-top-left-radius: 3px;
 | 
			
		||||
    }
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    @include padding(3em, 0);
 | 
			
		||||
    background-color: transparent !important;
 | 
			
		||||
    border-top: solid 2px _palette(border);
 | 
			
		||||
    width: 100%;
 | 
			
		||||
 | 
			
		||||
    &:nth-child(2) {
 | 
			
		||||
      border-top-right-radius: 3px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    &:nth-last-child(1) {
 | 
			
		||||
      border-bottom-right-radius: 3px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    &:nth-last-child(2) {
 | 
			
		||||
      border-bottom-left-radius: 3px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @include breakpoint(medium) {
 | 
			
		||||
      @include padding(3em, 2em);
 | 
			
		||||
      text-align: center;
 | 
			
		||||
 | 
			
		||||
      &:before {
 | 
			
		||||
        left: 0;
 | 
			
		||||
        margin: 0 0 (_size(element-margin) * 0.5) 0;
 | 
			
		||||
        position: relative;
 | 
			
		||||
        top: 0;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @include breakpoint(small) {
 | 
			
		||||
      @include padding(3em, 0);
 | 
			
		||||
      background-color: transparent !important;
 | 
			
		||||
      border-top: solid 2px _palette(border);
 | 
			
		||||
      width: 100%;
 | 
			
		||||
 | 
			
		||||
      &:first-child {
 | 
			
		||||
        border-top: 0;
 | 
			
		||||
      }
 | 
			
		||||
    &:first-child {
 | 
			
		||||
      border-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1,105 +1,86 @@
 | 
			
		||||
 | 
			
		||||
/* Header */
 | 
			
		||||
 | 
			
		||||
#header {
 | 
			
		||||
  @include vendor('transition', 'background-color #{_duration(transitions)} ease');
 | 
			
		||||
  background: _palette(bg);
 | 
			
		||||
  height: 3em;
 | 
			
		||||
  left: 0;
 | 
			
		||||
  line-height: 3em;
 | 
			
		||||
.header {
 | 
			
		||||
  position: fixed;
 | 
			
		||||
  top: 0;
 | 
			
		||||
  left: 0;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
 | 
			
		||||
  @include vendor('transition', 'background-color #{_duration(transitions)} ease');
 | 
			
		||||
  background: _palette(bg);
 | 
			
		||||
  z-index: _misc(z-index-base);
 | 
			
		||||
 | 
			
		||||
  h1 {
 | 
			
		||||
    @include vendor('transition', 'opacity #{_duration(transitions)} ease');
 | 
			
		||||
    height: inherit;
 | 
			
		||||
    left: 1.25em;
 | 
			
		||||
  height: 3em;
 | 
			
		||||
  line-height: 3em;
 | 
			
		||||
 | 
			
		||||
  padding-left: 1.5rem;
 | 
			
		||||
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: space-between;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    position: initial;
 | 
			
		||||
    height: auto;
 | 
			
		||||
    line-height: inherit;
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    top: 0;
 | 
			
		||||
 | 
			
		||||
    a {
 | 
			
		||||
      border: 0;
 | 
			
		||||
      display: block;
 | 
			
		||||
      height: inherit;
 | 
			
		||||
      line-height: inherit;
 | 
			
		||||
 | 
			
		||||
      @include breakpoint(small) {
 | 
			
		||||
        font-size: 0.8em;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  nav {
 | 
			
		||||
    height: inherit;
 | 
			
		||||
    line-height: inherit;
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    right: 0;
 | 
			
		||||
    top: 0;
 | 
			
		||||
 | 
			
		||||
    > ul {
 | 
			
		||||
      list-style: none;
 | 
			
		||||
      margin: 0;
 | 
			
		||||
      padding: 0;
 | 
			
		||||
      white-space: nowrap;
 | 
			
		||||
 | 
			
		||||
      > li {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        padding: 0;
 | 
			
		||||
 | 
			
		||||
        > a {
 | 
			
		||||
          border: 0;
 | 
			
		||||
          color: _palette(fg-bold);
 | 
			
		||||
          display: block;
 | 
			
		||||
          font-size: 0.8em;
 | 
			
		||||
          letter-spacing: _size(letter-spacing-alt);
 | 
			
		||||
          padding: 0 1.5em;
 | 
			
		||||
          text-transform: uppercase;
 | 
			
		||||
 | 
			
		||||
          &.menuToggle {
 | 
			
		||||
            outline: 0;
 | 
			
		||||
            position: relative;
 | 
			
		||||
 | 
			
		||||
            &:after {
 | 
			
		||||
              background-image: url('images/bars.svg');
 | 
			
		||||
              background-position: right center;
 | 
			
		||||
              background-repeat: no-repeat;
 | 
			
		||||
              content: '';
 | 
			
		||||
              display: inline-block;
 | 
			
		||||
              height: 3.75em;
 | 
			
		||||
              vertical-align: top;
 | 
			
		||||
              width: 2em;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            @include breakpoint(small) {
 | 
			
		||||
              padding: 0 1.5em;
 | 
			
		||||
 | 
			
		||||
              span {
 | 
			
		||||
                display: none;
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          @include breakpoint(small) {
 | 
			
		||||
            padding: 0 0 0 1.5em;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        &:first-child {
 | 
			
		||||
          margin-left: 0;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.alt {
 | 
			
		||||
    background: transparent;
 | 
			
		||||
 | 
			
		||||
    h1 {
 | 
			
		||||
      @include vendor('pointer-events', 'none');
 | 
			
		||||
      opacity: 0;
 | 
			
		||||
    }
 | 
			
		||||
    display: block;
 | 
			
		||||
    margin: 0 auto;
 | 
			
		||||
    text-align: center
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.header.alt {
 | 
			
		||||
  background: transparent;
 | 
			
		||||
 | 
			
		||||
  h1 {
 | 
			
		||||
    @include vendor('pointer-events', 'none');
 | 
			
		||||
    opacity: 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.header-home {
 | 
			
		||||
  @include vendor('transition', 'opacity #{_duration(transitions)} ease');
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
 | 
			
		||||
  a {
 | 
			
		||||
    border: 0;
 | 
			
		||||
    display: block;
 | 
			
		||||
    height: inherit;
 | 
			
		||||
    line-height: inherit;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    padding: 1rem 0;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.header-nav {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  list-style: none;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
 | 
			
		||||
  li { padding: 0; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    justify-content: space-around;
 | 
			
		||||
    padding-bottom: 0.5rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.header-link {
 | 
			
		||||
  border: 0;
 | 
			
		||||
  color: _palette(fg-bold);
 | 
			
		||||
  font-size: 0.8em;
 | 
			
		||||
  letter-spacing: _size(letter-spacing-alt);
 | 
			
		||||
  padding: 0 1.5rem;
 | 
			
		||||
  text-transform: uppercase;
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    padding: 0 0.75rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										73
									
								
								src/assets/styles/components/_highlighting.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,73 @@
 | 
			
		||||
pre.highlight {
 | 
			
		||||
    color: #93A1A1;
 | 
			
		||||
    background-color: #002B36;
 | 
			
		||||
 | 
			
		||||
    .c { color: #586E75 } /* Comment */
 | 
			
		||||
    .err { color: #93A1A1 } /* Error */
 | 
			
		||||
    .g { color: #93A1A1 } /* Generic */
 | 
			
		||||
    .k { color: #859900 } /* Keyword */
 | 
			
		||||
    .l { color: #93A1A1 } /* Literal */
 | 
			
		||||
    .n { color: #93A1A1 } /* Name */
 | 
			
		||||
    .o { color: #859900 } /* Operator */
 | 
			
		||||
    .x { color: #CB4B16 } /* Other */
 | 
			
		||||
    .p { color: #93A1A1 } /* Punctuation */
 | 
			
		||||
    .cm { color: #586E75 } /* Comment.Multiline */
 | 
			
		||||
    .cp { color: #859900 } /* Comment.Preproc */
 | 
			
		||||
    .c1 { color: #586E75 } /* Comment.Single */
 | 
			
		||||
    .cs { color: #859900 } /* Comment.Special */
 | 
			
		||||
    .gd { color: #2AA198 } /* Generic.Deleted */
 | 
			
		||||
    .ge { color: #93A1A1; font-style: italic } /* Generic.Emph */
 | 
			
		||||
    .gr { color: #DC322F } /* Generic.Error */
 | 
			
		||||
    .gh { color: #CB4B16 } /* Generic.Heading */
 | 
			
		||||
    .gi { color: #859900 } /* Generic.Inserted */
 | 
			
		||||
    .go { color: #93A1A1 } /* Generic.Output */
 | 
			
		||||
    .gp { color: #93A1A1 } /* Generic.Prompt */
 | 
			
		||||
    .gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */
 | 
			
		||||
    .gu { color: #CB4B16 } /* Generic.Subheading */
 | 
			
		||||
    .gt { color: #93A1A1 } /* Generic.Traceback */
 | 
			
		||||
    .kc { color: #CB4B16 } /* Keyword.Constant */
 | 
			
		||||
    .kd { color: #268BD2 } /* Keyword.Declaration */
 | 
			
		||||
    .kn { color: #859900 } /* Keyword.Namespace */
 | 
			
		||||
    .kp { color: #859900 } /* Keyword.Pseudo */
 | 
			
		||||
    .kr { color: #268BD2 } /* Keyword.Reserved */
 | 
			
		||||
    .kt { color: #DC322F } /* Keyword.Type */
 | 
			
		||||
    .ld { color: #93A1A1 } /* Literal.Date */
 | 
			
		||||
    .m { color: #2AA198 } /* Literal.Number */
 | 
			
		||||
    .s { color: #2AA198 } /* Literal.String */
 | 
			
		||||
    .na { color: #93A1A1 } /* Name.Attribute */
 | 
			
		||||
    .nb { color: #B58900 } /* Name.Builtin */
 | 
			
		||||
    .nc { color: #268BD2 } /* Name.Class */
 | 
			
		||||
    .no { color: #CB4B16 } /* Name.Constant */
 | 
			
		||||
    .nd { color: #268BD2 } /* Name.Decorator */
 | 
			
		||||
    .ni { color: #CB4B16 } /* Name.Entity */
 | 
			
		||||
    .ne { color: #CB4B16 } /* Name.Exception */
 | 
			
		||||
    .nf { color: #268BD2 } /* Name.Function */
 | 
			
		||||
    .nl { color: #93A1A1 } /* Name.Label */
 | 
			
		||||
    .nn { color: #93A1A1 } /* Name.Namespace */
 | 
			
		||||
    .nx { color: #93A1A1 } /* Name.Other */
 | 
			
		||||
    .py { color: #93A1A1 } /* Name.Property */
 | 
			
		||||
    .nt { color: #268BD2 } /* Name.Tag */
 | 
			
		||||
    .nv { color: #268BD2 } /* Name.Variable */
 | 
			
		||||
    .ow { color: #859900 } /* Operator.Word */
 | 
			
		||||
    .w { color: #93A1A1 } /* Text.Whitespace */
 | 
			
		||||
    .mf { color: #2AA198 } /* Literal.Number.Float */
 | 
			
		||||
    .mh { color: #2AA198 } /* Literal.Number.Hex */
 | 
			
		||||
    .mi { color: #2AA198 } /* Literal.Number.Integer */
 | 
			
		||||
    .mo { color: #2AA198 } /* Literal.Number.Oct */
 | 
			
		||||
    .sb { color: #586E75 } /* Literal.String.Backtick */
 | 
			
		||||
    .sc { color: #2AA198 } /* Literal.String.Char */
 | 
			
		||||
    .sd { color: #93A1A1 } /* Literal.String.Doc */
 | 
			
		||||
    .s2 { color: #2AA198 } /* Literal.String.Double */
 | 
			
		||||
    .se { color: #CB4B16 } /* Literal.String.Escape */
 | 
			
		||||
    .sh { color: #93A1A1 } /* Literal.String.Heredoc */
 | 
			
		||||
    .si { color: #2AA198 } /* Literal.String.Interpol */
 | 
			
		||||
    .sx { color: #2AA198 } /* Literal.String.Other */
 | 
			
		||||
    .sr { color: #DC322F } /* Literal.String.Regex */
 | 
			
		||||
    .s1 { color: #2AA198 } /* Literal.String.Single */
 | 
			
		||||
    .ss { color: #2AA198 } /* Literal.String.Symbol */
 | 
			
		||||
    .bp { color: #268BD2 } /* Name.Builtin.Pseudo */
 | 
			
		||||
    .vc { color: #268BD2 } /* Name.Variable.Class */
 | 
			
		||||
    .vg { color: #268BD2 } /* Name.Variable.Global */
 | 
			
		||||
    .vi { color: #268BD2 } /* Name.Variable.Instance */
 | 
			
		||||
    .il { color: #2AA198 } /* Literal.Number.Integer.Long */
 | 
			
		||||
}
 | 
			
		||||
@ -20,85 +20,3 @@
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#menu {
 | 
			
		||||
  display:none;
 | 
			
		||||
  @include vendor('transform', 'translateX(20em)');
 | 
			
		||||
  @include vendor('transition', 'transform #{_duration(menu)} ease');
 | 
			
		||||
  -webkit-overflow-scrolling: touch;
 | 
			
		||||
  background: _palette(accent1, bg);
 | 
			
		||||
  color: _palette(accent1, fg-bold);
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  max-width: 80%;
 | 
			
		||||
  overflow-y: auto;
 | 
			
		||||
  padding: 3em 2em;
 | 
			
		||||
  position: fixed;
 | 
			
		||||
  right: 0;
 | 
			
		||||
  top: 0;
 | 
			
		||||
  width: 20em;
 | 
			
		||||
  z-index: _misc(z-index-base) + 2;
 | 
			
		||||
 | 
			
		||||
  ul {
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
 | 
			
		||||
    > li {
 | 
			
		||||
      border-top: solid 1px _palette(accent1, border);
 | 
			
		||||
      margin: 0.5em 0 0 0;
 | 
			
		||||
      padding: 0.5em 0 0 0;
 | 
			
		||||
 | 
			
		||||
      &:first-child {
 | 
			
		||||
        border-top: 0 !important;
 | 
			
		||||
        margin-top: 0 !important;
 | 
			
		||||
        padding-top: 0 !important;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      > a {
 | 
			
		||||
        border: 0;
 | 
			
		||||
        color: black;
 | 
			
		||||
        display: block;
 | 
			
		||||
        font-size: 0.8em;
 | 
			
		||||
        letter-spacing: _size(letter-spacing-alt);
 | 
			
		||||
        outline: 0;
 | 
			
		||||
        text-decoration: none;
 | 
			
		||||
        text-transform: uppercase;
 | 
			
		||||
 | 
			
		||||
        @include breakpoint(small) {
 | 
			
		||||
          line-height: 3em;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .close {
 | 
			
		||||
    background-image: url('images/close.svg');
 | 
			
		||||
    background-position: 4.85em 1em;
 | 
			
		||||
    background-repeat: no-repeat;
 | 
			
		||||
    border: 0;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    display: block;
 | 
			
		||||
    height: 3em;
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    right: 0;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
    width: 7em;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    padding: 3em 1.5em;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body.is-menu-visible {
 | 
			
		||||
  #page-wrapper {
 | 
			
		||||
    opacity: 0.35;
 | 
			
		||||
 | 
			
		||||
    &:before {
 | 
			
		||||
      display: block;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  #menu {
 | 
			
		||||
    @include vendor('transform', 'translateX(0)');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -206,6 +206,10 @@
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  > .inner--text {
 | 
			
		||||
    max-width: 45rem;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.alt {
 | 
			
		||||
    padding: 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -1,117 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
---
 | 
			
		||||
@import 'libs/vars';
 | 
			
		||||
@import 'libs/functions';
 | 
			
		||||
@import 'libs/mixins';
 | 
			
		||||
@import 'libs/skel';
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
  Spectral by HTML5 UP
 | 
			
		||||
  html5up.net | @ajlkn
 | 
			
		||||
  Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/* Icon */
 | 
			
		||||
 | 
			
		||||
  .icon {
 | 
			
		||||
    &.major {
 | 
			
		||||
      border: none;
 | 
			
		||||
 | 
			
		||||
      &:before {
 | 
			
		||||
        font-size: 3em;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Form */
 | 
			
		||||
 | 
			
		||||
  label {
 | 
			
		||||
    color: _palette(accent2, fg-bold);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  input[type="text"],
 | 
			
		||||
  input[type="password"],
 | 
			
		||||
  input[type="email"],
 | 
			
		||||
  select,
 | 
			
		||||
  textarea {
 | 
			
		||||
    border: solid 1px _palette(accent2, border);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Button */
 | 
			
		||||
 | 
			
		||||
  input[type="submit"],
 | 
			
		||||
  input[type="reset"],
 | 
			
		||||
  input[type="button"],
 | 
			
		||||
  button,
 | 
			
		||||
  .button {
 | 
			
		||||
    border: solid 2px _palette(accent2, border);
 | 
			
		||||
 | 
			
		||||
    &.special {
 | 
			
		||||
      border: 0 !important;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Page Wrapper + Menu */
 | 
			
		||||
 | 
			
		||||
  #menu {
 | 
			
		||||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  body.is-menu-visible {
 | 
			
		||||
    #menu {
 | 
			
		||||
      display: block;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Header */
 | 
			
		||||
 | 
			
		||||
  #header {
 | 
			
		||||
    nav {
 | 
			
		||||
      > ul {
 | 
			
		||||
        > li {
 | 
			
		||||
          > a {
 | 
			
		||||
            &.menuToggle {
 | 
			
		||||
              &:after {
 | 
			
		||||
                display: none;
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Banner + Wrapper (style4) */
 | 
			
		||||
 | 
			
		||||
  #banner,
 | 
			
		||||
  .wrapper.style4 {
 | 
			
		||||
    -ms-behavior: url('assets/js/ie/backgroundsize.min.htc');
 | 
			
		||||
 | 
			
		||||
    &:before {
 | 
			
		||||
      display: none;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Banner */
 | 
			
		||||
 | 
			
		||||
  #banner {
 | 
			
		||||
    .more {
 | 
			
		||||
      height: 4em;
 | 
			
		||||
 | 
			
		||||
      &:after {
 | 
			
		||||
        display: none;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Main */
 | 
			
		||||
 | 
			
		||||
  #main {
 | 
			
		||||
    > header {
 | 
			
		||||
      -ms-behavior: url('assets/js/ie/backgroundsize.min.htc');
 | 
			
		||||
 | 
			
		||||
      &:before {
 | 
			
		||||
        display: none;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@ -1,136 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
---
 | 
			
		||||
@import 'libs/vars';
 | 
			
		||||
@import 'libs/functions';
 | 
			
		||||
@import 'libs/mixins';
 | 
			
		||||
@import 'libs/skel';
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
  Spectral by HTML5 UP
 | 
			
		||||
  html5up.net | @ajlkn
 | 
			
		||||
  Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/* Spotlight */
 | 
			
		||||
 | 
			
		||||
  .spotlight {
 | 
			
		||||
    display: block;
 | 
			
		||||
 | 
			
		||||
    .image {
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
      vertical-align: top;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .content {
 | 
			
		||||
      @include padding(4em, 4em);
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    &:after {
 | 
			
		||||
      clear: both;
 | 
			
		||||
      content: '';
 | 
			
		||||
      display: block;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Features */
 | 
			
		||||
 | 
			
		||||
  .features {
 | 
			
		||||
    display: block;
 | 
			
		||||
 | 
			
		||||
    li {
 | 
			
		||||
      float: left;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    &:after {
 | 
			
		||||
      content: '';
 | 
			
		||||
      display: block;
 | 
			
		||||
      clear: both;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Banner + Wrapper (style4) */
 | 
			
		||||
 | 
			
		||||
  #banner,
 | 
			
		||||
  .wrapper.style4 {
 | 
			
		||||
    background-image: url("../../assets/images/banner.jpg");
 | 
			
		||||
    background-position: center center;
 | 
			
		||||
    background-repeat: no-repeat;
 | 
			
		||||
    background-size: cover;
 | 
			
		||||
    position: relative;
 | 
			
		||||
 | 
			
		||||
    &:before {
 | 
			
		||||
      background: #000000;
 | 
			
		||||
      content: '';
 | 
			
		||||
      height: 100%;
 | 
			
		||||
      left: 0;
 | 
			
		||||
      opacity: 0.5;
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      top: 0;
 | 
			
		||||
      width: 100%;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .inner {
 | 
			
		||||
      position: relative;
 | 
			
		||||
      z-index: 1;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Banner */
 | 
			
		||||
 | 
			
		||||
  #banner {
 | 
			
		||||
    @include padding(14em, 0);
 | 
			
		||||
    height: auto;
 | 
			
		||||
 | 
			
		||||
    &:after {
 | 
			
		||||
      display: none;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* CTA */
 | 
			
		||||
 | 
			
		||||
  #cta {
 | 
			
		||||
    .inner {
 | 
			
		||||
      header {
 | 
			
		||||
        float: left;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      .actions {
 | 
			
		||||
        float: left;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      &:after {
 | 
			
		||||
        clear: both;
 | 
			
		||||
        content: '';
 | 
			
		||||
        display: block;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
/* Main */
 | 
			
		||||
 | 
			
		||||
  #main {
 | 
			
		||||
    > header {
 | 
			
		||||
      background-image: url("../../assets/images/banner.jpg");
 | 
			
		||||
      background-position: center center;
 | 
			
		||||
      background-repeat: no-repeat;
 | 
			
		||||
      background-size: cover;
 | 
			
		||||
      position: relative;
 | 
			
		||||
 | 
			
		||||
      &:before {
 | 
			
		||||
        background: #000000;
 | 
			
		||||
        content: '';
 | 
			
		||||
        height: 100%;
 | 
			
		||||
        left: 0;
 | 
			
		||||
        opacity: 0.5;
 | 
			
		||||
        position: absolute;
 | 
			
		||||
        top: 0;
 | 
			
		||||
        width: 100%;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      > * {
 | 
			
		||||
        position: relative;
 | 
			
		||||
        z-index: 1;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										13
									
								
								src/assets/styles/libs/_drac.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,13 @@
 | 
			
		||||
$background: #282a36;
 | 
			
		||||
$current-line: #44475a;
 | 
			
		||||
$selection: #44475a;
 | 
			
		||||
$foreground: #f8f8f2;
 | 
			
		||||
$dark-foreground: mix($foreground, #000, 90%);
 | 
			
		||||
$comment: #6272a4;
 | 
			
		||||
$cyan: #8be9fd;
 | 
			
		||||
$green: #50fa7b;
 | 
			
		||||
$orange: #ffb86c;
 | 
			
		||||
$pink: #ff79c6;
 | 
			
		||||
$purple: #bd93f9;
 | 
			
		||||
$red: #ff5555;	
 | 
			
		||||
$yellow: #f1fa8c;
 | 
			
		||||
@ -1,34 +0,0 @@
 | 
			
		||||
// Spinning Icons
 | 
			
		||||
// --------------------------
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-spin {
 | 
			
		||||
  -webkit-animation: fa-spin 2s infinite linear;
 | 
			
		||||
          animation: fa-spin 2s infinite linear;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-pulse {
 | 
			
		||||
  -webkit-animation: fa-spin 1s infinite steps(8);
 | 
			
		||||
          animation: fa-spin 1s infinite steps(8);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@-webkit-keyframes fa-spin {
 | 
			
		||||
  0% {
 | 
			
		||||
    -webkit-transform: rotate(0deg);
 | 
			
		||||
            transform: rotate(0deg);
 | 
			
		||||
  }
 | 
			
		||||
  100% {
 | 
			
		||||
    -webkit-transform: rotate(359deg);
 | 
			
		||||
            transform: rotate(359deg);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes fa-spin {
 | 
			
		||||
  0% {
 | 
			
		||||
    -webkit-transform: rotate(0deg);
 | 
			
		||||
            transform: rotate(0deg);
 | 
			
		||||
  }
 | 
			
		||||
  100% {
 | 
			
		||||
    -webkit-transform: rotate(359deg);
 | 
			
		||||
            transform: rotate(359deg);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1,25 +0,0 @@
 | 
			
		||||
// Bordered & Pulled
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-border {
 | 
			
		||||
  padding: .2em .25em .15em;
 | 
			
		||||
  border: solid .08em $fa-border-color;
 | 
			
		||||
  border-radius: .1em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-pull-left { float: left; }
 | 
			
		||||
.#{$fa-css-prefix}-pull-right { float: right; }
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix} {
 | 
			
		||||
  &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
 | 
			
		||||
  &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Deprecated as of 4.4.0 */
 | 
			
		||||
.pull-right { float: right; }
 | 
			
		||||
.pull-left { float: left; }
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix} {
 | 
			
		||||
  &.pull-left { margin-right: .3em; }
 | 
			
		||||
  &.pull-right { margin-left: .3em; }
 | 
			
		||||
}
 | 
			
		||||
@ -1,12 +0,0 @@
 | 
			
		||||
// Base Class Definition
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix} {
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
 | 
			
		||||
  font-size: inherit; // can't have font-size inherit on line above, so need to override
 | 
			
		||||
  text-rendering: auto; // optimizelegibility throws things off #1094
 | 
			
		||||
  -webkit-font-smoothing: antialiased;
 | 
			
		||||
  -moz-osx-font-smoothing: grayscale;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -1,6 +0,0 @@
 | 
			
		||||
// Fixed Width Icons
 | 
			
		||||
// -------------------------
 | 
			
		||||
.#{$fa-css-prefix}-fw {
 | 
			
		||||
  width: (18em / 14);
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
@ -1,13 +0,0 @@
 | 
			
		||||
// Icon Sizes
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
/* makes the font 33% larger relative to the icon container */
 | 
			
		||||
.#{$fa-css-prefix}-lg {
 | 
			
		||||
  font-size: (4em / 3);
 | 
			
		||||
  line-height: (3em / 4);
 | 
			
		||||
  vertical-align: -15%;
 | 
			
		||||
}
 | 
			
		||||
.#{$fa-css-prefix}-2x { font-size: 2em; }
 | 
			
		||||
.#{$fa-css-prefix}-3x { font-size: 3em; }
 | 
			
		||||
.#{$fa-css-prefix}-4x { font-size: 4em; }
 | 
			
		||||
.#{$fa-css-prefix}-5x { font-size: 5em; }
 | 
			
		||||
@ -1,19 +0,0 @@
 | 
			
		||||
// List Icons
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-ul {
 | 
			
		||||
  padding-left: 0;
 | 
			
		||||
  margin-left: $fa-li-width;
 | 
			
		||||
  list-style-type: none;
 | 
			
		||||
  > li { position: relative; }
 | 
			
		||||
}
 | 
			
		||||
.#{$fa-css-prefix}-li {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  left: -$fa-li-width;
 | 
			
		||||
  width: $fa-li-width;
 | 
			
		||||
  top: (2em / 14);
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  &.#{$fa-css-prefix}-lg {
 | 
			
		||||
    left: -$fa-li-width + (4em / 14);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1,60 +0,0 @@
 | 
			
		||||
// Mixins
 | 
			
		||||
// --------------------------
 | 
			
		||||
 | 
			
		||||
@mixin fa-icon() {
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
 | 
			
		||||
  font-size: inherit; // can't have font-size inherit on line above, so need to override
 | 
			
		||||
  text-rendering: auto; // optimizelegibility throws things off #1094
 | 
			
		||||
  -webkit-font-smoothing: antialiased;
 | 
			
		||||
  -moz-osx-font-smoothing: grayscale;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@mixin fa-icon-rotate($degrees, $rotation) {
 | 
			
		||||
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
 | 
			
		||||
  -webkit-transform: rotate($degrees);
 | 
			
		||||
      -ms-transform: rotate($degrees);
 | 
			
		||||
          transform: rotate($degrees);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@mixin fa-icon-flip($horiz, $vert, $rotation) {
 | 
			
		||||
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
 | 
			
		||||
  -webkit-transform: scale($horiz, $vert);
 | 
			
		||||
      -ms-transform: scale($horiz, $vert);
 | 
			
		||||
          transform: scale($horiz, $vert);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Only display content to screen readers. A la Bootstrap 4.
 | 
			
		||||
//
 | 
			
		||||
// See: http://a11yproject.com/posts/how-to-hide-content/
 | 
			
		||||
 | 
			
		||||
@mixin sr-only {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  width: 1px;
 | 
			
		||||
  height: 1px;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
  margin: -1px;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  clip: rect(0,0,0,0);
 | 
			
		||||
  border: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Use in conjunction with .sr-only to only display content when it's focused.
 | 
			
		||||
//
 | 
			
		||||
// Useful for "Skip to main content" links; see http://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;
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    overflow: visible;
 | 
			
		||||
    clip: auto;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1,14 +0,0 @@
 | 
			
		||||
/* FONT PATH
 | 
			
		||||
 * -------------------------- */
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: 'FontAwesome';
 | 
			
		||||
  src: url('#{$fa-font-path}/font-awesome.eot?v=#{$fa-version}');
 | 
			
		||||
  src: url('#{$fa-font-path}/font-awesome.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
 | 
			
		||||
    url('#{$fa-font-path}/font-awesome.woff?v=#{$fa-version}') format('woff'),
 | 
			
		||||
    url('#{$fa-font-path}/font-awesome.ttf?v=#{$fa-version}') format('truetype'),
 | 
			
		||||
    url('#{$fa-font-path}/font-awesome.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
 | 
			
		||||
//  src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
  font-style: normal;
 | 
			
		||||
}
 | 
			
		||||
@ -1,20 +0,0 @@
 | 
			
		||||
// Rotated & Flipped Icons
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-rotate-90  { @include fa-icon-rotate(90deg, 1);  }
 | 
			
		||||
.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
 | 
			
		||||
.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
 | 
			
		||||
.#{$fa-css-prefix}-flip-vertical   { @include fa-icon-flip(1, -1, 2); }
 | 
			
		||||
 | 
			
		||||
// Hook for IE8-9
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
:root .#{$fa-css-prefix}-rotate-90,
 | 
			
		||||
:root .#{$fa-css-prefix}-rotate-180,
 | 
			
		||||
:root .#{$fa-css-prefix}-rotate-270,
 | 
			
		||||
:root .#{$fa-css-prefix}-flip-horizontal,
 | 
			
		||||
:root .#{$fa-css-prefix}-flip-vertical {
 | 
			
		||||
  filter: none;
 | 
			
		||||
}
 | 
			
		||||
@ -1,5 +0,0 @@
 | 
			
		||||
// Screen Readers
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
.sr-only { @include sr-only(); }
 | 
			
		||||
.sr-only-focusable { @include sr-only-focusable(); }
 | 
			
		||||
@ -1,20 +0,0 @@
 | 
			
		||||
// Stacked Icons
 | 
			
		||||
// -------------------------
 | 
			
		||||
 | 
			
		||||
.#{$fa-css-prefix}-stack {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  width: 2em;
 | 
			
		||||
  height: 2em;
 | 
			
		||||
  line-height: 2em;
 | 
			
		||||
  vertical-align: middle;
 | 
			
		||||
}
 | 
			
		||||
.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  left: 0;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
.#{$fa-css-prefix}-stack-1x { line-height: inherit; }
 | 
			
		||||
.#{$fa-css-prefix}-stack-2x { font-size: 2em; }
 | 
			
		||||
.#{$fa-css-prefix}-inverse { color: $fa-inverse; }
 | 
			
		||||
@ -1,801 +0,0 @@
 | 
			
		||||
// Variables
 | 
			
		||||
// --------------------------
 | 
			
		||||
 | 
			
		||||
$fa-font-path:        "../fonts" !default;
 | 
			
		||||
$fa-font-size-base:   14px !default;
 | 
			
		||||
$fa-line-height-base: 1 !default;
 | 
			
		||||
//$fa-font-path:        "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly
 | 
			
		||||
$fa-css-prefix:       fa !default;
 | 
			
		||||
$fa-version:          "4.7.0" !default;
 | 
			
		||||
$fa-border-color:     #eee !default;
 | 
			
		||||
$fa-inverse:          #fff !default;
 | 
			
		||||
$fa-li-width:         (30em / 14) !default;
 | 
			
		||||
 | 
			
		||||
$fa-var-cloud-o: "\e900";
 | 
			
		||||
$fa-var-rocket2: "\e905";
 | 
			
		||||
$fa-var-asterisk: "\f069";
 | 
			
		||||
$fa-var-plus: "\f067";
 | 
			
		||||
$fa-var-question: "\f128";
 | 
			
		||||
$fa-var-minus: "\f068";
 | 
			
		||||
$fa-var-glass: "\f000";
 | 
			
		||||
$fa-var-music: "\f001";
 | 
			
		||||
$fa-var-search: "\f002";
 | 
			
		||||
$fa-var-envelope-o: "\f003";
 | 
			
		||||
$fa-var-heart: "\f004";
 | 
			
		||||
$fa-var-star: "\f005";
 | 
			
		||||
$fa-var-star-o: "\f006";
 | 
			
		||||
$fa-var-user: "\f007";
 | 
			
		||||
$fa-var-film: "\f008";
 | 
			
		||||
$fa-var-th-large: "\f009";
 | 
			
		||||
$fa-var-th: "\f00a";
 | 
			
		||||
$fa-var-th-list: "\f00b";
 | 
			
		||||
$fa-var-check: "\f00c";
 | 
			
		||||
$fa-var-close: "\f00d";
 | 
			
		||||
$fa-var-remove: "\f00d";
 | 
			
		||||
$fa-var-times: "\f00d";
 | 
			
		||||
$fa-var-search-plus: "\f00e";
 | 
			
		||||
$fa-var-search-minus: "\f010";
 | 
			
		||||
$fa-var-power-off: "\f011";
 | 
			
		||||
$fa-var-signal: "\f012";
 | 
			
		||||
$fa-var-cog: "\f013";
 | 
			
		||||
$fa-var-gear: "\f013";
 | 
			
		||||
$fa-var-trash-o: "\f014";
 | 
			
		||||
$fa-var-home: "\f015";
 | 
			
		||||
$fa-var-file-o: "\f016";
 | 
			
		||||
$fa-var-clock-o: "\f017";
 | 
			
		||||
$fa-var-road: "\f018";
 | 
			
		||||
$fa-var-download: "\f019";
 | 
			
		||||
$fa-var-arrow-circle-o-down: "\f01a";
 | 
			
		||||
$fa-var-arrow-circle-o-up: "\f01b";
 | 
			
		||||
$fa-var-inbox: "\f01c";
 | 
			
		||||
$fa-var-play-circle-o: "\f01d";
 | 
			
		||||
$fa-var-repeat: "\f01e";
 | 
			
		||||
$fa-var-rotate-right: "\f01e";
 | 
			
		||||
$fa-var-refresh: "\f021";
 | 
			
		||||
$fa-var-list-alt: "\f022";
 | 
			
		||||
$fa-var-lock: "\f023";
 | 
			
		||||
$fa-var-flag: "\f024";
 | 
			
		||||
$fa-var-headphones: "\f025";
 | 
			
		||||
$fa-var-volume-off: "\f026";
 | 
			
		||||
$fa-var-volume-down: "\f027";
 | 
			
		||||
$fa-var-volume-up: "\f028";
 | 
			
		||||
$fa-var-qrcode: "\f029";
 | 
			
		||||
$fa-var-barcode: "\f02a";
 | 
			
		||||
$fa-var-tag: "\f02b";
 | 
			
		||||
$fa-var-tags: "\f02c";
 | 
			
		||||
$fa-var-book: "\f02d";
 | 
			
		||||
$fa-var-bookmark: "\f02e";
 | 
			
		||||
$fa-var-print: "\f02f";
 | 
			
		||||
$fa-var-camera: "\f030";
 | 
			
		||||
$fa-var-font: "\f031";
 | 
			
		||||
$fa-var-bold: "\f032";
 | 
			
		||||
$fa-var-italic: "\f033";
 | 
			
		||||
$fa-var-text-height: "\f034";
 | 
			
		||||
$fa-var-text-width: "\f035";
 | 
			
		||||
$fa-var-align-left: "\f036";
 | 
			
		||||
$fa-var-align-center: "\f037";
 | 
			
		||||
$fa-var-align-right: "\f038";
 | 
			
		||||
$fa-var-align-justify: "\f039";
 | 
			
		||||
$fa-var-list: "\f03a";
 | 
			
		||||
$fa-var-dedent: "\f03b";
 | 
			
		||||
$fa-var-outdent: "\f03b";
 | 
			
		||||
$fa-var-indent: "\f03c";
 | 
			
		||||
$fa-var-video-camera: "\f03d";
 | 
			
		||||
$fa-var-image: "\f03e";
 | 
			
		||||
$fa-var-photo: "\f03e";
 | 
			
		||||
$fa-var-picture-o: "\f03e";
 | 
			
		||||
$fa-var-pencil: "\f040";
 | 
			
		||||
$fa-var-map-marker: "\f041";
 | 
			
		||||
$fa-var-adjust: "\f042";
 | 
			
		||||
$fa-var-tint: "\f043";
 | 
			
		||||
$fa-var-edit: "\f044";
 | 
			
		||||
$fa-var-pencil-square-o: "\f044";
 | 
			
		||||
$fa-var-share-square-o: "\f045";
 | 
			
		||||
$fa-var-check-square-o: "\f046";
 | 
			
		||||
$fa-var-arrows: "\f047";
 | 
			
		||||
$fa-var-step-backward: "\f048";
 | 
			
		||||
$fa-var-fast-backward: "\f049";
 | 
			
		||||
$fa-var-backward: "\f04a";
 | 
			
		||||
$fa-var-play: "\f04b";
 | 
			
		||||
$fa-var-pause: "\f04c";
 | 
			
		||||
$fa-var-stop: "\f04d";
 | 
			
		||||
$fa-var-forward: "\f04e";
 | 
			
		||||
$fa-var-fast-forward: "\f050";
 | 
			
		||||
$fa-var-step-forward: "\f051";
 | 
			
		||||
$fa-var-eject: "\f052";
 | 
			
		||||
$fa-var-chevron-left: "\f053";
 | 
			
		||||
$fa-var-chevron-right: "\f054";
 | 
			
		||||
$fa-var-plus-circle: "\f055";
 | 
			
		||||
$fa-var-minus-circle: "\f056";
 | 
			
		||||
$fa-var-times-circle: "\f057";
 | 
			
		||||
$fa-var-check-circle: "\f058";
 | 
			
		||||
$fa-var-question-circle: "\f059";
 | 
			
		||||
$fa-var-info-circle: "\f05a";
 | 
			
		||||
$fa-var-crosshairs: "\f05b";
 | 
			
		||||
$fa-var-times-circle-o: "\f05c";
 | 
			
		||||
$fa-var-check-circle-o: "\f05d";
 | 
			
		||||
$fa-var-ban: "\f05e";
 | 
			
		||||
$fa-var-arrow-left: "\f060";
 | 
			
		||||
$fa-var-arrow-right: "\f061";
 | 
			
		||||
$fa-var-arrow-up: "\f062";
 | 
			
		||||
$fa-var-arrow-down: "\f063";
 | 
			
		||||
$fa-var-mail-forward: "\f064";
 | 
			
		||||
$fa-var-share: "\f064";
 | 
			
		||||
$fa-var-expand: "\f065";
 | 
			
		||||
$fa-var-compress: "\f066";
 | 
			
		||||
$fa-var-exclamation-circle: "\f06a";
 | 
			
		||||
$fa-var-gift: "\f06b";
 | 
			
		||||
$fa-var-leaf: "\f06c";
 | 
			
		||||
$fa-var-fire: "\f06d";
 | 
			
		||||
$fa-var-eye: "\f06e";
 | 
			
		||||
$fa-var-eye-slash: "\f070";
 | 
			
		||||
$fa-var-exclamation-triangle: "\f071";
 | 
			
		||||
$fa-var-warning: "\f071";
 | 
			
		||||
$fa-var-plane: "\f072";
 | 
			
		||||
$fa-var-calendar: "\f073";
 | 
			
		||||
$fa-var-random: "\f074";
 | 
			
		||||
$fa-var-comment: "\f075";
 | 
			
		||||
$fa-var-magnet: "\f076";
 | 
			
		||||
$fa-var-chevron-up: "\f077";
 | 
			
		||||
$fa-var-chevron-down: "\f078";
 | 
			
		||||
$fa-var-retweet: "\f079";
 | 
			
		||||
$fa-var-shopping-cart: "\f07a";
 | 
			
		||||
$fa-var-folder: "\f07b";
 | 
			
		||||
$fa-var-folder-open: "\f07c";
 | 
			
		||||
$fa-var-arrows-v: "\f07d";
 | 
			
		||||
$fa-var-arrows-h: "\f07e";
 | 
			
		||||
$fa-var-bar-chart: "\f080";
 | 
			
		||||
$fa-var-bar-chart-o: "\f080";
 | 
			
		||||
$fa-var-twitter-square: "\f081";
 | 
			
		||||
$fa-var-facebook-square: "\f082";
 | 
			
		||||
$fa-var-camera-retro: "\f083";
 | 
			
		||||
$fa-var-key: "\f084";
 | 
			
		||||
$fa-var-cogs: "\f085";
 | 
			
		||||
$fa-var-gears: "\f085";
 | 
			
		||||
$fa-var-comments: "\f086";
 | 
			
		||||
$fa-var-thumbs-o-up: "\f087";
 | 
			
		||||
$fa-var-thumbs-o-down: "\f088";
 | 
			
		||||
$fa-var-star-half: "\f089";
 | 
			
		||||
$fa-var-heart-o: "\f08a";
 | 
			
		||||
$fa-var-sign-out: "\f08b";
 | 
			
		||||
$fa-var-linkedin-square: "\f08c";
 | 
			
		||||
$fa-var-thumb-tack: "\f08d";
 | 
			
		||||
$fa-var-external-link: "\f08e";
 | 
			
		||||
$fa-var-sign-in: "\f090";
 | 
			
		||||
$fa-var-trophy: "\f091";
 | 
			
		||||
$fa-var-github-square: "\f092";
 | 
			
		||||
$fa-var-upload: "\f093";
 | 
			
		||||
$fa-var-lemon-o: "\f094";
 | 
			
		||||
$fa-var-phone: "\f095";
 | 
			
		||||
$fa-var-square-o: "\f096";
 | 
			
		||||
$fa-var-bookmark-o: "\f097";
 | 
			
		||||
$fa-var-phone-square: "\f098";
 | 
			
		||||
$fa-var-twitter: "\f099";
 | 
			
		||||
$fa-var-facebook: "\f09a";
 | 
			
		||||
$fa-var-facebook-f: "\f09a";
 | 
			
		||||
$fa-var-github: "\f09b";
 | 
			
		||||
$fa-var-unlock: "\f09c";
 | 
			
		||||
$fa-var-credit-card: "\f09d";
 | 
			
		||||
$fa-var-feed: "\f09e";
 | 
			
		||||
$fa-var-rss: "\f09e";
 | 
			
		||||
$fa-var-hdd-o: "\f0a0";
 | 
			
		||||
$fa-var-bullhorn: "\f0a1";
 | 
			
		||||
$fa-var-bell-o: "\f0a2";
 | 
			
		||||
$fa-var-certificate: "\f0a3";
 | 
			
		||||
$fa-var-hand-o-right: "\f0a4";
 | 
			
		||||
$fa-var-hand-o-left: "\f0a5";
 | 
			
		||||
$fa-var-hand-o-up: "\f0a6";
 | 
			
		||||
$fa-var-hand-o-down: "\f0a7";
 | 
			
		||||
$fa-var-arrow-circle-left: "\f0a8";
 | 
			
		||||
$fa-var-arrow-circle-right: "\f0a9";
 | 
			
		||||
$fa-var-arrow-circle-up: "\f0aa";
 | 
			
		||||
$fa-var-arrow-circle-down: "\f0ab";
 | 
			
		||||
$fa-var-globe: "\f0ac";
 | 
			
		||||
$fa-var-wrench: "\f0ad";
 | 
			
		||||
$fa-var-tasks: "\f0ae";
 | 
			
		||||
$fa-var-filter: "\f0b0";
 | 
			
		||||
$fa-var-briefcase: "\f0b1";
 | 
			
		||||
$fa-var-arrows-alt: "\f0b2";
 | 
			
		||||
$fa-var-group: "\f0c0";
 | 
			
		||||
$fa-var-users: "\f0c0";
 | 
			
		||||
$fa-var-chain: "\f0c1";
 | 
			
		||||
$fa-var-link: "\f0c1";
 | 
			
		||||
$fa-var-cloud: "\f0c2";
 | 
			
		||||
$fa-var-flask: "\f0c3";
 | 
			
		||||
$fa-var-cut: "\f0c4";
 | 
			
		||||
$fa-var-scissors: "\f0c4";
 | 
			
		||||
$fa-var-copy: "\f0c5";
 | 
			
		||||
$fa-var-files-o: "\f0c5";
 | 
			
		||||
$fa-var-paperclip: "\f0c6";
 | 
			
		||||
$fa-var-floppy-o: "\f0c7";
 | 
			
		||||
$fa-var-save: "\f0c7";
 | 
			
		||||
$fa-var-square: "\f0c8";
 | 
			
		||||
$fa-var-bars: "\f0c9";
 | 
			
		||||
$fa-var-navicon: "\f0c9";
 | 
			
		||||
$fa-var-reorder: "\f0c9";
 | 
			
		||||
$fa-var-list-ul: "\f0ca";
 | 
			
		||||
$fa-var-list-ol: "\f0cb";
 | 
			
		||||
$fa-var-strikethrough: "\f0cc";
 | 
			
		||||
$fa-var-underline: "\f0cd";
 | 
			
		||||
$fa-var-table: "\f0ce";
 | 
			
		||||
$fa-var-magic: "\f0d0";
 | 
			
		||||
$fa-var-truck: "\f0d1";
 | 
			
		||||
$fa-var-pinterest: "\f0d2";
 | 
			
		||||
$fa-var-pinterest-square: "\f0d3";
 | 
			
		||||
$fa-var-google-plus-square: "\f0d4";
 | 
			
		||||
$fa-var-google-plus: "\f0d5";
 | 
			
		||||
$fa-var-money: "\f0d6";
 | 
			
		||||
$fa-var-caret-down: "\f0d7";
 | 
			
		||||
$fa-var-caret-up: "\f0d8";
 | 
			
		||||
$fa-var-caret-left: "\f0d9";
 | 
			
		||||
$fa-var-caret-right: "\f0da";
 | 
			
		||||
$fa-var-columns: "\f0db";
 | 
			
		||||
$fa-var-sort: "\f0dc";
 | 
			
		||||
$fa-var-unsorted: "\f0dc";
 | 
			
		||||
$fa-var-sort-desc: "\f0dd";
 | 
			
		||||
$fa-var-sort-down: "\f0dd";
 | 
			
		||||
$fa-var-sort-asc: "\f0de";
 | 
			
		||||
$fa-var-sort-up: "\f0de";
 | 
			
		||||
$fa-var-envelope: "\f0e0";
 | 
			
		||||
$fa-var-linkedin: "\f0e1";
 | 
			
		||||
$fa-var-rotate-left: "\f0e2";
 | 
			
		||||
$fa-var-undo: "\f0e2";
 | 
			
		||||
$fa-var-gavel: "\f0e3";
 | 
			
		||||
$fa-var-legal: "\f0e3";
 | 
			
		||||
$fa-var-dashboard: "\f0e4";
 | 
			
		||||
$fa-var-tachometer: "\f0e4";
 | 
			
		||||
$fa-var-comment-o: "\f0e5";
 | 
			
		||||
$fa-var-comments-o: "\f0e6";
 | 
			
		||||
$fa-var-bolt: "\f0e7";
 | 
			
		||||
$fa-var-flash: "\f0e7";
 | 
			
		||||
$fa-var-sitemap: "\f0e8";
 | 
			
		||||
$fa-var-umbrella: "\f0e9";
 | 
			
		||||
$fa-var-clipboard: "\f0ea";
 | 
			
		||||
$fa-var-paste: "\f0ea";
 | 
			
		||||
$fa-var-lightbulb-o: "\f0eb";
 | 
			
		||||
$fa-var-exchange: "\f0ec";
 | 
			
		||||
$fa-var-cloud-download: "\f0ed";
 | 
			
		||||
$fa-var-cloud-upload: "\f0ee";
 | 
			
		||||
$fa-var-user-md: "\f0f0";
 | 
			
		||||
$fa-var-stethoscope: "\f0f1";
 | 
			
		||||
$fa-var-suitcase: "\f0f2";
 | 
			
		||||
$fa-var-bell: "\f0f3";
 | 
			
		||||
$fa-var-coffee: "\f0f4";
 | 
			
		||||
$fa-var-cutlery: "\f0f5";
 | 
			
		||||
$fa-var-file-text-o: "\f0f6";
 | 
			
		||||
$fa-var-building-o: "\f0f7";
 | 
			
		||||
$fa-var-hospital-o: "\f0f8";
 | 
			
		||||
$fa-var-ambulance: "\f0f9";
 | 
			
		||||
$fa-var-medkit: "\f0fa";
 | 
			
		||||
$fa-var-fighter-jet: "\f0fb";
 | 
			
		||||
$fa-var-beer: "\f0fc";
 | 
			
		||||
$fa-var-h-square: "\f0fd";
 | 
			
		||||
$fa-var-plus-square: "\f0fe";
 | 
			
		||||
$fa-var-angle-double-left: "\f100";
 | 
			
		||||
$fa-var-angle-double-right: "\f101";
 | 
			
		||||
$fa-var-angle-double-up: "\f102";
 | 
			
		||||
$fa-var-angle-double-down: "\f103";
 | 
			
		||||
$fa-var-angle-left: "\f104";
 | 
			
		||||
$fa-var-angle-right: "\f105";
 | 
			
		||||
$fa-var-angle-up: "\f106";
 | 
			
		||||
$fa-var-angle-down: "\f107";
 | 
			
		||||
$fa-var-desktop: "\f108";
 | 
			
		||||
$fa-var-laptop: "\f109";
 | 
			
		||||
$fa-var-tablet: "\f10a";
 | 
			
		||||
$fa-var-mobile: "\f10b";
 | 
			
		||||
$fa-var-mobile-phone: "\f10b";
 | 
			
		||||
$fa-var-circle-o: "\f10c";
 | 
			
		||||
$fa-var-quote-left: "\f10d";
 | 
			
		||||
$fa-var-quote-right: "\f10e";
 | 
			
		||||
$fa-var-spinner: "\f110";
 | 
			
		||||
$fa-var-circle: "\f111";
 | 
			
		||||
$fa-var-mail-reply: "\f112";
 | 
			
		||||
$fa-var-reply: "\f112";
 | 
			
		||||
$fa-var-github-alt: "\f113";
 | 
			
		||||
$fa-var-folder-o: "\f114";
 | 
			
		||||
$fa-var-folder-open-o: "\f115";
 | 
			
		||||
$fa-var-smile-o: "\f118";
 | 
			
		||||
$fa-var-frown-o: "\f119";
 | 
			
		||||
$fa-var-meh-o: "\f11a";
 | 
			
		||||
$fa-var-gamepad: "\f11b";
 | 
			
		||||
$fa-var-keyboard-o: "\f11c";
 | 
			
		||||
$fa-var-flag-o: "\f11d";
 | 
			
		||||
$fa-var-flag-checkered: "\f11e";
 | 
			
		||||
$fa-var-terminal: "\f120";
 | 
			
		||||
$fa-var-code: "\f121";
 | 
			
		||||
$fa-var-mail-reply-all: "\f122";
 | 
			
		||||
$fa-var-reply-all: "\f122";
 | 
			
		||||
$fa-var-star-half-empty: "\f123";
 | 
			
		||||
$fa-var-star-half-full: "\f123";
 | 
			
		||||
$fa-var-star-half-o: "\f123";
 | 
			
		||||
$fa-var-location-arrow: "\f124";
 | 
			
		||||
$fa-var-crop: "\f125";
 | 
			
		||||
$fa-var-code-fork: "\f126";
 | 
			
		||||
$fa-var-chain-broken: "\f127";
 | 
			
		||||
$fa-var-unlink: "\f127";
 | 
			
		||||
$fa-var-info: "\f129";
 | 
			
		||||
$fa-var-exclamation: "\f12a";
 | 
			
		||||
$fa-var-superscript: "\f12b";
 | 
			
		||||
$fa-var-subscript: "\f12c";
 | 
			
		||||
$fa-var-eraser: "\f12d";
 | 
			
		||||
$fa-var-puzzle-piece: "\f12e";
 | 
			
		||||
$fa-var-microphone: "\f130";
 | 
			
		||||
$fa-var-microphone-slash: "\f131";
 | 
			
		||||
$fa-var-shield: "\f132";
 | 
			
		||||
$fa-var-calendar-o: "\f133";
 | 
			
		||||
$fa-var-fire-extinguisher: "\f134";
 | 
			
		||||
$fa-var-rocket: "\f135";
 | 
			
		||||
$fa-var-maxcdn: "\f136";
 | 
			
		||||
$fa-var-chevron-circle-left: "\f137";
 | 
			
		||||
$fa-var-chevron-circle-right: "\f138";
 | 
			
		||||
$fa-var-chevron-circle-up: "\f139";
 | 
			
		||||
$fa-var-chevron-circle-down: "\f13a";
 | 
			
		||||
$fa-var-html5: "\f13b";
 | 
			
		||||
$fa-var-css3: "\f13c";
 | 
			
		||||
$fa-var-anchor: "\f13d";
 | 
			
		||||
$fa-var-unlock-alt: "\f13e";
 | 
			
		||||
$fa-var-bullseye: "\f140";
 | 
			
		||||
$fa-var-ellipsis-h: "\f141";
 | 
			
		||||
$fa-var-ellipsis-v: "\f142";
 | 
			
		||||
$fa-var-rss-square: "\f143";
 | 
			
		||||
$fa-var-play-circle: "\f144";
 | 
			
		||||
$fa-var-ticket: "\f145";
 | 
			
		||||
$fa-var-minus-square: "\f146";
 | 
			
		||||
$fa-var-minus-square-o: "\f147";
 | 
			
		||||
$fa-var-level-up: "\f148";
 | 
			
		||||
$fa-var-level-down: "\f149";
 | 
			
		||||
$fa-var-check-square: "\f14a";
 | 
			
		||||
$fa-var-pencil-square: "\f14b";
 | 
			
		||||
$fa-var-external-link-square: "\f14c";
 | 
			
		||||
$fa-var-share-square: "\f14d";
 | 
			
		||||
$fa-var-compass: "\f14e";
 | 
			
		||||
$fa-var-caret-square-o-down: "\f150";
 | 
			
		||||
$fa-var-toggle-down: "\f150";
 | 
			
		||||
$fa-var-caret-square-o-up: "\f151";
 | 
			
		||||
$fa-var-toggle-up: "\f151";
 | 
			
		||||
$fa-var-caret-square-o-right: "\f152";
 | 
			
		||||
$fa-var-toggle-right: "\f152";
 | 
			
		||||
$fa-var-eur: "\f153";
 | 
			
		||||
$fa-var-euro: "\f153";
 | 
			
		||||
$fa-var-gbp: "\f154";
 | 
			
		||||
$fa-var-dollar: "\f155";
 | 
			
		||||
$fa-var-usd: "\f155";
 | 
			
		||||
$fa-var-inr: "\f156";
 | 
			
		||||
$fa-var-rupee: "\f156";
 | 
			
		||||
$fa-var-cny: "\f157";
 | 
			
		||||
$fa-var-jpy: "\f157";
 | 
			
		||||
$fa-var-rmb: "\f157";
 | 
			
		||||
$fa-var-yen: "\f157";
 | 
			
		||||
$fa-var-rouble: "\f158";
 | 
			
		||||
$fa-var-rub: "\f158";
 | 
			
		||||
$fa-var-ruble: "\f158";
 | 
			
		||||
$fa-var-krw: "\f159";
 | 
			
		||||
$fa-var-won: "\f159";
 | 
			
		||||
$fa-var-bitcoin: "\f15a";
 | 
			
		||||
$fa-var-btc: "\f15a";
 | 
			
		||||
$fa-var-file: "\f15b";
 | 
			
		||||
$fa-var-file-text: "\f15c";
 | 
			
		||||
$fa-var-sort-alpha-asc: "\f15d";
 | 
			
		||||
$fa-var-sort-alpha-desc: "\f15e";
 | 
			
		||||
$fa-var-sort-amount-asc: "\f160";
 | 
			
		||||
$fa-var-sort-amount-desc: "\f161";
 | 
			
		||||
$fa-var-sort-numeric-asc: "\f162";
 | 
			
		||||
$fa-var-sort-numeric-desc: "\f163";
 | 
			
		||||
$fa-var-thumbs-up: "\f164";
 | 
			
		||||
$fa-var-thumbs-down: "\f165";
 | 
			
		||||
$fa-var-youtube-square: "\f166";
 | 
			
		||||
$fa-var-youtube: "\f167";
 | 
			
		||||
$fa-var-xing: "\f168";
 | 
			
		||||
$fa-var-xing-square: "\f169";
 | 
			
		||||
$fa-var-youtube-play: "\f16a";
 | 
			
		||||
$fa-var-dropbox: "\f16b";
 | 
			
		||||
$fa-var-stack-overflow: "\f16c";
 | 
			
		||||
$fa-var-instagram: "\f16d";
 | 
			
		||||
$fa-var-flickr: "\f16e";
 | 
			
		||||
$fa-var-adn: "\f170";
 | 
			
		||||
$fa-var-bitbucket: "\f171";
 | 
			
		||||
$fa-var-bitbucket-square: "\f172";
 | 
			
		||||
$fa-var-tumblr: "\f173";
 | 
			
		||||
$fa-var-tumblr-square: "\f174";
 | 
			
		||||
$fa-var-long-arrow-down: "\f175";
 | 
			
		||||
$fa-var-long-arrow-up: "\f176";
 | 
			
		||||
$fa-var-long-arrow-left: "\f177";
 | 
			
		||||
$fa-var-long-arrow-right: "\f178";
 | 
			
		||||
$fa-var-apple: "\f179";
 | 
			
		||||
$fa-var-windows: "\f17a";
 | 
			
		||||
$fa-var-android: "\f17b";
 | 
			
		||||
$fa-var-linux: "\f17c";
 | 
			
		||||
$fa-var-dribbble: "\f17d";
 | 
			
		||||
$fa-var-skype: "\f17e";
 | 
			
		||||
$fa-var-foursquare: "\f180";
 | 
			
		||||
$fa-var-trello: "\f181";
 | 
			
		||||
$fa-var-female: "\f182";
 | 
			
		||||
$fa-var-male: "\f183";
 | 
			
		||||
$fa-var-gittip: "\f184";
 | 
			
		||||
$fa-var-gratipay: "\f184";
 | 
			
		||||
$fa-var-sun-o: "\f185";
 | 
			
		||||
$fa-var-moon-o: "\f186";
 | 
			
		||||
$fa-var-archive: "\f187";
 | 
			
		||||
$fa-var-bug: "\f188";
 | 
			
		||||
$fa-var-vk: "\f189";
 | 
			
		||||
$fa-var-weibo: "\f18a";
 | 
			
		||||
$fa-var-renren: "\f18b";
 | 
			
		||||
$fa-var-pagelines: "\f18c";
 | 
			
		||||
$fa-var-stack-exchange: "\f18d";
 | 
			
		||||
$fa-var-arrow-circle-o-right: "\f18e";
 | 
			
		||||
$fa-var-arrow-circle-o-left: "\f190";
 | 
			
		||||
$fa-var-caret-square-o-left: "\f191";
 | 
			
		||||
$fa-var-toggle-left: "\f191";
 | 
			
		||||
$fa-var-dot-circle-o: "\f192";
 | 
			
		||||
$fa-var-wheelchair: "\f193";
 | 
			
		||||
$fa-var-vimeo-square: "\f194";
 | 
			
		||||
$fa-var-try: "\f195";
 | 
			
		||||
$fa-var-turkish-lira: "\f195";
 | 
			
		||||
$fa-var-plus-square-o: "\f196";
 | 
			
		||||
$fa-var-space-shuttle: "\f197";
 | 
			
		||||
$fa-var-slack: "\f198";
 | 
			
		||||
$fa-var-envelope-square: "\f199";
 | 
			
		||||
$fa-var-wordpress: "\f19a";
 | 
			
		||||
$fa-var-openid: "\f19b";
 | 
			
		||||
$fa-var-bank: "\f19c";
 | 
			
		||||
$fa-var-institution: "\f19c";
 | 
			
		||||
$fa-var-university: "\f19c";
 | 
			
		||||
$fa-var-graduation-cap: "\f19d";
 | 
			
		||||
$fa-var-mortar-board: "\f19d";
 | 
			
		||||
$fa-var-yahoo: "\f19e";
 | 
			
		||||
$fa-var-google: "\f1a0";
 | 
			
		||||
$fa-var-reddit: "\f1a1";
 | 
			
		||||
$fa-var-reddit-square: "\f1a2";
 | 
			
		||||
$fa-var-stumbleupon-circle: "\f1a3";
 | 
			
		||||
$fa-var-stumbleupon: "\f1a4";
 | 
			
		||||
$fa-var-delicious: "\f1a5";
 | 
			
		||||
$fa-var-digg: "\f1a6";
 | 
			
		||||
$fa-var-pied-piper-pp: "\f1a7";
 | 
			
		||||
$fa-var-pied-piper-alt: "\f1a8";
 | 
			
		||||
$fa-var-drupal: "\f1a9";
 | 
			
		||||
$fa-var-joomla: "\f1aa";
 | 
			
		||||
$fa-var-language: "\f1ab";
 | 
			
		||||
$fa-var-fax: "\f1ac";
 | 
			
		||||
$fa-var-building: "\f1ad";
 | 
			
		||||
$fa-var-child: "\f1ae";
 | 
			
		||||
$fa-var-paw: "\f1b0";
 | 
			
		||||
$fa-var-spoon: "\f1b1";
 | 
			
		||||
$fa-var-cube: "\f1b2";
 | 
			
		||||
$fa-var-cubes: "\f1b3";
 | 
			
		||||
$fa-var-behance: "\f1b4";
 | 
			
		||||
$fa-var-behance-square: "\f1b5";
 | 
			
		||||
$fa-var-steam: "\f1b6";
 | 
			
		||||
$fa-var-steam-square: "\f1b7";
 | 
			
		||||
$fa-var-recycle: "\f1b8";
 | 
			
		||||
$fa-var-automobile: "\f1b9";
 | 
			
		||||
$fa-var-car: "\f1b9";
 | 
			
		||||
$fa-var-cab: "\f1ba";
 | 
			
		||||
$fa-var-taxi: "\f1ba";
 | 
			
		||||
$fa-var-tree: "\f1bb";
 | 
			
		||||
$fa-var-spotify: "\f1bc";
 | 
			
		||||
$fa-var-deviantart: "\f1bd";
 | 
			
		||||
$fa-var-soundcloud: "\f1be";
 | 
			
		||||
$fa-var-database: "\f1c0";
 | 
			
		||||
$fa-var-file-pdf-o: "\f1c1";
 | 
			
		||||
$fa-var-file-word-o: "\f1c2";
 | 
			
		||||
$fa-var-file-excel-o: "\f1c3";
 | 
			
		||||
$fa-var-file-powerpoint-o: "\f1c4";
 | 
			
		||||
$fa-var-file-image-o: "\f1c5";
 | 
			
		||||
$fa-var-file-photo-o: "\f1c5";
 | 
			
		||||
$fa-var-file-picture-o: "\f1c5";
 | 
			
		||||
$fa-var-file-archive-o: "\f1c6";
 | 
			
		||||
$fa-var-file-zip-o: "\f1c6";
 | 
			
		||||
$fa-var-file-audio-o: "\f1c7";
 | 
			
		||||
$fa-var-file-sound-o: "\f1c7";
 | 
			
		||||
$fa-var-file-movie-o: "\f1c8";
 | 
			
		||||
$fa-var-file-video-o: "\f1c8";
 | 
			
		||||
$fa-var-file-code-o: "\f1c9";
 | 
			
		||||
$fa-var-vine: "\f1ca";
 | 
			
		||||
$fa-var-codepen: "\f1cb";
 | 
			
		||||
$fa-var-jsfiddle: "\f1cc";
 | 
			
		||||
$fa-var-life-bouy: "\f1cd";
 | 
			
		||||
$fa-var-life-buoy: "\f1cd";
 | 
			
		||||
$fa-var-life-ring: "\f1cd";
 | 
			
		||||
$fa-var-life-saver: "\f1cd";
 | 
			
		||||
$fa-var-support: "\f1cd";
 | 
			
		||||
$fa-var-circle-o-notch: "\f1ce";
 | 
			
		||||
$fa-var-ra: "\f1d0";
 | 
			
		||||
$fa-var-rebel: "\f1d0";
 | 
			
		||||
$fa-var-resistance: "\f1d0";
 | 
			
		||||
$fa-var-empire: "\f1d1";
 | 
			
		||||
$fa-var-ge: "\f1d1";
 | 
			
		||||
$fa-var-git-square: "\f1d2";
 | 
			
		||||
$fa-var-git: "\f1d3";
 | 
			
		||||
$fa-var-hacker-news: "\f1d4";
 | 
			
		||||
$fa-var-y-combinator-square: "\f1d4";
 | 
			
		||||
$fa-var-yc-square: "\f1d4";
 | 
			
		||||
$fa-var-tencent-weibo: "\f1d5";
 | 
			
		||||
$fa-var-qq: "\f1d6";
 | 
			
		||||
$fa-var-wechat: "\f1d7";
 | 
			
		||||
$fa-var-weixin: "\f1d7";
 | 
			
		||||
$fa-var-paper-plane: "\f1d8";
 | 
			
		||||
$fa-var-send: "\f1d8";
 | 
			
		||||
$fa-var-paper-plane-o: "\f1d9";
 | 
			
		||||
$fa-var-send-o: "\f1d9";
 | 
			
		||||
$fa-var-history: "\f1da";
 | 
			
		||||
$fa-var-circle-thin: "\f1db";
 | 
			
		||||
$fa-var-header: "\f1dc";
 | 
			
		||||
$fa-var-paragraph: "\f1dd";
 | 
			
		||||
$fa-var-sliders: "\f1de";
 | 
			
		||||
$fa-var-share-alt: "\f1e0";
 | 
			
		||||
$fa-var-share-alt-square: "\f1e1";
 | 
			
		||||
$fa-var-bomb: "\f1e2";
 | 
			
		||||
$fa-var-futbol-o: "\f1e3";
 | 
			
		||||
$fa-var-soccer-ball-o: "\f1e3";
 | 
			
		||||
$fa-var-tty: "\f1e4";
 | 
			
		||||
$fa-var-binoculars: "\f1e5";
 | 
			
		||||
$fa-var-plug: "\f1e6";
 | 
			
		||||
$fa-var-slideshare: "\f1e7";
 | 
			
		||||
$fa-var-twitch: "\f1e8";
 | 
			
		||||
$fa-var-yelp: "\f1e9";
 | 
			
		||||
$fa-var-newspaper-o: "\f1ea";
 | 
			
		||||
$fa-var-wifi: "\f1eb";
 | 
			
		||||
$fa-var-calculator: "\f1ec";
 | 
			
		||||
$fa-var-paypal: "\f1ed";
 | 
			
		||||
$fa-var-google-wallet: "\f1ee";
 | 
			
		||||
$fa-var-cc-visa: "\f1f0";
 | 
			
		||||
$fa-var-cc-mastercard: "\f1f1";
 | 
			
		||||
$fa-var-cc-discover: "\f1f2";
 | 
			
		||||
$fa-var-cc-amex: "\f1f3";
 | 
			
		||||
$fa-var-cc-paypal: "\f1f4";
 | 
			
		||||
$fa-var-cc-stripe: "\f1f5";
 | 
			
		||||
$fa-var-bell-slash: "\f1f6";
 | 
			
		||||
$fa-var-bell-slash-o: "\f1f7";
 | 
			
		||||
$fa-var-trash: "\f1f8";
 | 
			
		||||
$fa-var-copyright: "\f1f9";
 | 
			
		||||
$fa-var-at: "\f1fa";
 | 
			
		||||
$fa-var-eyedropper: "\f1fb";
 | 
			
		||||
$fa-var-paint-brush: "\f1fc";
 | 
			
		||||
$fa-var-birthday-cake: "\f1fd";
 | 
			
		||||
$fa-var-area-chart: "\f1fe";
 | 
			
		||||
$fa-var-pie-chart: "\f200";
 | 
			
		||||
$fa-var-line-chart: "\f201";
 | 
			
		||||
$fa-var-lastfm: "\f202";
 | 
			
		||||
$fa-var-lastfm-square: "\f203";
 | 
			
		||||
$fa-var-toggle-off: "\f204";
 | 
			
		||||
$fa-var-toggle-on: "\f205";
 | 
			
		||||
$fa-var-bicycle: "\f206";
 | 
			
		||||
$fa-var-bus: "\f207";
 | 
			
		||||
$fa-var-ioxhost: "\f208";
 | 
			
		||||
$fa-var-angellist: "\f209";
 | 
			
		||||
$fa-var-cc: "\f20a";
 | 
			
		||||
$fa-var-ils: "\f20b";
 | 
			
		||||
$fa-var-shekel: "\f20b";
 | 
			
		||||
$fa-var-sheqel: "\f20b";
 | 
			
		||||
$fa-var-meanpath: "\f20c";
 | 
			
		||||
$fa-var-buysellads: "\f20d";
 | 
			
		||||
$fa-var-connectdevelop: "\f20e";
 | 
			
		||||
$fa-var-dashcube: "\f210";
 | 
			
		||||
$fa-var-forumbee: "\f211";
 | 
			
		||||
$fa-var-leanpub: "\f212";
 | 
			
		||||
$fa-var-sellsy: "\f213";
 | 
			
		||||
$fa-var-shirtsinbulk: "\f214";
 | 
			
		||||
$fa-var-simplybuilt: "\f215";
 | 
			
		||||
$fa-var-skyatlas: "\f216";
 | 
			
		||||
$fa-var-cart-plus: "\f217";
 | 
			
		||||
$fa-var-cart-arrow-down: "\f218";
 | 
			
		||||
$fa-var-diamond: "\f219";
 | 
			
		||||
$fa-var-ship: "\f21a";
 | 
			
		||||
$fa-var-user-secret: "\f21b";
 | 
			
		||||
$fa-var-motorcycle: "\f21c";
 | 
			
		||||
$fa-var-street-view: "\f21d";
 | 
			
		||||
$fa-var-heartbeat: "\f21e";
 | 
			
		||||
$fa-var-venus: "\f221";
 | 
			
		||||
$fa-var-mars: "\f222";
 | 
			
		||||
$fa-var-mercury: "\f223";
 | 
			
		||||
$fa-var-intersex: "\f224";
 | 
			
		||||
$fa-var-transgender: "\f224";
 | 
			
		||||
$fa-var-transgender-alt: "\f225";
 | 
			
		||||
$fa-var-venus-double: "\f226";
 | 
			
		||||
$fa-var-mars-double: "\f227";
 | 
			
		||||
$fa-var-venus-mars: "\f228";
 | 
			
		||||
$fa-var-mars-stroke: "\f229";
 | 
			
		||||
$fa-var-mars-stroke-v: "\f22a";
 | 
			
		||||
$fa-var-mars-stroke-h: "\f22b";
 | 
			
		||||
$fa-var-neuter: "\f22c";
 | 
			
		||||
$fa-var-genderless: "\f22d";
 | 
			
		||||
$fa-var-facebook-official: "\f230";
 | 
			
		||||
$fa-var-pinterest-p: "\f231";
 | 
			
		||||
$fa-var-whatsapp: "\f232";
 | 
			
		||||
$fa-var-server: "\f233";
 | 
			
		||||
$fa-var-user-plus: "\f234";
 | 
			
		||||
$fa-var-user-times: "\f235";
 | 
			
		||||
$fa-var-bed: "\f236";
 | 
			
		||||
$fa-var-hotel: "\f236";
 | 
			
		||||
$fa-var-viacoin: "\f237";
 | 
			
		||||
$fa-var-train: "\f238";
 | 
			
		||||
$fa-var-subway: "\f239";
 | 
			
		||||
$fa-var-medium: "\f23a";
 | 
			
		||||
$fa-var-y-combinator: "\f23b";
 | 
			
		||||
$fa-var-yc: "\f23b";
 | 
			
		||||
$fa-var-optin-monster: "\f23c";
 | 
			
		||||
$fa-var-opencart: "\f23d";
 | 
			
		||||
$fa-var-expeditedssl: "\f23e";
 | 
			
		||||
$fa-var-battery: "\f240";
 | 
			
		||||
$fa-var-battery-4: "\f240";
 | 
			
		||||
$fa-var-battery-full: "\f240";
 | 
			
		||||
$fa-var-battery-3: "\f241";
 | 
			
		||||
$fa-var-battery-three-quarters: "\f241";
 | 
			
		||||
$fa-var-battery-2: "\f242";
 | 
			
		||||
$fa-var-battery-half: "\f242";
 | 
			
		||||
$fa-var-battery-1: "\f243";
 | 
			
		||||
$fa-var-battery-quarter: "\f243";
 | 
			
		||||
$fa-var-battery-0: "\f244";
 | 
			
		||||
$fa-var-battery-empty: "\f244";
 | 
			
		||||
$fa-var-mouse-pointer: "\f245";
 | 
			
		||||
$fa-var-i-cursor: "\f246";
 | 
			
		||||
$fa-var-object-group: "\f247";
 | 
			
		||||
$fa-var-object-ungroup: "\f248";
 | 
			
		||||
$fa-var-sticky-note: "\f249";
 | 
			
		||||
$fa-var-sticky-note-o: "\f24a";
 | 
			
		||||
$fa-var-cc-jcb: "\f24b";
 | 
			
		||||
$fa-var-cc-diners-club: "\f24c";
 | 
			
		||||
$fa-var-clone: "\f24d";
 | 
			
		||||
$fa-var-balance-scale: "\f24e";
 | 
			
		||||
$fa-var-hourglass-o: "\f250";
 | 
			
		||||
$fa-var-hourglass-1: "\f251";
 | 
			
		||||
$fa-var-hourglass-start: "\f251";
 | 
			
		||||
$fa-var-hourglass-2: "\f252";
 | 
			
		||||
$fa-var-hourglass-half: "\f252";
 | 
			
		||||
$fa-var-hourglass-3: "\f253";
 | 
			
		||||
$fa-var-hourglass-end: "\f253";
 | 
			
		||||
$fa-var-hourglass: "\f254";
 | 
			
		||||
$fa-var-hand-grab-o: "\f255";
 | 
			
		||||
$fa-var-hand-rock-o: "\f255";
 | 
			
		||||
$fa-var-hand-paper-o: "\f256";
 | 
			
		||||
$fa-var-hand-stop-o: "\f256";
 | 
			
		||||
$fa-var-hand-scissors-o: "\f257";
 | 
			
		||||
$fa-var-hand-lizard-o: "\f258";
 | 
			
		||||
$fa-var-hand-spock-o: "\f259";
 | 
			
		||||
$fa-var-hand-pointer-o: "\f25a";
 | 
			
		||||
$fa-var-hand-peace-o: "\f25b";
 | 
			
		||||
$fa-var-trademark: "\f25c";
 | 
			
		||||
$fa-var-registered: "\f25d";
 | 
			
		||||
$fa-var-creative-commons: "\f25e";
 | 
			
		||||
$fa-var-gg: "\f260";
 | 
			
		||||
$fa-var-gg-circle: "\f261";
 | 
			
		||||
$fa-var-tripadvisor: "\f262";
 | 
			
		||||
$fa-var-odnoklassniki: "\f263";
 | 
			
		||||
$fa-var-odnoklassniki-square: "\f264";
 | 
			
		||||
$fa-var-get-pocket: "\f265";
 | 
			
		||||
$fa-var-wikipedia-w: "\f266";
 | 
			
		||||
$fa-var-safari: "\f267";
 | 
			
		||||
$fa-var-chrome: "\f268";
 | 
			
		||||
$fa-var-firefox: "\f269";
 | 
			
		||||
$fa-var-opera: "\f26a";
 | 
			
		||||
$fa-var-internet-explorer: "\f26b";
 | 
			
		||||
$fa-var-television: "\f26c";
 | 
			
		||||
$fa-var-tv: "\f26c";
 | 
			
		||||
$fa-var-contao: "\f26d";
 | 
			
		||||
$fa-var-500px: "\f26e";
 | 
			
		||||
$fa-var-amazon: "\f270";
 | 
			
		||||
$fa-var-calendar-plus-o: "\f271";
 | 
			
		||||
$fa-var-calendar-minus-o: "\f272";
 | 
			
		||||
$fa-var-calendar-times-o: "\f273";
 | 
			
		||||
$fa-var-calendar-check-o: "\f274";
 | 
			
		||||
$fa-var-industry: "\f275";
 | 
			
		||||
$fa-var-map-pin: "\f276";
 | 
			
		||||
$fa-var-map-signs: "\f277";
 | 
			
		||||
$fa-var-map-o: "\f278";
 | 
			
		||||
$fa-var-map: "\f279";
 | 
			
		||||
$fa-var-commenting: "\f27a";
 | 
			
		||||
$fa-var-commenting-o: "\f27b";
 | 
			
		||||
$fa-var-houzz: "\f27c";
 | 
			
		||||
$fa-var-vimeo: "\f27d";
 | 
			
		||||
$fa-var-black-tie: "\f27e";
 | 
			
		||||
$fa-var-fonticons: "\f280";
 | 
			
		||||
$fa-var-reddit-alien: "\f281";
 | 
			
		||||
$fa-var-edge: "\f282";
 | 
			
		||||
$fa-var-credit-card-alt: "\f283";
 | 
			
		||||
$fa-var-codiepie: "\f284";
 | 
			
		||||
$fa-var-modx: "\f285";
 | 
			
		||||
$fa-var-fort-awesome: "\f286";
 | 
			
		||||
$fa-var-usb: "\f287";
 | 
			
		||||
$fa-var-product-hunt: "\f288";
 | 
			
		||||
$fa-var-mixcloud: "\f289";
 | 
			
		||||
$fa-var-scribd: "\f28a";
 | 
			
		||||
$fa-var-pause-circle: "\f28b";
 | 
			
		||||
$fa-var-pause-circle-o: "\f28c";
 | 
			
		||||
$fa-var-stop-circle: "\f28d";
 | 
			
		||||
$fa-var-stop-circle-o: "\f28e";
 | 
			
		||||
$fa-var-shopping-bag: "\f290";
 | 
			
		||||
$fa-var-shopping-basket: "\f291";
 | 
			
		||||
$fa-var-hashtag: "\f292";
 | 
			
		||||
$fa-var-bluetooth: "\f293";
 | 
			
		||||
$fa-var-bluetooth-b: "\f294";
 | 
			
		||||
$fa-var-percent: "\f295";
 | 
			
		||||
$fa-var-gitlab: "\f296";
 | 
			
		||||
$fa-var-wpbeginner: "\f297";
 | 
			
		||||
$fa-var-wpforms: "\f298";
 | 
			
		||||
$fa-var-envira: "\f299";
 | 
			
		||||
$fa-var-universal-access: "\f29a";
 | 
			
		||||
$fa-var-wheelchair-alt: "\f29b";
 | 
			
		||||
$fa-var-question-circle-o: "\f29c";
 | 
			
		||||
$fa-var-blind: "\f29d";
 | 
			
		||||
$fa-var-audio-description: "\f29e";
 | 
			
		||||
$fa-var-volume-control-phone: "\f2a0";
 | 
			
		||||
$fa-var-braille: "\f2a1";
 | 
			
		||||
$fa-var-assistive-listening-systems: "\f2a2";
 | 
			
		||||
$fa-var-american-sign-language-interpreting: "\f2a3";
 | 
			
		||||
$fa-var-asl-interpreting: "\f2a3";
 | 
			
		||||
$fa-var-deaf: "\f2a4";
 | 
			
		||||
$fa-var-deafness: "\f2a4";
 | 
			
		||||
$fa-var-hard-of-hearing: "\f2a4";
 | 
			
		||||
$fa-var-glide: "\f2a5";
 | 
			
		||||
$fa-var-glide-g: "\f2a6";
 | 
			
		||||
$fa-var-sign-language: "\f2a7";
 | 
			
		||||
$fa-var-signing: "\f2a7";
 | 
			
		||||
$fa-var-low-vision: "\f2a8";
 | 
			
		||||
$fa-var-viadeo: "\f2a9";
 | 
			
		||||
$fa-var-viadeo-square: "\f2aa";
 | 
			
		||||
$fa-var-snapchat: "\f2ab";
 | 
			
		||||
$fa-var-snapchat-ghost: "\f2ac";
 | 
			
		||||
$fa-var-snapchat-square: "\f2ad";
 | 
			
		||||
$fa-var-pied-piper: "\f2ae";
 | 
			
		||||
$fa-var-first-order: "\f2b0";
 | 
			
		||||
$fa-var-yoast: "\f2b1";
 | 
			
		||||
$fa-var-themeisle: "\f2b2";
 | 
			
		||||
$fa-var-google-plus-circle: "\f2b3";
 | 
			
		||||
$fa-var-google-plus-official: "\f2b3";
 | 
			
		||||
$fa-var-fa: "\f2b4";
 | 
			
		||||
$fa-var-font-awesome: "\f2b4";
 | 
			
		||||
$fa-var-handshake-o: "\f2b5";
 | 
			
		||||
$fa-var-envelope-open: "\f2b6";
 | 
			
		||||
$fa-var-envelope-open-o: "\f2b7";
 | 
			
		||||
$fa-var-linode: "\f2b8";
 | 
			
		||||
$fa-var-address-book: "\f2b9";
 | 
			
		||||
$fa-var-address-book-o: "\f2ba";
 | 
			
		||||
$fa-var-address-card: "\f2bb";
 | 
			
		||||
$fa-var-vcard: "\f2bb";
 | 
			
		||||
$fa-var-address-card-o: "\f2bc";
 | 
			
		||||
$fa-var-vcard-o: "\f2bc";
 | 
			
		||||
$fa-var-user-circle: "\f2bd";
 | 
			
		||||
$fa-var-user-circle-o: "\f2be";
 | 
			
		||||
$fa-var-user-o: "\f2c0";
 | 
			
		||||
$fa-var-id-badge: "\f2c1";
 | 
			
		||||
$fa-var-drivers-license: "\f2c2";
 | 
			
		||||
$fa-var-id-card: "\f2c2";
 | 
			
		||||
$fa-var-drivers-license-o: "\f2c3";
 | 
			
		||||
$fa-var-id-card-o: "\f2c3";
 | 
			
		||||
$fa-var-quora: "\f2c4";
 | 
			
		||||
$fa-var-free-code-camp: "\f2c5";
 | 
			
		||||
$fa-var-telegram: "\f2c6";
 | 
			
		||||
$fa-var-thermometer: "\f2c7";
 | 
			
		||||
$fa-var-thermometer-4: "\f2c7";
 | 
			
		||||
$fa-var-thermometer-full: "\f2c7";
 | 
			
		||||
$fa-var-thermometer-3: "\f2c8";
 | 
			
		||||
$fa-var-thermometer-three-quarters: "\f2c8";
 | 
			
		||||
$fa-var-thermometer-2: "\f2c9";
 | 
			
		||||
$fa-var-thermometer-half: "\f2c9";
 | 
			
		||||
$fa-var-thermometer-1: "\f2ca";
 | 
			
		||||
$fa-var-thermometer-quarter: "\f2ca";
 | 
			
		||||
$fa-var-thermometer-0: "\f2cb";
 | 
			
		||||
$fa-var-thermometer-empty: "\f2cb";
 | 
			
		||||
$fa-var-shower: "\f2cc";
 | 
			
		||||
$fa-var-bath: "\f2cd";
 | 
			
		||||
$fa-var-bathtub: "\f2cd";
 | 
			
		||||
$fa-var-s15: "\f2cd";
 | 
			
		||||
$fa-var-podcast: "\f2ce";
 | 
			
		||||
$fa-var-window-maximize: "\f2d0";
 | 
			
		||||
$fa-var-window-minimize: "\f2d1";
 | 
			
		||||
$fa-var-window-restore: "\f2d2";
 | 
			
		||||
$fa-var-times-rectangle: "\f2d3";
 | 
			
		||||
$fa-var-window-close: "\f2d3";
 | 
			
		||||
$fa-var-times-rectangle-o: "\f2d4";
 | 
			
		||||
$fa-var-window-close-o: "\f2d4";
 | 
			
		||||
$fa-var-bandcamp: "\f2d5";
 | 
			
		||||
$fa-var-grav: "\f2d6";
 | 
			
		||||
$fa-var-etsy: "\f2d7";
 | 
			
		||||
$fa-var-imdb: "\f2d8";
 | 
			
		||||
$fa-var-ravelry: "\f2d9";
 | 
			
		||||
$fa-var-eercast: "\f2da";
 | 
			
		||||
$fa-var-microchip: "\f2db";
 | 
			
		||||
$fa-var-snowflake-o: "\f2dc";
 | 
			
		||||
$fa-var-superpowers: "\f2dd";
 | 
			
		||||
$fa-var-wpexplorer: "\f2de";
 | 
			
		||||
$fa-var-meetup: "\f2e0";
 | 
			
		||||
@ -1,18 +0,0 @@
 | 
			
		||||
/*!
 | 
			
		||||
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 | 
			
		||||
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@import "variables";
 | 
			
		||||
@import "mixins";
 | 
			
		||||
@import "path";
 | 
			
		||||
@import "core";
 | 
			
		||||
@import "larger";
 | 
			
		||||
@import "fixed-width";
 | 
			
		||||
@import "list";
 | 
			
		||||
@import "bordered-pulled";
 | 
			
		||||
@import "animated";
 | 
			
		||||
@import "rotated-flipped";
 | 
			
		||||
@import "stacked";
 | 
			
		||||
@import "icons";
 | 
			
		||||
@import "screen-reader";
 | 
			
		||||
@ -1,43 +0,0 @@
 | 
			
		||||
$fontdir: "../fonts" !default;
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: 'Open Sans';
 | 
			
		||||
  font-style: italic;
 | 
			
		||||
  font-weight: 400;
 | 
			
		||||
  src: local('Open Sans Italic'), local('OpenSans-Italic'), url('#{$fontdir}/OpenSans-Italic.ttf') format('truetype');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: 'Open Sans';
 | 
			
		||||
  font-style: italic;
 | 
			
		||||
  font-weight: 600;
 | 
			
		||||
  src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), url(#{$fontdir}/OpenSans-SemiBoldItalic.ttf) format('truetype');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: 'Open Sans';
 | 
			
		||||
  font-style: italic;
 | 
			
		||||
  font-weight: 800;
 | 
			
		||||
  src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), url(#{$fontdir}/OpenSans-ExtraBoldItalic.ttf) format('truetype');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: 'Open Sans';
 | 
			
		||||
  font-style: normal;
 | 
			
		||||
  font-weight: 400;
 | 
			
		||||
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url(#{$fontdir}/OpenSans-Regular.ttf) format('truetype');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: 'Open Sans';
 | 
			
		||||
  font-style: normal;
 | 
			
		||||
  font-weight: 600;
 | 
			
		||||
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(#{$fontdir}/OpenSans-SemiBold.ttf) format('truetype');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@font-face {
 | 
			
		||||
  font-family: 'Open Sans';
 | 
			
		||||
  font-style: normal;
 | 
			
		||||
  font-weight: 800;
 | 
			
		||||
  src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(#{$fontdir}/OpenSans-ExtraBold.ttf) format('truetype');
 | 
			
		||||
}
 | 
			
		||||
@ -1,3 +1,5 @@
 | 
			
		||||
@import "drac";
 | 
			
		||||
 | 
			
		||||
// Misc.
 | 
			
		||||
  $misc: (
 | 
			
		||||
    max-spotlights:   10,
 | 
			
		||||
@ -16,35 +18,35 @@
 | 
			
		||||
  $size: (
 | 
			
		||||
    element-height:   2.75em,
 | 
			
		||||
    element-margin:   2em,
 | 
			
		||||
    letter-spacing:   0.075em,
 | 
			
		||||
    letter-spacing-alt: 0.225em
 | 
			
		||||
    letter-spacing:   0,
 | 
			
		||||
    letter-spacing-alt: 0.1em
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
// Font.
 | 
			
		||||
  $font: (
 | 
			
		||||
    family:       ('Open Sans', Helvetica, sans-serif),
 | 
			
		||||
    family-fixed:   ('Courier New', monospace),
 | 
			
		||||
    weight:       400,
 | 
			
		||||
    weight-bold:    600,
 | 
			
		||||
    family:           (-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif),
 | 
			
		||||
    family-fixed:     (SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace),
 | 
			
		||||
    weight:           400,
 | 
			
		||||
    weight-bold:      600,
 | 
			
		||||
    weight-extrabold: 800
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
// Palette.
 | 
			
		||||
  $palette: (
 | 
			
		||||
    bg:         #29335C,
 | 
			
		||||
    fg:         #fff,
 | 
			
		||||
    fg-bold:      #fff,
 | 
			
		||||
    fg-light:     rgba(255,255,255,0.5),
 | 
			
		||||
    border:       #fff,
 | 
			
		||||
    bg:         $background,
 | 
			
		||||
    fg:         $foreground,
 | 
			
		||||
    fg-bold:      $foreground,
 | 
			
		||||
    fg-light:     rgba($foreground, 0.5),
 | 
			
		||||
    border:       $foreground,
 | 
			
		||||
    border-bg:      rgba(144,144,144,0.25),
 | 
			
		||||
    border2:      #fff,
 | 
			
		||||
    border2:      $foreground,
 | 
			
		||||
    border2-bg:     rgba(144,144,144,0.5),
 | 
			
		||||
 | 
			
		||||
    accent1: (
 | 
			
		||||
      bg:       #F3A712,
 | 
			
		||||
      bg:       $pink,
 | 
			
		||||
      fg-bold:    #ffffff,
 | 
			
		||||
      fg:       mix(#F3A712, #ffffff, 25%),
 | 
			
		||||
      fg-light:   mix(#F3A712, #ffffff, 40%),
 | 
			
		||||
      fg:       mix($pink, #ffffff, 25%),
 | 
			
		||||
      fg-light:   mix($pink, #ffffff, 40%),
 | 
			
		||||
      border:     rgba(0,0,0,0.125),
 | 
			
		||||
      border-bg:    rgba(255,255,255,0.075),
 | 
			
		||||
      border2:    rgba(0,0,0,0.25),
 | 
			
		||||
@ -53,7 +55,7 @@
 | 
			
		||||
 | 
			
		||||
    accent2: (
 | 
			
		||||
      bg:       #ffffff,
 | 
			
		||||
      fg-bold:    #2E3842,
 | 
			
		||||
      fg-bold:    #41505E,
 | 
			
		||||
      fg:       #4E4852,
 | 
			
		||||
      fg-light:   #8E8892,
 | 
			
		||||
      border:     #dfdfdf,
 | 
			
		||||
@ -63,10 +65,10 @@
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    accent3: (
 | 
			
		||||
      bg:       #ed4933,
 | 
			
		||||
      fg-bold:    #ffffff,
 | 
			
		||||
      fg:       mix(#ed4933, #ffffff, 25%),
 | 
			
		||||
      fg-light:   mix(#ed4933, #ffffff, 40%),
 | 
			
		||||
      bg:       $red,
 | 
			
		||||
      fg-bold:    $foreground,
 | 
			
		||||
      fg:       #282a36,//mix($nord11, #ffffff, 25%),
 | 
			
		||||
      fg-light:   #282a36,
 | 
			
		||||
      border:     rgba(0,0,0,0.125),
 | 
			
		||||
      border-bg:    rgba(255,255,255,0.075),
 | 
			
		||||
      border2:    rgba(0,0,0,0.25),
 | 
			
		||||
@ -74,10 +76,10 @@
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    accent4: (
 | 
			
		||||
      bg:       #313533,
 | 
			
		||||
      fg-bold:    #ffffff,
 | 
			
		||||
      fg:       mix(#25558C, #ffffff, 25%),
 | 
			
		||||
      fg-light:   mix(#25558C, #ffffff, 40%),
 | 
			
		||||
      bg:       mix(#44475a, #000, 50%),
 | 
			
		||||
      fg-bold:    $foreground,
 | 
			
		||||
      fg:       $dark-foreground,
 | 
			
		||||
      fg-light:   $dark-foreground,
 | 
			
		||||
      border:     rgba(0,0,0,0.125),
 | 
			
		||||
      border-bg:    rgba(255,255,255,0.075),
 | 
			
		||||
      border2:    rgba(0,0,0,0.25),
 | 
			
		||||
@ -85,10 +87,10 @@
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    accent5: (
 | 
			
		||||
      bg:       #41a19d,
 | 
			
		||||
      bg:       #e2e2e2,
 | 
			
		||||
      fg-bold:    #ffffff,
 | 
			
		||||
      fg:       mix(#F3A712, #ffffff, 25%),
 | 
			
		||||
      fg-light:   mix(#F3A712, #ffffff, 40%),
 | 
			
		||||
      fg:       mix($pink, #ffffff, 25%),
 | 
			
		||||
      fg-light:   mix($pink, #ffffff, 40%),
 | 
			
		||||
      border:     rgba(0,0,0,0.125),
 | 
			
		||||
      border-bg:    rgba(255,255,255,0.075),
 | 
			
		||||
      border2:    rgba(0,0,0,0.25),
 | 
			
		||||
 | 
			
		||||
@ -3,8 +3,6 @@
 | 
			
		||||
@import 'libs/vars';
 | 
			
		||||
@import 'libs/functions';
 | 
			
		||||
@import 'libs/mixins';
 | 
			
		||||
@import "libs/_font-awesome/font-awesome";
 | 
			
		||||
@import "libs/_google-fonts/opensans";
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
  Spectral by HTML5 UP
 | 
			
		||||
@ -43,39 +41,41 @@
 | 
			
		||||
@import 'components/header';
 | 
			
		||||
@import 'components/banner';
 | 
			
		||||
@import 'components/contact';
 | 
			
		||||
@import 'components/highlighting';
 | 
			
		||||
 | 
			
		||||
/* Main */
 | 
			
		||||
 | 
			
		||||
#main {
 | 
			
		||||
 | 
			
		||||
  > header:before {
 | 
			
		||||
    content: "";
 | 
			
		||||
    position: fixed;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    left: 0;
 | 
			
		||||
    right: 0;
 | 
			
		||||
    z-index: -1;
 | 
			
		||||
 | 
			
		||||
    display: block;
 | 
			
		||||
    background-image: inherit;
 | 
			
		||||
    background-size: cover;
 | 
			
		||||
    background-position: center;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
 | 
			
		||||
    filter: blur(3px) brightness(40%);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  > header {
 | 
			
		||||
    @include padding(12em, 0);
 | 
			
		||||
    @include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
 | 
			
		||||
    position: relative;
 | 
			
		||||
    background-attachment: fixed;
 | 
			
		||||
    background-position: center center;
 | 
			
		||||
    background-repeat: no-repeat;
 | 
			
		||||
    background-size: cover;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    z-index: -2;
 | 
			
		||||
 | 
			
		||||
    > * {
 | 
			
		||||
      position: relative;
 | 
			
		||||
      z-index: 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .header-image {
 | 
			
		||||
      position: absolute;
 | 
			
		||||
      top: 0;
 | 
			
		||||
      left: 0;
 | 
			
		||||
      right: 0;
 | 
			
		||||
      bottom: 0;
 | 
			
		||||
      background-attachment: fixed;
 | 
			
		||||
      background-position: center center;
 | 
			
		||||
      background-repeat: no-repeat;
 | 
			
		||||
      background-size: cover;
 | 
			
		||||
      z-index: 0;
 | 
			
		||||
      filter: blur(3px) brightness(40%);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    h2 {
 | 
			
		||||
      font-size: 1.75em;
 | 
			
		||||
      margin: 0 0 (_size(element-margin) * 0.25) 0;
 | 
			
		||||
@ -142,12 +142,17 @@ body.is-mobile {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .copyright {
 | 
			
		||||
  .copyright, .cotech-text {
 | 
			
		||||
    font-size: 0.8em;
 | 
			
		||||
    letter-spacing: _size(letter-spacing-alt);
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
    
 | 
			
		||||
    text-transform: uppercase;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .copyright {
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    padding: 0.25em 0;
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    li {
 | 
			
		||||
      border-left: solid 1px _palette(fg-light);
 | 
			
		||||
@ -179,21 +184,46 @@ body.is-mobile {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .row {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    margin: 0 10%;
 | 
			
		||||
    flex-wrap: wrap;
 | 
			
		||||
    justify-content: space-evenly;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .column {
 | 
			
		||||
    flex: 50%;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .cotech-box {
 | 
			
		||||
    padding-bottom: 1em;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .cotech-text {
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  .cotech-logo {
 | 
			
		||||
    height: 1em;
 | 
			
		||||
    vertical-align: text-bottom;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(medium) {
 | 
			
		||||
    @include padding(4em, 3em);
 | 
			
		||||
    @include padding(4em, 0em);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @include breakpoint(small) {
 | 
			
		||||
    @include padding(3em, 2em);
 | 
			
		||||
    @include padding(3em, 0em);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Landing */
 | 
			
		||||
 | 
			
		||||
body.landing {
 | 
			
		||||
  #page-wrapper {
 | 
			
		||||
    @include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
 | 
			
		||||
    background-attachment: fixed;
 | 
			
		||||
    background-position: center center;
 | 
			
		||||
    background-repeat: no-repeat;
 | 
			
		||||
@ -218,7 +248,6 @@ body.is-mobile {
 | 
			
		||||
 | 
			
		||||
    #banner,
 | 
			
		||||
    .wrapper.style4 {
 | 
			
		||||
      @include vendor('background-image', ('linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.5))', 'url("../../assets/images/banner.jpg")'));
 | 
			
		||||
      background-position: center center;
 | 
			
		||||
      background-repeat: no-repeat;
 | 
			
		||||
      background-size: cover;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								src/assets/svg/creative-commons-brands.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1 @@
 | 
			
		||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="creative-commons" class="svg-inline--fa fa-creative-commons fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="rgba(255,255,255,0.9)" d="M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
							
								
								
									
										1
									
								
								src/assets/svg/mastodon-brands.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1 @@
 | 
			
		||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="mastodon" class="svg-inline--fa fa-mastodon fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="#fff" d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 843 B  | 
							
								
								
									
										1
									
								
								src/assets/svg/twitter-brands.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1 @@
 | 
			
		||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" class="svg-inline--fa fa-twitter fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#fff" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1017 B  | 
@ -2,4 +2,5 @@
 | 
			
		||||
layout: default
 | 
			
		||||
title: Home
 | 
			
		||||
description: Autonomic Co-operative.
 | 
			
		||||
meta_description: Autonomic is a tech co-operative that builds and runs infrastructure to help people make a positive impact on the world.
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||