`s.
+
+.nav {
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: $nav-link-padding-y $nav-link-padding-x;
+
+ @include hover-focus {
+ text-decoration: none;
+ }
+
+ // Disabled state lightens text
+ &.disabled {
+ color: $nav-link-disabled-color;
+ }
+}
+
+//
+// Tabs
+//
+
+.nav-tabs {
+ border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
+
+ .nav-item {
+ margin-bottom: -$nav-tabs-border-width;
+ }
+
+ .nav-link {
+ border: $nav-tabs-border-width solid transparent;
+ @include border-top-radius($nav-tabs-border-radius);
+
+ @include hover-focus {
+ border-color: $nav-tabs-link-hover-border-color;
+ }
+
+ &.disabled {
+ color: $nav-link-disabled-color;
+ background-color: transparent;
+ border-color: transparent;
+ }
+ }
+
+ .nav-link.active,
+ .nav-item.show .nav-link {
+ color: $nav-tabs-link-active-color;
+ background-color: $nav-tabs-link-active-bg;
+ border-color: $nav-tabs-link-active-border-color;
+ }
+
+ .dropdown-menu {
+ // Make dropdown border overlap tab border
+ margin-top: -$nav-tabs-border-width;
+ // Remove the top rounded corners here since there is a hard edge above the menu
+ @include border-top-radius(0);
+ }
+}
+
+
+//
+// Pills
+//
+
+.nav-pills {
+ .nav-link {
+ @include border-radius($nav-pills-border-radius);
+ }
+
+ .nav-link.active,
+ .show > .nav-link {
+ color: $nav-pills-link-active-color;
+ background-color: $nav-pills-link-active-bg;
+ }
+}
+
+
+//
+// Justified variants
+//
+
+.nav-fill {
+ .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
+ }
+}
+
+.nav-justified {
+ .nav-item {
+ flex-basis: 0;
+ flex-grow: 1;
+ text-align: center;
+ }
+}
+
+
+// Tabbable tabs
+//
+// Hide tabbable panes to start, show them when `.active`
+
+.tab-content {
+ > .tab-pane {
+ display: none;
+ }
+ > .active {
+ display: block;
+ }
+}
diff --git a/src/scss/_bootstrap/_navbar.scss b/src/scss/_bootstrap/_navbar.scss
new file mode 100644
index 00000000..8d68c6c8
--- /dev/null
+++ b/src/scss/_bootstrap/_navbar.scss
@@ -0,0 +1,311 @@
+// Contents
+//
+// Navbar
+// Navbar brand
+// Navbar nav
+// Navbar text
+// Navbar divider
+// Responsive navbar
+// Navbar position
+// Navbar themes
+
+
+// Navbar
+//
+// Provide a static navbar from which we expand to create full-width, fixed, and
+// other navbar variations.
+
+.navbar {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap; // allow us to do the line break for collapsing content
+ align-items: center;
+ justify-content: space-between; // space out brand from logo
+ padding: $navbar-padding-y $navbar-padding-x;
+
+ // Because flex properties aren't inherited, we need to redeclare these first
+ // few properities so that content nested within behave properly.
+ > .container,
+ > .container-fluid {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ }
+}
+
+
+// Navbar brand
+//
+// Used for brand, project, or site names.
+
+.navbar-brand {
+ display: inline-block;
+ padding-top: $navbar-brand-padding-y;
+ padding-bottom: $navbar-brand-padding-y;
+ margin-right: $navbar-padding-x;
+ font-size: $navbar-brand-font-size;
+ line-height: inherit;
+ white-space: nowrap;
+
+ @include hover-focus {
+ text-decoration: none;
+ }
+}
+
+
+// Navbar nav
+//
+// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).
+
+.navbar-nav {
+ display: flex;
+ flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+
+ .nav-link {
+ padding-right: 0;
+ padding-left: 0;
+ }
+
+ .dropdown-menu {
+ position: static;
+ float: none;
+ }
+}
+
+
+// Navbar text
+//
+//
+
+.navbar-text {
+ display: inline-block;
+ padding-top: $nav-link-padding-y;
+ padding-bottom: $nav-link-padding-y;
+}
+
+
+// Responsive navbar
+//
+// Custom styles for responsive collapsing and toggling of navbar contents.
+// Powered by the collapse Bootstrap JavaScript plugin.
+
+// When collapsed, prevent the toggleable navbar contents from appearing in
+// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`
+// on the `.navbar` parent.
+.navbar-collapse {
+ flex-basis: 100%;
+ flex-grow: 1;
+ // For always expanded or extra full navbars, ensure content aligns itself
+ // properly vertically. Can be easily overridden with flex utilities.
+ align-items: center;
+}
+
+// Button for toggling the navbar when in its collapsed state
+.navbar-toggler {
+ padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
+ font-size: $navbar-toggler-font-size;
+ line-height: 1;
+ background-color: transparent; // remove default button style
+ border: $border-width solid transparent; // remove default button style
+ @include border-radius($navbar-toggler-border-radius);
+
+ @include hover-focus {
+ text-decoration: none;
+ }
+
+ // Opinionated: add "hand" cursor to non-disabled .navbar-toggler elements
+ &:not(:disabled):not(.disabled) {
+ cursor: pointer;
+ }
+}
+
+// Keep as a separate element so folks can easily override it with another icon
+// or image file as needed.
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ content: "";
+ background: no-repeat center center;
+ background-size: 100% 100%;
+}
+
+// Generate series of `.navbar-expand-*` responsive classes for configuring
+// where your navbar collapses.
+.navbar-expand {
+ @each $breakpoint in map-keys($grid-breakpoints) {
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
+ $infix: breakpoint-infix($next, $grid-breakpoints);
+
+ {$infix} {
+ @include media-breakpoint-down($breakpoint) {
+ > .container,
+ > .container-fluid {
+ padding-right: 0;
+ padding-left: 0;
+ }
+ }
+
+ @include media-breakpoint-up($next) {
+ flex-flow: row nowrap;
+ justify-content: flex-start;
+
+ .navbar-nav {
+ flex-direction: row;
+
+ .dropdown-menu {
+ position: absolute;
+ }
+
+ .dropdown-menu-right {
+ right: 0;
+ left: auto; // Reset the default from `.dropdown-menu`
+ }
+
+ .nav-link {
+ padding-right: $navbar-nav-link-padding-x;
+ padding-left: $navbar-nav-link-padding-x;
+ }
+ }
+
+ // For nesting containers, have to redeclare for alignment purposes
+ > .container,
+ > .container-fluid {
+ flex-wrap: nowrap;
+ }
+
+ .navbar-collapse {
+ display: flex !important; // stylelint-disable-line declaration-no-important
+
+ // Changes flex-bases to auto because of an IE10 bug
+ flex-basis: auto;
+ }
+
+ .navbar-toggler {
+ display: none;
+ }
+
+ .dropup {
+ .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ }
+ }
+ }
+ }
+ }
+}
+
+
+// Navbar themes
+//
+// Styles for switching between navbars with light or dark background.
+
+// Dark links against a light background
+.navbar-light {
+ .navbar-brand {
+ color: $navbar-light-active-color;
+
+ @include hover-focus {
+ color: $navbar-light-active-color;
+ }
+ }
+
+ .navbar-nav {
+ .nav-link {
+ color: $navbar-light-color;
+
+ @include hover-focus {
+ color: $navbar-light-hover-color;
+ }
+
+ &.disabled {
+ color: $navbar-light-disabled-color;
+ }
+ }
+
+ .show > .nav-link,
+ .active > .nav-link,
+ .nav-link.show,
+ .nav-link.active {
+ color: $navbar-light-active-color;
+ }
+ }
+
+ .navbar-toggler {
+ color: $navbar-light-color;
+ border-color: $navbar-light-toggler-border-color;
+ }
+
+ .navbar-toggler-icon {
+ background-image: $navbar-light-toggler-icon-bg;
+ }
+
+ .navbar-text {
+ color: $navbar-light-color;
+ a {
+ color: $navbar-light-active-color;
+
+ @include hover-focus {
+ color: $navbar-light-active-color;
+ }
+ }
+ }
+}
+
+// White links against a dark background
+.navbar-dark {
+ .navbar-brand {
+ color: $navbar-dark-active-color;
+
+ @include hover-focus {
+ color: $navbar-dark-active-color;
+ }
+ }
+
+ .navbar-nav {
+ .nav-link {
+ color: $navbar-dark-color;
+
+ @include hover-focus {
+ color: $navbar-dark-hover-color;
+ }
+
+ &.disabled {
+ color: $navbar-dark-disabled-color;
+ }
+ }
+
+ .show > .nav-link,
+ .active > .nav-link,
+ .nav-link.show,
+ .nav-link.active {
+ color: $navbar-dark-active-color;
+ }
+ }
+
+ .navbar-toggler {
+ color: $navbar-dark-color;
+ border-color: $navbar-dark-toggler-border-color;
+ }
+
+ .navbar-toggler-icon {
+ background-image: $navbar-dark-toggler-icon-bg;
+ }
+
+ .navbar-text {
+ color: $navbar-dark-color;
+ a {
+ color: $navbar-dark-active-color;
+
+ @include hover-focus {
+ color: $navbar-dark-active-color;
+ }
+ }
+ }
+}
diff --git a/src/scss/_bootstrap/_pagination.scss b/src/scss/_bootstrap/_pagination.scss
new file mode 100644
index 00000000..959b2eb4
--- /dev/null
+++ b/src/scss/_bootstrap/_pagination.scss
@@ -0,0 +1,77 @@
+.pagination {
+ display: flex;
+ @include list-unstyled();
+ @include border-radius();
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ padding: $pagination-padding-y $pagination-padding-x;
+ margin-left: -$pagination-border-width;
+ line-height: $pagination-line-height;
+ color: $pagination-color;
+ background-color: $pagination-bg;
+ border: $pagination-border-width solid $pagination-border-color;
+
+ &:hover {
+ color: $pagination-hover-color;
+ text-decoration: none;
+ background-color: $pagination-hover-bg;
+ border-color: $pagination-hover-border-color;
+ }
+
+ &:focus {
+ z-index: 2;
+ outline: 0;
+ box-shadow: $pagination-focus-box-shadow;
+ }
+
+ // Opinionated: add "hand" cursor to non-disabled .page-link elements
+ &:not(:disabled):not(.disabled) {
+ cursor: pointer;
+ }
+}
+
+.page-item {
+ &:first-child {
+ .page-link {
+ margin-left: 0;
+ @include border-left-radius($border-radius);
+ }
+ }
+ &:last-child {
+ .page-link {
+ @include border-right-radius($border-radius);
+ }
+ }
+
+ &.active .page-link {
+ z-index: 1;
+ color: $pagination-active-color;
+ background-color: $pagination-active-bg;
+ border-color: $pagination-active-border-color;
+ }
+
+ &.disabled .page-link {
+ color: $pagination-disabled-color;
+ pointer-events: none;
+ // Opinionated: remove the "hand" cursor set previously for .page-link
+ cursor: auto;
+ background-color: $pagination-disabled-bg;
+ border-color: $pagination-disabled-border-color;
+ }
+}
+
+
+//
+// Sizing
+//
+
+.pagination-lg {
+ @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);
+}
+
+.pagination-sm {
+ @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);
+}
diff --git a/src/scss/_bootstrap/_popover.scss b/src/scss/_bootstrap/_popover.scss
new file mode 100644
index 00000000..3ef5f628
--- /dev/null
+++ b/src/scss/_bootstrap/_popover.scss
@@ -0,0 +1,183 @@
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: $zindex-popover;
+ display: block;
+ max-width: $popover-max-width;
+ // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
+ // So reset our font and text properties to avoid inheriting weird values.
+ @include reset-text();
+ font-size: $popover-font-size;
+ // Allow breaking very long words so they don't overflow the popover's bounds
+ word-wrap: break-word;
+ background-color: $popover-bg;
+ background-clip: padding-box;
+ border: $popover-border-width solid $popover-border-color;
+ @include border-radius($popover-border-radius);
+ @include box-shadow($popover-box-shadow);
+
+ .arrow {
+ position: absolute;
+ display: block;
+ width: $popover-arrow-width;
+ height: $popover-arrow-height;
+ margin: 0 $border-radius-lg;
+
+ &::before,
+ &::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ }
+ }
+}
+
+.bs-popover-top {
+ margin-bottom: $popover-arrow-height;
+
+ .arrow {
+ bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
+ }
+
+ .arrow::before,
+ .arrow::after {
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
+ }
+
+ .arrow::before {
+ bottom: 0;
+ border-top-color: $popover-arrow-outer-color;
+ }
+
+ .arrow::after {
+ bottom: $popover-border-width;
+ border-top-color: $popover-arrow-color;
+ }
+}
+
+.bs-popover-right {
+ margin-left: $popover-arrow-height;
+
+ .arrow {
+ left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
+ width: $popover-arrow-height;
+ height: $popover-arrow-width;
+ margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
+ }
+
+ .arrow::before,
+ .arrow::after {
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
+ }
+
+ .arrow::before {
+ left: 0;
+ border-right-color: $popover-arrow-outer-color;
+ }
+
+ .arrow::after {
+ left: $popover-border-width;
+ border-right-color: $popover-arrow-color;
+ }
+}
+
+.bs-popover-bottom {
+ margin-top: $popover-arrow-height;
+
+ .arrow {
+ top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
+ }
+
+ .arrow::before,
+ .arrow::after {
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
+ }
+
+ .arrow::before {
+ top: 0;
+ border-bottom-color: $popover-arrow-outer-color;
+ }
+
+ .arrow::after {
+ top: $popover-border-width;
+ border-bottom-color: $popover-arrow-color;
+ }
+
+ // This will remove the popover-header's border just below the arrow
+ .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: $popover-arrow-width;
+ margin-left: ($popover-arrow-width / -2);
+ content: "";
+ border-bottom: $popover-border-width solid $popover-header-bg;
+ }
+}
+
+.bs-popover-left {
+ margin-right: $popover-arrow-height;
+
+ .arrow {
+ right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
+ width: $popover-arrow-height;
+ height: $popover-arrow-width;
+ margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
+ }
+
+ .arrow::before,
+ .arrow::after {
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
+ }
+
+ .arrow::before {
+ right: 0;
+ border-left-color: $popover-arrow-outer-color;
+ }
+
+ .arrow::after {
+ right: $popover-border-width;
+ border-left-color: $popover-arrow-color;
+ }
+}
+
+.bs-popover-auto {
+ &[x-placement^="top"] {
+ @extend .bs-popover-top;
+ }
+ &[x-placement^="right"] {
+ @extend .bs-popover-right;
+ }
+ &[x-placement^="bottom"] {
+ @extend .bs-popover-bottom;
+ }
+ &[x-placement^="left"] {
+ @extend .bs-popover-left;
+ }
+}
+
+
+// Offset the popover to account for the popover arrow
+.popover-header {
+ padding: $popover-header-padding-y $popover-header-padding-x;
+ margin-bottom: 0; // Reset the default from Reboot
+ font-size: $font-size-base;
+ color: $popover-header-color;
+ background-color: $popover-header-bg;
+ border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);
+ $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});
+ @include border-top-radius($offset-border-width);
+
+ &:empty {
+ display: none;
+ }
+}
+
+.popover-body {
+ padding: $popover-body-padding-y $popover-body-padding-x;
+ color: $popover-body-color;
+}
diff --git a/src/scss/_bootstrap/_print.scss b/src/scss/_bootstrap/_print.scss
new file mode 100644
index 00000000..5e2ce3a8
--- /dev/null
+++ b/src/scss/_bootstrap/_print.scss
@@ -0,0 +1,124 @@
+// stylelint-disable declaration-no-important, selector-no-qualifying-type
+
+// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
+
+// ==========================================================================
+// Print styles.
+// Inlined to avoid the additional HTTP request:
+// http://www.phpied.com/delay-loading-your-print-css/
+// ==========================================================================
+
+@if $enable-print-styles {
+ @media print {
+ *,
+ *::before,
+ *::after {
+ // Bootstrap specific; comment out `color` and `background`
+ //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953
+ text-shadow: none !important;
+ //background: transparent !important;
+ box-shadow: none !important;
+ }
+
+ a {
+ &:not(.btn) {
+ text-decoration: underline;
+ }
+ }
+
+ // Bootstrap specific; comment the following selector out
+ //a[href]::after {
+ // content: " (" attr(href) ")";
+ //}
+
+ abbr[title]::after {
+ content: " (" attr(title) ")";
+ }
+
+ // Bootstrap specific; comment the following selector out
+ //
+ // Don't show links that are fragment identifiers,
+ // or use the `javascript:` pseudo protocol
+ //
+
+ //a[href^="#"]::after,
+ //a[href^="javascript:"]::after {
+ // content: "";
+ //}
+
+ pre {
+ white-space: pre-wrap !important;
+ }
+ pre,
+ blockquote {
+ border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px
+ page-break-inside: avoid;
+ }
+
+ //
+ // Printing Tables:
+ // http://css-discuss.incutio.com/wiki/Printing_Tables
+ //
+
+ thead {
+ display: table-header-group;
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+
+ // Bootstrap specific changes start
+
+ // Specify a size and min-width to make printing closer across browsers.
+ // We don't set margin here because it breaks `size` in Chrome. We also
+ // don't use `!important` on `size` as it breaks in Chrome.
+ @page {
+ size: $print-page-size;
+ }
+ body {
+ min-width: $print-body-min-width !important;
+ }
+ .container {
+ min-width: $print-body-min-width !important;
+ }
+
+ // Bootstrap components
+ .navbar {
+ display: none;
+ }
+ .badge {
+ border: $border-width solid #000;
+ }
+
+ .table {
+ border-collapse: collapse !important;
+
+ td,
+ th {
+ background-color: #fff !important;
+ }
+ }
+ .table-bordered {
+ th,
+ td {
+ border: 1px solid #ddd !important;
+ }
+ }
+
+ // Bootstrap specific changes end
+ }
+}
diff --git a/src/scss/_bootstrap/_progress.scss b/src/scss/_bootstrap/_progress.scss
new file mode 100644
index 00000000..a5811168
--- /dev/null
+++ b/src/scss/_bootstrap/_progress.scss
@@ -0,0 +1,33 @@
+@keyframes progress-bar-stripes {
+ from { background-position: $progress-height 0; }
+ to { background-position: 0 0; }
+}
+
+.progress {
+ display: flex;
+ height: $progress-height;
+ overflow: hidden; // force rounded corners by cropping it
+ font-size: $progress-font-size;
+ background-color: $progress-bg;
+ @include border-radius($progress-border-radius);
+ @include box-shadow($progress-box-shadow);
+}
+
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ color: $progress-bar-color;
+ text-align: center;
+ background-color: $progress-bar-bg;
+ @include transition($progress-bar-transition);
+}
+
+.progress-bar-striped {
+ @include gradient-striped();
+ background-size: $progress-height $progress-height;
+}
+
+.progress-bar-animated {
+ animation: progress-bar-stripes $progress-bar-animation-timing;
+}
diff --git a/src/scss/_bootstrap/_reboot.scss b/src/scss/_bootstrap/_reboot.scss
new file mode 100644
index 00000000..c79fa474
--- /dev/null
+++ b/src/scss/_bootstrap/_reboot.scss
@@ -0,0 +1,482 @@
+// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
+
+// Reboot
+//
+// Normalization of HTML elements, manually forked from Normalize.css to remove
+// styles targeting irrelevant browsers while applying new styles.
+//
+// Normalize is licensed MIT. https://github.com/necolas/normalize.css
+
+
+// Document
+//
+// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
+// 2. Change the default font family in all browsers.
+// 3. Correct the line height in all browsers.
+// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
+// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so
+// we force a non-overlapping, non-auto-hiding scrollbar to counteract.
+// 6. Change the default tap highlight to be completely transparent in iOS.
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box; // 1
+}
+
+html {
+ font-family: sans-serif; // 2
+ line-height: 1.15; // 3
+ -webkit-text-size-adjust: 100%; // 4
+ -ms-text-size-adjust: 100%; // 4
+ -ms-overflow-style: scrollbar; // 5
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6
+}
+
+// IE10+ doesn't honor `` in some cases.
+@at-root {
+ @-ms-viewport {
+ width: device-width;
+ }
+}
+
+// stylelint-disable selector-list-comma-newline-after
+// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+ display: block;
+}
+// stylelint-enable selector-list-comma-newline-after
+
+// Body
+//
+// 1. Remove the margin in all browsers.
+// 2. As a best practice, apply a default `background-color`.
+// 3. Set an explicit initial text-align value so that we can later use the
+// the `inherit` value on things like `` elements.
+
+body {
+ margin: 0; // 1
+ font-family: $font-family-base;
+ font-size: $font-size-base;
+ font-weight: $font-weight-base;
+ line-height: $line-height-base;
+ color: $body-color;
+ text-align: left; // 3
+ background-color: $body-bg; // 2
+}
+
+// Suppress the focus outline on elements that cannot be accessed via keyboard.
+// This prevents an unwanted focus outline from appearing around elements that
+// might still respond to pointer events.
+//
+// Credit: https://github.com/suitcss/base
+[tabindex="-1"]:focus {
+ outline: 0 !important;
+}
+
+
+// Content grouping
+//
+// 1. Add the correct box sizing in Firefox.
+// 2. Show the overflow in Edge and IE.
+
+hr {
+ box-sizing: content-box; // 1
+ height: 0; // 1
+ overflow: visible; // 2
+}
+
+
+//
+// Typography
+//
+
+// Remove top margins from headings
+//
+// By default, ``-`` all receive top and bottom margins. We nuke the top
+// margin for easier control within type scales as it avoids margin collapsing.
+// stylelint-disable selector-list-comma-newline-after
+h1, h2, h3, h4, h5, h6 {
+ margin-top: 0;
+ margin-bottom: $headings-margin-bottom;
+}
+// stylelint-enable selector-list-comma-newline-after
+
+// Reset margins on paragraphs
+//
+// Similarly, the top margin on ``s get reset. However, we also reset the
+// bottom margin to use `rem` units instead of `em`.
+p {
+ margin-top: 0;
+ margin-bottom: $paragraph-margin-bottom;
+}
+
+// Abbreviations
+//
+// 1. Remove the bottom border in Firefox 39-.
+// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+// 3. Add explicit cursor to indicate changed behavior.
+// 4. Duplicate behavior to the data-* attribute for our tooltip plugin
+
+abbr[title],
+abbr[data-original-title] { // 4
+ text-decoration: underline; // 2
+ text-decoration: underline dotted; // 2
+ cursor: help; // 3
+ border-bottom: 0; // 1
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: $dt-font-weight;
+}
+
+dd {
+ margin-bottom: .5rem;
+ margin-left: 0; // Undo browser default
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+dfn {
+ font-style: italic; // Add the correct font style in Android 4.3-
+}
+
+// stylelint-disable font-weight-notation
+b,
+strong {
+ font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari
+}
+// stylelint-enable font-weight-notation
+
+small {
+ font-size: 80%; // Add the correct font size in all browsers
+}
+
+//
+// Prevent `sub` and `sup` elements from affecting the line height in
+// all browsers.
+//
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub { bottom: -.25em; }
+sup { top: -.5em; }
+
+
+//
+// Links
+//
+
+a {
+ color: $link-color;
+ text-decoration: $link-decoration;
+ background-color: transparent; // Remove the gray background on active links in IE 10.
+ -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.
+
+ @include hover {
+ color: $link-hover-color;
+ text-decoration: $link-hover-decoration;
+ }
+}
+
+// And undo these styles for placeholder links/named anchors (without href)
+// which have not been made explicitly keyboard-focusable (without tabindex).
+// It would be more straightforward to just use a[href] in previous block, but that
+// causes specificity issues in many other styles that are too complex to fix.
+// See https://github.com/twbs/bootstrap/issues/19402
+
+a:not([href]):not([tabindex]) {
+ color: inherit;
+ text-decoration: none;
+
+ @include hover-focus {
+ color: inherit;
+ text-decoration: none;
+ }
+
+ &:focus {
+ outline: 0;
+ }
+}
+
+
+//
+// Code
+//
+
+// stylelint-disable font-family-no-duplicate-names
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.
+ font-size: 1em; // Correct the odd `em` font sizing in all browsers.
+}
+// stylelint-enable font-family-no-duplicate-names
+
+pre {
+ // Remove browser default top margin
+ margin-top: 0;
+ // Reset browser default of `1em` to use `rem`s
+ margin-bottom: 1rem;
+ // Don't allow content to break outside
+ overflow: auto;
+ // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so
+ // we force a non-overlapping, non-auto-hiding scrollbar to counteract.
+ -ms-overflow-style: scrollbar;
+}
+
+
+//
+// Figures
+//
+
+figure {
+ // Apply a consistent margin strategy (matches our type styles).
+ margin: 0 0 1rem;
+}
+
+
+//
+// Images and content
+//
+
+img {
+ vertical-align: middle;
+ border-style: none; // Remove the border on images inside links in IE 10-.
+}
+
+svg:not(:root) {
+ overflow: hidden; // Hide the overflow in IE
+}
+
+
+//
+// Tables
+//
+
+table {
+ border-collapse: collapse; // Prevent double borders
+}
+
+caption {
+ padding-top: $table-cell-padding;
+ padding-bottom: $table-cell-padding;
+ color: $text-muted;
+ text-align: left;
+ caption-side: bottom;
+}
+
+th {
+ // Matches default ` | ` alignment by inheriting from the ``, or the
+ // closest parent with a set `text-align`.
+ text-align: inherit;
+}
+
+
+//
+// Forms
+//
+
+label {
+ // Allow labels to use `margin` for spacing.
+ display: inline-block;
+ margin-bottom: .5rem;
+}
+
+// Remove the default `border-radius` that macOS Chrome adds.
+//
+// Details at https://github.com/twbs/bootstrap/issues/24093
+button {
+ border-radius: 0;
+}
+
+// Work around a Firefox/IE bug where the transparent `button` background
+// results in a loss of the default `button` focus styles.
+//
+// Credit: https://github.com/suitcss/base/
+button:focus {
+ outline: 1px dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0; // Remove the margin in Firefox and Safari
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+input {
+ overflow: visible; // Show the overflow in Edge
+}
+
+button,
+select {
+ text-transform: none; // Remove the inheritance of text transform in Firefox
+}
+
+// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+// controls in Android 4.
+// 2. Correct the inability to style clickable types in iOS and Safari.
+button,
+html [type="button"], // 1
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; // 2
+}
+
+// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
+ padding: 0; // 2. Remove the padding in IE 10-
+}
+
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+ // Remove the default appearance of temporal inputs to avoid a Mobile Safari
+ // bug where setting a custom line-height prevents text from being vertically
+ // centered within the input.
+ // See https://bugs.webkit.org/show_bug.cgi?id=139848
+ // and https://github.com/twbs/bootstrap/issues/11266
+ -webkit-appearance: listbox;
+}
+
+textarea {
+ overflow: auto; // Remove the default vertical scrollbar in IE.
+ // Textareas should really only resize vertically so they don't break their (horizontal) containers.
+ resize: vertical;
+}
+
+fieldset {
+ // Browsers set a default `min-width: min-content;` on fieldsets,
+ // unlike e.g. ` `s, which have `min-width: 0;` by default.
+ // So we reset that to ensure fieldsets behave more like a standard block element.
+ // See https://github.com/twbs/bootstrap/issues/12359
+ // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
+ min-width: 0;
+ // Reset the default outline behavior of fieldsets so they don't affect page layout.
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+// 1. Correct the text wrapping in Edge and IE.
+// 2. Correct the color inheritance from `fieldset` elements in IE.
+legend {
+ display: block;
+ width: 100%;
+ max-width: 100%; // 1
+ padding: 0;
+ margin-bottom: .5rem;
+ font-size: 1.5rem;
+ line-height: inherit;
+ color: inherit; // 2
+ white-space: normal; // 1
+}
+
+progress {
+ vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
+}
+
+// Correct the cursor style of increment and decrement buttons in Chrome.
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+[type="search"] {
+ // This overrides the extra rounded corners on search inputs in iOS so that our
+ // `.form-control` class can properly style them. Note that this cannot simply
+ // be added to `.form-control` as it's not specific enough. For details, see
+ // https://github.com/twbs/bootstrap/issues/11586.
+ outline-offset: -2px; // 2. Correct the outline style in Safari.
+ -webkit-appearance: none;
+}
+
+//
+// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+//
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+//
+// 1. Correct the inability to style clickable types in iOS and Safari.
+// 2. Change font properties to `inherit` in Safari.
+//
+
+::-webkit-file-upload-button {
+ font: inherit; // 2
+ -webkit-appearance: button; // 1
+}
+
+//
+// Correct element displays
+//
+
+output {
+ display: inline-block;
+}
+
+summary {
+ display: list-item; // Add the correct display in all browsers
+ cursor: pointer;
+}
+
+template {
+ display: none; // Add the correct display in IE
+}
+
+// Always hide an element with the `hidden` HTML attribute (from PureCSS).
+// Needed for proper display in IE 10-.
+[hidden] {
+ display: none !important;
+}
diff --git a/src/scss/_bootstrap/_root.scss b/src/scss/_bootstrap/_root.scss
new file mode 100644
index 00000000..ad550df3
--- /dev/null
+++ b/src/scss/_bootstrap/_root.scss
@@ -0,0 +1,19 @@
+:root {
+ // Custom variable values only support SassScript inside `#{}`.
+ @each $color, $value in $colors {
+ --#{$color}: #{$value};
+ }
+
+ @each $color, $value in $theme-colors {
+ --#{$color}: #{$value};
+ }
+
+ @each $bp, $value in $grid-breakpoints {
+ --breakpoint-#{$bp}: #{$value};
+ }
+
+ // Use `inspect` for lists so that quoted items keep the quotes.
+ // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
+ --font-family-sans-serif: #{inspect($font-family-sans-serif)};
+ --font-family-monospace: #{inspect($font-family-monospace)};
+}
diff --git a/src/scss/_bootstrap/_tables.scss b/src/scss/_bootstrap/_tables.scss
new file mode 100644
index 00000000..0e3b1198
--- /dev/null
+++ b/src/scss/_bootstrap/_tables.scss
@@ -0,0 +1,180 @@
+//
+// Basic Bootstrap table
+//
+
+.table {
+ width: 100%;
+ max-width: 100%;
+ margin-bottom: $spacer;
+ background-color: $table-bg; // Reset for nesting within parents with `background-color`.
+
+ th,
+ td {
+ padding: $table-cell-padding;
+ vertical-align: top;
+ border-top: $table-border-width solid $table-border-color;
+ }
+
+ thead th {
+ vertical-align: bottom;
+ border-bottom: (2 * $table-border-width) solid $table-border-color;
+ }
+
+ tbody + tbody {
+ border-top: (2 * $table-border-width) solid $table-border-color;
+ }
+
+ .table {
+ background-color: $body-bg;
+ }
+}
+
+
+//
+// Condensed table w/ half padding
+//
+
+.table-sm {
+ th,
+ td {
+ padding: $table-cell-padding-sm;
+ }
+}
+
+
+// Bordered version
+//
+// Add borders all around the table and between all the columns.
+
+.table-bordered {
+ border: $table-border-width solid $table-border-color;
+
+ th,
+ td {
+ border: $table-border-width solid $table-border-color;
+ }
+
+ thead {
+ th,
+ td {
+ border-bottom-width: (2 * $table-border-width);
+ }
+ }
+}
+
+
+// Zebra-striping
+//
+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
+
+.table-striped {
+ tbody tr:nth-of-type(odd) {
+ background-color: $table-accent-bg;
+ }
+}
+
+
+// Hover effect
+//
+// Placed here since it has to come after the potential zebra striping
+
+.table-hover {
+ tbody tr {
+ @include hover {
+ background-color: $table-hover-bg;
+ }
+ }
+}
+
+
+// Table backgrounds
+//
+// Exact selectors below required to override `.table-striped` and prevent
+// inheritance to nested tables.
+
+@each $color, $value in $theme-colors {
+ @include table-row-variant($color, theme-color-level($color, -9));
+}
+
+@include table-row-variant(active, $table-active-bg);
+
+
+// Dark styles
+//
+// Same table markup, but inverted color scheme: dark background and light text.
+
+// stylelint-disable-next-line no-duplicate-selectors
+.table {
+ .thead-dark {
+ th {
+ color: $table-dark-color;
+ background-color: $table-dark-bg;
+ border-color: $table-dark-border-color;
+ }
+ }
+
+ .thead-light {
+ th {
+ color: $table-head-color;
+ background-color: $table-head-bg;
+ border-color: $table-border-color;
+ }
+ }
+}
+
+.table-dark {
+ color: $table-dark-color;
+ background-color: $table-dark-bg;
+
+ th,
+ td,
+ thead th {
+ border-color: $table-dark-border-color;
+ }
+
+ &.table-bordered {
+ border: 0;
+ }
+
+ &.table-striped {
+ tbody tr:nth-of-type(odd) {
+ background-color: $table-dark-accent-bg;
+ }
+ }
+
+ &.table-hover {
+ tbody tr {
+ @include hover {
+ background-color: $table-dark-hover-bg;
+ }
+ }
+ }
+}
+
+
+// Responsive tables
+//
+// Generate series of `.table-responsive-*` classes for configuring the screen
+// size of where your table will overflow.
+
+.table-responsive {
+ @each $breakpoint in map-keys($grid-breakpoints) {
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
+ $infix: breakpoint-infix($next, $grid-breakpoints);
+
+ {$infix} {
+ @include media-breakpoint-down($breakpoint) {
+ display: block;
+ width: 100%;
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
+
+ // Prevent double border on horizontal scroll due to use of `display: block;`
+ > .table-bordered {
+ border: 0;
+ }
+ }
+ }
+ }
+}
diff --git a/src/scss/_bootstrap/_tooltip.scss b/src/scss/_bootstrap/_tooltip.scss
new file mode 100644
index 00000000..12c23d25
--- /dev/null
+++ b/src/scss/_bootstrap/_tooltip.scss
@@ -0,0 +1,113 @@
+// Base class
+.tooltip {
+ position: absolute;
+ z-index: $zindex-tooltip;
+ display: block;
+ margin: $tooltip-margin;
+ // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
+ // So reset our font and text properties to avoid inheriting weird values.
+ @include reset-text();
+ font-size: $tooltip-font-size;
+ // Allow breaking very long words so they don't overflow the tooltip's bounds
+ word-wrap: break-word;
+ opacity: 0;
+
+ &.show { opacity: $tooltip-opacity; }
+
+ .arrow {
+ position: absolute;
+ display: block;
+ width: $tooltip-arrow-width;
+ height: $tooltip-arrow-height;
+
+ &::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ }
+ }
+}
+
+.bs-tooltip-top {
+ padding: $tooltip-arrow-height 0;
+
+ .arrow {
+ bottom: 0;
+
+ &::before {
+ top: 0;
+ border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
+ border-top-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-right {
+ padding: 0 $tooltip-arrow-height;
+
+ .arrow {
+ left: 0;
+ width: $tooltip-arrow-height;
+ height: $tooltip-arrow-width;
+
+ &::before {
+ right: 0;
+ border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
+ border-right-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-bottom {
+ padding: $tooltip-arrow-height 0;
+
+ .arrow {
+ top: 0;
+
+ &::before {
+ bottom: 0;
+ border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
+ border-bottom-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-left {
+ padding: 0 $tooltip-arrow-height;
+
+ .arrow {
+ right: 0;
+ width: $tooltip-arrow-height;
+ height: $tooltip-arrow-width;
+
+ &::before {
+ left: 0;
+ border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
+ border-left-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-auto {
+ &[x-placement^="top"] {
+ @extend .bs-tooltip-top;
+ }
+ &[x-placement^="right"] {
+ @extend .bs-tooltip-right;
+ }
+ &[x-placement^="bottom"] {
+ @extend .bs-tooltip-bottom;
+ }
+ &[x-placement^="left"] {
+ @extend .bs-tooltip-left;
+ }
+}
+
+// Wrapper for the tooltip content
+.tooltip-inner {
+ max-width: $tooltip-max-width;
+ padding: $tooltip-padding-y $tooltip-padding-x;
+ text-align: center;
+ @include border-radius($tooltip-border-radius);
+}
diff --git a/src/scss/_bootstrap/_transitions.scss b/src/scss/_bootstrap/_transitions.scss
new file mode 100644
index 00000000..62fe0a81
--- /dev/null
+++ b/src/scss/_bootstrap/_transitions.scss
@@ -0,0 +1,44 @@
+// stylelint-disable selector-no-qualifying-type
+
+.fade {
+ opacity: 0;
+ @include transition($transition-fade);
+
+ &.show {
+ opacity: 1;
+ }
+}
+
+.collapse {
+ display: none;
+ &.show {
+ display: block;
+ }
+}
+
+tr {
+ &.collapse.show {
+ display: table-row;
+ }
+}
+
+tbody {
+ &.collapse.show {
+ display: table-row-group;
+ }
+}
+
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ @include transition($transition-collapse);
+}
+
+.rotate-left {
+ -webkit-transform: rotate(-90deg);
+ -moz-transform: rotate(-90deg);
+ -o-transform: rotate(-90deg);
+ -ms-transform: rotate(-90deg);
+ transform: rotate(-90deg);
+}
diff --git a/src/scss/_bootstrap/_type.scss b/src/scss/_bootstrap/_type.scss
new file mode 100644
index 00000000..57d610f0
--- /dev/null
+++ b/src/scss/_bootstrap/_type.scss
@@ -0,0 +1,125 @@
+// stylelint-disable declaration-no-important, selector-list-comma-newline-after
+
+//
+// Headings
+//
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+ margin-bottom: $headings-margin-bottom;
+ font-family: $headings-font-family;
+ font-weight: $headings-font-weight;
+ line-height: $headings-line-height;
+ color: $headings-color;
+}
+
+h1, .h1 { font-size: $h1-font-size; }
+h2, .h2 { font-size: $h2-font-size; }
+h3, .h3 { font-size: $h3-font-size; }
+h4, .h4 { font-size: $h4-font-size; }
+h5, .h5 { font-size: $h5-font-size; }
+h6, .h6 { font-size: $h6-font-size; }
+
+.lead {
+ font-size: $lead-font-size;
+ font-weight: $lead-font-weight;
+}
+
+// Type display classes
+.display-1 {
+ font-size: $display1-size;
+ font-weight: $display1-weight;
+ line-height: $display-line-height;
+}
+.display-2 {
+ font-size: $display2-size;
+ font-weight: $display2-weight;
+ line-height: $display-line-height;
+}
+.display-3 {
+ font-size: $display3-size;
+ font-weight: $display3-weight;
+ line-height: $display-line-height;
+}
+.display-4 {
+ font-size: $display4-size;
+ font-weight: $display4-weight;
+ line-height: $display-line-height;
+}
+
+
+//
+// Horizontal rules
+//
+
+hr {
+ margin-top: $hr-margin-y;
+ margin-bottom: $hr-margin-y;
+ border: 0;
+ border-top: $hr-border-width solid $hr-border-color;
+}
+
+
+//
+// Emphasis
+//
+
+small,
+.small {
+ font-size: $small-font-size;
+ font-weight: $font-weight-normal;
+}
+
+mark,
+.mark {
+ padding: $mark-padding;
+ background-color: $mark-bg;
+}
+
+
+//
+// Lists
+//
+
+.list-unstyled {
+ @include list-unstyled;
+}
+
+// Inline turns list items into inline-block
+.list-inline {
+ @include list-unstyled;
+}
+.list-inline-item {
+ display: inline-block;
+
+ &:not(:last-child) {
+ margin-right: $list-inline-padding;
+ }
+}
+
+
+//
+// Misc
+//
+
+// Builds on `abbr`
+.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+
+// Blockquotes
+.blockquote {
+ margin-bottom: $spacer;
+ font-size: $blockquote-font-size;
+}
+
+.blockquote-footer {
+ display: block;
+ font-size: 80%; // back to default font-size
+ color: $blockquote-small-color;
+
+ &::before {
+ content: "\2014 \00A0"; // em dash, nbsp
+ }
+}
diff --git a/src/scss/_bootstrap/_utilities.scss b/src/scss/_bootstrap/_utilities.scss
new file mode 100644
index 00000000..7b2a1ebe
--- /dev/null
+++ b/src/scss/_bootstrap/_utilities.scss
@@ -0,0 +1,14 @@
+@import "utilities/align";
+@import "utilities/background";
+@import "utilities/borders";
+@import "utilities/clearfix";
+@import "utilities/display";
+@import "utilities/embed";
+@import "utilities/flex";
+@import "utilities/float";
+@import "utilities/position";
+@import "utilities/screenreaders";
+@import "utilities/sizing";
+@import "utilities/spacing";
+@import "utilities/text";
+@import "utilities/visibility";
diff --git a/src/scss/_bootstrap/_variables.scss b/src/scss/_bootstrap/_variables.scss
new file mode 100644
index 00000000..be580deb
--- /dev/null
+++ b/src/scss/_bootstrap/_variables.scss
@@ -0,0 +1,894 @@
+// Variables
+//
+// Variables should follow the `$component-state-property-size` formula for
+// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
+
+
+//
+// Color system
+//
+
+// stylelint-disable
+$white: #fff !default;
+$gray-100: #f8f9fa !default;
+$gray-200: #e9ecef !default;
+$gray-300: #dee2e6 !default;
+$gray-400: #ced4da !default;
+$gray-500: #adb5bd !default;
+$gray-600: #6c757d !default;
+$gray-700: #495057 !default;
+$gray-800: #343a40 !default;
+$gray-900: #212529 !default;
+$black: #000 !default;
+
+$grays: () !default;
+$grays: map-merge((
+ "100": $gray-100,
+ "200": $gray-200,
+ "300": $gray-300,
+ "400": $gray-400,
+ "500": $gray-500,
+ "600": $gray-600,
+ "700": $gray-700,
+ "800": $gray-800,
+ "900": $gray-900
+), $grays);
+
+$blue: #007bff !default;
+$indigo: #6610f2 !default;
+$purple: #6f42c1 !default;
+$pink: #e83e8c !default;
+$red: #dc3545 !default;
+$orange: #fd7e14 !default;
+$yellow: #ffc107 !default;
+$green: #28a745 !default;
+$teal: #20c997 !default;
+$cyan: #17a2b8 !default;
+
+$colors: () !default;
+$colors: map-merge((
+ "blue": $blue,
+ "indigo": $indigo,
+ "purple": $purple,
+ "pink": $pink,
+ "red": $red,
+ "orange": $orange,
+ "yellow": $yellow,
+ "green": $green,
+ "teal": $teal,
+ "cyan": $cyan,
+ "white": $white,
+ "gray": $gray-600,
+ "gray-dark": $gray-800
+), $colors);
+
+$primary: $blue !default;
+$secondary: $gray-600 !default;
+$success: $green !default;
+$info: $cyan !default;
+$warning: $yellow !default;
+$danger: $red !default;
+$light: $gray-100 !default;
+$dark: $gray-800 !default;
+
+$theme-colors: () !default;
+$theme-colors: map-merge((
+ "primary": $primary,
+ "secondary": $secondary,
+ "success": $success,
+ "info": $info,
+ "warning": $warning,
+ "danger": $danger,
+ "light": $light,
+ "dark": $dark
+), $theme-colors);
+// stylelint-enable
+
+// Set a specific jump point for requesting color jumps
+$theme-color-interval: 8% !default;
+
+// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
+$yiq-contrasted-threshold: 150 !default;
+
+// Customize the light and dark text colors for use in our YIQ color contrast function.
+$yiq-text-dark: $gray-900 !default;
+$yiq-text-light: $white !default;
+
+// Options
+//
+// Quickly modify global styling by enabling or disabling optional features.
+
+$enable-caret: true !default;
+$enable-rounded: true !default;
+$enable-shadows: false !default;
+$enable-gradients: false !default;
+$enable-transitions: true !default;
+$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
+$enable-grid-classes: true !default;
+$enable-print-styles: true !default;
+
+
+// Spacing
+//
+// Control the default styling of most Bootstrap elements by modifying these
+// variables. Mostly focused on spacing.
+// You can add more entries to the $spacers map, should you need more variation.
+
+// stylelint-disable
+$spacer: 1rem !default;
+$spacers: () !default;
+$spacers: map-merge((
+ 0: 0,
+ 1: ($spacer * .25),
+ 2: ($spacer * .5),
+ 3: $spacer,
+ 4: ($spacer * 1.5),
+ 5: ($spacer * 3)
+), $spacers);
+
+// This variable affects the `.h-*` and `.w-*` classes.
+$sizes: () !default;
+$sizes: map-merge((
+ 25: 25%,
+ 50: 50%,
+ 75: 75%,
+ 100: 100%
+), $sizes);
+// stylelint-enable
+
+// Body
+//
+// Settings for the `` element.
+
+$body-bg: $white !default;
+$body-color: $gray-900 !default;
+
+// Links
+//
+// Style anchor elements.
+
+$link-color: theme-color("primary") !default;
+$link-decoration: none !default;
+$link-hover-color: darken($link-color, 15%) !default;
+$link-hover-decoration: underline !default;
+
+// Paragraphs
+//
+// Style p element.
+
+$paragraph-margin-bottom: 1rem !default;
+
+
+// Grid breakpoints
+//
+// Define the minimum dimensions at which your layout will change,
+// adapting to different screen sizes, for use in media queries.
+
+$grid-breakpoints: (
+ xs: 0,
+ sm: 576px,
+ md: 768px,
+ lg: 992px,
+ xl: 1200px
+) !default;
+
+@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
+@include _assert-starts-at-zero($grid-breakpoints);
+
+
+// Grid containers
+//
+// Define the maximum width of `.container` for different screen sizes.
+
+$container-max-widths: (
+ sm: 540px,
+ md: 720px,
+ lg: 960px,
+ xl: 1140px
+) !default;
+
+@include _assert-ascending($container-max-widths, "$container-max-widths");
+
+
+// Grid columns
+//
+// Set the number of columns and specify the width of the gutters.
+
+$grid-columns: 12 !default;
+$grid-gutter-width: 30px !default;
+
+// Components
+//
+// Define common padding and border radius sizes and more.
+
+$line-height-lg: 1.5 !default;
+$line-height-sm: 1.5 !default;
+
+$border-width: 1px !default;
+$border-color: $gray-300 !default;
+
+$border-radius: .25rem !default;
+$border-radius-lg: .3rem !default;
+$border-radius-sm: .2rem !default;
+
+$component-active-color: $white !default;
+$component-active-bg: theme-color("primary") !default;
+
+$caret-width: .3em !default;
+
+$transition-base: all .2s ease-in-out !default;
+$transition-fade: opacity .15s linear !default;
+$transition-collapse: height .35s ease !default;
+
+
+// Fonts
+//
+// Font, line-height, and color for body text, headings, and more.
+
+// stylelint-disable value-keyword-case
+$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
+$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
+$font-family-base: $font-family-sans-serif !default;
+// stylelint-enable value-keyword-case
+
+$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
+$font-size-lg: ($font-size-base * 1.25) !default;
+$font-size-sm: ($font-size-base * .875) !default;
+
+$font-weight-light: 300 !default;
+$font-weight-normal: 400 !default;
+$font-weight-bold: 700 !default;
+
+$font-weight-base: $font-weight-normal !default;
+$line-height-base: 1.5 !default;
+
+$h1-font-size: $font-size-base * 2.5 !default;
+$h2-font-size: $font-size-base * 2 !default;
+$h3-font-size: $font-size-base * 1.75 !default;
+$h4-font-size: $font-size-base * 1.5 !default;
+$h5-font-size: $font-size-base * 1.25 !default;
+$h6-font-size: $font-size-base !default;
+
+$headings-margin-bottom: ($spacer / 2) !default;
+$headings-font-family: inherit !default;
+$headings-font-weight: 500 !default;
+$headings-line-height: 1.2 !default;
+$headings-color: inherit !default;
+
+$display1-size: 6rem !default;
+$display2-size: 5.5rem !default;
+$display3-size: 4.5rem !default;
+$display4-size: 3.5rem !default;
+
+$display1-weight: 300 !default;
+$display2-weight: 300 !default;
+$display3-weight: 300 !default;
+$display4-weight: 300 !default;
+$display-line-height: $headings-line-height !default;
+
+$lead-font-size: ($font-size-base * 1.25) !default;
+$lead-font-weight: 300 !default;
+
+$small-font-size: 80% !default;
+
+$text-muted: $gray-600 !default;
+
+$blockquote-small-color: $gray-600 !default;
+$blockquote-font-size: ($font-size-base * 1.25) !default;
+
+$hr-border-color: rgba($black, .1) !default;
+$hr-border-width: $border-width !default;
+
+$mark-padding: .2em !default;
+
+$dt-font-weight: $font-weight-bold !default;
+
+$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;
+$nested-kbd-font-weight: $font-weight-bold !default;
+
+$list-inline-padding: .5rem !default;
+
+$mark-bg: #fcf8e3 !default;
+
+$hr-margin-y: $spacer !default;
+
+
+// Tables
+//
+// Customizes the `.table` component with basic values, each used across all table variations.
+
+$table-cell-padding: .75rem !default;
+$table-cell-padding-sm: .3rem !default;
+
+$table-bg: transparent !default;
+$table-accent-bg: rgba($black, .05) !default;
+$table-hover-bg: rgba($black, .075) !default;
+$table-active-bg: $table-hover-bg !default;
+
+$table-border-width: $border-width !default;
+$table-border-color: $gray-300 !default;
+
+$table-head-bg: $gray-200 !default;
+$table-head-color: $gray-700 !default;
+
+$table-dark-bg: $gray-900 !default;
+$table-dark-accent-bg: rgba($white, .05) !default;
+$table-dark-hover-bg: rgba($white, .075) !default;
+$table-dark-border-color: lighten($gray-900, 7.5%) !default;
+$table-dark-color: $body-bg !default;
+
+
+// Buttons + Forms
+//
+// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
+
+$input-btn-padding-y: .375rem !default;
+$input-btn-padding-x: .75rem !default;
+$input-btn-line-height: $line-height-base !default;
+
+$input-btn-focus-width: .2rem !default;
+$input-btn-focus-color: rgba($component-active-bg, .25) !default;
+$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;
+
+$input-btn-padding-y-sm: .25rem !default;
+$input-btn-padding-x-sm: .5rem !default;
+$input-btn-line-height-sm: $line-height-sm !default;
+
+$input-btn-padding-y-lg: .5rem !default;
+$input-btn-padding-x-lg: 1rem !default;
+$input-btn-line-height-lg: $line-height-lg !default;
+
+$input-btn-border-width: $border-width !default;
+
+
+// Buttons
+//
+// For each of Bootstrap's buttons, define text, background, and border color.
+
+$btn-padding-y: $input-btn-padding-y !default;
+$btn-padding-x: $input-btn-padding-x !default;
+$btn-line-height: $input-btn-line-height !default;
+
+$btn-padding-y-sm: $input-btn-padding-y-sm !default;
+$btn-padding-x-sm: $input-btn-padding-x-sm !default;
+$btn-line-height-sm: $input-btn-line-height-sm !default;
+
+$btn-padding-y-lg: $input-btn-padding-y-lg !default;
+$btn-padding-x-lg: $input-btn-padding-x-lg !default;
+$btn-line-height-lg: $input-btn-line-height-lg !default;
+
+$btn-border-width: $input-btn-border-width !default;
+
+$btn-font-weight: $font-weight-normal !default;
+$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;
+$btn-focus-width: $input-btn-focus-width !default;
+$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;
+$btn-disabled-opacity: .65 !default;
+$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;
+
+$btn-link-disabled-color: $gray-600 !default;
+
+$btn-block-spacing-y: .5rem !default;
+
+// Allows for customizing button radius independently from global border radius
+$btn-border-radius: $border-radius !default;
+$btn-border-radius-lg: $border-radius-lg !default;
+$btn-border-radius-sm: $border-radius-sm !default;
+
+$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
+
+
+// Forms
+
+$input-padding-y: $input-btn-padding-y !default;
+$input-padding-x: $input-btn-padding-x !default;
+$input-line-height: $input-btn-line-height !default;
+
+$input-padding-y-sm: $input-btn-padding-y-sm !default;
+$input-padding-x-sm: $input-btn-padding-x-sm !default;
+$input-line-height-sm: $input-btn-line-height-sm !default;
+
+$input-padding-y-lg: $input-btn-padding-y-lg !default;
+$input-padding-x-lg: $input-btn-padding-x-lg !default;
+$input-line-height-lg: $input-btn-line-height-lg !default;
+
+$input-bg: $white !default;
+$input-disabled-bg: $gray-200 !default;
+
+$input-color: $gray-700 !default;
+$input-border-color: $gray-400 !default;
+$input-border-width: $input-btn-border-width !default;
+$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;
+
+$input-border-radius: $border-radius !default;
+$input-border-radius-lg: $border-radius-lg !default;
+$input-border-radius-sm: $border-radius-sm !default;
+
+$input-focus-bg: $input-bg !default;
+$input-focus-border-color: lighten($component-active-bg, 25%) !default;
+$input-focus-color: $input-color !default;
+$input-focus-width: $input-btn-focus-width !default;
+$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
+
+$input-placeholder-color: $gray-600 !default;
+
+$input-height-border: $input-border-width * 2 !default;
+
+$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
+$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
+
+$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;
+$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;
+
+$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;
+$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;
+
+$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
+
+$form-text-margin-top: .25rem !default;
+
+$form-check-input-gutter: 1.25rem !default;
+$form-check-input-margin-y: .3rem !default;
+$form-check-input-margin-x: .25rem !default;
+
+$form-check-inline-margin-x: .75rem !default;
+$form-check-inline-input-margin-x: .3125rem !default;
+
+$form-group-margin-bottom: 1rem !default;
+
+$input-group-addon-color: $input-color !default;
+$input-group-addon-bg: $gray-200 !default;
+$input-group-addon-border-color: $input-border-color !default;
+
+$custom-control-gutter: 1.5rem !default;
+$custom-control-spacer-x: 1rem !default;
+
+$custom-control-indicator-size: 1rem !default;
+$custom-control-indicator-bg: $gray-300 !default;
+$custom-control-indicator-bg-size: 50% 50% !default;
+$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
+
+$custom-control-indicator-disabled-bg: $gray-200 !default;
+$custom-control-label-disabled-color: $gray-600 !default;
+
+$custom-control-indicator-checked-color: $component-active-color !default;
+$custom-control-indicator-checked-bg: $component-active-bg !default;
+$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
+$custom-control-indicator-checked-box-shadow: none !default;
+
+$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
+
+$custom-control-indicator-active-color: $component-active-color !default;
+$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
+$custom-control-indicator-active-box-shadow: none !default;
+
+$custom-checkbox-indicator-border-radius: $border-radius !default;
+$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
+
+$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
+$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
+$custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
+$custom-checkbox-indicator-indeterminate-box-shadow: none !default;
+
+$custom-radio-indicator-border-radius: 50% !default;
+$custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
+
+$custom-select-padding-y: .375rem !default;
+$custom-select-padding-x: .75rem !default;
+$custom-select-height: $input-height !default;
+$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
+$custom-select-line-height: $input-btn-line-height !default;
+$custom-select-color: $input-color !default;
+$custom-select-disabled-color: $gray-600 !default;
+$custom-select-bg: $white !default;
+$custom-select-disabled-bg: $gray-200 !default;
+$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
+$custom-select-indicator-color: $gray-800 !default;
+$custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
+$custom-select-border-width: $input-btn-border-width !default;
+$custom-select-border-color: $input-border-color !default;
+$custom-select-border-radius: $border-radius !default;
+
+$custom-select-focus-border-color: $input-focus-border-color !default;
+$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
+
+$custom-select-font-size-sm: 75% !default;
+$custom-select-height-sm: $input-height-sm !default;
+
+$custom-select-font-size-lg: 125% !default;
+$custom-select-height-lg: $input-height-lg !default;
+
+$custom-file-height: $input-height !default;
+$custom-file-focus-border-color: $input-focus-border-color !default;
+$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
+
+$custom-file-padding-y: $input-btn-padding-y !default;
+$custom-file-padding-x: $input-btn-padding-x !default;
+$custom-file-line-height: $input-btn-line-height !default;
+$custom-file-color: $input-color !default;
+$custom-file-bg: $input-bg !default;
+$custom-file-border-width: $input-btn-border-width !default;
+$custom-file-border-color: $input-border-color !default;
+$custom-file-border-radius: $input-border-radius !default;
+$custom-file-box-shadow: $input-box-shadow !default;
+$custom-file-button-color: $custom-file-color !default;
+$custom-file-button-bg: $input-group-addon-bg !default;
+$custom-file-text: (
+ en: "Browse"
+) !default;
+
+
+// Form validation
+$form-feedback-margin-top: $form-text-margin-top !default;
+$form-feedback-font-size: $small-font-size !default;
+$form-feedback-valid-color: theme-color("success") !default;
+$form-feedback-invalid-color: theme-color("danger") !default;
+
+
+// Dropdowns
+//
+// Dropdown menu container and contents.
+
+$dropdown-min-width: 10rem !default;
+$dropdown-padding-y: .5rem !default;
+$dropdown-spacer: .125rem !default;
+$dropdown-bg: $white !default;
+$dropdown-border-color: rgba($black, .15) !default;
+$dropdown-border-radius: $border-radius !default;
+$dropdown-border-width: $border-width !default;
+$dropdown-divider-bg: $gray-200 !default;
+$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
+
+$dropdown-link-color: $gray-900 !default;
+$dropdown-link-hover-color: darken($gray-900, 5%) !default;
+$dropdown-link-hover-bg: $gray-100 !default;
+
+$dropdown-link-active-color: $component-active-color !default;
+$dropdown-link-active-bg: $component-active-bg !default;
+
+$dropdown-link-disabled-color: $gray-600 !default;
+
+$dropdown-item-padding-y: .25rem !default;
+$dropdown-item-padding-x: 1.5rem !default;
+
+$dropdown-header-color: $gray-600 !default;
+
+
+// Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+
+$zindex-dropdown: 1000 !default;
+$zindex-sticky: 1020 !default;
+$zindex-fixed: 1030 !default;
+$zindex-modal-backdrop: 1040 !default;
+$zindex-modal: 1050 !default;
+$zindex-popover: 1060 !default;
+$zindex-tooltip: 1070 !default;
+
+// Navs
+
+$nav-link-padding-y: .5rem !default;
+$nav-link-padding-x: 1rem !default;
+$nav-link-disabled-color: $gray-600 !default;
+
+$nav-tabs-border-color: $gray-300 !default;
+$nav-tabs-border-width: $border-width !default;
+$nav-tabs-border-radius: $border-radius !default;
+$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;
+$nav-tabs-link-active-color: $gray-700 !default;
+$nav-tabs-link-active-bg: $body-bg !default;
+$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;
+
+$nav-pills-border-radius: $border-radius !default;
+$nav-pills-link-active-color: $component-active-color !default;
+$nav-pills-link-active-bg: $component-active-bg !default;
+
+// Navbar
+
+$navbar-padding-y: ($spacer / 2) !default;
+$navbar-padding-x: $spacer !default;
+
+$navbar-nav-link-padding-x: .5rem !default;
+
+$navbar-brand-font-size: $font-size-lg !default;
+// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
+$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;
+$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
+$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
+
+$navbar-toggler-padding-y: .25rem !default;
+$navbar-toggler-padding-x: .75rem !default;
+$navbar-toggler-font-size: $font-size-lg !default;
+$navbar-toggler-border-radius: $btn-border-radius !default;
+
+$navbar-dark-color: rgba($white, .5) !default;
+$navbar-dark-hover-color: rgba($white, .75) !default;
+$navbar-dark-active-color: $white !default;
+$navbar-dark-disabled-color: rgba($white, .25) !default;
+$navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
+$navbar-dark-toggler-border-color: rgba($white, .1) !default;
+
+$navbar-light-color: rgba($black, .5) !default;
+$navbar-light-hover-color: rgba($black, .7) !default;
+$navbar-light-active-color: rgba($black, .9) !default;
+$navbar-light-disabled-color: rgba($black, .3) !default;
+$navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
+$navbar-light-toggler-border-color: rgba($black, .1) !default;
+
+// Pagination
+
+$pagination-padding-y: .5rem !default;
+$pagination-padding-x: .75rem !default;
+$pagination-padding-y-sm: .25rem !default;
+$pagination-padding-x-sm: .5rem !default;
+$pagination-padding-y-lg: .75rem !default;
+$pagination-padding-x-lg: 1.5rem !default;
+$pagination-line-height: 1.25 !default;
+
+$pagination-color: $link-color !default;
+$pagination-bg: $white !default;
+$pagination-border-width: $border-width !default;
+$pagination-border-color: $gray-300 !default;
+
+$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
+
+$pagination-hover-color: $link-hover-color !default;
+$pagination-hover-bg: $gray-200 !default;
+$pagination-hover-border-color: $gray-300 !default;
+
+$pagination-active-color: $component-active-color !default;
+$pagination-active-bg: $component-active-bg !default;
+$pagination-active-border-color: $pagination-active-bg !default;
+
+$pagination-disabled-color: $gray-600 !default;
+$pagination-disabled-bg: $white !default;
+$pagination-disabled-border-color: $gray-300 !default;
+
+
+// Jumbotron
+
+$jumbotron-padding: 2rem !default;
+$jumbotron-bg: $gray-200 !default;
+
+
+// Cards
+
+$card-spacer-y: .75rem !default;
+$card-spacer-x: 1.25rem !default;
+$card-border-width: $border-width !default;
+$card-border-radius: $border-radius !default;
+$card-border-color: rgba($black, .125) !default;
+$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;
+$card-cap-bg: rgba($black, .03) !default;
+$card-bg: $white !default;
+
+$card-img-overlay-padding: 1.25rem !default;
+
+$card-group-margin: ($grid-gutter-width / 2) !default;
+$card-deck-margin: $card-group-margin !default;
+
+$card-columns-count: 3 !default;
+$card-columns-gap: 1.25rem !default;
+$card-columns-margin: $card-spacer-y !default;
+
+
+// Tooltips
+
+$tooltip-font-size: $font-size-sm !default;
+$tooltip-max-width: 200px !default;
+$tooltip-color: $white !default;
+$tooltip-bg: $black !default;
+$tooltip-border-radius: $border-radius !default;
+$tooltip-opacity: .9 !default;
+$tooltip-padding-y: .25rem !default;
+$tooltip-padding-x: .5rem !default;
+$tooltip-margin: 0 !default;
+
+$tooltip-arrow-width: .8rem !default;
+$tooltip-arrow-height: .4rem !default;
+$tooltip-arrow-color: $tooltip-bg !default;
+
+
+// Popovers
+
+$popover-font-size: $font-size-sm !default;
+$popover-bg: $white !default;
+$popover-max-width: 276px !default;
+$popover-border-width: $border-width !default;
+$popover-border-color: rgba($black, .2) !default;
+$popover-border-radius: $border-radius-lg !default;
+$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
+
+$popover-header-bg: darken($popover-bg, 3%) !default;
+$popover-header-color: $headings-color !default;
+$popover-header-padding-y: .5rem !default;
+$popover-header-padding-x: .75rem !default;
+
+$popover-body-color: $body-color !default;
+$popover-body-padding-y: $popover-header-padding-y !default;
+$popover-body-padding-x: $popover-header-padding-x !default;
+
+$popover-arrow-width: 1rem !default;
+$popover-arrow-height: .5rem !default;
+$popover-arrow-color: $popover-bg !default;
+
+$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
+
+
+// Badges
+
+$badge-font-size: 75% !default;
+$badge-font-weight: $font-weight-bold !default;
+$badge-padding-y: .25em !default;
+$badge-padding-x: .4em !default;
+$badge-border-radius: $border-radius !default;
+
+$badge-pill-padding-x: .6em !default;
+// Use a higher than normal value to ensure completely rounded edges when
+// customizing padding or font-size on labels.
+$badge-pill-border-radius: 10rem !default;
+
+
+// Modals
+
+// Padding applied to the modal body
+$modal-inner-padding: 1rem !default;
+
+$modal-dialog-margin: .5rem !default;
+$modal-dialog-margin-y-sm-up: 1.75rem !default;
+
+$modal-title-line-height: $line-height-base !default;
+
+$modal-content-bg: $white !default;
+$modal-content-border-color: rgba($black, .2) !default;
+$modal-content-border-width: $border-width !default;
+$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
+$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
+
+$modal-backdrop-bg: $black !default;
+$modal-backdrop-opacity: .5 !default;
+$modal-header-border-color: $gray-200 !default;
+$modal-footer-border-color: $modal-header-border-color !default;
+$modal-header-border-width: $modal-content-border-width !default;
+$modal-footer-border-width: $modal-header-border-width !default;
+$modal-header-padding: 1rem !default;
+
+$modal-lg: 800px !default;
+$modal-md: 500px !default;
+$modal-sm: 300px !default;
+
+$modal-transition: transform .3s ease-out !default;
+
+
+// Alerts
+//
+// Define alert colors, border radius, and padding.
+
+$alert-padding-y: .75rem !default;
+$alert-padding-x: 1.25rem !default;
+$alert-margin-bottom: 1rem !default;
+$alert-border-radius: $border-radius !default;
+$alert-link-font-weight: $font-weight-bold !default;
+$alert-border-width: $border-width !default;
+
+$alert-bg-level: -10 !default;
+$alert-border-level: -9 !default;
+$alert-color-level: 6 !default;
+
+
+// Progress bars
+
+$progress-height: 1rem !default;
+$progress-font-size: ($font-size-base * .75) !default;
+$progress-bg: $gray-200 !default;
+$progress-border-radius: $border-radius !default;
+$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;
+$progress-bar-color: $white !default;
+$progress-bar-bg: theme-color("primary") !default;
+$progress-bar-animation-timing: 1s linear infinite !default;
+$progress-bar-transition: width .6s ease !default;
+
+// List group
+
+$list-group-bg: $white !default;
+$list-group-border-color: rgba($black, .125) !default;
+$list-group-border-width: $border-width !default;
+$list-group-border-radius: $border-radius !default;
+
+$list-group-item-padding-y: .75rem !default;
+$list-group-item-padding-x: 1.25rem !default;
+
+$list-group-hover-bg: $gray-100 !default;
+$list-group-active-color: $component-active-color !default;
+$list-group-active-bg: $component-active-bg !default;
+$list-group-active-border-color: $list-group-active-bg !default;
+
+$list-group-disabled-color: $gray-600 !default;
+$list-group-disabled-bg: $list-group-bg !default;
+
+$list-group-action-color: $gray-700 !default;
+$list-group-action-hover-color: $list-group-action-color !default;
+
+$list-group-action-active-color: $body-color !default;
+$list-group-action-active-bg: $gray-200 !default;
+
+
+// Image thumbnails
+
+$thumbnail-padding: .25rem !default;
+$thumbnail-bg: $body-bg !default;
+$thumbnail-border-width: $border-width !default;
+$thumbnail-border-color: $gray-300 !default;
+$thumbnail-border-radius: $border-radius !default;
+$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;
+
+
+// Figures
+
+$figure-caption-font-size: 90% !default;
+$figure-caption-color: $gray-600 !default;
+
+
+// Breadcrumbs
+
+$breadcrumb-padding-y: .75rem !default;
+$breadcrumb-padding-x: 1rem !default;
+$breadcrumb-item-padding: .5rem !default;
+
+$breadcrumb-margin-bottom: 1rem !default;
+
+$breadcrumb-bg: $gray-200 !default;
+$breadcrumb-divider-color: $gray-600 !default;
+$breadcrumb-active-color: $gray-600 !default;
+$breadcrumb-divider: "/" !default;
+
+
+// Carousel
+
+$carousel-control-color: $white !default;
+$carousel-control-width: 15% !default;
+$carousel-control-opacity: .5 !default;
+
+$carousel-indicator-width: 30px !default;
+$carousel-indicator-height: 3px !default;
+$carousel-indicator-spacer: 3px !default;
+$carousel-indicator-active-bg: $white !default;
+
+$carousel-caption-width: 70% !default;
+$carousel-caption-color: $white !default;
+
+$carousel-control-icon-width: 20px !default;
+
+$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
+$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
+
+$carousel-transition: transform .6s ease !default;
+
+
+// Close
+
+$close-font-size: $font-size-base * 1.5 !default;
+$close-font-weight: $font-weight-bold !default;
+$close-color: $black !default;
+$close-text-shadow: 0 1px 0 $white !default;
+
+// Code
+
+$code-font-size: 87.5% !default;
+$code-color: $pink !default;
+
+$kbd-padding-y: .2rem !default;
+$kbd-padding-x: .4rem !default;
+$kbd-font-size: $code-font-size !default;
+$kbd-color: $white !default;
+$kbd-bg: $gray-900 !default;
+
+$pre-color: $gray-900 !default;
+$pre-scrollable-max-height: 340px !default;
+
+
+// Printing
+$print-page-size: a3 !default;
+$print-body-min-width: map-get($grid-breakpoints, "lg") !default;
diff --git a/src/scss/_bootstrap/bootstrap-grid.scss b/src/scss/_bootstrap/bootstrap-grid.scss
new file mode 100644
index 00000000..26c0dc89
--- /dev/null
+++ b/src/scss/_bootstrap/bootstrap-grid.scss
@@ -0,0 +1,32 @@
+/*!
+ * Bootstrap Grid v4.0.0 (https://getbootstrap.com)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+@at-root {
+ @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix
+}
+
+html {
+ box-sizing: border-box;
+ -ms-overflow-style: scrollbar;
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: inherit;
+}
+
+@import "functions";
+@import "variables";
+
+@import "mixins/breakpoints";
+@import "mixins/grid-framework";
+@import "mixins/grid";
+
+@import "grid";
+@import "utilities/display";
+@import "utilities/flex";
diff --git a/src/scss/_bootstrap/bootstrap-reboot.scss b/src/scss/_bootstrap/bootstrap-reboot.scss
new file mode 100644
index 00000000..46c4610d
--- /dev/null
+++ b/src/scss/_bootstrap/bootstrap-reboot.scss
@@ -0,0 +1,12 @@
+/*!
+ * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
+ */
+
+@import "functions";
+@import "variables";
+@import "mixins";
+@import "reboot";
diff --git a/src/scss/_bootstrap/bootstrap.scss b/src/scss/_bootstrap/bootstrap.scss
new file mode 100644
index 00000000..bb5fac86
--- /dev/null
+++ b/src/scss/_bootstrap/bootstrap.scss
@@ -0,0 +1,42 @@
+/*!
+ * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+@import "functions";
+@import "variables";
+@import "mixins";
+@import "root";
+@import "reboot";
+@import "type";
+@import "images";
+@import "code";
+@import "grid";
+@import "tables";
+@import "forms";
+@import "buttons";
+@import "transitions";
+@import "dropdown";
+@import "button-group";
+@import "input-group";
+@import "custom-forms";
+@import "nav";
+@import "navbar";
+@import "card";
+@import "breadcrumb";
+@import "pagination";
+@import "badge";
+@import "jumbotron";
+@import "alert";
+@import "progress";
+@import "media";
+@import "list-group";
+@import "close";
+@import "modal";
+@import "tooltip";
+@import "popover";
+@import "carousel";
+@import "utilities";
+@import "print";
diff --git a/src/scss/_bootstrap/mixins/_alert.scss b/src/scss/_bootstrap/mixins/_alert.scss
new file mode 100644
index 00000000..db5a7eb4
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_alert.scss
@@ -0,0 +1,13 @@
+@mixin alert-variant($background, $border, $color) {
+ color: $color;
+ @include gradient-bg($background);
+ border-color: $border;
+
+ hr {
+ border-top-color: darken($border, 5%);
+ }
+
+ .alert-link {
+ color: darken($color, 10%);
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_background-variant.scss b/src/scss/_bootstrap/mixins/_background-variant.scss
new file mode 100644
index 00000000..494439d2
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_background-variant.scss
@@ -0,0 +1,21 @@
+// stylelint-disable declaration-no-important
+
+// Contextual backgrounds
+
+@mixin bg-variant($parent, $color) {
+ #{$parent} {
+ background-color: $color !important;
+ }
+ a#{$parent},
+ button#{$parent} {
+ @include hover-focus {
+ background-color: darken($color, 10%) !important;
+ }
+ }
+}
+
+@mixin bg-gradient-variant($parent, $color) {
+ #{$parent} {
+ background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_badge.scss b/src/scss/_bootstrap/mixins/_badge.scss
new file mode 100644
index 00000000..eeca0b40
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_badge.scss
@@ -0,0 +1,12 @@
+@mixin badge-variant($bg) {
+ color: color-yiq($bg);
+ background-color: $bg;
+
+ &[href] {
+ @include hover-focus {
+ color: color-yiq($bg);
+ text-decoration: none;
+ background-color: darken($bg, 10%);
+ }
+ }
+}
diff --git a/src/scss/mixins/_border-radius.scss b/src/scss/_bootstrap/mixins/_border-radius.scss
similarity index 100%
rename from src/scss/mixins/_border-radius.scss
rename to src/scss/_bootstrap/mixins/_border-radius.scss
diff --git a/src/scss/mixins/_box-shadow.scss b/src/scss/_bootstrap/mixins/_box-shadow.scss
similarity index 100%
rename from src/scss/mixins/_box-shadow.scss
rename to src/scss/_bootstrap/mixins/_box-shadow.scss
diff --git a/src/scss/_bootstrap/mixins/_breakpoints.scss b/src/scss/_bootstrap/mixins/_breakpoints.scss
new file mode 100644
index 00000000..d1ad684c
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_breakpoints.scss
@@ -0,0 +1,123 @@
+// Breakpoint viewport sizes and media queries.
+//
+// Breakpoints are defined as a map of (name: minimum width), order from small to large:
+//
+// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
+//
+// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
+
+// Name of the next breakpoint, or null for the last breakpoint.
+//
+// >> breakpoint-next(sm)
+// md
+// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// md
+// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
+// md
+@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
+ $n: index($breakpoint-names, $name);
+ @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
+}
+
+// Minimum breakpoint width. Null for the smallest (first) breakpoint.
+//
+// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// 576px
+@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
+ $min: map-get($breakpoints, $name);
+ @return if($min != 0, $min, null);
+}
+
+// Maximum breakpoint width. Null for the largest (last) breakpoint.
+// The maximum value is calculated as the minimum of the next one less 0.02px
+// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.
+// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max
+// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
+// See https://bugs.webkit.org/show_bug.cgi?id=178261
+//
+// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// 767.98px
+@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
+ $next: breakpoint-next($name, $breakpoints);
+ @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);
+}
+
+// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
+// Useful for making responsive utilities.
+//
+// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// "" (Returns a blank string)
+// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// "-sm"
+@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
+ @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
+}
+
+// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
+// Makes the @content apply to the given breakpoint and wider.
+@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
+ $min: breakpoint-min($name, $breakpoints);
+ @if $min {
+ @media (min-width: $min) {
+ @content;
+ }
+ } @else {
+ @content;
+ }
+}
+
+// Media of at most the maximum breakpoint width. No query for the largest breakpoint.
+// Makes the @content apply to the given breakpoint and narrower.
+@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
+ $max: breakpoint-max($name, $breakpoints);
+ @if $max {
+ @media (max-width: $max) {
+ @content;
+ }
+ } @else {
+ @content;
+ }
+}
+
+// Media that spans multiple breakpoint widths.
+// Makes the @content apply between the min and max breakpoints
+@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
+ $min: breakpoint-min($lower, $breakpoints);
+ $max: breakpoint-max($upper, $breakpoints);
+
+ @if $min != null and $max != null {
+ @media (min-width: $min) and (max-width: $max) {
+ @content;
+ }
+ } @else if $max == null {
+ @include media-breakpoint-up($lower, $breakpoints) {
+ @content;
+ }
+ } @else if $min == null {
+ @include media-breakpoint-down($upper, $breakpoints) {
+ @content;
+ }
+ }
+}
+
+// Media between the breakpoint's minimum and maximum widths.
+// No minimum for the smallest breakpoint, and no maximum for the largest one.
+// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
+@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
+ $min: breakpoint-min($name, $breakpoints);
+ $max: breakpoint-max($name, $breakpoints);
+
+ @if $min != null and $max != null {
+ @media (min-width: $min) and (max-width: $max) {
+ @content;
+ }
+ } @else if $max == null {
+ @include media-breakpoint-up($name, $breakpoints) {
+ @content;
+ }
+ } @else if $min == null {
+ @include media-breakpoint-down($name, $breakpoints) {
+ @content;
+ }
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_buttons.scss b/src/scss/_bootstrap/mixins/_buttons.scss
new file mode 100644
index 00000000..06ad6772
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_buttons.scss
@@ -0,0 +1,109 @@
+// Button variants
+//
+// Easily pump out default styles, as well as :hover, :focus, :active,
+// and disabled options for all buttons
+
+@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {
+ color: color-yiq($background);
+ @include gradient-bg($background);
+ border-color: $border;
+ @include box-shadow($btn-box-shadow);
+
+ @include hover {
+ color: color-yiq($hover-background);
+ @include gradient-bg($hover-background);
+ border-color: $hover-border;
+ }
+
+ &:focus,
+ &.focus {
+ // Avoid using mixin so we can pass custom focus shadow properly
+ @if $enable-shadows {
+ box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);
+ } @else {
+ box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
+ }
+ }
+
+ // Disabled comes first so active can properly restyle
+ &.disabled,
+ &:disabled {
+ color: color-yiq($background);
+ background-color: $background;
+ border-color: $border;
+ }
+
+ &:not(:disabled):not(.disabled):active,
+ &:not(:disabled):not(.disabled).active,
+ .show > &.dropdown-toggle {
+ color: color-yiq($active-background);
+ background-color: $active-background;
+ @if $enable-gradients {
+ background-image: none; // Remove the gradient for the pressed/active state
+ }
+ border-color: $active-border;
+
+ &:focus {
+ // Avoid using mixin so we can pass custom focus shadow properly
+ @if $enable-shadows {
+ box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);
+ } @else {
+ box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
+ }
+ }
+ }
+}
+
+@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {
+ color: $color;
+ background-color: transparent;
+ background-image: none;
+ border-color: $color;
+
+ &:hover {
+ color: $color-hover;
+ background-color: $active-background;
+ border-color: $active-border;
+ }
+
+ &:focus,
+ &.focus {
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
+ }
+
+ &.disabled,
+ &:disabled {
+ color: $color;
+ background-color: transparent;
+ }
+
+ &:not(:disabled):not(.disabled):active,
+ &:not(:disabled):not(.disabled).active,
+ .show > &.dropdown-toggle {
+ color: color-yiq($active-background);
+ background-color: $active-background;
+ border-color: $active-border;
+
+ &:focus {
+ // Avoid using mixin so we can pass custom focus shadow properly
+ @if $enable-shadows and $btn-active-box-shadow != none {
+ box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);
+ } @else {
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
+ }
+ }
+ }
+}
+
+// Button sizes
+@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
+ padding: $padding-y $padding-x;
+ font-size: $font-size;
+ line-height: $line-height;
+ // Manually declare to provide an override to the browser default
+ @if $enable-rounded {
+ border-radius: $border-radius;
+ } @else {
+ border-radius: 0;
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_caret.scss b/src/scss/_bootstrap/mixins/_caret.scss
new file mode 100644
index 00000000..40478e49
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_caret.scss
@@ -0,0 +1,65 @@
+@mixin caret-down {
+ border-top: $caret-width solid;
+ border-right: $caret-width solid transparent;
+ border-bottom: 0;
+ border-left: $caret-width solid transparent;
+}
+
+@mixin caret-up {
+ border-top: 0;
+ border-right: $caret-width solid transparent;
+ border-bottom: $caret-width solid;
+ border-left: $caret-width solid transparent;
+}
+
+@mixin caret-right {
+ border-top: $caret-width solid transparent;
+ border-bottom: $caret-width solid transparent;
+ border-left: $caret-width solid;
+}
+
+@mixin caret-left {
+ border-top: $caret-width solid transparent;
+ border-right: $caret-width solid;
+ border-bottom: $caret-width solid transparent;
+}
+
+@mixin caret($direction: down) {
+ @if $enable-caret {
+ &::after {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: $caret-width * .85;
+ vertical-align: $caret-width * .85;
+ content: "";
+ @if $direction == down {
+ @include caret-down;
+ } @else if $direction == up {
+ @include caret-up;
+ } @else if $direction == right {
+ @include caret-right;
+ }
+ }
+
+ @if $direction == left {
+ &::after {
+ display: none;
+ }
+
+ &::before {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-right: $caret-width * .85;
+ vertical-align: $caret-width * .85;
+ content: "";
+ @include caret-left;
+ }
+ }
+
+ &:empty::after {
+ margin-left: 0;
+ }
+ }
+}
diff --git a/src/scss/mixins/_clearfix.scss b/src/scss/_bootstrap/mixins/_clearfix.scss
similarity index 100%
rename from src/scss/mixins/_clearfix.scss
rename to src/scss/_bootstrap/mixins/_clearfix.scss
diff --git a/src/scss/_bootstrap/mixins/_float.scss b/src/scss/_bootstrap/mixins/_float.scss
new file mode 100644
index 00000000..48fa8b6d
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_float.scss
@@ -0,0 +1,11 @@
+// stylelint-disable declaration-no-important
+
+@mixin float-left {
+ float: left !important;
+}
+@mixin float-right {
+ float: right !important;
+}
+@mixin float-none {
+ float: none !important;
+}
diff --git a/src/scss/_bootstrap/mixins/_forms.scss b/src/scss/_bootstrap/mixins/_forms.scss
new file mode 100644
index 00000000..22906824
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_forms.scss
@@ -0,0 +1,137 @@
+// Form control focus state
+//
+// Generate a customized focus state and for any input with the specified color,
+// which defaults to the `$input-focus-border-color` variable.
+//
+// We highly encourage you to not customize the default value, but instead use
+// this to tweak colors on an as-needed basis. This aesthetic change is based on
+// WebKit's default styles, but applicable to a wider range of browsers. Its
+// usability and accessibility should be taken into account with any change.
+//
+// Example usage: change the default blue border and shadow to white for better
+// contrast against a dark gray background.
+@mixin form-control-focus() {
+ &:focus {
+ color: $input-focus-color;
+ background-color: $input-focus-bg;
+ border-color: $input-focus-border-color;
+ outline: 0;
+ // Avoid using mixin so we can pass custom focus shadow properly
+ @if $enable-shadows {
+ box-shadow: $input-box-shadow, $input-focus-box-shadow;
+ } @else {
+ box-shadow: $input-focus-box-shadow;
+ }
+ }
+}
+
+
+@mixin form-validation-state($state, $color) {
+ .#{$state}-feedback {
+ display: none;
+ width: 100%;
+ margin-top: $form-feedback-margin-top;
+ font-size: $form-feedback-font-size;
+ color: $color;
+ }
+
+ .#{$state}-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%; // Contain to parent when possible
+ padding: .5rem;
+ margin-top: .1rem;
+ font-size: .875rem;
+ line-height: 1;
+ color: #fff;
+ background-color: rgba($color, .8);
+ border-radius: .2rem;
+ }
+
+ .form-control,
+ .custom-select {
+ .was-validated &:#{$state},
+ &.is-#{$state} {
+ border-color: $color;
+
+ &:focus {
+ border-color: $color;
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
+ }
+
+ ~ .#{$state}-feedback,
+ ~ .#{$state}-tooltip {
+ display: block;
+ }
+ }
+ }
+
+ .form-check-input {
+ .was-validated &:#{$state},
+ &.is-#{$state} {
+ ~ .form-check-label {
+ color: $color;
+ }
+
+ ~ .#{$state}-feedback,
+ ~ .#{$state}-tooltip {
+ display: block;
+ }
+ }
+ }
+
+ .custom-control-input {
+ .was-validated &:#{$state},
+ &.is-#{$state} {
+ ~ .custom-control-label {
+ color: $color;
+
+ &::before {
+ background-color: lighten($color, 25%);
+ }
+ }
+
+ ~ .#{$state}-feedback,
+ ~ .#{$state}-tooltip {
+ display: block;
+ }
+
+ &:checked {
+ ~ .custom-control-label::before {
+ @include gradient-bg(lighten($color, 10%));
+ }
+ }
+
+ &:focus {
+ ~ .custom-control-label::before {
+ box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-focus-width rgba($color, .25);
+ }
+ }
+ }
+ }
+
+ // custom file
+ .custom-file-input {
+ .was-validated &:#{$state},
+ &.is-#{$state} {
+ ~ .custom-file-label {
+ border-color: $color;
+
+ &::before { border-color: inherit; }
+ }
+
+ ~ .#{$state}-feedback,
+ ~ .#{$state}-tooltip {
+ display: block;
+ }
+
+ &:focus {
+ ~ .custom-file-label {
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
+ }
+ }
+ }
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_gradients.scss b/src/scss/_bootstrap/mixins/_gradients.scss
new file mode 100644
index 00000000..ecd01f72
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_gradients.scss
@@ -0,0 +1,45 @@
+// Gradients
+
+@mixin gradient-bg($color) {
+ @if $enable-gradients {
+ background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;
+ } @else {
+ background-color: $color;
+ }
+}
+
+// Horizontal gradient, from left to right
+//
+// Creates two color stops, start and end, by specifying a color and position for each color stop.
+@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
+ background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
+ background-repeat: repeat-x;
+}
+
+// Vertical gradient, from top to bottom
+//
+// Creates two color stops, start and end, by specifying a color and position for each color stop.
+@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
+ background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
+ background-repeat: repeat-x;
+}
+
+@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
+ background-image: linear-gradient($deg, $start-color, $end-color);
+ background-repeat: repeat-x;
+}
+@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
+ background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
+ background-repeat: no-repeat;
+}
+@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
+ background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
+ background-repeat: no-repeat;
+}
+@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
+ background-image: radial-gradient(circle, $inner-color, $outer-color);
+ background-repeat: no-repeat;
+}
+@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
+ background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
+}
diff --git a/src/scss/_bootstrap/mixins/_grid-framework.scss b/src/scss/_bootstrap/mixins/_grid-framework.scss
new file mode 100644
index 00000000..7b37f868
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_grid-framework.scss
@@ -0,0 +1,67 @@
+// Framework grid generation
+//
+// Used only by Bootstrap to generate the correct number of grid classes given
+// any value of `$grid-columns`.
+
+@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
+ // Common properties for all breakpoints
+ %grid-column {
+ position: relative;
+ width: 100%;
+ min-height: 1px; // Prevent columns from collapsing when empty
+ padding-right: ($gutter / 2);
+ padding-left: ($gutter / 2);
+ }
+
+ @each $breakpoint in map-keys($breakpoints) {
+ $infix: breakpoint-infix($breakpoint, $breakpoints);
+
+ // Allow columns to stretch full width below their breakpoints
+ @for $i from 1 through $columns {
+ .col#{$infix}-#{$i} {
+ @extend %grid-column;
+ }
+ }
+ .col#{$infix},
+ .col#{$infix}-auto {
+ @extend %grid-column;
+ }
+
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
+ // Provide basic `.col-{bp}` classes for equal-width flexbox columns
+ .col#{$infix} {
+ flex-basis: 0;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+ .col#{$infix}-auto {
+ flex: 0 0 auto;
+ width: auto;
+ max-width: none; // Reset earlier grid tiers
+ }
+
+ @for $i from 1 through $columns {
+ .col#{$infix}-#{$i} {
+ @include make-col($i, $columns);
+ }
+ }
+
+ .order#{$infix}-first { order: -1; }
+
+ .order#{$infix}-last { order: $columns + 1; }
+
+ @for $i from 0 through $columns {
+ .order#{$infix}-#{$i} { order: $i; }
+ }
+
+ // `$columns - 1` because offsetting by the width of an entire row isn't possible
+ @for $i from 0 through ($columns - 1) {
+ @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
+ .offset#{$infix}-#{$i} {
+ @include make-col-offset($i, $columns);
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_grid.scss b/src/scss/_bootstrap/mixins/_grid.scss
new file mode 100644
index 00000000..b75ebcbc
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_grid.scss
@@ -0,0 +1,52 @@
+/// Grid system
+//
+// Generate semantic grid columns with these mixins.
+
+@mixin make-container() {
+ width: 100%;
+ padding-right: ($grid-gutter-width / 2);
+ padding-left: ($grid-gutter-width / 2);
+ margin-right: auto;
+ margin-left: auto;
+}
+
+
+// For each breakpoint, define the maximum width of the container in a media query
+@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
+ @each $breakpoint, $container-max-width in $max-widths {
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
+ max-width: $container-max-width;
+ }
+ }
+}
+
+@mixin make-row() {
+ display: flex;
+ flex-wrap: wrap;
+ margin-right: ($grid-gutter-width / -2);
+ margin-left: ($grid-gutter-width / -2);
+}
+
+@mixin make-col-ready() {
+ position: relative;
+ // Prevent columns from becoming too narrow when at smaller grid tiers by
+ // always setting `width: 100%;`. This works because we use `flex` values
+ // later on to override this initial width.
+ width: 100%;
+ min-height: 1px; // Prevent collapsing
+ padding-right: ($grid-gutter-width / 2);
+ padding-left: ($grid-gutter-width / 2);
+}
+
+@mixin make-col($size, $columns: $grid-columns) {
+ flex: 0 0 percentage($size / $columns);
+ // Add a `max-width` to ensure content within each column does not blow out
+ // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
+ // do not appear to require this.
+ max-width: percentage($size / $columns);
+}
+
+@mixin make-col-offset($size, $columns: $grid-columns) {
+ $num: $size / $columns;
+ margin-left: if($num == 0, 0, percentage($num));
+}
diff --git a/src/scss/_bootstrap/mixins/_hover.scss b/src/scss/_bootstrap/mixins/_hover.scss
new file mode 100644
index 00000000..ec2e328a
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_hover.scss
@@ -0,0 +1,39 @@
+// stylelint-disable indentation
+
+// Hover mixin and `$enable-hover-media-query` are deprecated.
+//
+// Origally added during our alphas and maintained during betas, this mixin was
+// designed to prevent `:hover` stickiness on iOS—an issue where hover styles
+// would persist after initial touch.
+//
+// For backward compatibility, we've kept these mixins and updated them to
+// always return their regular psuedo-classes instead of a shimmed media query.
+//
+// Issue: https://github.com/twbs/bootstrap/issues/25195
+
+@mixin hover {
+ &:hover { @content; }
+}
+
+@mixin hover-focus {
+ &:hover,
+ &:focus {
+ @content;
+ }
+}
+
+@mixin plain-hover-focus {
+ &,
+ &:hover,
+ &:focus {
+ @content;
+ }
+}
+
+@mixin hover-focus-active {
+ &:hover,
+ &:focus,
+ &:active {
+ @content;
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_image.scss b/src/scss/_bootstrap/mixins/_image.scss
new file mode 100644
index 00000000..0544f0d2
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_image.scss
@@ -0,0 +1,36 @@
+// Image Mixins
+// - Responsive image
+// - Retina image
+
+
+// Responsive image
+//
+// Keep images from scaling beyond the width of their parents.
+
+@mixin img-fluid {
+ // Part 1: Set a maximum relative to the parent
+ max-width: 100%;
+ // Part 2: Override the height to auto, otherwise images will be stretched
+ // when setting a width and height attribute on the img element.
+ height: auto;
+}
+
+
+// Retina image
+//
+// Short retina mixin for setting background-image and -size.
+
+// stylelint-disable indentation, media-query-list-comma-newline-after
+@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
+ background-image: url($file-1x);
+
+ // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
+ // but doesn't convert dppx=>dpi.
+ // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
+ // Compatibility info: https://caniuse.com/#feat=css-media-resolution
+ @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
+ only screen and (min-resolution: 2dppx) { // Standardized
+ background-image: url($file-2x);
+ background-size: $width-1x $height-1x;
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_list-group.scss b/src/scss/_bootstrap/mixins/_list-group.scss
new file mode 100644
index 00000000..607ffcb8
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_list-group.scss
@@ -0,0 +1,21 @@
+// List Groups
+
+@mixin list-group-item-variant($state, $background, $color) {
+ .list-group-item-#{$state} {
+ color: $color;
+ background-color: $background;
+
+ &.list-group-item-action {
+ @include hover-focus {
+ color: $color;
+ background-color: darken($background, 5%);
+ }
+
+ &.active {
+ color: #fff;
+ background-color: $color;
+ border-color: $color;
+ }
+ }
+ }
+}
diff --git a/src/scss/mixins/_lists.scss b/src/scss/_bootstrap/mixins/_lists.scss
similarity index 100%
rename from src/scss/mixins/_lists.scss
rename to src/scss/_bootstrap/mixins/_lists.scss
diff --git a/src/scss/_bootstrap/mixins/_nav-divider.scss b/src/scss/_bootstrap/mixins/_nav-divider.scss
new file mode 100644
index 00000000..493de03a
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_nav-divider.scss
@@ -0,0 +1,10 @@
+// Horizontal dividers
+//
+// Dividers (basically an hr) within dropdowns and nav lists
+
+@mixin nav-divider($color: #e5e5e5) {
+ height: 0;
+ margin: ($spacer / 2) 0;
+ overflow: hidden;
+ border-top: 1px solid $color;
+}
diff --git a/src/scss/_bootstrap/mixins/_navbar-align.scss b/src/scss/_bootstrap/mixins/_navbar-align.scss
new file mode 100644
index 00000000..b3516603
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_navbar-align.scss
@@ -0,0 +1,10 @@
+// Navbar vertical align
+//
+// Vertically center elements in the navbar.
+// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);`
+// to calculate the appropriate top margin.
+
+// @mixin navbar-vertical-align($element-height) {
+// margin-top: (($navbar-height - $element-height) / 2);
+// margin-bottom: (($navbar-height - $element-height) / 2);
+// }
diff --git a/src/scss/mixins/_pagination.scss b/src/scss/_bootstrap/mixins/_pagination.scss
similarity index 100%
rename from src/scss/mixins/_pagination.scss
rename to src/scss/_bootstrap/mixins/_pagination.scss
diff --git a/src/scss/_bootstrap/mixins/_reset-text.scss b/src/scss/_bootstrap/mixins/_reset-text.scss
new file mode 100644
index 00000000..71edb006
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_reset-text.scss
@@ -0,0 +1,17 @@
+@mixin reset-text {
+ font-family: $font-family-base;
+ // We deliberately do NOT reset font-size or word-wrap.
+ font-style: normal;
+ font-weight: $font-weight-normal;
+ line-height: $line-height-base;
+ text-align: left; // Fallback for where `start` is not supported
+ text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+}
diff --git a/src/scss/mixins/_resize.scss b/src/scss/_bootstrap/mixins/_resize.scss
similarity index 100%
rename from src/scss/mixins/_resize.scss
rename to src/scss/_bootstrap/mixins/_resize.scss
diff --git a/src/scss/_bootstrap/mixins/_screen-reader.scss b/src/scss/_bootstrap/mixins/_screen-reader.scss
new file mode 100644
index 00000000..8f3eb1b1
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_screen-reader.scss
@@ -0,0 +1,35 @@
+// Only display content to screen readers
+//
+// See: http://a11yproject.com/posts/how-to-hide-content/
+// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
+
+@mixin sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ clip-path: inset(50%);
+ border: 0;
+}
+
+// Use in conjunction with .sr-only to only display content when it's focused.
+//
+// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
+//
+// Credit: HTML5 Boilerplate
+
+@mixin sr-only-focusable {
+ &:active,
+ &:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+ clip-path: none;
+ }
+}
diff --git a/src/scss/mixins/_size.scss b/src/scss/_bootstrap/mixins/_size.scss
similarity index 100%
rename from src/scss/mixins/_size.scss
rename to src/scss/_bootstrap/mixins/_size.scss
diff --git a/src/scss/mixins/_table-row.scss b/src/scss/_bootstrap/mixins/_table-row.scss
similarity index 100%
rename from src/scss/mixins/_table-row.scss
rename to src/scss/_bootstrap/mixins/_table-row.scss
diff --git a/src/scss/_bootstrap/mixins/_text-emphasis.scss b/src/scss/_bootstrap/mixins/_text-emphasis.scss
new file mode 100644
index 00000000..58db3e0f
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_text-emphasis.scss
@@ -0,0 +1,14 @@
+// stylelint-disable declaration-no-important
+
+// Typography
+
+@mixin text-emphasis-variant($parent, $color) {
+ #{$parent} {
+ color: $color !important;
+ }
+ a#{$parent} {
+ @include hover-focus {
+ color: darken($color, 10%) !important;
+ }
+ }
+}
diff --git a/src/scss/_bootstrap/mixins/_text-hide.scss b/src/scss/_bootstrap/mixins/_text-hide.scss
new file mode 100644
index 00000000..aa551fde
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_text-hide.scss
@@ -0,0 +1,9 @@
+// CSS image replacement
+@mixin text-hide() {
+ // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
diff --git a/src/scss/mixins/_text-truncate.scss b/src/scss/_bootstrap/mixins/_text-truncate.scss
similarity index 100%
rename from src/scss/mixins/_text-truncate.scss
rename to src/scss/_bootstrap/mixins/_text-truncate.scss
diff --git a/src/scss/mixins/_transition.scss b/src/scss/_bootstrap/mixins/_transition.scss
similarity index 100%
rename from src/scss/mixins/_transition.scss
rename to src/scss/_bootstrap/mixins/_transition.scss
diff --git a/src/scss/_bootstrap/mixins/_visibility.scss b/src/scss/_bootstrap/mixins/_visibility.scss
new file mode 100644
index 00000000..fe523d0e
--- /dev/null
+++ b/src/scss/_bootstrap/mixins/_visibility.scss
@@ -0,0 +1,7 @@
+// stylelint-disable declaration-no-important
+
+// Visibility
+
+@mixin invisible($visibility) {
+ visibility: $visibility !important;
+}
diff --git a/src/scss/_bootstrap/utilities/_align.scss b/src/scss/_bootstrap/utilities/_align.scss
new file mode 100644
index 00000000..8b7df9f7
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_align.scss
@@ -0,0 +1,8 @@
+// stylelint-disable declaration-no-important
+
+.align-baseline { vertical-align: baseline !important; } // Browser default
+.align-top { vertical-align: top !important; }
+.align-middle { vertical-align: middle !important; }
+.align-bottom { vertical-align: bottom !important; }
+.align-text-bottom { vertical-align: text-bottom !important; }
+.align-text-top { vertical-align: text-top !important; }
diff --git a/src/scss/_bootstrap/utilities/_background.scss b/src/scss/_bootstrap/utilities/_background.scss
new file mode 100644
index 00000000..1f18b2f3
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_background.scss
@@ -0,0 +1,19 @@
+// stylelint-disable declaration-no-important
+
+@each $color, $value in $theme-colors {
+ @include bg-variant(".bg-#{$color}", $value);
+}
+
+@if $enable-gradients {
+ @each $color, $value in $theme-colors {
+ @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
+ }
+}
+
+.bg-white {
+ background-color: $white !important;
+}
+
+.bg-transparent {
+ background-color: transparent !important;
+}
diff --git a/src/scss/_bootstrap/utilities/_borders.scss b/src/scss/_bootstrap/utilities/_borders.scss
new file mode 100644
index 00000000..b8832ef7
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_borders.scss
@@ -0,0 +1,59 @@
+// stylelint-disable declaration-no-important
+
+//
+// Border
+//
+
+.border { border: $border-width solid $border-color !important; }
+.border-top { border-top: $border-width solid $border-color !important; }
+.border-right { border-right: $border-width solid $border-color !important; }
+.border-bottom { border-bottom: $border-width solid $border-color !important; }
+.border-left { border-left: $border-width solid $border-color !important; }
+
+.border-0 { border: 0 !important; }
+.border-top-0 { border-top: 0 !important; }
+.border-right-0 { border-right: 0 !important; }
+.border-bottom-0 { border-bottom: 0 !important; }
+.border-left-0 { border-left: 0 !important; }
+
+@each $color, $value in $theme-colors {
+ .border-#{$color} {
+ border-color: $value !important;
+ }
+}
+
+.border-white {
+ border-color: $white !important;
+}
+
+//
+// Border-radius
+//
+
+.rounded {
+ border-radius: $border-radius !important;
+}
+.rounded-top {
+ border-top-left-radius: $border-radius !important;
+ border-top-right-radius: $border-radius !important;
+}
+.rounded-right {
+ border-top-right-radius: $border-radius !important;
+ border-bottom-right-radius: $border-radius !important;
+}
+.rounded-bottom {
+ border-bottom-right-radius: $border-radius !important;
+ border-bottom-left-radius: $border-radius !important;
+}
+.rounded-left {
+ border-top-left-radius: $border-radius !important;
+ border-bottom-left-radius: $border-radius !important;
+}
+
+.rounded-circle {
+ border-radius: 50% !important;
+}
+
+.rounded-0 {
+ border-radius: 0 !important;
+}
diff --git a/src/scss/_bootstrap/utilities/_clearfix.scss b/src/scss/_bootstrap/utilities/_clearfix.scss
new file mode 100644
index 00000000..e92522a9
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_clearfix.scss
@@ -0,0 +1,3 @@
+.clearfix {
+ @include clearfix();
+}
diff --git a/src/scss/_bootstrap/utilities/_display.scss b/src/scss/_bootstrap/utilities/_display.scss
new file mode 100644
index 00000000..20aeeb5f
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_display.scss
@@ -0,0 +1,38 @@
+// stylelint-disable declaration-no-important
+
+//
+// Utilities for common `display` values
+//
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ .d#{$infix}-none { display: none !important; }
+ .d#{$infix}-inline { display: inline !important; }
+ .d#{$infix}-inline-block { display: inline-block !important; }
+ .d#{$infix}-block { display: block !important; }
+ .d#{$infix}-table { display: table !important; }
+ .d#{$infix}-table-row { display: table-row !important; }
+ .d#{$infix}-table-cell { display: table-cell !important; }
+ .d#{$infix}-flex { display: flex !important; }
+ .d#{$infix}-inline-flex { display: inline-flex !important; }
+ }
+}
+
+
+//
+// Utilities for toggling `display` in print
+//
+
+@media print {
+ .d-print-none { display: none !important; }
+ .d-print-inline { display: inline !important; }
+ .d-print-inline-block { display: inline-block !important; }
+ .d-print-block { display: block !important; }
+ .d-print-table { display: table !important; }
+ .d-print-table-row { display: table-row !important; }
+ .d-print-table-cell { display: table-cell !important; }
+ .d-print-flex { display: flex !important; }
+ .d-print-inline-flex { display: inline-flex !important; }
+}
diff --git a/src/scss/_bootstrap/utilities/_embed.scss b/src/scss/_bootstrap/utilities/_embed.scss
new file mode 100644
index 00000000..d3362b6f
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_embed.scss
@@ -0,0 +1,52 @@
+// Credit: Nicolas Gallagher and SUIT CSS.
+
+.embed-responsive {
+ position: relative;
+ display: block;
+ width: 100%;
+ padding: 0;
+ overflow: hidden;
+
+ &::before {
+ display: block;
+ content: "";
+ }
+
+ .embed-responsive-item,
+ iframe,
+ embed,
+ object,
+ video {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: 0;
+ }
+}
+
+.embed-responsive-21by9 {
+ &::before {
+ padding-top: percentage(9 / 21);
+ }
+}
+
+.embed-responsive-16by9 {
+ &::before {
+ padding-top: percentage(9 / 16);
+ }
+}
+
+.embed-responsive-4by3 {
+ &::before {
+ padding-top: percentage(3 / 4);
+ }
+}
+
+.embed-responsive-1by1 {
+ &::before {
+ padding-top: percentage(1 / 1);
+ }
+}
diff --git a/src/scss/_bootstrap/utilities/_flex.scss b/src/scss/_bootstrap/utilities/_flex.scss
new file mode 100644
index 00000000..8e470384
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_flex.scss
@@ -0,0 +1,46 @@
+// stylelint-disable declaration-no-important
+
+// Flex variation
+//
+// Custom styles for additional flex alignment options.
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ .flex#{$infix}-row { flex-direction: row !important; }
+ .flex#{$infix}-column { flex-direction: column !important; }
+ .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }
+ .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }
+
+ .flex#{$infix}-wrap { flex-wrap: wrap !important; }
+ .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
+ .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
+
+ .justify-content#{$infix}-start { justify-content: flex-start !important; }
+ .justify-content#{$infix}-end { justify-content: flex-end !important; }
+ .justify-content#{$infix}-center { justify-content: center !important; }
+ .justify-content#{$infix}-between { justify-content: space-between !important; }
+ .justify-content#{$infix}-around { justify-content: space-around !important; }
+
+ .align-items#{$infix}-start { align-items: flex-start !important; }
+ .align-items#{$infix}-end { align-items: flex-end !important; }
+ .align-items#{$infix}-center { align-items: center !important; }
+ .align-items#{$infix}-baseline { align-items: baseline !important; }
+ .align-items#{$infix}-stretch { align-items: stretch !important; }
+
+ .align-content#{$infix}-start { align-content: flex-start !important; }
+ .align-content#{$infix}-end { align-content: flex-end !important; }
+ .align-content#{$infix}-center { align-content: center !important; }
+ .align-content#{$infix}-between { align-content: space-between !important; }
+ .align-content#{$infix}-around { align-content: space-around !important; }
+ .align-content#{$infix}-stretch { align-content: stretch !important; }
+
+ .align-self#{$infix}-auto { align-self: auto !important; }
+ .align-self#{$infix}-start { align-self: flex-start !important; }
+ .align-self#{$infix}-end { align-self: flex-end !important; }
+ .align-self#{$infix}-center { align-self: center !important; }
+ .align-self#{$infix}-baseline { align-self: baseline !important; }
+ .align-self#{$infix}-stretch { align-self: stretch !important; }
+ }
+}
diff --git a/src/scss/_bootstrap/utilities/_float.scss b/src/scss/_bootstrap/utilities/_float.scss
new file mode 100644
index 00000000..01655e9a
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_float.scss
@@ -0,0 +1,9 @@
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ .float#{$infix}-left { @include float-left; }
+ .float#{$infix}-right { @include float-right; }
+ .float#{$infix}-none { @include float-none; }
+ }
+}
diff --git a/src/scss/_bootstrap/utilities/_position.scss b/src/scss/_bootstrap/utilities/_position.scss
new file mode 100644
index 00000000..ef962edd
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_position.scss
@@ -0,0 +1,36 @@
+// stylelint-disable declaration-no-important
+
+// Common values
+
+// Sass list not in variables since it's not intended for customization.
+$positions: static, relative, absolute, fixed, sticky;
+
+@each $position in $positions {
+ .position-#{$position} { position: $position !important; }
+}
+
+// Shorthand
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: $zindex-fixed;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: $zindex-fixed;
+}
+
+.sticky-top {
+ @supports (position: sticky) {
+ position: sticky;
+ top: 0;
+ z-index: $zindex-sticky;
+ }
+}
diff --git a/src/scss/_bootstrap/utilities/_screenreaders.scss b/src/scss/_bootstrap/utilities/_screenreaders.scss
new file mode 100644
index 00000000..9f26fde0
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_screenreaders.scss
@@ -0,0 +1,11 @@
+//
+// Screenreaders
+//
+
+.sr-only {
+ @include sr-only();
+}
+
+.sr-only-focusable {
+ @include sr-only-focusable();
+}
diff --git a/src/scss/_bootstrap/utilities/_sizing.scss b/src/scss/_bootstrap/utilities/_sizing.scss
new file mode 100644
index 00000000..e95a4db3
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_sizing.scss
@@ -0,0 +1,12 @@
+// stylelint-disable declaration-no-important
+
+// Width and height
+
+@each $prop, $abbrev in (width: w, height: h) {
+ @each $size, $length in $sizes {
+ .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
+ }
+}
+
+.mw-100 { max-width: 100% !important; }
+.mh-100 { max-height: 100% !important; }
diff --git a/src/scss/_bootstrap/utilities/_spacing.scss b/src/scss/_bootstrap/utilities/_spacing.scss
new file mode 100644
index 00000000..b2e2354b
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_spacing.scss
@@ -0,0 +1,51 @@
+// stylelint-disable declaration-no-important
+
+// Margin and Padding
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ @each $prop, $abbrev in (margin: m, padding: p) {
+ @each $size, $length in $spacers {
+
+ .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
+ .#{$abbrev}t#{$infix}-#{$size},
+ .#{$abbrev}y#{$infix}-#{$size} {
+ #{$prop}-top: $length !important;
+ }
+ .#{$abbrev}r#{$infix}-#{$size},
+ .#{$abbrev}x#{$infix}-#{$size} {
+ #{$prop}-right: $length !important;
+ }
+ .#{$abbrev}b#{$infix}-#{$size},
+ .#{$abbrev}y#{$infix}-#{$size} {
+ #{$prop}-bottom: $length !important;
+ }
+ .#{$abbrev}l#{$infix}-#{$size},
+ .#{$abbrev}x#{$infix}-#{$size} {
+ #{$prop}-left: $length !important;
+ }
+ }
+ }
+
+ // Some special margin utils
+ .m#{$infix}-auto { margin: auto !important; }
+ .mt#{$infix}-auto,
+ .my#{$infix}-auto {
+ margin-top: auto !important;
+ }
+ .mr#{$infix}-auto,
+ .mx#{$infix}-auto {
+ margin-right: auto !important;
+ }
+ .mb#{$infix}-auto,
+ .my#{$infix}-auto {
+ margin-bottom: auto !important;
+ }
+ .ml#{$infix}-auto,
+ .mx#{$infix}-auto {
+ margin-left: auto !important;
+ }
+ }
+}
diff --git a/src/scss/_bootstrap/utilities/_text.scss b/src/scss/_bootstrap/utilities/_text.scss
new file mode 100644
index 00000000..f4b6e65e
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_text.scss
@@ -0,0 +1,52 @@
+// stylelint-disable declaration-no-important
+
+//
+// Text
+//
+
+// Alignment
+
+.text-justify { text-align: justify !important; }
+.text-nowrap { white-space: nowrap !important; }
+.text-truncate { @include text-truncate; }
+
+// Responsive alignment
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ .text#{$infix}-left { text-align: left !important; }
+ .text#{$infix}-right { text-align: right !important; }
+ .text#{$infix}-center { text-align: center !important; }
+ }
+}
+
+// Transformation
+
+.text-lowercase { text-transform: lowercase !important; }
+.text-uppercase { text-transform: uppercase !important; }
+.text-capitalize { text-transform: capitalize !important; }
+
+// Weight and italics
+
+.font-weight-light { font-weight: $font-weight-light !important; }
+.font-weight-normal { font-weight: $font-weight-normal !important; }
+.font-weight-bold { font-weight: $font-weight-bold !important; }
+.font-italic { font-style: italic !important; }
+
+// Contextual colors
+
+.text-white { color: #fff !important; }
+
+@each $color, $value in $theme-colors {
+ @include text-emphasis-variant(".text-#{$color}", $value);
+}
+
+.text-muted { color: $text-muted !important; }
+
+// Misc
+
+.text-hide {
+ @include text-hide();
+}
diff --git a/src/scss/_bootstrap/utilities/_visibility.scss b/src/scss/_bootstrap/utilities/_visibility.scss
new file mode 100644
index 00000000..823406dc
--- /dev/null
+++ b/src/scss/_bootstrap/utilities/_visibility.scss
@@ -0,0 +1,11 @@
+//
+// Visibility utilities
+//
+
+.visible {
+ @include invisible(visible);
+}
+
+.invisible {
+ @include invisible(hidden);
+}
diff --git a/src/scss/_alert.scss b/src/scss/_shards-design-system/_alert.scss
similarity index 100%
rename from src/scss/_alert.scss
rename to src/scss/_shards-design-system/_alert.scss
diff --git a/src/scss/_badge.scss b/src/scss/_shards-design-system/_badge.scss
similarity index 100%
rename from src/scss/_badge.scss
rename to src/scss/_shards-design-system/_badge.scss
diff --git a/src/scss/_button-group.scss b/src/scss/_shards-design-system/_button-group.scss
similarity index 97%
rename from src/scss/_button-group.scss
rename to src/scss/_shards-design-system/_button-group.scss
index 0ed2c240..51e816a9 100644
--- a/src/scss/_button-group.scss
+++ b/src/scss/_shards-design-system/_button-group.scss
@@ -87,4 +87,8 @@
> .btn-group:not(:first-child) > .btn {
@include border-top-radius(0);
}
-}
\ No newline at end of file
+}
+
+.btn-group-sm i {
+ transform: scale(1.3);
+}
diff --git a/src/scss/_buttons.scss b/src/scss/_shards-design-system/_buttons.scss
similarity index 100%
rename from src/scss/_buttons.scss
rename to src/scss/_shards-design-system/_buttons.scss
diff --git a/src/scss/_card.scss b/src/scss/_shards-design-system/_card.scss
similarity index 89%
rename from src/scss/_card.scss
rename to src/scss/_shards-design-system/_card.scss
index a9a31ca0..b80bdbd5 100644
--- a/src/scss/_card.scss
+++ b/src/scss/_shards-design-system/_card.scss
@@ -4,10 +4,10 @@
.card {
background-color: $card-bg;
- border: none;
+ // border: solid thin ;
+ // box-shadow: $card-box-shadow;
@include border-radius($card-border-radius);
- @include box-shadow($card-box-shadow);
> .list-group:first-child {
.list-group-item:first-child {
@@ -48,7 +48,7 @@
}
.card-body {
- padding: $card-spacer-x;
+ padding: $card-spacer-y $card-spacer-x;
> p:last-child {
margin-bottom: 0;
@@ -79,7 +79,7 @@
.card-header {
padding: $card-header-spacer-y $card-header-spacer-x;
background-color: $card-cap-bg;
- border-bottom: none;
+ border-bottom: $card-border-width solid $card-border-color;
&:first-child {
@include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
@@ -89,7 +89,7 @@
.card-footer {
padding: $card-footer-spacer-y $card-footer-spacer-x;
background-color: $card-cap-bg;
- border-top: none;
+ border-top: $card-border-width solid $card-border-color;
&:last-child {
@include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
@@ -244,3 +244,19 @@
column-gap: $card-columns-gap;
}
}
+
+
+// Small "Full Report" cards element adjustments
+.card .view-report {
+ margin-top: auto;
+ margin-bottom: auto;
+ font-size: $card-view-report-font-size;
+
+ a {
+ color: $card-view-report-link-color;
+
+ &:hover {
+ color: $card-view-report-link-color-hover;
+ }
+ }
+}
diff --git a/src/scss/_carousel.scss b/src/scss/_shards-design-system/_carousel.scss
similarity index 100%
rename from src/scss/_carousel.scss
rename to src/scss/_shards-design-system/_carousel.scss
diff --git a/src/scss/_close.scss b/src/scss/_shards-design-system/_close.scss
similarity index 100%
rename from src/scss/_close.scss
rename to src/scss/_shards-design-system/_close.scss
diff --git a/src/scss/_code.scss b/src/scss/_shards-design-system/_code.scss
similarity index 100%
rename from src/scss/_code.scss
rename to src/scss/_shards-design-system/_code.scss
diff --git a/src/scss/_custom-datepicker.scss b/src/scss/_shards-design-system/_custom-datepicker.scss
similarity index 100%
rename from src/scss/_custom-datepicker.scss
rename to src/scss/_shards-design-system/_custom-datepicker.scss
diff --git a/src/scss/_custom-forms.scss b/src/scss/_shards-design-system/_custom-forms.scss
similarity index 100%
rename from src/scss/_custom-forms.scss
rename to src/scss/_shards-design-system/_custom-forms.scss
diff --git a/src/scss/_custom-sliders.scss b/src/scss/_shards-design-system/_custom-sliders.scss
similarity index 100%
rename from src/scss/_custom-sliders.scss
rename to src/scss/_shards-design-system/_custom-sliders.scss
diff --git a/src/scss/_shards-design-system/_dashboard-pro.scss b/src/scss/_shards-design-system/_dashboard-pro.scss
new file mode 100644
index 00000000..9386497a
--- /dev/null
+++ b/src/scss/_shards-design-system/_dashboard-pro.scss
@@ -0,0 +1,1023 @@
+.stats-small {
+ min-height: 8.7rem;
+ overflow: hidden !important;
+
+ canvas {
+ position: absolute;
+ bottom: 0;
+ }
+}
+
+.stats-small__data {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ flex-flow: column;
+ max-width: 50%;
+ z-index: 1;
+}
+
+.stats-small__label {
+ font-size: .625rem;
+ letter-spacing: .0625rem;
+ color: $reagent-gray;
+}
+
+.stats-small__value {
+ font-size: 1.5rem;
+ font-weight: 500;
+}
+
+.stats-small__percentage {
+ position: relative;
+ display: table;
+ margin-left: auto;
+ padding-left: .9375rem;
+}
+
+.stats-small__percentage--decrease {
+ font-size: .75rem;
+ color: $danger;
+}
+
+.stats-small__percentage--increase {
+ font-size: .75rem;
+ color: $success;
+}
+
+.stats-small__percentage--decrease::before {
+ content: "";
+ width: .75rem;
+ height: .375rem;
+ position: absolute;
+ left: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjYzQxODNjIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==);
+}
+
+.stats-small__percentage--increase::before {
+ content: "";
+ width: .75rem;
+ height: .375rem;
+ position: absolute;
+ left: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMTdjNjcxIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTcgMTRsNS01IDUgNXoiLz4gPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiA8L3N2Zz4=);
+}
+
+.stats-small--1 {
+ .stats-small__data {
+ max-width: 100%;
+ }
+
+ .stats-small__percentage {
+ margin: 0 auto;
+ font-size: .75rem;
+ }
+
+ .stats-small__value {
+ font-size: 2.0625rem;
+ }
+
+ .stats-small__label {
+ font-size: .75rem;
+ }
+
+ canvas {
+ opacity: .5;
+ }
+}
+
+.ubd-stats__item {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ text-align: center;
+
+ i {
+ font-size: 1.375rem;
+ margin-bottom: .3125rem;
+ }
+}
+
+.ubd-stats__legend {
+ display: flex;
+ width: 100%;
+}
+
+.ubd-stats__category {
+ color: $reagent-gray;
+ font-size: .8125rem;
+ margin-bottom: .125rem;
+}
+
+.ubd-stats__value {
+ font-size: 1.0625rem;
+ color: $fiord-blue;
+ font-weight: 500;
+ line-height: 1rem;
+}
+
+.go-stats__label {
+ margin: 0;
+ padding: 0;
+ font-size: .95rem;
+ font-weight: 500;
+}
+
+.go-stats__meta {
+ font-size: .75rem;
+ color: $reagent-gray;
+
+ strong {
+ color: $fiord-blue;
+ }
+}
+
+.go-stats__value {
+ flex: 1;
+ padding-right: .625rem;
+}
+
+.sc-stats {
+ font-size: .875rem;
+ font-weight: 400;
+
+ .card-body {
+ position: relative;
+ overflow-y: auto;
+ min-height: 12.5rem;
+ }
+
+ .container-fluid {
+ position: absolute;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ padding-bottom: 1px;
+
+ .row {
+ display: flex;
+ flex: 1;
+ border-bottom: 1px solid #e1e5eb;
+ min-height: 3.75rem;
+
+ &:last-of-type {
+ border-bottom: 0;
+ }
+
+ >div {
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ padding: 0;
+ }
+ }
+ }
+}
+
+.sc-stats__image {
+ max-width: 80px;
+
+ img {
+ width: 2.8125rem;
+ height: auto;
+ }
+}
+
+.sc-stats__title {
+ padding-left: .25rem !important;
+}
+
+.sc-stats__percentage {
+ color: $reagent-gray;
+}
+
+.lo-stats {
+ font-size: .8125rem;
+
+ .container-fluid {
+ overflow-x: auto;
+ position: absolute;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ min-width: 41rem;
+
+ .row:not(.lo-stats__header) {
+ display: flex;
+ flex: 1;
+ border-bottom: 1px solid #e1e5eb;
+ min-height: 3.75rem;
+
+ &:last-of-type {
+ border-bottom: 0;
+ }
+
+ >div {
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ }
+ }
+ }
+
+ table {
+ min-width: 600px;
+ }
+
+ td {
+ vertical-align: middle;
+ }
+
+ .card-body {
+ position: relative;
+ overflow-x: auto;
+ min-height: 21rem;
+ }
+
+ thead th {
+ font-size: .75rem;
+ font-weight: 400;
+ border-width: 1px;
+ border-top: none;
+ padding: .5rem .75rem;
+ }
+}
+
+.lo-stats__image {
+ width: 70px;
+
+ img {
+ width: 3.125rem;
+ height: 3.125rem;
+ }
+}
+
+.lo-stats__items {
+ font-weight: 400;
+}
+
+.lo-stats__total {
+ font-weight: 400;
+}
+
+.file-manager__group-title {
+ display: block;
+ font-size: .75rem;
+ font-weight: 500;
+ margin: 1rem 0;
+}
+
+.file-manager-list {
+ td {
+ border-left: none !important;
+ border-right: none !important;
+ }
+
+ th {
+ border-left: none !important;
+ border-right: none !important;
+ }
+
+ .file-manager__item-meta {
+ border-left: none !important;
+ border-right: none !important;
+ display: inline-block;
+ font-size: .6875rem;
+ color: $reagent-gray;
+ line-height: .8125rem;
+ }
+
+ .file-manager__item-title {
+ margin: 0;
+ display: block;
+ font-size: 1rem;
+ line-height: 1.25rem;
+ }
+
+ .file-manager__item-icon {
+ padding-right: 0 !important;
+
+ div {
+ border-radius: 50%;
+ font-size: .9375rem;
+ text-align: center;
+ color: $reagent-gray;
+ width: 2.1875rem;
+ height: 2.1875rem;
+ line-height: 2.1875rem;
+ background: $body-bg;
+ box-shadow: 0 0 0 2px $white, inset 0 0 3px rgba(0, 0, 0, .2);
+ }
+
+ i {
+ top: 2px;
+ }
+ }
+}
+
+.file-manager-cards__search {
+ max-width: 200px;
+}
+
+.file-manager-cards {
+ .file-manager__item {
+ overflow: hidden;
+ position: relative;
+
+ .card-footer {
+ display: flex;
+ }
+
+ &:hover {
+ cursor: pointer;
+ }
+
+ &:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 100;
+ border-radius: .625rem;
+ box-shadow: inset 0 0 0 0 rgba(0, 123, 255, .2);
+ will-change: box-shadow;
+ transition: box-shadow 250ms ease-in-out;
+ }
+
+ &:before {
+ content: '';
+ position: absolute;
+ background-repeat: no-repeat;
+ background-position: center center;
+ border-radius: 50%;
+ background-color: var(--primary);
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNOSAxNi4xN0w0LjgzIDEybC0xLjQyIDEuNDFMOSAxOSAyMSA3bC0xLjQxLTEuNDF6Ii8+PC9zdmc+);
+ background-size: 1.0625rem;
+ width: 1.5625rem;
+ height: 1.5625rem;
+ right: .625rem;
+ top: -1.875rem;
+ transform: rotate(-90deg);
+ will-change: top, right, opacity, transform;
+ transition: top 150ms cubic-bezier(.27, .01, .38, 1.06), right 150ms cubic-bezier(.27, .01, .38, 1.06), opacity 150ms cubic-bezier(.27, .01, .38, 1.06), transform 150ms cubic-bezier(.27, .01, .38, 1.06);
+ }
+ }
+
+ .file-manager__item--selected {
+ &:before {
+ top: .625rem;
+ transform: rotate(0);
+ }
+
+ &:after {
+ box-shadow: inset 0 0 3.125rem rgba(0, 123, 255, .2), inset 0 0 .625rem rgba(0, 123, 255, .4), inset 0 0 0 .125rem rgba(0, 123, 255, .75);
+ }
+ }
+
+ .file-manager__item--directory {
+ &:before {
+ width: 1.25rem;
+ height: 1.25rem;
+ top: 50%;
+ transform: translateY(-50%);
+ right: -1.25rem;
+ }
+
+ &.file-manager__item--selected:before {
+ right: 10px;
+ background-size: 70%;
+ }
+ }
+
+ .file-manager__item-icon {
+ position: relative;
+ margin-right: .625rem;
+ font-size: 1.0625rem;
+ top: 2px;
+
+ i.material-icons {
+ top: 0;
+ }
+ }
+
+ .file-manager__item-title {
+ width: auto;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ margin: 0;
+ font-size: .875rem;
+ padding-right: 1.25rem;
+ }
+
+ .file-manager__item-size {
+ margin: auto 0;
+ font-size: .6875rem;
+ }
+
+ .file-manager__item-preview {
+ background: #f7f8f8;
+
+ img {
+ width: 80%;
+ margin-left: auto;
+ margin-right: auto;
+ display: table;
+ box-shadow: 0 .125rem .5625rem rgba(0, 0, 0, .13);
+ }
+ }
+}
+
+.user-details {
+ .card-header {
+ overflow: hidden;
+ }
+
+ .card-body {
+ margin-top: -3.125rem;
+ z-index: 1;
+
+ h4 {
+ font-weight: 500;
+ }
+ }
+}
+
+.user-details__bg {
+ width: 100%;
+ position: relative;
+ max-height: 7.1875rem;
+
+ img {
+ width: 100%;
+ }
+
+ &:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: rgba(90, 97, 105, .3);
+ }
+}
+
+.user-details__avatar {
+ border-radius: 50%;
+ overflow: hidden;
+ max-width: 6.25rem;
+ box-shadow: 0 2px 0 rgba(90, 97, 105, .11), 0 4px 8px rgba(90, 97, 105, .12), 0 10px 10px rgba(90, 97, 105, .06), 0 7px 70px rgba(90, 97, 105, .1);
+
+ img {
+ width: 100%;
+ }
+}
+
+.user-details__social {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+
+ li {
+ display: inline-block;
+ }
+
+ a {
+ display: inline-block;
+ border-radius: 50%;
+ text-align: center;
+ width: 1.875rem;
+ height: 1.875rem;
+ line-height: 1.875rem;
+ background: $gray-200;
+ color: $reagent-gray;
+ }
+}
+
+.user-stats {
+ h4 {
+ font-weight: 600;
+ }
+
+ span {
+ font-size: .6875rem;
+ }
+}
+
+.user-teams__image {
+ max-width: 3.125rem;
+
+ img {
+ width: 100%;
+ max-width: 3.125rem;
+ }
+}
+
+.user-teams {
+ .card-body {
+ position: relative;
+ overflow-y: auto;
+ min-height: 14.0625rem;
+ }
+
+ .container-fluid {
+ position: absolute;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+
+ .row {
+ display: flex;
+ flex: 1;
+ border-bottom: 1px solid #e1e5eb;
+ min-height: 4.6875rem;
+
+ &:last-of-type {
+ border-bottom: 0;
+ }
+
+ >div {
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ padding: 0;
+ }
+ }
+ }
+}
+
+.user-activity__item {
+ display: flex;
+ margin-left: 1.875rem;
+ border-left: 1px solid $gray-200;
+ border-bottom: 1px solid $gray-200;
+ font-weight: 400;
+
+ &:last-child {
+ border-bottom: 0;
+ }
+}
+
+.user-activity__item::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.user-activity__item__icon {
+ text-align: center;
+ border-radius: 50%;
+ float: left;
+ width: 1.875rem;
+ height: 1.875rem;
+ min-width: 1.875rem;
+ background: $body-bg;
+ margin-left: -.9375rem;
+ margin-right: .9375rem;
+ box-shadow: 0 0 0 2px $white, inset 0 0 3px rgba(0, 0, 0, .2);
+
+ i {
+ font-size: 1rem;
+ line-height: 1.875rem;
+ color: #aeb9c4;
+ }
+}
+
+.user-activity__item__content {
+ float: left;
+
+ p {
+ margin: 0;
+ }
+
+ a {
+ font-weight: 400;
+ }
+
+ span {
+ font-size: 80%;
+ }
+}
+
+.user-activity__item__action {
+ float: right;
+}
+
+.user-activity__item__task-list {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+
+ .custom-control {
+ line-height: 1.5rem;
+ }
+}
+
+.edit-user-details {
+ .card-header {
+ overflow: hidden;
+ }
+
+ .card-body {
+ z-index: 1;
+ }
+}
+
+.edit-user-details__bg {
+ width: 100%;
+ position: relative;
+ max-height: 7.1875rem;
+
+ img {
+ width: 100%;
+ }
+
+ &:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(90, 97, 105, .5);
+ will-change: background-color;
+ transition: background-color 250ms ease-in-out;
+ }
+
+ .edit-user-details__change-background {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ z-index: 2;
+ opacity: 1;
+ transform: translate(-50%, -50%);
+ background-color: $white;
+ border: 1px dashed rgba(233, 236, 239, .3);
+ padding: .4375rem .9375rem;
+ color: $white;
+ border-radius: .375rem;
+ box-shadow: .375rem;
+ font-size: .75rem;
+ will-change: opacity;
+ transition: opacity 250ms ease-in-out, transform 250ms ease-in-out;
+
+ &:hover {
+ cursor: pointer;
+ transform: translate(-50%, -50%) scale(1.05);
+ }
+
+ i {
+ font-size: .9375rem;
+ top: .125rem;
+ }
+ }
+}
+
+.edit-user-details__avatar {
+ border-radius: 50%;
+ overflow: hidden;
+ position: relative;
+ max-width: 7.5rem;
+ box-shadow: 0 2px 0 rgba(90, 97, 105, .11), 0 4px 8px rgba(90, 97, 105, .12), 0 10px 10px rgba(90, 97, 105, .06), 0 7px 70px rgba(90, 97, 105, .1);
+
+ img {
+ width: 100%;
+ }
+
+ &:hover .edit-user-details__avatar__change {
+ opacity: 1;
+ cursor: pointer;
+ }
+}
+
+.edit-user-details__avatar__change {
+ margin: 0;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ opacity: 0;
+ position: absolute;
+ text-align: center;
+ border-radius: 50%;
+ font-size: 1.875rem;
+ background: $white;
+ transition: all 250ms cubic-bezier(.27, .01, .38, 1.06);
+
+ i {
+ color: #9ea8b9;
+ line-height: 7.5rem;
+ }
+}
+
+.auth-form {
+ min-width: 19.375rem;
+ max-width: 350px;
+
+ .card-body {
+ overflow: hidden;
+ box-shadow: inset 0 4px 0 0 var(--primary);
+ border-radius: .625rem;
+ }
+}
+
+.auth-form__logo {
+ max-width: 2.5rem;
+}
+
+.auth-form__title {
+ font-size: 1.125rem;
+}
+
+.auth-form__social-icons {
+ margin: 0;
+ padding: 0;
+
+ li {
+ list-style: none;
+ display: inline-block;
+
+ a {
+ padding: 0 .75rem;
+ font-size: 1.25rem;
+ color: #cbd3da;
+ transition: color 250ms cubic-bezier(.27, .01, .38, 1.06);
+
+ &:hover {
+ color: var(--primary);
+ }
+ }
+ }
+}
+
+.quick-post-form {
+ display: flex;
+ flex-flow: column;
+ flex: 1;
+
+ textarea {
+ resize: none;
+ min-height: 100px;
+ }
+
+ .form-group:nth-child(2) {
+ display: flex;
+ flex: 1;
+ }
+}
+
+.blog-comments__item {
+ padding: 0;
+ border-bottom: 1px solid #e1e5eb;
+
+ &:last-child {
+ border: 0;
+ }
+}
+
+.blog-comments__actions {
+ font-size: 95%;
+
+ .btn-group button {
+ padding: .25rem .5625rem;
+ }
+}
+
+.add-new-post__editor {
+ min-height: 400px;
+}
+
+.card-post {
+ .card-body {
+ padding: 1.5625rem 1.5625rem;
+ }
+
+ .card-footer {
+ padding-left: 1.5625rem;
+ padding-right: 1.5625rem;
+ }
+
+ .card-header {
+ padding-left: 1.5625rem;
+ padding-right: 1.5625rem;
+ }
+}
+
+.card-post__image {
+ position: relative;
+ min-height: 10.3125rem;
+ border-top-left-radius: .625rem;
+ border-top-right-radius: .625rem;
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+}
+
+.card-post__author-avatar {
+ width: 2.8125rem;
+ height: 2.8125rem;
+ box-shadow: 0 0 0 .125rem $white, 0 .1875rem .4375rem rgba(90, 97, 105, .5);
+ display: block;
+ background-position: center;
+ background-size: cover;
+ border-radius: 50%;
+ text-indent: -9999px;
+}
+
+.card-post__author-avatar--small {
+ width: 2.1875rem;
+ height: 2.1875rem;
+}
+
+.card-post__author-name {
+ font-weight: 500;
+}
+
+.card-post--aside {
+ display: flex;
+ flex-flow: row;
+
+ .card-post__image {
+ border-top-right-radius: 0;
+ border-top-left-radius: .625rem;
+ border-bottom-left-radius: .625rem;
+ min-width: 180px;
+ }
+}
+
+.card-post--1 {
+ .card-post__author {
+ position: absolute;
+ transform: translateY(50%);
+ margin-left: 1.5625rem;
+ position: absolute;
+ bottom: 0;
+ }
+
+ .card-post__category {
+ position: absolute;
+ top: .9375rem;
+ right: .9375rem;
+ position: absolute;
+ text-transform: uppercase;
+ }
+
+ .card-body {
+ padding-top: 2.1875rem;
+ }
+
+ &.card-post--aside {
+ .card-body {
+ padding: 1.5625rem 1.5625rem;
+ }
+
+ .card-post__author {
+ left: .9375rem;
+ bottom: .9375rem;
+ transform: none;
+ margin: 0;
+ }
+
+ .card-post__category {
+ right: initial;
+ top: .9375rem;
+ left: .9375rem;
+ }
+ }
+}
+
+.error {
+ height: calc(100vh - 3.75rem);
+ display: flex;
+}
+
+.error__content {
+ max-width: 500px;
+ padding: 0 .9375rem;
+ display: flex;
+ flex-flow: column;
+ margin: auto;
+ align-items: center;
+ text-align: center;
+
+ h2 {
+ color: #cbd3da;
+ font-weight: 700;
+ font-size: 3.75rem;
+ margin-bottom: 1.5625rem;
+ }
+
+ h3 {
+ font-weight: 500;
+ font-size: 2.1875rem;
+ margin-bottom: .625rem;
+ }
+
+ p {
+ color: $reagent-gray;
+ }
+}
+
+@media(max-width:991.98px) {
+ .sc-stats__image {
+ max-width: 3.125rem;
+ }
+
+ .file-manager-cards__search {
+ max-width: 100%;
+ }
+}
+
+@media screen and(min-width:992px) and(max-width:1170px) {
+ .sc-stats {
+ font-size: .75rem;
+ }
+}
+
+@media screen and(max-width:1170px) {
+ .sc-stats__title {
+ padding-left: .625rem !important;
+ }
+}
+
+@media screen and(max-width:992px) {
+ .sc-stats .card-body {
+ min-height: 21rem;
+ }
+
+ .user-teams .card-body {
+ min-height: 21rem;
+ }
+}
+
+.go-stats .list-group .list-group-item {
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+}
+
+.lo-stats__order-details span {
+ display: block;
+
+ &:first-child {
+ font-weight: 500;
+ font-size: 1rem;
+ }
+
+ &:last-child {
+ font-size: .625rem;
+ color: $reagent-gray;
+ }
+}
+
+.user-details__user-data .col span {
+ display: block;
+
+ &:first-child {
+ font-weight: 400;
+ color: $fiord-blue;
+ }
+
+ &:last-child {
+ color: $reagent-gray;
+ }
+}
+
+.user-details__tags .badge {
+ font-weight: 400;
+}
+
+.user-teams__info span {
+ &:first-child {
+ font-weight: 400;
+ }
+
+ &:last-child {
+ font-size: 80%;
+ }
+}
+
+.auth-form__meta a {
+ font-weight: 400;
+ color: $reagent-gray;
+
+ &:hover {
+ color: $fiord-blue;
+ }
+}
+
+.blog-comments__avatar img {
+ width: 3.125rem;
+ height: 3.125rem;
+ border-radius: .25rem;
+}
diff --git a/src/scss/_dropdown.scss b/src/scss/_shards-design-system/_dropdown.scss
similarity index 90%
rename from src/scss/_dropdown.scss
rename to src/scss/_shards-design-system/_dropdown.scss
index 8abab6c7..3a18363b 100644
--- a/src/scss/_dropdown.scss
+++ b/src/scss/_shards-design-system/_dropdown.scss
@@ -15,7 +15,7 @@
@include box-shadow($dropdown-small-box-shadow);
padding: $dropdown-small-padding-y 0;
font-size: $dropdown-small-font-size;
-
+
.dropdown-item {
padding: $dropdown-small-item-padding-y $dropdown-small-item-padding-x;
font-size: $dropdown-small-item-font-size;
@@ -68,7 +68,7 @@
&.disabled,
&:disabled {
color: $dropdown-link-disabled-color;
-
+
&:hover {
background: none;
cursor: not-allowed;
@@ -81,4 +81,18 @@
padding: $dropdown-padding-y $dropdown-item-padding-x;
font-size: $font-size-sm;
color: $dropdown-header-color;
-}
\ No newline at end of file
+}
+
+.dropdown {
+ .fa,
+ .material-icons {
+ color: lighten($blueish-grey, 40);
+ margin-right: 0.25rem;
+ }
+
+ .dropdown-item {
+ &:hover {
+ background-color: lighten($blueish-grey, 60);
+ }
+ }
+}
diff --git a/src/scss/_forms.scss b/src/scss/_shards-design-system/_forms.scss
similarity index 100%
rename from src/scss/_forms.scss
rename to src/scss/_shards-design-system/_forms.scss
diff --git a/src/scss/_functions.scss b/src/scss/_shards-design-system/_functions.scss
similarity index 100%
rename from src/scss/_functions.scss
rename to src/scss/_shards-design-system/_functions.scss
diff --git a/src/scss/_icons.scss b/src/scss/_shards-design-system/_icons.scss
similarity index 100%
rename from src/scss/_icons.scss
rename to src/scss/_shards-design-system/_icons.scss
diff --git a/src/scss/_images.scss b/src/scss/_shards-design-system/_images.scss
similarity index 100%
rename from src/scss/_images.scss
rename to src/scss/_shards-design-system/_images.scss
diff --git a/src/scss/_input-group.scss b/src/scss/_shards-design-system/_input-group.scss
similarity index 97%
rename from src/scss/_input-group.scss
rename to src/scss/_shards-design-system/_input-group.scss
index cb02980c..719229cc 100644
--- a/src/scss/_input-group.scss
+++ b/src/scss/_shards-design-system/_input-group.scss
@@ -5,6 +5,8 @@
//
.input-group {
+ min-width: 7.5rem;
+
> .form-control,
> .custom-select,
> .custom-file {
@@ -53,7 +55,7 @@
> .input-group-append {
right: 0;
}
-
+
> .input-group-middle {
right: 0;
left: 0;
@@ -103,6 +105,15 @@
background-color: $input-group-addon-bg;
border: $input-border-width solid $input-group-addon-border-color;
@include border-radius($input-border-radius);
+
+ &.fa {
+ font-size: 0.75rem;
+ }
+
+ &.material-icons {
+ top: 0;
+ font-size: 0.8125rem;
+ }
}
@@ -161,4 +172,4 @@
.input-group-middle{
display: flex;
-}
\ No newline at end of file
+}
diff --git a/src/scss/_jumbotron.scss b/src/scss/_shards-design-system/_jumbotron.scss
similarity index 100%
rename from src/scss/_jumbotron.scss
rename to src/scss/_shards-design-system/_jumbotron.scss
diff --git a/src/scss/_list-group.scss b/src/scss/_shards-design-system/_list-group.scss
similarity index 100%
rename from src/scss/_list-group.scss
rename to src/scss/_shards-design-system/_list-group.scss
diff --git a/src/scss/_mixins.scss b/src/scss/_shards-design-system/_mixins.scss
similarity index 100%
rename from src/scss/_mixins.scss
rename to src/scss/_shards-design-system/_mixins.scss
diff --git a/src/scss/_modal.scss b/src/scss/_shards-design-system/_modal.scss
similarity index 100%
rename from src/scss/_modal.scss
rename to src/scss/_shards-design-system/_modal.scss
diff --git a/src/scss/_nav.scss b/src/scss/_shards-design-system/_nav.scss
similarity index 100%
rename from src/scss/_nav.scss
rename to src/scss/_shards-design-system/_nav.scss
diff --git a/src/scss/_navbar.scss b/src/scss/_shards-design-system/_navbar.scss
similarity index 89%
rename from src/scss/_navbar.scss
rename to src/scss/_shards-design-system/_navbar.scss
index dc4298b4..df6bc515 100644
--- a/src/scss/_navbar.scss
+++ b/src/scss/_shards-design-system/_navbar.scss
@@ -74,6 +74,26 @@
&.disabled {
color: $navbar-light-disabled-color;
}
+
+ &-icon {
+ color: $nav-link-icon-color;
+
+ @include hover-focus {
+ color: darken($nav-link-icon-color, 10);
+ }
+
+ &__wrapper {
+ position: relative;
+ }
+
+ i {
+ font-size: $nav-link-icon-font-size;
+
+ &.material-icons {
+ font-size: $nav-link-material-icons-font-size;
+ }
+ }
+ }
}
.show > .nav-link,
diff --git a/src/scss/_pagination.scss b/src/scss/_shards-design-system/_pagination.scss
similarity index 100%
rename from src/scss/_pagination.scss
rename to src/scss/_shards-design-system/_pagination.scss
diff --git a/src/scss/_popover.scss b/src/scss/_shards-design-system/_popover.scss
similarity index 100%
rename from src/scss/_popover.scss
rename to src/scss/_shards-design-system/_popover.scss
diff --git a/src/scss/_progress.scss b/src/scss/_shards-design-system/_progress.scss
similarity index 100%
rename from src/scss/_progress.scss
rename to src/scss/_shards-design-system/_progress.scss
diff --git a/src/scss/_reboot.scss b/src/scss/_shards-design-system/_reboot.scss
similarity index 63%
rename from src/scss/_reboot.scss
rename to src/scss/_shards-design-system/_reboot.scss
index e96b3405..8fd2f4b9 100644
--- a/src/scss/_reboot.scss
+++ b/src/scss/_shards-design-system/_reboot.scss
@@ -6,8 +6,17 @@
// HTML (element)
//
html {
+ font-size: 14px;
+ font-weight: 300;
+
+ @media (-webkit-min-device-pixel-ratio: 1.5),
+ (min-resolution: 144dpi) {
+ font-size: 14px;
+ font-weight: 300;
+ }
+
@include media-breakpoint-down(xs) {
- font-size: 15px;
+ font-size: 14px;
}
}
@@ -20,6 +29,12 @@ body {
font-weight: $font-weight-base;
color: $body-color;
background-color: $body-bg;
+
+ @media (-webkit-min-device-pixel-ratio: 2),
+ (min-resolution: 192dpi) {
+ font-size: 13px;
+ font-weight: 400;
+ }
}
@@ -53,3 +68,16 @@ h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
}
+
+// Datepicker adjustments
+.datepicker {
+ font-size: .75rem;
+ padding: 0.625rem;
+
+ table tr td,
+ table tr th {
+ width: 1.875rem;
+ height: 1.875rem;
+ }
+}
+
diff --git a/src/scss/_root.scss b/src/scss/_shards-design-system/_root.scss
similarity index 87%
rename from src/scss/_root.scss
rename to src/scss/_shards-design-system/_root.scss
index 1c85331f..0c5220f2 100644
--- a/src/scss/_root.scss
+++ b/src/scss/_shards-design-system/_root.scss
@@ -1,20 +1,24 @@
// Regenerate CSS variables using adjusted Shards values.
:root {
- // Custom variable values only support SassScript inside `#{}`.
+ // Custom variable values only support SassScript inside `#{}`.
@each $color, $value in $colors {
--#{$color}: #{$value};
}
-
+
@each $color, $value in $theme-colors {
--#{$color}: #{$value};
- }
-
+ }
+
+ @each $color, $value in $whitelabel-theme {
+ --#{$color}: #{$value};
+ }
+
@each $bp, $value in $grid-breakpoints {
--breakpoint-#{$bp}: #{$value};
}
-
+
// Use `inspect` for lists so that quoted items keep the quotes.
// See https://github.com/sass/sass/issues/2383#issuecomment-336349172
--font-family-sans-serif: #{inspect($font-family-sans-serif)};
--font-family-monospace: #{inspect($font-family-monospace)};
- }
\ No newline at end of file
+ }
diff --git a/src/scss/_tables.scss b/src/scss/_shards-design-system/_tables.scss
similarity index 100%
rename from src/scss/_tables.scss
rename to src/scss/_shards-design-system/_tables.scss
diff --git a/src/scss/_tooltip.scss b/src/scss/_shards-design-system/_tooltip.scss
similarity index 95%
rename from src/scss/_tooltip.scss
rename to src/scss/_shards-design-system/_tooltip.scss
index 022da9bd..0035a3ee 100644
--- a/src/scss/_tooltip.scss
+++ b/src/scss/_shards-design-system/_tooltip.scss
@@ -3,7 +3,7 @@
// Base class
.tooltip {
z-index: $zindex-tooltip;
- margin: $tooltip-margin;
+ margin: $tooltip-margin;
@include reset-text();
font-size: $tooltip-font-size;
@@ -80,8 +80,6 @@
.tooltip-inner {
max-width: $tooltip-max-width;
padding: $tooltip-padding-y $tooltip-padding-x;
- color: $tooltip-color;
- background-color: $tooltip-bg;
box-shadow: $tooltip-box-shadow;
@include border-radius($border-radius);
-}
\ No newline at end of file
+}
diff --git a/src/scss/_transitions.scss b/src/scss/_shards-design-system/_transitions.scss
similarity index 100%
rename from src/scss/_transitions.scss
rename to src/scss/_shards-design-system/_transitions.scss
diff --git a/src/scss/_type.scss b/src/scss/_shards-design-system/_type.scss
similarity index 95%
rename from src/scss/_type.scss
rename to src/scss/_shards-design-system/_type.scss
index ec3df4eb..21ec142a 100644
--- a/src/scss/_type.scss
+++ b/src/scss/_shards-design-system/_type.scss
@@ -1,13 +1,4 @@
// Shards Typography Adjustments
-
-//
-// Google Fonts
-//
-
-@if $enable-fonts-import {
- @import url($google-fonts-import);
-}
-
//
// Headings
//
diff --git a/src/scss/_utilities.scss b/src/scss/_shards-design-system/_utilities.scss
similarity index 80%
rename from src/scss/_utilities.scss
rename to src/scss/_shards-design-system/_utilities.scss
index d1f211cd..d4988048 100644
--- a/src/scss/_utilities.scss
+++ b/src/scss/_shards-design-system/_utilities.scss
@@ -1,4 +1,5 @@
@import "utilities/background";
@import "utilities/borders";
@import "utilities/text";
+@import "utilities/general";
@import "utilities/shadows";
diff --git a/src/scss/_shards-design-system/_variables-dashboard.scss b/src/scss/_shards-design-system/_variables-dashboard.scss
new file mode 100644
index 00000000..e2c58d21
--- /dev/null
+++ b/src/scss/_shards-design-system/_variables-dashboard.scss
@@ -0,0 +1,233 @@
+$custom-control-disabled-color: #becad6 !default;
+
+$nav-link-color: $reagent-gray !default;
+$nav-link-icon-color: $nav-link-color !default;
+$nav-link-icon-font-size: 1.25rem !default;
+$nav-link-material-icons-font-size: 1.5625rem !default;
+$nav-link-font-size: 0.8125rem !default;
+$nav-link-font-weight: 400 !default;
+
+// Navbar search
+$navbar-search-padding-y: 23px !default;
+
+// Card -> View Report Link
+$card-view-report-font-size: 0.75rem !default;
+$card-view-report-link-color: $fiord-blue !default;
+$card-view-report-link-color-hover: $primary !default;
+
+$clear-white: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==);
+$check-white: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNOSAxNi4xN0w0LjgzIDEybC0xLjQyIDEuNDFMOSAxOSAyMSA3bC0xLjQxLTEuNDF6Ii8+PC9zdmc+);
+
+// Shadows
+$side-shadow: 0 0.125rem 9.375rem rgba($shuttle-gray, .1), 0 0.25rem 0.5rem rgba($shuttle-gray, .12), 0 0.9375rem 1.375rem rgba($shuttle-gray, .10), 0 0.4375rem 2.1875rem rgba(#A5B6C9, .10);
+
+// Main Navbar
+$main-navbar-height: 3.75rem !default;
+$main-navbar-box-shadow: 0 0.125rem 0.625rem rgba(90, 97, 105, .12) !default;
+$main-navbar-nav-link-min-width: 3.75rem !default;
+$main-navbar-actions-link-border: 1px solid #e3e6ec !default;
+$main-navbar-nav-link-icon-line-height: 2.5rem !default;
+$main-navbar-brand-font-size: 1rem !default;
+
+// Main Navbar -> Notifications
+$notifications-badge-padding-x: 0.375rem !default;
+$notifications-badge-padding-y: 0.25rem !default;
+$notifications-badge-font-size: 0.5rem !default;
+$notifications-dropdown-min-width: 25rem !default;
+$notifications-dropdown-item-padding-top: 0.625rem !default;
+$notifications-dropdown-item-padding-bottom: 0.625rem !default;
+$notifications-dropdown-item-border-bottom: 1px solid $border-color !default;
+$notifications-icon-background-color: $body-bg !default;
+$notifications-icon-width: 2.1875rem !default;
+$notifications-icon-height: 2.1875rem !default;
+$notifications-icon-color: $text-light-color !default;
+$notifications-icon-line-height: 2.0625rem !default;
+$notifications-icon-font-size: 1.0625rem !default;
+$notifications-icon-box-shadow: 0 0 0 1px white, inset 0 0 3px rgba(0, 0, 0, 0.2);
+$notification-content-padding: 0 0.625rem !default;
+$notification-content-paragraph-font-size: 0.75rem !default;
+$notification-category-font-size: 0.5625rem !default;
+$notification-category-color: $reagent-gray !default;
+$notification-category-letter-spacing: 0.0938rem !default;
+
+// Main Navbar -> User Avatar
+$user-avatar-max-width: 2.5rem !default;
+
+// Header Navigation
+$header-navbar-icon-font-size: 0.875rem !default;
+$header-navbar-icon-margin-right: 0.125rem !default;
+$header-navbar-dropdown-nav-link-padding-right: 1.25rem !default;
+$header-navbar-nav-link-color: $fiord-blue !default;
+$header-navbar-nav-link-border: none !default;
+$header-navbar-nav-link-padding: 1.125rem 0 !default;
+$header-navbar-nav-link-margin-right: 1.25rem !default;
+$header-navbar-nav-link-line-height: 1 !default;
+$header-navbar-nav-link-border-radius: 0 !default;
+$header-navbar-nav-link-font-size: 0.8125rem !default;
+$header-navbar-nav-link-background: transparent !default;
+$header-navbar-nav-link-border-bottom: 1px solid transparent !default;
+
+// ahs: active, hover, show
+$header-navbar-nav-item-ahs-border-bottom: 1px solid $primary !default;
+$header-navbar-nav-item-ahs-color: $primary !default;
+$header-navbar-nav-item-ahs-icon-color: $primary !default;
+$header-navbar-nav-link-md-font-size: 0.875rem !default;
+$header-navbar-dropdown-item-md-border-radius: 5px !default;
+$header-navbar-dropdown-item-md-font-size: 0.875rem !default;
+$header-navbar-dropdown-item-md-padding: 0.625rem 1.375rem !default;
+$header-navbar-dropdown-item-md-font-weight: 400 !default;
+
+
+// Page Header
+$page-title-font-size: 1.625rem !default;
+$page-title-sm-font-size: 2rem !default;
+$page-title-font-weight: 500 !default;
+$page-title-line-height: 1 !default;
+$page-title-margin: 0 !default;
+$page-title-padding: 0 !default;
+$page-subtitle-letter-spacing: 0.125rem !default;
+$page-subtitle-color: $reagent-gray !default;
+$page-subtitle-font-size: 0.625rem !default;
+$page-subtitle-font-size-sm: 0.8125rem !default;
+$page-subtitle-font-weight-sm: 400 !default;
+
+// Main footer
+$main-footer-height: $main-navbar-height !default;
+$main-footer-copyright-color: $reagent-gray !default;
+
+// Main sidebar
+$dropdown-icon-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDAwMDAwIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTcuNDEgNy44NEwxMiAxMi40Mmw0LjU5LTQuNThMMTggOS4yNWwtNiA2LTYtNnoiLz4gICAgPHBhdGggZD0iTTAtLjc1aDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+);
+$dropdown-icon-width: 0.875rem;
+$dropdown-icon-height: 0.5625rem;
+$dropdown-icon-background-position: center center;
+$dropdown-icon-transition: transform $transition-duration ease-in-out;
+
+$main-sidebar-height: calc(100vh) !default;
+$main-sidebar-zindex: 1070 !default;
+$main-sidebar-background: $white !default;
+$main-sidebar-will-change: transform !default;
+$main-sidebar-transition: transform 200ms ease-in-out !default;
+$main-sidebar-toggle-font-size: 1.25rem !default;
+$main-sidebar-toggle-padding: 1.25rem !default;
+$main-sidebar-toggle-border-left: 1px solid $border-color !default;
+$main-sidebar-nav-wrapper-height: calc(100vh - 3.75rem - 1px) !default;
+$main-sidebar-nav-border-bottom: 1px solid $border-color !default;
+$main-sidebar-nav-link-active-background-color: #FBFBFB !default;
+$main-sidebar-nav-link-active-color: $primary !default;
+$main-sidebar-nav-link-active-box-shadow: inset 0.1875rem 0 0 $primary !default;
+$main-sidebar-nav-link-active-icon-color: $primary !default;
+$main-sidebar-nav-link-border: 1px solid $border-color !default;
+$main-sidebar-nav-link-font-weight: 400 !default;
+$main-sidebar-nav-link-font-size: 0.85rem !default;
+$main-sidebar-nav-link-padding-x: 1.5625rem !default;
+$main-sidebar-nav-link-padding-y: 0.9375rem !default;
+$main-sidebar-nav-link-color: $fiord-blue !default;
+$main-sidebar-nav-link-font-family: $font-family-base !default;
+$main-sidebar-nav-link-will-change: background-color, box-shadow, color !default;
+$main-sidebar-nav-link-transition: box-shadow 200ms ease, color 200ms ease, background-color 200ms ease !default;
+
+$main-sidebar-nav-link-icon-transition: color 200ms ease !default;
+$main-sidebar-nav-link-icon-margin-right: 0.375rem !default;
+$main-sidebar-nav-link-icon-color: $primary !default;
+$main-sidebar-nav-link-icon-will-change: color !default;
+$main-sidebar-dropdown-menu-box-shadow: inset 0 -0.1875rem 0.1875rem rgba($fiord-blue, .08) !default;
+$main-sidebar-dropdown-item-background-color-active: $main-sidebar-nav-link-active-background-color !default;
+$main-sidebar-dropdown-item-background-hover: none !default;
+$main-sidebar-dropdown-item-padding-x: 1.75rem !default;
+$main-sidebar-dropdown-item-padding-y: 0.75rem !default;
+$main-sidebar-dropdown-item-border: 1px solid lighten($border-color, 5) !default;
+$main-sidebar-dropdown-item-last-border: 1px solid $border-color !default;
+$main-sidebar-dropdown-item-color: $fiord-blue !default;
+$main-sidebar-dropdown-item-active-color: $primary !default;
+$main-sidebar-nav-no-borders-nav-link-border-bottom: 0 !default;
+$main-sidebar-nav-no-borders-dropdown-menu-box-shadow: inset 0 0 0.4375rem rgba($fiord-blue, .2) !default;
+$main-sidebar-nav-no-borders-dropdown-item-first-border-top: $main-sidebar-dropdown-item-last-border !default;
+$main-sidebar-dropdown-item-font-size: 0.8125rem !default;
+$main-sidebar-dropdown-item-font-weight: 400 !default;
+$main-sidebar-dropdown-item-font-weight-retina: 300 !default;
+
+// Components -> Card Post
+$card-post-padding-x: 1.5625rem !default;
+$card-post-padding-y: 1.5625rem !default;
+$card-post-padding: $card-post-padding-y $card-post-padding-x !default;
+$card-post-image-min-height: 10.3125rem !default;
+$card-post-author-avatar-width: 2.8125rem !default; // 45px
+$card-post-author-avatar-height: 2.8125rem !default; // 45px
+$card-post-author-avatar-small-width: 2.1875rem !default; // 35px
+$card-post-author-avatar-small-height: 2.1875rem !default; // 35px
+$card-post-author-avatar-box-shadow: 0 0 0 0.125rem $white,
+0 0.1875rem 0.4375rem rgba($blueish-grey, 0.5) !default;
+
+// Components -> Card Post -> Variation 1
+$card-post-v1-author-transform: translateY(50%) !default;
+$card-post-v1-author-margin-left: 1.5625rem !default; // 25px
+$card-post-v1-category-top: 0.9375rem !default; // 15px
+$card-post-v1-category-right: 0.9375rem !default; // 15px
+$card-post-v1-body-padding-top: 2.1875rem !default; // 35px
+$card-post-aside-v1-body-padding: $card-post-padding !default;
+$card-post-aside-v1-author-left: 0.9375rem !default; // 15px
+$card-post-aside-v1-author-bottom: 0.9375rem !default; // 15px
+$card-post-aside-v1-category-top: 0.9375rem !default; // 15px
+$card-post-aside-v1-category-left: 0.9375rem !default; // 15px
+
+// Components -> Sliders
+// Core Shards UI sliders adjustments.
+$slider-accent-background: $primary !default;
+$slider-pips-font-size: 0.625rem !default; // 10px
+$slider-tooltip-font-size: 0.6875rem !default; // 11px
+$slider-tooltip-padding: 0.1875rem 0.5rem !default; // 3,8px
+$slider-horizontal-tooltip-bottom: 1.625rem !default; // 26px
+$slider-horizontal-handle-left: -0.625rem !default; // -10px
+$slider-horizontal-handle-top: -0.5rem !default; // -8px
+$slider-handle-width: 1.1875rem !default; // 19px
+$slider-handle-height: 1.1875rem !default; // 19px
+
+// Statistics Blocks and Charts Styles
+// Small stats block
+// Used in: Blog overview page templates.
+$small-stats-min-height: 8.7rem !default;
+$small-stats-value-font-family: $font-family-base !default;
+$small-stats-value-font-size: 1.5rem !default;
+$small-stats-value-font-weight: 500 !default;
+$small-stats-value-color: $fiord-blue !default;
+$small-stats-label-font-size: 0.625rem !default;
+$small-stats-label-color: $reagent-gray !default;
+$small-stats-label-letter-spacing: normal !default;
+$small-stats-percentage-font-size: 0.75rem !default;
+$small-stats-percentage-padding-left: 0.9375rem !default;
+
+// Small Stats -- 1
+$small-stats-1-data-max-width: 100% !default;
+$small-stats-1-percentage-margin: 0 auto !default;
+$small-stats-1-value-font-size: 2.0625rem !default; // 33px
+$small-stats-1-label-font-size: 0.75rem !default; // 12px
+$small-stats-1-percentage-font-size: 0.75rem !default; // 12px
+$small-stats-1-chart-opacity: 0.5 !default;
+
+// Quick Post Form
+// Used in: Blog Overview
+$qp-form-display: flex !default;
+$qp-form-flex-flow: column !default;
+$qp-form-flex: 1 !default;
+$qp-form-textarea-min-height: 100px !default;
+
+// Blog Comments Component
+// Used in: Blog Overview
+$bc-avatar-img-width: 3.125rem !default; // 50px
+$bc-avatar-img-height: 3.125rem !default; // 50px
+$bc-avatar-img-border-radius: 0.25rem !default; // 4px
+$bc-item-border-bottom: 1px solid $border-color !default;
+$bc-actions-font-size: 95% !default;
+$bc-actions-button-group-padding: 0.25rem 0.5625rem !default;
+
+// Error(s) templates
+$error-tpl-height: calc(100vh - #{$main-navbar-height}) !default;
+$error-tpl-content-padding: 0 0.9375rem !default; // 0,15px
+$error-tpl-content-heading-color: $mischka !default;
+$error-tpl-content-heading-font-weight: 700 !default;
+$error-tpl-content-heading-font-size: 6.75rem !default; // 60px
+$error-tpl-content-heading-margin-bottom: 1.5625rem !default; // 25px
+$error-tpl-content-subheading-font-weight: 500 !default;
+$error-tpl-content-subheading-font-size: 2.1875rem !default; // 35px
+$error-tpl-content-subheading-margin-bottom: 0.625rem !default; // 10px
+$error-tpl-content-paragraph-color: $reagent-gray !default;
diff --git a/src/scss/_variables.scss b/src/scss/_shards-design-system/_variables.scss
similarity index 96%
rename from src/scss/_variables.scss
rename to src/scss/_shards-design-system/_variables.scss
index debf8ca5..c668e554 100644
--- a/src/scss/_variables.scss
+++ b/src/scss/_shards-design-system/_variables.scss
@@ -118,7 +118,7 @@ $spacer: 1.5rem !default; // ~ 24px
// Body
$body-bg: $white !default;
-$body-color: $blueish-grey !default;
+$body-color: $gray-900 !default;
// Links
@@ -184,22 +184,11 @@ $transition-collapse: height 350ms ease-in-out !default;
// Fonts
-
-$google-fonts-import: 'https://fonts.googleapis.com/css?family=Poppins:300,400,500,600|Roboto+Mono' !default; // Includes: Poppins: Light, Regular, Medium, Semi-bold; Roboto Mono: Regular
-
-$font-family-poppins-first: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
-$font-family-system-first: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
-$font-family-roboto-mono-first: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
-
-$font-family-sans-serif: $font-family-system-first !default;
-$font-family-monospace: $font-family-roboto-mono-first !default;
-$font-family-base: $font-family-sans-serif !default;
-
$font-size-base: 1rem !default;
$font-size-lg: 1.25rem !default;
$font-size-sm: .875rem !default;
-$font-weight-normal: 300 !default;
+$font-weight-normal: 400 !default;
$font-weight-bold: 500 !default;
$font-weight-base: $font-weight-normal !default;
@@ -213,9 +202,6 @@ $h5-font-size: 1.25rem !default;
$h6-font-size: 1rem !default;
$headings-margin-bottom: .75rem !default;
-
-$headings-font-family: $font-family-poppins-first !default;
-$headings-font-weight: 400 !default;
$headings-color: $gray-900 !default;
$headings-letter-spacing: -.0625rem !default; // ~1px
@@ -236,6 +222,7 @@ $display-margin-bottom: 0.75rem !default;
$paragraphs-margin-bottom: 1.75rem !default;
+$lead-font-weight: 400 !default;
$lead-line-height: 1.875rem !default;
$small-font-size: 80% !default;
@@ -307,7 +294,6 @@ $btn-font-weight: $font-weight-normal !default;
$btn-font-size: .875rem !default;
$btn-font-size-sm: 0.75rem !default;
$btn-font-size-lg: 1.125rem !default;
-$btn-font-family: $font-family-poppins-first !default;
$btn-box-shadow: none !default;
$input-btn-focus-width: .2rem !default;
@@ -576,7 +562,6 @@ $zindex-tooltip: 1070 !default;
// Navs
$nav-transition: $transition-base !default;
-$nav-font-family: $font-family-poppins-first !default;
$nav-link-padding-y: .625rem !default;
$nav-link-padding-x: 1.125rem !default;
@@ -609,7 +594,6 @@ $nav-link-height: $navbar-brand-font-size * $line-height-base
$navbar-brand-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;
$navbar-brand-padding-y: ($navbar-brand-height - $nav-link-height) / 2 !default;
-$navbar-font-family: $font-family-poppins-first !default;
$navbar-toggler-padding-y: .5rem !default;
$navbar-toggler-padding-x: .5rem !default;
$navbar-toggler-font-size: 1rem !default;
@@ -638,7 +622,6 @@ $pagination-padding-x-sm: .6875rem !default;
$pagination-padding-y-lg: .9375rem !default;
$pagination-padding-x-lg: 1.5625rem !default;
$pagination-line-height: 1.25 !default;
-$pagination-font-family: $font-family-poppins-first !default;
$pagination-font-size: .875rem !default;
$pagination-box-shadow: 0 .125rem .9375rem rgba($blueish-grey, 0.1), 0 .125rem .1875rem rgba($blueish-grey, 0.15) !default;
@@ -683,10 +666,8 @@ $card-inner-border-radius: $card-border-radius !default;
$card-cap-bg: rgba($blueish-grey, .06) !default;
$card-bg: $white !default;
-$card-title-font-weight: 500 !default;
$card-title-margin-bottom: .75rem !default;
-$card-link-font-family: $font-family-poppins-first !default;
$card-paragraph-margin-bottom: 1.5625rem !default;
@@ -716,7 +697,7 @@ $card-small-box-shadow: 0 2px 0 rgba($blueish-grey, 0.11),
$tooltip-max-width: 200px !default;
$tooltip-color: $blueish-grey !default;
-$tooltip-bg: $white !default;
+$tooltip-bg: $black !default;
$tooltip-opacity: 1 !default;
$tooltip-padding-y: 7px !default;
$tooltip-padding-x: 13px !default;
@@ -767,7 +748,6 @@ $badge-font-size: 75% !default;
$badge-font-weight: $font-weight-bold !default;
$badge-padding-y: .375rem !default;
$badge-padding-x: .5rem !default;
-$badge-font-family: $font-family-system-first !default;
$badge-pill-border-radius: 10rem !default;
$badge-border-radius: .375rem !default;
$badge-pill-padding-x: $badge-padding-x !default;
@@ -808,7 +788,7 @@ $modal-transition: transform .3s ease-out !default;
$alert-padding-y: .75rem !default;
$alert-padding-x: 1.25rem !default;
$alert-margin-bottom: 1rem !default;
-$alert-border-radius: 0 !default;
+// $alert-border-radius: 0 !default;
$alert-link-font-weight: $font-weight-bold !default;
diff --git a/src/scss/_shards-design-system/blocks/_main-content.scss b/src/scss/_shards-design-system/blocks/_main-content.scss
new file mode 100644
index 00000000..2f4d8f7b
--- /dev/null
+++ b/src/scss/_shards-design-system/blocks/_main-content.scss
@@ -0,0 +1,5 @@
+// Main content adjustments
+
+.main-content > .main-content-container.container-fluid {
+ min-height: calc(100vh - #{$main-navbar-height + $main-footer-height});
+}
diff --git a/src/scss/_shards-design-system/blocks/_main-footer.scss b/src/scss/_shards-design-system/blocks/_main-footer.scss
new file mode 100644
index 00000000..b226b676
--- /dev/null
+++ b/src/scss/_shards-design-system/blocks/_main-footer.scss
@@ -0,0 +1,28 @@
+// Main footer
+
+.main-footer {
+ height: $main-footer-height;
+
+ .copyright {
+ color: $main-footer-copyright-color;
+ }
+
+ @include media-breakpoint-down(sm) {
+ display: block !important;
+ height: auto;
+
+ .nav {
+ width: 100%;
+ display: block;
+ border-bottom: 1px solid $border-color;
+ padding-bottom: $spacer / 2;
+ }
+
+ .copyright {
+ display: inline-block;
+ width: 100%;
+ padding: 1rem;
+ text-align: center;
+ }
+ }
+}
diff --git a/src/scss/_shards-design-system/blocks/_main-navbar.scss b/src/scss/_shards-design-system/blocks/_main-navbar.scss
new file mode 100644
index 00000000..720e9524
--- /dev/null
+++ b/src/scss/_shards-design-system/blocks/_main-navbar.scss
@@ -0,0 +1,142 @@
+// Main navbar adjustments
+
+.main-navbar .navbar {
+ height: $main-navbar-height;
+
+ > * {
+ display: flex;
+ }
+
+ .nav-link {
+ min-width: $main-navbar-nav-link-min-width;
+ }
+
+ // Notifications
+ .notifications {
+ position: relative;
+
+ @include media-breakpoint-down(sm) {
+ position: static;
+
+ .dropdown-menu {
+ min-width: 100% !important;
+ border-left: none;
+ }
+ }
+
+ .badge {
+ position: absolute;
+ padding: $notifications-badge-padding-y $notifications-badge-padding-x;
+ font-size: $notifications-badge-font-size;
+ left: 50%;
+ top: 50%;
+ }
+
+ .dropdown-menu {
+ padding: 0;
+ min-width: $notifications-dropdown-min-width;
+ border-right: 0;
+ left: auto;
+
+ // Adjust the dropdown menu on smaller screens.
+ @include media-breakpoint-down(sm) {
+ left: 0;
+ right: 0;
+ }
+
+ .dropdown-item {
+ white-space: normal;
+ display: flex;
+ flex-flow: row;
+ padding-top: $notifications-dropdown-item-padding-top;
+ padding-bottom: $notifications-dropdown-item-padding-bottom;
+ border-bottom: $notifications-dropdown-item-border-bottom;
+
+ &:last-child {
+ border-bottom: 0;
+ }
+ }
+
+ .notification {
+ &__icon-wrapper {
+ display: flex;
+ padding: 0 5px;
+ }
+
+ &__icon {
+ background-color: $notifications-icon-background-color;
+ box-shadow: $notifications-icon-box-shadow;
+ width: $notifications-icon-width;
+ height: $notifications-icon-height;
+ line-height: 0;
+ display: block;
+ text-align: center;
+ margin: auto;
+ border-radius: 50%;
+
+ i {
+ color: $notifications-icon-color;
+ line-height: $notifications-icon-line-height;
+ font-size: $notifications-icon-font-size;
+ margin: 0;
+ }
+ }
+
+ &__content {
+ padding: $notification-content-padding;
+
+ p {
+ margin: 0;
+ line-height: 1.5;
+ font-size: $notification-content-paragraph-font-size;
+ }
+ }
+
+ &__category {
+ font-size: $notification-category-font-size;
+ color: $notification-category-color;
+ letter-spacing: $notification-category-letter-spacing;
+ display: inline-block;
+ text-transform: uppercase;
+ margin-bottom: 5px;
+ font-weight: 500;
+ }
+
+ // All notifications link.
+ &__all {
+ display: block;
+ font-weight: 500;
+ font-size: 11px;
+ border-bottom-left-radius: $border-radius;
+ border-bottom-right-radius: $border-radius;
+ }
+ }
+ }
+ }
+
+ // User avatar
+ .user-avatar {
+ max-width: $user-avatar-max-width;
+ }
+
+ // Navbar
+ .navbar-nav .dropdown-menu {
+ position: absolute;
+ right: 0;
+ width: 100%;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-top: none;
+ }
+
+ .nav-link-icon i {
+ line-height: $main-navbar-nav-link-icon-line-height;
+ }
+}
+
+// Main navbar shadow.
+.main-content > .main-navbar,
+.main-content .header-navbar {
+ box-shadow: $main-navbar-box-shadow;
+}
+
diff --git a/src/scss/_shards-design-system/blocks/_main-sidebar.scss b/src/scss/_shards-design-system/blocks/_main-sidebar.scss
new file mode 100644
index 00000000..253e566c
--- /dev/null
+++ b/src/scss/_shards-design-system/blocks/_main-sidebar.scss
@@ -0,0 +1,232 @@
+// Main sidebar
+
+.main-sidebar {
+ top: 0;
+ position: fixed;
+ height: $main-sidebar-height;
+ background: $main-sidebar-background;
+ z-index: $main-sidebar-zindex;
+ will-change: $main-sidebar-will-change;
+ transition: $main-sidebar-transition;
+ box-shadow: $side-shadow;
+
+ @include media-breakpoint-down(sm) {
+ transform: translateX(-100%);
+ box-shadow: none;
+ }
+
+ // Opened state
+ &.open {
+ transform: translateX(0);
+ box-shadow: $side-shadow;
+ }
+
+ // Toggle sidebar
+ .toggle-sidebar {
+ position: absolute;
+ right: 0;
+ height: 100%;
+ padding: $main-sidebar-toggle-padding;
+ font-size: $main-sidebar-toggle-font-size;
+ border-left: $main-sidebar-toggle-border-left;
+
+ &:hover {
+ cursor: pointer;
+ }
+ }
+
+ // Sidebar navbar brand
+ .navbar-brand {
+ overflow: hidden;
+ height: $main-navbar-height;
+ font-size: $main-navbar-brand-font-size;
+
+ @include media-breakpoint-down(md) {
+ font-size: 90%;
+ }
+ }
+
+ .nav-wrapper {
+ overflow-y: auto;
+ overflow-x: hidden;
+ height: $main-sidebar-nav-wrapper-height;
+ }
+
+ // Nav
+ .nav {
+ .nav-item,
+ .nav-link {
+ white-space: nowrap;
+ min-width: 100%;
+ max-width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-family: $main-sidebar-nav-link-font-family;
+ will-change: $main-sidebar-nav-link-will-change;
+ transition: $main-sidebar-nav-link-transition;
+ font-size: $main-sidebar-nav-link-font-size;
+ }
+
+ .nav-item {
+ .nav-link {
+ border-bottom: $main-sidebar-nav-link-border;
+ font-weight: $main-sidebar-nav-link-font-weight;
+ color: $main-sidebar-nav-link-color;
+ padding: $main-sidebar-nav-link-padding-y $main-sidebar-nav-link-padding-x;
+
+ i {
+ min-width: 1.25rem;
+ font-size: 90%;
+ text-align: center;
+ vertical-align: middle;
+ will-change: $main-sidebar-nav-link-icon-will-change;
+ color: $main-sidebar-nav-link-icon-color;
+ transition: $main-sidebar-nav-link-icon-transition;
+ margin-right: $main-sidebar-nav-link-icon-margin-right;
+ }
+
+ i.material-icons {
+ font-size: 1.125rem;
+ top: -1px;
+ }
+ }
+
+ &.active, .nav-link.active,
+ &:hover, .nav-link:hover {
+ // box-shadow: $main-sidebar-nav-link-active-box-shadow;
+ background-color: $main-sidebar-nav-link-active-background-color;
+ color: $main-sidebar-nav-link-active-color;
+
+ i {
+ color: $main-sidebar-nav-link-active-icon-color;
+ }
+ }
+ }
+
+ // Nav Item -- No borders
+ &--no-borders {
+ .nav-item .nav-link {
+ border-bottom: $main-sidebar-nav-no-borders-nav-link-border-bottom;
+ }
+
+ .dropdown-menu {
+ box-shadow: $main-sidebar-nav-no-borders-dropdown-menu-box-shadow;
+
+ .dropdown-item:first-child {
+ border-top: $main-sidebar-nav-no-borders-dropdown-item-first-border-top;
+ }
+ }
+ }
+ }
+
+ // Dropdown menu
+ .dropdown-menu {
+ position: static !important;
+ transform: translate(0) !important;
+ box-shadow: none;
+ border-radius: 0;
+ width: 100%;
+ border: none;
+ padding: 0;
+ box-shadow: $main-sidebar-dropdown-menu-box-shadow;
+
+ .dropdown-item {
+ padding: $main-sidebar-dropdown-item-padding-y $main-sidebar-dropdown-item-padding-x ;
+ border-bottom: $main-sidebar-dropdown-item-border;
+ color: $main-sidebar-dropdown-item-color;
+ font-size: $main-sidebar-dropdown-item-font-size;
+ font-weight: $main-sidebar-dropdown-item-font-weight;
+
+ @media (-webkit-min-device-pixel-ratio: 1.5),
+ (min-resolution: 144dpi) {
+ font-weight: $main-sidebar-dropdown-item-font-weight-retina;
+ }
+
+ &:hover,
+ &.active {
+ color: $main-sidebar-dropdown-item-active-color;
+ }
+
+ &:hover {
+ background: $main-sidebar-dropdown-item-background-hover;
+ }
+
+ &.active {
+ background-color: $main-sidebar-dropdown-item-background-color-active;
+ }
+
+ &:last-of-type {
+ border-bottom: $main-sidebar-dropdown-item-last-border;
+ }
+ }
+
+ .dropdown-divider {
+ margin: 0;
+ }
+ }
+
+ // Dropdown toggle
+ .dropdown-toggle {
+ position: relative;
+
+ &::after {
+ background-image: $dropdown-icon-image;
+ background-position: $dropdown-icon-background-position;
+ width: $dropdown-icon-width;
+ height: $dropdown-icon-height;
+ transition: $dropdown-icon-transition;
+ border: none;
+ position: absolute;
+ top: 50%;
+ right: 0.625rem;
+ transform: translateY(-50%);
+ opacity: .1;
+ will-change: transform;
+ }
+ }
+
+ .dropdown.show {
+ .dropdown-toggle::after {
+ transform: translateY(-50%) rotateZ(180deg);
+ }
+ }
+
+ &__search {
+ @include media-breakpoint-down(sm) {
+ box-sizing: border-box;
+ border-right: 0 !important;
+ padding: 0.625rem 0;
+ border-bottom: 1px solid $border-color;
+
+ .input-group {
+ margin: 0 !important;
+ }
+ }
+ }
+}
+
+
+//
+// Common styles for both main navbar and
+// main sidebar search elements.
+//
+
+.main-navbar__search,
+.main-sidebar__search {
+ .input-group-prepend {
+ .input-group-text {
+ font-size: 0.6875rem;
+ padding: 0.75rem 1.0625rem;
+ }
+ }
+
+ input.form-control {
+ border: none;
+ font-size: 0.8125rem;
+ border-radius: 0;
+
+ @include hover-focus {
+ box-shadow: none;
+ }
+ }
+}
diff --git a/src/scss/_shards-design-system/blocks/_page-header.scss b/src/scss/_shards-design-system/blocks/_page-header.scss
new file mode 100644
index 00000000..daa82265
--- /dev/null
+++ b/src/scss/_shards-design-system/blocks/_page-header.scss
@@ -0,0 +1,29 @@
+// Page headers
+//
+// Used across the UI kit to emphasize each page by using a title
+// and optional description.
+
+.page-header {
+ .page-title {
+ font-size: $page-title-font-size;
+ font-weight: $page-title-font-weight;
+ line-height: $page-title-line-height;
+ margin: $page-title-margin;
+ padding: $page-title-padding;
+
+ @include media-breakpoint-down(sm) {
+ font-size: $page-title-sm-font-size;
+ }
+ }
+
+ .page-subtitle {
+ letter-spacing: $page-subtitle-letter-spacing;
+ color: $page-subtitle-color;
+ font-size: $page-subtitle-font-size;
+
+ @include media-breakpoint-down(sm) {
+ font-size: $page-subtitle-font-size-sm;
+ font-weight: $page-subtitle-font-weight-sm;
+ }
+ }
+}
diff --git a/src/scss/_shards-design-system/components/_card-post.scss b/src/scss/_shards-design-system/components/_card-post.scss
new file mode 100644
index 00000000..c361e46b
--- /dev/null
+++ b/src/scss/_shards-design-system/components/_card-post.scss
@@ -0,0 +1,114 @@
+// Content Post Component
+// Used in templates: Components > Blog Posts
+
+// Blog Post Cards
+.card-post {
+
+ // Adjust the card post inner elements' paddings.
+ .card-body {
+ padding: $card-post-padding;
+ }
+
+ .card-footer,
+ .card-header {
+ padding-left: $card-post-padding-x;
+ padding-right: $card-post-padding-x;
+ }
+
+ // Card Post :: Image
+ &__image {
+ position: relative;
+ min-height: $card-post-image-min-height;
+ border-top-left-radius: $card-border-radius;
+ border-top-right-radius: $card-border-radius;
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+ }
+
+ // Card Post :: Author :: Avatar
+ &__author-avatar {
+ width: $card-post-author-avatar-width;
+ height: $card-post-author-avatar-height;
+ box-shadow: $card-post-author-avatar-box-shadow;
+ display: block;
+ background-position: center;
+ background-size: cover;
+ border-radius: 50%;
+ text-indent: -9999px;
+
+ // Author Avatar -- Small Modifier
+ &--small {
+ width: $card-post-author-avatar-small-width;
+ height: $card-post-author-avatar-small-height;
+ }
+ }
+
+ // Card Post :: Author :: Name
+ &__author-name {
+ font-weight: 500;
+ }
+
+ // Card Post -- Aside Modifier
+ &--aside {
+ display: flex;
+ flex-flow: row;
+
+ .card-post__image {
+ border-top-right-radius: 0;
+ border-top-left-radius: $card-border-radius;
+ border-bottom-left-radius: $card-border-radius;
+ min-width: 180px;
+ }
+ }
+
+ //
+ // Variations
+ //
+
+ // Variation 1
+ &--1 {
+ .card-post__author,
+ .card-post__category {
+ position: absolute;
+ }
+
+ .card-post__author {
+ transform: $card-post-v1-author-transform;
+ margin-left: $card-post-v1-author-margin-left;
+ position: absolute;
+ bottom: 0;
+ }
+
+ .card-post__category {
+ top: $card-post-v1-category-top;
+ right: $card-post-v1-category-right;
+ position: absolute;
+ text-transform: uppercase;
+ }
+
+ .card-body {
+ padding-top: $card-post-v1-body-padding-top;
+ }
+
+ // Card Post Aside Adjustments
+ &.card-post--aside {
+ .card-body {
+ padding: $card-post-aside-v1-body-padding;
+ }
+
+ .card-post__author {
+ left: $card-post-aside-v1-author-left;
+ bottom: $card-post-aside-v1-author-bottom;
+ transform: none;
+ margin: 0;
+ }
+
+ .card-post__category {
+ right: initial;
+ top: $card-post-aside-v1-category-top;
+ left: $card-post-aside-v1-category-left;
+ }
+ }
+ }
+}
diff --git a/src/scss/_shards-design-system/components/_error.scss b/src/scss/_shards-design-system/components/_error.scss
new file mode 100644
index 00000000..3ddfe51f
--- /dev/null
+++ b/src/scss/_shards-design-system/components/_error.scss
@@ -0,0 +1,33 @@
+// Error component
+// Used in: Error templates.
+
+.error {
+ height: $error-tpl-height;
+ display: flex;
+
+ &__content {
+ padding: $error-tpl-content-padding;
+ display: flex;
+ flex-flow: column;
+ margin: auto;
+ align-items: center;
+ text-align: center;
+
+ h2 {
+ color: $error-tpl-content-heading-color;
+ font-weight: $error-tpl-content-heading-font-weight;
+ font-size: $error-tpl-content-heading-font-size;
+ margin-bottom: $error-tpl-content-heading-margin-bottom;
+ }
+
+ h3 {
+ font-weight: $error-tpl-content-subheading-font-weight;
+ font-size: $error-tpl-content-subheading-font-size;
+ margin-bottom: $error-tpl-content-subheading-margin-bottom;
+ }
+
+ p {
+ color: $error-tpl-content-paragraph-color;
+ }
+ }
+}
diff --git a/src/scss/mixins/_alert.scss b/src/scss/_shards-design-system/mixins/_alert.scss
similarity index 100%
rename from src/scss/mixins/_alert.scss
rename to src/scss/_shards-design-system/mixins/_alert.scss
diff --git a/src/scss/mixins/_background-variant.scss b/src/scss/_shards-design-system/mixins/_background-variant.scss
similarity index 100%
rename from src/scss/mixins/_background-variant.scss
rename to src/scss/_shards-design-system/mixins/_background-variant.scss
diff --git a/src/scss/mixins/_badge.scss b/src/scss/_shards-design-system/mixins/_badge.scss
similarity index 100%
rename from src/scss/mixins/_badge.scss
rename to src/scss/_shards-design-system/mixins/_badge.scss
diff --git a/src/scss/_shards-design-system/mixins/_border-radius.scss b/src/scss/_shards-design-system/mixins/_border-radius.scss
new file mode 100644
index 00000000..2024febc
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_border-radius.scss
@@ -0,0 +1,35 @@
+// Single side border-radius
+
+@mixin border-radius($radius: $border-radius) {
+ @if $enable-rounded {
+ border-radius: $radius;
+ }
+}
+
+@mixin border-top-radius($radius) {
+ @if $enable-rounded {
+ border-top-left-radius: $radius;
+ border-top-right-radius: $radius;
+ }
+}
+
+@mixin border-right-radius($radius) {
+ @if $enable-rounded {
+ border-top-right-radius: $radius;
+ border-bottom-right-radius: $radius;
+ }
+}
+
+@mixin border-bottom-radius($radius) {
+ @if $enable-rounded {
+ border-bottom-right-radius: $radius;
+ border-bottom-left-radius: $radius;
+ }
+}
+
+@mixin border-left-radius($radius) {
+ @if $enable-rounded {
+ border-top-left-radius: $radius;
+ border-bottom-left-radius: $radius;
+ }
+}
diff --git a/src/scss/_shards-design-system/mixins/_box-shadow.scss b/src/scss/_shards-design-system/mixins/_box-shadow.scss
new file mode 100644
index 00000000..b2410e53
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_box-shadow.scss
@@ -0,0 +1,5 @@
+@mixin box-shadow($shadow...) {
+ @if $enable-shadows {
+ box-shadow: $shadow;
+ }
+}
diff --git a/src/scss/mixins/_breakpoints.scss b/src/scss/_shards-design-system/mixins/_breakpoints.scss
similarity index 100%
rename from src/scss/mixins/_breakpoints.scss
rename to src/scss/_shards-design-system/mixins/_breakpoints.scss
diff --git a/src/scss/mixins/_buttons.scss b/src/scss/_shards-design-system/mixins/_buttons.scss
similarity index 100%
rename from src/scss/mixins/_buttons.scss
rename to src/scss/_shards-design-system/mixins/_buttons.scss
diff --git a/src/scss/_shards-design-system/mixins/_clearfix.scss b/src/scss/_shards-design-system/mixins/_clearfix.scss
new file mode 100644
index 00000000..11a977b7
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_clearfix.scss
@@ -0,0 +1,7 @@
+@mixin clearfix() {
+ &::after {
+ display: block;
+ clear: both;
+ content: "";
+ }
+}
diff --git a/src/scss/mixins/_float.scss b/src/scss/_shards-design-system/mixins/_float.scss
similarity index 100%
rename from src/scss/mixins/_float.scss
rename to src/scss/_shards-design-system/mixins/_float.scss
diff --git a/src/scss/mixins/_forms.scss b/src/scss/_shards-design-system/mixins/_forms.scss
similarity index 100%
rename from src/scss/mixins/_forms.scss
rename to src/scss/_shards-design-system/mixins/_forms.scss
diff --git a/src/scss/mixins/_gradients.scss b/src/scss/_shards-design-system/mixins/_gradients.scss
similarity index 100%
rename from src/scss/mixins/_gradients.scss
rename to src/scss/_shards-design-system/mixins/_gradients.scss
diff --git a/src/scss/mixins/_hover.scss b/src/scss/_shards-design-system/mixins/_hover.scss
similarity index 100%
rename from src/scss/mixins/_hover.scss
rename to src/scss/_shards-design-system/mixins/_hover.scss
diff --git a/src/scss/mixins/_image.scss b/src/scss/_shards-design-system/mixins/_image.scss
similarity index 100%
rename from src/scss/mixins/_image.scss
rename to src/scss/_shards-design-system/mixins/_image.scss
diff --git a/src/scss/mixins/_list-group.scss b/src/scss/_shards-design-system/mixins/_list-group.scss
similarity index 100%
rename from src/scss/mixins/_list-group.scss
rename to src/scss/_shards-design-system/mixins/_list-group.scss
diff --git a/src/scss/_shards-design-system/mixins/_lists.scss b/src/scss/_shards-design-system/mixins/_lists.scss
new file mode 100644
index 00000000..25185626
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_lists.scss
@@ -0,0 +1,7 @@
+// Lists
+
+// Unstyled keeps list items block level, just removes default browser padding and list-style
+@mixin list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
diff --git a/src/scss/mixins/_nav-divider.scss b/src/scss/_shards-design-system/mixins/_nav-divider.scss
similarity index 100%
rename from src/scss/mixins/_nav-divider.scss
rename to src/scss/_shards-design-system/mixins/_nav-divider.scss
diff --git a/src/scss/_shards-design-system/mixins/_pagination.scss b/src/scss/_shards-design-system/mixins/_pagination.scss
new file mode 100644
index 00000000..ff36eb6b
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_pagination.scss
@@ -0,0 +1,22 @@
+// Pagination
+
+@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
+ .page-link {
+ padding: $padding-y $padding-x;
+ font-size: $font-size;
+ line-height: $line-height;
+ }
+
+ .page-item {
+ &:first-child {
+ .page-link {
+ @include border-left-radius($border-radius);
+ }
+ }
+ &:last-child {
+ .page-link {
+ @include border-right-radius($border-radius);
+ }
+ }
+ }
+}
diff --git a/src/scss/mixins/_reset-text.scss b/src/scss/_shards-design-system/mixins/_reset-text.scss
similarity index 100%
rename from src/scss/mixins/_reset-text.scss
rename to src/scss/_shards-design-system/mixins/_reset-text.scss
diff --git a/src/scss/_shards-design-system/mixins/_resize.scss b/src/scss/_shards-design-system/mixins/_resize.scss
new file mode 100644
index 00000000..66f233a6
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_resize.scss
@@ -0,0 +1,6 @@
+// Resize anything
+
+@mixin resizable($direction) {
+ overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
+ resize: $direction; // Options: horizontal, vertical, both
+}
diff --git a/src/scss/mixins/_screen-reader.scss b/src/scss/_shards-design-system/mixins/_screen-reader.scss
similarity index 100%
rename from src/scss/mixins/_screen-reader.scss
rename to src/scss/_shards-design-system/mixins/_screen-reader.scss
diff --git a/src/scss/_shards-design-system/mixins/_size.scss b/src/scss/_shards-design-system/mixins/_size.scss
new file mode 100644
index 00000000..b9dd48e8
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_size.scss
@@ -0,0 +1,6 @@
+// Sizing shortcuts
+
+@mixin size($width, $height: $width) {
+ width: $width;
+ height: $height;
+}
diff --git a/src/scss/_shards-design-system/mixins/_table-row.scss b/src/scss/_shards-design-system/mixins/_table-row.scss
new file mode 100644
index 00000000..84f1d305
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_table-row.scss
@@ -0,0 +1,30 @@
+// Tables
+
+@mixin table-row-variant($state, $background) {
+ // Exact selectors below required to override `.table-striped` and prevent
+ // inheritance to nested tables.
+ .table-#{$state} {
+ &,
+ > th,
+ > td {
+ background-color: $background;
+ }
+ }
+
+ // Hover states for `.table-hover`
+ // Note: this is not available for cells or rows within `thead` or `tfoot`.
+ .table-hover {
+ $hover-background: darken($background, 5%);
+
+ .table-#{$state} {
+ @include hover {
+ background-color: $hover-background;
+
+ > td,
+ > th {
+ background-color: $hover-background;
+ }
+ }
+ }
+ }
+}
diff --git a/src/scss/mixins/_text-emphasis.scss b/src/scss/_shards-design-system/mixins/_text-emphasis.scss
similarity index 100%
rename from src/scss/mixins/_text-emphasis.scss
rename to src/scss/_shards-design-system/mixins/_text-emphasis.scss
diff --git a/src/scss/mixins/_text-hide.scss b/src/scss/_shards-design-system/mixins/_text-hide.scss
similarity index 100%
rename from src/scss/mixins/_text-hide.scss
rename to src/scss/_shards-design-system/mixins/_text-hide.scss
diff --git a/src/scss/_shards-design-system/mixins/_text-truncate.scss b/src/scss/_shards-design-system/mixins/_text-truncate.scss
new file mode 100644
index 00000000..3504bb1a
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_text-truncate.scss
@@ -0,0 +1,8 @@
+// Text truncate
+// Requires inline-block or block for proper styling
+
+@mixin text-truncate() {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
diff --git a/src/scss/_shards-design-system/mixins/_transition.scss b/src/scss/_shards-design-system/mixins/_transition.scss
new file mode 100644
index 00000000..7e33dee3
--- /dev/null
+++ b/src/scss/_shards-design-system/mixins/_transition.scss
@@ -0,0 +1,9 @@
+@mixin transition($transition...) {
+ @if $enable-transitions {
+ @if length($transition) == 0 {
+ transition: $transition-base;
+ } @else {
+ transition: $transition;
+ }
+ }
+}
diff --git a/src/scss/mixins/_visibility.scss b/src/scss/_shards-design-system/mixins/_visibility.scss
similarity index 100%
rename from src/scss/mixins/_visibility.scss
rename to src/scss/_shards-design-system/mixins/_visibility.scss
diff --git a/src/scss/_shards-design-system/shards.scss b/src/scss/_shards-design-system/shards.scss
new file mode 100644
index 00000000..0155e0a9
--- /dev/null
+++ b/src/scss/_shards-design-system/shards.scss
@@ -0,0 +1,54 @@
+// Core
+@import "mixins";
+@import "variables";
+@import "root";
+@import "reboot";
+@import "type";
+@import "images";
+@import "code";
+@import "tables";
+@import "forms";
+@import "buttons";
+@import "transitions";
+
+// Components
+@import "icons";
+@import "dropdown";
+@import "button-group";
+@import "input-group";
+@import "custom-forms";
+@import "nav";
+@import "navbar";
+@import "card";
+@import "pagination";
+@import "badge";
+@import "jumbotron";
+@import "alert";
+@import "progress";
+@import "list-group";
+@import "close";
+@import "modal";
+@import "tooltip";
+@import "popover";
+@import "carousel";
+@import "custom-sliders";
+@import "custom-datepicker";
+@import "utilities";
+
+
+
+// Blocks
+@import "blocks/main-navbar";
+@import "blocks/main-sidebar";
+@import "blocks/main-content";
+@import "blocks/main-footer";
+@import "blocks/page-header";
+
+// Templates
+@import "templates/common"; // Required common styles for all pages.
+@import "templates/blog-overview";
+@import "templates/blog-add-new-post";
+
+// Components
+@import "components/card-post";
+@import "components/error";
diff --git a/src/scss/_shards-design-system/templates/_blog-add-new-post.scss b/src/scss/_shards-design-system/templates/_blog-add-new-post.scss
new file mode 100644
index 00000000..a929fd9d
--- /dev/null
+++ b/src/scss/_shards-design-system/templates/_blog-add-new-post.scss
@@ -0,0 +1,8 @@
+// Blog Add New Post Template
+
+// Add New Post Form
+.add-new-post {
+ &__editor {
+ min-height: 400px;
+ }
+}
diff --git a/src/scss/_shards-design-system/templates/_blog-overview.scss b/src/scss/_shards-design-system/templates/_blog-overview.scss
new file mode 100644
index 00000000..ad3a7638
--- /dev/null
+++ b/src/scss/_shards-design-system/templates/_blog-overview.scss
@@ -0,0 +1,45 @@
+// Blog Overview Page Template
+
+// The `Quick Draft` component.
+.quick-post-form {
+ display: $qp-form-display;
+ flex-flow: $qp-form-flex-flow;
+ flex: $qp-form-flex;
+
+ // Select second form group el (which contains the textarea).
+ .form-group:nth-child(2) {
+ display: flex;
+ flex: 1;
+ }
+
+ textarea {
+ resize: none;
+ min-height: $qp-form-textarea-min-height;
+ }
+}
+
+// Blog comments component.
+.blog-comments {
+ &__avatar img {
+ width: $bc-avatar-img-width;
+ height: $bc-avatar-img-height;
+ border-radius: $bc-avatar-img-border-radius;
+ }
+
+ &__item {
+ padding: 0;
+ border-bottom: $bc-item-border-bottom;
+
+ &:last-child {
+ border: 0;
+ }
+ }
+
+ &__actions {
+ font-size: $bc-actions-font-size;
+
+ .btn-group button {
+ padding: $bc-actions-button-group-padding;
+ }
+ }
+}
diff --git a/src/scss/_shards-design-system/templates/_common.scss b/src/scss/_shards-design-system/templates/_common.scss
new file mode 100644
index 00000000..747211d9
--- /dev/null
+++ b/src/scss/_shards-design-system/templates/_common.scss
@@ -0,0 +1,119 @@
+// Common styles for blocks used across all templates.
+
+// Small stats
+// Used in all templates.
+
+// Default styles for the small stats.
+.stats-small {
+ min-height: $small-stats-min-height;
+ overflow: hidden !important;
+
+ canvas {
+ position: absolute;
+ bottom: 0;
+ }
+
+ &__data {
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ flex-flow: column;
+ max-width: 50%;
+ z-index: 1;
+ }
+
+ &__label {
+ font-size: $small-stats-label-font-size;
+ letter-spacing: $small-stats-label-letter-spacing;
+ color: $small-stats-label-color;
+ }
+
+ &__value {
+ font-family: $small-stats-value-font-family;
+ font-size: $small-stats-value-font-size;
+ font-weight: $small-stats-value-font-weight;
+ }
+
+ &__percentage {
+ position: relative;
+ display: table;
+ margin-left: auto;
+ padding-left: $small-stats-percentage-padding-left;
+
+ &--increase,
+ &--decrease {
+ font-size: $small-stats-percentage-font-size;
+
+ &::before {
+ content: "";
+ width: 0.75rem;
+ height: 0.375rem;
+ position: absolute;
+ left: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ background-position: center center;
+ background-repeat: no-repeat;
+ }
+ }
+
+ &--increase {
+ color: theme-color('success');
+ &::before {
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMTdjNjcxIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTcgMTRsNS01IDUgNXoiLz4gPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiA8L3N2Zz4=);
+ }
+ }
+
+ &--decrease {
+ color: theme-color('danger');
+ &::before {
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjYzQxODNjIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==);
+ }
+ }
+ }
+
+ // Stats Small - Alternate 1
+ // Follow the same structure, but with the content centered.
+ &--1 {
+ .stats-small {
+ &__data {
+ max-width: $small-stats-1-data-max-width;
+ }
+
+ &__percentage {
+ margin: $small-stats-1-percentage-margin;
+ }
+
+ &__value {
+ font-size: $small-stats-1-value-font-size;
+ }
+
+ &__label {
+ font-size: $small-stats-1-label-font-size;
+ }
+
+ &__percentage {
+ font-size: $small-stats-1-percentage-font-size;
+ }
+ }
+
+ canvas {
+ opacity: $small-stats-1-chart-opacity;
+ }
+ }
+
+ &[href]{
+ box-shadow: none;
+ transition: all 300ms;
+
+ &:hover{
+ box-shadow: $card-small-box-shadow;
+ }
+ }
+}
+
+// Adjust the small stats cards in case they're used inside card groups.
+.card-group .stats-small {
+ position: relative;
+ overflow: hidden;
+}
diff --git a/src/scss/utilities/_background.scss b/src/scss/_shards-design-system/utilities/_background.scss
similarity index 100%
rename from src/scss/utilities/_background.scss
rename to src/scss/_shards-design-system/utilities/_background.scss
diff --git a/src/scss/utilities/_borders.scss b/src/scss/_shards-design-system/utilities/_borders.scss
similarity index 100%
rename from src/scss/utilities/_borders.scss
rename to src/scss/_shards-design-system/utilities/_borders.scss
diff --git a/src/scss/_shards-design-system/utilities/_general.scss b/src/scss/_shards-design-system/utilities/_general.scss
new file mode 100644
index 00000000..14f4b8cd
--- /dev/null
+++ b/src/scss/_shards-design-system/utilities/_general.scss
@@ -0,0 +1,14 @@
+// General utilities
+
+// Overflow helpers
+.overflow {
+ &-hidden { overflow: hidden; }
+ &-visible { overflow: visible; }
+ &-scroll { overflow: scroll; }
+ &-auto { overflow: auto; }
+}
+
+// Remove shadows
+.no-shadow {
+ box-shadow: none !important;
+}
diff --git a/src/scss/utilities/_position.scss b/src/scss/_shards-design-system/utilities/_position.scss
similarity index 100%
rename from src/scss/utilities/_position.scss
rename to src/scss/_shards-design-system/utilities/_position.scss
diff --git a/src/scss/utilities/_shadows.scss b/src/scss/_shards-design-system/utilities/_shadows.scss
similarity index 100%
rename from src/scss/utilities/_shadows.scss
rename to src/scss/_shards-design-system/utilities/_shadows.scss
diff --git a/src/scss/utilities/_text.scss b/src/scss/_shards-design-system/utilities/_text.scss
similarity index 100%
rename from src/scss/utilities/_text.scss
rename to src/scss/_shards-design-system/utilities/_text.scss
diff --git a/src/scss/shards.scss b/src/scss/shards.scss
index 5478109a..9ce77602 100644
--- a/src/scss/shards.scss
+++ b/src/scss/shards.scss
@@ -1,46 +1,116 @@
-/*
- * Shards v2.1.0 (https://designrevision.com/downloads/shards/)
- * Based on: Bootstrap v4.1.3 (https://getbootstrap.com)
- * Copyright 2017-* DesignRevision (https://designrevision.com)
- * Copyright 2017-* Catalin Vasile (http://catalin.me)
- */
-
-// Bootstrap 4 dependencies
-@import "node_modules/bootstrap/scss/functions";
-
-// Core
-@import "mixins";
-@import "variables";
-@import "root";
-@import "reboot";
-@import "type";
-@import "images";
-@import "code";
-@import "tables";
-@import "forms";
-@import "buttons";
-@import "transitions";
-
-// Components
-@import "icons";
-@import "dropdown";
-@import "button-group";
-@import "input-group";
-@import "custom-forms";
-@import "nav";
-@import "navbar";
-@import "card";
-@import "pagination";
-@import "badge";
-@import "jumbotron";
-@import "alert";
-@import "progress";
-@import "list-group";
-@import "close";
-@import "modal";
-@import "tooltip";
-@import "popover";
-@import "carousel";
-@import "custom-sliders";
-@import "custom-datepicker";
-@import "utilities";
+/*! Global Variables (Brutal Override Bootstrap) */
+@import './vendor/fontawesome/fontawesome';
+@import './variables';
+
+/*! Bootstrap functions (original) */
+@import './_bootstrap/functions';
+
+/*! Shards functions/variables and Bootstrap overrides */
+@import './_shards-design-system/functions';
+@import './_shards-design-system/variables';
+@import './_shards-design-system/variables-dashboard';
+
+/*! Bootstrap variables and mixins (original) */
+@import './_bootstrap/variables';
+@import './_bootstrap/mixins';
+@import './_shards-design-system/root';
+@import './_shards-design-system/reboot';
+
+/*! Shards mixins and Bootstrap overrides */
+@import './_shards-design-system/mixins';
+
+/*! Bootstrap Base */
+@import './_bootstrap/root';
+@import './_bootstrap/reboot';
+@import './_bootstrap/type';
+@import './_bootstrap/images';
+@import './_bootstrap/code';
+@import './_bootstrap/grid';
+@import './_bootstrap/tables';
+@import './_bootstrap/forms';
+@import './_bootstrap/buttons';
+@import './_bootstrap/transitions';
+@import './_bootstrap/dropdown';
+@import './_bootstrap/button-group';
+@import './_bootstrap/input-group';
+@import './_bootstrap/custom-forms';
+@import './_bootstrap/nav';
+@import './_bootstrap/navbar';
+@import './_bootstrap/card';
+@import './_bootstrap/breadcrumb';
+@import './_bootstrap/pagination';
+@import './_bootstrap/badge';
+@import './_bootstrap/jumbotron';
+@import './_bootstrap/alert';
+@import './_bootstrap/progress';
+@import './_bootstrap/media';
+@import './_bootstrap/list-group';
+@import './_bootstrap/close';
+@import './_bootstrap/modal';
+@import './_bootstrap/tooltip';
+@import './_bootstrap/popover';
+@import './_bootstrap/carousel';
+@import './_bootstrap/utilities';
+@import './_bootstrap/print';
+
+/*! Shards Design System (@Override Bootstrap) */
+@import './_shards-design-system/type';
+@import './_shards-design-system/images';
+@import './_shards-design-system/code';
+@import './_shards-design-system/tables';
+// @import './_shards-design-system/forms';
+@import './_shards-design-system/buttons';
+@import './_shards-design-system/transitions';
+
+@import './_shards-design-system/icons';
+@import './_shards-design-system/dropdown';
+@import './_shards-design-system/button-group';
+@import './_shards-design-system/input-group';
+@import './_shards-design-system/custom-forms';
+@import './_shards-design-system/nav';
+@import './_shards-design-system/navbar';
+@import './_shards-design-system/card';
+@import './_shards-design-system/pagination';
+@import './_shards-design-system/badge';
+@import './_shards-design-system/jumbotron';
+@import './_shards-design-system/alert';
+@import './_shards-design-system/progress';
+@import './_shards-design-system/list-group';
+@import './_shards-design-system/close';
+@import './_shards-design-system/modal';
+@import './_shards-design-system/tooltip';
+@import './_shards-design-system/popover';
+@import './_shards-design-system/carousel';
+@import './_shards-design-system/custom-sliders';
+@import './_shards-design-system/custom-datepicker';
+@import './_shards-design-system/utilities';
+@import './_shards-design-system/dashboard-pro';
+
+
+@import './_shards-design-system/blocks/main-navbar';
+@import './_shards-design-system/blocks/main-sidebar';
+@import './_shards-design-system/blocks/main-content';
+@import './_shards-design-system/blocks/main-footer';
+@import './_shards-design-system/blocks/page-header';
+
+@import './_shards-design-system/templates/common';
+
+@import './_shards-design-system/templates/blog-overview';
+@import './_shards-design-system/templates/blog-add-new-post';
+
+@import './_shards-design-system/components/card-post';
+@import './_shards-design-system/components/error';
+
+/*! Whitelabel Application */
+@import './whitelabel/mixins/mixin';
+@import './whitelabel/elements/mixin';
+@import './whitelabel/page/mixin';
+@import './whitelabel/template/mixin';
+@import './whitelabel/theme';
+
+/*! Site Generator Application */
+@import './site-generator/page/mixin';
+
+/*! Vendor */
+@import './vendor/animate';
+@import './vendor/select2/core';
diff --git a/src/scss/site-generator/page/_landing-page.scss b/src/scss/site-generator/page/_landing-page.scss
new file mode 100644
index 00000000..fed85bb4
--- /dev/null
+++ b/src/scss/site-generator/page/_landing-page.scss
@@ -0,0 +1,447 @@
+.landing-page-site {
+ #page-container {
+ header#page-header {
+ &.page-header-alternative {
+ .content-header {
+ &.content-header-site-menu {
+ @media (max-width: 992px - 1px) {
+ display: flex;
+ }
+ }
+
+ &.content-header-loyalty-menu {
+ display: none;
+ }
+ }
+ }
+ }
+
+ main#main-container {
+ .wrapper {
+ section {
+ margin-bottom: 0;
+
+ .section-header {
+ text-align: center;
+ margin-bottom: 25px;
+
+ .section-header-title {
+ font-size: 2.5rem;
+ font-weight: 600;
+ color: var(--primary);
+ margin-bottom: 5px;
+ }
+
+ .section-header-description {
+ font-size: 1.2rem;
+ font-weight: 300;
+ margin-bottom: 10px;
+ }
+ }
+
+ .section-action {
+ margin-top: 25px;
+ text-align: center;
+ }
+
+ &:first-child,
+ &:last-child {
+ margin-bottom: 0;
+ }
+
+ &:nth-child(odd) {
+ background-color: #fff;
+ }
+
+ &:not(.page-banner) {
+ padding: 55px 0;
+ }
+
+ @media (max-width: 768px - 1px) {
+ .btn {
+ white-space: normal;
+ }
+ }
+ }
+
+ section.page-banner {
+ width: 100%;
+ height: 70vh;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ position: relative;
+
+ .page-banner-content {
+ position: relative;
+ z-index: 10;
+ color: #FFF;
+ text-align: center;
+ padding: 15px;
+
+ .page-banner-image {
+ max-width: 350px;
+ max-height: 150px;
+ margin-bottom: 16px;
+ }
+
+ .page-banner-name,
+ .page-banner-description {
+ font-family: $headings-font-family;
+ }
+
+ .page-banner-name {
+ font-size: 3.5rem;
+ font-weight: 600;
+ line-height: 1.2;
+ color: #FFF;
+ margin-bottom: 8px;
+ color: var(--primary);
+
+ @media (max-width: 768px - 1px) {
+ font-size: 2.5rem;
+ }
+ }
+
+ .page-banner-description {
+ font-size: 1.6rem;
+ font-weight: 300;
+ margin-bottom: 0;
+
+ @media (max-width: 768px - 1px) {
+ font-size: 1.2rem;
+ }
+ }
+ }
+
+ &:after {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, .75);
+ }
+
+ @media (max-width: 1200px - 1px) {
+ height: calc(80vh - 80px);
+ }
+ }
+
+ section.news {
+ .card-list-news {
+ display: flex;
+ flex-wrap: wrap;
+
+ .card {
+ width: calc((100% / 3) - 20px);
+ display: flex;
+ margin: 0 15px;
+
+ .card-img-top {
+ max-height: 220px;
+ object-fit: cover;
+ }
+
+ .card-footer {
+ text-align: center;
+ }
+
+ &:first-child {
+ margin-left: 0;
+ }
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+
+ @media (max-width: 992px - 1px) {
+ justify-content: center;
+
+ .card {
+ width: calc((100% / 2) - 23px);
+ margin-bottom: 15px;
+
+ &:last-child {
+ margin: 0;
+ }
+ }
+ }
+
+ @media (max-width: 768px - 1px) {
+ justify-content: center;
+
+ .card {
+ width: 100%;
+ margin: 0 0 15px;
+
+ &:last-child {
+ margin: 0;
+ }
+ }
+ }
+ }
+ }
+
+ section.photos {
+ .gallery {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 25px;
+
+ .gallery-item {
+ width: calc((100% / 4) - 12px);
+ margin: 0 15px 15px 0;
+
+ a {
+ display: inline-block;
+ transition: all 300ms;
+
+ img {
+ width: 100%;
+ height: 26.4%;
+ object-fit: cover;
+ border-radius: 10px;
+ transition: all 300ms;
+ }
+
+ &:hover {
+ box-shadow: $card-box-shadow;
+
+ img {
+ transform: scale(1.05);
+ }
+ }
+ }
+
+ &:nth-child(4n) {
+ margin-right: 0;
+ }
+
+ @media (max-width: 768px - 1px) {
+ display: none;
+
+ &:nth-child(1),
+ &:nth-child(2),
+ &:nth-child(3),
+ &:nth-child(4) {
+ display: inline-block;
+ }
+ }
+
+ @media (max-width: 585px - 1px) {
+ a {
+ img {
+ height: 100%;
+ }
+ }
+ }
+ }
+
+ @media (max-width: 992px - 1px) {
+ .gallery-item {
+ width: calc((100% / 3) - 10px);
+
+ &:nth-child(3n) {
+ margin-right: 0;
+ }
+
+ &:nth-child(4n) {
+ margin-right: 15px;
+ }
+ }
+ }
+
+ @media (max-width: 768px - 1px) {
+ .gallery-item {
+ width: calc((100% / 2) - 8px);
+ margin-right: 0 !important;
+
+ &:nth-child(odd) {
+ margin-right: 15px !important;
+ }
+ }
+ }
+ }
+ }
+
+ section.menu {
+ .card-list-menu {
+ display: flex;
+ flex-wrap: wrap;
+
+ .card {
+ width: calc((100% / 3) - 20px);
+ display: flex;
+ margin: 0 15px;
+
+ .card-img-top {
+ max-height: 220px;
+ object-fit: cover;
+ }
+
+ .card-body {
+ .card-title {
+ font-size: 1.5rem;
+ font-weight: 600;
+ }
+ }
+
+ .card-footer {
+ font-size: 1.2rem;
+ font-weight: 600;
+ color: var(--primary);
+ }
+
+ &:first-child {
+ margin-left: 0;
+ }
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+
+ @media (max-width: 992px - 1px) {
+ justify-content: center;
+
+ .card {
+ width: calc((100% / 2) - 23px);
+ margin-bottom: 15px;
+
+ &:last-child {
+ margin: 0;
+ }
+ }
+ }
+
+ @media (max-width: 768px - 1px) {
+ justify-content: center;
+
+ .card {
+ width: 100%;
+ margin: 0 0 15px;
+
+ &:last-child {
+ margin: 0;
+ }
+ }
+ }
+ }
+ }
+
+ section.testimonials {
+ .card {
+ &.card-testimonial-item {
+ text-align: center;
+ display: flex;
+ border: 0;
+ background-color: transparent;
+
+ .testimonial-item-review {
+ margin: 20px 0 0;
+
+ .review-user {
+ margin-bottom: 10px;
+
+ img {
+ margin-bottom: 10px;
+ width: 80px;
+ height: 80px;
+ border-radius: 50%;
+ object-fit: cover;
+ }
+
+ .user-info {
+ h5 {
+ font-weight: 600;
+ margin-bottom: 2.5px;
+ }
+ }
+ }
+
+ .review-rating {
+ padding: 20px 0 0;
+ border-top: solid thin rgba(0, 0, 0, .15);
+
+ .star-rating {
+ i {
+ color: $review;
+ font-size: 1.6rem;
+ }
+ }
+ }
+ }
+
+ .testimonial-item-content {
+ margin: 10px 0 20px;
+ }
+ }
+ }
+ }
+
+ section.location {
+ .map {
+ iframe {
+ width: 100%;
+ height: 350px;
+ }
+
+ @media (max-width: 768px - 1px) {
+ margin-bottom: 15px;
+ }
+ }
+
+ .location-address,
+ .location-opening-time,
+ .location-phone {
+ margin-bottom: 15px;
+
+ h5 {
+ font-weight: 600;
+ margin-bottom: 2.5px;
+ }
+
+ p {
+ font-size: 1rem;
+ }
+
+ table {
+ font-size: 1rem;
+ }
+ }
+
+ .location-opening-time {
+ table {
+ line-height: 1.5;
+
+ .week {
+ padding-right: 25px;
+ padding-bottom: 2px;
+ }
+ }
+ }
+
+ .location-phone {
+ margin-bottom: 0;
+ }
+ }
+ }
+ }
+
+ .btn {
+ &.btn-whatsapp {
+ position: fixed;
+ bottom: 15px;
+ right: 15px;
+ z-index: 500;
+ }
+ }
+ }
+}
diff --git a/src/scss/site-generator/page/mixin.scss b/src/scss/site-generator/page/mixin.scss
new file mode 100644
index 00000000..dde5f651
--- /dev/null
+++ b/src/scss/site-generator/page/mixin.scss
@@ -0,0 +1 @@
+@import "landing-page"
diff --git a/src/scss/variables.scss b/src/scss/variables.scss
new file mode 100644
index 00000000..7437da22
--- /dev/null
+++ b/src/scss/variables.scss
@@ -0,0 +1,158 @@
+/*! Fonts Import and Variable */
+@import url('https://fonts.googleapis.com/css?family=Work+Sans:100,200,300,400,500,600,700,800,900');
+@import url("https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900");
+
+/*! Bootstrap Color (Override Bootstrap) */
+$primary: #36255D;
+$info: #0EC4D3;
+$warning: #FFD41E;
+$danger: #dc3545;
+$status-purchase-waiting: #322659;
+
+/*! Whitelabel Product Type Color */
+$product-reward: #4472F3;
+$product-offer: #fd7e14;
+
+/*! Whitelabel Context Color */
+$review: #ffb400;
+
+/*! Adding new colors to Map */
+$theme-colors: (
+ "product-reward": $product-reward,
+ "product-offer": $product-offer,
+ "review": $review
+);
+
+$whitelabel-theme: (
+ "primary-hue": 258.21,
+ "primary-saturation": 43.08%,
+ "primary-lightness": 25.49%,
+ "primary-lightness-darker": 20.49%,
+ "primary-lightness-contrast": 100%,
+ "primary-lightness-contrast-inverse": 0%,
+);
+
+/*! Whitelabel Settings (Override Bootstrap) */
+$body-bg: #f5f6f7 !default;
+
+/*! Brand Colors */
+$brand-facebook: #3b5998 !default;
+$brand-instagram: #c13584 !default;
+$brand-whatsapp: #25d366 !default;
+
+/*! Shards Dashboard Colors */
+// New grays
+$fiord-blue: #3D5170 !default;
+$shuttle-gray: #5A6169 !default;
+$reagent-gray: #818EA3 !default;
+$mischka: #CACEDB !default;
+$athens-gray: #E9ECEF !default;
+
+// New grays map
+$new-grays: () !default;
+$new-grays: map-merge(("fiord-blue" : $fiord-blue,
+ "shuttle-gray": $shuttle-gray,
+ "reagent-gray": $reagent-gray,
+ "mischka" : $mischka,
+ "athens-gray" : $athens-gray,
+ ), $new-grays);
+
+/*! Fonts variables (Override Bootstrap) */
+$font-family-sans-serif: "Lato",
+-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
+$font-family-base: $font-family-sans-serif !default;
+$font-size-xl: 1.428571429rem !default;
+$font-size-lg: 1.285714286rem !default;
+$font-size-md: 1.142857143rem !default;
+$font-size-sm: 0.928571429rem !default;
+$font-size-xs: 0.857142857rem !default;
+
+$headings-font-family: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
+$headings-font-weight: 300 !default;
+
+/*! Button Variables */
+$btn-font-family: $headings-font-family !default;
+
+/*! Nav Variables */
+$nav-font-family: $font-family-base !default;
+
+/*! Navbar Variables */
+$navbar-font-family: $font-family-base !default;
+
+/*! Pagination Variables */
+$pagination-font-family: $font-family-base !default;
+
+/*! Card Variables */
+$card-cap-bg: #FFF;
+$card-title-font-weight: 300 !default;
+$card-link-font-family: $headings-font-family !default;
+$card-spacer-y: 15px !default;
+$card-spacer-x: 20px !default;
+$card-header-spacer-y: 10px;
+$card-header-spacer-x: 20px;
+$card-footer-spacer-y: 10px;
+$card-footer-spacer-x: 20px;
+$card-small-spacer-y: 10px;
+$card-small-spacer-x: 20px;
+
+/*! Badge Variables */
+$badge-font-family: $font-family-base !default;
+
+/*! Text Variables */
+$text-light-color: $reagent-gray !default;
+
+/*! Dropdown Variables */
+$dropdown-min-width: 250px !default;
+$dropdown-padding-y: 0 !default;
+$dropdown-item-padding-y: .875rem !default;
+$dropdown-item-padding-x: .875rem !default;
+
+$space-base: 24px !default;
+$space-mobile: 10px !default;
+$space-side: 18px !default;
+$space-row-gutter-tiny: 6px !default;
+$space-block: 18px !default;
+$space-boxed: 1200px !default;
+$space-narrow: 92% !default;
+$space-breaks: (
+ 5: (
+ x: 5px,
+ y: 5px
+ ),
+ 10: (
+ x: 10px,
+ y: 10px
+ ),
+ 15: (
+ x: 15px,
+ y: 15px
+ ),
+ 20: (
+ x: 20px,
+ y: 20px
+ ),
+ 30: (
+ x: 30px,
+ y: 30px
+ ),
+ 50: (
+ x: 50px,
+ y: 50px
+ ),
+ 100: (
+ x: 100px,
+ y: 100px
+ ),
+ 150: (
+ x: 150px,
+ y: 150px
+ ),
+ 200: (
+ x: 200px,
+ y: 200px
+ ),
+ 300: (
+ x: 300px,
+ y: 300px
+ )
+) !default;
diff --git a/src/scss/vendor/_animate.scss b/src/scss/vendor/_animate.scss
new file mode 100644
index 00000000..86a14fcc
--- /dev/null
+++ b/src/scss/vendor/_animate.scss
@@ -0,0 +1,3626 @@
+@charset "UTF-8";
+
+/*!
+ * animate.css -http://daneden.me/animate
+ * Version - 3.7.0
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2018 Daniel Eden
+ */
+
+@-webkit-keyframes bounce {
+
+ from,
+ 20%,
+ 53%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 40%,
+ 43% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -30px, 0);
+ transform: translate3d(0, -30px, 0);
+ }
+
+ 70% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -15px, 0);
+ transform: translate3d(0, -15px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0);
+ transform: translate3d(0, -4px, 0);
+ }
+}
+
+@keyframes bounce {
+
+ from,
+ 20%,
+ 53%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 40%,
+ 43% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -30px, 0);
+ transform: translate3d(0, -30px, 0);
+ }
+
+ 70% {
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ -webkit-transform: translate3d(0, -15px, 0);
+ transform: translate3d(0, -15px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0);
+ transform: translate3d(0, -4px, 0);
+ }
+}
+
+.bounce {
+ -webkit-animation-name: bounce;
+ animation-name: bounce;
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+}
+
+@-webkit-keyframes flash {
+
+ from,
+ 50%,
+ to {
+ opacity: 1;
+ }
+
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+
+@keyframes flash {
+
+ from,
+ 50%,
+ to {
+ opacity: 1;
+ }
+
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+
+.flash {
+ -webkit-animation-name: flash;
+ animation-name: flash;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes pulse {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes pulse {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.pulse {
+ -webkit-animation-name: pulse;
+ animation-name: pulse;
+}
+
+@-webkit-keyframes rubberBand {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 30% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.15, 0.85, 1);
+ transform: scale3d(1.15, 0.85, 1);
+ }
+
+ 65% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+
+ 75% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes rubberBand {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 30% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.15, 0.85, 1);
+ transform: scale3d(1.15, 0.85, 1);
+ }
+
+ 65% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+
+ 75% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.rubberBand {
+ -webkit-animation-name: rubberBand;
+ animation-name: rubberBand;
+}
+
+@-webkit-keyframes shake {
+
+ from,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+}
+
+@keyframes shake {
+
+ from,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+}
+
+.shake {
+ -webkit-animation-name: shake;
+ animation-name: shake;
+}
+
+@-webkit-keyframes headShake {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+
+ 6.5% {
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
+ transform: translateX(-6px) rotateY(-9deg);
+ }
+
+ 18.5% {
+ -webkit-transform: translateX(5px) rotateY(7deg);
+ transform: translateX(5px) rotateY(7deg);
+ }
+
+ 31.5% {
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
+ transform: translateX(-3px) rotateY(-5deg);
+ }
+
+ 43.5% {
+ -webkit-transform: translateX(2px) rotateY(3deg);
+ transform: translateX(2px) rotateY(3deg);
+ }
+
+ 50% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+}
+
+@keyframes headShake {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+
+ 6.5% {
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
+ transform: translateX(-6px) rotateY(-9deg);
+ }
+
+ 18.5% {
+ -webkit-transform: translateX(5px) rotateY(7deg);
+ transform: translateX(5px) rotateY(7deg);
+ }
+
+ 31.5% {
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
+ transform: translateX(-3px) rotateY(-5deg);
+ }
+
+ 43.5% {
+ -webkit-transform: translateX(2px) rotateY(3deg);
+ transform: translateX(2px) rotateY(3deg);
+ }
+
+ 50% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+ }
+}
+
+.headShake {
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-name: headShake;
+ animation-name: headShake;
+}
+
+@-webkit-keyframes swing {
+ 20% {
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
+ transform: rotate3d(0, 0, 1, 15deg);
+ }
+
+ 40% {
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
+ transform: rotate3d(0, 0, 1, -10deg);
+ }
+
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
+ transform: rotate3d(0, 0, 1, 5deg);
+ }
+
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
+ transform: rotate3d(0, 0, 1, -5deg);
+ }
+
+ to {
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
+ transform: rotate3d(0, 0, 1, 0deg);
+ }
+}
+
+@keyframes swing {
+ 20% {
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
+ transform: rotate3d(0, 0, 1, 15deg);
+ }
+
+ 40% {
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
+ transform: rotate3d(0, 0, 1, -10deg);
+ }
+
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
+ transform: rotate3d(0, 0, 1, 5deg);
+ }
+
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
+ transform: rotate3d(0, 0, 1, -5deg);
+ }
+
+ to {
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
+ transform: rotate3d(0, 0, 1, 0deg);
+ }
+}
+
+.swing {
+ -webkit-transform-origin: top center;
+ transform-origin: top center;
+ -webkit-animation-name: swing;
+ animation-name: swing;
+}
+
+@-webkit-keyframes tada {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 10%,
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes tada {
+ from {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+
+ 10%,
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ }
+
+ to {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.tada {
+ -webkit-animation-name: tada;
+ animation-name: tada;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes wobble {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ }
+
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes wobble {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ }
+
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.wobble {
+ -webkit-animation-name: wobble;
+ animation-name: wobble;
+}
+
+@-webkit-keyframes jello {
+
+ from,
+ 11.1%,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 22.2% {
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+ transform: skewX(-12.5deg) skewY(-12.5deg);
+ }
+
+ 33.3% {
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+ transform: skewX(6.25deg) skewY(6.25deg);
+ }
+
+ 44.4% {
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+ transform: skewX(-3.125deg) skewY(-3.125deg);
+ }
+
+ 55.5% {
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+ transform: skewX(1.5625deg) skewY(1.5625deg);
+ }
+
+ 66.6% {
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ }
+
+ 77.7% {
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
+ transform: skewX(0.390625deg) skewY(0.390625deg);
+ }
+
+ 88.8% {
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ }
+}
+
+@keyframes jello {
+
+ from,
+ 11.1%,
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 22.2% {
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+ transform: skewX(-12.5deg) skewY(-12.5deg);
+ }
+
+ 33.3% {
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+ transform: skewX(6.25deg) skewY(6.25deg);
+ }
+
+ 44.4% {
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+ transform: skewX(-3.125deg) skewY(-3.125deg);
+ }
+
+ 55.5% {
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+ transform: skewX(1.5625deg) skewY(1.5625deg);
+ }
+
+ 66.6% {
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ }
+
+ 77.7% {
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
+ transform: skewX(0.390625deg) skewY(0.390625deg);
+ }
+
+ 88.8% {
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ }
+}
+
+.jello {
+ -webkit-animation-name: jello;
+ animation-name: jello;
+ -webkit-transform-origin: center;
+ transform-origin: center;
+}
+
+@-webkit-keyframes heartBeat {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 14% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 28% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 42% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+@keyframes heartBeat {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 14% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 28% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+
+ 42% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+ }
+
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+.heartBeat {
+ -webkit-animation-name: heartBeat;
+ animation-name: heartBeat;
+ -webkit-animation-duration: 1.3s;
+ animation-duration: 1.3s;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+}
+
+@-webkit-keyframes bounceIn {
+
+ from,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03);
+ }
+
+ 80% {
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
+ transform: scale3d(0.97, 0.97, 0.97);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes bounceIn {
+
+ from,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ 40% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03);
+ }
+
+ 80% {
+ -webkit-transform: scale3d(0.97, 0.97, 0.97);
+ transform: scale3d(0.97, 0.97, 0.97);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.bounceIn {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-animation-name: bounceIn;
+ animation-name: bounceIn;
+}
+
+@-webkit-keyframes bounceInDown {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0);
+ transform: translate3d(0, -3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0);
+ transform: translate3d(0, 25px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInDown {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0);
+ transform: translate3d(0, -3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0);
+ transform: translate3d(0, 25px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0);
+ transform: translate3d(0, 5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInDown {
+ -webkit-animation-name: bounceInDown;
+ animation-name: bounceInDown;
+}
+
+@-webkit-keyframes bounceInLeft {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0);
+ transform: translate3d(-3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0);
+ transform: translate3d(25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0);
+ transform: translate3d(5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInLeft {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0);
+ transform: translate3d(-3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0);
+ transform: translate3d(25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0);
+ transform: translate3d(5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInLeft {
+ -webkit-animation-name: bounceInLeft;
+ animation-name: bounceInLeft;
+}
+
+@-webkit-keyframes bounceInRight {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0);
+ transform: translate3d(3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0);
+ transform: translate3d(-25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0);
+ transform: translate3d(-5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInRight {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0);
+ transform: translate3d(3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0);
+ transform: translate3d(-25px, 0, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0);
+ transform: translate3d(-5px, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInRight {
+ -webkit-animation-name: bounceInRight;
+ animation-name: bounceInRight;
+}
+
+@-webkit-keyframes bounceInUp {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0);
+ transform: translate3d(0, 3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0);
+ transform: translate3d(0, -5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes bounceInUp {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
+ }
+
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0);
+ transform: translate3d(0, 3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0);
+ transform: translate3d(0, -5px, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInUp {
+ -webkit-animation-name: bounceInUp;
+ animation-name: bounceInUp;
+}
+
+@-webkit-keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+}
+
+@keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(0.9, 0.9, 0.9);
+ transform: scale3d(0.9, 0.9, 0.9);
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+}
+
+.bounceOut {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-animation-name: bounceOut;
+ animation-name: bounceOut;
+}
+
+@-webkit-keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+@keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0);
+ transform: translate3d(0, -20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.bounceOutDown {
+ -webkit-animation-name: bounceOutDown;
+ animation-name: bounceOutDown;
+}
+
+@-webkit-keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0);
+ transform: translate3d(20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+@keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0);
+ transform: translate3d(20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.bounceOutLeft {
+ -webkit-animation-name: bounceOutLeft;
+ animation-name: bounceOutLeft;
+}
+
+@-webkit-keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0);
+ transform: translate3d(-20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+@keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0);
+ transform: translate3d(-20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.bounceOutRight {
+ -webkit-animation-name: bounceOutRight;
+ animation-name: bounceOutRight;
+}
+
+@-webkit-keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0);
+ transform: translate3d(0, 20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+@keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0);
+ transform: translate3d(0, 20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.bounceOutUp {
+ -webkit-animation-name: bounceOutUp;
+ animation-name: bounceOutUp;
+}
+
+@-webkit-keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+.fadeIn {
+ -webkit-animation-name: fadeIn;
+ animation-name: fadeIn;
+}
+
+@-webkit-keyframes fadeInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInDown {
+ -webkit-animation-name: fadeInDown;
+ animation-name: fadeInDown;
+}
+
+@-webkit-keyframes fadeInDownBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInDownBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInDownBig {
+ -webkit-animation-name: fadeInDownBig;
+ animation-name: fadeInDownBig;
+}
+
+@-webkit-keyframes fadeInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInLeft {
+ -webkit-animation-name: fadeInLeft;
+ animation-name: fadeInLeft;
+}
+
+@-webkit-keyframes fadeInLeftBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInLeftBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInLeftBig {
+ -webkit-animation-name: fadeInLeftBig;
+ animation-name: fadeInLeftBig;
+}
+
+@-webkit-keyframes fadeInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInRight {
+ -webkit-animation-name: fadeInRight;
+ animation-name: fadeInRight;
+}
+
+@-webkit-keyframes fadeInRightBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInRightBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInRightBig {
+ -webkit-animation-name: fadeInRightBig;
+ animation-name: fadeInRightBig;
+}
+
+@-webkit-keyframes fadeInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInUp {
+ -webkit-animation-name: fadeInUp;
+ animation-name: fadeInUp;
+}
+
+@-webkit-keyframes fadeInUpBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes fadeInUpBig {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.fadeInUpBig {
+ -webkit-animation-name: fadeInUpBig;
+ animation-name: fadeInUpBig;
+}
+
+@-webkit-keyframes fadeOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+@keyframes fadeOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.fadeOut {
+ -webkit-animation-name: fadeOut;
+ animation-name: fadeOut;
+}
+
+@-webkit-keyframes fadeOutDown {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+@keyframes fadeOutDown {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.fadeOutDown {
+ -webkit-animation-name: fadeOutDown;
+ animation-name: fadeOutDown;
+}
+
+@-webkit-keyframes fadeOutDownBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+@keyframes fadeOutDownBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.fadeOutDownBig {
+ -webkit-animation-name: fadeOutDownBig;
+ animation-name: fadeOutDownBig;
+}
+
+@-webkit-keyframes fadeOutLeft {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+@keyframes fadeOutLeft {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.fadeOutLeft {
+ -webkit-animation-name: fadeOutLeft;
+ animation-name: fadeOutLeft;
+}
+
+@-webkit-keyframes fadeOutLeftBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+@keyframes fadeOutLeftBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.fadeOutLeftBig {
+ -webkit-animation-name: fadeOutLeftBig;
+ animation-name: fadeOutLeftBig;
+}
+
+@-webkit-keyframes fadeOutRight {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+@keyframes fadeOutRight {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.fadeOutRight {
+ -webkit-animation-name: fadeOutRight;
+ animation-name: fadeOutRight;
+}
+
+@-webkit-keyframes fadeOutRightBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+@keyframes fadeOutRightBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.fadeOutRightBig {
+ -webkit-animation-name: fadeOutRightBig;
+ animation-name: fadeOutRightBig;
+}
+
+@-webkit-keyframes fadeOutUp {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+@keyframes fadeOutUp {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.fadeOutUp {
+ -webkit-animation-name: fadeOutUp;
+ animation-name: fadeOutUp;
+}
+
+@-webkit-keyframes fadeOutUpBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+@keyframes fadeOutUpBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.fadeOutUpBig {
+ -webkit-animation-name: fadeOutUpBig;
+ animation-name: fadeOutUpBig;
+}
+
+@-webkit-keyframes flip {
+ from {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 50% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+
+@keyframes flip {
+ from {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+
+ 50% {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+}
+
+.animated.flip {
+ -webkit-backface-visibility: visible;
+ backface-visibility: visible;
+ -webkit-animation-name: flip;
+ animation-name: flip;
+}
+
+@-webkit-keyframes flipInX {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+@keyframes flipInX {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+.flipInX {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInX;
+ animation-name: flipInX;
+}
+
+@-webkit-keyframes flipInY {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+@keyframes flipInY {
+ from {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+}
+
+.flipInY {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInY;
+ animation-name: flipInY;
+}
+
+@-webkit-keyframes flipOutX {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+@keyframes flipOutX {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutX {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-animation-name: flipOutX;
+ animation-name: flipOutX;
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flipOutY {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+@keyframes flipOutY {
+ from {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px);
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutY {
+ -webkit-animation-duration: 0.75s;
+ animation-duration: 0.75s;
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipOutY;
+ animation-name: flipOutY;
+}
+
+@-webkit-keyframes lightSpeedIn {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0;
+ }
+
+ 60% {
+ -webkit-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ transform: skewX(-5deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes lightSpeedIn {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0;
+ }
+
+ 60% {
+ -webkit-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1;
+ }
+
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ transform: skewX(-5deg);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.lightSpeedIn {
+ -webkit-animation-name: lightSpeedIn;
+ animation-name: lightSpeedIn;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+}
+
+@-webkit-keyframes lightSpeedOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0;
+ }
+}
+
+@keyframes lightSpeedOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0;
+ }
+}
+
+.lightSpeedOut {
+ -webkit-animation-name: lightSpeedOut;
+ animation-name: lightSpeedOut;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+}
+
+@-webkit-keyframes rotateIn {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateIn {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateIn {
+ -webkit-animation-name: rotateIn;
+ animation-name: rotateIn;
+}
+
+@-webkit-keyframes rotateInDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInDownLeft {
+ -webkit-animation-name: rotateInDownLeft;
+ animation-name: rotateInDownLeft;
+}
+
+@-webkit-keyframes rotateInDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInDownRight {
+ -webkit-animation-name: rotateInDownRight;
+ animation-name: rotateInDownRight;
+}
+
+@-webkit-keyframes rotateInUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInUpLeft {
+ -webkit-animation-name: rotateInUpLeft;
+ animation-name: rotateInUpLeft;
+}
+
+@-webkit-keyframes rotateInUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotateInUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ opacity: 1;
+ }
+}
+
+.rotateInUpRight {
+ -webkit-animation-name: rotateInUpRight;
+ animation-name: rotateInUpRight;
+}
+
+@-webkit-keyframes rotateOut {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOut {
+ from {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: center;
+ transform-origin: center;
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0;
+ }
+}
+
+.rotateOut {
+ -webkit-animation-name: rotateOut;
+ animation-name: rotateOut;
+}
+
+@-webkit-keyframes rotateOutDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutDownLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownLeft {
+ -webkit-animation-name: rotateOutDownLeft;
+ animation-name: rotateOutDownLeft;
+}
+
+@-webkit-keyframes rotateOutDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutDownRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownRight {
+ -webkit-animation-name: rotateOutDownRight;
+ animation-name: rotateOutDownRight;
+}
+
+@-webkit-keyframes rotateOutUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutUpLeft {
+ from {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom;
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpLeft {
+ -webkit-animation-name: rotateOutUpLeft;
+ animation-name: rotateOutUpLeft;
+}
+
+@-webkit-keyframes rotateOutUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0;
+ }
+}
+
+@keyframes rotateOutUpRight {
+ from {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom;
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpRight {
+ -webkit-animation-name: rotateOutUpRight;
+ animation-name: rotateOutUpRight;
+}
+
+@-webkit-keyframes hinge {
+ 0% {
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 20%,
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
+ transform: rotate3d(0, 0, 1, 80deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 40%,
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
+ transform: rotate3d(0, 0, 1, 60deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0;
+ }
+}
+
+@keyframes hinge {
+ 0% {
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 20%,
+ 60% {
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
+ transform: rotate3d(0, 0, 1, 80deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ }
+
+ 40%,
+ 80% {
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
+ transform: rotate3d(0, 0, 1, 60deg);
+ -webkit-transform-origin: top left;
+ transform-origin: top left;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0;
+ }
+}
+
+.hinge {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+ -webkit-animation-name: hinge;
+ animation-name: hinge;
+}
+
+@-webkit-keyframes jackInTheBox {
+ from {
+ opacity: 0;
+ -webkit-transform: scale(0.1) rotate(30deg);
+ transform: scale(0.1) rotate(30deg);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ }
+
+ 50% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg);
+ }
+
+ 70% {
+ -webkit-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+@keyframes jackInTheBox {
+ from {
+ opacity: 0;
+ -webkit-transform: scale(0.1) rotate(30deg);
+ transform: scale(0.1) rotate(30deg);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ }
+
+ 50% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg);
+ }
+
+ 70% {
+ -webkit-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+.jackInTheBox {
+ -webkit-animation-name: jackInTheBox;
+ animation-name: jackInTheBox;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes rollIn {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes rollIn {
+ from {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.rollIn {
+ -webkit-animation-name: rollIn;
+ animation-name: rollIn;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes rollOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ }
+}
+
+@keyframes rollOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ }
+}
+
+.rollOut {
+ -webkit-animation-name: rollOut;
+ animation-name: rollOut;
+}
+
+@-webkit-keyframes zoomIn {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 50% {
+ opacity: 1;
+ }
+}
+
+@keyframes zoomIn {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ 50% {
+ opacity: 1;
+ }
+}
+
+.zoomIn {
+ -webkit-animation-name: zoomIn;
+ animation-name: zoomIn;
+}
+
+@-webkit-keyframes zoomInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInDown {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInDown {
+ -webkit-animation-name: zoomInDown;
+ animation-name: zoomInDown;
+}
+
+@-webkit-keyframes zoomInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInLeft {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInLeft {
+ -webkit-animation-name: zoomInLeft;
+ animation-name: zoomInLeft;
+}
+
+@-webkit-keyframes zoomInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInRight {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInRight {
+ -webkit-animation-name: zoomInRight;
+ animation-name: zoomInRight;
+}
+
+@-webkit-keyframes zoomInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomInUp {
+ from {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomInUp {
+ -webkit-animation-name: zoomInUp;
+ animation-name: zoomInUp;
+}
+
+@-webkit-keyframes zoomOut {
+ from {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+@keyframes zoomOut {
+ from {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(0.3, 0.3, 0.3);
+ transform: scale3d(0.3, 0.3, 0.3);
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.zoomOut {
+ -webkit-animation-name: zoomOut;
+ animation-name: zoomOut;
+}
+
+@-webkit-keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomOutDown {
+ -webkit-animation-name: zoomOutDown;
+ animation-name: zoomOutDown;
+}
+
+@-webkit-keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
+ -webkit-transform-origin: left center;
+ transform-origin: left center;
+ }
+}
+
+@keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
+ transform: scale(0.1) translate3d(-2000px, 0, 0);
+ -webkit-transform-origin: left center;
+ transform-origin: left center;
+ }
+}
+
+.zoomOutLeft {
+ -webkit-animation-name: zoomOutLeft;
+ animation-name: zoomOutLeft;
+}
+
+@-webkit-keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
+ transform: scale(0.1) translate3d(2000px, 0, 0);
+ -webkit-transform-origin: right center;
+ transform-origin: right center;
+ }
+}
+
+@keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
+ transform: scale(0.1) translate3d(2000px, 0, 0);
+ -webkit-transform-origin: right center;
+ transform-origin: right center;
+ }
+}
+
+.zoomOutRight {
+ -webkit-animation-name: zoomOutRight;
+ animation-name: zoomOutRight;
+}
+
+@-webkit-keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+@keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom;
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
+ }
+}
+
+.zoomOutUp {
+ -webkit-animation-name: zoomOutUp;
+ animation-name: zoomOutUp;
+}
+
+@-webkit-keyframes slideInDown {
+ from {
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInDown {
+ from {
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInDown {
+ -webkit-animation-name: slideInDown;
+ animation-name: slideInDown;
+}
+
+@-webkit-keyframes slideInLeft {
+ from {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInLeft {
+ from {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInLeft {
+ -webkit-animation-name: slideInLeft;
+ animation-name: slideInLeft;
+}
+
+@-webkit-keyframes slideInRight {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInRight {
+ from {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInRight {
+ -webkit-animation-name: slideInRight;
+ animation-name: slideInRight;
+}
+
+@-webkit-keyframes slideInUp {
+ from {
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+@keyframes slideInUp {
+ from {
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInUp {
+ -webkit-animation-name: slideInUp;
+ animation-name: slideInUp;
+}
+
+@-webkit-keyframes slideOutDown {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+@keyframes slideOutDown {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.slideOutDown {
+ -webkit-animation-name: slideOutDown;
+ animation-name: slideOutDown;
+}
+
+@-webkit-keyframes slideOutLeft {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+@keyframes slideOutLeft {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.slideOutLeft {
+ -webkit-animation-name: slideOutLeft;
+ animation-name: slideOutLeft;
+}
+
+@-webkit-keyframes slideOutRight {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+@keyframes slideOutRight {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.slideOutRight {
+ -webkit-animation-name: slideOutRight;
+ animation-name: slideOutRight;
+}
+
+@-webkit-keyframes slideOutUp {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+@keyframes slideOutUp {
+ from {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.slideOutUp {
+ -webkit-animation-name: slideOutUp;
+ animation-name: slideOutUp;
+}
+
+.animated {
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+
+.animated.infinite {
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+}
+
+.animated.delay-1s {
+ -webkit-animation-delay: 1s;
+ animation-delay: 1s;
+}
+
+.animated.delay-2s {
+ -webkit-animation-delay: 2s;
+ animation-delay: 2s;
+}
+
+.animated.delay-3s {
+ -webkit-animation-delay: 3s;
+ animation-delay: 3s;
+}
+
+.animated.delay-4s {
+ -webkit-animation-delay: 4s;
+ animation-delay: 4s;
+}
+
+.animated.delay-5s {
+ -webkit-animation-delay: 5s;
+ animation-delay: 5s;
+}
+
+.animated.fast {
+ -webkit-animation-duration: 800ms;
+ animation-duration: 800ms;
+}
+
+.animated.faster {
+ -webkit-animation-duration: 500ms;
+ animation-duration: 500ms;
+}
+
+.animated.slow {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+}
+
+.animated.slower {
+ -webkit-animation-duration: 3s;
+ animation-duration: 3s;
+}
+
+@media (print),
+(prefers-reduced-motion) {
+ .animated {
+ -webkit-animation: unset !important;
+ animation: unset !important;
+ -webkit-transition: none !important;
+ transition: none !important;
+ }
+}
diff --git a/src/scss/vendor/fontawesome/_animated.scss b/src/scss/vendor/fontawesome/_animated.scss
new file mode 100644
index 00000000..7c7c0e17
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_animated.scss
@@ -0,0 +1,20 @@
+// Animated Icons
+// --------------------------
+
+.#{$fa-css-prefix}-spin {
+ animation: fa-spin 2s infinite linear;
+}
+
+.#{$fa-css-prefix}-pulse {
+ animation: fa-spin 1s infinite steps(8);
+}
+
+@keyframes fa-spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ 100% {
+ transform: rotate(360deg);
+ }
+}
diff --git a/src/scss/vendor/fontawesome/_bordered-pulled.scss b/src/scss/vendor/fontawesome/_bordered-pulled.scss
new file mode 100644
index 00000000..c8c4274c
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_bordered-pulled.scss
@@ -0,0 +1,20 @@
+// Bordered & Pulled
+// -------------------------
+
+.#{$fa-css-prefix}-border {
+ border: solid .08em $fa-border-color;
+ border-radius: .1em;
+ padding: .2em .25em .15em;
+}
+
+.#{$fa-css-prefix}-pull-left { float: left; }
+.#{$fa-css-prefix}-pull-right { float: right; }
+
+.#{$fa-css-prefix},
+.fas,
+.far,
+.fal,
+.fab {
+ &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
+ &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
+}
diff --git a/src/scss/vendor/fontawesome/_core.scss b/src/scss/vendor/fontawesome/_core.scss
new file mode 100644
index 00000000..a4ee7e84
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_core.scss
@@ -0,0 +1,20 @@
+// Base Class Definition
+// -------------------------
+
+.#{$fa-css-prefix},
+.fas,
+.far,
+.fal,
+.fab {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ display: inline-block;
+ font-style: normal;
+ font-variant: normal;
+ text-rendering: auto;
+ line-height: 1;
+}
+
+%fa-icon {
+ @include fa-icon;
+}
diff --git a/src/scss/vendor/fontawesome/_fixed-width.scss b/src/scss/vendor/fontawesome/_fixed-width.scss
new file mode 100644
index 00000000..970641ff
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_fixed-width.scss
@@ -0,0 +1,6 @@
+// Fixed Width Icons
+// -------------------------
+.#{$fa-css-prefix}-fw {
+ text-align: center;
+ width: $fa-fw-width;
+}
diff --git a/src/scss/vendor/fontawesome/_icons.scss b/src/scss/vendor/fontawesome/_icons.scss
new file mode 100644
index 00000000..04c69835
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_icons.scss
@@ -0,0 +1,1974 @@
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+readers do not read off random characters that represent icons */
+
+.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); }
+.#{$fa-css-prefix}-abacus:before { content: fa-content($fa-var-abacus); }
+.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); }
+.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); }
+.#{$fa-css-prefix}-acorn:before { content: fa-content($fa-var-acorn); }
+.#{$fa-css-prefix}-acquisitions-incorporated:before { content: fa-content($fa-var-acquisitions-incorporated); }
+.#{$fa-css-prefix}-ad:before { content: fa-content($fa-var-ad); }
+.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); }
+.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); }
+.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); }
+.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); }
+.#{$fa-css-prefix}-adobe:before { content: fa-content($fa-var-adobe); }
+.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); }
+.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); }
+.#{$fa-css-prefix}-air-freshener:before { content: fa-content($fa-var-air-freshener); }
+.#{$fa-css-prefix}-alarm-clock:before { content: fa-content($fa-var-alarm-clock); }
+.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); }
+.#{$fa-css-prefix}-alicorn:before { content: fa-content($fa-var-alicorn); }
+.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); }
+.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); }
+.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); }
+.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); }
+.#{$fa-css-prefix}-alipay:before { content: fa-content($fa-var-alipay); }
+.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); }
+.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); }
+.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); }
+.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); }
+.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); }
+.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); }
+.#{$fa-css-prefix}-analytics:before { content: fa-content($fa-var-analytics); }
+.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); }
+.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); }
+.#{$fa-css-prefix}-angel:before { content: fa-content($fa-var-angel); }
+.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); }
+.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); }
+.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); }
+.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); }
+.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); }
+.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); }
+.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); }
+.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); }
+.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); }
+.#{$fa-css-prefix}-angry:before { content: fa-content($fa-var-angry); }
+.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); }
+.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); }
+.#{$fa-css-prefix}-ankh:before { content: fa-content($fa-var-ankh); }
+.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); }
+.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); }
+.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); }
+.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); }
+.#{$fa-css-prefix}-apple-alt:before { content: fa-content($fa-var-apple-alt); }
+.#{$fa-css-prefix}-apple-crate:before { content: fa-content($fa-var-apple-crate); }
+.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); }
+.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); }
+.#{$fa-css-prefix}-archway:before { content: fa-content($fa-var-archway); }
+.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); }
+.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); }
+.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); }
+.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); }
+.#{$fa-css-prefix}-arrow-alt-down:before { content: fa-content($fa-var-arrow-alt-down); }
+.#{$fa-css-prefix}-arrow-alt-from-bottom:before { content: fa-content($fa-var-arrow-alt-from-bottom); }
+.#{$fa-css-prefix}-arrow-alt-from-left:before { content: fa-content($fa-var-arrow-alt-from-left); }
+.#{$fa-css-prefix}-arrow-alt-from-right:before { content: fa-content($fa-var-arrow-alt-from-right); }
+.#{$fa-css-prefix}-arrow-alt-from-top:before { content: fa-content($fa-var-arrow-alt-from-top); }
+.#{$fa-css-prefix}-arrow-alt-left:before { content: fa-content($fa-var-arrow-alt-left); }
+.#{$fa-css-prefix}-arrow-alt-right:before { content: fa-content($fa-var-arrow-alt-right); }
+.#{$fa-css-prefix}-arrow-alt-square-down:before { content: fa-content($fa-var-arrow-alt-square-down); }
+.#{$fa-css-prefix}-arrow-alt-square-left:before { content: fa-content($fa-var-arrow-alt-square-left); }
+.#{$fa-css-prefix}-arrow-alt-square-right:before { content: fa-content($fa-var-arrow-alt-square-right); }
+.#{$fa-css-prefix}-arrow-alt-square-up:before { content: fa-content($fa-var-arrow-alt-square-up); }
+.#{$fa-css-prefix}-arrow-alt-to-bottom:before { content: fa-content($fa-var-arrow-alt-to-bottom); }
+.#{$fa-css-prefix}-arrow-alt-to-left:before { content: fa-content($fa-var-arrow-alt-to-left); }
+.#{$fa-css-prefix}-arrow-alt-to-right:before { content: fa-content($fa-var-arrow-alt-to-right); }
+.#{$fa-css-prefix}-arrow-alt-to-top:before { content: fa-content($fa-var-arrow-alt-to-top); }
+.#{$fa-css-prefix}-arrow-alt-up:before { content: fa-content($fa-var-arrow-alt-up); }
+.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); }
+.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); }
+.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); }
+.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); }
+.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); }
+.#{$fa-css-prefix}-arrow-from-bottom:before { content: fa-content($fa-var-arrow-from-bottom); }
+.#{$fa-css-prefix}-arrow-from-left:before { content: fa-content($fa-var-arrow-from-left); }
+.#{$fa-css-prefix}-arrow-from-right:before { content: fa-content($fa-var-arrow-from-right); }
+.#{$fa-css-prefix}-arrow-from-top:before { content: fa-content($fa-var-arrow-from-top); }
+.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); }
+.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); }
+.#{$fa-css-prefix}-arrow-square-down:before { content: fa-content($fa-var-arrow-square-down); }
+.#{$fa-css-prefix}-arrow-square-left:before { content: fa-content($fa-var-arrow-square-left); }
+.#{$fa-css-prefix}-arrow-square-right:before { content: fa-content($fa-var-arrow-square-right); }
+.#{$fa-css-prefix}-arrow-square-up:before { content: fa-content($fa-var-arrow-square-up); }
+.#{$fa-css-prefix}-arrow-to-bottom:before { content: fa-content($fa-var-arrow-to-bottom); }
+.#{$fa-css-prefix}-arrow-to-left:before { content: fa-content($fa-var-arrow-to-left); }
+.#{$fa-css-prefix}-arrow-to-right:before { content: fa-content($fa-var-arrow-to-right); }
+.#{$fa-css-prefix}-arrow-to-top:before { content: fa-content($fa-var-arrow-to-top); }
+.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); }
+.#{$fa-css-prefix}-arrows:before { content: fa-content($fa-var-arrows); }
+.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); }
+.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); }
+.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); }
+.#{$fa-css-prefix}-arrows-h:before { content: fa-content($fa-var-arrows-h); }
+.#{$fa-css-prefix}-arrows-v:before { content: fa-content($fa-var-arrows-v); }
+.#{$fa-css-prefix}-artstation:before { content: fa-content($fa-var-artstation); }
+.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); }
+.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); }
+.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); }
+.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); }
+.#{$fa-css-prefix}-atlas:before { content: fa-content($fa-var-atlas); }
+.#{$fa-css-prefix}-atlassian:before { content: fa-content($fa-var-atlassian); }
+.#{$fa-css-prefix}-atom:before { content: fa-content($fa-var-atom); }
+.#{$fa-css-prefix}-atom-alt:before { content: fa-content($fa-var-atom-alt); }
+.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); }
+.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); }
+.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); }
+.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); }
+.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); }
+.#{$fa-css-prefix}-award:before { content: fa-content($fa-var-award); }
+.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); }
+.#{$fa-css-prefix}-axe:before { content: fa-content($fa-var-axe); }
+.#{$fa-css-prefix}-axe-battle:before { content: fa-content($fa-var-axe-battle); }
+.#{$fa-css-prefix}-baby:before { content: fa-content($fa-var-baby); }
+.#{$fa-css-prefix}-baby-carriage:before { content: fa-content($fa-var-baby-carriage); }
+.#{$fa-css-prefix}-backpack:before { content: fa-content($fa-var-backpack); }
+.#{$fa-css-prefix}-backspace:before { content: fa-content($fa-var-backspace); }
+.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); }
+.#{$fa-css-prefix}-bacon:before { content: fa-content($fa-var-bacon); }
+.#{$fa-css-prefix}-badge:before { content: fa-content($fa-var-badge); }
+.#{$fa-css-prefix}-badge-check:before { content: fa-content($fa-var-badge-check); }
+.#{$fa-css-prefix}-badge-dollar:before { content: fa-content($fa-var-badge-dollar); }
+.#{$fa-css-prefix}-badge-percent:before { content: fa-content($fa-var-badge-percent); }
+.#{$fa-css-prefix}-badger-honey:before { content: fa-content($fa-var-badger-honey); }
+.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); }
+.#{$fa-css-prefix}-balance-scale-left:before { content: fa-content($fa-var-balance-scale-left); }
+.#{$fa-css-prefix}-balance-scale-right:before { content: fa-content($fa-var-balance-scale-right); }
+.#{$fa-css-prefix}-ball-pile:before { content: fa-content($fa-var-ball-pile); }
+.#{$fa-css-prefix}-ballot:before { content: fa-content($fa-var-ballot); }
+.#{$fa-css-prefix}-ballot-check:before { content: fa-content($fa-var-ballot-check); }
+.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); }
+.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); }
+.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); }
+.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); }
+.#{$fa-css-prefix}-barcode-alt:before { content: fa-content($fa-var-barcode-alt); }
+.#{$fa-css-prefix}-barcode-read:before { content: fa-content($fa-var-barcode-read); }
+.#{$fa-css-prefix}-barcode-scan:before { content: fa-content($fa-var-barcode-scan); }
+.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); }
+.#{$fa-css-prefix}-baseball:before { content: fa-content($fa-var-baseball); }
+.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); }
+.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); }
+.#{$fa-css-prefix}-basketball-hoop:before { content: fa-content($fa-var-basketball-hoop); }
+.#{$fa-css-prefix}-bat:before { content: fa-content($fa-var-bat); }
+.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); }
+.#{$fa-css-prefix}-battery-bolt:before { content: fa-content($fa-var-battery-bolt); }
+.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); }
+.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); }
+.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); }
+.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); }
+.#{$fa-css-prefix}-battery-slash:before { content: fa-content($fa-var-battery-slash); }
+.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); }
+.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); }
+.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); }
+.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); }
+.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); }
+.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); }
+.#{$fa-css-prefix}-bell-school:before { content: fa-content($fa-var-bell-school); }
+.#{$fa-css-prefix}-bell-school-slash:before { content: fa-content($fa-var-bell-school-slash); }
+.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); }
+.#{$fa-css-prefix}-bells:before { content: fa-content($fa-var-bells); }
+.#{$fa-css-prefix}-bezier-curve:before { content: fa-content($fa-var-bezier-curve); }
+.#{$fa-css-prefix}-bible:before { content: fa-content($fa-var-bible); }
+.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); }
+.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); }
+.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); }
+.#{$fa-css-prefix}-biohazard:before { content: fa-content($fa-var-biohazard); }
+.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); }
+.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); }
+.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); }
+.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); }
+.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); }
+.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); }
+.#{$fa-css-prefix}-blanket:before { content: fa-content($fa-var-blanket); }
+.#{$fa-css-prefix}-blender:before { content: fa-content($fa-var-blender); }
+.#{$fa-css-prefix}-blender-phone:before { content: fa-content($fa-var-blender-phone); }
+.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); }
+.#{$fa-css-prefix}-blog:before { content: fa-content($fa-var-blog); }
+.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); }
+.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); }
+.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); }
+.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); }
+.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); }
+.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); }
+.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); }
+.#{$fa-css-prefix}-bone:before { content: fa-content($fa-var-bone); }
+.#{$fa-css-prefix}-bone-break:before { content: fa-content($fa-var-bone-break); }
+.#{$fa-css-prefix}-bong:before { content: fa-content($fa-var-bong); }
+.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); }
+.#{$fa-css-prefix}-book-alt:before { content: fa-content($fa-var-book-alt); }
+.#{$fa-css-prefix}-book-dead:before { content: fa-content($fa-var-book-dead); }
+.#{$fa-css-prefix}-book-heart:before { content: fa-content($fa-var-book-heart); }
+.#{$fa-css-prefix}-book-medical:before { content: fa-content($fa-var-book-medical); }
+.#{$fa-css-prefix}-book-open:before { content: fa-content($fa-var-book-open); }
+.#{$fa-css-prefix}-book-reader:before { content: fa-content($fa-var-book-reader); }
+.#{$fa-css-prefix}-book-spells:before { content: fa-content($fa-var-book-spells); }
+.#{$fa-css-prefix}-book-user:before { content: fa-content($fa-var-book-user); }
+.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); }
+.#{$fa-css-prefix}-books:before { content: fa-content($fa-var-books); }
+.#{$fa-css-prefix}-books-medical:before { content: fa-content($fa-var-books-medical); }
+.#{$fa-css-prefix}-boot:before { content: fa-content($fa-var-boot); }
+.#{$fa-css-prefix}-booth-curtain:before { content: fa-content($fa-var-booth-curtain); }
+.#{$fa-css-prefix}-bow-arrow:before { content: fa-content($fa-var-bow-arrow); }
+.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); }
+.#{$fa-css-prefix}-bowling-pins:before { content: fa-content($fa-var-bowling-pins); }
+.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); }
+.#{$fa-css-prefix}-box-alt:before { content: fa-content($fa-var-box-alt); }
+.#{$fa-css-prefix}-box-ballot:before { content: fa-content($fa-var-box-ballot); }
+.#{$fa-css-prefix}-box-check:before { content: fa-content($fa-var-box-check); }
+.#{$fa-css-prefix}-box-fragile:before { content: fa-content($fa-var-box-fragile); }
+.#{$fa-css-prefix}-box-full:before { content: fa-content($fa-var-box-full); }
+.#{$fa-css-prefix}-box-heart:before { content: fa-content($fa-var-box-heart); }
+.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); }
+.#{$fa-css-prefix}-box-up:before { content: fa-content($fa-var-box-up); }
+.#{$fa-css-prefix}-box-usd:before { content: fa-content($fa-var-box-usd); }
+.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); }
+.#{$fa-css-prefix}-boxes-alt:before { content: fa-content($fa-var-boxes-alt); }
+.#{$fa-css-prefix}-boxing-glove:before { content: fa-content($fa-var-boxing-glove); }
+.#{$fa-css-prefix}-brackets:before { content: fa-content($fa-var-brackets); }
+.#{$fa-css-prefix}-brackets-curly:before { content: fa-content($fa-var-brackets-curly); }
+.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); }
+.#{$fa-css-prefix}-brain:before { content: fa-content($fa-var-brain); }
+.#{$fa-css-prefix}-bread-loaf:before { content: fa-content($fa-var-bread-loaf); }
+.#{$fa-css-prefix}-bread-slice:before { content: fa-content($fa-var-bread-slice); }
+.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); }
+.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); }
+.#{$fa-css-prefix}-broadcast-tower:before { content: fa-content($fa-var-broadcast-tower); }
+.#{$fa-css-prefix}-broom:before { content: fa-content($fa-var-broom); }
+.#{$fa-css-prefix}-browser:before { content: fa-content($fa-var-browser); }
+.#{$fa-css-prefix}-brush:before { content: fa-content($fa-var-brush); }
+.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); }
+.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); }
+.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); }
+.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); }
+.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); }
+.#{$fa-css-prefix}-bullseye-arrow:before { content: fa-content($fa-var-bullseye-arrow); }
+.#{$fa-css-prefix}-bullseye-pointer:before { content: fa-content($fa-var-bullseye-pointer); }
+.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); }
+.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); }
+.#{$fa-css-prefix}-burrito:before { content: fa-content($fa-var-burrito); }
+.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); }
+.#{$fa-css-prefix}-bus-alt:before { content: fa-content($fa-var-bus-alt); }
+.#{$fa-css-prefix}-bus-school:before { content: fa-content($fa-var-bus-school); }
+.#{$fa-css-prefix}-business-time:before { content: fa-content($fa-var-business-time); }
+.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); }
+.#{$fa-css-prefix}-cabinet-filing:before { content: fa-content($fa-var-cabinet-filing); }
+.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); }
+.#{$fa-css-prefix}-calculator-alt:before { content: fa-content($fa-var-calculator-alt); }
+.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); }
+.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); }
+.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); }
+.#{$fa-css-prefix}-calendar-day:before { content: fa-content($fa-var-calendar-day); }
+.#{$fa-css-prefix}-calendar-edit:before { content: fa-content($fa-var-calendar-edit); }
+.#{$fa-css-prefix}-calendar-exclamation:before { content: fa-content($fa-var-calendar-exclamation); }
+.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); }
+.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); }
+.#{$fa-css-prefix}-calendar-star:before { content: fa-content($fa-var-calendar-star); }
+.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); }
+.#{$fa-css-prefix}-calendar-week:before { content: fa-content($fa-var-calendar-week); }
+.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); }
+.#{$fa-css-prefix}-camera-alt:before { content: fa-content($fa-var-camera-alt); }
+.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); }
+.#{$fa-css-prefix}-campfire:before { content: fa-content($fa-var-campfire); }
+.#{$fa-css-prefix}-campground:before { content: fa-content($fa-var-campground); }
+.#{$fa-css-prefix}-canadian-maple-leaf:before { content: fa-content($fa-var-canadian-maple-leaf); }
+.#{$fa-css-prefix}-candle-holder:before { content: fa-content($fa-var-candle-holder); }
+.#{$fa-css-prefix}-candy-cane:before { content: fa-content($fa-var-candy-cane); }
+.#{$fa-css-prefix}-candy-corn:before { content: fa-content($fa-var-candy-corn); }
+.#{$fa-css-prefix}-cannabis:before { content: fa-content($fa-var-cannabis); }
+.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); }
+.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); }
+.#{$fa-css-prefix}-car-alt:before { content: fa-content($fa-var-car-alt); }
+.#{$fa-css-prefix}-car-battery:before { content: fa-content($fa-var-car-battery); }
+.#{$fa-css-prefix}-car-bump:before { content: fa-content($fa-var-car-bump); }
+.#{$fa-css-prefix}-car-crash:before { content: fa-content($fa-var-car-crash); }
+.#{$fa-css-prefix}-car-garage:before { content: fa-content($fa-var-car-garage); }
+.#{$fa-css-prefix}-car-mechanic:before { content: fa-content($fa-var-car-mechanic); }
+.#{$fa-css-prefix}-car-side:before { content: fa-content($fa-var-car-side); }
+.#{$fa-css-prefix}-car-tilt:before { content: fa-content($fa-var-car-tilt); }
+.#{$fa-css-prefix}-car-wash:before { content: fa-content($fa-var-car-wash); }
+.#{$fa-css-prefix}-caret-circle-down:before { content: fa-content($fa-var-caret-circle-down); }
+.#{$fa-css-prefix}-caret-circle-left:before { content: fa-content($fa-var-caret-circle-left); }
+.#{$fa-css-prefix}-caret-circle-right:before { content: fa-content($fa-var-caret-circle-right); }
+.#{$fa-css-prefix}-caret-circle-up:before { content: fa-content($fa-var-caret-circle-up); }
+.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); }
+.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); }
+.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); }
+.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); }
+.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); }
+.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); }
+.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); }
+.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); }
+.#{$fa-css-prefix}-carrot:before { content: fa-content($fa-var-carrot); }
+.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); }
+.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); }
+.#{$fa-css-prefix}-cash-register:before { content: fa-content($fa-var-cash-register); }
+.#{$fa-css-prefix}-cat:before { content: fa-content($fa-var-cat); }
+.#{$fa-css-prefix}-cauldron:before { content: fa-content($fa-var-cauldron); }
+.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); }
+.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); }
+.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); }
+.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); }
+.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); }
+.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); }
+.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); }
+.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); }
+.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); }
+.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); }
+.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); }
+.#{$fa-css-prefix}-centos:before { content: fa-content($fa-var-centos); }
+.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); }
+.#{$fa-css-prefix}-chair:before { content: fa-content($fa-var-chair); }
+.#{$fa-css-prefix}-chair-office:before { content: fa-content($fa-var-chair-office); }
+.#{$fa-css-prefix}-chalkboard:before { content: fa-content($fa-var-chalkboard); }
+.#{$fa-css-prefix}-chalkboard-teacher:before { content: fa-content($fa-var-chalkboard-teacher); }
+.#{$fa-css-prefix}-charging-station:before { content: fa-content($fa-var-charging-station); }
+.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); }
+.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); }
+.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); }
+.#{$fa-css-prefix}-chart-line-down:before { content: fa-content($fa-var-chart-line-down); }
+.#{$fa-css-prefix}-chart-network:before { content: fa-content($fa-var-chart-network); }
+.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); }
+.#{$fa-css-prefix}-chart-pie-alt:before { content: fa-content($fa-var-chart-pie-alt); }
+.#{$fa-css-prefix}-chart-scatter:before { content: fa-content($fa-var-chart-scatter); }
+.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); }
+.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); }
+.#{$fa-css-prefix}-check-double:before { content: fa-content($fa-var-check-double); }
+.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); }
+.#{$fa-css-prefix}-cheese:before { content: fa-content($fa-var-cheese); }
+.#{$fa-css-prefix}-cheese-swiss:before { content: fa-content($fa-var-cheese-swiss); }
+.#{$fa-css-prefix}-cheeseburger:before { content: fa-content($fa-var-cheeseburger); }
+.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); }
+.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); }
+.#{$fa-css-prefix}-chess-bishop-alt:before { content: fa-content($fa-var-chess-bishop-alt); }
+.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); }
+.#{$fa-css-prefix}-chess-clock:before { content: fa-content($fa-var-chess-clock); }
+.#{$fa-css-prefix}-chess-clock-alt:before { content: fa-content($fa-var-chess-clock-alt); }
+.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); }
+.#{$fa-css-prefix}-chess-king-alt:before { content: fa-content($fa-var-chess-king-alt); }
+.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); }
+.#{$fa-css-prefix}-chess-knight-alt:before { content: fa-content($fa-var-chess-knight-alt); }
+.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); }
+.#{$fa-css-prefix}-chess-pawn-alt:before { content: fa-content($fa-var-chess-pawn-alt); }
+.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); }
+.#{$fa-css-prefix}-chess-queen-alt:before { content: fa-content($fa-var-chess-queen-alt); }
+.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); }
+.#{$fa-css-prefix}-chess-rook-alt:before { content: fa-content($fa-var-chess-rook-alt); }
+.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); }
+.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); }
+.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); }
+.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); }
+.#{$fa-css-prefix}-chevron-double-down:before { content: fa-content($fa-var-chevron-double-down); }
+.#{$fa-css-prefix}-chevron-double-left:before { content: fa-content($fa-var-chevron-double-left); }
+.#{$fa-css-prefix}-chevron-double-right:before { content: fa-content($fa-var-chevron-double-right); }
+.#{$fa-css-prefix}-chevron-double-up:before { content: fa-content($fa-var-chevron-double-up); }
+.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); }
+.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); }
+.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); }
+.#{$fa-css-prefix}-chevron-square-down:before { content: fa-content($fa-var-chevron-square-down); }
+.#{$fa-css-prefix}-chevron-square-left:before { content: fa-content($fa-var-chevron-square-left); }
+.#{$fa-css-prefix}-chevron-square-right:before { content: fa-content($fa-var-chevron-square-right); }
+.#{$fa-css-prefix}-chevron-square-up:before { content: fa-content($fa-var-chevron-square-up); }
+.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); }
+.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); }
+.#{$fa-css-prefix}-chimney:before { content: fa-content($fa-var-chimney); }
+.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); }
+.#{$fa-css-prefix}-church:before { content: fa-content($fa-var-church); }
+.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); }
+.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); }
+.#{$fa-css-prefix}-city:before { content: fa-content($fa-var-city); }
+.#{$fa-css-prefix}-claw-marks:before { content: fa-content($fa-var-claw-marks); }
+.#{$fa-css-prefix}-clinic-medical:before { content: fa-content($fa-var-clinic-medical); }
+.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); }
+.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); }
+.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); }
+.#{$fa-css-prefix}-clipboard-list-check:before { content: fa-content($fa-var-clipboard-list-check); }
+.#{$fa-css-prefix}-clipboard-prescription:before { content: fa-content($fa-var-clipboard-prescription); }
+.#{$fa-css-prefix}-clipboard-user:before { content: fa-content($fa-var-clipboard-user); }
+.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); }
+.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); }
+.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); }
+.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); }
+.#{$fa-css-prefix}-cloud-download:before { content: fa-content($fa-var-cloud-download); }
+.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); }
+.#{$fa-css-prefix}-cloud-drizzle:before { content: fa-content($fa-var-cloud-drizzle); }
+.#{$fa-css-prefix}-cloud-hail:before { content: fa-content($fa-var-cloud-hail); }
+.#{$fa-css-prefix}-cloud-hail-mixed:before { content: fa-content($fa-var-cloud-hail-mixed); }
+.#{$fa-css-prefix}-cloud-meatball:before { content: fa-content($fa-var-cloud-meatball); }
+.#{$fa-css-prefix}-cloud-moon:before { content: fa-content($fa-var-cloud-moon); }
+.#{$fa-css-prefix}-cloud-moon-rain:before { content: fa-content($fa-var-cloud-moon-rain); }
+.#{$fa-css-prefix}-cloud-rain:before { content: fa-content($fa-var-cloud-rain); }
+.#{$fa-css-prefix}-cloud-rainbow:before { content: fa-content($fa-var-cloud-rainbow); }
+.#{$fa-css-prefix}-cloud-showers:before { content: fa-content($fa-var-cloud-showers); }
+.#{$fa-css-prefix}-cloud-showers-heavy:before { content: fa-content($fa-var-cloud-showers-heavy); }
+.#{$fa-css-prefix}-cloud-sleet:before { content: fa-content($fa-var-cloud-sleet); }
+.#{$fa-css-prefix}-cloud-snow:before { content: fa-content($fa-var-cloud-snow); }
+.#{$fa-css-prefix}-cloud-sun:before { content: fa-content($fa-var-cloud-sun); }
+.#{$fa-css-prefix}-cloud-sun-rain:before { content: fa-content($fa-var-cloud-sun-rain); }
+.#{$fa-css-prefix}-cloud-upload:before { content: fa-content($fa-var-cloud-upload); }
+.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); }
+.#{$fa-css-prefix}-clouds:before { content: fa-content($fa-var-clouds); }
+.#{$fa-css-prefix}-clouds-moon:before { content: fa-content($fa-var-clouds-moon); }
+.#{$fa-css-prefix}-clouds-sun:before { content: fa-content($fa-var-clouds-sun); }
+.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); }
+.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); }
+.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); }
+.#{$fa-css-prefix}-club:before { content: fa-content($fa-var-club); }
+.#{$fa-css-prefix}-cocktail:before { content: fa-content($fa-var-cocktail); }
+.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); }
+.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); }
+.#{$fa-css-prefix}-code-commit:before { content: fa-content($fa-var-code-commit); }
+.#{$fa-css-prefix}-code-merge:before { content: fa-content($fa-var-code-merge); }
+.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); }
+.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); }
+.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); }
+.#{$fa-css-prefix}-coffee-togo:before { content: fa-content($fa-var-coffee-togo); }
+.#{$fa-css-prefix}-coffin:before { content: fa-content($fa-var-coffin); }
+.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); }
+.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); }
+.#{$fa-css-prefix}-coins:before { content: fa-content($fa-var-coins); }
+.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); }
+.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); }
+.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); }
+.#{$fa-css-prefix}-comment-alt-check:before { content: fa-content($fa-var-comment-alt-check); }
+.#{$fa-css-prefix}-comment-alt-dollar:before { content: fa-content($fa-var-comment-alt-dollar); }
+.#{$fa-css-prefix}-comment-alt-dots:before { content: fa-content($fa-var-comment-alt-dots); }
+.#{$fa-css-prefix}-comment-alt-edit:before { content: fa-content($fa-var-comment-alt-edit); }
+.#{$fa-css-prefix}-comment-alt-exclamation:before { content: fa-content($fa-var-comment-alt-exclamation); }
+.#{$fa-css-prefix}-comment-alt-lines:before { content: fa-content($fa-var-comment-alt-lines); }
+.#{$fa-css-prefix}-comment-alt-medical:before { content: fa-content($fa-var-comment-alt-medical); }
+.#{$fa-css-prefix}-comment-alt-minus:before { content: fa-content($fa-var-comment-alt-minus); }
+.#{$fa-css-prefix}-comment-alt-plus:before { content: fa-content($fa-var-comment-alt-plus); }
+.#{$fa-css-prefix}-comment-alt-slash:before { content: fa-content($fa-var-comment-alt-slash); }
+.#{$fa-css-prefix}-comment-alt-smile:before { content: fa-content($fa-var-comment-alt-smile); }
+.#{$fa-css-prefix}-comment-alt-times:before { content: fa-content($fa-var-comment-alt-times); }
+.#{$fa-css-prefix}-comment-check:before { content: fa-content($fa-var-comment-check); }
+.#{$fa-css-prefix}-comment-dollar:before { content: fa-content($fa-var-comment-dollar); }
+.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); }
+.#{$fa-css-prefix}-comment-edit:before { content: fa-content($fa-var-comment-edit); }
+.#{$fa-css-prefix}-comment-exclamation:before { content: fa-content($fa-var-comment-exclamation); }
+.#{$fa-css-prefix}-comment-lines:before { content: fa-content($fa-var-comment-lines); }
+.#{$fa-css-prefix}-comment-medical:before { content: fa-content($fa-var-comment-medical); }
+.#{$fa-css-prefix}-comment-minus:before { content: fa-content($fa-var-comment-minus); }
+.#{$fa-css-prefix}-comment-plus:before { content: fa-content($fa-var-comment-plus); }
+.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); }
+.#{$fa-css-prefix}-comment-smile:before { content: fa-content($fa-var-comment-smile); }
+.#{$fa-css-prefix}-comment-times:before { content: fa-content($fa-var-comment-times); }
+.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); }
+.#{$fa-css-prefix}-comments-alt:before { content: fa-content($fa-var-comments-alt); }
+.#{$fa-css-prefix}-comments-alt-dollar:before { content: fa-content($fa-var-comments-alt-dollar); }
+.#{$fa-css-prefix}-comments-dollar:before { content: fa-content($fa-var-comments-dollar); }
+.#{$fa-css-prefix}-compact-disc:before { content: fa-content($fa-var-compact-disc); }
+.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); }
+.#{$fa-css-prefix}-compass-slash:before { content: fa-content($fa-var-compass-slash); }
+.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); }
+.#{$fa-css-prefix}-compress-alt:before { content: fa-content($fa-var-compress-alt); }
+.#{$fa-css-prefix}-compress-arrows-alt:before { content: fa-content($fa-var-compress-arrows-alt); }
+.#{$fa-css-prefix}-compress-wide:before { content: fa-content($fa-var-compress-wide); }
+.#{$fa-css-prefix}-concierge-bell:before { content: fa-content($fa-var-concierge-bell); }
+.#{$fa-css-prefix}-confluence:before { content: fa-content($fa-var-confluence); }
+.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); }
+.#{$fa-css-prefix}-container-storage:before { content: fa-content($fa-var-container-storage); }
+.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); }
+.#{$fa-css-prefix}-conveyor-belt:before { content: fa-content($fa-var-conveyor-belt); }
+.#{$fa-css-prefix}-conveyor-belt-alt:before { content: fa-content($fa-var-conveyor-belt-alt); }
+.#{$fa-css-prefix}-cookie:before { content: fa-content($fa-var-cookie); }
+.#{$fa-css-prefix}-cookie-bite:before { content: fa-content($fa-var-cookie-bite); }
+.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); }
+.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); }
+.#{$fa-css-prefix}-corn:before { content: fa-content($fa-var-corn); }
+.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); }
+.#{$fa-css-prefix}-cow:before { content: fa-content($fa-var-cow); }
+.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); }
+.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); }
+.#{$fa-css-prefix}-creative-commons-by:before { content: fa-content($fa-var-creative-commons-by); }
+.#{$fa-css-prefix}-creative-commons-nc:before { content: fa-content($fa-var-creative-commons-nc); }
+.#{$fa-css-prefix}-creative-commons-nc-eu:before { content: fa-content($fa-var-creative-commons-nc-eu); }
+.#{$fa-css-prefix}-creative-commons-nc-jp:before { content: fa-content($fa-var-creative-commons-nc-jp); }
+.#{$fa-css-prefix}-creative-commons-nd:before { content: fa-content($fa-var-creative-commons-nd); }
+.#{$fa-css-prefix}-creative-commons-pd:before { content: fa-content($fa-var-creative-commons-pd); }
+.#{$fa-css-prefix}-creative-commons-pd-alt:before { content: fa-content($fa-var-creative-commons-pd-alt); }
+.#{$fa-css-prefix}-creative-commons-remix:before { content: fa-content($fa-var-creative-commons-remix); }
+.#{$fa-css-prefix}-creative-commons-sa:before { content: fa-content($fa-var-creative-commons-sa); }
+.#{$fa-css-prefix}-creative-commons-sampling:before { content: fa-content($fa-var-creative-commons-sampling); }
+.#{$fa-css-prefix}-creative-commons-sampling-plus:before { content: fa-content($fa-var-creative-commons-sampling-plus); }
+.#{$fa-css-prefix}-creative-commons-share:before { content: fa-content($fa-var-creative-commons-share); }
+.#{$fa-css-prefix}-creative-commons-zero:before { content: fa-content($fa-var-creative-commons-zero); }
+.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); }
+.#{$fa-css-prefix}-credit-card-blank:before { content: fa-content($fa-var-credit-card-blank); }
+.#{$fa-css-prefix}-credit-card-front:before { content: fa-content($fa-var-credit-card-front); }
+.#{$fa-css-prefix}-cricket:before { content: fa-content($fa-var-cricket); }
+.#{$fa-css-prefix}-critical-role:before { content: fa-content($fa-var-critical-role); }
+.#{$fa-css-prefix}-croissant:before { content: fa-content($fa-var-croissant); }
+.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); }
+.#{$fa-css-prefix}-crop-alt:before { content: fa-content($fa-var-crop-alt); }
+.#{$fa-css-prefix}-cross:before { content: fa-content($fa-var-cross); }
+.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); }
+.#{$fa-css-prefix}-crow:before { content: fa-content($fa-var-crow); }
+.#{$fa-css-prefix}-crown:before { content: fa-content($fa-var-crown); }
+.#{$fa-css-prefix}-crutch:before { content: fa-content($fa-var-crutch); }
+.#{$fa-css-prefix}-crutches:before { content: fa-content($fa-var-crutches); }
+.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); }
+.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); }
+.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); }
+.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); }
+.#{$fa-css-prefix}-curling:before { content: fa-content($fa-var-curling); }
+.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); }
+.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); }
+.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); }
+.#{$fa-css-prefix}-d-and-d-beyond:before { content: fa-content($fa-var-d-and-d-beyond); }
+.#{$fa-css-prefix}-dagger:before { content: fa-content($fa-var-dagger); }
+.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); }
+.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); }
+.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); }
+.#{$fa-css-prefix}-debug:before { content: fa-content($fa-var-debug); }
+.#{$fa-css-prefix}-deer:before { content: fa-content($fa-var-deer); }
+.#{$fa-css-prefix}-deer-rudolph:before { content: fa-content($fa-var-deer-rudolph); }
+.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); }
+.#{$fa-css-prefix}-democrat:before { content: fa-content($fa-var-democrat); }
+.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); }
+.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); }
+.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); }
+.#{$fa-css-prefix}-desktop-alt:before { content: fa-content($fa-var-desktop-alt); }
+.#{$fa-css-prefix}-dev:before { content: fa-content($fa-var-dev); }
+.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); }
+.#{$fa-css-prefix}-dewpoint:before { content: fa-content($fa-var-dewpoint); }
+.#{$fa-css-prefix}-dharmachakra:before { content: fa-content($fa-var-dharmachakra); }
+.#{$fa-css-prefix}-dhl:before { content: fa-content($fa-var-dhl); }
+.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); }
+.#{$fa-css-prefix}-diamond:before { content: fa-content($fa-var-diamond); }
+.#{$fa-css-prefix}-diaspora:before { content: fa-content($fa-var-diaspora); }
+.#{$fa-css-prefix}-dice:before { content: fa-content($fa-var-dice); }
+.#{$fa-css-prefix}-dice-d10:before { content: fa-content($fa-var-dice-d10); }
+.#{$fa-css-prefix}-dice-d12:before { content: fa-content($fa-var-dice-d12); }
+.#{$fa-css-prefix}-dice-d20:before { content: fa-content($fa-var-dice-d20); }
+.#{$fa-css-prefix}-dice-d4:before { content: fa-content($fa-var-dice-d4); }
+.#{$fa-css-prefix}-dice-d6:before { content: fa-content($fa-var-dice-d6); }
+.#{$fa-css-prefix}-dice-d8:before { content: fa-content($fa-var-dice-d8); }
+.#{$fa-css-prefix}-dice-five:before { content: fa-content($fa-var-dice-five); }
+.#{$fa-css-prefix}-dice-four:before { content: fa-content($fa-var-dice-four); }
+.#{$fa-css-prefix}-dice-one:before { content: fa-content($fa-var-dice-one); }
+.#{$fa-css-prefix}-dice-six:before { content: fa-content($fa-var-dice-six); }
+.#{$fa-css-prefix}-dice-three:before { content: fa-content($fa-var-dice-three); }
+.#{$fa-css-prefix}-dice-two:before { content: fa-content($fa-var-dice-two); }
+.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); }
+.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); }
+.#{$fa-css-prefix}-digital-tachograph:before { content: fa-content($fa-var-digital-tachograph); }
+.#{$fa-css-prefix}-diploma:before { content: fa-content($fa-var-diploma); }
+.#{$fa-css-prefix}-directions:before { content: fa-content($fa-var-directions); }
+.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); }
+.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); }
+.#{$fa-css-prefix}-disease:before { content: fa-content($fa-var-disease); }
+.#{$fa-css-prefix}-divide:before { content: fa-content($fa-var-divide); }
+.#{$fa-css-prefix}-dizzy:before { content: fa-content($fa-var-dizzy); }
+.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); }
+.#{$fa-css-prefix}-do-not-enter:before { content: fa-content($fa-var-do-not-enter); }
+.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); }
+.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); }
+.#{$fa-css-prefix}-dog:before { content: fa-content($fa-var-dog); }
+.#{$fa-css-prefix}-dog-leashed:before { content: fa-content($fa-var-dog-leashed); }
+.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); }
+.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); }
+.#{$fa-css-prefix}-dolly-empty:before { content: fa-content($fa-var-dolly-empty); }
+.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); }
+.#{$fa-css-prefix}-dolly-flatbed-alt:before { content: fa-content($fa-var-dolly-flatbed-alt); }
+.#{$fa-css-prefix}-dolly-flatbed-empty:before { content: fa-content($fa-var-dolly-flatbed-empty); }
+.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); }
+.#{$fa-css-prefix}-door-closed:before { content: fa-content($fa-var-door-closed); }
+.#{$fa-css-prefix}-door-open:before { content: fa-content($fa-var-door-open); }
+.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); }
+.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); }
+.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); }
+.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); }
+.#{$fa-css-prefix}-drafting-compass:before { content: fa-content($fa-var-drafting-compass); }
+.#{$fa-css-prefix}-dragon:before { content: fa-content($fa-var-dragon); }
+.#{$fa-css-prefix}-draw-circle:before { content: fa-content($fa-var-draw-circle); }
+.#{$fa-css-prefix}-draw-polygon:before { content: fa-content($fa-var-draw-polygon); }
+.#{$fa-css-prefix}-draw-square:before { content: fa-content($fa-var-draw-square); }
+.#{$fa-css-prefix}-dreidel:before { content: fa-content($fa-var-dreidel); }
+.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); }
+.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); }
+.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); }
+.#{$fa-css-prefix}-drum:before { content: fa-content($fa-var-drum); }
+.#{$fa-css-prefix}-drum-steelpan:before { content: fa-content($fa-var-drum-steelpan); }
+.#{$fa-css-prefix}-drumstick:before { content: fa-content($fa-var-drumstick); }
+.#{$fa-css-prefix}-drumstick-bite:before { content: fa-content($fa-var-drumstick-bite); }
+.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); }
+.#{$fa-css-prefix}-duck:before { content: fa-content($fa-var-duck); }
+.#{$fa-css-prefix}-dumbbell:before { content: fa-content($fa-var-dumbbell); }
+.#{$fa-css-prefix}-dumpster:before { content: fa-content($fa-var-dumpster); }
+.#{$fa-css-prefix}-dumpster-fire:before { content: fa-content($fa-var-dumpster-fire); }
+.#{$fa-css-prefix}-dungeon:before { content: fa-content($fa-var-dungeon); }
+.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); }
+.#{$fa-css-prefix}-ear:before { content: fa-content($fa-var-ear); }
+.#{$fa-css-prefix}-ear-muffs:before { content: fa-content($fa-var-ear-muffs); }
+.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); }
+.#{$fa-css-prefix}-ebay:before { content: fa-content($fa-var-ebay); }
+.#{$fa-css-prefix}-eclipse:before { content: fa-content($fa-var-eclipse); }
+.#{$fa-css-prefix}-eclipse-alt:before { content: fa-content($fa-var-eclipse-alt); }
+.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); }
+.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); }
+.#{$fa-css-prefix}-egg:before { content: fa-content($fa-var-egg); }
+.#{$fa-css-prefix}-egg-fried:before { content: fa-content($fa-var-egg-fried); }
+.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); }
+.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); }
+.#{$fa-css-prefix}-elephant:before { content: fa-content($fa-var-elephant); }
+.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); }
+.#{$fa-css-prefix}-ellipsis-h-alt:before { content: fa-content($fa-var-ellipsis-h-alt); }
+.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); }
+.#{$fa-css-prefix}-ellipsis-v-alt:before { content: fa-content($fa-var-ellipsis-v-alt); }
+.#{$fa-css-prefix}-ello:before { content: fa-content($fa-var-ello); }
+.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); }
+.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); }
+.#{$fa-css-prefix}-empty-set:before { content: fa-content($fa-var-empty-set); }
+.#{$fa-css-prefix}-engine-warning:before { content: fa-content($fa-var-engine-warning); }
+.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); }
+.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); }
+.#{$fa-css-prefix}-envelope-open-dollar:before { content: fa-content($fa-var-envelope-open-dollar); }
+.#{$fa-css-prefix}-envelope-open-text:before { content: fa-content($fa-var-envelope-open-text); }
+.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); }
+.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); }
+.#{$fa-css-prefix}-equals:before { content: fa-content($fa-var-equals); }
+.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); }
+.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); }
+.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); }
+.#{$fa-css-prefix}-ethernet:before { content: fa-content($fa-var-ethernet); }
+.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); }
+.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); }
+.#{$fa-css-prefix}-exchange:before { content: fa-content($fa-var-exchange); }
+.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); }
+.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); }
+.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); }
+.#{$fa-css-prefix}-exclamation-square:before { content: fa-content($fa-var-exclamation-square); }
+.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); }
+.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); }
+.#{$fa-css-prefix}-expand-alt:before { content: fa-content($fa-var-expand-alt); }
+.#{$fa-css-prefix}-expand-arrows:before { content: fa-content($fa-var-expand-arrows); }
+.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); }
+.#{$fa-css-prefix}-expand-wide:before { content: fa-content($fa-var-expand-wide); }
+.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); }
+.#{$fa-css-prefix}-external-link:before { content: fa-content($fa-var-external-link); }
+.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); }
+.#{$fa-css-prefix}-external-link-square:before { content: fa-content($fa-var-external-link-square); }
+.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); }
+.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); }
+.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); }
+.#{$fa-css-prefix}-eye-evil:before { content: fa-content($fa-var-eye-evil); }
+.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); }
+.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); }
+.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); }
+.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); }
+.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); }
+.#{$fa-css-prefix}-fantasy-flight-games:before { content: fa-content($fa-var-fantasy-flight-games); }
+.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); }
+.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); }
+.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); }
+.#{$fa-css-prefix}-feather:before { content: fa-content($fa-var-feather); }
+.#{$fa-css-prefix}-feather-alt:before { content: fa-content($fa-var-feather-alt); }
+.#{$fa-css-prefix}-fedex:before { content: fa-content($fa-var-fedex); }
+.#{$fa-css-prefix}-fedora:before { content: fa-content($fa-var-fedora); }
+.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); }
+.#{$fa-css-prefix}-field-hockey:before { content: fa-content($fa-var-field-hockey); }
+.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); }
+.#{$fa-css-prefix}-figma:before { content: fa-content($fa-var-figma); }
+.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); }
+.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); }
+.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); }
+.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); }
+.#{$fa-css-prefix}-file-certificate:before { content: fa-content($fa-var-file-certificate); }
+.#{$fa-css-prefix}-file-chart-line:before { content: fa-content($fa-var-file-chart-line); }
+.#{$fa-css-prefix}-file-chart-pie:before { content: fa-content($fa-var-file-chart-pie); }
+.#{$fa-css-prefix}-file-check:before { content: fa-content($fa-var-file-check); }
+.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); }
+.#{$fa-css-prefix}-file-contract:before { content: fa-content($fa-var-file-contract); }
+.#{$fa-css-prefix}-file-csv:before { content: fa-content($fa-var-file-csv); }
+.#{$fa-css-prefix}-file-download:before { content: fa-content($fa-var-file-download); }
+.#{$fa-css-prefix}-file-edit:before { content: fa-content($fa-var-file-edit); }
+.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); }
+.#{$fa-css-prefix}-file-exclamation:before { content: fa-content($fa-var-file-exclamation); }
+.#{$fa-css-prefix}-file-export:before { content: fa-content($fa-var-file-export); }
+.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); }
+.#{$fa-css-prefix}-file-import:before { content: fa-content($fa-var-file-import); }
+.#{$fa-css-prefix}-file-invoice:before { content: fa-content($fa-var-file-invoice); }
+.#{$fa-css-prefix}-file-invoice-dollar:before { content: fa-content($fa-var-file-invoice-dollar); }
+.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); }
+.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); }
+.#{$fa-css-prefix}-file-minus:before { content: fa-content($fa-var-file-minus); }
+.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); }
+.#{$fa-css-prefix}-file-plus:before { content: fa-content($fa-var-file-plus); }
+.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); }
+.#{$fa-css-prefix}-file-prescription:before { content: fa-content($fa-var-file-prescription); }
+.#{$fa-css-prefix}-file-signature:before { content: fa-content($fa-var-file-signature); }
+.#{$fa-css-prefix}-file-spreadsheet:before { content: fa-content($fa-var-file-spreadsheet); }
+.#{$fa-css-prefix}-file-times:before { content: fa-content($fa-var-file-times); }
+.#{$fa-css-prefix}-file-upload:before { content: fa-content($fa-var-file-upload); }
+.#{$fa-css-prefix}-file-user:before { content: fa-content($fa-var-file-user); }
+.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); }
+.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); }
+.#{$fa-css-prefix}-files-medical:before { content: fa-content($fa-var-files-medical); }
+.#{$fa-css-prefix}-fill:before { content: fa-content($fa-var-fill); }
+.#{$fa-css-prefix}-fill-drip:before { content: fa-content($fa-var-fill-drip); }
+.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); }
+.#{$fa-css-prefix}-film-alt:before { content: fa-content($fa-var-film-alt); }
+.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); }
+.#{$fa-css-prefix}-fingerprint:before { content: fa-content($fa-var-fingerprint); }
+.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); }
+.#{$fa-css-prefix}-fire-alt:before { content: fa-content($fa-var-fire-alt); }
+.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); }
+.#{$fa-css-prefix}-fire-smoke:before { content: fa-content($fa-var-fire-smoke); }
+.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); }
+.#{$fa-css-prefix}-fireplace:before { content: fa-content($fa-var-fireplace); }
+.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); }
+.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); }
+.#{$fa-css-prefix}-first-order-alt:before { content: fa-content($fa-var-first-order-alt); }
+.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); }
+.#{$fa-css-prefix}-fish:before { content: fa-content($fa-var-fish); }
+.#{$fa-css-prefix}-fish-cooked:before { content: fa-content($fa-var-fish-cooked); }
+.#{$fa-css-prefix}-fist-raised:before { content: fa-content($fa-var-fist-raised); }
+.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); }
+.#{$fa-css-prefix}-flag-alt:before { content: fa-content($fa-var-flag-alt); }
+.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); }
+.#{$fa-css-prefix}-flag-usa:before { content: fa-content($fa-var-flag-usa); }
+.#{$fa-css-prefix}-flame:before { content: fa-content($fa-var-flame); }
+.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); }
+.#{$fa-css-prefix}-flask-poison:before { content: fa-content($fa-var-flask-poison); }
+.#{$fa-css-prefix}-flask-potion:before { content: fa-content($fa-var-flask-potion); }
+.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); }
+.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); }
+.#{$fa-css-prefix}-flower:before { content: fa-content($fa-var-flower); }
+.#{$fa-css-prefix}-flower-daffodil:before { content: fa-content($fa-var-flower-daffodil); }
+.#{$fa-css-prefix}-flower-tulip:before { content: fa-content($fa-var-flower-tulip); }
+.#{$fa-css-prefix}-flushed:before { content: fa-content($fa-var-flushed); }
+.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); }
+.#{$fa-css-prefix}-fog:before { content: fa-content($fa-var-fog); }
+.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); }
+.#{$fa-css-prefix}-folder-minus:before { content: fa-content($fa-var-folder-minus); }
+.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); }
+.#{$fa-css-prefix}-folder-plus:before { content: fa-content($fa-var-folder-plus); }
+.#{$fa-css-prefix}-folder-times:before { content: fa-content($fa-var-folder-times); }
+.#{$fa-css-prefix}-folder-tree:before { content: fa-content($fa-var-folder-tree); }
+.#{$fa-css-prefix}-folders:before { content: fa-content($fa-var-folders); }
+.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); }
+.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); }
+.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); }
+.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); }
+.#{$fa-css-prefix}-font-awesome-logo-full:before { content: fa-content($fa-var-font-awesome-logo-full); }
+.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); }
+.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); }
+.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); }
+.#{$fa-css-prefix}-football-helmet:before { content: fa-content($fa-var-football-helmet); }
+.#{$fa-css-prefix}-forklift:before { content: fa-content($fa-var-forklift); }
+.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); }
+.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); }
+.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); }
+.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); }
+.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); }
+.#{$fa-css-prefix}-fragile:before { content: fa-content($fa-var-fragile); }
+.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); }
+.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); }
+.#{$fa-css-prefix}-french-fries:before { content: fa-content($fa-var-french-fries); }
+.#{$fa-css-prefix}-frog:before { content: fa-content($fa-var-frog); }
+.#{$fa-css-prefix}-frosty-head:before { content: fa-content($fa-var-frosty-head); }
+.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); }
+.#{$fa-css-prefix}-frown-open:before { content: fa-content($fa-var-frown-open); }
+.#{$fa-css-prefix}-fulcrum:before { content: fa-content($fa-var-fulcrum); }
+.#{$fa-css-prefix}-function:before { content: fa-content($fa-var-function); }
+.#{$fa-css-prefix}-funnel-dollar:before { content: fa-content($fa-var-funnel-dollar); }
+.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); }
+.#{$fa-css-prefix}-galactic-republic:before { content: fa-content($fa-var-galactic-republic); }
+.#{$fa-css-prefix}-galactic-senate:before { content: fa-content($fa-var-galactic-senate); }
+.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); }
+.#{$fa-css-prefix}-gas-pump:before { content: fa-content($fa-var-gas-pump); }
+.#{$fa-css-prefix}-gas-pump-slash:before { content: fa-content($fa-var-gas-pump-slash); }
+.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); }
+.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); }
+.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); }
+.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); }
+.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); }
+.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); }
+.#{$fa-css-prefix}-ghost:before { content: fa-content($fa-var-ghost); }
+.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); }
+.#{$fa-css-prefix}-gift-card:before { content: fa-content($fa-var-gift-card); }
+.#{$fa-css-prefix}-gifts:before { content: fa-content($fa-var-gifts); }
+.#{$fa-css-prefix}-gingerbread-man:before { content: fa-content($fa-var-gingerbread-man); }
+.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); }
+.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); }
+.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); }
+.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); }
+.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); }
+.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); }
+.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); }
+.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); }
+.#{$fa-css-prefix}-glass:before { content: fa-content($fa-var-glass); }
+.#{$fa-css-prefix}-glass-champagne:before { content: fa-content($fa-var-glass-champagne); }
+.#{$fa-css-prefix}-glass-cheers:before { content: fa-content($fa-var-glass-cheers); }
+.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); }
+.#{$fa-css-prefix}-glass-martini-alt:before { content: fa-content($fa-var-glass-martini-alt); }
+.#{$fa-css-prefix}-glass-whiskey:before { content: fa-content($fa-var-glass-whiskey); }
+.#{$fa-css-prefix}-glass-whiskey-rocks:before { content: fa-content($fa-var-glass-whiskey-rocks); }
+.#{$fa-css-prefix}-glasses:before { content: fa-content($fa-var-glasses); }
+.#{$fa-css-prefix}-glasses-alt:before { content: fa-content($fa-var-glasses-alt); }
+.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); }
+.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); }
+.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); }
+.#{$fa-css-prefix}-globe-africa:before { content: fa-content($fa-var-globe-africa); }
+.#{$fa-css-prefix}-globe-americas:before { content: fa-content($fa-var-globe-americas); }
+.#{$fa-css-prefix}-globe-asia:before { content: fa-content($fa-var-globe-asia); }
+.#{$fa-css-prefix}-globe-europe:before { content: fa-content($fa-var-globe-europe); }
+.#{$fa-css-prefix}-globe-snow:before { content: fa-content($fa-var-globe-snow); }
+.#{$fa-css-prefix}-globe-stand:before { content: fa-content($fa-var-globe-stand); }
+.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); }
+.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); }
+.#{$fa-css-prefix}-golf-club:before { content: fa-content($fa-var-golf-club); }
+.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); }
+.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); }
+.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); }
+.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); }
+.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); }
+.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); }
+.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); }
+.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); }
+.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); }
+.#{$fa-css-prefix}-gopuram:before { content: fa-content($fa-var-gopuram); }
+.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); }
+.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); }
+.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); }
+.#{$fa-css-prefix}-greater-than:before { content: fa-content($fa-var-greater-than); }
+.#{$fa-css-prefix}-greater-than-equal:before { content: fa-content($fa-var-greater-than-equal); }
+.#{$fa-css-prefix}-grimace:before { content: fa-content($fa-var-grimace); }
+.#{$fa-css-prefix}-grin:before { content: fa-content($fa-var-grin); }
+.#{$fa-css-prefix}-grin-alt:before { content: fa-content($fa-var-grin-alt); }
+.#{$fa-css-prefix}-grin-beam:before { content: fa-content($fa-var-grin-beam); }
+.#{$fa-css-prefix}-grin-beam-sweat:before { content: fa-content($fa-var-grin-beam-sweat); }
+.#{$fa-css-prefix}-grin-hearts:before { content: fa-content($fa-var-grin-hearts); }
+.#{$fa-css-prefix}-grin-squint:before { content: fa-content($fa-var-grin-squint); }
+.#{$fa-css-prefix}-grin-squint-tears:before { content: fa-content($fa-var-grin-squint-tears); }
+.#{$fa-css-prefix}-grin-stars:before { content: fa-content($fa-var-grin-stars); }
+.#{$fa-css-prefix}-grin-tears:before { content: fa-content($fa-var-grin-tears); }
+.#{$fa-css-prefix}-grin-tongue:before { content: fa-content($fa-var-grin-tongue); }
+.#{$fa-css-prefix}-grin-tongue-squint:before { content: fa-content($fa-var-grin-tongue-squint); }
+.#{$fa-css-prefix}-grin-tongue-wink:before { content: fa-content($fa-var-grin-tongue-wink); }
+.#{$fa-css-prefix}-grin-wink:before { content: fa-content($fa-var-grin-wink); }
+.#{$fa-css-prefix}-grip-horizontal:before { content: fa-content($fa-var-grip-horizontal); }
+.#{$fa-css-prefix}-grip-lines:before { content: fa-content($fa-var-grip-lines); }
+.#{$fa-css-prefix}-grip-lines-vertical:before { content: fa-content($fa-var-grip-lines-vertical); }
+.#{$fa-css-prefix}-grip-vertical:before { content: fa-content($fa-var-grip-vertical); }
+.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); }
+.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); }
+.#{$fa-css-prefix}-guitar:before { content: fa-content($fa-var-guitar); }
+.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); }
+.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); }
+.#{$fa-css-prefix}-h1:before { content: fa-content($fa-var-h1); }
+.#{$fa-css-prefix}-h2:before { content: fa-content($fa-var-h2); }
+.#{$fa-css-prefix}-h3:before { content: fa-content($fa-var-h3); }
+.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); }
+.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); }
+.#{$fa-css-prefix}-hackerrank:before { content: fa-content($fa-var-hackerrank); }
+.#{$fa-css-prefix}-hamburger:before { content: fa-content($fa-var-hamburger); }
+.#{$fa-css-prefix}-hammer:before { content: fa-content($fa-var-hammer); }
+.#{$fa-css-prefix}-hammer-war:before { content: fa-content($fa-var-hammer-war); }
+.#{$fa-css-prefix}-hamsa:before { content: fa-content($fa-var-hamsa); }
+.#{$fa-css-prefix}-hand-heart:before { content: fa-content($fa-var-hand-heart); }
+.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); }
+.#{$fa-css-prefix}-hand-holding-box:before { content: fa-content($fa-var-hand-holding-box); }
+.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); }
+.#{$fa-css-prefix}-hand-holding-magic:before { content: fa-content($fa-var-hand-holding-magic); }
+.#{$fa-css-prefix}-hand-holding-seedling:before { content: fa-content($fa-var-hand-holding-seedling); }
+.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); }
+.#{$fa-css-prefix}-hand-holding-water:before { content: fa-content($fa-var-hand-holding-water); }
+.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); }
+.#{$fa-css-prefix}-hand-middle-finger:before { content: fa-content($fa-var-hand-middle-finger); }
+.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); }
+.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); }
+.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); }
+.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); }
+.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); }
+.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); }
+.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); }
+.#{$fa-css-prefix}-hand-receiving:before { content: fa-content($fa-var-hand-receiving); }
+.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); }
+.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); }
+.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); }
+.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); }
+.#{$fa-css-prefix}-hands-heart:before { content: fa-content($fa-var-hands-heart); }
+.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); }
+.#{$fa-css-prefix}-hands-usd:before { content: fa-content($fa-var-hands-usd); }
+.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); }
+.#{$fa-css-prefix}-handshake-alt:before { content: fa-content($fa-var-handshake-alt); }
+.#{$fa-css-prefix}-hanukiah:before { content: fa-content($fa-var-hanukiah); }
+.#{$fa-css-prefix}-hard-hat:before { content: fa-content($fa-var-hard-hat); }
+.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); }
+.#{$fa-css-prefix}-hat-santa:before { content: fa-content($fa-var-hat-santa); }
+.#{$fa-css-prefix}-hat-winter:before { content: fa-content($fa-var-hat-winter); }
+.#{$fa-css-prefix}-hat-witch:before { content: fa-content($fa-var-hat-witch); }
+.#{$fa-css-prefix}-hat-wizard:before { content: fa-content($fa-var-hat-wizard); }
+.#{$fa-css-prefix}-haykal:before { content: fa-content($fa-var-haykal); }
+.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); }
+.#{$fa-css-prefix}-head-side:before { content: fa-content($fa-var-head-side); }
+.#{$fa-css-prefix}-head-side-brain:before { content: fa-content($fa-var-head-side-brain); }
+.#{$fa-css-prefix}-head-side-medical:before { content: fa-content($fa-var-head-side-medical); }
+.#{$fa-css-prefix}-head-vr:before { content: fa-content($fa-var-head-vr); }
+.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); }
+.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); }
+.#{$fa-css-prefix}-headphones-alt:before { content: fa-content($fa-var-headphones-alt); }
+.#{$fa-css-prefix}-headset:before { content: fa-content($fa-var-headset); }
+.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); }
+.#{$fa-css-prefix}-heart-broken:before { content: fa-content($fa-var-heart-broken); }
+.#{$fa-css-prefix}-heart-circle:before { content: fa-content($fa-var-heart-circle); }
+.#{$fa-css-prefix}-heart-rate:before { content: fa-content($fa-var-heart-rate); }
+.#{$fa-css-prefix}-heart-square:before { content: fa-content($fa-var-heart-square); }
+.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); }
+.#{$fa-css-prefix}-helicopter:before { content: fa-content($fa-var-helicopter); }
+.#{$fa-css-prefix}-helmet-battle:before { content: fa-content($fa-var-helmet-battle); }
+.#{$fa-css-prefix}-hexagon:before { content: fa-content($fa-var-hexagon); }
+.#{$fa-css-prefix}-highlighter:before { content: fa-content($fa-var-highlighter); }
+.#{$fa-css-prefix}-hiking:before { content: fa-content($fa-var-hiking); }
+.#{$fa-css-prefix}-hippo:before { content: fa-content($fa-var-hippo); }
+.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); }
+.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); }
+.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); }
+.#{$fa-css-prefix}-hockey-mask:before { content: fa-content($fa-var-hockey-mask); }
+.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); }
+.#{$fa-css-prefix}-hockey-sticks:before { content: fa-content($fa-var-hockey-sticks); }
+.#{$fa-css-prefix}-holly-berry:before { content: fa-content($fa-var-holly-berry); }
+.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); }
+.#{$fa-css-prefix}-home-alt:before { content: fa-content($fa-var-home-alt); }
+.#{$fa-css-prefix}-home-heart:before { content: fa-content($fa-var-home-heart); }
+.#{$fa-css-prefix}-home-lg:before { content: fa-content($fa-var-home-lg); }
+.#{$fa-css-prefix}-home-lg-alt:before { content: fa-content($fa-var-home-lg-alt); }
+.#{$fa-css-prefix}-hood-cloak:before { content: fa-content($fa-var-hood-cloak); }
+.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); }
+.#{$fa-css-prefix}-hornbill:before { content: fa-content($fa-var-hornbill); }
+.#{$fa-css-prefix}-horse:before { content: fa-content($fa-var-horse); }
+.#{$fa-css-prefix}-horse-head:before { content: fa-content($fa-var-horse-head); }
+.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); }
+.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); }
+.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); }
+.#{$fa-css-prefix}-hospital-user:before { content: fa-content($fa-var-hospital-user); }
+.#{$fa-css-prefix}-hospitals:before { content: fa-content($fa-var-hospitals); }
+.#{$fa-css-prefix}-hot-tub:before { content: fa-content($fa-var-hot-tub); }
+.#{$fa-css-prefix}-hotdog:before { content: fa-content($fa-var-hotdog); }
+.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-hotel); }
+.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); }
+.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); }
+.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); }
+.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); }
+.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); }
+.#{$fa-css-prefix}-house-damage:before { content: fa-content($fa-var-house-damage); }
+.#{$fa-css-prefix}-house-flood:before { content: fa-content($fa-var-house-flood); }
+.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); }
+.#{$fa-css-prefix}-hryvnia:before { content: fa-content($fa-var-hryvnia); }
+.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); }
+.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); }
+.#{$fa-css-prefix}-humidity:before { content: fa-content($fa-var-humidity); }
+.#{$fa-css-prefix}-hurricane:before { content: fa-content($fa-var-hurricane); }
+.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); }
+.#{$fa-css-prefix}-ice-cream:before { content: fa-content($fa-var-ice-cream); }
+.#{$fa-css-prefix}-ice-skate:before { content: fa-content($fa-var-ice-skate); }
+.#{$fa-css-prefix}-icicles:before { content: fa-content($fa-var-icicles); }
+.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); }
+.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); }
+.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); }
+.#{$fa-css-prefix}-igloo:before { content: fa-content($fa-var-igloo); }
+.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); }
+.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); }
+.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); }
+.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); }
+.#{$fa-css-prefix}-inbox-in:before { content: fa-content($fa-var-inbox-in); }
+.#{$fa-css-prefix}-inbox-out:before { content: fa-content($fa-var-inbox-out); }
+.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); }
+.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); }
+.#{$fa-css-prefix}-industry-alt:before { content: fa-content($fa-var-industry-alt); }
+.#{$fa-css-prefix}-infinity:before { content: fa-content($fa-var-infinity); }
+.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); }
+.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); }
+.#{$fa-css-prefix}-info-square:before { content: fa-content($fa-var-info-square); }
+.#{$fa-css-prefix}-inhaler:before { content: fa-content($fa-var-inhaler); }
+.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); }
+.#{$fa-css-prefix}-integral:before { content: fa-content($fa-var-integral); }
+.#{$fa-css-prefix}-intercom:before { content: fa-content($fa-var-intercom); }
+.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); }
+.#{$fa-css-prefix}-intersection:before { content: fa-content($fa-var-intersection); }
+.#{$fa-css-prefix}-inventory:before { content: fa-content($fa-var-inventory); }
+.#{$fa-css-prefix}-invision:before { content: fa-content($fa-var-invision); }
+.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); }
+.#{$fa-css-prefix}-island-tropical:before { content: fa-content($fa-var-island-tropical); }
+.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); }
+.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); }
+.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); }
+.#{$fa-css-prefix}-jack-o-lantern:before { content: fa-content($fa-var-jack-o-lantern); }
+.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); }
+.#{$fa-css-prefix}-jedi:before { content: fa-content($fa-var-jedi); }
+.#{$fa-css-prefix}-jedi-order:before { content: fa-content($fa-var-jedi-order); }
+.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); }
+.#{$fa-css-prefix}-jira:before { content: fa-content($fa-var-jira); }
+.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); }
+.#{$fa-css-prefix}-joint:before { content: fa-content($fa-var-joint); }
+.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); }
+.#{$fa-css-prefix}-journal-whills:before { content: fa-content($fa-var-journal-whills); }
+.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); }
+.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); }
+.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); }
+.#{$fa-css-prefix}-kaaba:before { content: fa-content($fa-var-kaaba); }
+.#{$fa-css-prefix}-kaggle:before { content: fa-content($fa-var-kaggle); }
+.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); }
+.#{$fa-css-prefix}-key-skeleton:before { content: fa-content($fa-var-key-skeleton); }
+.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); }
+.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); }
+.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); }
+.#{$fa-css-prefix}-keynote:before { content: fa-content($fa-var-keynote); }
+.#{$fa-css-prefix}-khanda:before { content: fa-content($fa-var-khanda); }
+.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); }
+.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); }
+.#{$fa-css-prefix}-kidneys:before { content: fa-content($fa-var-kidneys); }
+.#{$fa-css-prefix}-kiss:before { content: fa-content($fa-var-kiss); }
+.#{$fa-css-prefix}-kiss-beam:before { content: fa-content($fa-var-kiss-beam); }
+.#{$fa-css-prefix}-kiss-wink-heart:before { content: fa-content($fa-var-kiss-wink-heart); }
+.#{$fa-css-prefix}-kite:before { content: fa-content($fa-var-kite); }
+.#{$fa-css-prefix}-kiwi-bird:before { content: fa-content($fa-var-kiwi-bird); }
+.#{$fa-css-prefix}-knife-kitchen:before { content: fa-content($fa-var-knife-kitchen); }
+.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); }
+.#{$fa-css-prefix}-lambda:before { content: fa-content($fa-var-lambda); }
+.#{$fa-css-prefix}-lamp:before { content: fa-content($fa-var-lamp); }
+.#{$fa-css-prefix}-landmark:before { content: fa-content($fa-var-landmark); }
+.#{$fa-css-prefix}-landmark-alt:before { content: fa-content($fa-var-landmark-alt); }
+.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); }
+.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); }
+.#{$fa-css-prefix}-laptop-code:before { content: fa-content($fa-var-laptop-code); }
+.#{$fa-css-prefix}-laptop-medical:before { content: fa-content($fa-var-laptop-medical); }
+.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); }
+.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); }
+.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); }
+.#{$fa-css-prefix}-laugh:before { content: fa-content($fa-var-laugh); }
+.#{$fa-css-prefix}-laugh-beam:before { content: fa-content($fa-var-laugh-beam); }
+.#{$fa-css-prefix}-laugh-squint:before { content: fa-content($fa-var-laugh-squint); }
+.#{$fa-css-prefix}-laugh-wink:before { content: fa-content($fa-var-laugh-wink); }
+.#{$fa-css-prefix}-layer-group:before { content: fa-content($fa-var-layer-group); }
+.#{$fa-css-prefix}-layer-minus:before { content: fa-content($fa-var-layer-minus); }
+.#{$fa-css-prefix}-layer-plus:before { content: fa-content($fa-var-layer-plus); }
+.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); }
+.#{$fa-css-prefix}-leaf-heart:before { content: fa-content($fa-var-leaf-heart); }
+.#{$fa-css-prefix}-leaf-maple:before { content: fa-content($fa-var-leaf-maple); }
+.#{$fa-css-prefix}-leaf-oak:before { content: fa-content($fa-var-leaf-oak); }
+.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); }
+.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); }
+.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); }
+.#{$fa-css-prefix}-less-than:before { content: fa-content($fa-var-less-than); }
+.#{$fa-css-prefix}-less-than-equal:before { content: fa-content($fa-var-less-than-equal); }
+.#{$fa-css-prefix}-level-down:before { content: fa-content($fa-var-level-down); }
+.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); }
+.#{$fa-css-prefix}-level-up:before { content: fa-content($fa-var-level-up); }
+.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); }
+.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); }
+.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); }
+.#{$fa-css-prefix}-lightbulb-dollar:before { content: fa-content($fa-var-lightbulb-dollar); }
+.#{$fa-css-prefix}-lightbulb-exclamation:before { content: fa-content($fa-var-lightbulb-exclamation); }
+.#{$fa-css-prefix}-lightbulb-on:before { content: fa-content($fa-var-lightbulb-on); }
+.#{$fa-css-prefix}-lightbulb-slash:before { content: fa-content($fa-var-lightbulb-slash); }
+.#{$fa-css-prefix}-lights-holiday:before { content: fa-content($fa-var-lights-holiday); }
+.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); }
+.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); }
+.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); }
+.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); }
+.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); }
+.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); }
+.#{$fa-css-prefix}-lips:before { content: fa-content($fa-var-lips); }
+.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); }
+.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); }
+.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); }
+.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); }
+.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); }
+.#{$fa-css-prefix}-location:before { content: fa-content($fa-var-location); }
+.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); }
+.#{$fa-css-prefix}-location-circle:before { content: fa-content($fa-var-location-circle); }
+.#{$fa-css-prefix}-location-slash:before { content: fa-content($fa-var-location-slash); }
+.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); }
+.#{$fa-css-prefix}-lock-alt:before { content: fa-content($fa-var-lock-alt); }
+.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); }
+.#{$fa-css-prefix}-lock-open-alt:before { content: fa-content($fa-var-lock-open-alt); }
+.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); }
+.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); }
+.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); }
+.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); }
+.#{$fa-css-prefix}-long-arrow-down:before { content: fa-content($fa-var-long-arrow-down); }
+.#{$fa-css-prefix}-long-arrow-left:before { content: fa-content($fa-var-long-arrow-left); }
+.#{$fa-css-prefix}-long-arrow-right:before { content: fa-content($fa-var-long-arrow-right); }
+.#{$fa-css-prefix}-long-arrow-up:before { content: fa-content($fa-var-long-arrow-up); }
+.#{$fa-css-prefix}-loveseat:before { content: fa-content($fa-var-loveseat); }
+.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); }
+.#{$fa-css-prefix}-luchador:before { content: fa-content($fa-var-luchador); }
+.#{$fa-css-prefix}-luggage-cart:before { content: fa-content($fa-var-luggage-cart); }
+.#{$fa-css-prefix}-lungs:before { content: fa-content($fa-var-lungs); }
+.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); }
+.#{$fa-css-prefix}-mace:before { content: fa-content($fa-var-mace); }
+.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); }
+.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); }
+.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); }
+.#{$fa-css-prefix}-mail-bulk:before { content: fa-content($fa-var-mail-bulk); }
+.#{$fa-css-prefix}-mailbox:before { content: fa-content($fa-var-mailbox); }
+.#{$fa-css-prefix}-mailchimp:before { content: fa-content($fa-var-mailchimp); }
+.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); }
+.#{$fa-css-prefix}-mandalorian:before { content: fa-content($fa-var-mandalorian); }
+.#{$fa-css-prefix}-mandolin:before { content: fa-content($fa-var-mandolin); }
+.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); }
+.#{$fa-css-prefix}-map-marked:before { content: fa-content($fa-var-map-marked); }
+.#{$fa-css-prefix}-map-marked-alt:before { content: fa-content($fa-var-map-marked-alt); }
+.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); }
+.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); }
+.#{$fa-css-prefix}-map-marker-alt-slash:before { content: fa-content($fa-var-map-marker-alt-slash); }
+.#{$fa-css-prefix}-map-marker-check:before { content: fa-content($fa-var-map-marker-check); }
+.#{$fa-css-prefix}-map-marker-edit:before { content: fa-content($fa-var-map-marker-edit); }
+.#{$fa-css-prefix}-map-marker-exclamation:before { content: fa-content($fa-var-map-marker-exclamation); }
+.#{$fa-css-prefix}-map-marker-minus:before { content: fa-content($fa-var-map-marker-minus); }
+.#{$fa-css-prefix}-map-marker-plus:before { content: fa-content($fa-var-map-marker-plus); }
+.#{$fa-css-prefix}-map-marker-question:before { content: fa-content($fa-var-map-marker-question); }
+.#{$fa-css-prefix}-map-marker-slash:before { content: fa-content($fa-var-map-marker-slash); }
+.#{$fa-css-prefix}-map-marker-smile:before { content: fa-content($fa-var-map-marker-smile); }
+.#{$fa-css-prefix}-map-marker-times:before { content: fa-content($fa-var-map-marker-times); }
+.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); }
+.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); }
+.#{$fa-css-prefix}-markdown:before { content: fa-content($fa-var-markdown); }
+.#{$fa-css-prefix}-marker:before { content: fa-content($fa-var-marker); }
+.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); }
+.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); }
+.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); }
+.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); }
+.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); }
+.#{$fa-css-prefix}-mask:before { content: fa-content($fa-var-mask); }
+.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); }
+.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); }
+.#{$fa-css-prefix}-meat:before { content: fa-content($fa-var-meat); }
+.#{$fa-css-prefix}-medal:before { content: fa-content($fa-var-medal); }
+.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); }
+.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); }
+.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); }
+.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); }
+.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); }
+.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); }
+.#{$fa-css-prefix}-megaphone:before { content: fa-content($fa-var-megaphone); }
+.#{$fa-css-prefix}-megaport:before { content: fa-content($fa-var-megaport); }
+.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); }
+.#{$fa-css-prefix}-meh-blank:before { content: fa-content($fa-var-meh-blank); }
+.#{$fa-css-prefix}-meh-rolling-eyes:before { content: fa-content($fa-var-meh-rolling-eyes); }
+.#{$fa-css-prefix}-memory:before { content: fa-content($fa-var-memory); }
+.#{$fa-css-prefix}-mendeley:before { content: fa-content($fa-var-mendeley); }
+.#{$fa-css-prefix}-menorah:before { content: fa-content($fa-var-menorah); }
+.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); }
+.#{$fa-css-prefix}-meteor:before { content: fa-content($fa-var-meteor); }
+.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); }
+.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); }
+.#{$fa-css-prefix}-microphone-alt:before { content: fa-content($fa-var-microphone-alt); }
+.#{$fa-css-prefix}-microphone-alt-slash:before { content: fa-content($fa-var-microphone-alt-slash); }
+.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); }
+.#{$fa-css-prefix}-microscope:before { content: fa-content($fa-var-microscope); }
+.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); }
+.#{$fa-css-prefix}-mind-share:before { content: fa-content($fa-var-mind-share); }
+.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); }
+.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); }
+.#{$fa-css-prefix}-minus-hexagon:before { content: fa-content($fa-var-minus-hexagon); }
+.#{$fa-css-prefix}-minus-octagon:before { content: fa-content($fa-var-minus-octagon); }
+.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); }
+.#{$fa-css-prefix}-mistletoe:before { content: fa-content($fa-var-mistletoe); }
+.#{$fa-css-prefix}-mitten:before { content: fa-content($fa-var-mitten); }
+.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); }
+.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); }
+.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); }
+.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); }
+.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); }
+.#{$fa-css-prefix}-mobile-android:before { content: fa-content($fa-var-mobile-android); }
+.#{$fa-css-prefix}-mobile-android-alt:before { content: fa-content($fa-var-mobile-android-alt); }
+.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); }
+.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); }
+.#{$fa-css-prefix}-money-bill:before { content: fa-content($fa-var-money-bill); }
+.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); }
+.#{$fa-css-prefix}-money-bill-wave:before { content: fa-content($fa-var-money-bill-wave); }
+.#{$fa-css-prefix}-money-bill-wave-alt:before { content: fa-content($fa-var-money-bill-wave-alt); }
+.#{$fa-css-prefix}-money-check:before { content: fa-content($fa-var-money-check); }
+.#{$fa-css-prefix}-money-check-alt:before { content: fa-content($fa-var-money-check-alt); }
+.#{$fa-css-prefix}-monitor-heart-rate:before { content: fa-content($fa-var-monitor-heart-rate); }
+.#{$fa-css-prefix}-monkey:before { content: fa-content($fa-var-monkey); }
+.#{$fa-css-prefix}-monument:before { content: fa-content($fa-var-monument); }
+.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); }
+.#{$fa-css-prefix}-moon-cloud:before { content: fa-content($fa-var-moon-cloud); }
+.#{$fa-css-prefix}-moon-stars:before { content: fa-content($fa-var-moon-stars); }
+.#{$fa-css-prefix}-mortar-pestle:before { content: fa-content($fa-var-mortar-pestle); }
+.#{$fa-css-prefix}-mosque:before { content: fa-content($fa-var-mosque); }
+.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); }
+.#{$fa-css-prefix}-mountain:before { content: fa-content($fa-var-mountain); }
+.#{$fa-css-prefix}-mountains:before { content: fa-content($fa-var-mountains); }
+.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); }
+.#{$fa-css-prefix}-mug-hot:before { content: fa-content($fa-var-mug-hot); }
+.#{$fa-css-prefix}-mug-marshmallows:before { content: fa-content($fa-var-mug-marshmallows); }
+.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); }
+.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); }
+.#{$fa-css-prefix}-narwhal:before { content: fa-content($fa-var-narwhal); }
+.#{$fa-css-prefix}-neos:before { content: fa-content($fa-var-neos); }
+.#{$fa-css-prefix}-network-wired:before { content: fa-content($fa-var-network-wired); }
+.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); }
+.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); }
+.#{$fa-css-prefix}-nimblr:before { content: fa-content($fa-var-nimblr); }
+.#{$fa-css-prefix}-nintendo-switch:before { content: fa-content($fa-var-nintendo-switch); }
+.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); }
+.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); }
+.#{$fa-css-prefix}-not-equal:before { content: fa-content($fa-var-not-equal); }
+.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); }
+.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); }
+.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); }
+.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); }
+.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); }
+.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); }
+.#{$fa-css-prefix}-octagon:before { content: fa-content($fa-var-octagon); }
+.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); }
+.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); }
+.#{$fa-css-prefix}-oil-can:before { content: fa-content($fa-var-oil-can); }
+.#{$fa-css-prefix}-oil-temp:before { content: fa-content($fa-var-oil-temp); }
+.#{$fa-css-prefix}-old-republic:before { content: fa-content($fa-var-old-republic); }
+.#{$fa-css-prefix}-om:before { content: fa-content($fa-var-om); }
+.#{$fa-css-prefix}-omega:before { content: fa-content($fa-var-omega); }
+.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); }
+.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); }
+.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); }
+.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); }
+.#{$fa-css-prefix}-ornament:before { content: fa-content($fa-var-ornament); }
+.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); }
+.#{$fa-css-prefix}-otter:before { content: fa-content($fa-var-otter); }
+.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); }
+.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); }
+.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); }
+.#{$fa-css-prefix}-pager:before { content: fa-content($fa-var-pager); }
+.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); }
+.#{$fa-css-prefix}-paint-brush-alt:before { content: fa-content($fa-var-paint-brush-alt); }
+.#{$fa-css-prefix}-paint-roller:before { content: fa-content($fa-var-paint-roller); }
+.#{$fa-css-prefix}-palette:before { content: fa-content($fa-var-palette); }
+.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); }
+.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); }
+.#{$fa-css-prefix}-pallet-alt:before { content: fa-content($fa-var-pallet-alt); }
+.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); }
+.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); }
+.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); }
+.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); }
+.#{$fa-css-prefix}-parking:before { content: fa-content($fa-var-parking); }
+.#{$fa-css-prefix}-parking-circle:before { content: fa-content($fa-var-parking-circle); }
+.#{$fa-css-prefix}-parking-circle-slash:before { content: fa-content($fa-var-parking-circle-slash); }
+.#{$fa-css-prefix}-parking-slash:before { content: fa-content($fa-var-parking-slash); }
+.#{$fa-css-prefix}-passport:before { content: fa-content($fa-var-passport); }
+.#{$fa-css-prefix}-pastafarianism:before { content: fa-content($fa-var-pastafarianism); }
+.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); }
+.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); }
+.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); }
+.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); }
+.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); }
+.#{$fa-css-prefix}-paw-alt:before { content: fa-content($fa-var-paw-alt); }
+.#{$fa-css-prefix}-paw-claws:before { content: fa-content($fa-var-paw-claws); }
+.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); }
+.#{$fa-css-prefix}-peace:before { content: fa-content($fa-var-peace); }
+.#{$fa-css-prefix}-pegasus:before { content: fa-content($fa-var-pegasus); }
+.#{$fa-css-prefix}-pen:before { content: fa-content($fa-var-pen); }
+.#{$fa-css-prefix}-pen-alt:before { content: fa-content($fa-var-pen-alt); }
+.#{$fa-css-prefix}-pen-fancy:before { content: fa-content($fa-var-pen-fancy); }
+.#{$fa-css-prefix}-pen-nib:before { content: fa-content($fa-var-pen-nib); }
+.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); }
+.#{$fa-css-prefix}-pencil:before { content: fa-content($fa-var-pencil); }
+.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); }
+.#{$fa-css-prefix}-pencil-paintbrush:before { content: fa-content($fa-var-pencil-paintbrush); }
+.#{$fa-css-prefix}-pencil-ruler:before { content: fa-content($fa-var-pencil-ruler); }
+.#{$fa-css-prefix}-pennant:before { content: fa-content($fa-var-pennant); }
+.#{$fa-css-prefix}-penny-arcade:before { content: fa-content($fa-var-penny-arcade); }
+.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); }
+.#{$fa-css-prefix}-pepper-hot:before { content: fa-content($fa-var-pepper-hot); }
+.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); }
+.#{$fa-css-prefix}-percentage:before { content: fa-content($fa-var-percentage); }
+.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); }
+.#{$fa-css-prefix}-person-booth:before { content: fa-content($fa-var-person-booth); }
+.#{$fa-css-prefix}-person-carry:before { content: fa-content($fa-var-person-carry); }
+.#{$fa-css-prefix}-person-dolly:before { content: fa-content($fa-var-person-dolly); }
+.#{$fa-css-prefix}-person-dolly-empty:before { content: fa-content($fa-var-person-dolly-empty); }
+.#{$fa-css-prefix}-person-sign:before { content: fa-content($fa-var-person-sign); }
+.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); }
+.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); }
+.#{$fa-css-prefix}-phoenix-squadron:before { content: fa-content($fa-var-phoenix-squadron); }
+.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); }
+.#{$fa-css-prefix}-phone-office:before { content: fa-content($fa-var-phone-office); }
+.#{$fa-css-prefix}-phone-plus:before { content: fa-content($fa-var-phone-plus); }
+.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); }
+.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); }
+.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); }
+.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); }
+.#{$fa-css-prefix}-pi:before { content: fa-content($fa-var-pi); }
+.#{$fa-css-prefix}-pie:before { content: fa-content($fa-var-pie); }
+.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); }
+.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); }
+.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); }
+.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); }
+.#{$fa-css-prefix}-pig:before { content: fa-content($fa-var-pig); }
+.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); }
+.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); }
+.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); }
+.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); }
+.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); }
+.#{$fa-css-prefix}-pizza:before { content: fa-content($fa-var-pizza); }
+.#{$fa-css-prefix}-pizza-slice:before { content: fa-content($fa-var-pizza-slice); }
+.#{$fa-css-prefix}-place-of-worship:before { content: fa-content($fa-var-place-of-worship); }
+.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); }
+.#{$fa-css-prefix}-plane-alt:before { content: fa-content($fa-var-plane-alt); }
+.#{$fa-css-prefix}-plane-arrival:before { content: fa-content($fa-var-plane-arrival); }
+.#{$fa-css-prefix}-plane-departure:before { content: fa-content($fa-var-plane-departure); }
+.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); }
+.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); }
+.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); }
+.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); }
+.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); }
+.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); }
+.#{$fa-css-prefix}-plus-hexagon:before { content: fa-content($fa-var-plus-hexagon); }
+.#{$fa-css-prefix}-plus-octagon:before { content: fa-content($fa-var-plus-octagon); }
+.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); }
+.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); }
+.#{$fa-css-prefix}-podium:before { content: fa-content($fa-var-podium); }
+.#{$fa-css-prefix}-podium-star:before { content: fa-content($fa-var-podium-star); }
+.#{$fa-css-prefix}-poll:before { content: fa-content($fa-var-poll); }
+.#{$fa-css-prefix}-poll-h:before { content: fa-content($fa-var-poll-h); }
+.#{$fa-css-prefix}-poll-people:before { content: fa-content($fa-var-poll-people); }
+.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); }
+.#{$fa-css-prefix}-poo-storm:before { content: fa-content($fa-var-poo-storm); }
+.#{$fa-css-prefix}-poop:before { content: fa-content($fa-var-poop); }
+.#{$fa-css-prefix}-popcorn:before { content: fa-content($fa-var-popcorn); }
+.#{$fa-css-prefix}-portrait:before { content: fa-content($fa-var-portrait); }
+.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); }
+.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); }
+.#{$fa-css-prefix}-pray:before { content: fa-content($fa-var-pray); }
+.#{$fa-css-prefix}-praying-hands:before { content: fa-content($fa-var-praying-hands); }
+.#{$fa-css-prefix}-prescription:before { content: fa-content($fa-var-prescription); }
+.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); }
+.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); }
+.#{$fa-css-prefix}-presentation:before { content: fa-content($fa-var-presentation); }
+.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); }
+.#{$fa-css-prefix}-print-search:before { content: fa-content($fa-var-print-search); }
+.#{$fa-css-prefix}-print-slash:before { content: fa-content($fa-var-print-slash); }
+.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); }
+.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); }
+.#{$fa-css-prefix}-project-diagram:before { content: fa-content($fa-var-project-diagram); }
+.#{$fa-css-prefix}-pumpkin:before { content: fa-content($fa-var-pumpkin); }
+.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); }
+.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); }
+.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); }
+.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); }
+.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); }
+.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); }
+.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); }
+.#{$fa-css-prefix}-question-square:before { content: fa-content($fa-var-question-square); }
+.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); }
+.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); }
+.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); }
+.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); }
+.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); }
+.#{$fa-css-prefix}-quran:before { content: fa-content($fa-var-quran); }
+.#{$fa-css-prefix}-r-project:before { content: fa-content($fa-var-r-project); }
+.#{$fa-css-prefix}-rabbit:before { content: fa-content($fa-var-rabbit); }
+.#{$fa-css-prefix}-rabbit-fast:before { content: fa-content($fa-var-rabbit-fast); }
+.#{$fa-css-prefix}-racquet:before { content: fa-content($fa-var-racquet); }
+.#{$fa-css-prefix}-radiation:before { content: fa-content($fa-var-radiation); }
+.#{$fa-css-prefix}-radiation-alt:before { content: fa-content($fa-var-radiation-alt); }
+.#{$fa-css-prefix}-rainbow:before { content: fa-content($fa-var-rainbow); }
+.#{$fa-css-prefix}-raindrops:before { content: fa-content($fa-var-raindrops); }
+.#{$fa-css-prefix}-ram:before { content: fa-content($fa-var-ram); }
+.#{$fa-css-prefix}-ramp-loading:before { content: fa-content($fa-var-ramp-loading); }
+.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); }
+.#{$fa-css-prefix}-raspberry-pi:before { content: fa-content($fa-var-raspberry-pi); }
+.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); }
+.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); }
+.#{$fa-css-prefix}-reacteurope:before { content: fa-content($fa-var-reacteurope); }
+.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); }
+.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); }
+.#{$fa-css-prefix}-receipt:before { content: fa-content($fa-var-receipt); }
+.#{$fa-css-prefix}-rectangle-landscape:before { content: fa-content($fa-var-rectangle-landscape); }
+.#{$fa-css-prefix}-rectangle-portrait:before { content: fa-content($fa-var-rectangle-portrait); }
+.#{$fa-css-prefix}-rectangle-wide:before { content: fa-content($fa-var-rectangle-wide); }
+.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); }
+.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); }
+.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); }
+.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); }
+.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); }
+.#{$fa-css-prefix}-redhat:before { content: fa-content($fa-var-redhat); }
+.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); }
+.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); }
+.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); }
+.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); }
+.#{$fa-css-prefix}-repeat:before { content: fa-content($fa-var-repeat); }
+.#{$fa-css-prefix}-repeat-1:before { content: fa-content($fa-var-repeat-1); }
+.#{$fa-css-prefix}-repeat-1-alt:before { content: fa-content($fa-var-repeat-1-alt); }
+.#{$fa-css-prefix}-repeat-alt:before { content: fa-content($fa-var-repeat-alt); }
+.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); }
+.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); }
+.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); }
+.#{$fa-css-prefix}-republican:before { content: fa-content($fa-var-republican); }
+.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); }
+.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); }
+.#{$fa-css-prefix}-restroom:before { content: fa-content($fa-var-restroom); }
+.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); }
+.#{$fa-css-prefix}-retweet-alt:before { content: fa-content($fa-var-retweet-alt); }
+.#{$fa-css-prefix}-rev:before { content: fa-content($fa-var-rev); }
+.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); }
+.#{$fa-css-prefix}-ring:before { content: fa-content($fa-var-ring); }
+.#{$fa-css-prefix}-rings-wedding:before { content: fa-content($fa-var-rings-wedding); }
+.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); }
+.#{$fa-css-prefix}-robot:before { content: fa-content($fa-var-robot); }
+.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); }
+.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); }
+.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); }
+.#{$fa-css-prefix}-route:before { content: fa-content($fa-var-route); }
+.#{$fa-css-prefix}-route-highway:before { content: fa-content($fa-var-route-highway); }
+.#{$fa-css-prefix}-route-interstate:before { content: fa-content($fa-var-route-interstate); }
+.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); }
+.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); }
+.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); }
+.#{$fa-css-prefix}-ruler:before { content: fa-content($fa-var-ruler); }
+.#{$fa-css-prefix}-ruler-combined:before { content: fa-content($fa-var-ruler-combined); }
+.#{$fa-css-prefix}-ruler-horizontal:before { content: fa-content($fa-var-ruler-horizontal); }
+.#{$fa-css-prefix}-ruler-triangle:before { content: fa-content($fa-var-ruler-triangle); }
+.#{$fa-css-prefix}-ruler-vertical:before { content: fa-content($fa-var-ruler-vertical); }
+.#{$fa-css-prefix}-running:before { content: fa-content($fa-var-running); }
+.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); }
+.#{$fa-css-prefix}-rv:before { content: fa-content($fa-var-rv); }
+.#{$fa-css-prefix}-sack:before { content: fa-content($fa-var-sack); }
+.#{$fa-css-prefix}-sack-dollar:before { content: fa-content($fa-var-sack-dollar); }
+.#{$fa-css-prefix}-sad-cry:before { content: fa-content($fa-var-sad-cry); }
+.#{$fa-css-prefix}-sad-tear:before { content: fa-content($fa-var-sad-tear); }
+.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); }
+.#{$fa-css-prefix}-salad:before { content: fa-content($fa-var-salad); }
+.#{$fa-css-prefix}-sandwich:before { content: fa-content($fa-var-sandwich); }
+.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); }
+.#{$fa-css-prefix}-satellite:before { content: fa-content($fa-var-satellite); }
+.#{$fa-css-prefix}-satellite-dish:before { content: fa-content($fa-var-satellite-dish); }
+.#{$fa-css-prefix}-sausage:before { content: fa-content($fa-var-sausage); }
+.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); }
+.#{$fa-css-prefix}-scalpel:before { content: fa-content($fa-var-scalpel); }
+.#{$fa-css-prefix}-scalpel-path:before { content: fa-content($fa-var-scalpel-path); }
+.#{$fa-css-prefix}-scanner:before { content: fa-content($fa-var-scanner); }
+.#{$fa-css-prefix}-scanner-keyboard:before { content: fa-content($fa-var-scanner-keyboard); }
+.#{$fa-css-prefix}-scanner-touchscreen:before { content: fa-content($fa-var-scanner-touchscreen); }
+.#{$fa-css-prefix}-scarecrow:before { content: fa-content($fa-var-scarecrow); }
+.#{$fa-css-prefix}-scarf:before { content: fa-content($fa-var-scarf); }
+.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); }
+.#{$fa-css-prefix}-school:before { content: fa-content($fa-var-school); }
+.#{$fa-css-prefix}-screwdriver:before { content: fa-content($fa-var-screwdriver); }
+.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); }
+.#{$fa-css-prefix}-scroll:before { content: fa-content($fa-var-scroll); }
+.#{$fa-css-prefix}-scroll-old:before { content: fa-content($fa-var-scroll-old); }
+.#{$fa-css-prefix}-scrubber:before { content: fa-content($fa-var-scrubber); }
+.#{$fa-css-prefix}-scythe:before { content: fa-content($fa-var-scythe); }
+.#{$fa-css-prefix}-sd-card:before { content: fa-content($fa-var-sd-card); }
+.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); }
+.#{$fa-css-prefix}-search-dollar:before { content: fa-content($fa-var-search-dollar); }
+.#{$fa-css-prefix}-search-location:before { content: fa-content($fa-var-search-location); }
+.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); }
+.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); }
+.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); }
+.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); }
+.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); }
+.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); }
+.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); }
+.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); }
+.#{$fa-css-prefix}-shapes:before { content: fa-content($fa-var-shapes); }
+.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); }
+.#{$fa-css-prefix}-share-all:before { content: fa-content($fa-var-share-all); }
+.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); }
+.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); }
+.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); }
+.#{$fa-css-prefix}-sheep:before { content: fa-content($fa-var-sheep); }
+.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); }
+.#{$fa-css-prefix}-shield:before { content: fa-content($fa-var-shield); }
+.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); }
+.#{$fa-css-prefix}-shield-check:before { content: fa-content($fa-var-shield-check); }
+.#{$fa-css-prefix}-shield-cross:before { content: fa-content($fa-var-shield-cross); }
+.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); }
+.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); }
+.#{$fa-css-prefix}-shipping-timed:before { content: fa-content($fa-var-shipping-timed); }
+.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); }
+.#{$fa-css-prefix}-shish-kebab:before { content: fa-content($fa-var-shish-kebab); }
+.#{$fa-css-prefix}-shoe-prints:before { content: fa-content($fa-var-shoe-prints); }
+.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); }
+.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); }
+.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); }
+.#{$fa-css-prefix}-shopware:before { content: fa-content($fa-var-shopware); }
+.#{$fa-css-prefix}-shovel:before { content: fa-content($fa-var-shovel); }
+.#{$fa-css-prefix}-shovel-snow:before { content: fa-content($fa-var-shovel-snow); }
+.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); }
+.#{$fa-css-prefix}-shredder:before { content: fa-content($fa-var-shredder); }
+.#{$fa-css-prefix}-shuttle-van:before { content: fa-content($fa-var-shuttle-van); }
+.#{$fa-css-prefix}-shuttlecock:before { content: fa-content($fa-var-shuttlecock); }
+.#{$fa-css-prefix}-sickle:before { content: fa-content($fa-var-sickle); }
+.#{$fa-css-prefix}-sigma:before { content: fa-content($fa-var-sigma); }
+.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); }
+.#{$fa-css-prefix}-sign-in:before { content: fa-content($fa-var-sign-in); }
+.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); }
+.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); }
+.#{$fa-css-prefix}-sign-out:before { content: fa-content($fa-var-sign-out); }
+.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); }
+.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); }
+.#{$fa-css-prefix}-signal-1:before { content: fa-content($fa-var-signal-1); }
+.#{$fa-css-prefix}-signal-2:before { content: fa-content($fa-var-signal-2); }
+.#{$fa-css-prefix}-signal-3:before { content: fa-content($fa-var-signal-3); }
+.#{$fa-css-prefix}-signal-4:before { content: fa-content($fa-var-signal-4); }
+.#{$fa-css-prefix}-signal-alt:before { content: fa-content($fa-var-signal-alt); }
+.#{$fa-css-prefix}-signal-alt-1:before { content: fa-content($fa-var-signal-alt-1); }
+.#{$fa-css-prefix}-signal-alt-2:before { content: fa-content($fa-var-signal-alt-2); }
+.#{$fa-css-prefix}-signal-alt-3:before { content: fa-content($fa-var-signal-alt-3); }
+.#{$fa-css-prefix}-signal-alt-slash:before { content: fa-content($fa-var-signal-alt-slash); }
+.#{$fa-css-prefix}-signal-slash:before { content: fa-content($fa-var-signal-slash); }
+.#{$fa-css-prefix}-signature:before { content: fa-content($fa-var-signature); }
+.#{$fa-css-prefix}-sim-card:before { content: fa-content($fa-var-sim-card); }
+.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); }
+.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); }
+.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); }
+.#{$fa-css-prefix}-sith:before { content: fa-content($fa-var-sith); }
+.#{$fa-css-prefix}-skating:before { content: fa-content($fa-var-skating); }
+.#{$fa-css-prefix}-skeleton:before { content: fa-content($fa-var-skeleton); }
+.#{$fa-css-prefix}-sketch:before { content: fa-content($fa-var-sketch); }
+.#{$fa-css-prefix}-ski-jump:before { content: fa-content($fa-var-ski-jump); }
+.#{$fa-css-prefix}-ski-lift:before { content: fa-content($fa-var-ski-lift); }
+.#{$fa-css-prefix}-skiing:before { content: fa-content($fa-var-skiing); }
+.#{$fa-css-prefix}-skiing-nordic:before { content: fa-content($fa-var-skiing-nordic); }
+.#{$fa-css-prefix}-skull:before { content: fa-content($fa-var-skull); }
+.#{$fa-css-prefix}-skull-crossbones:before { content: fa-content($fa-var-skull-crossbones); }
+.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); }
+.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); }
+.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); }
+.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); }
+.#{$fa-css-prefix}-slash:before { content: fa-content($fa-var-slash); }
+.#{$fa-css-prefix}-sledding:before { content: fa-content($fa-var-sledding); }
+.#{$fa-css-prefix}-sleigh:before { content: fa-content($fa-var-sleigh); }
+.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); }
+.#{$fa-css-prefix}-sliders-h-square:before { content: fa-content($fa-var-sliders-h-square); }
+.#{$fa-css-prefix}-sliders-v:before { content: fa-content($fa-var-sliders-v); }
+.#{$fa-css-prefix}-sliders-v-square:before { content: fa-content($fa-var-sliders-v-square); }
+.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); }
+.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); }
+.#{$fa-css-prefix}-smile-beam:before { content: fa-content($fa-var-smile-beam); }
+.#{$fa-css-prefix}-smile-plus:before { content: fa-content($fa-var-smile-plus); }
+.#{$fa-css-prefix}-smile-wink:before { content: fa-content($fa-var-smile-wink); }
+.#{$fa-css-prefix}-smog:before { content: fa-content($fa-var-smog); }
+.#{$fa-css-prefix}-smoke:before { content: fa-content($fa-var-smoke); }
+.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); }
+.#{$fa-css-prefix}-smoking-ban:before { content: fa-content($fa-var-smoking-ban); }
+.#{$fa-css-prefix}-sms:before { content: fa-content($fa-var-sms); }
+.#{$fa-css-prefix}-snake:before { content: fa-content($fa-var-snake); }
+.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); }
+.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); }
+.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); }
+.#{$fa-css-prefix}-snow-blowing:before { content: fa-content($fa-var-snow-blowing); }
+.#{$fa-css-prefix}-snowboarding:before { content: fa-content($fa-var-snowboarding); }
+.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); }
+.#{$fa-css-prefix}-snowflakes:before { content: fa-content($fa-var-snowflakes); }
+.#{$fa-css-prefix}-snowman:before { content: fa-content($fa-var-snowman); }
+.#{$fa-css-prefix}-snowmobile:before { content: fa-content($fa-var-snowmobile); }
+.#{$fa-css-prefix}-snowplow:before { content: fa-content($fa-var-snowplow); }
+.#{$fa-css-prefix}-socks:before { content: fa-content($fa-var-socks); }
+.#{$fa-css-prefix}-solar-panel:before { content: fa-content($fa-var-solar-panel); }
+.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); }
+.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); }
+.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); }
+.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); }
+.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); }
+.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); }
+.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); }
+.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); }
+.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); }
+.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); }
+.#{$fa-css-prefix}-soup:before { content: fa-content($fa-var-soup); }
+.#{$fa-css-prefix}-sourcetree:before { content: fa-content($fa-var-sourcetree); }
+.#{$fa-css-prefix}-spa:before { content: fa-content($fa-var-spa); }
+.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); }
+.#{$fa-css-prefix}-spade:before { content: fa-content($fa-var-spade); }
+.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); }
+.#{$fa-css-prefix}-spider:before { content: fa-content($fa-var-spider); }
+.#{$fa-css-prefix}-spider-black-widow:before { content: fa-content($fa-var-spider-black-widow); }
+.#{$fa-css-prefix}-spider-web:before { content: fa-content($fa-var-spider-web); }
+.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); }
+.#{$fa-css-prefix}-spinner-third:before { content: fa-content($fa-var-spinner-third); }
+.#{$fa-css-prefix}-splotch:before { content: fa-content($fa-var-splotch); }
+.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); }
+.#{$fa-css-prefix}-spray-can:before { content: fa-content($fa-var-spray-can); }
+.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); }
+.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); }
+.#{$fa-css-prefix}-square-root:before { content: fa-content($fa-var-square-root); }
+.#{$fa-css-prefix}-square-root-alt:before { content: fa-content($fa-var-square-root-alt); }
+.#{$fa-css-prefix}-squarespace:before { content: fa-content($fa-var-squarespace); }
+.#{$fa-css-prefix}-squirrel:before { content: fa-content($fa-var-squirrel); }
+.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); }
+.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); }
+.#{$fa-css-prefix}-staff:before { content: fa-content($fa-var-staff); }
+.#{$fa-css-prefix}-stamp:before { content: fa-content($fa-var-stamp); }
+.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); }
+.#{$fa-css-prefix}-star-and-crescent:before { content: fa-content($fa-var-star-and-crescent); }
+.#{$fa-css-prefix}-star-christmas:before { content: fa-content($fa-var-star-christmas); }
+.#{$fa-css-prefix}-star-exclamation:before { content: fa-content($fa-var-star-exclamation); }
+.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); }
+.#{$fa-css-prefix}-star-half-alt:before { content: fa-content($fa-var-star-half-alt); }
+.#{$fa-css-prefix}-star-of-david:before { content: fa-content($fa-var-star-of-david); }
+.#{$fa-css-prefix}-star-of-life:before { content: fa-content($fa-var-star-of-life); }
+.#{$fa-css-prefix}-stars:before { content: fa-content($fa-var-stars); }
+.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); }
+.#{$fa-css-prefix}-steak:before { content: fa-content($fa-var-steak); }
+.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); }
+.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); }
+.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); }
+.#{$fa-css-prefix}-steering-wheel:before { content: fa-content($fa-var-steering-wheel); }
+.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); }
+.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); }
+.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); }
+.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); }
+.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); }
+.#{$fa-css-prefix}-stocking:before { content: fa-content($fa-var-stocking); }
+.#{$fa-css-prefix}-stomach:before { content: fa-content($fa-var-stomach); }
+.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); }
+.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); }
+.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); }
+.#{$fa-css-prefix}-store:before { content: fa-content($fa-var-store); }
+.#{$fa-css-prefix}-store-alt:before { content: fa-content($fa-var-store-alt); }
+.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); }
+.#{$fa-css-prefix}-stream:before { content: fa-content($fa-var-stream); }
+.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); }
+.#{$fa-css-prefix}-stretcher:before { content: fa-content($fa-var-stretcher); }
+.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); }
+.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); }
+.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); }
+.#{$fa-css-prefix}-stroopwafel:before { content: fa-content($fa-var-stroopwafel); }
+.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); }
+.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); }
+.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); }
+.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); }
+.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); }
+.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); }
+.#{$fa-css-prefix}-suitcase-rolling:before { content: fa-content($fa-var-suitcase-rolling); }
+.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); }
+.#{$fa-css-prefix}-sun-cloud:before { content: fa-content($fa-var-sun-cloud); }
+.#{$fa-css-prefix}-sun-dust:before { content: fa-content($fa-var-sun-dust); }
+.#{$fa-css-prefix}-sun-haze:before { content: fa-content($fa-var-sun-haze); }
+.#{$fa-css-prefix}-sunrise:before { content: fa-content($fa-var-sunrise); }
+.#{$fa-css-prefix}-sunset:before { content: fa-content($fa-var-sunset); }
+.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); }
+.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); }
+.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); }
+.#{$fa-css-prefix}-surprise:before { content: fa-content($fa-var-surprise); }
+.#{$fa-css-prefix}-suse:before { content: fa-content($fa-var-suse); }
+.#{$fa-css-prefix}-swatchbook:before { content: fa-content($fa-var-swatchbook); }
+.#{$fa-css-prefix}-swimmer:before { content: fa-content($fa-var-swimmer); }
+.#{$fa-css-prefix}-swimming-pool:before { content: fa-content($fa-var-swimming-pool); }
+.#{$fa-css-prefix}-sword:before { content: fa-content($fa-var-sword); }
+.#{$fa-css-prefix}-swords:before { content: fa-content($fa-var-swords); }
+.#{$fa-css-prefix}-synagogue:before { content: fa-content($fa-var-synagogue); }
+.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); }
+.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); }
+.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); }
+.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); }
+.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); }
+.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); }
+.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); }
+.#{$fa-css-prefix}-tablet-android:before { content: fa-content($fa-var-tablet-android); }
+.#{$fa-css-prefix}-tablet-android-alt:before { content: fa-content($fa-var-tablet-android-alt); }
+.#{$fa-css-prefix}-tablet-rugged:before { content: fa-content($fa-var-tablet-rugged); }
+.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); }
+.#{$fa-css-prefix}-tachometer:before { content: fa-content($fa-var-tachometer); }
+.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); }
+.#{$fa-css-prefix}-tachometer-alt-average:before { content: fa-content($fa-var-tachometer-alt-average); }
+.#{$fa-css-prefix}-tachometer-alt-fast:before { content: fa-content($fa-var-tachometer-alt-fast); }
+.#{$fa-css-prefix}-tachometer-alt-fastest:before { content: fa-content($fa-var-tachometer-alt-fastest); }
+.#{$fa-css-prefix}-tachometer-alt-slow:before { content: fa-content($fa-var-tachometer-alt-slow); }
+.#{$fa-css-prefix}-tachometer-alt-slowest:before { content: fa-content($fa-var-tachometer-alt-slowest); }
+.#{$fa-css-prefix}-tachometer-average:before { content: fa-content($fa-var-tachometer-average); }
+.#{$fa-css-prefix}-tachometer-fast:before { content: fa-content($fa-var-tachometer-fast); }
+.#{$fa-css-prefix}-tachometer-fastest:before { content: fa-content($fa-var-tachometer-fastest); }
+.#{$fa-css-prefix}-tachometer-slow:before { content: fa-content($fa-var-tachometer-slow); }
+.#{$fa-css-prefix}-tachometer-slowest:before { content: fa-content($fa-var-tachometer-slowest); }
+.#{$fa-css-prefix}-taco:before { content: fa-content($fa-var-taco); }
+.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); }
+.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); }
+.#{$fa-css-prefix}-tally:before { content: fa-content($fa-var-tally); }
+.#{$fa-css-prefix}-tanakh:before { content: fa-content($fa-var-tanakh); }
+.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); }
+.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); }
+.#{$fa-css-prefix}-tasks-alt:before { content: fa-content($fa-var-tasks-alt); }
+.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); }
+.#{$fa-css-prefix}-teamspeak:before { content: fa-content($fa-var-teamspeak); }
+.#{$fa-css-prefix}-teeth:before { content: fa-content($fa-var-teeth); }
+.#{$fa-css-prefix}-teeth-open:before { content: fa-content($fa-var-teeth-open); }
+.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); }
+.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); }
+.#{$fa-css-prefix}-temperature-frigid:before { content: fa-content($fa-var-temperature-frigid); }
+.#{$fa-css-prefix}-temperature-high:before { content: fa-content($fa-var-temperature-high); }
+.#{$fa-css-prefix}-temperature-hot:before { content: fa-content($fa-var-temperature-hot); }
+.#{$fa-css-prefix}-temperature-low:before { content: fa-content($fa-var-temperature-low); }
+.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); }
+.#{$fa-css-prefix}-tenge:before { content: fa-content($fa-var-tenge); }
+.#{$fa-css-prefix}-tennis-ball:before { content: fa-content($fa-var-tennis-ball); }
+.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); }
+.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); }
+.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); }
+.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); }
+.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); }
+.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); }
+.#{$fa-css-prefix}-the-red-yeti:before { content: fa-content($fa-var-the-red-yeti); }
+.#{$fa-css-prefix}-theater-masks:before { content: fa-content($fa-var-theater-masks); }
+.#{$fa-css-prefix}-themeco:before { content: fa-content($fa-var-themeco); }
+.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); }
+.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); }
+.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); }
+.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); }
+.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); }
+.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); }
+.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); }
+.#{$fa-css-prefix}-theta:before { content: fa-content($fa-var-theta); }
+.#{$fa-css-prefix}-think-peaks:before { content: fa-content($fa-var-think-peaks); }
+.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); }
+.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); }
+.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); }
+.#{$fa-css-prefix}-thunderstorm:before { content: fa-content($fa-var-thunderstorm); }
+.#{$fa-css-prefix}-thunderstorm-moon:before { content: fa-content($fa-var-thunderstorm-moon); }
+.#{$fa-css-prefix}-thunderstorm-sun:before { content: fa-content($fa-var-thunderstorm-sun); }
+.#{$fa-css-prefix}-ticket:before { content: fa-content($fa-var-ticket); }
+.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); }
+.#{$fa-css-prefix}-tilde:before { content: fa-content($fa-var-tilde); }
+.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); }
+.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); }
+.#{$fa-css-prefix}-times-hexagon:before { content: fa-content($fa-var-times-hexagon); }
+.#{$fa-css-prefix}-times-octagon:before { content: fa-content($fa-var-times-octagon); }
+.#{$fa-css-prefix}-times-square:before { content: fa-content($fa-var-times-square); }
+.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); }
+.#{$fa-css-prefix}-tint-slash:before { content: fa-content($fa-var-tint-slash); }
+.#{$fa-css-prefix}-tire:before { content: fa-content($fa-var-tire); }
+.#{$fa-css-prefix}-tire-flat:before { content: fa-content($fa-var-tire-flat); }
+.#{$fa-css-prefix}-tire-pressure-warning:before { content: fa-content($fa-var-tire-pressure-warning); }
+.#{$fa-css-prefix}-tire-rugged:before { content: fa-content($fa-var-tire-rugged); }
+.#{$fa-css-prefix}-tired:before { content: fa-content($fa-var-tired); }
+.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); }
+.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); }
+.#{$fa-css-prefix}-toilet:before { content: fa-content($fa-var-toilet); }
+.#{$fa-css-prefix}-toilet-paper:before { content: fa-content($fa-var-toilet-paper); }
+.#{$fa-css-prefix}-toilet-paper-alt:before { content: fa-content($fa-var-toilet-paper-alt); }
+.#{$fa-css-prefix}-tombstone:before { content: fa-content($fa-var-tombstone); }
+.#{$fa-css-prefix}-tombstone-alt:before { content: fa-content($fa-var-tombstone-alt); }
+.#{$fa-css-prefix}-toolbox:before { content: fa-content($fa-var-toolbox); }
+.#{$fa-css-prefix}-tools:before { content: fa-content($fa-var-tools); }
+.#{$fa-css-prefix}-tooth:before { content: fa-content($fa-var-tooth); }
+.#{$fa-css-prefix}-toothbrush:before { content: fa-content($fa-var-toothbrush); }
+.#{$fa-css-prefix}-torah:before { content: fa-content($fa-var-torah); }
+.#{$fa-css-prefix}-torii-gate:before { content: fa-content($fa-var-torii-gate); }
+.#{$fa-css-prefix}-tornado:before { content: fa-content($fa-var-tornado); }
+.#{$fa-css-prefix}-tractor:before { content: fa-content($fa-var-tractor); }
+.#{$fa-css-prefix}-trade-federation:before { content: fa-content($fa-var-trade-federation); }
+.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); }
+.#{$fa-css-prefix}-traffic-cone:before { content: fa-content($fa-var-traffic-cone); }
+.#{$fa-css-prefix}-traffic-light:before { content: fa-content($fa-var-traffic-light); }
+.#{$fa-css-prefix}-traffic-light-go:before { content: fa-content($fa-var-traffic-light-go); }
+.#{$fa-css-prefix}-traffic-light-slow:before { content: fa-content($fa-var-traffic-light-slow); }
+.#{$fa-css-prefix}-traffic-light-stop:before { content: fa-content($fa-var-traffic-light-stop); }
+.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); }
+.#{$fa-css-prefix}-tram:before { content: fa-content($fa-var-tram); }
+.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); }
+.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); }
+.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); }
+.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); }
+.#{$fa-css-prefix}-trash-restore:before { content: fa-content($fa-var-trash-restore); }
+.#{$fa-css-prefix}-trash-restore-alt:before { content: fa-content($fa-var-trash-restore-alt); }
+.#{$fa-css-prefix}-treasure-chest:before { content: fa-content($fa-var-treasure-chest); }
+.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); }
+.#{$fa-css-prefix}-tree-alt:before { content: fa-content($fa-var-tree-alt); }
+.#{$fa-css-prefix}-tree-christmas:before { content: fa-content($fa-var-tree-christmas); }
+.#{$fa-css-prefix}-tree-decorated:before { content: fa-content($fa-var-tree-decorated); }
+.#{$fa-css-prefix}-tree-large:before { content: fa-content($fa-var-tree-large); }
+.#{$fa-css-prefix}-tree-palm:before { content: fa-content($fa-var-tree-palm); }
+.#{$fa-css-prefix}-trees:before { content: fa-content($fa-var-trees); }
+.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); }
+.#{$fa-css-prefix}-triangle:before { content: fa-content($fa-var-triangle); }
+.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); }
+.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); }
+.#{$fa-css-prefix}-trophy-alt:before { content: fa-content($fa-var-trophy-alt); }
+.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); }
+.#{$fa-css-prefix}-truck-container:before { content: fa-content($fa-var-truck-container); }
+.#{$fa-css-prefix}-truck-couch:before { content: fa-content($fa-var-truck-couch); }
+.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); }
+.#{$fa-css-prefix}-truck-monster:before { content: fa-content($fa-var-truck-monster); }
+.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); }
+.#{$fa-css-prefix}-truck-pickup:before { content: fa-content($fa-var-truck-pickup); }
+.#{$fa-css-prefix}-truck-plow:before { content: fa-content($fa-var-truck-plow); }
+.#{$fa-css-prefix}-truck-ramp:before { content: fa-content($fa-var-truck-ramp); }
+.#{$fa-css-prefix}-tshirt:before { content: fa-content($fa-var-tshirt); }
+.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); }
+.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); }
+.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); }
+.#{$fa-css-prefix}-turkey:before { content: fa-content($fa-var-turkey); }
+.#{$fa-css-prefix}-turtle:before { content: fa-content($fa-var-turtle); }
+.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); }
+.#{$fa-css-prefix}-tv-retro:before { content: fa-content($fa-var-tv-retro); }
+.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); }
+.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); }
+.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); }
+.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); }
+.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); }
+.#{$fa-css-prefix}-ubuntu:before { content: fa-content($fa-var-ubuntu); }
+.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); }
+.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); }
+.#{$fa-css-prefix}-umbrella-beach:before { content: fa-content($fa-var-umbrella-beach); }
+.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); }
+.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); }
+.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); }
+.#{$fa-css-prefix}-unicorn:before { content: fa-content($fa-var-unicorn); }
+.#{$fa-css-prefix}-union:before { content: fa-content($fa-var-union); }
+.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); }
+.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); }
+.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); }
+.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); }
+.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); }
+.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); }
+.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); }
+.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); }
+.#{$fa-css-prefix}-ups:before { content: fa-content($fa-var-ups); }
+.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); }
+.#{$fa-css-prefix}-usd-circle:before { content: fa-content($fa-var-usd-circle); }
+.#{$fa-css-prefix}-usd-square:before { content: fa-content($fa-var-usd-square); }
+.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); }
+.#{$fa-css-prefix}-user-alt:before { content: fa-content($fa-var-user-alt); }
+.#{$fa-css-prefix}-user-alt-slash:before { content: fa-content($fa-var-user-alt-slash); }
+.#{$fa-css-prefix}-user-astronaut:before { content: fa-content($fa-var-user-astronaut); }
+.#{$fa-css-prefix}-user-chart:before { content: fa-content($fa-var-user-chart); }
+.#{$fa-css-prefix}-user-check:before { content: fa-content($fa-var-user-check); }
+.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); }
+.#{$fa-css-prefix}-user-clock:before { content: fa-content($fa-var-user-clock); }
+.#{$fa-css-prefix}-user-cog:before { content: fa-content($fa-var-user-cog); }
+.#{$fa-css-prefix}-user-crown:before { content: fa-content($fa-var-user-crown); }
+.#{$fa-css-prefix}-user-edit:before { content: fa-content($fa-var-user-edit); }
+.#{$fa-css-prefix}-user-friends:before { content: fa-content($fa-var-user-friends); }
+.#{$fa-css-prefix}-user-graduate:before { content: fa-content($fa-var-user-graduate); }
+.#{$fa-css-prefix}-user-hard-hat:before { content: fa-content($fa-var-user-hard-hat); }
+.#{$fa-css-prefix}-user-headset:before { content: fa-content($fa-var-user-headset); }
+.#{$fa-css-prefix}-user-injured:before { content: fa-content($fa-var-user-injured); }
+.#{$fa-css-prefix}-user-lock:before { content: fa-content($fa-var-user-lock); }
+.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); }
+.#{$fa-css-prefix}-user-md-chat:before { content: fa-content($fa-var-user-md-chat); }
+.#{$fa-css-prefix}-user-minus:before { content: fa-content($fa-var-user-minus); }
+.#{$fa-css-prefix}-user-ninja:before { content: fa-content($fa-var-user-ninja); }
+.#{$fa-css-prefix}-user-nurse:before { content: fa-content($fa-var-user-nurse); }
+.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); }
+.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); }
+.#{$fa-css-prefix}-user-shield:before { content: fa-content($fa-var-user-shield); }
+.#{$fa-css-prefix}-user-slash:before { content: fa-content($fa-var-user-slash); }
+.#{$fa-css-prefix}-user-tag:before { content: fa-content($fa-var-user-tag); }
+.#{$fa-css-prefix}-user-tie:before { content: fa-content($fa-var-user-tie); }
+.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); }
+.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); }
+.#{$fa-css-prefix}-users-class:before { content: fa-content($fa-var-users-class); }
+.#{$fa-css-prefix}-users-cog:before { content: fa-content($fa-var-users-cog); }
+.#{$fa-css-prefix}-users-crown:before { content: fa-content($fa-var-users-crown); }
+.#{$fa-css-prefix}-users-medical:before { content: fa-content($fa-var-users-medical); }
+.#{$fa-css-prefix}-usps:before { content: fa-content($fa-var-usps); }
+.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); }
+.#{$fa-css-prefix}-utensil-fork:before { content: fa-content($fa-var-utensil-fork); }
+.#{$fa-css-prefix}-utensil-knife:before { content: fa-content($fa-var-utensil-knife); }
+.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); }
+.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); }
+.#{$fa-css-prefix}-utensils-alt:before { content: fa-content($fa-var-utensils-alt); }
+.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); }
+.#{$fa-css-prefix}-value-absolute:before { content: fa-content($fa-var-value-absolute); }
+.#{$fa-css-prefix}-vector-square:before { content: fa-content($fa-var-vector-square); }
+.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); }
+.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); }
+.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); }
+.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); }
+.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); }
+.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); }
+.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); }
+.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); }
+.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); }
+.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); }
+.#{$fa-css-prefix}-video-plus:before { content: fa-content($fa-var-video-plus); }
+.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); }
+.#{$fa-css-prefix}-vihara:before { content: fa-content($fa-var-vihara); }
+.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); }
+.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); }
+.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); }
+.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); }
+.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); }
+.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); }
+.#{$fa-css-prefix}-volcano:before { content: fa-content($fa-var-volcano); }
+.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); }
+.#{$fa-css-prefix}-volume:before { content: fa-content($fa-var-volume); }
+.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); }
+.#{$fa-css-prefix}-volume-mute:before { content: fa-content($fa-var-volume-mute); }
+.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); }
+.#{$fa-css-prefix}-volume-slash:before { content: fa-content($fa-var-volume-slash); }
+.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); }
+.#{$fa-css-prefix}-vote-nay:before { content: fa-content($fa-var-vote-nay); }
+.#{$fa-css-prefix}-vote-yea:before { content: fa-content($fa-var-vote-yea); }
+.#{$fa-css-prefix}-vr-cardboard:before { content: fa-content($fa-var-vr-cardboard); }
+.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); }
+.#{$fa-css-prefix}-walker:before { content: fa-content($fa-var-walker); }
+.#{$fa-css-prefix}-walking:before { content: fa-content($fa-var-walking); }
+.#{$fa-css-prefix}-wallet:before { content: fa-content($fa-var-wallet); }
+.#{$fa-css-prefix}-wand:before { content: fa-content($fa-var-wand); }
+.#{$fa-css-prefix}-wand-magic:before { content: fa-content($fa-var-wand-magic); }
+.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); }
+.#{$fa-css-prefix}-warehouse-alt:before { content: fa-content($fa-var-warehouse-alt); }
+.#{$fa-css-prefix}-watch:before { content: fa-content($fa-var-watch); }
+.#{$fa-css-prefix}-watch-fitness:before { content: fa-content($fa-var-watch-fitness); }
+.#{$fa-css-prefix}-water:before { content: fa-content($fa-var-water); }
+.#{$fa-css-prefix}-water-lower:before { content: fa-content($fa-var-water-lower); }
+.#{$fa-css-prefix}-water-rise:before { content: fa-content($fa-var-water-rise); }
+.#{$fa-css-prefix}-webcam:before { content: fa-content($fa-var-webcam); }
+.#{$fa-css-prefix}-webcam-slash:before { content: fa-content($fa-var-webcam-slash); }
+.#{$fa-css-prefix}-weebly:before { content: fa-content($fa-var-weebly); }
+.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); }
+.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); }
+.#{$fa-css-prefix}-weight-hanging:before { content: fa-content($fa-var-weight-hanging); }
+.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); }
+.#{$fa-css-prefix}-whale:before { content: fa-content($fa-var-whale); }
+.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); }
+.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); }
+.#{$fa-css-prefix}-wheat:before { content: fa-content($fa-var-wheat); }
+.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); }
+.#{$fa-css-prefix}-whistle:before { content: fa-content($fa-var-whistle); }
+.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); }
+.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); }
+.#{$fa-css-prefix}-wifi-1:before { content: fa-content($fa-var-wifi-1); }
+.#{$fa-css-prefix}-wifi-2:before { content: fa-content($fa-var-wifi-2); }
+.#{$fa-css-prefix}-wifi-slash:before { content: fa-content($fa-var-wifi-slash); }
+.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); }
+.#{$fa-css-prefix}-wind:before { content: fa-content($fa-var-wind); }
+.#{$fa-css-prefix}-wind-warning:before { content: fa-content($fa-var-wind-warning); }
+.#{$fa-css-prefix}-window:before { content: fa-content($fa-var-window); }
+.#{$fa-css-prefix}-window-alt:before { content: fa-content($fa-var-window-alt); }
+.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); }
+.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); }
+.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); }
+.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); }
+.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); }
+.#{$fa-css-prefix}-windsock:before { content: fa-content($fa-var-windsock); }
+.#{$fa-css-prefix}-wine-bottle:before { content: fa-content($fa-var-wine-bottle); }
+.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); }
+.#{$fa-css-prefix}-wine-glass-alt:before { content: fa-content($fa-var-wine-glass-alt); }
+.#{$fa-css-prefix}-wix:before { content: fa-content($fa-var-wix); }
+.#{$fa-css-prefix}-wizards-of-the-coast:before { content: fa-content($fa-var-wizards-of-the-coast); }
+.#{$fa-css-prefix}-wolf-pack-battalion:before { content: fa-content($fa-var-wolf-pack-battalion); }
+.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); }
+.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); }
+.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); }
+.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); }
+.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); }
+.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); }
+.#{$fa-css-prefix}-wpressr:before { content: fa-content($fa-var-wpressr); }
+.#{$fa-css-prefix}-wreath:before { content: fa-content($fa-var-wreath); }
+.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); }
+.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); }
+.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); }
+.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); }
+.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); }
+.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); }
+.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); }
+.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); }
+.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); }
+.#{$fa-css-prefix}-yarn:before { content: fa-content($fa-var-yarn); }
+.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); }
+.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); }
+.#{$fa-css-prefix}-yin-yang:before { content: fa-content($fa-var-yin-yang); }
+.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); }
+.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); }
+.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); }
+.#{$fa-css-prefix}-zhihu:before { content: fa-content($fa-var-zhihu); }
diff --git a/src/scss/vendor/fontawesome/_larger.scss b/src/scss/vendor/fontawesome/_larger.scss
new file mode 100644
index 00000000..27c2ad5f
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_larger.scss
@@ -0,0 +1,23 @@
+// 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: -.0667em;
+}
+
+.#{$fa-css-prefix}-xs {
+ font-size: .75em;
+}
+
+.#{$fa-css-prefix}-sm {
+ font-size: .875em;
+}
+
+@for $i from 1 through 10 {
+ .#{$fa-css-prefix}-#{$i}x {
+ font-size: $i * 1em;
+ }
+}
diff --git a/src/scss/vendor/fontawesome/_list.scss b/src/scss/vendor/fontawesome/_list.scss
new file mode 100644
index 00000000..8ebf3333
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_list.scss
@@ -0,0 +1,18 @@
+// List Icons
+// -------------------------
+
+.#{$fa-css-prefix}-ul {
+ list-style-type: none;
+ margin-left: $fa-li-width * 5/4;
+ padding-left: 0;
+
+ > li { position: relative; }
+}
+
+.#{$fa-css-prefix}-li {
+ left: -$fa-li-width;
+ position: absolute;
+ text-align: center;
+ width: $fa-li-width;
+ line-height: inherit;
+}
diff --git a/src/scss/vendor/fontawesome/_mixins.scss b/src/scss/vendor/fontawesome/_mixins.scss
new file mode 100644
index 00000000..50a2e9f1
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_mixins.scss
@@ -0,0 +1,57 @@
+// Mixins
+// --------------------------
+
+@mixin fa-icon {
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ display: inline-block;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ line-height: 1;
+ vertical-align: -.125em;
+}
+
+@mixin fa-icon-rotate($degrees, $rotation) {
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
+ transform: rotate($degrees);
+}
+
+@mixin fa-icon-flip($horiz, $vert, $rotation) {
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
+ 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 {
+ border: 0;
+ clip: rect(0, 0, 0, 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+// 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 {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto;
+ }
+}
diff --git a/src/scss/vendor/fontawesome/_rotated-flipped.scss b/src/scss/vendor/fontawesome/_rotated-flipped.scss
new file mode 100644
index 00000000..164d9721
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_rotated-flipped.scss
@@ -0,0 +1,24 @@
+// 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); }
+.#{$fa-css-prefix}-flip-both, .#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }
+
+// Hook for IE8-9
+// -------------------------
+
+:root {
+ .#{$fa-css-prefix}-rotate-90,
+ .#{$fa-css-prefix}-rotate-180,
+ .#{$fa-css-prefix}-rotate-270,
+ .#{$fa-css-prefix}-flip-horizontal,
+ .#{$fa-css-prefix}-flip-vertical,
+ .#{$fa-css-prefix}-flip-both {
+ filter: none;
+ }
+}
diff --git a/src/scss/vendor/fontawesome/_screen-reader.scss b/src/scss/vendor/fontawesome/_screen-reader.scss
new file mode 100644
index 00000000..5d0ab262
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_screen-reader.scss
@@ -0,0 +1,5 @@
+// Screen Readers
+// -------------------------
+
+.sr-only { @include sr-only; }
+.sr-only-focusable { @include sr-only-focusable; }
diff --git a/src/scss/vendor/fontawesome/_shims.scss b/src/scss/vendor/fontawesome/_shims.scss
new file mode 100644
index 00000000..d45a3b77
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_shims.scss
@@ -0,0 +1,2062 @@
+.#{$fa-css-prefix}.#{$fa-css-prefix}-glass:before { content: fa-content($fa-var-glass-martini); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-meetup {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o:before { content: fa-content($fa-var-star); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-remove:before { content: fa-content($fa-var-times); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-close:before { content: fa-content($fa-var-times); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gear:before { content: fa-content($fa-var-cog); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o:before { content: fa-content($fa-var-trash-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o:before { content: fa-content($fa-var-file); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o:before { content: fa-content($fa-var-clock); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down:before { content: fa-content($fa-var-arrow-alt-circle-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up:before { content: fa-content($fa-var-arrow-alt-circle-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o:before { content: fa-content($fa-var-play-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-repeat:before { content: fa-content($fa-var-redo); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-right:before { content: fa-content($fa-var-redo); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-refresh:before { content: fa-content($fa-var-sync); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-list-alt {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dedent:before { content: fa-content($fa-var-outdent); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-video-camera:before { content: fa-content($fa-var-video); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o:before { content: fa-content($fa-var-image); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-photo {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-photo:before { content: fa-content($fa-var-image); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-image {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil:before { content: fa-content($fa-var-pencil-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o:before { content: fa-content($fa-var-edit); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-share-square-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-share-square-o:before { content: fa-content($fa-var-share-square); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o:before { content: fa-content($fa-var-check-square); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows:before { content: fa-content($fa-var-arrows-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o:before { content: fa-content($fa-var-times-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o:before { content: fa-content($fa-var-check-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-forward:before { content: fa-content($fa-var-share); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-eye {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-eye-slash {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-warning:before { content: fa-content($fa-var-exclamation-triangle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-v:before { content: fa-content($fa-var-arrows-alt-v); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-h:before { content: fa-content($fa-var-arrows-alt-h); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart:before { content: fa-content($fa-var-chart-bar); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart-o:before { content: fa-content($fa-var-chart-bar); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gears:before { content: fa-content($fa-var-cogs); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up:before { content: fa-content($fa-var-thumbs-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down:before { content: fa-content($fa-var-thumbs-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o:before { content: fa-content($fa-var-heart); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-out:before { content: fa-content($fa-var-sign-out-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square:before { content: fa-content($fa-var-linkedin); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thumb-tack:before { content: fa-content($fa-var-thumbtack); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link:before { content: fa-content($fa-var-external-link-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-in:before { content: fa-content($fa-var-sign-in-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-github-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o:before { content: fa-content($fa-var-lemon); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o:before { content: fa-content($fa-var-square); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o:before { content: fa-content($fa-var-bookmark); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook-f); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-github {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-feed:before { content: fa-content($fa-var-rss); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o:before { content: fa-content($fa-var-hdd); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right:before { content: fa-content($fa-var-hand-point-right); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left:before { content: fa-content($fa-var-hand-point-left); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up:before { content: fa-content($fa-var-hand-point-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down:before { content: fa-content($fa-var-hand-point-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-group:before { content: fa-content($fa-var-users); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-chain:before { content: fa-content($fa-var-link); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-scissors:before { content: fa-content($fa-var-cut); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o:before { content: fa-content($fa-var-copy); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o:before { content: fa-content($fa-var-save); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-navicon:before { content: fa-content($fa-var-bars); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-reorder:before { content: fa-content($fa-var-bars); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus-g); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-money {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-money:before { content: fa-content($fa-var-money-bill-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-unsorted:before { content: fa-content($fa-var-sort); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-desc:before { content: fa-content($fa-var-sort-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-asc:before { content: fa-content($fa-var-sort-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin-in); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-left:before { content: fa-content($fa-var-undo); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-legal:before { content: fa-content($fa-var-gavel); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-tachometer:before { content: fa-content($fa-var-tachometer-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dashboard:before { content: fa-content($fa-var-tachometer-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o:before { content: fa-content($fa-var-comment); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o:before { content: fa-content($fa-var-comments); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-flash:before { content: fa-content($fa-var-bolt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-clipboard {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-paste {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-clipboard); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o:before { content: fa-content($fa-var-lightbulb); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-exchange:before { content: fa-content($fa-var-exchange-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-download:before { content: fa-content($fa-var-cloud-download-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-upload:before { content: fa-content($fa-var-cloud-upload-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o:before { content: fa-content($fa-var-bell); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cutlery:before { content: fa-content($fa-var-utensils); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o:before { content: fa-content($fa-var-file-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o:before { content: fa-content($fa-var-building); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o:before { content: fa-content($fa-var-hospital); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile-phone:before { content: fa-content($fa-var-mobile-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o:before { content: fa-content($fa-var-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply:before { content: fa-content($fa-var-reply); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-github-alt {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o:before { content: fa-content($fa-var-folder); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o:before { content: fa-content($fa-var-folder-open); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o:before { content: fa-content($fa-var-smile); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o:before { content: fa-content($fa-var-frown); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o:before { content: fa-content($fa-var-meh); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o:before { content: fa-content($fa-var-keyboard); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o:before { content: fa-content($fa-var-flag); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply-all:before { content: fa-content($fa-var-reply-all); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o:before { content: fa-content($fa-var-star-half); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty:before { content: fa-content($fa-var-star-half); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full:before { content: fa-content($fa-var-star-half); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-code-fork:before { content: fa-content($fa-var-code-branch); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-chain-broken:before { content: fa-content($fa-var-unlink); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-shield:before { content: fa-content($fa-var-shield-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o:before { content: fa-content($fa-var-calendar); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-maxcdn {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-html5 {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-css3 {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ticket:before { content: fa-content($fa-var-ticket-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o:before { content: fa-content($fa-var-minus-square); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-level-up:before { content: fa-content($fa-var-level-up-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-level-down:before { content: fa-content($fa-var-level-down-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square:before { content: fa-content($fa-var-pen-square); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link-square:before { content: fa-content($fa-var-external-link-square-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-compass {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down:before { content: fa-content($fa-var-caret-square-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down:before { content: fa-content($fa-var-caret-square-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up:before { content: fa-content($fa-var-caret-square-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up:before { content: fa-content($fa-var-caret-square-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right:before { content: fa-content($fa-var-caret-square-right); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right:before { content: fa-content($fa-var-caret-square-right); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-eur:before { content: fa-content($fa-var-euro-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-euro:before { content: fa-content($fa-var-euro-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gbp:before { content: fa-content($fa-var-pound-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-usd:before { content: fa-content($fa-var-dollar-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dollar:before { content: fa-content($fa-var-dollar-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-inr:before { content: fa-content($fa-var-rupee-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-rupee:before { content: fa-content($fa-var-rupee-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-jpy:before { content: fa-content($fa-var-yen-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cny:before { content: fa-content($fa-var-yen-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-rmb:before { content: fa-content($fa-var-yen-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yen:before { content: fa-content($fa-var-yen-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-rub:before { content: fa-content($fa-var-ruble-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ruble:before { content: fa-content($fa-var-ruble-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-rouble:before { content: fa-content($fa-var-ruble-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-krw:before { content: fa-content($fa-var-won-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-won:before { content: fa-content($fa-var-won-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-btc {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-btc); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text:before { content: fa-content($fa-var-file-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-asc:before { content: fa-content($fa-var-sort-alpha-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-desc:before { content: fa-content($fa-var-sort-alpha-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-asc:before { content: fa-content($fa-var-sort-amount-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-desc:before { content: fa-content($fa-var-sort-amount-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-asc:before { content: fa-content($fa-var-sort-numeric-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-desc:before { content: fa-content($fa-var-sort-numeric-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-xing {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-xing-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play:before { content: fa-content($fa-var-youtube); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dropbox {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-overflow {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-instagram {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-flickr {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-adn {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square:before { content: fa-content($fa-var-bitbucket); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-down:before { content: fa-content($fa-var-long-arrow-alt-down); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-up:before { content: fa-content($fa-var-long-arrow-alt-up); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-left:before { content: fa-content($fa-var-long-arrow-alt-left); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-right:before { content: fa-content($fa-var-long-arrow-alt-right); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-apple {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-windows {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-android {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-linux {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dribbble {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-skype {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-foursquare {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-trello {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gratipay {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip:before { content: fa-content($fa-var-gratipay); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o:before { content: fa-content($fa-var-sun); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o:before { content: fa-content($fa-var-moon); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vk {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-weibo {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-renren {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pagelines {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-exchange {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right:before { content: fa-content($fa-var-arrow-alt-circle-right); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left:before { content: fa-content($fa-var-arrow-alt-circle-left); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left:before { content: fa-content($fa-var-caret-square-left); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left:before { content: fa-content($fa-var-caret-square-left); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o:before { content: fa-content($fa-var-dot-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-try:before { content: fa-content($fa-var-lira-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-turkish-lira:before { content: fa-content($fa-var-lira-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o:before { content: fa-content($fa-var-plus-square); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-slack {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wordpress {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-openid {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-institution:before { content: fa-content($fa-var-university); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bank:before { content: fa-content($fa-var-university); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-mortar-board:before { content: fa-content($fa-var-graduation-cap); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yahoo {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon-circle {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-delicious {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-digg {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-pp {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-alt {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-drupal {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-joomla {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-spoon:before { content: fa-content($fa-var-utensil-spoon); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-behance {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-behance-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-steam {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-steam-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-automobile:before { content: fa-content($fa-var-car); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cab:before { content: fa-content($fa-var-taxi); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o:before { content: fa-content($fa-var-envelope); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-deviantart {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-soundcloud {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o:before { content: fa-content($fa-var-file-pdf); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o:before { content: fa-content($fa-var-file-word); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o:before { content: fa-content($fa-var-file-excel); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o:before { content: fa-content($fa-var-file-powerpoint); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o:before { content: fa-content($fa-var-file-image); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o:before { content: fa-content($fa-var-file-image); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o:before { content: fa-content($fa-var-file-image); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o:before { content: fa-content($fa-var-file-archive); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o:before { content: fa-content($fa-var-file-archive); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o:before { content: fa-content($fa-var-file-audio); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o:before { content: fa-content($fa-var-file-audio); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o:before { content: fa-content($fa-var-file-video); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o:before { content: fa-content($fa-var-file-video); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o:before { content: fa-content($fa-var-file-code); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vine {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-codepen {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-jsfiddle {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-life-ring {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-life-bouy {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-life-bouy:before { content: fa-content($fa-var-life-ring); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-life-buoy {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-life-buoy:before { content: fa-content($fa-var-life-ring); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-life-saver {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-life-saver:before { content: fa-content($fa-var-life-ring); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-support {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-support:before { content: fa-content($fa-var-life-ring); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o-notch:before { content: fa-content($fa-var-circle-notch); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-rebel {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ra {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ra:before { content: fa-content($fa-var-rebel); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance:before { content: fa-content($fa-var-rebel); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-empire {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ge {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ge:before { content: fa-content($fa-var-empire); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-git-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-git {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hacker-news {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square:before { content: fa-content($fa-var-hacker-news); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square:before { content: fa-content($fa-var-hacker-news); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-tencent-weibo {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-qq {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-weixin {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat:before { content: fa-content($fa-var-weixin); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-send:before { content: fa-content($fa-var-paper-plane); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o:before { content: fa-content($fa-var-paper-plane); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o:before { content: fa-content($fa-var-paper-plane); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin:before { content: fa-content($fa-var-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-header:before { content: fa-content($fa-var-heading); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sliders:before { content: fa-content($fa-var-sliders-h); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o:before { content: fa-content($fa-var-futbol); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o:before { content: fa-content($fa-var-futbol); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-slideshare {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-twitch {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yelp {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o:before { content: fa-content($fa-var-newspaper); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-paypal {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-wallet {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-visa {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-mastercard {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-discover {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-amex {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-paypal {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-stripe {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o:before { content: fa-content($fa-var-bell-slash); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash-alt); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-copyright {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-eyedropper:before { content: fa-content($fa-var-eye-dropper); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-area-chart:before { content: fa-content($fa-var-chart-area); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pie-chart:before { content: fa-content($fa-var-chart-pie); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-line-chart:before { content: fa-content($fa-var-chart-line); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ioxhost {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-angellist {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc:before { content: fa-content($fa-var-closed-captioning); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ils:before { content: fa-content($fa-var-shekel-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-shekel:before { content: fa-content($fa-var-shekel-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sheqel:before { content: fa-content($fa-var-shekel-sign); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-meanpath {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-meanpath:before { content: fa-content($fa-var-font-awesome); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-buysellads {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-connectdevelop {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-dashcube {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-forumbee {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-leanpub {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sellsy {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-shirtsinbulk {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-simplybuilt {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-skyatlas {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond:before { content: fa-content($fa-var-gem); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-intersex:before { content: fa-content($fa-var-transgender); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official:before { content: fa-content($fa-var-facebook); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-p {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-whatsapp {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-bed); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-viacoin {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-medium {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yc {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yc:before { content: fa-content($fa-var-y-combinator); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-optin-monster {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-opencart {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-expeditedssl {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-4:before { content: fa-content($fa-var-battery-full); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-battery:before { content: fa-content($fa-var-battery-full); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-3:before { content: fa-content($fa-var-battery-three-quarters); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-2:before { content: fa-content($fa-var-battery-half); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-1:before { content: fa-content($fa-var-battery-quarter); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-0:before { content: fa-content($fa-var-battery-empty); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-object-group {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-object-ungroup {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o:before { content: fa-content($fa-var-sticky-note); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-jcb {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-diners-club {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-clone {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-o:before { content: fa-content($fa-var-hourglass); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-1:before { content: fa-content($fa-var-hourglass-start); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-2:before { content: fa-content($fa-var-hourglass-half); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-3:before { content: fa-content($fa-var-hourglass-end); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o:before { content: fa-content($fa-var-hand-rock); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o:before { content: fa-content($fa-var-hand-rock); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o:before { content: fa-content($fa-var-hand-paper); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o:before { content: fa-content($fa-var-hand-paper); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o:before { content: fa-content($fa-var-hand-scissors); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o:before { content: fa-content($fa-var-hand-lizard); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o:before { content: fa-content($fa-var-hand-spock); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o:before { content: fa-content($fa-var-hand-pointer); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o:before { content: fa-content($fa-var-hand-peace); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-registered {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-creative-commons {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gg {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gg-circle {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-tripadvisor {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-get-pocket {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wikipedia-w {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-safari {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-chrome {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-firefox {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-opera {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-internet-explorer {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-television:before { content: fa-content($fa-var-tv); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-contao {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-500px {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-amazon {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o:before { content: fa-content($fa-var-calendar-plus); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o:before { content: fa-content($fa-var-calendar-minus); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o:before { content: fa-content($fa-var-calendar-times); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o:before { content: fa-content($fa-var-calendar-check); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o:before { content: fa-content($fa-var-map); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting:before { content: fa-content($fa-var-comment-dots); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o:before { content: fa-content($fa-var-comment-dots); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-houzz {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo-v); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-black-tie {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-fonticons {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-alien {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-edge {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card-alt:before { content: fa-content($fa-var-credit-card); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-codiepie {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-modx {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-fort-awesome {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-usb {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-product-hunt {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-mixcloud {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-scribd {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o:before { content: fa-content($fa-var-pause-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o:before { content: fa-content($fa-var-stop-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth-b {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-gitlab {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wpbeginner {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wpforms {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-envira {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt:before { content: fa-content($fa-var-accessible-icon); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o:before { content: fa-content($fa-var-question-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-volume-control-phone:before { content: fa-content($fa-var-phone-volume); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-asl-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-deafness:before { content: fa-content($fa-var-deaf); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-hard-of-hearing:before { content: fa-content($fa-var-deaf); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-glide {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-glide-g {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-signing:before { content: fa-content($fa-var-sign-language); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-ghost {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-square {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-first-order {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-yoast {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-themeisle {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official:before { content: fa-content($fa-var-google-plus); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle:before { content: fa-content($fa-var-google-plus); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-font-awesome {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-fa {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-fa:before { content: fa-content($fa-var-font-awesome); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o:before { content: fa-content($fa-var-handshake); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o:before { content: fa-content($fa-var-envelope-open); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-linode {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o:before { content: fa-content($fa-var-address-book); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard:before { content: fa-content($fa-var-address-card); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o:before { content: fa-content($fa-var-address-card); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o:before { content: fa-content($fa-var-address-card); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o:before { content: fa-content($fa-var-user-circle); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o:before { content: fa-content($fa-var-user); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-id-badge {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license:before { content: fa-content($fa-var-id-card); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o:before { content: fa-content($fa-var-id-card); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o:before { content: fa-content($fa-var-id-card); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-quora {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-free-code-camp {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-telegram {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-4:before { content: fa-content($fa-var-thermometer-full); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer-full); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-3:before { content: fa-content($fa-var-thermometer-three-quarters); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-2:before { content: fa-content($fa-var-thermometer-half); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-1:before { content: fa-content($fa-var-thermometer-quarter); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-0:before { content: fa-content($fa-var-thermometer-empty); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bathtub:before { content: fa-content($fa-var-bath); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-s15:before { content: fa-content($fa-var-bath); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-window-maximize {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-window-restore {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle:before { content: fa-content($fa-var-window-close); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o:before { content: fa-content($fa-var-window-close); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o:before { content: fa-content($fa-var-window-close); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-bandcamp {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-grav {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-etsy {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-imdb {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-ravelry {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast:before { content: fa-content($fa-var-sellcast); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
+.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o:before { content: fa-content($fa-var-snowflake); }
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-superpowers {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-wpexplorer {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
+.#{$fa-css-prefix}.#{$fa-css-prefix}-spotify {
+ font-family: 'Font Awesome 5 Brands';
+ font-weight: 400;
+}
+
diff --git a/src/scss/vendor/fontawesome/_stacked.scss b/src/scss/vendor/fontawesome/_stacked.scss
new file mode 100644
index 00000000..ae7ef4e8
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_stacked.scss
@@ -0,0 +1,31 @@
+// Stacked Icons
+// -------------------------
+
+.#{$fa-css-prefix}-stack {
+ display: inline-block;
+ height: 2em;
+ line-height: 2em;
+ position: relative;
+ vertical-align: middle;
+ width: ($fa-fw-width*2);
+}
+
+.#{$fa-css-prefix}-stack-1x,
+.#{$fa-css-prefix}-stack-2x {
+ left: 0;
+ position: absolute;
+ text-align: center;
+ width: 100%;
+}
+
+.#{$fa-css-prefix}-stack-1x {
+ line-height: inherit;
+}
+
+.#{$fa-css-prefix}-stack-2x {
+ font-size: 2em;
+}
+
+.#{$fa-css-prefix}-inverse {
+ color: $fa-inverse;
+}
diff --git a/src/scss/vendor/fontawesome/_variables.scss b/src/scss/vendor/fontawesome/_variables.scss
new file mode 100644
index 00000000..b6d9e3ea
--- /dev/null
+++ b/src/scss/vendor/fontawesome/_variables.scss
@@ -0,0 +1,1989 @@
+// Variables
+// --------------------------
+
+$fa-font-path: "../fonts" !default;
+$fa-font-size-base: 16px !default;
+$fa-font-display: auto;
+$fa-css-prefix: fa !default;
+$fa-version: "5.7.1" !default;
+$fa-border-color: #eee !default;
+$fa-inverse: #fff !default;
+$fa-li-width: 2em !default;
+$fa-fw-width: (20em / 16);
+
+// Convenience function used to set content property
+@function fa-content($fa-var) {
+ @return unquote("\"#{ $fa-var }\"");
+}
+
+$fa-var-500px: \f26e;
+$fa-var-abacus: \f640;
+$fa-var-accessible-icon: \f368;
+$fa-var-accusoft: \f369;
+$fa-var-acorn: \f6ae;
+$fa-var-acquisitions-incorporated: \f6af;
+$fa-var-ad: \f641;
+$fa-var-address-book: \f2b9;
+$fa-var-address-card: \f2bb;
+$fa-var-adjust: \f042;
+$fa-var-adn: \f170;
+$fa-var-adobe: \f778;
+$fa-var-adversal: \f36a;
+$fa-var-affiliatetheme: \f36b;
+$fa-var-air-freshener: \f5d0;
+$fa-var-alarm-clock: \f34e;
+$fa-var-algolia: \f36c;
+$fa-var-alicorn: \f6b0;
+$fa-var-align-center: \f037;
+$fa-var-align-justify: \f039;
+$fa-var-align-left: \f036;
+$fa-var-align-right: \f038;
+$fa-var-alipay: \f642;
+$fa-var-allergies: \f461;
+$fa-var-amazon: \f270;
+$fa-var-amazon-pay: \f42c;
+$fa-var-ambulance: \f0f9;
+$fa-var-american-sign-language-interpreting: \f2a3;
+$fa-var-amilia: \f36d;
+$fa-var-analytics: \f643;
+$fa-var-anchor: \f13d;
+$fa-var-android: \f17b;
+$fa-var-angel: \f779;
+$fa-var-angellist: \f209;
+$fa-var-angle-double-down: \f103;
+$fa-var-angle-double-left: \f100;
+$fa-var-angle-double-right: \f101;
+$fa-var-angle-double-up: \f102;
+$fa-var-angle-down: \f107;
+$fa-var-angle-left: \f104;
+$fa-var-angle-right: \f105;
+$fa-var-angle-up: \f106;
+$fa-var-angry: \f556;
+$fa-var-angrycreative: \f36e;
+$fa-var-angular: \f420;
+$fa-var-ankh: \f644;
+$fa-var-app-store: \f36f;
+$fa-var-app-store-ios: \f370;
+$fa-var-apper: \f371;
+$fa-var-apple: \f179;
+$fa-var-apple-alt: \f5d1;
+$fa-var-apple-crate: \f6b1;
+$fa-var-apple-pay: \f415;
+$fa-var-archive: \f187;
+$fa-var-archway: \f557;
+$fa-var-arrow-alt-circle-down: \f358;
+$fa-var-arrow-alt-circle-left: \f359;
+$fa-var-arrow-alt-circle-right: \f35a;
+$fa-var-arrow-alt-circle-up: \f35b;
+$fa-var-arrow-alt-down: \f354;
+$fa-var-arrow-alt-from-bottom: \f346;
+$fa-var-arrow-alt-from-left: \f347;
+$fa-var-arrow-alt-from-right: \f348;
+$fa-var-arrow-alt-from-top: \f349;
+$fa-var-arrow-alt-left: \f355;
+$fa-var-arrow-alt-right: \f356;
+$fa-var-arrow-alt-square-down: \f350;
+$fa-var-arrow-alt-square-left: \f351;
+$fa-var-arrow-alt-square-right: \f352;
+$fa-var-arrow-alt-square-up: \f353;
+$fa-var-arrow-alt-to-bottom: \f34a;
+$fa-var-arrow-alt-to-left: \f34b;
+$fa-var-arrow-alt-to-right: \f34c;
+$fa-var-arrow-alt-to-top: \f34d;
+$fa-var-arrow-alt-up: \f357;
+$fa-var-arrow-circle-down: \f0ab;
+$fa-var-arrow-circle-left: \f0a8;
+$fa-var-arrow-circle-right: \f0a9;
+$fa-var-arrow-circle-up: \f0aa;
+$fa-var-arrow-down: \f063;
+$fa-var-arrow-from-bottom: \f342;
+$fa-var-arrow-from-left: \f343;
+$fa-var-arrow-from-right: \f344;
+$fa-var-arrow-from-top: \f345;
+$fa-var-arrow-left: \f060;
+$fa-var-arrow-right: \f061;
+$fa-var-arrow-square-down: \f339;
+$fa-var-arrow-square-left: \f33a;
+$fa-var-arrow-square-right: \f33b;
+$fa-var-arrow-square-up: \f33c;
+$fa-var-arrow-to-bottom: \f33d;
+$fa-var-arrow-to-left: \f33e;
+$fa-var-arrow-to-right: \f340;
+$fa-var-arrow-to-top: \f341;
+$fa-var-arrow-up: \f062;
+$fa-var-arrows: \f047;
+$fa-var-arrows-alt: \f0b2;
+$fa-var-arrows-alt-h: \f337;
+$fa-var-arrows-alt-v: \f338;
+$fa-var-arrows-h: \f07e;
+$fa-var-arrows-v: \f07d;
+$fa-var-artstation: \f77a;
+$fa-var-assistive-listening-systems: \f2a2;
+$fa-var-asterisk: \f069;
+$fa-var-asymmetrik: \f372;
+$fa-var-at: \f1fa;
+$fa-var-atlas: \f558;
+$fa-var-atlassian: \f77b;
+$fa-var-atom: \f5d2;
+$fa-var-atom-alt: \f5d3;
+$fa-var-audible: \f373;
+$fa-var-audio-description: \f29e;
+$fa-var-autoprefixer: \f41c;
+$fa-var-avianex: \f374;
+$fa-var-aviato: \f421;
+$fa-var-award: \f559;
+$fa-var-aws: \f375;
+$fa-var-axe: \f6b2;
+$fa-var-axe-battle: \f6b3;
+$fa-var-baby: \f77c;
+$fa-var-baby-carriage: \f77d;
+$fa-var-backpack: \f5d4;
+$fa-var-backspace: \f55a;
+$fa-var-backward: \f04a;
+$fa-var-bacon: \f7e5;
+$fa-var-badge: \f335;
+$fa-var-badge-check: \f336;
+$fa-var-badge-dollar: \f645;
+$fa-var-badge-percent: \f646;
+$fa-var-badger-honey: \f6b4;
+$fa-var-balance-scale: \f24e;
+$fa-var-balance-scale-left: \f515;
+$fa-var-balance-scale-right: \f516;
+$fa-var-ball-pile: \f77e;
+$fa-var-ballot: \f732;
+$fa-var-ballot-check: \f733;
+$fa-var-ban: \f05e;
+$fa-var-band-aid: \f462;
+$fa-var-bandcamp: \f2d5;
+$fa-var-barcode: \f02a;
+$fa-var-barcode-alt: \f463;
+$fa-var-barcode-read: \f464;
+$fa-var-barcode-scan: \f465;
+$fa-var-bars: \f0c9;
+$fa-var-baseball: \f432;
+$fa-var-baseball-ball: \f433;
+$fa-var-basketball-ball: \f434;
+$fa-var-basketball-hoop: \f435;
+$fa-var-bat: \f6b5;
+$fa-var-bath: \f2cd;
+$fa-var-battery-bolt: \f376;
+$fa-var-battery-empty: \f244;
+$fa-var-battery-full: \f240;
+$fa-var-battery-half: \f242;
+$fa-var-battery-quarter: \f243;
+$fa-var-battery-slash: \f377;
+$fa-var-battery-three-quarters: \f241;
+$fa-var-bed: \f236;
+$fa-var-beer: \f0fc;
+$fa-var-behance: \f1b4;
+$fa-var-behance-square: \f1b5;
+$fa-var-bell: \f0f3;
+$fa-var-bell-school: \f5d5;
+$fa-var-bell-school-slash: \f5d6;
+$fa-var-bell-slash: \f1f6;
+$fa-var-bells: \f77f;
+$fa-var-bezier-curve: \f55b;
+$fa-var-bible: \f647;
+$fa-var-bicycle: \f206;
+$fa-var-bimobject: \f378;
+$fa-var-binoculars: \f1e5;
+$fa-var-biohazard: \f780;
+$fa-var-birthday-cake: \f1fd;
+$fa-var-bitbucket: \f171;
+$fa-var-bitcoin: \f379;
+$fa-var-bity: \f37a;
+$fa-var-black-tie: \f27e;
+$fa-var-blackberry: \f37b;
+$fa-var-blanket: \f498;
+$fa-var-blender: \f517;
+$fa-var-blender-phone: \f6b6;
+$fa-var-blind: \f29d;
+$fa-var-blog: \f781;
+$fa-var-blogger: \f37c;
+$fa-var-blogger-b: \f37d;
+$fa-var-bluetooth: \f293;
+$fa-var-bluetooth-b: \f294;
+$fa-var-bold: \f032;
+$fa-var-bolt: \f0e7;
+$fa-var-bomb: \f1e2;
+$fa-var-bone: \f5d7;
+$fa-var-bone-break: \f5d8;
+$fa-var-bong: \f55c;
+$fa-var-book: \f02d;
+$fa-var-book-alt: \f5d9;
+$fa-var-book-dead: \f6b7;
+$fa-var-book-heart: \f499;
+$fa-var-book-medical: \f7e6;
+$fa-var-book-open: \f518;
+$fa-var-book-reader: \f5da;
+$fa-var-book-spells: \f6b8;
+$fa-var-book-user: \f7e7;
+$fa-var-bookmark: \f02e;
+$fa-var-books: \f5db;
+$fa-var-books-medical: \f7e8;
+$fa-var-boot: \f782;
+$fa-var-booth-curtain: \f734;
+$fa-var-bow-arrow: \f6b9;
+$fa-var-bowling-ball: \f436;
+$fa-var-bowling-pins: \f437;
+$fa-var-box: \f466;
+$fa-var-box-alt: \f49a;
+$fa-var-box-ballot: \f735;
+$fa-var-box-check: \f467;
+$fa-var-box-fragile: \f49b;
+$fa-var-box-full: \f49c;
+$fa-var-box-heart: \f49d;
+$fa-var-box-open: \f49e;
+$fa-var-box-up: \f49f;
+$fa-var-box-usd: \f4a0;
+$fa-var-boxes: \f468;
+$fa-var-boxes-alt: \f4a1;
+$fa-var-boxing-glove: \f438;
+$fa-var-brackets: \f7e9;
+$fa-var-brackets-curly: \f7ea;
+$fa-var-braille: \f2a1;
+$fa-var-brain: \f5dc;
+$fa-var-bread-loaf: \f7eb;
+$fa-var-bread-slice: \f7ec;
+$fa-var-briefcase: \f0b1;
+$fa-var-briefcase-medical: \f469;
+$fa-var-broadcast-tower: \f519;
+$fa-var-broom: \f51a;
+$fa-var-browser: \f37e;
+$fa-var-brush: \f55d;
+$fa-var-btc: \f15a;
+$fa-var-bug: \f188;
+$fa-var-building: \f1ad;
+$fa-var-bullhorn: \f0a1;
+$fa-var-bullseye: \f140;
+$fa-var-bullseye-arrow: \f648;
+$fa-var-bullseye-pointer: \f649;
+$fa-var-burn: \f46a;
+$fa-var-buromobelexperte: \f37f;
+$fa-var-burrito: \f7ed;
+$fa-var-bus: \f207;
+$fa-var-bus-alt: \f55e;
+$fa-var-bus-school: \f5dd;
+$fa-var-business-time: \f64a;
+$fa-var-buysellads: \f20d;
+$fa-var-cabinet-filing: \f64b;
+$fa-var-calculator: \f1ec;
+$fa-var-calculator-alt: \f64c;
+$fa-var-calendar: \f133;
+$fa-var-calendar-alt: \f073;
+$fa-var-calendar-check: \f274;
+$fa-var-calendar-day: \f783;
+$fa-var-calendar-edit: \f333;
+$fa-var-calendar-exclamation: \f334;
+$fa-var-calendar-minus: \f272;
+$fa-var-calendar-plus: \f271;
+$fa-var-calendar-star: \f736;
+$fa-var-calendar-times: \f273;
+$fa-var-calendar-week: \f784;
+$fa-var-camera: \f030;
+$fa-var-camera-alt: \f332;
+$fa-var-camera-retro: \f083;
+$fa-var-campfire: \f6ba;
+$fa-var-campground: \f6bb;
+$fa-var-canadian-maple-leaf: \f785;
+$fa-var-candle-holder: \f6bc;
+$fa-var-candy-cane: \f786;
+$fa-var-candy-corn: \f6bd;
+$fa-var-cannabis: \f55f;
+$fa-var-capsules: \f46b;
+$fa-var-car: \f1b9;
+$fa-var-car-alt: \f5de;
+$fa-var-car-battery: \f5df;
+$fa-var-car-bump: \f5e0;
+$fa-var-car-crash: \f5e1;
+$fa-var-car-garage: \f5e2;
+$fa-var-car-mechanic: \f5e3;
+$fa-var-car-side: \f5e4;
+$fa-var-car-tilt: \f5e5;
+$fa-var-car-wash: \f5e6;
+$fa-var-caret-circle-down: \f32d;
+$fa-var-caret-circle-left: \f32e;
+$fa-var-caret-circle-right: \f330;
+$fa-var-caret-circle-up: \f331;
+$fa-var-caret-down: \f0d7;
+$fa-var-caret-left: \f0d9;
+$fa-var-caret-right: \f0da;
+$fa-var-caret-square-down: \f150;
+$fa-var-caret-square-left: \f191;
+$fa-var-caret-square-right: \f152;
+$fa-var-caret-square-up: \f151;
+$fa-var-caret-up: \f0d8;
+$fa-var-carrot: \f787;
+$fa-var-cart-arrow-down: \f218;
+$fa-var-cart-plus: \f217;
+$fa-var-cash-register: \f788;
+$fa-var-cat: \f6be;
+$fa-var-cauldron: \f6bf;
+$fa-var-cc-amazon-pay: \f42d;
+$fa-var-cc-amex: \f1f3;
+$fa-var-cc-apple-pay: \f416;
+$fa-var-cc-diners-club: \f24c;
+$fa-var-cc-discover: \f1f2;
+$fa-var-cc-jcb: \f24b;
+$fa-var-cc-mastercard: \f1f1;
+$fa-var-cc-paypal: \f1f4;
+$fa-var-cc-stripe: \f1f5;
+$fa-var-cc-visa: \f1f0;
+$fa-var-centercode: \f380;
+$fa-var-centos: \f789;
+$fa-var-certificate: \f0a3;
+$fa-var-chair: \f6c0;
+$fa-var-chair-office: \f6c1;
+$fa-var-chalkboard: \f51b;
+$fa-var-chalkboard-teacher: \f51c;
+$fa-var-charging-station: \f5e7;
+$fa-var-chart-area: \f1fe;
+$fa-var-chart-bar: \f080;
+$fa-var-chart-line: \f201;
+$fa-var-chart-line-down: \f64d;
+$fa-var-chart-network: \f78a;
+$fa-var-chart-pie: \f200;
+$fa-var-chart-pie-alt: \f64e;
+$fa-var-chart-scatter: \f7ee;
+$fa-var-check: \f00c;
+$fa-var-check-circle: \f058;
+$fa-var-check-double: \f560;
+$fa-var-check-square: \f14a;
+$fa-var-cheese: \f7ef;
+$fa-var-cheese-swiss: \f7f0;
+$fa-var-cheeseburger: \f7f1;
+$fa-var-chess: \f439;
+$fa-var-chess-bishop: \f43a;
+$fa-var-chess-bishop-alt: \f43b;
+$fa-var-chess-board: \f43c;
+$fa-var-chess-clock: \f43d;
+$fa-var-chess-clock-alt: \f43e;
+$fa-var-chess-king: \f43f;
+$fa-var-chess-king-alt: \f440;
+$fa-var-chess-knight: \f441;
+$fa-var-chess-knight-alt: \f442;
+$fa-var-chess-pawn: \f443;
+$fa-var-chess-pawn-alt: \f444;
+$fa-var-chess-queen: \f445;
+$fa-var-chess-queen-alt: \f446;
+$fa-var-chess-rook: \f447;
+$fa-var-chess-rook-alt: \f448;
+$fa-var-chevron-circle-down: \f13a;
+$fa-var-chevron-circle-left: \f137;
+$fa-var-chevron-circle-right: \f138;
+$fa-var-chevron-circle-up: \f139;
+$fa-var-chevron-double-down: \f322;
+$fa-var-chevron-double-left: \f323;
+$fa-var-chevron-double-right: \f324;
+$fa-var-chevron-double-up: \f325;
+$fa-var-chevron-down: \f078;
+$fa-var-chevron-left: \f053;
+$fa-var-chevron-right: \f054;
+$fa-var-chevron-square-down: \f329;
+$fa-var-chevron-square-left: \f32a;
+$fa-var-chevron-square-right: \f32b;
+$fa-var-chevron-square-up: \f32c;
+$fa-var-chevron-up: \f077;
+$fa-var-child: \f1ae;
+$fa-var-chimney: \f78b;
+$fa-var-chrome: \f268;
+$fa-var-church: \f51d;
+$fa-var-circle: \f111;
+$fa-var-circle-notch: \f1ce;
+$fa-var-city: \f64f;
+$fa-var-claw-marks: \f6c2;
+$fa-var-clinic-medical: \f7f2;
+$fa-var-clipboard: \f328;
+$fa-var-clipboard-check: \f46c;
+$fa-var-clipboard-list: \f46d;
+$fa-var-clipboard-list-check: \f737;
+$fa-var-clipboard-prescription: \f5e8;
+$fa-var-clipboard-user: \f7f3;
+$fa-var-clock: \f017;
+$fa-var-clone: \f24d;
+$fa-var-closed-captioning: \f20a;
+$fa-var-cloud: \f0c2;
+$fa-var-cloud-download: \f0ed;
+$fa-var-cloud-download-alt: \f381;
+$fa-var-cloud-drizzle: \f738;
+$fa-var-cloud-hail: \f739;
+$fa-var-cloud-hail-mixed: \f73a;
+$fa-var-cloud-meatball: \f73b;
+$fa-var-cloud-moon: \f6c3;
+$fa-var-cloud-moon-rain: \f73c;
+$fa-var-cloud-rain: \f73d;
+$fa-var-cloud-rainbow: \f73e;
+$fa-var-cloud-showers: \f73f;
+$fa-var-cloud-showers-heavy: \f740;
+$fa-var-cloud-sleet: \f741;
+$fa-var-cloud-snow: \f742;
+$fa-var-cloud-sun: \f6c4;
+$fa-var-cloud-sun-rain: \f743;
+$fa-var-cloud-upload: \f0ee;
+$fa-var-cloud-upload-alt: \f382;
+$fa-var-clouds: \f744;
+$fa-var-clouds-moon: \f745;
+$fa-var-clouds-sun: \f746;
+$fa-var-cloudscale: \f383;
+$fa-var-cloudsmith: \f384;
+$fa-var-cloudversify: \f385;
+$fa-var-club: \f327;
+$fa-var-cocktail: \f561;
+$fa-var-code: \f121;
+$fa-var-code-branch: \f126;
+$fa-var-code-commit: \f386;
+$fa-var-code-merge: \f387;
+$fa-var-codepen: \f1cb;
+$fa-var-codiepie: \f284;
+$fa-var-coffee: \f0f4;
+$fa-var-coffee-togo: \f6c5;
+$fa-var-coffin: \f6c6;
+$fa-var-cog: \f013;
+$fa-var-cogs: \f085;
+$fa-var-coins: \f51e;
+$fa-var-columns: \f0db;
+$fa-var-comment: \f075;
+$fa-var-comment-alt: \f27a;
+$fa-var-comment-alt-check: \f4a2;
+$fa-var-comment-alt-dollar: \f650;
+$fa-var-comment-alt-dots: \f4a3;
+$fa-var-comment-alt-edit: \f4a4;
+$fa-var-comment-alt-exclamation: \f4a5;
+$fa-var-comment-alt-lines: \f4a6;
+$fa-var-comment-alt-medical: \f7f4;
+$fa-var-comment-alt-minus: \f4a7;
+$fa-var-comment-alt-plus: \f4a8;
+$fa-var-comment-alt-slash: \f4a9;
+$fa-var-comment-alt-smile: \f4aa;
+$fa-var-comment-alt-times: \f4ab;
+$fa-var-comment-check: \f4ac;
+$fa-var-comment-dollar: \f651;
+$fa-var-comment-dots: \f4ad;
+$fa-var-comment-edit: \f4ae;
+$fa-var-comment-exclamation: \f4af;
+$fa-var-comment-lines: \f4b0;
+$fa-var-comment-medical: \f7f5;
+$fa-var-comment-minus: \f4b1;
+$fa-var-comment-plus: \f4b2;
+$fa-var-comment-slash: \f4b3;
+$fa-var-comment-smile: \f4b4;
+$fa-var-comment-times: \f4b5;
+$fa-var-comments: \f086;
+$fa-var-comments-alt: \f4b6;
+$fa-var-comments-alt-dollar: \f652;
+$fa-var-comments-dollar: \f653;
+$fa-var-compact-disc: \f51f;
+$fa-var-compass: \f14e;
+$fa-var-compass-slash: \f5e9;
+$fa-var-compress: \f066;
+$fa-var-compress-alt: \f422;
+$fa-var-compress-arrows-alt: \f78c;
+$fa-var-compress-wide: \f326;
+$fa-var-concierge-bell: \f562;
+$fa-var-confluence: \f78d;
+$fa-var-connectdevelop: \f20e;
+$fa-var-container-storage: \f4b7;
+$fa-var-contao: \f26d;
+$fa-var-conveyor-belt: \f46e;
+$fa-var-conveyor-belt-alt: \f46f;
+$fa-var-cookie: \f563;
+$fa-var-cookie-bite: \f564;
+$fa-var-copy: \f0c5;
+$fa-var-copyright: \f1f9;
+$fa-var-corn: \f6c7;
+$fa-var-couch: \f4b8;
+$fa-var-cow: \f6c8;
+$fa-var-cpanel: \f388;
+$fa-var-creative-commons: \f25e;
+$fa-var-creative-commons-by: \f4e7;
+$fa-var-creative-commons-nc: \f4e8;
+$fa-var-creative-commons-nc-eu: \f4e9;
+$fa-var-creative-commons-nc-jp: \f4ea;
+$fa-var-creative-commons-nd: \f4eb;
+$fa-var-creative-commons-pd: \f4ec;
+$fa-var-creative-commons-pd-alt: \f4ed;
+$fa-var-creative-commons-remix: \f4ee;
+$fa-var-creative-commons-sa: \f4ef;
+$fa-var-creative-commons-sampling: \f4f0;
+$fa-var-creative-commons-sampling-plus: \f4f1;
+$fa-var-creative-commons-share: \f4f2;
+$fa-var-creative-commons-zero: \f4f3;
+$fa-var-credit-card: \f09d;
+$fa-var-credit-card-blank: \f389;
+$fa-var-credit-card-front: \f38a;
+$fa-var-cricket: \f449;
+$fa-var-critical-role: \f6c9;
+$fa-var-croissant: \f7f6;
+$fa-var-crop: \f125;
+$fa-var-crop-alt: \f565;
+$fa-var-cross: \f654;
+$fa-var-crosshairs: \f05b;
+$fa-var-crow: \f520;
+$fa-var-crown: \f521;
+$fa-var-crutch: \f7f7;
+$fa-var-crutches: \f7f8;
+$fa-var-css3: \f13c;
+$fa-var-css3-alt: \f38b;
+$fa-var-cube: \f1b2;
+$fa-var-cubes: \f1b3;
+$fa-var-curling: \f44a;
+$fa-var-cut: \f0c4;
+$fa-var-cuttlefish: \f38c;
+$fa-var-d-and-d: \f38d;
+$fa-var-d-and-d-beyond: \f6ca;
+$fa-var-dagger: \f6cb;
+$fa-var-dashcube: \f210;
+$fa-var-database: \f1c0;
+$fa-var-deaf: \f2a4;
+$fa-var-debug: \f7f9;
+$fa-var-deer: \f78e;
+$fa-var-deer-rudolph: \f78f;
+$fa-var-delicious: \f1a5;
+$fa-var-democrat: \f747;
+$fa-var-deploydog: \f38e;
+$fa-var-deskpro: \f38f;
+$fa-var-desktop: \f108;
+$fa-var-desktop-alt: \f390;
+$fa-var-dev: \f6cc;
+$fa-var-deviantart: \f1bd;
+$fa-var-dewpoint: \f748;
+$fa-var-dharmachakra: \f655;
+$fa-var-dhl: \f790;
+$fa-var-diagnoses: \f470;
+$fa-var-diamond: \f219;
+$fa-var-diaspora: \f791;
+$fa-var-dice: \f522;
+$fa-var-dice-d10: \f6cd;
+$fa-var-dice-d12: \f6ce;
+$fa-var-dice-d20: \f6cf;
+$fa-var-dice-d4: \f6d0;
+$fa-var-dice-d6: \f6d1;
+$fa-var-dice-d8: \f6d2;
+$fa-var-dice-five: \f523;
+$fa-var-dice-four: \f524;
+$fa-var-dice-one: \f525;
+$fa-var-dice-six: \f526;
+$fa-var-dice-three: \f527;
+$fa-var-dice-two: \f528;
+$fa-var-digg: \f1a6;
+$fa-var-digital-ocean: \f391;
+$fa-var-digital-tachograph: \f566;
+$fa-var-diploma: \f5ea;
+$fa-var-directions: \f5eb;
+$fa-var-discord: \f392;
+$fa-var-discourse: \f393;
+$fa-var-disease: \f7fa;
+$fa-var-divide: \f529;
+$fa-var-dizzy: \f567;
+$fa-var-dna: \f471;
+$fa-var-do-not-enter: \f5ec;
+$fa-var-dochub: \f394;
+$fa-var-docker: \f395;
+$fa-var-dog: \f6d3;
+$fa-var-dog-leashed: \f6d4;
+$fa-var-dollar-sign: \f155;
+$fa-var-dolly: \f472;
+$fa-var-dolly-empty: \f473;
+$fa-var-dolly-flatbed: \f474;
+$fa-var-dolly-flatbed-alt: \f475;
+$fa-var-dolly-flatbed-empty: \f476;
+$fa-var-donate: \f4b9;
+$fa-var-door-closed: \f52a;
+$fa-var-door-open: \f52b;
+$fa-var-dot-circle: \f192;
+$fa-var-dove: \f4ba;
+$fa-var-download: \f019;
+$fa-var-draft2digital: \f396;
+$fa-var-drafting-compass: \f568;
+$fa-var-dragon: \f6d5;
+$fa-var-draw-circle: \f5ed;
+$fa-var-draw-polygon: \f5ee;
+$fa-var-draw-square: \f5ef;
+$fa-var-dreidel: \f792;
+$fa-var-dribbble: \f17d;
+$fa-var-dribbble-square: \f397;
+$fa-var-dropbox: \f16b;
+$fa-var-drum: \f569;
+$fa-var-drum-steelpan: \f56a;
+$fa-var-drumstick: \f6d6;
+$fa-var-drumstick-bite: \f6d7;
+$fa-var-drupal: \f1a9;
+$fa-var-duck: \f6d8;
+$fa-var-dumbbell: \f44b;
+$fa-var-dumpster: \f793;
+$fa-var-dumpster-fire: \f794;
+$fa-var-dungeon: \f6d9;
+$fa-var-dyalog: \f399;
+$fa-var-ear: \f5f0;
+$fa-var-ear-muffs: \f795;
+$fa-var-earlybirds: \f39a;
+$fa-var-ebay: \f4f4;
+$fa-var-eclipse: \f749;
+$fa-var-eclipse-alt: \f74a;
+$fa-var-edge: \f282;
+$fa-var-edit: \f044;
+$fa-var-egg: \f7fb;
+$fa-var-egg-fried: \f7fc;
+$fa-var-eject: \f052;
+$fa-var-elementor: \f430;
+$fa-var-elephant: \f6da;
+$fa-var-ellipsis-h: \f141;
+$fa-var-ellipsis-h-alt: \f39b;
+$fa-var-ellipsis-v: \f142;
+$fa-var-ellipsis-v-alt: \f39c;
+$fa-var-ello: \f5f1;
+$fa-var-ember: \f423;
+$fa-var-empire: \f1d1;
+$fa-var-empty-set: \f656;
+$fa-var-engine-warning: \f5f2;
+$fa-var-envelope: \f0e0;
+$fa-var-envelope-open: \f2b6;
+$fa-var-envelope-open-dollar: \f657;
+$fa-var-envelope-open-text: \f658;
+$fa-var-envelope-square: \f199;
+$fa-var-envira: \f299;
+$fa-var-equals: \f52c;
+$fa-var-eraser: \f12d;
+$fa-var-erlang: \f39d;
+$fa-var-ethereum: \f42e;
+$fa-var-ethernet: \f796;
+$fa-var-etsy: \f2d7;
+$fa-var-euro-sign: \f153;
+$fa-var-exchange: \f0ec;
+$fa-var-exchange-alt: \f362;
+$fa-var-exclamation: \f12a;
+$fa-var-exclamation-circle: \f06a;
+$fa-var-exclamation-square: \f321;
+$fa-var-exclamation-triangle: \f071;
+$fa-var-expand: \f065;
+$fa-var-expand-alt: \f424;
+$fa-var-expand-arrows: \f31d;
+$fa-var-expand-arrows-alt: \f31e;
+$fa-var-expand-wide: \f320;
+$fa-var-expeditedssl: \f23e;
+$fa-var-external-link: \f08e;
+$fa-var-external-link-alt: \f35d;
+$fa-var-external-link-square: \f14c;
+$fa-var-external-link-square-alt: \f360;
+$fa-var-eye: \f06e;
+$fa-var-eye-dropper: \f1fb;
+$fa-var-eye-evil: \f6db;
+$fa-var-eye-slash: \f070;
+$fa-var-facebook: \f09a;
+$fa-var-facebook-f: \f39e;
+$fa-var-facebook-messenger: \f39f;
+$fa-var-facebook-square: \f082;
+$fa-var-fantasy-flight-games: \f6dc;
+$fa-var-fast-backward: \f049;
+$fa-var-fast-forward: \f050;
+$fa-var-fax: \f1ac;
+$fa-var-feather: \f52d;
+$fa-var-feather-alt: \f56b;
+$fa-var-fedex: \f797;
+$fa-var-fedora: \f798;
+$fa-var-female: \f182;
+$fa-var-field-hockey: \f44c;
+$fa-var-fighter-jet: \f0fb;
+$fa-var-figma: \f799;
+$fa-var-file: \f15b;
+$fa-var-file-alt: \f15c;
+$fa-var-file-archive: \f1c6;
+$fa-var-file-audio: \f1c7;
+$fa-var-file-certificate: \f5f3;
+$fa-var-file-chart-line: \f659;
+$fa-var-file-chart-pie: \f65a;
+$fa-var-file-check: \f316;
+$fa-var-file-code: \f1c9;
+$fa-var-file-contract: \f56c;
+$fa-var-file-csv: \f6dd;
+$fa-var-file-download: \f56d;
+$fa-var-file-edit: \f31c;
+$fa-var-file-excel: \f1c3;
+$fa-var-file-exclamation: \f31a;
+$fa-var-file-export: \f56e;
+$fa-var-file-image: \f1c5;
+$fa-var-file-import: \f56f;
+$fa-var-file-invoice: \f570;
+$fa-var-file-invoice-dollar: \f571;
+$fa-var-file-medical: \f477;
+$fa-var-file-medical-alt: \f478;
+$fa-var-file-minus: \f318;
+$fa-var-file-pdf: \f1c1;
+$fa-var-file-plus: \f319;
+$fa-var-file-powerpoint: \f1c4;
+$fa-var-file-prescription: \f572;
+$fa-var-file-signature: \f573;
+$fa-var-file-spreadsheet: \f65b;
+$fa-var-file-times: \f317;
+$fa-var-file-upload: \f574;
+$fa-var-file-user: \f65c;
+$fa-var-file-video: \f1c8;
+$fa-var-file-word: \f1c2;
+$fa-var-files-medical: \f7fd;
+$fa-var-fill: \f575;
+$fa-var-fill-drip: \f576;
+$fa-var-film: \f008;
+$fa-var-film-alt: \f3a0;
+$fa-var-filter: \f0b0;
+$fa-var-fingerprint: \f577;
+$fa-var-fire: \f06d;
+$fa-var-fire-alt: \f7e4;
+$fa-var-fire-extinguisher: \f134;
+$fa-var-fire-smoke: \f74b;
+$fa-var-firefox: \f269;
+$fa-var-fireplace: \f79a;
+$fa-var-first-aid: \f479;
+$fa-var-first-order: \f2b0;
+$fa-var-first-order-alt: \f50a;
+$fa-var-firstdraft: \f3a1;
+$fa-var-fish: \f578;
+$fa-var-fish-cooked: \f7fe;
+$fa-var-fist-raised: \f6de;
+$fa-var-flag: \f024;
+$fa-var-flag-alt: \f74c;
+$fa-var-flag-checkered: \f11e;
+$fa-var-flag-usa: \f74d;
+$fa-var-flame: \f6df;
+$fa-var-flask: \f0c3;
+$fa-var-flask-poison: \f6e0;
+$fa-var-flask-potion: \f6e1;
+$fa-var-flickr: \f16e;
+$fa-var-flipboard: \f44d;
+$fa-var-flower: \f7ff;
+$fa-var-flower-daffodil: \f800;
+$fa-var-flower-tulip: \f801;
+$fa-var-flushed: \f579;
+$fa-var-fly: \f417;
+$fa-var-fog: \f74e;
+$fa-var-folder: \f07b;
+$fa-var-folder-minus: \f65d;
+$fa-var-folder-open: \f07c;
+$fa-var-folder-plus: \f65e;
+$fa-var-folder-times: \f65f;
+$fa-var-folder-tree: \f802;
+$fa-var-folders: \f660;
+$fa-var-font: \f031;
+$fa-var-font-awesome: \f2b4;
+$fa-var-font-awesome-alt: \f35c;
+$fa-var-font-awesome-flag: \f425;
+$fa-var-font-awesome-logo-full: \f4e6;
+$fa-var-fonticons: \f280;
+$fa-var-fonticons-fi: \f3a2;
+$fa-var-football-ball: \f44e;
+$fa-var-football-helmet: \f44f;
+$fa-var-forklift: \f47a;
+$fa-var-fort-awesome: \f286;
+$fa-var-fort-awesome-alt: \f3a3;
+$fa-var-forumbee: \f211;
+$fa-var-forward: \f04e;
+$fa-var-foursquare: \f180;
+$fa-var-fragile: \f4bb;
+$fa-var-free-code-camp: \f2c5;
+$fa-var-freebsd: \f3a4;
+$fa-var-french-fries: \f803;
+$fa-var-frog: \f52e;
+$fa-var-frosty-head: \f79b;
+$fa-var-frown: \f119;
+$fa-var-frown-open: \f57a;
+$fa-var-fulcrum: \f50b;
+$fa-var-function: \f661;
+$fa-var-funnel-dollar: \f662;
+$fa-var-futbol: \f1e3;
+$fa-var-galactic-republic: \f50c;
+$fa-var-galactic-senate: \f50d;
+$fa-var-gamepad: \f11b;
+$fa-var-gas-pump: \f52f;
+$fa-var-gas-pump-slash: \f5f4;
+$fa-var-gavel: \f0e3;
+$fa-var-gem: \f3a5;
+$fa-var-genderless: \f22d;
+$fa-var-get-pocket: \f265;
+$fa-var-gg: \f260;
+$fa-var-gg-circle: \f261;
+$fa-var-ghost: \f6e2;
+$fa-var-gift: \f06b;
+$fa-var-gift-card: \f663;
+$fa-var-gifts: \f79c;
+$fa-var-gingerbread-man: \f79d;
+$fa-var-git: \f1d3;
+$fa-var-git-square: \f1d2;
+$fa-var-github: \f09b;
+$fa-var-github-alt: \f113;
+$fa-var-github-square: \f092;
+$fa-var-gitkraken: \f3a6;
+$fa-var-gitlab: \f296;
+$fa-var-gitter: \f426;
+$fa-var-glass: \f804;
+$fa-var-glass-champagne: \f79e;
+$fa-var-glass-cheers: \f79f;
+$fa-var-glass-martini: \f000;
+$fa-var-glass-martini-alt: \f57b;
+$fa-var-glass-whiskey: \f7a0;
+$fa-var-glass-whiskey-rocks: \f7a1;
+$fa-var-glasses: \f530;
+$fa-var-glasses-alt: \f5f5;
+$fa-var-glide: \f2a5;
+$fa-var-glide-g: \f2a6;
+$fa-var-globe: \f0ac;
+$fa-var-globe-africa: \f57c;
+$fa-var-globe-americas: \f57d;
+$fa-var-globe-asia: \f57e;
+$fa-var-globe-europe: \f7a2;
+$fa-var-globe-snow: \f7a3;
+$fa-var-globe-stand: \f5f6;
+$fa-var-gofore: \f3a7;
+$fa-var-golf-ball: \f450;
+$fa-var-golf-club: \f451;
+$fa-var-goodreads: \f3a8;
+$fa-var-goodreads-g: \f3a9;
+$fa-var-google: \f1a0;
+$fa-var-google-drive: \f3aa;
+$fa-var-google-play: \f3ab;
+$fa-var-google-plus: \f2b3;
+$fa-var-google-plus-g: \f0d5;
+$fa-var-google-plus-square: \f0d4;
+$fa-var-google-wallet: \f1ee;
+$fa-var-gopuram: \f664;
+$fa-var-graduation-cap: \f19d;
+$fa-var-gratipay: \f184;
+$fa-var-grav: \f2d6;
+$fa-var-greater-than: \f531;
+$fa-var-greater-than-equal: \f532;
+$fa-var-grimace: \f57f;
+$fa-var-grin: \f580;
+$fa-var-grin-alt: \f581;
+$fa-var-grin-beam: \f582;
+$fa-var-grin-beam-sweat: \f583;
+$fa-var-grin-hearts: \f584;
+$fa-var-grin-squint: \f585;
+$fa-var-grin-squint-tears: \f586;
+$fa-var-grin-stars: \f587;
+$fa-var-grin-tears: \f588;
+$fa-var-grin-tongue: \f589;
+$fa-var-grin-tongue-squint: \f58a;
+$fa-var-grin-tongue-wink: \f58b;
+$fa-var-grin-wink: \f58c;
+$fa-var-grip-horizontal: \f58d;
+$fa-var-grip-lines: \f7a4;
+$fa-var-grip-lines-vertical: \f7a5;
+$fa-var-grip-vertical: \f58e;
+$fa-var-gripfire: \f3ac;
+$fa-var-grunt: \f3ad;
+$fa-var-guitar: \f7a6;
+$fa-var-gulp: \f3ae;
+$fa-var-h-square: \f0fd;
+$fa-var-h1: \f313;
+$fa-var-h2: \f314;
+$fa-var-h3: \f315;
+$fa-var-hacker-news: \f1d4;
+$fa-var-hacker-news-square: \f3af;
+$fa-var-hackerrank: \f5f7;
+$fa-var-hamburger: \f805;
+$fa-var-hammer: \f6e3;
+$fa-var-hammer-war: \f6e4;
+$fa-var-hamsa: \f665;
+$fa-var-hand-heart: \f4bc;
+$fa-var-hand-holding: \f4bd;
+$fa-var-hand-holding-box: \f47b;
+$fa-var-hand-holding-heart: \f4be;
+$fa-var-hand-holding-magic: \f6e5;
+$fa-var-hand-holding-seedling: \f4bf;
+$fa-var-hand-holding-usd: \f4c0;
+$fa-var-hand-holding-water: \f4c1;
+$fa-var-hand-lizard: \f258;
+$fa-var-hand-middle-finger: \f806;
+$fa-var-hand-paper: \f256;
+$fa-var-hand-peace: \f25b;
+$fa-var-hand-point-down: \f0a7;
+$fa-var-hand-point-left: \f0a5;
+$fa-var-hand-point-right: \f0a4;
+$fa-var-hand-point-up: \f0a6;
+$fa-var-hand-pointer: \f25a;
+$fa-var-hand-receiving: \f47c;
+$fa-var-hand-rock: \f255;
+$fa-var-hand-scissors: \f257;
+$fa-var-hand-spock: \f259;
+$fa-var-hands: \f4c2;
+$fa-var-hands-heart: \f4c3;
+$fa-var-hands-helping: \f4c4;
+$fa-var-hands-usd: \f4c5;
+$fa-var-handshake: \f2b5;
+$fa-var-handshake-alt: \f4c6;
+$fa-var-hanukiah: \f6e6;
+$fa-var-hard-hat: \f807;
+$fa-var-hashtag: \f292;
+$fa-var-hat-santa: \f7a7;
+$fa-var-hat-winter: \f7a8;
+$fa-var-hat-witch: \f6e7;
+$fa-var-hat-wizard: \f6e8;
+$fa-var-haykal: \f666;
+$fa-var-hdd: \f0a0;
+$fa-var-head-side: \f6e9;
+$fa-var-head-side-brain: \f808;
+$fa-var-head-side-medical: \f809;
+$fa-var-head-vr: \f6ea;
+$fa-var-heading: \f1dc;
+$fa-var-headphones: \f025;
+$fa-var-headphones-alt: \f58f;
+$fa-var-headset: \f590;
+$fa-var-heart: \f004;
+$fa-var-heart-broken: \f7a9;
+$fa-var-heart-circle: \f4c7;
+$fa-var-heart-rate: \f5f8;
+$fa-var-heart-square: \f4c8;
+$fa-var-heartbeat: \f21e;
+$fa-var-helicopter: \f533;
+$fa-var-helmet-battle: \f6eb;
+$fa-var-hexagon: \f312;
+$fa-var-highlighter: \f591;
+$fa-var-hiking: \f6ec;
+$fa-var-hippo: \f6ed;
+$fa-var-hips: \f452;
+$fa-var-hire-a-helper: \f3b0;
+$fa-var-history: \f1da;
+$fa-var-hockey-mask: \f6ee;
+$fa-var-hockey-puck: \f453;
+$fa-var-hockey-sticks: \f454;
+$fa-var-holly-berry: \f7aa;
+$fa-var-home: \f015;
+$fa-var-home-alt: \f80a;
+$fa-var-home-heart: \f4c9;
+$fa-var-home-lg: \f80b;
+$fa-var-home-lg-alt: \f80c;
+$fa-var-hood-cloak: \f6ef;
+$fa-var-hooli: \f427;
+$fa-var-hornbill: \f592;
+$fa-var-horse: \f6f0;
+$fa-var-horse-head: \f7ab;
+$fa-var-hospital: \f0f8;
+$fa-var-hospital-alt: \f47d;
+$fa-var-hospital-symbol: \f47e;
+$fa-var-hospital-user: \f80d;
+$fa-var-hospitals: \f80e;
+$fa-var-hot-tub: \f593;
+$fa-var-hotdog: \f80f;
+$fa-var-hotel: \f594;
+$fa-var-hotjar: \f3b1;
+$fa-var-hourglass: \f254;
+$fa-var-hourglass-end: \f253;
+$fa-var-hourglass-half: \f252;
+$fa-var-hourglass-start: \f251;
+$fa-var-house-damage: \f6f1;
+$fa-var-house-flood: \f74f;
+$fa-var-houzz: \f27c;
+$fa-var-hryvnia: \f6f2;
+$fa-var-html5: \f13b;
+$fa-var-hubspot: \f3b2;
+$fa-var-humidity: \f750;
+$fa-var-hurricane: \f751;
+$fa-var-i-cursor: \f246;
+$fa-var-ice-cream: \f810;
+$fa-var-ice-skate: \f7ac;
+$fa-var-icicles: \f7ad;
+$fa-var-id-badge: \f2c1;
+$fa-var-id-card: \f2c2;
+$fa-var-id-card-alt: \f47f;
+$fa-var-igloo: \f7ae;
+$fa-var-image: \f03e;
+$fa-var-images: \f302;
+$fa-var-imdb: \f2d8;
+$fa-var-inbox: \f01c;
+$fa-var-inbox-in: \f310;
+$fa-var-inbox-out: \f311;
+$fa-var-indent: \f03c;
+$fa-var-industry: \f275;
+$fa-var-industry-alt: \f3b3;
+$fa-var-infinity: \f534;
+$fa-var-info: \f129;
+$fa-var-info-circle: \f05a;
+$fa-var-info-square: \f30f;
+$fa-var-inhaler: \f5f9;
+$fa-var-instagram: \f16d;
+$fa-var-integral: \f667;
+$fa-var-intercom: \f7af;
+$fa-var-internet-explorer: \f26b;
+$fa-var-intersection: \f668;
+$fa-var-inventory: \f480;
+$fa-var-invision: \f7b0;
+$fa-var-ioxhost: \f208;
+$fa-var-island-tropical: \f811;
+$fa-var-italic: \f033;
+$fa-var-itunes: \f3b4;
+$fa-var-itunes-note: \f3b5;
+$fa-var-jack-o-lantern: \f30e;
+$fa-var-java: \f4e4;
+$fa-var-jedi: \f669;
+$fa-var-jedi-order: \f50e;
+$fa-var-jenkins: \f3b6;
+$fa-var-jira: \f7b1;
+$fa-var-joget: \f3b7;
+$fa-var-joint: \f595;
+$fa-var-joomla: \f1aa;
+$fa-var-journal-whills: \f66a;
+$fa-var-js: \f3b8;
+$fa-var-js-square: \f3b9;
+$fa-var-jsfiddle: \f1cc;
+$fa-var-kaaba: \f66b;
+$fa-var-kaggle: \f5fa;
+$fa-var-key: \f084;
+$fa-var-key-skeleton: \f6f3;
+$fa-var-keybase: \f4f5;
+$fa-var-keyboard: \f11c;
+$fa-var-keycdn: \f3ba;
+$fa-var-keynote: \f66c;
+$fa-var-khanda: \f66d;
+$fa-var-kickstarter: \f3bb;
+$fa-var-kickstarter-k: \f3bc;
+$fa-var-kidneys: \f5fb;
+$fa-var-kiss: \f596;
+$fa-var-kiss-beam: \f597;
+$fa-var-kiss-wink-heart: \f598;
+$fa-var-kite: \f6f4;
+$fa-var-kiwi-bird: \f535;
+$fa-var-knife-kitchen: \f6f5;
+$fa-var-korvue: \f42f;
+$fa-var-lambda: \f66e;
+$fa-var-lamp: \f4ca;
+$fa-var-landmark: \f66f;
+$fa-var-landmark-alt: \f752;
+$fa-var-language: \f1ab;
+$fa-var-laptop: \f109;
+$fa-var-laptop-code: \f5fc;
+$fa-var-laptop-medical: \f812;
+$fa-var-laravel: \f3bd;
+$fa-var-lastfm: \f202;
+$fa-var-lastfm-square: \f203;
+$fa-var-laugh: \f599;
+$fa-var-laugh-beam: \f59a;
+$fa-var-laugh-squint: \f59b;
+$fa-var-laugh-wink: \f59c;
+$fa-var-layer-group: \f5fd;
+$fa-var-layer-minus: \f5fe;
+$fa-var-layer-plus: \f5ff;
+$fa-var-leaf: \f06c;
+$fa-var-leaf-heart: \f4cb;
+$fa-var-leaf-maple: \f6f6;
+$fa-var-leaf-oak: \f6f7;
+$fa-var-leanpub: \f212;
+$fa-var-lemon: \f094;
+$fa-var-less: \f41d;
+$fa-var-less-than: \f536;
+$fa-var-less-than-equal: \f537;
+$fa-var-level-down: \f149;
+$fa-var-level-down-alt: \f3be;
+$fa-var-level-up: \f148;
+$fa-var-level-up-alt: \f3bf;
+$fa-var-life-ring: \f1cd;
+$fa-var-lightbulb: \f0eb;
+$fa-var-lightbulb-dollar: \f670;
+$fa-var-lightbulb-exclamation: \f671;
+$fa-var-lightbulb-on: \f672;
+$fa-var-lightbulb-slash: \f673;
+$fa-var-lights-holiday: \f7b2;
+$fa-var-line: \f3c0;
+$fa-var-link: \f0c1;
+$fa-var-linkedin: \f08c;
+$fa-var-linkedin-in: \f0e1;
+$fa-var-linode: \f2b8;
+$fa-var-linux: \f17c;
+$fa-var-lips: \f600;
+$fa-var-lira-sign: \f195;
+$fa-var-list: \f03a;
+$fa-var-list-alt: \f022;
+$fa-var-list-ol: \f0cb;
+$fa-var-list-ul: \f0ca;
+$fa-var-location: \f601;
+$fa-var-location-arrow: \f124;
+$fa-var-location-circle: \f602;
+$fa-var-location-slash: \f603;
+$fa-var-lock: \f023;
+$fa-var-lock-alt: \f30d;
+$fa-var-lock-open: \f3c1;
+$fa-var-lock-open-alt: \f3c2;
+$fa-var-long-arrow-alt-down: \f309;
+$fa-var-long-arrow-alt-left: \f30a;
+$fa-var-long-arrow-alt-right: \f30b;
+$fa-var-long-arrow-alt-up: \f30c;
+$fa-var-long-arrow-down: \f175;
+$fa-var-long-arrow-left: \f177;
+$fa-var-long-arrow-right: \f178;
+$fa-var-long-arrow-up: \f176;
+$fa-var-loveseat: \f4cc;
+$fa-var-low-vision: \f2a8;
+$fa-var-luchador: \f455;
+$fa-var-luggage-cart: \f59d;
+$fa-var-lungs: \f604;
+$fa-var-lyft: \f3c3;
+$fa-var-mace: \f6f8;
+$fa-var-magento: \f3c4;
+$fa-var-magic: \f0d0;
+$fa-var-magnet: \f076;
+$fa-var-mail-bulk: \f674;
+$fa-var-mailbox: \f813;
+$fa-var-mailchimp: \f59e;
+$fa-var-male: \f183;
+$fa-var-mandalorian: \f50f;
+$fa-var-mandolin: \f6f9;
+$fa-var-map: \f279;
+$fa-var-map-marked: \f59f;
+$fa-var-map-marked-alt: \f5a0;
+$fa-var-map-marker: \f041;
+$fa-var-map-marker-alt: \f3c5;
+$fa-var-map-marker-alt-slash: \f605;
+$fa-var-map-marker-check: \f606;
+$fa-var-map-marker-edit: \f607;
+$fa-var-map-marker-exclamation: \f608;
+$fa-var-map-marker-minus: \f609;
+$fa-var-map-marker-plus: \f60a;
+$fa-var-map-marker-question: \f60b;
+$fa-var-map-marker-slash: \f60c;
+$fa-var-map-marker-smile: \f60d;
+$fa-var-map-marker-times: \f60e;
+$fa-var-map-pin: \f276;
+$fa-var-map-signs: \f277;
+$fa-var-markdown: \f60f;
+$fa-var-marker: \f5a1;
+$fa-var-mars: \f222;
+$fa-var-mars-double: \f227;
+$fa-var-mars-stroke: \f229;
+$fa-var-mars-stroke-h: \f22b;
+$fa-var-mars-stroke-v: \f22a;
+$fa-var-mask: \f6fa;
+$fa-var-mastodon: \f4f6;
+$fa-var-maxcdn: \f136;
+$fa-var-meat: \f814;
+$fa-var-medal: \f5a2;
+$fa-var-medapps: \f3c6;
+$fa-var-medium: \f23a;
+$fa-var-medium-m: \f3c7;
+$fa-var-medkit: \f0fa;
+$fa-var-medrt: \f3c8;
+$fa-var-meetup: \f2e0;
+$fa-var-megaphone: \f675;
+$fa-var-megaport: \f5a3;
+$fa-var-meh: \f11a;
+$fa-var-meh-blank: \f5a4;
+$fa-var-meh-rolling-eyes: \f5a5;
+$fa-var-memory: \f538;
+$fa-var-mendeley: \f7b3;
+$fa-var-menorah: \f676;
+$fa-var-mercury: \f223;
+$fa-var-meteor: \f753;
+$fa-var-microchip: \f2db;
+$fa-var-microphone: \f130;
+$fa-var-microphone-alt: \f3c9;
+$fa-var-microphone-alt-slash: \f539;
+$fa-var-microphone-slash: \f131;
+$fa-var-microscope: \f610;
+$fa-var-microsoft: \f3ca;
+$fa-var-mind-share: \f677;
+$fa-var-minus: \f068;
+$fa-var-minus-circle: \f056;
+$fa-var-minus-hexagon: \f307;
+$fa-var-minus-octagon: \f308;
+$fa-var-minus-square: \f146;
+$fa-var-mistletoe: \f7b4;
+$fa-var-mitten: \f7b5;
+$fa-var-mix: \f3cb;
+$fa-var-mixcloud: \f289;
+$fa-var-mizuni: \f3cc;
+$fa-var-mobile: \f10b;
+$fa-var-mobile-alt: \f3cd;
+$fa-var-mobile-android: \f3ce;
+$fa-var-mobile-android-alt: \f3cf;
+$fa-var-modx: \f285;
+$fa-var-monero: \f3d0;
+$fa-var-money-bill: \f0d6;
+$fa-var-money-bill-alt: \f3d1;
+$fa-var-money-bill-wave: \f53a;
+$fa-var-money-bill-wave-alt: \f53b;
+$fa-var-money-check: \f53c;
+$fa-var-money-check-alt: \f53d;
+$fa-var-monitor-heart-rate: \f611;
+$fa-var-monkey: \f6fb;
+$fa-var-monument: \f5a6;
+$fa-var-moon: \f186;
+$fa-var-moon-cloud: \f754;
+$fa-var-moon-stars: \f755;
+$fa-var-mortar-pestle: \f5a7;
+$fa-var-mosque: \f678;
+$fa-var-motorcycle: \f21c;
+$fa-var-mountain: \f6fc;
+$fa-var-mountains: \f6fd;
+$fa-var-mouse-pointer: \f245;
+$fa-var-mug-hot: \f7b6;
+$fa-var-mug-marshmallows: \f7b7;
+$fa-var-music: \f001;
+$fa-var-napster: \f3d2;
+$fa-var-narwhal: \f6fe;
+$fa-var-neos: \f612;
+$fa-var-network-wired: \f6ff;
+$fa-var-neuter: \f22c;
+$fa-var-newspaper: \f1ea;
+$fa-var-nimblr: \f5a8;
+$fa-var-nintendo-switch: \f418;
+$fa-var-node: \f419;
+$fa-var-node-js: \f3d3;
+$fa-var-not-equal: \f53e;
+$fa-var-notes-medical: \f481;
+$fa-var-npm: \f3d4;
+$fa-var-ns8: \f3d5;
+$fa-var-nutritionix: \f3d6;
+$fa-var-object-group: \f247;
+$fa-var-object-ungroup: \f248;
+$fa-var-octagon: \f306;
+$fa-var-odnoklassniki: \f263;
+$fa-var-odnoklassniki-square: \f264;
+$fa-var-oil-can: \f613;
+$fa-var-oil-temp: \f614;
+$fa-var-old-republic: \f510;
+$fa-var-om: \f679;
+$fa-var-omega: \f67a;
+$fa-var-opencart: \f23d;
+$fa-var-openid: \f19b;
+$fa-var-opera: \f26a;
+$fa-var-optin-monster: \f23c;
+$fa-var-ornament: \f7b8;
+$fa-var-osi: \f41a;
+$fa-var-otter: \f700;
+$fa-var-outdent: \f03b;
+$fa-var-page4: \f3d7;
+$fa-var-pagelines: \f18c;
+$fa-var-pager: \f815;
+$fa-var-paint-brush: \f1fc;
+$fa-var-paint-brush-alt: \f5a9;
+$fa-var-paint-roller: \f5aa;
+$fa-var-palette: \f53f;
+$fa-var-palfed: \f3d8;
+$fa-var-pallet: \f482;
+$fa-var-pallet-alt: \f483;
+$fa-var-paper-plane: \f1d8;
+$fa-var-paperclip: \f0c6;
+$fa-var-parachute-box: \f4cd;
+$fa-var-paragraph: \f1dd;
+$fa-var-parking: \f540;
+$fa-var-parking-circle: \f615;
+$fa-var-parking-circle-slash: \f616;
+$fa-var-parking-slash: \f617;
+$fa-var-passport: \f5ab;
+$fa-var-pastafarianism: \f67b;
+$fa-var-paste: \f0ea;
+$fa-var-patreon: \f3d9;
+$fa-var-pause: \f04c;
+$fa-var-pause-circle: \f28b;
+$fa-var-paw: \f1b0;
+$fa-var-paw-alt: \f701;
+$fa-var-paw-claws: \f702;
+$fa-var-paypal: \f1ed;
+$fa-var-peace: \f67c;
+$fa-var-pegasus: \f703;
+$fa-var-pen: \f304;
+$fa-var-pen-alt: \f305;
+$fa-var-pen-fancy: \f5ac;
+$fa-var-pen-nib: \f5ad;
+$fa-var-pen-square: \f14b;
+$fa-var-pencil: \f040;
+$fa-var-pencil-alt: \f303;
+$fa-var-pencil-paintbrush: \f618;
+$fa-var-pencil-ruler: \f5ae;
+$fa-var-pennant: \f456;
+$fa-var-penny-arcade: \f704;
+$fa-var-people-carry: \f4ce;
+$fa-var-pepper-hot: \f816;
+$fa-var-percent: \f295;
+$fa-var-percentage: \f541;
+$fa-var-periscope: \f3da;
+$fa-var-person-booth: \f756;
+$fa-var-person-carry: \f4cf;
+$fa-var-person-dolly: \f4d0;
+$fa-var-person-dolly-empty: \f4d1;
+$fa-var-person-sign: \f757;
+$fa-var-phabricator: \f3db;
+$fa-var-phoenix-framework: \f3dc;
+$fa-var-phoenix-squadron: \f511;
+$fa-var-phone: \f095;
+$fa-var-phone-office: \f67d;
+$fa-var-phone-plus: \f4d2;
+$fa-var-phone-slash: \f3dd;
+$fa-var-phone-square: \f098;
+$fa-var-phone-volume: \f2a0;
+$fa-var-php: \f457;
+$fa-var-pi: \f67e;
+$fa-var-pie: \f705;
+$fa-var-pied-piper: \f2ae;
+$fa-var-pied-piper-alt: \f1a8;
+$fa-var-pied-piper-hat: \f4e5;
+$fa-var-pied-piper-pp: \f1a7;
+$fa-var-pig: \f706;
+$fa-var-piggy-bank: \f4d3;
+$fa-var-pills: \f484;
+$fa-var-pinterest: \f0d2;
+$fa-var-pinterest-p: \f231;
+$fa-var-pinterest-square: \f0d3;
+$fa-var-pizza: \f817;
+$fa-var-pizza-slice: \f818;
+$fa-var-place-of-worship: \f67f;
+$fa-var-plane: \f072;
+$fa-var-plane-alt: \f3de;
+$fa-var-plane-arrival: \f5af;
+$fa-var-plane-departure: \f5b0;
+$fa-var-play: \f04b;
+$fa-var-play-circle: \f144;
+$fa-var-playstation: \f3df;
+$fa-var-plug: \f1e6;
+$fa-var-plus: \f067;
+$fa-var-plus-circle: \f055;
+$fa-var-plus-hexagon: \f300;
+$fa-var-plus-octagon: \f301;
+$fa-var-plus-square: \f0fe;
+$fa-var-podcast: \f2ce;
+$fa-var-podium: \f680;
+$fa-var-podium-star: \f758;
+$fa-var-poll: \f681;
+$fa-var-poll-h: \f682;
+$fa-var-poll-people: \f759;
+$fa-var-poo: \f2fe;
+$fa-var-poo-storm: \f75a;
+$fa-var-poop: \f619;
+$fa-var-popcorn: \f819;
+$fa-var-portrait: \f3e0;
+$fa-var-pound-sign: \f154;
+$fa-var-power-off: \f011;
+$fa-var-pray: \f683;
+$fa-var-praying-hands: \f684;
+$fa-var-prescription: \f5b1;
+$fa-var-prescription-bottle: \f485;
+$fa-var-prescription-bottle-alt: \f486;
+$fa-var-presentation: \f685;
+$fa-var-print: \f02f;
+$fa-var-print-search: \f81a;
+$fa-var-print-slash: \f686;
+$fa-var-procedures: \f487;
+$fa-var-product-hunt: \f288;
+$fa-var-project-diagram: \f542;
+$fa-var-pumpkin: \f707;
+$fa-var-pushed: \f3e1;
+$fa-var-puzzle-piece: \f12e;
+$fa-var-python: \f3e2;
+$fa-var-qq: \f1d6;
+$fa-var-qrcode: \f029;
+$fa-var-question: \f128;
+$fa-var-question-circle: \f059;
+$fa-var-question-square: \f2fd;
+$fa-var-quidditch: \f458;
+$fa-var-quinscape: \f459;
+$fa-var-quora: \f2c4;
+$fa-var-quote-left: \f10d;
+$fa-var-quote-right: \f10e;
+$fa-var-quran: \f687;
+$fa-var-r-project: \f4f7;
+$fa-var-rabbit: \f708;
+$fa-var-rabbit-fast: \f709;
+$fa-var-racquet: \f45a;
+$fa-var-radiation: \f7b9;
+$fa-var-radiation-alt: \f7ba;
+$fa-var-rainbow: \f75b;
+$fa-var-raindrops: \f75c;
+$fa-var-ram: \f70a;
+$fa-var-ramp-loading: \f4d4;
+$fa-var-random: \f074;
+$fa-var-raspberry-pi: \f7bb;
+$fa-var-ravelry: \f2d9;
+$fa-var-react: \f41b;
+$fa-var-reacteurope: \f75d;
+$fa-var-readme: \f4d5;
+$fa-var-rebel: \f1d0;
+$fa-var-receipt: \f543;
+$fa-var-rectangle-landscape: \f2fa;
+$fa-var-rectangle-portrait: \f2fb;
+$fa-var-rectangle-wide: \f2fc;
+$fa-var-recycle: \f1b8;
+$fa-var-red-river: \f3e3;
+$fa-var-reddit: \f1a1;
+$fa-var-reddit-alien: \f281;
+$fa-var-reddit-square: \f1a2;
+$fa-var-redhat: \f7bc;
+$fa-var-redo: \f01e;
+$fa-var-redo-alt: \f2f9;
+$fa-var-registered: \f25d;
+$fa-var-renren: \f18b;
+$fa-var-repeat: \f363;
+$fa-var-repeat-1: \f365;
+$fa-var-repeat-1-alt: \f366;
+$fa-var-repeat-alt: \f364;
+$fa-var-reply: \f3e5;
+$fa-var-reply-all: \f122;
+$fa-var-replyd: \f3e6;
+$fa-var-republican: \f75e;
+$fa-var-researchgate: \f4f8;
+$fa-var-resolving: \f3e7;
+$fa-var-restroom: \f7bd;
+$fa-var-retweet: \f079;
+$fa-var-retweet-alt: \f361;
+$fa-var-rev: \f5b2;
+$fa-var-ribbon: \f4d6;
+$fa-var-ring: \f70b;
+$fa-var-rings-wedding: \f81b;
+$fa-var-road: \f018;
+$fa-var-robot: \f544;
+$fa-var-rocket: \f135;
+$fa-var-rocketchat: \f3e8;
+$fa-var-rockrms: \f3e9;
+$fa-var-route: \f4d7;
+$fa-var-route-highway: \f61a;
+$fa-var-route-interstate: \f61b;
+$fa-var-rss: \f09e;
+$fa-var-rss-square: \f143;
+$fa-var-ruble-sign: \f158;
+$fa-var-ruler: \f545;
+$fa-var-ruler-combined: \f546;
+$fa-var-ruler-horizontal: \f547;
+$fa-var-ruler-triangle: \f61c;
+$fa-var-ruler-vertical: \f548;
+$fa-var-running: \f70c;
+$fa-var-rupee-sign: \f156;
+$fa-var-rv: \f7be;
+$fa-var-sack: \f81c;
+$fa-var-sack-dollar: \f81d;
+$fa-var-sad-cry: \f5b3;
+$fa-var-sad-tear: \f5b4;
+$fa-var-safari: \f267;
+$fa-var-salad: \f81e;
+$fa-var-sandwich: \f81f;
+$fa-var-sass: \f41e;
+$fa-var-satellite: \f7bf;
+$fa-var-satellite-dish: \f7c0;
+$fa-var-sausage: \f820;
+$fa-var-save: \f0c7;
+$fa-var-scalpel: \f61d;
+$fa-var-scalpel-path: \f61e;
+$fa-var-scanner: \f488;
+$fa-var-scanner-keyboard: \f489;
+$fa-var-scanner-touchscreen: \f48a;
+$fa-var-scarecrow: \f70d;
+$fa-var-scarf: \f7c1;
+$fa-var-schlix: \f3ea;
+$fa-var-school: \f549;
+$fa-var-screwdriver: \f54a;
+$fa-var-scribd: \f28a;
+$fa-var-scroll: \f70e;
+$fa-var-scroll-old: \f70f;
+$fa-var-scrubber: \f2f8;
+$fa-var-scythe: \f710;
+$fa-var-sd-card: \f7c2;
+$fa-var-search: \f002;
+$fa-var-search-dollar: \f688;
+$fa-var-search-location: \f689;
+$fa-var-search-minus: \f010;
+$fa-var-search-plus: \f00e;
+$fa-var-searchengin: \f3eb;
+$fa-var-seedling: \f4d8;
+$fa-var-sellcast: \f2da;
+$fa-var-sellsy: \f213;
+$fa-var-server: \f233;
+$fa-var-servicestack: \f3ec;
+$fa-var-shapes: \f61f;
+$fa-var-share: \f064;
+$fa-var-share-all: \f367;
+$fa-var-share-alt: \f1e0;
+$fa-var-share-alt-square: \f1e1;
+$fa-var-share-square: \f14d;
+$fa-var-sheep: \f711;
+$fa-var-shekel-sign: \f20b;
+$fa-var-shield: \f132;
+$fa-var-shield-alt: \f3ed;
+$fa-var-shield-check: \f2f7;
+$fa-var-shield-cross: \f712;
+$fa-var-ship: \f21a;
+$fa-var-shipping-fast: \f48b;
+$fa-var-shipping-timed: \f48c;
+$fa-var-shirtsinbulk: \f214;
+$fa-var-shish-kebab: \f821;
+$fa-var-shoe-prints: \f54b;
+$fa-var-shopping-bag: \f290;
+$fa-var-shopping-basket: \f291;
+$fa-var-shopping-cart: \f07a;
+$fa-var-shopware: \f5b5;
+$fa-var-shovel: \f713;
+$fa-var-shovel-snow: \f7c3;
+$fa-var-shower: \f2cc;
+$fa-var-shredder: \f68a;
+$fa-var-shuttle-van: \f5b6;
+$fa-var-shuttlecock: \f45b;
+$fa-var-sickle: \f822;
+$fa-var-sigma: \f68b;
+$fa-var-sign: \f4d9;
+$fa-var-sign-in: \f090;
+$fa-var-sign-in-alt: \f2f6;
+$fa-var-sign-language: \f2a7;
+$fa-var-sign-out: \f08b;
+$fa-var-sign-out-alt: \f2f5;
+$fa-var-signal: \f012;
+$fa-var-signal-1: \f68c;
+$fa-var-signal-2: \f68d;
+$fa-var-signal-3: \f68e;
+$fa-var-signal-4: \f68f;
+$fa-var-signal-alt: \f690;
+$fa-var-signal-alt-1: \f691;
+$fa-var-signal-alt-2: \f692;
+$fa-var-signal-alt-3: \f693;
+$fa-var-signal-alt-slash: \f694;
+$fa-var-signal-slash: \f695;
+$fa-var-signature: \f5b7;
+$fa-var-sim-card: \f7c4;
+$fa-var-simplybuilt: \f215;
+$fa-var-sistrix: \f3ee;
+$fa-var-sitemap: \f0e8;
+$fa-var-sith: \f512;
+$fa-var-skating: \f7c5;
+$fa-var-skeleton: \f620;
+$fa-var-sketch: \f7c6;
+$fa-var-ski-jump: \f7c7;
+$fa-var-ski-lift: \f7c8;
+$fa-var-skiing: \f7c9;
+$fa-var-skiing-nordic: \f7ca;
+$fa-var-skull: \f54c;
+$fa-var-skull-crossbones: \f714;
+$fa-var-skyatlas: \f216;
+$fa-var-skype: \f17e;
+$fa-var-slack: \f198;
+$fa-var-slack-hash: \f3ef;
+$fa-var-slash: \f715;
+$fa-var-sledding: \f7cb;
+$fa-var-sleigh: \f7cc;
+$fa-var-sliders-h: \f1de;
+$fa-var-sliders-h-square: \f3f0;
+$fa-var-sliders-v: \f3f1;
+$fa-var-sliders-v-square: \f3f2;
+$fa-var-slideshare: \f1e7;
+$fa-var-smile: \f118;
+$fa-var-smile-beam: \f5b8;
+$fa-var-smile-plus: \f5b9;
+$fa-var-smile-wink: \f4da;
+$fa-var-smog: \f75f;
+$fa-var-smoke: \f760;
+$fa-var-smoking: \f48d;
+$fa-var-smoking-ban: \f54d;
+$fa-var-sms: \f7cd;
+$fa-var-snake: \f716;
+$fa-var-snapchat: \f2ab;
+$fa-var-snapchat-ghost: \f2ac;
+$fa-var-snapchat-square: \f2ad;
+$fa-var-snow-blowing: \f761;
+$fa-var-snowboarding: \f7ce;
+$fa-var-snowflake: \f2dc;
+$fa-var-snowflakes: \f7cf;
+$fa-var-snowman: \f7d0;
+$fa-var-snowmobile: \f7d1;
+$fa-var-snowplow: \f7d2;
+$fa-var-socks: \f696;
+$fa-var-solar-panel: \f5ba;
+$fa-var-sort: \f0dc;
+$fa-var-sort-alpha-down: \f15d;
+$fa-var-sort-alpha-up: \f15e;
+$fa-var-sort-amount-down: \f160;
+$fa-var-sort-amount-up: \f161;
+$fa-var-sort-down: \f0dd;
+$fa-var-sort-numeric-down: \f162;
+$fa-var-sort-numeric-up: \f163;
+$fa-var-sort-up: \f0de;
+$fa-var-soundcloud: \f1be;
+$fa-var-soup: \f823;
+$fa-var-sourcetree: \f7d3;
+$fa-var-spa: \f5bb;
+$fa-var-space-shuttle: \f197;
+$fa-var-spade: \f2f4;
+$fa-var-speakap: \f3f3;
+$fa-var-spider: \f717;
+$fa-var-spider-black-widow: \f718;
+$fa-var-spider-web: \f719;
+$fa-var-spinner: \f110;
+$fa-var-spinner-third: \f3f4;
+$fa-var-splotch: \f5bc;
+$fa-var-spotify: \f1bc;
+$fa-var-spray-can: \f5bd;
+$fa-var-square: \f0c8;
+$fa-var-square-full: \f45c;
+$fa-var-square-root: \f697;
+$fa-var-square-root-alt: \f698;
+$fa-var-squarespace: \f5be;
+$fa-var-squirrel: \f71a;
+$fa-var-stack-exchange: \f18d;
+$fa-var-stack-overflow: \f16c;
+$fa-var-staff: \f71b;
+$fa-var-stamp: \f5bf;
+$fa-var-star: \f005;
+$fa-var-star-and-crescent: \f699;
+$fa-var-star-christmas: \f7d4;
+$fa-var-star-exclamation: \f2f3;
+$fa-var-star-half: \f089;
+$fa-var-star-half-alt: \f5c0;
+$fa-var-star-of-david: \f69a;
+$fa-var-star-of-life: \f621;
+$fa-var-stars: \f762;
+$fa-var-staylinked: \f3f5;
+$fa-var-steak: \f824;
+$fa-var-steam: \f1b6;
+$fa-var-steam-square: \f1b7;
+$fa-var-steam-symbol: \f3f6;
+$fa-var-steering-wheel: \f622;
+$fa-var-step-backward: \f048;
+$fa-var-step-forward: \f051;
+$fa-var-stethoscope: \f0f1;
+$fa-var-sticker-mule: \f3f7;
+$fa-var-sticky-note: \f249;
+$fa-var-stocking: \f7d5;
+$fa-var-stomach: \f623;
+$fa-var-stop: \f04d;
+$fa-var-stop-circle: \f28d;
+$fa-var-stopwatch: \f2f2;
+$fa-var-store: \f54e;
+$fa-var-store-alt: \f54f;
+$fa-var-strava: \f428;
+$fa-var-stream: \f550;
+$fa-var-street-view: \f21d;
+$fa-var-stretcher: \f825;
+$fa-var-strikethrough: \f0cc;
+$fa-var-stripe: \f429;
+$fa-var-stripe-s: \f42a;
+$fa-var-stroopwafel: \f551;
+$fa-var-studiovinari: \f3f8;
+$fa-var-stumbleupon: \f1a4;
+$fa-var-stumbleupon-circle: \f1a3;
+$fa-var-subscript: \f12c;
+$fa-var-subway: \f239;
+$fa-var-suitcase: \f0f2;
+$fa-var-suitcase-rolling: \f5c1;
+$fa-var-sun: \f185;
+$fa-var-sun-cloud: \f763;
+$fa-var-sun-dust: \f764;
+$fa-var-sun-haze: \f765;
+$fa-var-sunrise: \f766;
+$fa-var-sunset: \f767;
+$fa-var-superpowers: \f2dd;
+$fa-var-superscript: \f12b;
+$fa-var-supple: \f3f9;
+$fa-var-surprise: \f5c2;
+$fa-var-suse: \f7d6;
+$fa-var-swatchbook: \f5c3;
+$fa-var-swimmer: \f5c4;
+$fa-var-swimming-pool: \f5c5;
+$fa-var-sword: \f71c;
+$fa-var-swords: \f71d;
+$fa-var-synagogue: \f69b;
+$fa-var-sync: \f021;
+$fa-var-sync-alt: \f2f1;
+$fa-var-syringe: \f48e;
+$fa-var-table: \f0ce;
+$fa-var-table-tennis: \f45d;
+$fa-var-tablet: \f10a;
+$fa-var-tablet-alt: \f3fa;
+$fa-var-tablet-android: \f3fb;
+$fa-var-tablet-android-alt: \f3fc;
+$fa-var-tablet-rugged: \f48f;
+$fa-var-tablets: \f490;
+$fa-var-tachometer: \f0e4;
+$fa-var-tachometer-alt: \f3fd;
+$fa-var-tachometer-alt-average: \f624;
+$fa-var-tachometer-alt-fast: \f625;
+$fa-var-tachometer-alt-fastest: \f626;
+$fa-var-tachometer-alt-slow: \f627;
+$fa-var-tachometer-alt-slowest: \f628;
+$fa-var-tachometer-average: \f629;
+$fa-var-tachometer-fast: \f62a;
+$fa-var-tachometer-fastest: \f62b;
+$fa-var-tachometer-slow: \f62c;
+$fa-var-tachometer-slowest: \f62d;
+$fa-var-taco: \f826;
+$fa-var-tag: \f02b;
+$fa-var-tags: \f02c;
+$fa-var-tally: \f69c;
+$fa-var-tanakh: \f827;
+$fa-var-tape: \f4db;
+$fa-var-tasks: \f0ae;
+$fa-var-tasks-alt: \f828;
+$fa-var-taxi: \f1ba;
+$fa-var-teamspeak: \f4f9;
+$fa-var-teeth: \f62e;
+$fa-var-teeth-open: \f62f;
+$fa-var-telegram: \f2c6;
+$fa-var-telegram-plane: \f3fe;
+$fa-var-temperature-frigid: \f768;
+$fa-var-temperature-high: \f769;
+$fa-var-temperature-hot: \f76a;
+$fa-var-temperature-low: \f76b;
+$fa-var-tencent-weibo: \f1d5;
+$fa-var-tenge: \f7d7;
+$fa-var-tennis-ball: \f45e;
+$fa-var-terminal: \f120;
+$fa-var-text-height: \f034;
+$fa-var-text-width: \f035;
+$fa-var-th: \f00a;
+$fa-var-th-large: \f009;
+$fa-var-th-list: \f00b;
+$fa-var-the-red-yeti: \f69d;
+$fa-var-theater-masks: \f630;
+$fa-var-themeco: \f5c6;
+$fa-var-themeisle: \f2b2;
+$fa-var-thermometer: \f491;
+$fa-var-thermometer-empty: \f2cb;
+$fa-var-thermometer-full: \f2c7;
+$fa-var-thermometer-half: \f2c9;
+$fa-var-thermometer-quarter: \f2ca;
+$fa-var-thermometer-three-quarters: \f2c8;
+$fa-var-theta: \f69e;
+$fa-var-think-peaks: \f731;
+$fa-var-thumbs-down: \f165;
+$fa-var-thumbs-up: \f164;
+$fa-var-thumbtack: \f08d;
+$fa-var-thunderstorm: \f76c;
+$fa-var-thunderstorm-moon: \f76d;
+$fa-var-thunderstorm-sun: \f76e;
+$fa-var-ticket: \f145;
+$fa-var-ticket-alt: \f3ff;
+$fa-var-tilde: \f69f;
+$fa-var-times: \f00d;
+$fa-var-times-circle: \f057;
+$fa-var-times-hexagon: \f2ee;
+$fa-var-times-octagon: \f2f0;
+$fa-var-times-square: \f2d3;
+$fa-var-tint: \f043;
+$fa-var-tint-slash: \f5c7;
+$fa-var-tire: \f631;
+$fa-var-tire-flat: \f632;
+$fa-var-tire-pressure-warning: \f633;
+$fa-var-tire-rugged: \f634;
+$fa-var-tired: \f5c8;
+$fa-var-toggle-off: \f204;
+$fa-var-toggle-on: \f205;
+$fa-var-toilet: \f7d8;
+$fa-var-toilet-paper: \f71e;
+$fa-var-toilet-paper-alt: \f71f;
+$fa-var-tombstone: \f720;
+$fa-var-tombstone-alt: \f721;
+$fa-var-toolbox: \f552;
+$fa-var-tools: \f7d9;
+$fa-var-tooth: \f5c9;
+$fa-var-toothbrush: \f635;
+$fa-var-torah: \f6a0;
+$fa-var-torii-gate: \f6a1;
+$fa-var-tornado: \f76f;
+$fa-var-tractor: \f722;
+$fa-var-trade-federation: \f513;
+$fa-var-trademark: \f25c;
+$fa-var-traffic-cone: \f636;
+$fa-var-traffic-light: \f637;
+$fa-var-traffic-light-go: \f638;
+$fa-var-traffic-light-slow: \f639;
+$fa-var-traffic-light-stop: \f63a;
+$fa-var-train: \f238;
+$fa-var-tram: \f7da;
+$fa-var-transgender: \f224;
+$fa-var-transgender-alt: \f225;
+$fa-var-trash: \f1f8;
+$fa-var-trash-alt: \f2ed;
+$fa-var-trash-restore: \f829;
+$fa-var-trash-restore-alt: \f82a;
+$fa-var-treasure-chest: \f723;
+$fa-var-tree: \f1bb;
+$fa-var-tree-alt: \f400;
+$fa-var-tree-christmas: \f7db;
+$fa-var-tree-decorated: \f7dc;
+$fa-var-tree-large: \f7dd;
+$fa-var-tree-palm: \f82b;
+$fa-var-trees: \f724;
+$fa-var-trello: \f181;
+$fa-var-triangle: \f2ec;
+$fa-var-tripadvisor: \f262;
+$fa-var-trophy: \f091;
+$fa-var-trophy-alt: \f2eb;
+$fa-var-truck: \f0d1;
+$fa-var-truck-container: \f4dc;
+$fa-var-truck-couch: \f4dd;
+$fa-var-truck-loading: \f4de;
+$fa-var-truck-monster: \f63b;
+$fa-var-truck-moving: \f4df;
+$fa-var-truck-pickup: \f63c;
+$fa-var-truck-plow: \f7de;
+$fa-var-truck-ramp: \f4e0;
+$fa-var-tshirt: \f553;
+$fa-var-tty: \f1e4;
+$fa-var-tumblr: \f173;
+$fa-var-tumblr-square: \f174;
+$fa-var-turkey: \f725;
+$fa-var-turtle: \f726;
+$fa-var-tv: \f26c;
+$fa-var-tv-retro: \f401;
+$fa-var-twitch: \f1e8;
+$fa-var-twitter: \f099;
+$fa-var-twitter-square: \f081;
+$fa-var-typo3: \f42b;
+$fa-var-uber: \f402;
+$fa-var-ubuntu: \f7df;
+$fa-var-uikit: \f403;
+$fa-var-umbrella: \f0e9;
+$fa-var-umbrella-beach: \f5ca;
+$fa-var-underline: \f0cd;
+$fa-var-undo: \f0e2;
+$fa-var-undo-alt: \f2ea;
+$fa-var-unicorn: \f727;
+$fa-var-union: \f6a2;
+$fa-var-uniregistry: \f404;
+$fa-var-universal-access: \f29a;
+$fa-var-university: \f19c;
+$fa-var-unlink: \f127;
+$fa-var-unlock: \f09c;
+$fa-var-unlock-alt: \f13e;
+$fa-var-untappd: \f405;
+$fa-var-upload: \f093;
+$fa-var-ups: \f7e0;
+$fa-var-usb: \f287;
+$fa-var-usd-circle: \f2e8;
+$fa-var-usd-square: \f2e9;
+$fa-var-user: \f007;
+$fa-var-user-alt: \f406;
+$fa-var-user-alt-slash: \f4fa;
+$fa-var-user-astronaut: \f4fb;
+$fa-var-user-chart: \f6a3;
+$fa-var-user-check: \f4fc;
+$fa-var-user-circle: \f2bd;
+$fa-var-user-clock: \f4fd;
+$fa-var-user-cog: \f4fe;
+$fa-var-user-crown: \f6a4;
+$fa-var-user-edit: \f4ff;
+$fa-var-user-friends: \f500;
+$fa-var-user-graduate: \f501;
+$fa-var-user-hard-hat: \f82c;
+$fa-var-user-headset: \f82d;
+$fa-var-user-injured: \f728;
+$fa-var-user-lock: \f502;
+$fa-var-user-md: \f0f0;
+$fa-var-user-md-chat: \f82e;
+$fa-var-user-minus: \f503;
+$fa-var-user-ninja: \f504;
+$fa-var-user-nurse: \f82f;
+$fa-var-user-plus: \f234;
+$fa-var-user-secret: \f21b;
+$fa-var-user-shield: \f505;
+$fa-var-user-slash: \f506;
+$fa-var-user-tag: \f507;
+$fa-var-user-tie: \f508;
+$fa-var-user-times: \f235;
+$fa-var-users: \f0c0;
+$fa-var-users-class: \f63d;
+$fa-var-users-cog: \f509;
+$fa-var-users-crown: \f6a5;
+$fa-var-users-medical: \f830;
+$fa-var-usps: \f7e1;
+$fa-var-ussunnah: \f407;
+$fa-var-utensil-fork: \f2e3;
+$fa-var-utensil-knife: \f2e4;
+$fa-var-utensil-spoon: \f2e5;
+$fa-var-utensils: \f2e7;
+$fa-var-utensils-alt: \f2e6;
+$fa-var-vaadin: \f408;
+$fa-var-value-absolute: \f6a6;
+$fa-var-vector-square: \f5cb;
+$fa-var-venus: \f221;
+$fa-var-venus-double: \f226;
+$fa-var-venus-mars: \f228;
+$fa-var-viacoin: \f237;
+$fa-var-viadeo: \f2a9;
+$fa-var-viadeo-square: \f2aa;
+$fa-var-vial: \f492;
+$fa-var-vials: \f493;
+$fa-var-viber: \f409;
+$fa-var-video: \f03d;
+$fa-var-video-plus: \f4e1;
+$fa-var-video-slash: \f4e2;
+$fa-var-vihara: \f6a7;
+$fa-var-vimeo: \f40a;
+$fa-var-vimeo-square: \f194;
+$fa-var-vimeo-v: \f27d;
+$fa-var-vine: \f1ca;
+$fa-var-vk: \f189;
+$fa-var-vnv: \f40b;
+$fa-var-volcano: \f770;
+$fa-var-volleyball-ball: \f45f;
+$fa-var-volume: \f6a8;
+$fa-var-volume-down: \f027;
+$fa-var-volume-mute: \f6a9;
+$fa-var-volume-off: \f026;
+$fa-var-volume-slash: \f2e2;
+$fa-var-volume-up: \f028;
+$fa-var-vote-nay: \f771;
+$fa-var-vote-yea: \f772;
+$fa-var-vr-cardboard: \f729;
+$fa-var-vuejs: \f41f;
+$fa-var-walker: \f831;
+$fa-var-walking: \f554;
+$fa-var-wallet: \f555;
+$fa-var-wand: \f72a;
+$fa-var-wand-magic: \f72b;
+$fa-var-warehouse: \f494;
+$fa-var-warehouse-alt: \f495;
+$fa-var-watch: \f2e1;
+$fa-var-watch-fitness: \f63e;
+$fa-var-water: \f773;
+$fa-var-water-lower: \f774;
+$fa-var-water-rise: \f775;
+$fa-var-webcam: \f832;
+$fa-var-webcam-slash: \f833;
+$fa-var-weebly: \f5cc;
+$fa-var-weibo: \f18a;
+$fa-var-weight: \f496;
+$fa-var-weight-hanging: \f5cd;
+$fa-var-weixin: \f1d7;
+$fa-var-whale: \f72c;
+$fa-var-whatsapp: \f232;
+$fa-var-whatsapp-square: \f40c;
+$fa-var-wheat: \f72d;
+$fa-var-wheelchair: \f193;
+$fa-var-whistle: \f460;
+$fa-var-whmcs: \f40d;
+$fa-var-wifi: \f1eb;
+$fa-var-wifi-1: \f6aa;
+$fa-var-wifi-2: \f6ab;
+$fa-var-wifi-slash: \f6ac;
+$fa-var-wikipedia-w: \f266;
+$fa-var-wind: \f72e;
+$fa-var-wind-warning: \f776;
+$fa-var-window: \f40e;
+$fa-var-window-alt: \f40f;
+$fa-var-window-close: \f410;
+$fa-var-window-maximize: \f2d0;
+$fa-var-window-minimize: \f2d1;
+$fa-var-window-restore: \f2d2;
+$fa-var-windows: \f17a;
+$fa-var-windsock: \f777;
+$fa-var-wine-bottle: \f72f;
+$fa-var-wine-glass: \f4e3;
+$fa-var-wine-glass-alt: \f5ce;
+$fa-var-wix: \f5cf;
+$fa-var-wizards-of-the-coast: \f730;
+$fa-var-wolf-pack-battalion: \f514;
+$fa-var-won-sign: \f159;
+$fa-var-wordpress: \f19a;
+$fa-var-wordpress-simple: \f411;
+$fa-var-wpbeginner: \f297;
+$fa-var-wpexplorer: \f2de;
+$fa-var-wpforms: \f298;
+$fa-var-wpressr: \f3e4;
+$fa-var-wreath: \f7e2;
+$fa-var-wrench: \f0ad;
+$fa-var-x-ray: \f497;
+$fa-var-xbox: \f412;
+$fa-var-xing: \f168;
+$fa-var-xing-square: \f169;
+$fa-var-y-combinator: \f23b;
+$fa-var-yahoo: \f19e;
+$fa-var-yandex: \f413;
+$fa-var-yandex-international: \f414;
+$fa-var-yarn: \f7e3;
+$fa-var-yelp: \f1e9;
+$fa-var-yen-sign: \f157;
+$fa-var-yin-yang: \f6ad;
+$fa-var-yoast: \f2b1;
+$fa-var-youtube: \f167;
+$fa-var-youtube-square: \f431;
+$fa-var-zhihu: \f63f;
diff --git a/src/scss/vendor/fontawesome/brands.scss b/src/scss/vendor/fontawesome/brands.scss
new file mode 100644
index 00000000..c0ae8b15
--- /dev/null
+++ b/src/scss/vendor/fontawesome/brands.scss
@@ -0,0 +1,18 @@
+@import 'variables';
+
+@font-face {
+ font-family: 'Font Awesome 5 Brands';
+ font-style: normal;
+ font-weight: normal;
+ font-display: $fa-font-display;
+ src: url('#{$fa-font-path}/fa-brands-400.eot');
+ src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),
+ url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),
+ url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),
+ url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),
+ url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');
+}
+
+.fab {
+ font-family: 'Font Awesome 5 Brands';
+}
diff --git a/src/scss/vendor/fontawesome/fontawesome.scss b/src/scss/vendor/fontawesome/fontawesome.scss
new file mode 100644
index 00000000..3312cf71
--- /dev/null
+++ b/src/scss/vendor/fontawesome/fontawesome.scss
@@ -0,0 +1,18 @@
+@import './variables';
+@import './mixins';
+@import './core';
+@import './larger';
+@import './fixed-width';
+@import './list';
+@import './bordered-pulled';
+@import './animated';
+@import './rotated-flipped';
+@import './stacked';
+@import './icons';
+@import './screen-reader';
+
+// Styles
+@import './brands';
+@import './light';
+@import './regular';
+@import './solid';
diff --git a/src/scss/vendor/fontawesome/light.scss b/src/scss/vendor/fontawesome/light.scss
new file mode 100644
index 00000000..2eae8343
--- /dev/null
+++ b/src/scss/vendor/fontawesome/light.scss
@@ -0,0 +1,19 @@
+@import 'variables';
+
+@font-face {
+ font-family: 'Font Awesome 5 Pro';
+ font-style: normal;
+ font-weight: 300;
+ font-display: $fa-font-display;
+ src: url('#{$fa-font-path}/fa-light-300.eot');
+ src: url('#{$fa-font-path}/fa-light-300.eot?#iefix') format('embedded-opentype'),
+ url('#{$fa-font-path}/fa-light-300.woff2') format('woff2'),
+ url('#{$fa-font-path}/fa-light-300.woff') format('woff'),
+ url('#{$fa-font-path}/fa-light-300.ttf') format('truetype'),
+ url('#{$fa-font-path}/fa-light-300.svg#fontawesome') format('svg');
+}
+
+.fal {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 300;
+}
diff --git a/src/scss/vendor/fontawesome/regular.scss b/src/scss/vendor/fontawesome/regular.scss
new file mode 100644
index 00000000..174d602f
--- /dev/null
+++ b/src/scss/vendor/fontawesome/regular.scss
@@ -0,0 +1,19 @@
+@import 'variables';
+
+@font-face {
+ font-family: 'Font Awesome 5 Pro';
+ font-style: normal;
+ font-weight: 400;
+ font-display: $fa-font-display;
+ src: url('#{$fa-font-path}/fa-regular-400.eot');
+ src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
+ url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),
+ url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),
+ url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),
+ url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
+}
+
+.far {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 400;
+}
diff --git a/src/scss/vendor/fontawesome/solid.scss b/src/scss/vendor/fontawesome/solid.scss
new file mode 100644
index 00000000..f3860d7c
--- /dev/null
+++ b/src/scss/vendor/fontawesome/solid.scss
@@ -0,0 +1,20 @@
+@import 'variables';
+
+@font-face {
+ font-family: 'Font Awesome 5 Pro';
+ font-style: normal;
+ font-weight: 900;
+ font-display: $fa-font-display;
+ src: url('#{$fa-font-path}/fa-solid-900.eot');
+ src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
+ url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),
+ url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),
+ url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),
+ url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
+}
+
+.fa,
+.fas {
+ font-family: 'Font Awesome 5 Pro';
+ font-weight: 900;
+}
diff --git a/src/scss/vendor/fontawesome/v4-shims.scss b/src/scss/vendor/fontawesome/v4-shims.scss
new file mode 100644
index 00000000..ab59ab64
--- /dev/null
+++ b/src/scss/vendor/fontawesome/v4-shims.scss
@@ -0,0 +1,2 @@
+@import 'variables';
+@import 'shims';
diff --git a/src/scss/vendor/select2/_dropdown.scss b/src/scss/vendor/select2/_dropdown.scss
new file mode 100755
index 00000000..fb891d31
--- /dev/null
+++ b/src/scss/vendor/select2/_dropdown.scss
@@ -0,0 +1,73 @@
+.select2-dropdown {
+ background-color: white;
+
+ border: 1px solid #aaa;
+ border-radius: 4px;
+
+ box-sizing: border-box;
+
+ display: block;
+
+ position: absolute;
+ left: -100000px;
+
+ width: 100%;
+
+ z-index: 1051;
+}
+
+.select2-results {
+ display: block;
+}
+
+.select2-results__options {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+.select2-results__option {
+ padding: 6px;
+
+ user-select: none;
+ -webkit-user-select: none;
+
+ &[aria-selected] {
+ cursor: pointer;
+ }
+}
+
+.select2-container--open .select2-dropdown {
+ left: 0;
+}
+
+.select2-container--open .select2-dropdown--above {
+ border-bottom: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.select2-container--open .select2-dropdown--below {
+ border-top: none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.select2-search--dropdown {
+ display: block;
+ padding: 4px;
+
+ .select2-search__field {
+ padding: 4px;
+ width: 100%;
+ box-sizing: border-box;
+
+ &::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+ }
+ }
+
+ &.select2-search--hide {
+ display: none;
+ }
+}
diff --git a/src/scss/vendor/select2/_multiple.scss b/src/scss/vendor/select2/_multiple.scss
new file mode 100755
index 00000000..981d2083
--- /dev/null
+++ b/src/scss/vendor/select2/_multiple.scss
@@ -0,0 +1,35 @@
+.select2-selection--multiple {
+ box-sizing: border-box;
+
+ cursor: pointer;
+ display: block;
+
+ min-height: 32px;
+
+ user-select: none;
+ -webkit-user-select: none;
+
+ .select2-selection__rendered {
+ display: inline-block;
+ overflow: hidden;
+ padding-left: 8px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+}
+
+.select2-search--inline {
+ float: left;
+
+ .select2-search__field {
+ box-sizing: border-box;
+ border: none;
+ font-size: 100%;
+ margin-top: 5px;
+ padding: 0;
+
+ &::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+ }
+ }
+}
diff --git a/src/scss/vendor/select2/_single.scss b/src/scss/vendor/select2/_single.scss
new file mode 100755
index 00000000..6c3418e6
--- /dev/null
+++ b/src/scss/vendor/select2/_single.scss
@@ -0,0 +1,34 @@
+.select2-selection--single {
+ box-sizing: border-box;
+
+ cursor: pointer;
+ display: block;
+
+ height: 28px;
+
+ user-select: none;
+ -webkit-user-select: none;
+
+ .select2-selection__rendered {
+ display: block;
+ padding-left: 8px;
+ padding-right: 20px;
+
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ .select2-selection__clear {
+ position: relative;
+ }
+}
+
+&[dir="rtl"] {
+ .select2-selection--single {
+ .select2-selection__rendered {
+ padding-right: 8px;
+ padding-left: 20px;
+ }
+ }
+}
diff --git a/src/scss/vendor/select2/core.scss b/src/scss/vendor/select2/core.scss
new file mode 100755
index 00000000..950fa64c
--- /dev/null
+++ b/src/scss/vendor/select2/core.scss
@@ -0,0 +1,53 @@
+.select2-custom {
+ .select2-container {
+ box-sizing: border-box;
+ width: 100% !important;
+ display: block;
+ margin: 0;
+ position: relative;
+ vertical-align: middle;
+
+ @import "single";
+ @import "multiple";
+ }
+
+ @import "dropdown";
+
+ .select2-close-mask {
+ border: 0;
+ margin: 0;
+ padding: 0;
+ display: block;
+ position: fixed;
+ left: 0;
+ top: 0;
+ min-height: 100%;
+ min-width: 100%;
+ height: auto;
+ width: auto;
+ opacity: 0;
+ z-index: 99;
+
+ // styles required for IE to work
+
+ background-color: #fff;
+ filter: alpha(opacity=0);
+ }
+
+ .select2-hidden-accessible {
+ border: 0 !important;
+ clip: rect(0 0 0 0) !important;
+ -webkit-clip-path: inset(50%) !important;
+ clip-path: inset(50%) !important;
+ height: 1px !important;
+ overflow: hidden !important;
+ padding: 0 !important;
+ position: absolute !important;
+ width: 1px !important;
+ white-space: nowrap !important;
+ }
+
+ @import "theme/default/layout";
+ @import "theme/classic/layout";
+ @import "theme/bootstrap/layout";
+}
diff --git a/src/scss/vendor/select2/mixins/_gradients.scss b/src/scss/vendor/select2/mixins/_gradients.scss
new file mode 100755
index 00000000..05a6195c
--- /dev/null
+++ b/src/scss/vendor/select2/mixins/_gradients.scss
@@ -0,0 +1,13 @@
+// https://github.com/twbs/bootstrap-sass/blob/3.3-stable/assets/stylesheets/bootstrap/mixins/_gradients.scss#L17-L27
+
+// Vertical gradient, from top to bottom
+//
+// Creates two color stops, start and end, by specifying a color and position for each color stop.
+// Color stops are not available in IE9 and below.
+@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
+ background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
+ background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
+ background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
+}
diff --git a/src/scss/vendor/select2/theme/bootstrap/_multiple.scss b/src/scss/vendor/select2/theme/bootstrap/_multiple.scss
new file mode 100755
index 00000000..9ae367af
--- /dev/null
+++ b/src/scss/vendor/select2/theme/bootstrap/_multiple.scss
@@ -0,0 +1,44 @@
+.select2-container--default {
+ .select2-selection--multiple {
+
+ // height of input box
+ min-height: $input-height !important;
+
+ // input box
+ .select2-selection__rendered {
+ box-sizing: border-box;
+ list-style: none;
+ margin: 0;
+ padding: 0 5px;
+ width: 100%;
+ }
+
+ // each selected item in input box
+ .select2-selection__choice {
+ color: $dark;
+ border: 1px solid darken($light, 20%);
+ border-radius: $btn-border-radius-sm;
+ padding: 0;
+ padding-right: 5px;
+ cursor: pointer;
+ float: left;
+ margin-top: 0.3em;
+ margin-right: 5px;
+ }
+
+ // x button of each selected item in input box
+ .select2-selection__choice__remove {
+ color: darken($light, 20%);
+ font-weight: bold;
+ margin-left: 3px;
+ margin-right: 1px;
+ padding-right: 3px;
+ padding-left: 3px;
+ float: left;
+
+ &:hover {
+ color: $dark;
+ }
+ }
+ }
+}
diff --git a/src/scss/vendor/select2/theme/bootstrap/_single.scss b/src/scss/vendor/select2/theme/bootstrap/_single.scss
new file mode 100755
index 00000000..4934b98e
--- /dev/null
+++ b/src/scss/vendor/select2/theme/bootstrap/_single.scss
@@ -0,0 +1,50 @@
+.select2-container--default {
+ .select2-selection--single {
+
+ // height of input box
+ height: $input-height !important;
+
+ // placeholder
+ .select2-selection__placeholder {
+ // #757575 is same color of placeholder (on Chrome)
+ color: #757575;
+ line-height: $input-height-inner;
+ }
+
+ // arrow
+ .select2-selection__arrow {
+ position: absolute;
+ right: 3px;
+ width: 20px;
+
+ b {
+ top: 60%;
+ border-color: $dark transparent transparent transparent;
+ border-style: solid;
+ border-width: 5px 4px 0 4px;
+ width: 0;
+ height: 0;
+ left: 50%;
+ margin-left: -4px;
+ margin-top: -2px;
+ position: absolute;
+ }
+ }
+
+ // selected item
+ .select2-selection__rendered {
+ line-height: $input-height-inner;
+ }
+ }
+}
+
+// search box
+.select2-search--dropdown .select2-search__field {
+ border: $input-border-width solid $input-border-color;
+ border-radius: $input-border-radius;
+}
+
+// no result message
+.select2-results__message {
+ color: $secondary;
+}
diff --git a/src/scss/vendor/select2/theme/bootstrap/layout.scss b/src/scss/vendor/select2/theme/bootstrap/layout.scss
new file mode 100755
index 00000000..ab726ce9
--- /dev/null
+++ b/src/scss/vendor/select2/theme/bootstrap/layout.scss
@@ -0,0 +1,99 @@
+@import "single";
+@import "multiple";
+
+// basic
+.select2-container {
+ *:focus {
+ outline: 0;
+ }
+}
+
+.select2-container--default {
+
+ // input box
+ .select2-selection {
+ border: $input-border-width solid $input-border-color;
+ border-radius: $input-border-radius;
+ width: 100%;
+ }
+
+ // focused input box
+ &.select2-container--focus {
+ .select2-selection {
+ border-color: $info;
+ box-shadow: $input-focus-box-shadow;
+ }
+
+ // when open, hide bottom border
+ &.select2-container--open .select2-selection {
+ border-bottom: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ }
+
+ // validated input box
+ select.is-invalid ~ & .select2-selection {
+ border-color: $danger;
+ }
+ select.is-valid ~ & .select2-selection {
+ border-color: $success;
+ }
+
+ // dropdown
+ .select2-dropdown {
+ border-color: $input-border-color;
+
+ border-top: none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+
+ // selected item
+ .select2-results__option[aria-selected=true] {
+ background-color: darken($light, 5%);
+ }
+ }
+
+ // mouse hovered item
+ .select2-results__option--highlighted,
+ .select2-results__option--highlighted.select2-results__option[aria-selected=true] {
+ background-color: $primary;
+ color: $light;
+ }
+
+ // for |