/*!
 * Sonata CSS Framework v0.1.3
 * https://github.com/alexcandelas/sonata
 * MIT License
 */
/*
================================================================================
Dashboard
================================================================================
*/
/*
================================================================================
Menu
================================================================================
*/
/*
================================================================================
Subject statuses
================================================================================
*/
/*
===============================================================================
Triangle
===============================================================================
*/
/**
 * Create a triangle shape in generated content.
 */
/*
================================================================================
Box sizing
================================================================================
*/
*,
*::before,
*::after {
  -moz-box-sizing: inherit;
       box-sizing: inherit;
}

html {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1, .h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -moz-box-sizing: content-box;
       box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 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;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*
================================================================================
Base
================================================================================

Resets and basic styles on top of Normalize.css.
*/
/*
 * Set up vertical rhythm in block elements.
 * A recommendation by Harry Roberts:
 * http://csswizardry.com/2012/06/single-direction-margin-declarations
 */
address, blockquote, figure, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
dl, ol, ul, p, pre,
form, fieldset {
  margin-bottom: 1rem;
  margin-top: 0;
}

address:last-child, blockquote:last-child, figure:last-child,
h1:last-child,
.h1:last-child, h2:last-child, .h2:last-child, h3:last-child, .h3:last-child, h4:last-child, .h4:last-child, h5:last-child, .h5:last-child, h6:last-child, .h6:last-child,
dl:last-child, ol:last-child, ul:last-child, p:last-child, pre:last-child,
form:last-child, fieldset:last-child {
  margin-bottom: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * 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;
}

fieldset {
  border: 0;
  padding: 0;
}

iframe {
  border: 0;
}

img,
embed,
object,
audio,
video {
  max-width: 100%;
}

img,
video {
  height: auto;
}

/*
 * Add the correct display for IE 11.
 */
main {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-top: 0;
}

caption,
td,
th {
  text-align: left;
}

textarea {
  resize: vertical;
}

/*
 * 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: none !important;
}

/*
================================================================================
Page
================================================================================
*/
/*
 * 1. Set the global font-size in ems.
 */
html {
  font-family: "Lato", sans-serif;
  font-size: 1em;
  /* 1 */
  font-weight: 400;
  line-height: 1.6;
  min-height: 100%;
}

body {
  background-color: #fff;
  color: #3a4148;
  padding: 0;
}

/*
================================================================================
Buttons
================================================================================
*/
button {
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  vertical-align: middle;
}

button:disabled {
  cursor: not-allowed;
  filter: saturate(0.7);
  opacity: 0.6;
}

/*
================================================================================
Forms
================================================================================
*/
input,
select,
textarea {
  background-color: #fff;
  border: 1px solid #d6dadd;
  color: #3a4148;
}

input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  filter: saturate(0.7);
  opacity: 0.6;
}

/*
 * Set a gray background for disabled controls.
 */
input:disabled:not([type="submit"]),
select:disabled,
textarea:disabled {
  background-color: #f0f2f3;
}

label,
legend {
  display: inline-block;
  margin-bottom: 0.25em;
  max-width: 100%;
}

option {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-bottom: 0.1em;
  padding-top: 0.1em;
}

[type="checkbox"],
[type="radio"] {
  cursor: pointer;
  margin-right: 0.25em;
  vertical-align: baseline;
}

/*
================================================================================
Lists
================================================================================
*/
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

dt {
  font-weight: 700;
}

ol, ul {
  margin-left: 1.2rem;
  padding-left: 0;
}

li > ol, li > ul {
  margin-bottom: 0;
}

/*
================================================================================
Headings
================================================================================
*/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: #202428;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 1.2;
}

h1, .h1 {
  font-size: 2.44rem;
  margin-bottom: 1em;
}

h2, .h2 {
  font-size: 1.95rem;
}

h3, .h3 {
  font-size: 1.56rem;
}

h4, .h4 {
  font-size: 1.25rem;
}

h5, .h5 {
  font-size: 1rem;
}

h6, .h6 {
  font-size: 0.85rem;
}

/*
================================================================================
Text
================================================================================
*/
a {
  color: #39c;
  text-decoration: none;
}

a:focus, a:hover, a:active {
  color: #246b8e;
  text-decoration: underline;
}

blockquote {
  background-color: #f9fafa;
  border-left: 4px solid #e7e9ec;
  margin-bottom: 2rem;
  padding: 2em 2em 2em 4em;
  position: relative;
  quotes: "\201C" "\201D";
}

blockquote::before {
  color: #d6dadd;
  content: open-quote;
  display: block;
  font: 3em/1 "Lato", sans-serif;
  position: absolute;
  top: 0.4em;
  left: 0.4em;
}

figcaption {
  color: #8a96a1;
  font-size: 0.8rem;
  padding-top: 0.25rem;
}

hr {
  border: 0;
  border-top: 1px solid #d6dadd;
  display: block;
  height: 1px;
  margin: 1rem 0;
  padding: 0;
}

/* Semantic inline elements
============================================================================= */
code, kbd, pre, samp, var {
  font-family: monospace;
  font-size: 90%;
}

code,
kbd,
samp {
  display: inline-block;
  line-height: 1;
  padding: 0.3em 0.3em 0.2em;
  position: relative;
  top: -1px;
}

abbr[title] {
  cursor: help;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

cite {
  color: #8a96a1;
}

code {
  background-color: #f0f2f3;
}

kbd {
  border: 1px solid #d6dadd;
  border-radius: 3px;
}

mark {
  background-color: #ffe86b;
  color: #3a4148;
}

small {
  font-size: 80%;
}

strong {
  font-weight: 700;
}

sub,
sup {
  font-size: 70%;
  line-height: 0;
  margin-left: 0.25em;
}

/*
================================================================================
Box
================================================================================

The box object is just a container with some padding for breathing room.
*/
.box {
  margin-bottom: 1rem;
  padding: 1rem;
}

.box > :last-child {
  margin-bottom: 0;
}

.box--xs {
  padding: 0.5rem;
}

.box--sm {
  padding: 0.75rem;
}

.box--lg {
  padding: 1.5rem;
}

.box--xl {
  padding: 2rem;
}

.box--2xl {
  padding: 3rem;
}

/*
================================================================================
Container
================================================================================

The container object is widely used in a project to wrap the content and
provide some padding between the elements and the edge of the window.

Two types of containers are provided: the `.fluid-container` will
always stretch to fill the full width of the browser window, while
the `.container` is limited to the defined max-width.
*/
.container,
.fluid-container {
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}

@media (min-width: 20em) {
  .container,
  .fluid-container {
    padding-left: -moz-calc(3px + 3.75vw);
    padding-left: calc(3px + 3.75vw);
  }
}

@media (min-width: 45em) {
  .container,
  .fluid-container {
    padding-left: 30px;
  }
}

@media (min-width: 20em) {
  .container,
  .fluid-container {
    padding-right: -moz-calc(3px + 3.75vw);
    padding-right: calc(3px + 3.75vw);
  }
}

@media (min-width: 45em) {
  .container,
  .fluid-container {
    padding-right: 30px;
  }
}

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1170px;
}

/*
================================================================================
Form control
================================================================================

For grouping a form field and all its related elements (label,
description or validation messages).
*/
.form-control {
  margin-bottom: 1.5rem;
  position: relative;
}

.form-control:last-child {
  margin-bottom: 0;
}

/*
================================================================================
Row
================================================================================

The row object is a flex container for grid columns.
*/
.row {
  display: -moz-box;
  display: flex;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
       flex-flow: row wrap;
}

@media (min-width: 37.5em) {
  .sm\:row {
    display: -moz-box;
    display: flex;
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
         flex-flow: row wrap;
  }
}

@media (min-width: 45em) {
  .md\:row {
    display: -moz-box;
    display: flex;
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
         flex-flow: row wrap;
  }
}

@media (min-width: 60em) {
  .lg\:row {
    display: -moz-box;
    display: flex;
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
         flex-flow: row wrap;
  }
}

/*
================================================================================
Columns
================================================================================

Grid columns are built on flexbox and must be used inside a `.row` object
or another flex container to display properly. Widths are set in percentages.

The grid system is based on LostGrid (http://lostgrid.org).
*/
.col {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: 100%;
}

.col:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col:last-child {
  margin-right: 0;
}

.col:nth-child(1n) {
  margin-left: auto;
  margin-right: 0;
}

.col-1\/12 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 1/12 - (30px - 1/12 * 30px));
  width: calc(99.9% * 1/12 - (30px - 1/12 * 30px));
}

.col-1\/12:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-1\/12:last-child {
  margin-right: 0;
}

.col-1\/10 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 1/10 - (30px - 1/10 * 30px));
  width: calc(99.9% * 1/10 - (30px - 1/10 * 30px));
}

.col-1\/10:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-1\/10:last-child {
  margin-right: 0;
}

.col-1\/6 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 1/6 - (30px - 1/6 * 30px));
  width: calc(99.9% * 1/6 - (30px - 1/6 * 30px));
}

.col-1\/6:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-1\/6:last-child {
  margin-right: 0;
}

.col-1\/5 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 1/5 - (30px - 1/5 * 30px));
  width: calc(99.9% * 1/5 - (30px - 1/5 * 30px));
}

.col-1\/5:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-1\/5:last-child {
  margin-right: 0;
}

.col-1\/4 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 1/4 - (30px - 1/4 * 30px));
  width: calc(99.9% * 1/4 - (30px - 1/4 * 30px));
}

.col-1\/4:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-1\/4:last-child {
  margin-right: 0;
}

.col-3\/10 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 3/10 - (30px - 3/10 * 30px));
  width: calc(99.9% * 3/10 - (30px - 3/10 * 30px));
}

.col-3\/10:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-3\/10:last-child {
  margin-right: 0;
}

.col-1\/3 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 1/3 - (30px - 1/3 * 30px));
  width: calc(99.9% * 1/3 - (30px - 1/3 * 30px));
}

.col-1\/3:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-1\/3:last-child {
  margin-right: 0;
}

.col-2\/5 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 2/5 - (30px - 2/5 * 30px));
  width: calc(99.9% * 2/5 - (30px - 2/5 * 30px));
}

.col-2\/5:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-2\/5:last-child {
  margin-right: 0;
}

.col-5\/12 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 5/12 - (30px - 5/12 * 30px));
  width: calc(99.9% * 5/12 - (30px - 5/12 * 30px));
}

.col-5\/12:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-5\/12:last-child {
  margin-right: 0;
}

.col-1\/2 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 1/2 - (30px - 1/2 * 30px));
  width: calc(99.9% * 1/2 - (30px - 1/2 * 30px));
}

.col-1\/2:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-1\/2:last-child {
  margin-right: 0;
}

.col-7\/12 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 7/12 - (30px - 7/12 * 30px));
  width: calc(99.9% * 7/12 - (30px - 7/12 * 30px));
}

.col-7\/12:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-7\/12:last-child {
  margin-right: 0;
}

.col-3\/5 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 3/5 - (30px - 3/5 * 30px));
  width: calc(99.9% * 3/5 - (30px - 3/5 * 30px));
}

.col-3\/5:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-3\/5:last-child {
  margin-right: 0;
}

.col-2\/3 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 2/3 - (30px - 2/3 * 30px));
  width: calc(99.9% * 2/3 - (30px - 2/3 * 30px));
}

.col-2\/3:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-2\/3:last-child {
  margin-right: 0;
}

.col-7\/10 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 7/10 - (30px - 7/10 * 30px));
  width: calc(99.9% * 7/10 - (30px - 7/10 * 30px));
}

.col-7\/10:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-7\/10:last-child {
  margin-right: 0;
}

.col-3\/4 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 3/4 - (30px - 3/4 * 30px));
  width: calc(99.9% * 3/4 - (30px - 3/4 * 30px));
}

.col-3\/4:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-3\/4:last-child {
  margin-right: 0;
}

.col-4\/5 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 4/5 - (30px - 4/5 * 30px));
  width: calc(99.9% * 4/5 - (30px - 4/5 * 30px));
}

.col-4\/5:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-4\/5:last-child {
  margin-right: 0;
}

.col-5\/6 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 5/6 - (30px - 5/6 * 30px));
  width: calc(99.9% * 5/6 - (30px - 5/6 * 30px));
}

.col-5\/6:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-5\/6:last-child {
  margin-right: 0;
}

.col-9\/10 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 9/10 - (30px - 9/10 * 30px));
  width: calc(99.9% * 9/10 - (30px - 9/10 * 30px));
}

.col-9\/10:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-9\/10:last-child {
  margin-right: 0;
}

.col-11\/12 {
  -moz-box-flex: 0;
       flex-grow: 0;
  flex-shrink: 0;
  width: -moz-calc(99.9% * 11/12 - (30px - 11/12 * 30px));
  width: calc(99.9% * 11/12 - (30px - 11/12 * 30px));
}

.col-11\/12:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-11\/12:last-child {
  margin-right: 0;
}

.col-auto {
  -moz-box-flex: 1;
       flex: 1;
  width: auto;
}

.col-auto:nth-child(n) {
  margin-left: 0;
  margin-right: 30px;
}

.col-auto:last-child {
  margin-right: 0;
}

@media (min-width: 37.5em) {
  .sm\:col {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: 100%;
  }
  .sm\:col:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col:last-child {
    margin-right: 0;
  }
  .sm\:col:nth-child(1n) {
    margin-left: auto;
    margin-right: 0;
  }
  .sm\:col-1\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/12 - (30px - 1/12 * 30px));
    width: calc(99.9% * 1/12 - (30px - 1/12 * 30px));
  }
  .sm\:col-1\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-1\/12:last-child {
    margin-right: 0;
  }
  .sm\:col-1\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/10 - (30px - 1/10 * 30px));
    width: calc(99.9% * 1/10 - (30px - 1/10 * 30px));
  }
  .sm\:col-1\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-1\/10:last-child {
    margin-right: 0;
  }
  .sm\:col-1\/6 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/6 - (30px - 1/6 * 30px));
    width: calc(99.9% * 1/6 - (30px - 1/6 * 30px));
  }
  .sm\:col-1\/6:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-1\/6:last-child {
    margin-right: 0;
  }
  .sm\:col-1\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/5 - (30px - 1/5 * 30px));
    width: calc(99.9% * 1/5 - (30px - 1/5 * 30px));
  }
  .sm\:col-1\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-1\/5:last-child {
    margin-right: 0;
  }
  .sm\:col-1\/4 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/4 - (30px - 1/4 * 30px));
    width: calc(99.9% * 1/4 - (30px - 1/4 * 30px));
  }
  .sm\:col-1\/4:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-1\/4:last-child {
    margin-right: 0;
  }
  .sm\:col-3\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/10 - (30px - 3/10 * 30px));
    width: calc(99.9% * 3/10 - (30px - 3/10 * 30px));
  }
  .sm\:col-3\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-3\/10:last-child {
    margin-right: 0;
  }
  .sm\:col-1\/3 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/3 - (30px - 1/3 * 30px));
    width: calc(99.9% * 1/3 - (30px - 1/3 * 30px));
  }
  .sm\:col-1\/3:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-1\/3:last-child {
    margin-right: 0;
  }
  .sm\:col-2\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 2/5 - (30px - 2/5 * 30px));
    width: calc(99.9% * 2/5 - (30px - 2/5 * 30px));
  }
  .sm\:col-2\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-2\/5:last-child {
    margin-right: 0;
  }
  .sm\:col-5\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 5/12 - (30px - 5/12 * 30px));
    width: calc(99.9% * 5/12 - (30px - 5/12 * 30px));
  }
  .sm\:col-5\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-5\/12:last-child {
    margin-right: 0;
  }
  .sm\:col-1\/2 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/2 - (30px - 1/2 * 30px));
    width: calc(99.9% * 1/2 - (30px - 1/2 * 30px));
  }
  .sm\:col-1\/2:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-1\/2:last-child {
    margin-right: 0;
  }
  .sm\:col-7\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 7/12 - (30px - 7/12 * 30px));
    width: calc(99.9% * 7/12 - (30px - 7/12 * 30px));
  }
  .sm\:col-7\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-7\/12:last-child {
    margin-right: 0;
  }
  .sm\:col-3\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/5 - (30px - 3/5 * 30px));
    width: calc(99.9% * 3/5 - (30px - 3/5 * 30px));
  }
  .sm\:col-3\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-3\/5:last-child {
    margin-right: 0;
  }
  .sm\:col-2\/3 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 2/3 - (30px - 2/3 * 30px));
    width: calc(99.9% * 2/3 - (30px - 2/3 * 30px));
  }
  .sm\:col-2\/3:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-2\/3:last-child {
    margin-right: 0;
  }
  .sm\:col-7\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 7/10 - (30px - 7/10 * 30px));
    width: calc(99.9% * 7/10 - (30px - 7/10 * 30px));
  }
  .sm\:col-7\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-7\/10:last-child {
    margin-right: 0;
  }
  .sm\:col-3\/4 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/4 - (30px - 3/4 * 30px));
    width: calc(99.9% * 3/4 - (30px - 3/4 * 30px));
  }
  .sm\:col-3\/4:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-3\/4:last-child {
    margin-right: 0;
  }
  .sm\:col-4\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 4/5 - (30px - 4/5 * 30px));
    width: calc(99.9% * 4/5 - (30px - 4/5 * 30px));
  }
  .sm\:col-4\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-4\/5:last-child {
    margin-right: 0;
  }
  .sm\:col-5\/6 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 5/6 - (30px - 5/6 * 30px));
    width: calc(99.9% * 5/6 - (30px - 5/6 * 30px));
  }
  .sm\:col-5\/6:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-5\/6:last-child {
    margin-right: 0;
  }
  .sm\:col-9\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 9/10 - (30px - 9/10 * 30px));
    width: calc(99.9% * 9/10 - (30px - 9/10 * 30px));
  }
  .sm\:col-9\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-9\/10:last-child {
    margin-right: 0;
  }
  .sm\:col-11\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 11/12 - (30px - 11/12 * 30px));
    width: calc(99.9% * 11/12 - (30px - 11/12 * 30px));
  }
  .sm\:col-11\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-11\/12:last-child {
    margin-right: 0;
  }
  .sm\:col-auto {
    -moz-box-flex: 1;
         flex: 1;
    width: auto;
  }
  .sm\:col-auto:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .sm\:col-auto:last-child {
    margin-right: 0;
  }
}

@media (min-width: 45em) {
  .md\:col {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: 100%;
  }
  .md\:col:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col:last-child {
    margin-right: 0;
  }
  .md\:col:nth-child(1n) {
    margin-left: auto;
    margin-right: 0;
  }
  .md\:col-1\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/12 - (30px - 1/12 * 30px));
    width: calc(99.9% * 1/12 - (30px - 1/12 * 30px));
  }
  .md\:col-1\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-1\/12:last-child {
    margin-right: 0;
  }
  .md\:col-1\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/10 - (30px - 1/10 * 30px));
    width: calc(99.9% * 1/10 - (30px - 1/10 * 30px));
  }
  .md\:col-1\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-1\/10:last-child {
    margin-right: 0;
  }
  .md\:col-1\/6 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/6 - (30px - 1/6 * 30px));
    width: calc(99.9% * 1/6 - (30px - 1/6 * 30px));
  }
  .md\:col-1\/6:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-1\/6:last-child {
    margin-right: 0;
  }
  .md\:col-1\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/5 - (30px - 1/5 * 30px));
    width: calc(99.9% * 1/5 - (30px - 1/5 * 30px));
  }
  .md\:col-1\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-1\/5:last-child {
    margin-right: 0;
  }
  .md\:col-1\/4 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/4 - (30px - 1/4 * 30px));
    width: calc(99.9% * 1/4 - (30px - 1/4 * 30px));
  }
  .md\:col-1\/4:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-1\/4:last-child {
    margin-right: 0;
  }
  .md\:col-3\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/10 - (30px - 3/10 * 30px));
    width: calc(99.9% * 3/10 - (30px - 3/10 * 30px));
  }
  .md\:col-3\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-3\/10:last-child {
    margin-right: 0;
  }
  .md\:col-1\/3 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/3 - (30px - 1/3 * 30px));
    width: calc(99.9% * 1/3 - (30px - 1/3 * 30px));
  }
  .md\:col-1\/3:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-1\/3:last-child {
    margin-right: 0;
  }
  .md\:col-2\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 2/5 - (30px - 2/5 * 30px));
    width: calc(99.9% * 2/5 - (30px - 2/5 * 30px));
  }
  .md\:col-2\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-2\/5:last-child {
    margin-right: 0;
  }
  .md\:col-5\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 5/12 - (30px - 5/12 * 30px));
    width: calc(99.9% * 5/12 - (30px - 5/12 * 30px));
  }
  .md\:col-5\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-5\/12:last-child {
    margin-right: 0;
  }
  .md\:col-1\/2 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/2 - (30px - 1/2 * 30px));
    width: calc(99.9% * 1/2 - (30px - 1/2 * 30px));
  }
  .md\:col-1\/2:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-1\/2:last-child {
    margin-right: 0;
  }
  .md\:col-7\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 7/12 - (30px - 7/12 * 30px));
    width: calc(99.9% * 7/12 - (30px - 7/12 * 30px));
  }
  .md\:col-7\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-7\/12:last-child {
    margin-right: 0;
  }
  .md\:col-3\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/5 - (30px - 3/5 * 30px));
    width: calc(99.9% * 3/5 - (30px - 3/5 * 30px));
  }
  .md\:col-3\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-3\/5:last-child {
    margin-right: 0;
  }
  .md\:col-2\/3 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 2/3 - (30px - 2/3 * 30px));
    width: calc(99.9% * 2/3 - (30px - 2/3 * 30px));
  }
  .md\:col-2\/3:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-2\/3:last-child {
    margin-right: 0;
  }
  .md\:col-7\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 7/10 - (30px - 7/10 * 30px));
    width: calc(99.9% * 7/10 - (30px - 7/10 * 30px));
  }
  .md\:col-7\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-7\/10:last-child {
    margin-right: 0;
  }
  .md\:col-3\/4 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/4 - (30px - 3/4 * 30px));
    width: calc(99.9% * 3/4 - (30px - 3/4 * 30px));
  }
  .md\:col-3\/4:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-3\/4:last-child {
    margin-right: 0;
  }
  .md\:col-4\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 4/5 - (30px - 4/5 * 30px));
    width: calc(99.9% * 4/5 - (30px - 4/5 * 30px));
  }
  .md\:col-4\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-4\/5:last-child {
    margin-right: 0;
  }
  .md\:col-5\/6 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 5/6 - (30px - 5/6 * 30px));
    width: calc(99.9% * 5/6 - (30px - 5/6 * 30px));
  }
  .md\:col-5\/6:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-5\/6:last-child {
    margin-right: 0;
  }
  .md\:col-9\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 9/10 - (30px - 9/10 * 30px));
    width: calc(99.9% * 9/10 - (30px - 9/10 * 30px));
  }
  .md\:col-9\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-9\/10:last-child {
    margin-right: 0;
  }
  .md\:col-11\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 11/12 - (30px - 11/12 * 30px));
    width: calc(99.9% * 11/12 - (30px - 11/12 * 30px));
  }
  .md\:col-11\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-11\/12:last-child {
    margin-right: 0;
  }
  .md\:col-auto {
    -moz-box-flex: 1;
         flex: 1;
    width: auto;
  }
  .md\:col-auto:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .md\:col-auto:last-child {
    margin-right: 0;
  }
}

@media (min-width: 60em) {
  .lg\:col {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: 100%;
  }
  .lg\:col:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col:last-child {
    margin-right: 0;
  }
  .lg\:col:nth-child(1n) {
    margin-left: auto;
    margin-right: 0;
  }
  .lg\:col-1\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/12 - (30px - 1/12 * 30px));
    width: calc(99.9% * 1/12 - (30px - 1/12 * 30px));
  }
  .lg\:col-1\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-1\/12:last-child {
    margin-right: 0;
  }
  .lg\:col-1\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/10 - (30px - 1/10 * 30px));
    width: calc(99.9% * 1/10 - (30px - 1/10 * 30px));
  }
  .lg\:col-1\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-1\/10:last-child {
    margin-right: 0;
  }
  .lg\:col-1\/6 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/6 - (30px - 1/6 * 30px));
    width: calc(99.9% * 1/6 - (30px - 1/6 * 30px));
  }
  .lg\:col-1\/6:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-1\/6:last-child {
    margin-right: 0;
  }
  .lg\:col-1\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/5 - (30px - 1/5 * 30px));
    width: calc(99.9% * 1/5 - (30px - 1/5 * 30px));
  }
  .lg\:col-1\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-1\/5:last-child {
    margin-right: 0;
  }
  .lg\:col-1\/4 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/4 - (30px - 1/4 * 30px));
    width: calc(99.9% * 1/4 - (30px - 1/4 * 30px));
  }
  .lg\:col-1\/4:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-1\/4:last-child {
    margin-right: 0;
  }
  .lg\:col-3\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/10 - (30px - 3/10 * 30px));
    width: calc(99.9% * 3/10 - (30px - 3/10 * 30px));
  }
  .lg\:col-3\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-3\/10:last-child {
    margin-right: 0;
  }
  .lg\:col-1\/3 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/3 - (30px - 1/3 * 30px));
    width: calc(99.9% * 1/3 - (30px - 1/3 * 30px));
  }
  .lg\:col-1\/3:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-1\/3:last-child {
    margin-right: 0;
  }
  .lg\:col-2\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 2/5 - (30px - 2/5 * 30px));
    width: calc(99.9% * 2/5 - (30px - 2/5 * 30px));
  }
  .lg\:col-2\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-2\/5:last-child {
    margin-right: 0;
  }
  .lg\:col-5\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 5/12 - (30px - 5/12 * 30px));
    width: calc(99.9% * 5/12 - (30px - 5/12 * 30px));
  }
  .lg\:col-5\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-5\/12:last-child {
    margin-right: 0;
  }
  .lg\:col-1\/2 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 1/2 - (30px - 1/2 * 30px));
    width: calc(99.9% * 1/2 - (30px - 1/2 * 30px));
  }
  .lg\:col-1\/2:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-1\/2:last-child {
    margin-right: 0;
  }
  .lg\:col-7\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 7/12 - (30px - 7/12 * 30px));
    width: calc(99.9% * 7/12 - (30px - 7/12 * 30px));
  }
  .lg\:col-7\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-7\/12:last-child {
    margin-right: 0;
  }
  .lg\:col-3\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/5 - (30px - 3/5 * 30px));
    width: calc(99.9% * 3/5 - (30px - 3/5 * 30px));
  }
  .lg\:col-3\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-3\/5:last-child {
    margin-right: 0;
  }
  .lg\:col-2\/3 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 2/3 - (30px - 2/3 * 30px));
    width: calc(99.9% * 2/3 - (30px - 2/3 * 30px));
  }
  .lg\:col-2\/3:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-2\/3:last-child {
    margin-right: 0;
  }
  .lg\:col-7\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 7/10 - (30px - 7/10 * 30px));
    width: calc(99.9% * 7/10 - (30px - 7/10 * 30px));
  }
  .lg\:col-7\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-7\/10:last-child {
    margin-right: 0;
  }
  .lg\:col-3\/4 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 3/4 - (30px - 3/4 * 30px));
    width: calc(99.9% * 3/4 - (30px - 3/4 * 30px));
  }
  .lg\:col-3\/4:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-3\/4:last-child {
    margin-right: 0;
  }
  .lg\:col-4\/5 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 4/5 - (30px - 4/5 * 30px));
    width: calc(99.9% * 4/5 - (30px - 4/5 * 30px));
  }
  .lg\:col-4\/5:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-4\/5:last-child {
    margin-right: 0;
  }
  .lg\:col-5\/6 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 5/6 - (30px - 5/6 * 30px));
    width: calc(99.9% * 5/6 - (30px - 5/6 * 30px));
  }
  .lg\:col-5\/6:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-5\/6:last-child {
    margin-right: 0;
  }
  .lg\:col-9\/10 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 9/10 - (30px - 9/10 * 30px));
    width: calc(99.9% * 9/10 - (30px - 9/10 * 30px));
  }
  .lg\:col-9\/10:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-9\/10:last-child {
    margin-right: 0;
  }
  .lg\:col-11\/12 {
    -moz-box-flex: 0;
         flex-grow: 0;
    flex-shrink: 0;
    width: -moz-calc(99.9% * 11/12 - (30px - 11/12 * 30px));
    width: calc(99.9% * 11/12 - (30px - 11/12 * 30px));
  }
  .lg\:col-11\/12:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-11\/12:last-child {
    margin-right: 0;
  }
  .lg\:col-auto {
    -moz-box-flex: 1;
         flex: 1;
    width: auto;
  }
  .lg\:col-auto:nth-child(n) {
    margin-left: 0;
    margin-right: 30px;
  }
  .lg\:col-auto:last-child {
    margin-right: 0;
  }
}

/*
================================================================================
Offset
================================================================================

The offset object allows you to move grid columns to the right.
*/
:root .offset-0 {
  margin-left: 0;
}

:root .offset-1\/12 {
  margin-left: -moz-calc(99.9% * 1/12 + 1/12 * 30px);
  margin-left: calc(99.9% * 1/12 + 1/12 * 30px);
}

:root .offset-1\/10 {
  margin-left: -moz-calc(99.9% * 1/10 + 1/10 * 30px);
  margin-left: calc(99.9% * 1/10 + 1/10 * 30px);
}

:root .offset-1\/6 {
  margin-left: -moz-calc(99.9% * 1/6 + 1/6 * 30px);
  margin-left: calc(99.9% * 1/6 + 1/6 * 30px);
}

:root .offset-1\/5 {
  margin-left: -moz-calc(99.9% * 1/5 + 1/5 * 30px);
  margin-left: calc(99.9% * 1/5 + 1/5 * 30px);
}

:root .offset-1\/4 {
  margin-left: -moz-calc(99.9% * 1/4 + 1/4 * 30px);
  margin-left: calc(99.9% * 1/4 + 1/4 * 30px);
}

:root .offset-3\/10 {
  margin-left: -moz-calc(99.9% * 3/10 + 3/10 * 30px);
  margin-left: calc(99.9% * 3/10 + 3/10 * 30px);
}

:root .offset-1\/3 {
  margin-left: -moz-calc(99.9% * 1/3 + 1/3 * 30px);
  margin-left: calc(99.9% * 1/3 + 1/3 * 30px);
}

:root .offset-2\/5 {
  margin-left: -moz-calc(99.9% * 2/5 + 2/5 * 30px);
  margin-left: calc(99.9% * 2/5 + 2/5 * 30px);
}

:root .offset-5\/12 {
  margin-left: -moz-calc(99.9% * 5/12 + 5/12 * 30px);
  margin-left: calc(99.9% * 5/12 + 5/12 * 30px);
}

:root .offset-1\/2 {
  margin-left: -moz-calc(99.9% * 1/2 + 1/2 * 30px);
  margin-left: calc(99.9% * 1/2 + 1/2 * 30px);
}

:root .offset-7\/12 {
  margin-left: -moz-calc(99.9% * 7/12 + 7/12 * 30px);
  margin-left: calc(99.9% * 7/12 + 7/12 * 30px);
}

:root .offset-3\/5 {
  margin-left: -moz-calc(99.9% * 3/5 + 3/5 * 30px);
  margin-left: calc(99.9% * 3/5 + 3/5 * 30px);
}

:root .offset-2\/3 {
  margin-left: -moz-calc(99.9% * 2/3 + 2/3 * 30px);
  margin-left: calc(99.9% * 2/3 + 2/3 * 30px);
}

:root .offset-7\/10 {
  margin-left: -moz-calc(99.9% * 7/10 + 7/10 * 30px);
  margin-left: calc(99.9% * 7/10 + 7/10 * 30px);
}

:root .offset-3\/4 {
  margin-left: -moz-calc(99.9% * 3/4 + 3/4 * 30px);
  margin-left: calc(99.9% * 3/4 + 3/4 * 30px);
}

:root .offset-4\/5 {
  margin-left: -moz-calc(99.9% * 4/5 + 4/5 * 30px);
  margin-left: calc(99.9% * 4/5 + 4/5 * 30px);
}

:root .offset-5\/6 {
  margin-left: -moz-calc(99.9% * 5/6 + 5/6 * 30px);
  margin-left: calc(99.9% * 5/6 + 5/6 * 30px);
}

:root .offset-9\/10 {
  margin-left: -moz-calc(99.9% * 9/10 + 9/10 * 30px);
  margin-left: calc(99.9% * 9/10 + 9/10 * 30px);
}

:root .offset-11\/12 {
  margin-left: -moz-calc(99.9% * 11/12 + 11/12 * 30px);
  margin-left: calc(99.9% * 11/12 + 11/12 * 30px);
}

@media (min-width: 37.5em) {
  :root .sm\:offset-0 {
    margin-left: 0;
  }
  :root .sm\:offset-1\/12 {
    margin-left: -moz-calc(99.9% * 1/12 + 1/12 * 30px);
    margin-left: calc(99.9% * 1/12 + 1/12 * 30px);
  }
  :root .sm\:offset-1\/10 {
    margin-left: -moz-calc(99.9% * 1/10 + 1/10 * 30px);
    margin-left: calc(99.9% * 1/10 + 1/10 * 30px);
  }
  :root .sm\:offset-1\/6 {
    margin-left: -moz-calc(99.9% * 1/6 + 1/6 * 30px);
    margin-left: calc(99.9% * 1/6 + 1/6 * 30px);
  }
  :root .sm\:offset-1\/5 {
    margin-left: -moz-calc(99.9% * 1/5 + 1/5 * 30px);
    margin-left: calc(99.9% * 1/5 + 1/5 * 30px);
  }
  :root .sm\:offset-1\/4 {
    margin-left: -moz-calc(99.9% * 1/4 + 1/4 * 30px);
    margin-left: calc(99.9% * 1/4 + 1/4 * 30px);
  }
  :root .sm\:offset-3\/10 {
    margin-left: -moz-calc(99.9% * 3/10 + 3/10 * 30px);
    margin-left: calc(99.9% * 3/10 + 3/10 * 30px);
  }
  :root .sm\:offset-1\/3 {
    margin-left: -moz-calc(99.9% * 1/3 + 1/3 * 30px);
    margin-left: calc(99.9% * 1/3 + 1/3 * 30px);
  }
  :root .sm\:offset-2\/5 {
    margin-left: -moz-calc(99.9% * 2/5 + 2/5 * 30px);
    margin-left: calc(99.9% * 2/5 + 2/5 * 30px);
  }
  :root .sm\:offset-5\/12 {
    margin-left: -moz-calc(99.9% * 5/12 + 5/12 * 30px);
    margin-left: calc(99.9% * 5/12 + 5/12 * 30px);
  }
  :root .sm\:offset-1\/2 {
    margin-left: -moz-calc(99.9% * 1/2 + 1/2 * 30px);
    margin-left: calc(99.9% * 1/2 + 1/2 * 30px);
  }
  :root .sm\:offset-7\/12 {
    margin-left: -moz-calc(99.9% * 7/12 + 7/12 * 30px);
    margin-left: calc(99.9% * 7/12 + 7/12 * 30px);
  }
  :root .sm\:offset-3\/5 {
    margin-left: -moz-calc(99.9% * 3/5 + 3/5 * 30px);
    margin-left: calc(99.9% * 3/5 + 3/5 * 30px);
  }
  :root .sm\:offset-2\/3 {
    margin-left: -moz-calc(99.9% * 2/3 + 2/3 * 30px);
    margin-left: calc(99.9% * 2/3 + 2/3 * 30px);
  }
  :root .sm\:offset-7\/10 {
    margin-left: -moz-calc(99.9% * 7/10 + 7/10 * 30px);
    margin-left: calc(99.9% * 7/10 + 7/10 * 30px);
  }
  :root .sm\:offset-3\/4 {
    margin-left: -moz-calc(99.9% * 3/4 + 3/4 * 30px);
    margin-left: calc(99.9% * 3/4 + 3/4 * 30px);
  }
  :root .sm\:offset-4\/5 {
    margin-left: -moz-calc(99.9% * 4/5 + 4/5 * 30px);
    margin-left: calc(99.9% * 4/5 + 4/5 * 30px);
  }
  :root .sm\:offset-5\/6 {
    margin-left: -moz-calc(99.9% * 5/6 + 5/6 * 30px);
    margin-left: calc(99.9% * 5/6 + 5/6 * 30px);
  }
  :root .sm\:offset-9\/10 {
    margin-left: -moz-calc(99.9% * 9/10 + 9/10 * 30px);
    margin-left: calc(99.9% * 9/10 + 9/10 * 30px);
  }
  :root .sm\:offset-11\/12 {
    margin-left: -moz-calc(99.9% * 11/12 + 11/12 * 30px);
    margin-left: calc(99.9% * 11/12 + 11/12 * 30px);
  }
}

@media (min-width: 45em) {
  :root .md\:offset-0 {
    margin-left: 0;
  }
  :root .md\:offset-1\/12 {
    margin-left: -moz-calc(99.9% * 1/12 + 1/12 * 30px);
    margin-left: calc(99.9% * 1/12 + 1/12 * 30px);
  }
  :root .md\:offset-1\/10 {
    margin-left: -moz-calc(99.9% * 1/10 + 1/10 * 30px);
    margin-left: calc(99.9% * 1/10 + 1/10 * 30px);
  }
  :root .md\:offset-1\/6 {
    margin-left: -moz-calc(99.9% * 1/6 + 1/6 * 30px);
    margin-left: calc(99.9% * 1/6 + 1/6 * 30px);
  }
  :root .md\:offset-1\/5 {
    margin-left: -moz-calc(99.9% * 1/5 + 1/5 * 30px);
    margin-left: calc(99.9% * 1/5 + 1/5 * 30px);
  }
  :root .md\:offset-1\/4 {
    margin-left: -moz-calc(99.9% * 1/4 + 1/4 * 30px);
    margin-left: calc(99.9% * 1/4 + 1/4 * 30px);
  }
  :root .md\:offset-3\/10 {
    margin-left: -moz-calc(99.9% * 3/10 + 3/10 * 30px);
    margin-left: calc(99.9% * 3/10 + 3/10 * 30px);
  }
  :root .md\:offset-1\/3 {
    margin-left: -moz-calc(99.9% * 1/3 + 1/3 * 30px);
    margin-left: calc(99.9% * 1/3 + 1/3 * 30px);
  }
  :root .md\:offset-2\/5 {
    margin-left: -moz-calc(99.9% * 2/5 + 2/5 * 30px);
    margin-left: calc(99.9% * 2/5 + 2/5 * 30px);
  }
  :root .md\:offset-5\/12 {
    margin-left: -moz-calc(99.9% * 5/12 + 5/12 * 30px);
    margin-left: calc(99.9% * 5/12 + 5/12 * 30px);
  }
  :root .md\:offset-1\/2 {
    margin-left: -moz-calc(99.9% * 1/2 + 1/2 * 30px);
    margin-left: calc(99.9% * 1/2 + 1/2 * 30px);
  }
  :root .md\:offset-7\/12 {
    margin-left: -moz-calc(99.9% * 7/12 + 7/12 * 30px);
    margin-left: calc(99.9% * 7/12 + 7/12 * 30px);
  }
  :root .md\:offset-3\/5 {
    margin-left: -moz-calc(99.9% * 3/5 + 3/5 * 30px);
    margin-left: calc(99.9% * 3/5 + 3/5 * 30px);
  }
  :root .md\:offset-2\/3 {
    margin-left: -moz-calc(99.9% * 2/3 + 2/3 * 30px);
    margin-left: calc(99.9% * 2/3 + 2/3 * 30px);
  }
  :root .md\:offset-7\/10 {
    margin-left: -moz-calc(99.9% * 7/10 + 7/10 * 30px);
    margin-left: calc(99.9% * 7/10 + 7/10 * 30px);
  }
  :root .md\:offset-3\/4 {
    margin-left: -moz-calc(99.9% * 3/4 + 3/4 * 30px);
    margin-left: calc(99.9% * 3/4 + 3/4 * 30px);
  }
  :root .md\:offset-4\/5 {
    margin-left: -moz-calc(99.9% * 4/5 + 4/5 * 30px);
    margin-left: calc(99.9% * 4/5 + 4/5 * 30px);
  }
  :root .md\:offset-5\/6 {
    margin-left: -moz-calc(99.9% * 5/6 + 5/6 * 30px);
    margin-left: calc(99.9% * 5/6 + 5/6 * 30px);
  }
  :root .md\:offset-9\/10 {
    margin-left: -moz-calc(99.9% * 9/10 + 9/10 * 30px);
    margin-left: calc(99.9% * 9/10 + 9/10 * 30px);
  }
  :root .md\:offset-11\/12 {
    margin-left: -moz-calc(99.9% * 11/12 + 11/12 * 30px);
    margin-left: calc(99.9% * 11/12 + 11/12 * 30px);
  }
}

@media (min-width: 60em) {
  :root .lg\:offset-0 {
    margin-left: 0;
  }
  :root .lg\:offset-1\/12 {
    margin-left: -moz-calc(99.9% * 1/12 + 1/12 * 30px);
    margin-left: calc(99.9% * 1/12 + 1/12 * 30px);
  }
  :root .lg\:offset-1\/10 {
    margin-left: -moz-calc(99.9% * 1/10 + 1/10 * 30px);
    margin-left: calc(99.9% * 1/10 + 1/10 * 30px);
  }
  :root .lg\:offset-1\/6 {
    margin-left: -moz-calc(99.9% * 1/6 + 1/6 * 30px);
    margin-left: calc(99.9% * 1/6 + 1/6 * 30px);
  }
  :root .lg\:offset-1\/5 {
    margin-left: -moz-calc(99.9% * 1/5 + 1/5 * 30px);
    margin-left: calc(99.9% * 1/5 + 1/5 * 30px);
  }
  :root .lg\:offset-1\/4 {
    margin-left: -moz-calc(99.9% * 1/4 + 1/4 * 30px);
    margin-left: calc(99.9% * 1/4 + 1/4 * 30px);
  }
  :root .lg\:offset-3\/10 {
    margin-left: -moz-calc(99.9% * 3/10 + 3/10 * 30px);
    margin-left: calc(99.9% * 3/10 + 3/10 * 30px);
  }
  :root .lg\:offset-1\/3 {
    margin-left: -moz-calc(99.9% * 1/3 + 1/3 * 30px);
    margin-left: calc(99.9% * 1/3 + 1/3 * 30px);
  }
  :root .lg\:offset-2\/5 {
    margin-left: -moz-calc(99.9% * 2/5 + 2/5 * 30px);
    margin-left: calc(99.9% * 2/5 + 2/5 * 30px);
  }
  :root .lg\:offset-5\/12 {
    margin-left: -moz-calc(99.9% * 5/12 + 5/12 * 30px);
    margin-left: calc(99.9% * 5/12 + 5/12 * 30px);
  }
  :root .lg\:offset-1\/2 {
    margin-left: -moz-calc(99.9% * 1/2 + 1/2 * 30px);
    margin-left: calc(99.9% * 1/2 + 1/2 * 30px);
  }
  :root .lg\:offset-7\/12 {
    margin-left: -moz-calc(99.9% * 7/12 + 7/12 * 30px);
    margin-left: calc(99.9% * 7/12 + 7/12 * 30px);
  }
  :root .lg\:offset-3\/5 {
    margin-left: -moz-calc(99.9% * 3/5 + 3/5 * 30px);
    margin-left: calc(99.9% * 3/5 + 3/5 * 30px);
  }
  :root .lg\:offset-2\/3 {
    margin-left: -moz-calc(99.9% * 2/3 + 2/3 * 30px);
    margin-left: calc(99.9% * 2/3 + 2/3 * 30px);
  }
  :root .lg\:offset-7\/10 {
    margin-left: -moz-calc(99.9% * 7/10 + 7/10 * 30px);
    margin-left: calc(99.9% * 7/10 + 7/10 * 30px);
  }
  :root .lg\:offset-3\/4 {
    margin-left: -moz-calc(99.9% * 3/4 + 3/4 * 30px);
    margin-left: calc(99.9% * 3/4 + 3/4 * 30px);
  }
  :root .lg\:offset-4\/5 {
    margin-left: -moz-calc(99.9% * 4/5 + 4/5 * 30px);
    margin-left: calc(99.9% * 4/5 + 4/5 * 30px);
  }
  :root .lg\:offset-5\/6 {
    margin-left: -moz-calc(99.9% * 5/6 + 5/6 * 30px);
    margin-left: calc(99.9% * 5/6 + 5/6 * 30px);
  }
  :root .lg\:offset-9\/10 {
    margin-left: -moz-calc(99.9% * 9/10 + 9/10 * 30px);
    margin-left: calc(99.9% * 9/10 + 9/10 * 30px);
  }
  :root .lg\:offset-11\/12 {
    margin-left: -moz-calc(99.9% * 11/12 + 11/12 * 30px);
    margin-left: calc(99.9% * 11/12 + 11/12 * 30px);
  }
}

/*
================================================================================
List bare
================================================================================

Removes bullets and indentation from lists.
*/
.list-bare {
  list-style: none;
  margin-left: 0;
}

/*
================================================================================
List inline
================================================================================

Removes bullets from a list and displays its items in a single line.
*/
.list-inline {
  list-style: none;
  margin-left: 0;
}

.list-inline > li {
  display: inline-block;
}

/*
================================================================================
List spaced
================================================================================

An object specifically for lists that spaces out their items
to provide more breathing room.
*/
.list-spaced > dd:not(:last-child), .list-spaced > li:not(:last-child) {
  margin-bottom: 1rem;
}

.list-spaced--sm > dd:not(:last-child), .list-spaced--sm > li:not(:last-child) {
  margin-bottom: 0.5rem;
}

.list-spaced--lg > dd:not(:last-child), .list-spaced--lg > li:not(:last-child) {
  margin-bottom: 1.5rem;
}

/*
================================================================================
Ratio
================================================================================

A responsive container that mantains a specific aspect ratio.
*/
.ratio-4-3 {
  height: 0;
  overflow: hidden;
  padding-bottom: -moz-calc(100% * 0.75);
  padding-bottom: calc(100% * 0.75);
  position: relative;
  width: 100%;
}

.ratio-4-3 > * {
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.ratio-16-9 {
  height: 0;
  overflow: hidden;
  padding-bottom: -moz-calc(100% * 0.5625);
  padding-bottom: calc(100% * 0.5625);
  position: relative;
  width: 100%;
}

.ratio-16-9 > * {
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

/*
================================================================================
Table scrollable
================================================================================

A wrapper for tables that automatically adds horizontal scrolling
when the table's width is large enough.
*/
.table-scrollable {
  -webkit-overflow-scrolling: touch;
  margin-bottom: 2rem;
  overflow-x: auto;
}

.table-scrollable > table {
  margin-bottom: 0;
}

/*
================================================================================
Spin
================================================================================
*/
@-webkit-keyframes spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
  100% {
    -moz-transform: rotate(360deg);
         transform: rotate(360deg);
  }
}

.spin {
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
}

/*
================================================================================
Headings
================================================================================
*/
/*
 * Classes that match the styles defined for h1-h6 tags.
 * For situations where you may need to use a heading for semantics and/or
 * accessibility, but want it to look like another for visual hierarchy.
 */
/*
 ================================================================================
 Descriptions
 ================================================================================
 */
/*
  * Small paragraphs for providing helpful text.
  */
.description,
.error,
.success {
  font-size: 0.75rem;
  list-style: none;
  margin-left: 0;
  margin-top: 0.5em;
}

.description {
  color: #8a96a1;
}

label > .description {
  margin-left: 0.3em;
}

/*
  * The `.error` class is used in paragraphs and lists to show
  * validation error messages.
  */
.error {
  color: #d03a40;
}

.success {
  color: #20c372;
}

/*
 ================================================================================
 Lead
 ================================================================================
 */
/*
  * A class that makes text more noticeable. Useful for the opening
  * paragraph of an article or page.
  */
.lead {
  color: #8a96a1;
  font-size: 1.25rem;
  font-weight: 300;
}

/*
 ================================================================================
 Muted
 ================================================================================
 */
/*
  * Reduce the importance of text by lowering its opacity.
  */
.muted {
  opacity: 0.55;
}

/*
================================================================================
Validation icons
================================================================================

Success and warning background icons.
*/
.has-check,
.has-warning {
  background-position: right top;
  background-repeat: no-repeat;
}

.has-check {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2320c372' stroke-width='2' stroke-miterlimit='10'%3E%3Cpath d='M5.5 12.5L10 17 20 7'/%3E%3C/svg%3E");
}

.has-warning {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 1 24 24' fill='%23ffca34'%3E%3Cpath d='M20.58 16.51l-6.5-11.25c-.51-.87-1.26-1.38-2.08-1.38s-1.57.5-2.08 1.38l-6.5 11.25c-.5.88-.56 1.79-.15 2.49.41.71 1.22 1.11 2.23 1.11h13c1.01 0 1.83-.41 2.23-1.11.41-.7.35-1.61-.15-2.49zM12 18.15c-.64 0-1.15-.51-1.15-1.15s.51-1.15 1.15-1.15 1.15.51 1.15 1.15-.51 1.15-1.15 1.15zm1-3.65h-2l-.3-6h2.5l-.2 6z'/%3E%3C/svg%3E");
}

/*
================================================================================
Alerts
================================================================================

Show feedback to users in a nice dedicated container.
*/
/*
 * For simple messages, you can add the class directly to a paragraph element.
 * Alternatively, it can be applied to a div tag with any content you wish.
 */
.alert {
  background-color: #f0f2f3;
  border-radius: 3px;
  color: #5f6b78;
  font-size: 0.9375rem;
  margin-bottom: 1rem;
  padding: 0.75em 1em;
}

.alert--info {
  background-color: #d1e8f3;
  color: #154258;
}

.alert--danger {
  background-color: #f3cecf;
  color: #a1262b;
}

.alert--success {
  background-color: #b6f3d5;
  color: #126b3f;
}

.alert--warning {
  background-color: #fff2cc;
  color: #7b5b00;
}

/* Bordered variant
============================================================================= */
/*
 * Add a thin border for a better contrast in certain backgrounds.
 */
.alert--bordered {
  border: 1px solid #d6dadd;
}

.alert--bordered.alert--info {
  border-color: #9acde6;
}

.alert--bordered.alert--danger {
  border-color: #eaa6a9;
}

.alert--bordered.alert--success {
  border-color: #55e39c;
}

.alert--bordered.alert--warning {
  border-color: #ffdd7b;
}

/* Accent border variant
============================================================================= */
/*
 * Make one border stand out with color and size.
 */
.alert--has-accent-border {
  border-left: 4px solid #3a4148;
}

.alert--has-accent-border.alert--info {
  border-left-color: #2d86b3;
}

.alert--has-accent-border.alert--danger {
  border-left-color: #d03a40;
}

.alert--has-accent-border.alert--success {
  border-left-color: #20c372;
}

.alert--has-accent-border.alert--warning {
  border-left-color: #ffca34;
}

/* Strong background variant
============================================================================= */
/*
 * Use a stronger background color.
 */
.alert--strong {
  background-color: #3a4148;
  color: rgba(255, 255, 255, 0.95);
}

.alert--strong.alert--danger {
  background-color: #d03a40;
}

.alert--strong.alert--info {
  background-color: #2d86b3;
}

.alert--strong.alert--success {
  background-color: #20c372;
}

.alert--strong.alert--warning {
  background-color: #ffca34;
  color: #7b5b00;
}

/* With icons
============================================================================= */
/*
 * Emphasize the text with a status icon.
 */
.alert--has-icon {
  background-position: 1em 0.75em;
  background-repeat: no-repeat;
  padding-left: 50px;
}

.alert--has-icon.alert--info {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='%232d86b3'%3E%3Ccircle fill='none' stroke='%232d86b3' stroke-width='2' stroke-miterlimit='10' cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='16' r='1.25'/%3E%3Cpath d='M13 13.5h-2L10.5 6h3z'/%3E%3C/svg%3E");
}

.alert--has-icon.alert--success {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2320c372' stroke-width='2' stroke-miterlimit='10'%3E%3Cpath d='M5.5 12.5L10 17 20 7'/%3E%3C/svg%3E");
}

.alert--has-icon.alert--warning {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 1 24 24' fill='%23ffca34'%3E%3Cpath d='M20.58 16.51l-6.5-11.25c-.51-.87-1.26-1.38-2.08-1.38s-1.57.5-2.08 1.38l-6.5 11.25c-.5.88-.56 1.79-.15 2.49.41.71 1.22 1.11 2.23 1.11h13c1.01 0 1.83-.41 2.23-1.11.41-.7.35-1.61-.15-2.49zM12 18.15c-.64 0-1.15-.51-1.15-1.15s.51-1.15 1.15-1.15 1.15.51 1.15 1.15-.51 1.15-1.15 1.15zm1-3.65h-2l-.3-6h2.5l-.2 6z'/%3E%3C/svg%3E");
}

.alert--has-icon.alert--danger {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='none' stroke='%23d03a40' stroke-width='2' stroke-miterlimit='10'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 8l8 8m0-8l-8 8'/%3E%3C/svg%3E");
}

.alert--has-icon.alert--strong.alert--info {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='%23fff'%3E%3Ccircle fill='none' stroke='%23fff' stroke-width='2' stroke-miterlimit='10' cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='16' r='1.25'/%3E%3Cpath d='M13 13.5h-2L10.5 6h3z'/%3E%3C/svg%3E");
}

.alert--has-icon.alert--strong.alert--success {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-miterlimit='10'%3E%3Cpath d='M5.5 12.5L10 17 20 7'/%3E%3C/svg%3E");
}

.alert--has-icon.alert--strong.alert--warning {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='%237b5b00'%3E%3Cpath fill='none' stroke='%237b5b00' stroke-width='2' stroke-miterlimit='10' d='M4.98 19.79c-1.54 0-2.18-1.09-1.4-2.43L10.6 5.21c.77-1.34 2.03-1.34 2.81 0l7.02 12.15c.77 1.34.14 2.43-1.4 2.43H4.98z'/%3E%3Ccircle cx='12' cy='16.5' r='1'/%3E%3Cpath d='M12.7 14.5h-1.4l-.3-6h2z'/%3E%3C/svg%3E");
}

.alert--has-icon.alert--strong.alert--danger {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-miterlimit='10'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 8l8 8m0-8l-8 8'/%3E%3C/svg%3E");
}

/*
================================================================================
Buttons
================================================================================

Sonata provides you with buttons for the most common uses,
but feel free to register as many as you need.

Optionally, color variants can easily be created with the `button` mixin.
*/
/*
 * The neutral base class for any button.
 */
.btn {
  background-color: #fff;
  border: 1px solid #e7e9ec;
  color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  border-radius: 3px;
  padding: 0.75em 1.25em;
}

.btn:focus, .btn:hover, .btn:active {
  color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
  text-decoration: none;
}

.btn:focus, .btn:hover {
  background-color: contrast-color(#fff, #f2f2f2, white);
  border-color: #e7e9ec;
}

.btn:active {
  background-color: contrast-color(#fff, #e6e5e5, white);
  border-color: #e7e9ec;
}

.btn:disabled:focus, .btn:disabled:hover, .btn:disabled:active {
  background-color: #fff;
  border-color: #e7e9ec;
  color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
}

.btn.btn--loading::after {
  border-right-color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
  border-top-color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
}

/* Types
============================================================================= */
.btn--primary {
  background-color: #502a7a;
  border: 1px solid transparent;
  color: contrast-color(#502a7a, rgba(0, 0, 0, 0.7), #fff);
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--primary:focus, .btn--primary:hover, .btn--primary:active {
  color: contrast-color(#502a7a, rgba(0, 0, 0, 0.7), #fff);
  text-decoration: none;
}

.btn--primary:focus, .btn--primary:hover {
  background-color: contrast-color(#502a7a, #442367, #5c318d);
  border-color: transparent;
}

.btn--primary:active {
  background-color: contrast-color(#502a7a, #371d54, #6937a0);
  border-color: transparent;
}

.btn--primary:disabled:focus, .btn--primary:disabled:hover, .btn--primary:disabled:active {
  background-color: #502a7a;
  border-color: transparent;
  color: contrast-color(#502a7a, rgba(0, 0, 0, 0.7), #fff);
}

.btn--primary.btn--loading::after {
  border-right-color: contrast-color(#502a7a, rgba(0, 0, 0, 0.7), #fff);
  border-top-color: contrast-color(#502a7a, rgba(0, 0, 0, 0.7), #fff);
}

.btn--light {
  background-color: #f0f2f3;
  border: 1px solid transparent;
  color: contrast-color(#f0f2f3, rgba(0, 0, 0, 0.7), #fff);
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--light:focus, .btn--light:hover, .btn--light:active {
  color: contrast-color(#f0f2f3, rgba(0, 0, 0, 0.7), #fff);
  text-decoration: none;
}

.btn--light:focus, .btn--light:hover {
  background-color: contrast-color(#f0f2f3, #e2e6e8, #fefefe);
  border-color: transparent;
}

.btn--light:active {
  background-color: contrast-color(#f0f2f3, #d4d9dc, white);
  border-color: transparent;
}

.btn--light:disabled:focus, .btn--light:disabled:hover, .btn--light:disabled:active {
  background-color: #f0f2f3;
  border-color: transparent;
  color: contrast-color(#f0f2f3, rgba(0, 0, 0, 0.7), #fff);
}

.btn--light.btn--loading::after {
  border-right-color: contrast-color(#f0f2f3, rgba(0, 0, 0, 0.7), #fff);
  border-top-color: contrast-color(#f0f2f3, rgba(0, 0, 0, 0.7), #fff);
}

.btn--white {
  background-color: #fff;
  border: 1px solid transparent;
  color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--white:focus, .btn--white:hover, .btn--white:active {
  color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
  text-decoration: none;
}

.btn--white:focus, .btn--white:hover {
  background-color: contrast-color(#fff, #f2f2f2, white);
  border-color: transparent;
}

.btn--white:active {
  background-color: contrast-color(#fff, #e6e5e5, white);
  border-color: transparent;
}

.btn--white:disabled:focus, .btn--white:disabled:hover, .btn--white:disabled:active {
  background-color: #fff;
  border-color: transparent;
  color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
}

.btn--white.btn--loading::after {
  border-right-color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
  border-top-color: contrast-color(#fff, rgba(0, 0, 0, 0.7), #fff);
}

.btn--danger {
  background-color: #d03a40;
  border: 1px solid transparent;
  color: contrast-color(#d03a40, rgba(0, 0, 0, 0.7), #fff);
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--danger:focus, .btn--danger:hover, .btn--danger:active {
  color: contrast-color(#d03a40, rgba(0, 0, 0, 0.7), #fff);
  text-decoration: none;
}

.btn--danger:focus, .btn--danger:hover {
  background-color: contrast-color(#d03a40, #c22e34, #d54f54);
  border-color: transparent;
}

.btn--danger:active {
  background-color: contrast-color(#d03a40, #ae292f, #da6368);
  border-color: transparent;
}

.btn--danger:disabled:focus, .btn--danger:disabled:hover, .btn--danger:disabled:active {
  background-color: #d03a40;
  border-color: transparent;
  color: contrast-color(#d03a40, rgba(0, 0, 0, 0.7), #fff);
}

.btn--danger.btn--loading::after {
  border-right-color: contrast-color(#d03a40, rgba(0, 0, 0, 0.7), #fff);
  border-top-color: contrast-color(#d03a40, rgba(0, 0, 0, 0.7), #fff);
}

.btn--success {
  background-color: #20c372;
  border: 1px solid transparent;
  color: #fff;
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--success:focus, .btn--success:hover, .btn--success:active {
  color: #fff;
  text-decoration: none;
}

.btn--success:focus, .btn--success:hover {
  background-color: contrast-color(#20c372, #1cad65, #24d97f);
  border-color: transparent;
}

.btn--success:active {
  background-color: contrast-color(#20c372, #199758, #38de8c);
  border-color: transparent;
}

.btn--success:disabled:focus, .btn--success:disabled:hover, .btn--success:disabled:active {
  background-color: #20c372;
  border-color: transparent;
  color: #fff;
}

.btn--success.btn--loading::after {
  border-right-color: #fff;
  border-top-color: #fff;
}

.btn--info {
  background-color: #39c;
  border: 1px solid transparent;
  color: #fff;
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--info:focus, .btn--info:hover, .btn--info:active {
  color: #fff;
  text-decoration: none;
}

.btn--info:focus, .btn--info:hover {
  background-color: contrast-color(#39c, #2e8ab8, #47a3d1);
  border-color: transparent;
}

.btn--info:active {
  background-color: contrast-color(#39c, #297aa3, #5cadd6);
  border-color: transparent;
}

.btn--info:disabled:focus, .btn--info:disabled:hover, .btn--info:disabled:active {
  background-color: #39c;
  border-color: transparent;
  color: #fff;
}

.btn--info.btn--loading::after {
  border-right-color: #fff;
  border-top-color: #fff;
}

/* Outline variants
================================================================================

Buttons that have a solid border and a transparent background in their
default state. They can be created with the `button-outline` mixin.
*/
.btn--outline-primary {
  background-color: transparent;
  border: 1px solid #502a7a;
  color: #502a7a;
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--outline-primary:focus, .btn--outline-primary:hover, .btn--outline-primary:active {
  color: contrast-color(#502a7a, #2b1641, #753eb3);
  text-decoration: none;
}

.btn--outline-primary:focus, .btn--outline-primary:hover {
  background-color: transparent;
  border-color: contrast-color(#502a7a, #2b1641, #753eb3);
}

.btn--outline-primary:active {
  background-color: transparent;
  border-color: #502a7a;
}

.btn--outline-primary:disabled:focus, .btn--outline-primary:disabled:hover, .btn--outline-primary:disabled:active {
  background-color: transparent;
  border-color: #502a7a;
  color: #502a7a;
}

.btn--outline-primary.btn--loading::after {
  border-right-color: #502a7a;
  border-top-color: #502a7a;
}

/*
 * A white outlined button for dark backgrounds.
 */
.btn--outline-inverted {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out;
}

.btn--outline-inverted:focus, .btn--outline-inverted:hover, .btn--outline-inverted:active {
  color: #fff;
  text-decoration: none;
}

.btn--outline-inverted:focus, .btn--outline-inverted:hover {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: contrast-color(#fff, #d9d9d9, white);
}

.btn--outline-inverted:active {
  background-color: transparent;
  border-color: #fff;
}

.btn--outline-inverted:disabled:focus, .btn--outline-inverted:disabled:hover, .btn--outline-inverted:disabled:active {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}

.btn--outline-inverted.btn--loading::after {
  border-right-color: #fff;
  border-top-color: #fff;
}

/* Loading
============================================================================= */
/*
 * This modifier replaces the button's text with a loading icon
 * to give users feedback when submitting.
 */
.btn--loading {
  color: transparent !important;
  position: relative;
}

.btn--loading::after {
  -webkit-animation: spin 750ms linear infinite;
          animation: spin 750ms linear infinite;
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  content: "";
  display: block;
  height: 1.2em;
  position: absolute;
  top: -moz-calc(50% - 0.6em);
  top: calc(50% - 0.6em);
  left: -moz-calc(50% - 0.6em);
  left: calc(50% - 0.6em);
  width: 1.2em;
}

.btn--loading:disabled {
  filter: none;
  opacity: 1;
}

/* Size variants
============================================================================= */
.btn--xs {
  font-size: 0.65rem;
  padding: 0.5625em 0.9375em;
}

.btn--sm {
  font-size: 0.8rem;
  padding: 0.7125em 1.1875em;
}

.btn--lg {
  font-size: 1.2rem;
  padding: 0.825em 1.5em;
}

/* Width variants
============================================================================= */
.btn--narrow {
  padding-left: 0.5625em;
  padding-right: 0.5625em;
}

.btn--wide {
  padding-left: 2.1875em;
  padding-right: 2.1875em;
}

/*
================================================================================
Checkbox
================================================================================

The custom checkbox component allows for a better cross browser positioning
and the use of the `invalid` variant.

Note that although IE11 ignores the basic styles, the component is still
completely functional and accessible.
*/
/*
 * Add the class directly to any checkbox input.
 */
.checkbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #adb5bd;
  border-radius: 3px;
  height: 13px;
  position: relative;
  top: 0.05em;
  -moz-transition: background-color 150ms ease-out;
  transition: background-color 150ms ease-out;
  width: 13px;
}

.checkbox:checked {
  background: #209fdf url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13px' height='13px' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-miterlimit='10'%3E%3Cpath d='M5.5 12.5L10 17 20 7'/%3E%3C/svg%3E") center center no-repeat;
  border-color: #209fdf;
}

.checkbox:focus {
  border-color: #39c;
  box-shadow: 0 0 0 3px #d1e8f3;
  outline: 0;
}

.checkbox:active {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2) inset;
  filter: brightness(0.95) saturate(2);
}

/* Validation
============================================================================= */
/*
 * Styles for checkbox components that failed validation.
 */
.checkbox--invalid {
  border-color: #d03a40;
  box-shadow: 0 0 4px #d96166;
}

/*
================================================================================
Container
================================================================================

The container object is widely used in a project to wrap the content and
provide some padding between the elements and the edge of the window.

Two types of containers are provided: the `.fluid-container` will
always stretch to fill the full width of the browser window, while
the `.container` is limited to the defined max-width.
*/
.container,
.container-db-student,
.fluid-container {
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}

@media (min-width: 20em) {
  .container,
  .container-db-student,
  .fluid-container {
    padding-left: -moz-calc(3px + 3.75vw);
    padding-left: calc(3px + 3.75vw);
  }
}

@media (min-width: 45em) {
  .container,
  .container-db-student,
  .fluid-container {
    padding-left: 30px;
  }
}

@media (min-width: 20em) {
  .container,
  .container-db-student,
  .fluid-container {
    padding-right: -moz-calc(3px + 3.75vw);
    padding-right: calc(3px + 3.75vw);
  }
}

@media (min-width: 45em) {
  .container,
  .container-db-student,
  .fluid-container {
    padding-right: 30px;
  }
}

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1170px;
}

.container--admin {
  max-width: 1500px;
}

.container-db-student {
  margin: 0 auto;
  max-width: 1450px;
}

.main-footer {
  background-color: #BA0000;
  padding: 25px 0;
  text-align: center;
}

.main-footer__logo-ujed {
  width: 140px;
  padding: 25px 0;
}

/*
================================================================================
Form field
================================================================================

The form field component provides styles for form inputs, selects
and textareas. It contains modifiers for validation feedback.
*/
.form-field, .form-file__text,
.form-file__upload {
  border-radius: 3px;
  padding: 0.6em;
  position: relative;
  -moz-transition: border-color 150ms ease-out, box-shadow 150ms ease-out;
  transition: border-color 150ms ease-out, box-shadow 150ms ease-out;
  width: 100%;
}

/*
 * Use a background icon in select elements for cross-browser consistency.
 *
 * 1. Hide the native arrow button in IE.
 */
select.form-field, select.form-file__text,
select.form-file__upload {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-overflow: ellipsis;
}

select.form-field::-ms-expand, select.form-file__text::-ms-expand,
select.form-file__upload::-ms-expand {
  display: none;
  /* 1 */
}

select.form-field:not([size]):not([multiple]), select.form-file__text:not([size]):not([multiple]),
select.form-file__upload:not([size]):not([multiple]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%233a4148' d='M12 16l-6-6h12z'/%3E%3C/svg%3E");
  background-position: right 0.5em center;
  background-repeat: no-repeat;
  padding-right: 2.2em;
}

/* Validation
============================================================================= */
.form-field--invalid,
.form-field--valid {
  background-position: right 0.5em center;
  background-repeat: no-repeat;
  padding-right: 2.2em;
}

/*
 * Styles for fields that failed validation.
 */
.form-field--invalid {
  border-color: #d03a40;
  box-shadow: 0 0 6px #eaa6a9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 1 24 24' fill='%23ffca34'%3E%3Cpath d='M20.58 16.51l-6.5-11.25c-.51-.87-1.26-1.38-2.08-1.38s-1.57.5-2.08 1.38l-6.5 11.25c-.5.88-.56 1.79-.15 2.49.41.71 1.22 1.11 2.23 1.11h13c1.01 0 1.83-.41 2.23-1.11.41-.7.35-1.61-.15-2.49zM12 18.15c-.64 0-1.15-.51-1.15-1.15s.51-1.15 1.15-1.15 1.15.51 1.15 1.15-.51 1.15-1.15 1.15zm1-3.65h-2l-.3-6h2.5l-.2 6z'/%3E%3C/svg%3E");
}

/*
     * Styles for fields that passed validation.
     */
.form-field--valid {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2320c372' stroke-width='2' stroke-miterlimit='10'%3E%3Cpath d='M5.5 12.5L10 17 20 7'/%3E%3C/svg%3E");
}

/*
     * Icons are positioned on the top right in elements that span
     * multiple lines, leaving room for the scrollbar.
     *
     * 1. Note that IE has a bug in select elements where padding
     *    affects the scrollbar position.
     */
.form-field--invalid[multiple],
.form-field--invalid[size],
.form-field--valid[multiple],
.form-field--valid[size],
textarea.form-field--invalid,
textarea.form-field--valid {
  background-position: right 1.2em top 0.4em;
  padding-right: 2.7em;
  /* 1 */
}

/*
     * The `no-scrollbar` modifier can be used in textareas
     * to position the icon when there is no scrollbar.
     */
textarea.form-field--invalid.form-field--no-scrollbar,
textarea.form-field--valid.form-field--no-scrollbar {
  background-position: right 0.5em top 0.4em;
  padding-right: 2.2em;
}

/*
     * Dropdowns already have a background icon (caret),
     * so two backgrounds are necessary.
     */
select:not([size]):not([multiple]).form-field--invalid, select:not([size]):not([multiple]).form-field--valid {
  background-position: right 0.5em center, right 2em center;
  padding-right: 4em;
}

select:not([size]):not([multiple]).form-field--invalid {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%233a4148' d='M12 16l-6-6h12z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 1 24 24' fill='%23ffca34'%3E%3Cpath d='M20.58 16.51l-6.5-11.25c-.51-.87-1.26-1.38-2.08-1.38s-1.57.5-2.08 1.38l-6.5 11.25c-.5.88-.56 1.79-.15 2.49.41.71 1.22 1.11 2.23 1.11h13c1.01 0 1.83-.41 2.23-1.11.41-.7.35-1.61-.15-2.49zM12 18.15c-.64 0-1.15-.51-1.15-1.15s.51-1.15 1.15-1.15 1.15.51 1.15 1.15-.51 1.15-1.15 1.15zm1-3.65h-2l-.3-6h2.5l-.2 6z'/%3E%3C/svg%3E");
}

select:not([size]):not([multiple]).form-field--valid {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%233a4148' d='M12 16l-6-6h12z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2320c372' stroke-width='2' stroke-miterlimit='10'%3E%3Cpath d='M5.5 12.5L10 17 20 7'/%3E%3C/svg%3E");
}

/* Focus state
============================================================================= */
/*
 * The focus modifier is defined after validation classes
 * so that it can override them without increasing specificity.
 */
.form-field:focus, .form-file__text:focus,
.form-file__upload:focus,
.form-field--focus {
  border-color: #9acde6;
  box-shadow: 0 0 3px #d1e8f3;
}

.form-field--has-prefix {
  border-radius: 0 3px 3px 0;
}

.form-field--has-suffix {
  border-radius: 3px 0 0 3px;
}

.form-field-prefix,
.form-field-suffix {
  -moz-box-align: center;
       align-items: center;
  background: #f0f2f3;
  border: 1px solid #d6dadd;
  display: -moz-box;
  display: flex;
  flex-shrink: 0;
  -moz-box-pack: center;
       justify-content: center;
  width: 34px;
}

.form-field-prefix {
  border-radius: 3px 0 0 3px;
  border-right: 0;
}

.form-field-suffix {
  border-left: 0;
  border-radius: 0 3px 3px 0;
}

/*
================================================================================
File
================================================================================

Component that makes a native file input look more consistent with the
visual style of the framework. It works by hiding the file input inside
a wrapper and positioning it over a text input.

The structure looks like this:

.form-file (wrapper)
    .form-file__upload (file input)
    .form-file__text (text input)
    .form-file__btn (focusable button)

Requires javascript for full functionality.
*/
/*
 * 1. Prevents the contents of the component from appearing above
 *    other elements on the page.
 */
.form-file {
  display: -moz-box;
  display: flex;
  position: relative;
  z-index: 0;
  /* 1 */
}

/*
 * 1. Hide the text without affecting width, keeping it accessible
 *    to screen readers.
 * 2. The button is positioned over the native file input, so that the hover
 *    effect works properly.
 */
.form-file__btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%233a4148' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round'%3E%3Cpath stroke-linejoin='round' d='M13.019 19.019H5.023a2.004 2.004 0 0 1-2.002-2.006V6.024c0-1.107.896-2.005 2.002-2.005H11l2 2h6.019c1.105 0 2.002.898 2.002 2.005v2.893'/%3E%3Ccircle cx='16' cy='14' r='3'/%3E%3Cpath d='M18.5 16.5L21 19'/%3E%3C/svg%3E");
  background-position: center center;
  background-repeat: no-repeat;
  color: transparent;
  /* 1 */
  font-size: 1px;
  /* 1 */
  margin-left: 5px;
  min-width: 40px;
  padding-bottom: 0;
  padding-top: 0;
  z-index: 2;
  /* 2 */
}

.form-file__btn:focus, .form-file__btn:hover, .form-file__btn:active {
  color: transparent;
}

@media (min-width: 26.25em) {
  .form-file__btn {
    background-image: none;
    color: #3a4148;
    font-size: 0.95rem;
    min-width: auto;
    width: auto;
  }
  .form-file__btn:focus, .form-file__btn:hover, .form-file__btn:active {
    color: #3a4148;
  }
}

/*
 * Style the text field and make both inputs have the same height.
 */
.form-file__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*
 * 1. Prevent scrolling on small screens.
 */
.form-file__upload {
  cursor: pointer;
  opacity: 0;
  overflow: hidden;
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.form-card {
  border: 1px solid #dedede;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
}

.form-card__title {
  margin-top: -32px;
  margin-bottom: -1px;
  background: #ffffff;
  padding: 0;
  float: left;
  padding: 0px 5px 0px 5px;
}

/* Forms login*/
.login-form {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  height: 100%;
  -moz-box-pack: center;
       justify-content: center;
  margin: 0;
  padding: 0;
}

.form-boxed {
  border-radius: 3px;
  max-width: 300px;
  background-color: #f9fafa;
  border: 1px solid #e0e3e6;
  border-radius: 3px;
  padding: 1.5rem;
}

.login-form__password-reset {
  font-size: 0.875rem;
  margin-bottom: 50px;
  margin-top: 15px;
}

.form-title {
  font-size: 1.4375rem;
}

.form-link {
  text-decoration: underline;
}

.form-reset-password {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  text-align: center;
}

/*
================================================================================
Dashboard search
================================================================================
*/
.dashboard-search {
  display: -moz-box;
  display: flex;
  margin-bottom: 0;
  width: 100%;
}

.dashboard-search__btn {
  border-radius: 0 3px 3px 0;
  padding: 0 0.7em;
}

.dashboard-search__field {
  border-radius: 3px 0 0 3px;
  border-right: 0;
  padding: 0.8em 0.6em;
}

.dashboard-search__icon {
  height: 1.5em;
  width: 1.5em;
}

.declaracion-usuario {
  font-size: 11px;
  padding: 3px 5px;
  background: #50AB87;
  border-radius: 12px;
  margin-right: 3px;
  color: #fff !important;
}

.google-button {
  box-shadow: 1px 1px 3px #fff;
  background-color: #fff;
  border-color: #fff;
  display: -moz-box;
  display: flex;
  margin: auto;
  margin-bottom: 30px;
  margin-top: 31px;
  padding: 3px;
  width: 230px;
  float: right;
}

.google-button__icon {
  background: #fff;
  border-radius: 3px;
  display: -moz-box;
  display: flex;
  height: 40px;
  -moz-box-pack: center;
       justify-content: center;
  width: 40px;
}

.google-button__icon img {
  align-self: center;
  display: block;
  height: 20px;
  margin-bottom: 0px;
}

.google-button__text {
  align-self: center;
  color: #8a96a1;
  text-align: center;
  width: 184px;
}

.nav-progress {
  color: #BA0000;
}

.nav {
  background-color: #BA0000;
  padding: 25px;
  position: relative;
}

.nav_logo-contraloria {
  width: 180px;
  height: 80px;
  margin-top: 1%;
  text-decoration: none;
}

.nav-ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #BA0000;
}

.icon-confirmation {
  -webkit-animation: icon-confirmation-pop 500ms ease-out forwards;
          animation: icon-confirmation-pop 500ms ease-out forwards;
  border: 2px solid #f0f2f3;
  border-radius: 9999px;
  display: block;
  height: 66px;
  margin: 0 auto 20px;
  opacity: 0;
  position: relative;
  width: 66px;
}

.icon-confirmation__check {
  -webkit-animation: icon-confirmation-check 250ms ease-out 200ms forwards;
          animation: icon-confirmation-check 250ms ease-out 200ms forwards;
  border-bottom: 4px solid #20c372;
  border-left: 4px solid #20c372;
  display: block;
  height: 0;
  opacity: 0;
  position: absolute;
  top: -moz-calc(50%);
  top: calc(50%);
  left: -moz-calc(50%);
  left: calc(50%);
  -moz-transform: rotate(-45deg);
       transform: rotate(-45deg);
  -moz-transform-origin: left;
       transform-origin: left;
  width: 0;
}

/*
================================================================================
Messages
================================================================================

A message displays information to users. It consists of a title
and a section for the content.
*/
/*
 * The `.message` class should be applied to a container element.
 */
.message {
  background-color: #f9fafa;
  border-radius: 3px;
  font-size: 0.9375rem;
  margin-bottom: 1rem;
}

.message--info {
  background-color: #d1e8f3;
  color: #154258;
}

.message--danger {
  background-color: #f3cecf;
  color: #a1262b;
}

.message--success {
  background-color: #b6f3d5;
  color: #126b3f;
}

.message--warning {
  background-color: #fff2cc;
  color: #7b5b00;
}

.message__body,
.message__title {
  padding: 0.75em 1em;
}

/*
 * For simple messages, you can add the body class directly
 * to a paragraph element. Alternatively, it can be applied
 * to a div tag with any content you wish.
 */
.message__body {
  border-radius: 0 0 3px 3px;
}

/*
 * The title class can be applied directly to a paragraph element.
 */
.message__title {
  background-color: #3a4148;
  border-radius: 3px 3px 0 0;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 0;
}

.message--danger > .message__title {
  background-color: #d03a40;
}

.message--info > .message__title {
  background-color: #2d86b3;
}

.message--success > .message__title {
  background-color: #20c372;
}

.message--warning > .message__title {
  background-color: #ffca34;
  color: #7b5b00;
}

/* Bordered body
============================================================================= */
/*
 * Add a thin border to the body element of the message component with
 * this modifier class to get a better contrast in certain backgrounds.
 */
.message__body--bordered {
  border-color: #d6dadd;
  border-style: solid;
  border-width: 0 1px 1px;
}

.message--info > .message__body--bordered {
  border-color: #9acde6;
}

.message--danger > .message__body--bordered {
  border-color: #eaa6a9;
}

.message--success > .message__body--bordered {
  border-color: #55e39c;
}

.message--warning > .message__body--bordered {
  border-color: #ffdd7b;
}

/* Title with icons
============================================================================= */
/*
 * Add a status icon to the title element.
 */
.message__title--has-icon {
  background-position: 1em 0.65em;
  background-repeat: no-repeat;
  padding-left: -moz-calc(1em + 35px);
  padding-left: calc(1em + 35px);
}

.message--info .message__title--has-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='%23fff'%3E%3Ccircle fill='none' stroke='%23fff' stroke-width='2' stroke-miterlimit='10' cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='16' r='1.25'/%3E%3Cpath d='M13 13.5h-2L10.5 6h3z'/%3E%3C/svg%3E");
}

.message--success .message__title--has-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-miterlimit='10'%3E%3Cpath d='M5.5 12.5L10 17 20 7'/%3E%3C/svg%3E");
}

.message--warning .message__title--has-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='%237b5b00'%3E%3Cpath fill='none' stroke='%237b5b00' stroke-width='2' stroke-miterlimit='10' d='M4.98 19.79c-1.54 0-2.18-1.09-1.4-2.43L10.6 5.21c.77-1.34 2.03-1.34 2.81 0l7.02 12.15c.77 1.34.14 2.43-1.4 2.43H4.98z'/%3E%3Ccircle cx='12' cy='16.5' r='1'/%3E%3Cpath d='M12.7 14.5h-1.4l-.3-6h2z'/%3E%3C/svg%3E");
}

.message--danger .message__title--has-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-miterlimit='10'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 8l8 8m0-8l-8 8'/%3E%3C/svg%3E");
}

/*
================================================================================
Radio
================================================================================

The custom radio component allows for a better cross browser positioning
and the use of the `invalid` variant.

Note that although IE11 ignores the basic styles, the component is still
completely functional and accessible.
*/
/*
 * Add the class directly to any radio input.
 */
.radio {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #adb5bd;
  border-radius: 50%;
  height: 14px;
  position: relative;
  top: 0.1em;
  -moz-transition: border 100ms ease-out;
  transition: border 100ms ease-out;
  width: 14px;
}

.radio:checked {
  background-color: #fff;
  border: 5px solid #209fdf;
}

.radio:focus {
  border-color: #39c;
  box-shadow: 0 0 0 3px #d1e8f3;
  outline: 0;
}

.radio:active {
  filter: brightness(0.95) saturate(2);
}

/* Validation
============================================================================= */
/*
 * Styles for radio components that failed validation.
 */
.radio--invalid {
  border-color: #d03a40;
  box-shadow: 0 0 4px #d96166;
}

/*
================================================================================
Section
================================================================================

Stylized container for grouping contents of a page.
*/
.section {
  padding-bottom: 4rem;
  padding-top: 4rem;
}

.section--bordered {
  border-bottom: 1px solid #d6dadd;
  border-top: 1px solid #d6dadd;
}

/* Background variants
============================================================================= */
.section--light {
  background-color: #f9fafa;
}

/* Size variants
============================================================================= */
.section--xs {
  padding-bottom: 2rem;
  padding-top: 2rem;
}

.section--sm {
  padding-bottom: 3rem;
  padding-top: 3rem;
}

.section--lg {
  padding-bottom: 6rem;
  padding-top: 6rem;
}

.section--xl {
  padding-bottom: 8rem;
  padding-top: 8rem;
}

.section--border-top {
  border-top: 1px solid #f5f6f7;
}

/*
================================================================================
Tables
================================================================================

A component for styling every table of your project.
Given that tables have many elements, Sonata uses nested selectors instead
of a pure BEM approach to avoid unnecessary CSS classes.
*/
.table {
  background-color: #fff;
  font-size: 1rem;
  margin-bottom: 2rem;
  max-width: 100%;
}

.table caption {
  font-size: 0.9rem;
  padding: 0.3em 0.8em;
}

.table td, .table th {
  padding: 0.6em 0.8em;
  vertical-align: top;
}

.table th {
  font-weight: 700;
}

.table tr {
  border-bottom: 1px solid #d6dadd;
}

.table tfoot {
  font-weight: 700;
}

.table thead th {
  vertical-align: bottom;
}

.table thead tr {
  border-bottom: 2px solid #3a4148;
}

/*
 * Make the table fill the entire width of its container.
 */
.table--full-width {
  width: 100%;
}

/*
 * Highlight rows when the cursor is over them.
 */
.table--hoverable tbody tr {
  -moz-transition: background-color 150ms ease-out;
  transition: background-color 150ms ease-out;
}

.table--hoverable tbody tr:hover {
  background-color: #ebf5fa;
}

/*
 * Add zebra stripes to body rows.
 */
.table--striped tbody > :nth-child(even) {
  background-color: #f9fafa;
}

/* Header color variants
============================================================================= */
.table--header-primary thead tr, .table--header-light thead tr, .table--header-dark thead tr {
  border-bottom: 0;
}

.table--header-primary thead th, .table--header-light thead th, .table--header-dark thead th {
  font-weight: 600;
}

.table--header-primary thead {
  background-color: #502a7a;
  color: #fff;
}

.table--header-light thead {
  background-color: #f0f2f3;
  color: rgba(0, 0, 0, 0.7);
}

.table--header-dark thead {
  background-color: #202428;
  color: #fff;
}

/* Border variants
============================================================================= */
/*
 * Add borders to all cells.
 */
.table--bordered td, .table--bordered th {
  border: 1px solid #d6dadd;
}

.table--bordered tr,
.table--bordered thead tr {
  border: 0;
}

/*
 * Remove borders from body rows.
 */
.table--borderless tbody tr {
  border: 0;
}

/* Size variants
============================================================================= */
.table--xs td, .table--xs th {
  padding: 0.18em 0.32em;
}

.table--sm td, .table--sm th {
  padding: 0.36em 0.64em;
}

.table--lg td, .table--lg th {
  padding: 0.84em 0.96em;
}

.table--xl td, .table--xl th {
  padding: 1.08em 1.12em;
}

/* Responsive variants
============================================================================= */
/*
 * By using the `.{breakpoint}:table--responsive` classes, the table cells
 * will be displayed as blocks in a two-column layout in small screens,
 * and change to the original table layout when the viewport width
 * matches the desired breakpoint.
 *
 * Each cell in the body needs a `data-label` attribute with
 * the label/title, e.g.:
 *
 * <td data-label="Name:">John</td>
 *
 * Credit: https://css-tricks.com/responsive-data-tables/
 */
@media (max-width: 37.4375em) {
  .sm\:table--responsive {
    display: inline-block;
  }
  .sm\:table--responsive tbody > :nth-child(even) {
    background-color: #f9fafa;
  }
  .sm\:table--responsive tbody {
    display: block;
  }
  .sm\:table--responsive td, .sm\:table--responsive th {
    display: -moz-box;
    display: flex;
  }
  .sm\:table--responsive td {
    border-bottom: 1px solid rgba(214, 218, 221, 0.5);
    padding: 0.6em 0.8em;
  }
  .sm\:table--responsive td::before {
    content: attr(data-label);
    flex-shrink: 0;
    font-weight: 700;
    margin-right: 0.8em;
    width: -moz-calc(45% - 0.8em);
    width: calc(45% - 0.8em);
  }
  .sm\:table--responsive td:last-child {
    border-bottom: 0;
  }
  .sm\:table--responsive thead {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  .sm\:table--responsive tr {
    display: block;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
  }
}

@media (max-width: 44.9375em) {
  .md\:table--responsive {
    display: inline-block;
  }
  .md\:table--responsive tbody > :nth-child(even) {
    background-color: #f9fafa;
  }
  .md\:table--responsive tbody {
    display: block;
  }
  .md\:table--responsive td, .md\:table--responsive th {
    display: -moz-box;
    display: flex;
  }
  .md\:table--responsive td {
    border-bottom: 1px solid rgba(214, 218, 221, 0.5);
    padding: 0.6em 0.8em;
  }
  .md\:table--responsive td::before {
    content: attr(data-label);
    flex-shrink: 0;
    font-weight: 700;
    margin-right: 0.8em;
    width: -moz-calc(45% - 0.8em);
    width: calc(45% - 0.8em);
  }
  .md\:table--responsive td:last-child {
    border-bottom: 0;
  }
  .md\:table--responsive thead {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  .md\:table--responsive tr {
    display: block;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
  }
}

@media (max-width: 59.9375em) {
  .lg\:table--responsive {
    display: inline-block;
  }
  .lg\:table--responsive tbody > :nth-child(even) {
    background-color: #f9fafa;
  }
  .lg\:table--responsive tbody {
    display: block;
  }
  .lg\:table--responsive td, .lg\:table--responsive th {
    display: -moz-box;
    display: flex;
  }
  .lg\:table--responsive td {
    border-bottom: 1px solid rgba(214, 218, 221, 0.5);
    padding: 0.6em 0.8em;
  }
  .lg\:table--responsive td::before {
    content: attr(data-label);
    flex-shrink: 0;
    font-weight: 700;
    margin-right: 0.8em;
    width: -moz-calc(45% - 0.8em);
    width: calc(45% - 0.8em);
  }
  .lg\:table--responsive td:last-child {
    border-bottom: 0;
  }
  .lg\:table--responsive thead {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  .lg\:table--responsive tr {
    display: block;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
  }
}

.tooltip-icon__help {
  display: inline-block;
  filter: invert(35%) sepia(16%) saturate(254%) hue-rotate(167deg) brightness(93%) contrast(90%);
  height: 18px;
  /* margin-right: 12.75em; */
  vertical-align: top;
  width: 15px;
  margin-top: 5px;
}

.tooltip {
  display: block !important;
  z-index: 10000;
}

.tooltip .tooltip-inner {
  background: black;
  color: white;
  padding: 3px 10px 5px;
  border-radius: 3px;
  width: 250px;
  font-size: 13px;
}

.tooltip .tooltip-arrow {
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
  margin: 5px;
  border-color: black;
}

.tooltip[x-placement^="top"] {
  margin-bottom: 5px;
}

.tooltip[x-placement^="top"] .tooltip-arrow {
  border-width: 5px 5px 0 5px;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
  border-bottom-color: transparent !important;
  bottom: -5px;
  left: -moz-calc(50% - 5px);
  left: calc(50% - 5px);
  margin-top: 0;
  margin-bottom: 0;
}

.tooltip[x-placement^="bottom"] {
  margin-top: 5px;
}

.tooltip[x-placement^="bottom"] .tooltip-arrow {
  border-width: 0 5px 5px 5px;
  border-left-color: transparent !important;
  border-right-color: transparent !important;
  border-top-color: transparent !important;
  top: -5px;
  left: -moz-calc(50% - 5px);
  left: calc(50% - 5px);
  margin-top: 0;
  margin-bottom: 0;
}

.tooltip[x-placement^="right"] {
  margin-left: 5px;
}

.tooltip[x-placement^="right"] .tooltip-arrow {
  border-width: 5px 5px 5px 0;
  border-left-color: transparent !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  left: -5px;
  top: -moz-calc(50% - 5px);
  top: calc(50% - 5px);
  margin-left: 0;
  margin-right: 0;
}

.tooltip[x-placement^="left"] {
  margin-right: 5px;
}

.tooltip[x-placement^="left"] .tooltip-arrow {
  border-width: 5px 0 5px 5px;
  border-top-color: transparent !important;
  border-right-color: transparent !important;
  border-bottom-color: transparent !important;
  right: -5px;
  top: -moz-calc(50% - 5px);
  top: calc(50% - 5px);
  margin-left: 0;
  margin-right: 0;
}

.tooltip[aria-hidden='true'] {
  visibility: hidden;
  opacity: 0;
  -moz-transition: opacity .15s, visibility .15s;
  transition: opacity .15s, visibility .15s;
}

.tooltip[aria-hidden='false'] {
  visibility: visible;
  opacity: 1;
  -moz-transition: opacity .15s;
  transition: opacity .15s;
}

.help-icon {
  position: absolute;
  bottom: 15px;
  right: 25px;
}

.aviso-privacidad {
  background-color: #222;
  font-size: 11px;
  text-align: center;
  float: left;
  width: 100%;
  padding-top: 1em;
  padding-bottom: 1em;
}

a:hover {
  text-decoration: none;
  -webkit-text-decoration-color: initial;
          text-decoration-color: initial;
  color: #888888;
}

/*
================================================================================
Print styles
================================================================================

Credit: https://github.com/h5bp/html5-boilerplate
*/
@media print {
  /*
     * 1. Black prints faster.
     */
  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    /* 1 */
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  /*
     * 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: 1px solid #999;
    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, .h2, h3, .h3 {
    orphans: 3;
    widows: 3;
  }
  h2, .h2, h3, .h3 {
    page-break-after: avoid;
  }
}

/*
================================================================================
Background colors
================================================================================
*/
.bg-transparent {
  background-color: transparent;
}

.bg-primary {
  background-color: #502a7a;
}

.bg-black {
  background-color: #000;
}

.bg-white {
  background-color: #fff;
}

.bg-link {
  background-color: #39c;
}

.bg-gray-10 {
  background-color: #f9fafa;
}

.bg-gray-20 {
  background-color: #f0f2f3;
}

.bg-gray-30 {
  background-color: #e7e9ec;
}

.bg-gray-40 {
  background-color: #d6dadd;
}

.bg-gray-50 {
  background-color: #adb5bd;
}

.bg-gray-60 {
  background-color: #8a96a1;
}

.bg-gray-70 {
  background-color: #5f6b78;
}

.bg-gray-80 {
  background-color: #3a4148;
}

.bg-gray-90 {
  background-color: #202428;
}

.bg-blue-10 {
  background-color: #ebf5fa;
}

.bg-blue-20 {
  background-color: #d1e8f3;
}

.bg-blue-30 {
  background-color: #9acde6;
}

.bg-blue-40 {
  background-color: #67b3d9;
}

.bg-blue-50 {
  background-color: #39c;
}

.bg-blue-60 {
  background-color: #2d86b3;
}

.bg-blue-70 {
  background-color: #246b8e;
}

.bg-blue-80 {
  background-color: #154258;
}

.bg-blue-90 {
  background-color: #0f2e3d;
}

.bg-info {
  background-color: #2d86b3;
}

.bg-info-light {
  background-color: #d1e8f3;
}

.bg-info-text {
  background-color: #154258;
}

.bg-success {
  background-color: #20c372;
}

.bg-success-light {
  background-color: #b6f3d5;
}

.bg-success-text {
  background-color: #126b3f;
}

.bg-danger {
  background-color: #d03a40;
}

.bg-danger-light {
  background-color: #f3cecf;
}

.bg-danger-text {
  background-color: #a1262b;
}

.bg-warning {
  background-color: #ffca34;
}

.bg-warning-light {
  background-color: #fff2cc;
}

.bg-warning-text {
  background-color: #7b5b00;
}

/*
================================================================================
Border
================================================================================
*/
.b-0 {
  border: 0 !important;
}

.bb-0 {
  border-bottom: 0 !important;
}

.bl-0 {
  border-left: 0 !important;
}

.br-0 {
  border-right: 0 !important;
}

.bt-0 {
  border-top: 0 !important;
}

.b-1 {
  border: 1px solid #d6dadd !important;
}

.bb-1 {
  border-bottom: 1px solid #d6dadd !important;
}

.bl-1 {
  border-left: 1px solid #d6dadd !important;
}

.br-1 {
  border-right: 1px solid #d6dadd !important;
}

.bt-1 {
  border-top: 1px solid #d6dadd !important;
}

.b-2 {
  border: 2px solid #d6dadd !important;
}

.bb-2 {
  border-bottom: 2px solid #d6dadd !important;
}

.bl-2 {
  border-left: 2px solid #d6dadd !important;
}

.br-2 {
  border-right: 2px solid #d6dadd !important;
}

.bt-2 {
  border-top: 2px solid #d6dadd !important;
}

.b-3 {
  border: 3px solid #d6dadd !important;
}

.bb-3 {
  border-bottom: 3px solid #d6dadd !important;
}

.bl-3 {
  border-left: 3px solid #d6dadd !important;
}

.br-3 {
  border-right: 3px solid #d6dadd !important;
}

.bt-3 {
  border-top: 3px solid #d6dadd !important;
}

.b-4 {
  border: 4px solid #d6dadd !important;
}

.bb-4 {
  border-bottom: 4px solid #d6dadd !important;
}

.bl-4 {
  border-left: 4px solid #d6dadd !important;
}

.br-4 {
  border-right: 4px solid #d6dadd !important;
}

.bt-4 {
  border-top: 4px solid #d6dadd !important;
}

@media (min-width: 37.5em) {
  .sm\:b-0 {
    border: 0 !important;
  }
  .sm\:bb-0 {
    border-bottom: 0 !important;
  }
  .sm\:bl-0 {
    border-left: 0 !important;
  }
  .sm\:br-0 {
    border-right: 0 !important;
  }
  .sm\:bt-0 {
    border-top: 0 !important;
  }
  .sm\:b-1 {
    border: 1px solid #d6dadd !important;
  }
  .sm\:bb-1 {
    border-bottom: 1px solid #d6dadd !important;
  }
  .sm\:bl-1 {
    border-left: 1px solid #d6dadd !important;
  }
  .sm\:br-1 {
    border-right: 1px solid #d6dadd !important;
  }
  .sm\:bt-1 {
    border-top: 1px solid #d6dadd !important;
  }
  .sm\:b-2 {
    border: 2px solid #d6dadd !important;
  }
  .sm\:bb-2 {
    border-bottom: 2px solid #d6dadd !important;
  }
  .sm\:bl-2 {
    border-left: 2px solid #d6dadd !important;
  }
  .sm\:br-2 {
    border-right: 2px solid #d6dadd !important;
  }
  .sm\:bt-2 {
    border-top: 2px solid #d6dadd !important;
  }
  .sm\:b-3 {
    border: 3px solid #d6dadd !important;
  }
  .sm\:bb-3 {
    border-bottom: 3px solid #d6dadd !important;
  }
  .sm\:bl-3 {
    border-left: 3px solid #d6dadd !important;
  }
  .sm\:br-3 {
    border-right: 3px solid #d6dadd !important;
  }
  .sm\:bt-3 {
    border-top: 3px solid #d6dadd !important;
  }
  .sm\:b-4 {
    border: 4px solid #d6dadd !important;
  }
  .sm\:bb-4 {
    border-bottom: 4px solid #d6dadd !important;
  }
  .sm\:bl-4 {
    border-left: 4px solid #d6dadd !important;
  }
  .sm\:br-4 {
    border-right: 4px solid #d6dadd !important;
  }
  .sm\:bt-4 {
    border-top: 4px solid #d6dadd !important;
  }
}

@media (min-width: 45em) {
  .md\:b-0 {
    border: 0 !important;
  }
  .md\:bb-0 {
    border-bottom: 0 !important;
  }
  .md\:bl-0 {
    border-left: 0 !important;
  }
  .md\:br-0 {
    border-right: 0 !important;
  }
  .md\:bt-0 {
    border-top: 0 !important;
  }
  .md\:b-1 {
    border: 1px solid #d6dadd !important;
  }
  .md\:bb-1 {
    border-bottom: 1px solid #d6dadd !important;
  }
  .md\:bl-1 {
    border-left: 1px solid #d6dadd !important;
  }
  .md\:br-1 {
    border-right: 1px solid #d6dadd !important;
  }
  .md\:bt-1 {
    border-top: 1px solid #d6dadd !important;
  }
  .md\:b-2 {
    border: 2px solid #d6dadd !important;
  }
  .md\:bb-2 {
    border-bottom: 2px solid #d6dadd !important;
  }
  .md\:bl-2 {
    border-left: 2px solid #d6dadd !important;
  }
  .md\:br-2 {
    border-right: 2px solid #d6dadd !important;
  }
  .md\:bt-2 {
    border-top: 2px solid #d6dadd !important;
  }
  .md\:b-3 {
    border: 3px solid #d6dadd !important;
  }
  .md\:bb-3 {
    border-bottom: 3px solid #d6dadd !important;
  }
  .md\:bl-3 {
    border-left: 3px solid #d6dadd !important;
  }
  .md\:br-3 {
    border-right: 3px solid #d6dadd !important;
  }
  .md\:bt-3 {
    border-top: 3px solid #d6dadd !important;
  }
  .md\:b-4 {
    border: 4px solid #d6dadd !important;
  }
  .md\:bb-4 {
    border-bottom: 4px solid #d6dadd !important;
  }
  .md\:bl-4 {
    border-left: 4px solid #d6dadd !important;
  }
  .md\:br-4 {
    border-right: 4px solid #d6dadd !important;
  }
  .md\:bt-4 {
    border-top: 4px solid #d6dadd !important;
  }
}

@media (min-width: 60em) {
  .lg\:b-0 {
    border: 0 !important;
  }
  .lg\:bb-0 {
    border-bottom: 0 !important;
  }
  .lg\:bl-0 {
    border-left: 0 !important;
  }
  .lg\:br-0 {
    border-right: 0 !important;
  }
  .lg\:bt-0 {
    border-top: 0 !important;
  }
  .lg\:b-1 {
    border: 1px solid #d6dadd !important;
  }
  .lg\:bb-1 {
    border-bottom: 1px solid #d6dadd !important;
  }
  .lg\:bl-1 {
    border-left: 1px solid #d6dadd !important;
  }
  .lg\:br-1 {
    border-right: 1px solid #d6dadd !important;
  }
  .lg\:bt-1 {
    border-top: 1px solid #d6dadd !important;
  }
  .lg\:b-2 {
    border: 2px solid #d6dadd !important;
  }
  .lg\:bb-2 {
    border-bottom: 2px solid #d6dadd !important;
  }
  .lg\:bl-2 {
    border-left: 2px solid #d6dadd !important;
  }
  .lg\:br-2 {
    border-right: 2px solid #d6dadd !important;
  }
  .lg\:bt-2 {
    border-top: 2px solid #d6dadd !important;
  }
  .lg\:b-3 {
    border: 3px solid #d6dadd !important;
  }
  .lg\:bb-3 {
    border-bottom: 3px solid #d6dadd !important;
  }
  .lg\:bl-3 {
    border-left: 3px solid #d6dadd !important;
  }
  .lg\:br-3 {
    border-right: 3px solid #d6dadd !important;
  }
  .lg\:bt-3 {
    border-top: 3px solid #d6dadd !important;
  }
  .lg\:b-4 {
    border: 4px solid #d6dadd !important;
  }
  .lg\:bb-4 {
    border-bottom: 4px solid #d6dadd !important;
  }
  .lg\:bl-4 {
    border-left: 4px solid #d6dadd !important;
  }
  .lg\:br-4 {
    border-right: 4px solid #d6dadd !important;
  }
  .lg\:bt-4 {
    border-top: 4px solid #d6dadd !important;
  }
}

/*
================================================================================
Border color
================================================================================
*/
.border-transparent {
  border-color: transparent !important;
}

.border-primary {
  border-color: #502a7a !important;
}

.border-black {
  border-color: #000 !important;
}

.border-white {
  border-color: #fff !important;
}

.border-link {
  border-color: #39c !important;
}

.border-gray-10 {
  border-color: #f9fafa !important;
}

.border-gray-20 {
  border-color: #f0f2f3 !important;
}

.border-gray-30 {
  border-color: #e7e9ec !important;
}

.border-gray-40 {
  border-color: #d6dadd !important;
}

.border-gray-50 {
  border-color: #adb5bd !important;
}

.border-gray-60 {
  border-color: #8a96a1 !important;
}

.border-gray-70 {
  border-color: #5f6b78 !important;
}

.border-gray-80 {
  border-color: #3a4148 !important;
}

.border-gray-90 {
  border-color: #202428 !important;
}

.border-blue-10 {
  border-color: #ebf5fa !important;
}

.border-blue-20 {
  border-color: #d1e8f3 !important;
}

.border-blue-30 {
  border-color: #9acde6 !important;
}

.border-blue-40 {
  border-color: #67b3d9 !important;
}

.border-blue-50 {
  border-color: #39c !important;
}

.border-blue-60 {
  border-color: #2d86b3 !important;
}

.border-blue-70 {
  border-color: #246b8e !important;
}

.border-blue-80 {
  border-color: #154258 !important;
}

.border-blue-90 {
  border-color: #0f2e3d !important;
}

.border-info {
  border-color: #2d86b3 !important;
}

.border-info-light {
  border-color: #d1e8f3 !important;
}

.border-info-text {
  border-color: #154258 !important;
}

.border-success {
  border-color: #20c372 !important;
}

.border-success-light {
  border-color: #b6f3d5 !important;
}

.border-success-text {
  border-color: #126b3f !important;
}

.border-danger {
  border-color: #d03a40 !important;
}

.border-danger-light {
  border-color: #f3cecf !important;
}

.border-danger-text {
  border-color: #a1262b !important;
}

.border-warning {
  border-color: #ffca34 !important;
}

.border-warning-light {
  border-color: #fff2cc !important;
}

.border-warning-text {
  border-color: #7b5b00 !important;
}

/*
================================================================================
Border radius
================================================================================
*/
.rounded {
  border-radius: 3px !important;
}

.rounded-bottom {
  border-bottom-left-radius: 3px !important;
  border-bottom-right-radius: 3px !important;
}

.rounded-left {
  border-bottom-left-radius: 3px !important;
  border-top-left-radius: 3px !important;
}

.rounded-right {
  border-bottom-right-radius: 3px !important;
  border-top-right-radius: 3px !important;
}

.rounded-top {
  border-top-left-radius: 3px !important;
  border-top-right-radius: 3px !important;
}

.rounded-full {
  border-radius: 9999px !important;
}

.rounded-bottom-full {
  border-bottom-left-radius: 9999px !important;
  border-bottom-right-radius: 9999px !important;
}

.rounded-left-full {
  border-bottom-left-radius: 9999px !important;
  border-top-left-radius: 9999px !important;
}

.rounded-right-full {
  border-bottom-right-radius: 9999px !important;
  border-top-right-radius: 9999px !important;
}

.rounded-top-full {
  border-top-left-radius: 9999px !important;
  border-top-right-radius: 9999px !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-bottom-0 {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-left-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-right-0 {
  border-bottom-right-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

/*
================================================================================
Display
================================================================================
*/
.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-flex {
  display: -moz-box !important;
  display: flex !important;
}

.d-inline-flex {
  display: -moz-inline-box !important;
  display: inline-flex !important;
}

.d-table {
  display: table !important;
}

.hidden {
  display: none !important;
}

@media (min-width: 37.5em) {
  .sm\:d-block {
    display: block !important;
  }
  .sm\:d-inline {
    display: inline !important;
  }
  .sm\:d-inline-block {
    display: inline-block !important;
  }
  .sm\:d-flex {
    display: -moz-box !important;
    display: flex !important;
  }
  .sm\:d-inline-flex {
    display: -moz-inline-box !important;
    display: inline-flex !important;
  }
  .sm\:d-table {
    display: table !important;
  }
  .sm\:hidden {
    display: none !important;
  }
}

@media (min-width: 45em) {
  .md\:d-block {
    display: block !important;
  }
  .md\:d-inline {
    display: inline !important;
  }
  .md\:d-inline-block {
    display: inline-block !important;
  }
  .md\:d-flex {
    display: -moz-box !important;
    display: flex !important;
  }
  .md\:d-inline-flex {
    display: -moz-inline-box !important;
    display: inline-flex !important;
  }
  .md\:d-table {
    display: table !important;
  }
  .md\:hidden {
    display: none !important;
  }
}

@media (min-width: 60em) {
  .lg\:d-block {
    display: block !important;
  }
  .lg\:d-inline {
    display: inline !important;
  }
  .lg\:d-inline-block {
    display: inline-block !important;
  }
  .lg\:d-flex {
    display: -moz-box !important;
    display: flex !important;
  }
  .lg\:d-inline-flex {
    display: -moz-inline-box !important;
    display: inline-flex !important;
  }
  .lg\:d-table {
    display: table !important;
  }
  .lg\:hidden {
    display: none !important;
  }
}

/* Print
============================================================================= */
@media print {
  /*
     * Visible for printers.
     */
  .print\:d-block {
    display: block !important;
  }
  /*
     * Hidden from printers.
     */
  .print\:hidden {
    display: none !important;
  }
}

/*
================================================================================
Flex
================================================================================
*/
/*
 * Credit:
 * https://tailwindcss.com (flex utilities)
 * https://github.com/suitcss/utils-flex (order utilities)
 */
.flex-initial {
  -moz-box-flex: initial !important;
       flex: initial !important;
}

.flex-auto {
  -moz-box-flex: 1 !important;
       flex: auto !important;
}

.flex-none {
  -moz-box-flex: 0 !important;
       flex: none !important;
}

.flex-1 {
  -moz-box-flex: 1 !important;
       flex: 1 !important;
}

.content-start {
  align-content: flex-start !important;
}

.content-center {
  align-content: center !important;
}

.content-end {
  align-content: flex-end !important;
}

.content-around {
  align-content: space-around !important;
}

.content-between {
  align-content: space-between !important;
}

.content-stretch {
  align-content: stretch !important;
}

.items-start {
  -moz-box-align: start !important;
       align-items: flex-start !important;
}

.items-center {
  -moz-box-align: center !important;
       align-items: center !important;
}

.items-end {
  -moz-box-align: end !important;
       align-items: flex-end !important;
}

.items-stretch {
  -moz-box-align: stretch !important;
       align-items: stretch !important;
}

.self-auto {
  align-self: auto !important;
}

.self-start {
  align-self: flex-start !important;
}

.self-center {
  align-self: center !important;
}

.self-end {
  align-self: flex-end !important;
}

.self-stretch {
  align-self: stretch !important;
}

.flex-col {
  -moz-box-orient: vertical !important;
  -moz-box-direction: normal !important;
       flex-direction: column !important;
}

.flex-col-reverse {
  -moz-box-orient: vertical !important;
  -moz-box-direction: reverse !important;
       flex-direction: column-reverse !important;
}

.flex-row {
  -moz-box-orient: horizontal !important;
  -moz-box-direction: normal !important;
       flex-direction: row !important;
}

.flex-row-reverse {
  -moz-box-orient: horizontal !important;
  -moz-box-direction: reverse !important;
       flex-direction: row-reverse !important;
}

.justify-start {
  -moz-box-pack: start !important;
       justify-content: flex-start !important;
}

.justify-center {
  -moz-box-pack: center !important;
       justify-content: center !important;
}

.justify-end {
  -moz-box-pack: end !important;
       justify-content: flex-end !important;
}

.justify-around {
  justify-content: space-around !important;
}

.justify-between {
  -moz-box-pack: justify !important;
       justify-content: space-between !important;
}

.justify-evenly {
  -moz-box-pack: space-evenly !important;
       justify-content: space-evenly !important;
}

.order-first {
  -moz-box-ordinal-group: 0 !important;
       order: -1 !important;
}

.order-none {
  -moz-box-ordinal-group: 1 !important;
       order: 0 !important;
}

.order-last {
  -moz-box-ordinal-group: 2 !important;
       order: 1 !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

@media (min-width: 37.5em) {
  .sm\:flex-initial {
    -moz-box-flex: initial !important;
         flex: initial !important;
  }
  .sm\:flex-auto {
    -moz-box-flex: 1 !important;
         flex: auto !important;
  }
  .sm\:flex-none {
    -moz-box-flex: 0 !important;
         flex: none !important;
  }
  .sm\:flex-1 {
    -moz-box-flex: 1 !important;
         flex: 1 !important;
  }
  .sm\:content-start {
    align-content: flex-start !important;
  }
  .sm\:content-center {
    align-content: center !important;
  }
  .sm\:content-end {
    align-content: flex-end !important;
  }
  .sm\:content-around {
    align-content: space-around !important;
  }
  .sm\:content-between {
    align-content: space-between !important;
  }
  .sm\:content-stretch {
    align-content: stretch !important;
  }
  .sm\:items-start {
    -moz-box-align: start !important;
         align-items: flex-start !important;
  }
  .sm\:items-center {
    -moz-box-align: center !important;
         align-items: center !important;
  }
  .sm\:items-end {
    -moz-box-align: end !important;
         align-items: flex-end !important;
  }
  .sm\:items-stretch {
    -moz-box-align: stretch !important;
         align-items: stretch !important;
  }
  .sm\:self-auto {
    align-self: auto !important;
  }
  .sm\:self-start {
    align-self: flex-start !important;
  }
  .sm\:self-center {
    align-self: center !important;
  }
  .sm\:self-end {
    align-self: flex-end !important;
  }
  .sm\:self-stretch {
    align-self: stretch !important;
  }
  .sm\:flex-col {
    -moz-box-orient: vertical !important;
    -moz-box-direction: normal !important;
         flex-direction: column !important;
  }
  .sm\:flex-col-reverse {
    -moz-box-orient: vertical !important;
    -moz-box-direction: reverse !important;
         flex-direction: column-reverse !important;
  }
  .sm\:flex-row {
    -moz-box-orient: horizontal !important;
    -moz-box-direction: normal !important;
         flex-direction: row !important;
  }
  .sm\:flex-row-reverse {
    -moz-box-orient: horizontal !important;
    -moz-box-direction: reverse !important;
         flex-direction: row-reverse !important;
  }
  .sm\:justify-start {
    -moz-box-pack: start !important;
         justify-content: flex-start !important;
  }
  .sm\:justify-center {
    -moz-box-pack: center !important;
         justify-content: center !important;
  }
  .sm\:justify-end {
    -moz-box-pack: end !important;
         justify-content: flex-end !important;
  }
  .sm\:justify-around {
    justify-content: space-around !important;
  }
  .sm\:justify-between {
    -moz-box-pack: justify !important;
         justify-content: space-between !important;
  }
  .sm\:justify-evenly {
    -moz-box-pack: space-evenly !important;
         justify-content: space-evenly !important;
  }
  .sm\:order-first {
    -moz-box-ordinal-group: 0 !important;
         order: -1 !important;
  }
  .sm\:order-none {
    -moz-box-ordinal-group: 1 !important;
         order: 0 !important;
  }
  .sm\:order-last {
    -moz-box-ordinal-group: 2 !important;
         order: 1 !important;
  }
  .sm\:flex-nowrap {
    flex-wrap: nowrap !important;
  }
  .sm\:flex-wrap {
    flex-wrap: wrap !important;
  }
  .sm\:flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}

@media (min-width: 45em) {
  .md\:flex-initial {
    -moz-box-flex: initial !important;
         flex: initial !important;
  }
  .md\:flex-auto {
    -moz-box-flex: 1 !important;
         flex: auto !important;
  }
  .md\:flex-none {
    -moz-box-flex: 0 !important;
         flex: none !important;
  }
  .md\:flex-1 {
    -moz-box-flex: 1 !important;
         flex: 1 !important;
  }
  .md\:content-start {
    align-content: flex-start !important;
  }
  .md\:content-center {
    align-content: center !important;
  }
  .md\:content-end {
    align-content: flex-end !important;
  }
  .md\:content-around {
    align-content: space-around !important;
  }
  .md\:content-between {
    align-content: space-between !important;
  }
  .md\:content-stretch {
    align-content: stretch !important;
  }
  .md\:items-start {
    -moz-box-align: start !important;
         align-items: flex-start !important;
  }
  .md\:items-center {
    -moz-box-align: center !important;
         align-items: center !important;
  }
  .md\:items-end {
    -moz-box-align: end !important;
         align-items: flex-end !important;
  }
  .md\:items-stretch {
    -moz-box-align: stretch !important;
         align-items: stretch !important;
  }
  .md\:self-auto {
    align-self: auto !important;
  }
  .md\:self-start {
    align-self: flex-start !important;
  }
  .md\:self-center {
    align-self: center !important;
  }
  .md\:self-end {
    align-self: flex-end !important;
  }
  .md\:self-stretch {
    align-self: stretch !important;
  }
  .md\:flex-col {
    -moz-box-orient: vertical !important;
    -moz-box-direction: normal !important;
         flex-direction: column !important;
  }
  .md\:flex-col-reverse {
    -moz-box-orient: vertical !important;
    -moz-box-direction: reverse !important;
         flex-direction: column-reverse !important;
  }
  .md\:flex-row {
    -moz-box-orient: horizontal !important;
    -moz-box-direction: normal !important;
         flex-direction: row !important;
  }
  .md\:flex-row-reverse {
    -moz-box-orient: horizontal !important;
    -moz-box-direction: reverse !important;
         flex-direction: row-reverse !important;
  }
  .md\:justify-start {
    -moz-box-pack: start !important;
         justify-content: flex-start !important;
  }
  .md\:justify-center {
    -moz-box-pack: center !important;
         justify-content: center !important;
  }
  .md\:justify-end {
    -moz-box-pack: end !important;
         justify-content: flex-end !important;
  }
  .md\:justify-around {
    justify-content: space-around !important;
  }
  .md\:justify-between {
    -moz-box-pack: justify !important;
         justify-content: space-between !important;
  }
  .md\:justify-evenly {
    -moz-box-pack: space-evenly !important;
         justify-content: space-evenly !important;
  }
  .md\:order-first {
    -moz-box-ordinal-group: 0 !important;
         order: -1 !important;
  }
  .md\:order-none {
    -moz-box-ordinal-group: 1 !important;
         order: 0 !important;
  }
  .md\:order-last {
    -moz-box-ordinal-group: 2 !important;
         order: 1 !important;
  }
  .md\:flex-nowrap {
    flex-wrap: nowrap !important;
  }
  .md\:flex-wrap {
    flex-wrap: wrap !important;
  }
  .md\:flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}

@media (min-width: 60em) {
  .lg\:flex-initial {
    -moz-box-flex: initial !important;
         flex: initial !important;
  }
  .lg\:flex-auto {
    -moz-box-flex: 1 !important;
         flex: auto !important;
  }
  .lg\:flex-none {
    -moz-box-flex: 0 !important;
         flex: none !important;
  }
  .lg\:flex-1 {
    -moz-box-flex: 1 !important;
         flex: 1 !important;
  }
  .lg\:content-start {
    align-content: flex-start !important;
  }
  .lg\:content-center {
    align-content: center !important;
  }
  .lg\:content-end {
    align-content: flex-end !important;
  }
  .lg\:content-around {
    align-content: space-around !important;
  }
  .lg\:content-between {
    align-content: space-between !important;
  }
  .lg\:content-stretch {
    align-content: stretch !important;
  }
  .lg\:items-start {
    -moz-box-align: start !important;
         align-items: flex-start !important;
  }
  .lg\:items-center {
    -moz-box-align: center !important;
         align-items: center !important;
  }
  .lg\:items-end {
    -moz-box-align: end !important;
         align-items: flex-end !important;
  }
  .lg\:items-stretch {
    -moz-box-align: stretch !important;
         align-items: stretch !important;
  }
  .lg\:self-auto {
    align-self: auto !important;
  }
  .lg\:self-start {
    align-self: flex-start !important;
  }
  .lg\:self-center {
    align-self: center !important;
  }
  .lg\:self-end {
    align-self: flex-end !important;
  }
  .lg\:self-stretch {
    align-self: stretch !important;
  }
  .lg\:flex-col {
    -moz-box-orient: vertical !important;
    -moz-box-direction: normal !important;
         flex-direction: column !important;
  }
  .lg\:flex-col-reverse {
    -moz-box-orient: vertical !important;
    -moz-box-direction: reverse !important;
         flex-direction: column-reverse !important;
  }
  .lg\:flex-row {
    -moz-box-orient: horizontal !important;
    -moz-box-direction: normal !important;
         flex-direction: row !important;
  }
  .lg\:flex-row-reverse {
    -moz-box-orient: horizontal !important;
    -moz-box-direction: reverse !important;
         flex-direction: row-reverse !important;
  }
  .lg\:justify-start {
    -moz-box-pack: start !important;
         justify-content: flex-start !important;
  }
  .lg\:justify-center {
    -moz-box-pack: center !important;
         justify-content: center !important;
  }
  .lg\:justify-end {
    -moz-box-pack: end !important;
         justify-content: flex-end !important;
  }
  .lg\:justify-around {
    justify-content: space-around !important;
  }
  .lg\:justify-between {
    -moz-box-pack: justify !important;
         justify-content: space-between !important;
  }
  .lg\:justify-evenly {
    -moz-box-pack: space-evenly !important;
         justify-content: space-evenly !important;
  }
  .lg\:order-first {
    -moz-box-ordinal-group: 0 !important;
         order: -1 !important;
  }
  .lg\:order-none {
    -moz-box-ordinal-group: 1 !important;
         order: 0 !important;
  }
  .lg\:order-last {
    -moz-box-ordinal-group: 2 !important;
         order: 1 !important;
  }
  .lg\:flex-nowrap {
    flex-wrap: nowrap !important;
  }
  .lg\:flex-wrap {
    flex-wrap: wrap !important;
  }
  .lg\:flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}

/*
================================================================================
Float
================================================================================
*/
.clearfix::before, .clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

.float-left {
  float: left !important;
}

.float-none {
  float: none !important;
}

.float-right {
  float: right !important;
}

@media (min-width: 37.5em) {
  .sm\:clearfix::before, .sm\:clearfix::after {
    content: " ";
    display: table;
  }
  .sm\:clearfix::after {
    clear: both;
  }
  .sm\:float-left {
    float: left !important;
  }
  .sm\:float-none {
    float: none !important;
  }
  .sm\:float-right {
    float: right !important;
  }
}

@media (min-width: 45em) {
  .md\:clearfix::before, .md\:clearfix::after {
    content: " ";
    display: table;
  }
  .md\:clearfix::after {
    clear: both;
  }
  .md\:float-left {
    float: left !important;
  }
  .md\:float-none {
    float: none !important;
  }
  .md\:float-right {
    float: right !important;
  }
}

@media (min-width: 60em) {
  .lg\:clearfix::before, .lg\:clearfix::after {
    content: " ";
    display: table;
  }
  .lg\:clearfix::after {
    clear: both;
  }
  .lg\:float-left {
    float: left !important;
  }
  .lg\:float-none {
    float: none !important;
  }
  .lg\:float-right {
    float: right !important;
  }
}

/*
================================================================================
Margin
================================================================================
*/
.m-auto {
  margin: auto !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.mt-auto {
  margin-top: auto !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-auto {
  margin-bottom: auto !important;
  margin-top: auto !important;
}

.m-0 {
  margin: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.my-0 {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.my-1 {
  margin-bottom: 0.25rem !important;
  margin-top: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.my-2 {
  margin-bottom: 0.5rem !important;
  margin-top: 0.5rem !important;
}

.m-4 {
  margin: 1rem !important;
}

.mb-4 {
  margin-bottom: 1rem !important;
}

.ml-4 {
  margin-left: 1rem !important;
}

.mr-4 {
  margin-right: 1rem !important;
}

.mt-4 {
  margin-top: 1rem !important;
}

.mx-4 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.my-4 {
  margin-bottom: 1rem !important;
  margin-top: 1rem !important;
}

.m-6 {
  margin: 1.5rem !important;
}

.mb-6 {
  margin-bottom: 1.5rem !important;
}

.ml-6 {
  margin-left: 1.5rem !important;
}

.mr-6 {
  margin-right: 1.5rem !important;
}

.mt-6 {
  margin-top: 1.5rem !important;
}

.mx-6 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.my-6 {
  margin-bottom: 1.5rem !important;
  margin-top: 1.5rem !important;
}

.m-8 {
  margin: 2rem !important;
}

.mb-8 {
  margin-bottom: 2rem !important;
}

.ml-8 {
  margin-left: 2rem !important;
}

.mr-8 {
  margin-right: 2rem !important;
}

.mt-8 {
  margin-top: 2rem !important;
}

.mx-8 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.my-8 {
  margin-bottom: 2rem !important;
  margin-top: 2rem !important;
}

.m-12 {
  margin: 3rem !important;
}

.mb-12 {
  margin-bottom: 3rem !important;
}

.ml-12 {
  margin-left: 3rem !important;
}

.mr-12 {
  margin-right: 3rem !important;
}

.mt-12 {
  margin-top: 3rem !important;
}

.mx-12 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.my-12 {
  margin-bottom: 3rem !important;
  margin-top: 3rem !important;
}

.m-16 {
  margin: 4rem !important;
}

.mb-16 {
  margin-bottom: 4rem !important;
}

.ml-16 {
  margin-left: 4rem !important;
}

.mr-16 {
  margin-right: 4rem !important;
}

.mt-16 {
  margin-top: 4rem !important;
}

.mx-16 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.my-16 {
  margin-bottom: 4rem !important;
  margin-top: 4rem !important;
}

@media (min-width: 37.5em) {
  .sm\:m-auto {
    margin: auto !important;
  }
  .sm\:mb-auto {
    margin-bottom: auto !important;
  }
  .sm\:ml-auto {
    margin-left: auto !important;
  }
  .sm\:mr-auto {
    margin-right: auto !important;
  }
  .sm\:mt-auto {
    margin-top: auto !important;
  }
  .sm\:mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .sm\:my-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }
  .sm\:m-0 {
    margin: 0 !important;
  }
  .sm\:mb-0 {
    margin-bottom: 0 !important;
  }
  .sm\:ml-0 {
    margin-left: 0 !important;
  }
  .sm\:mr-0 {
    margin-right: 0 !important;
  }
  .sm\:mt-0 {
    margin-top: 0 !important;
  }
  .sm\:mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sm\:my-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }
  .sm\:m-1 {
    margin: 0.25rem !important;
  }
  .sm\:mb-1 {
    margin-bottom: 0.25rem !important;
  }
  .sm\:ml-1 {
    margin-left: 0.25rem !important;
  }
  .sm\:mr-1 {
    margin-right: 0.25rem !important;
  }
  .sm\:mt-1 {
    margin-top: 0.25rem !important;
  }
  .sm\:mx-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .sm\:my-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }
  .sm\:m-2 {
    margin: 0.5rem !important;
  }
  .sm\:mb-2 {
    margin-bottom: 0.5rem !important;
  }
  .sm\:ml-2 {
    margin-left: 0.5rem !important;
  }
  .sm\:mr-2 {
    margin-right: 0.5rem !important;
  }
  .sm\:mt-2 {
    margin-top: 0.5rem !important;
  }
  .sm\:mx-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .sm\:my-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }
  .sm\:m-4 {
    margin: 1rem !important;
  }
  .sm\:mb-4 {
    margin-bottom: 1rem !important;
  }
  .sm\:ml-4 {
    margin-left: 1rem !important;
  }
  .sm\:mr-4 {
    margin-right: 1rem !important;
  }
  .sm\:mt-4 {
    margin-top: 1rem !important;
  }
  .sm\:mx-4 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .sm\:my-4 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }
  .sm\:m-6 {
    margin: 1.5rem !important;
  }
  .sm\:mb-6 {
    margin-bottom: 1.5rem !important;
  }
  .sm\:ml-6 {
    margin-left: 1.5rem !important;
  }
  .sm\:mr-6 {
    margin-right: 1.5rem !important;
  }
  .sm\:mt-6 {
    margin-top: 1.5rem !important;
  }
  .sm\:mx-6 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .sm\:my-6 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }
  .sm\:m-8 {
    margin: 2rem !important;
  }
  .sm\:mb-8 {
    margin-bottom: 2rem !important;
  }
  .sm\:ml-8 {
    margin-left: 2rem !important;
  }
  .sm\:mr-8 {
    margin-right: 2rem !important;
  }
  .sm\:mt-8 {
    margin-top: 2rem !important;
  }
  .sm\:mx-8 {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .sm\:my-8 {
    margin-bottom: 2rem !important;
    margin-top: 2rem !important;
  }
  .sm\:m-12 {
    margin: 3rem !important;
  }
  .sm\:mb-12 {
    margin-bottom: 3rem !important;
  }
  .sm\:ml-12 {
    margin-left: 3rem !important;
  }
  .sm\:mr-12 {
    margin-right: 3rem !important;
  }
  .sm\:mt-12 {
    margin-top: 3rem !important;
  }
  .sm\:mx-12 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .sm\:my-12 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }
  .sm\:m-16 {
    margin: 4rem !important;
  }
  .sm\:mb-16 {
    margin-bottom: 4rem !important;
  }
  .sm\:ml-16 {
    margin-left: 4rem !important;
  }
  .sm\:mr-16 {
    margin-right: 4rem !important;
  }
  .sm\:mt-16 {
    margin-top: 4rem !important;
  }
  .sm\:mx-16 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .sm\:my-16 {
    margin-bottom: 4rem !important;
    margin-top: 4rem !important;
  }
}

@media (min-width: 45em) {
  .md\:m-auto {
    margin: auto !important;
  }
  .md\:mb-auto {
    margin-bottom: auto !important;
  }
  .md\:ml-auto {
    margin-left: auto !important;
  }
  .md\:mr-auto {
    margin-right: auto !important;
  }
  .md\:mt-auto {
    margin-top: auto !important;
  }
  .md\:mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .md\:my-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }
  .md\:m-0 {
    margin: 0 !important;
  }
  .md\:mb-0 {
    margin-bottom: 0 !important;
  }
  .md\:ml-0 {
    margin-left: 0 !important;
  }
  .md\:mr-0 {
    margin-right: 0 !important;
  }
  .md\:mt-0 {
    margin-top: 0 !important;
  }
  .md\:mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .md\:my-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }
  .md\:m-1 {
    margin: 0.25rem !important;
  }
  .md\:mb-1 {
    margin-bottom: 0.25rem !important;
  }
  .md\:ml-1 {
    margin-left: 0.25rem !important;
  }
  .md\:mr-1 {
    margin-right: 0.25rem !important;
  }
  .md\:mt-1 {
    margin-top: 0.25rem !important;
  }
  .md\:mx-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .md\:my-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }
  .md\:m-2 {
    margin: 0.5rem !important;
  }
  .md\:mb-2 {
    margin-bottom: 0.5rem !important;
  }
  .md\:ml-2 {
    margin-left: 0.5rem !important;
  }
  .md\:mr-2 {
    margin-right: 0.5rem !important;
  }
  .md\:mt-2 {
    margin-top: 0.5rem !important;
  }
  .md\:mx-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .md\:my-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }
  .md\:m-4 {
    margin: 1rem !important;
  }
  .md\:mb-4 {
    margin-bottom: 1rem !important;
  }
  .md\:ml-4 {
    margin-left: 1rem !important;
  }
  .md\:mr-4 {
    margin-right: 1rem !important;
  }
  .md\:mt-4 {
    margin-top: 1rem !important;
  }
  .md\:mx-4 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .md\:my-4 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }
  .md\:m-6 {
    margin: 1.5rem !important;
  }
  .md\:mb-6 {
    margin-bottom: 1.5rem !important;
  }
  .md\:ml-6 {
    margin-left: 1.5rem !important;
  }
  .md\:mr-6 {
    margin-right: 1.5rem !important;
  }
  .md\:mt-6 {
    margin-top: 1.5rem !important;
  }
  .md\:mx-6 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .md\:my-6 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }
  .md\:m-8 {
    margin: 2rem !important;
  }
  .md\:mb-8 {
    margin-bottom: 2rem !important;
  }
  .md\:ml-8 {
    margin-left: 2rem !important;
  }
  .md\:mr-8 {
    margin-right: 2rem !important;
  }
  .md\:mt-8 {
    margin-top: 2rem !important;
  }
  .md\:mx-8 {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .md\:my-8 {
    margin-bottom: 2rem !important;
    margin-top: 2rem !important;
  }
  .md\:m-12 {
    margin: 3rem !important;
  }
  .md\:mb-12 {
    margin-bottom: 3rem !important;
  }
  .md\:ml-12 {
    margin-left: 3rem !important;
  }
  .md\:mr-12 {
    margin-right: 3rem !important;
  }
  .md\:mt-12 {
    margin-top: 3rem !important;
  }
  .md\:mx-12 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .md\:my-12 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }
  .md\:m-16 {
    margin: 4rem !important;
  }
  .md\:mb-16 {
    margin-bottom: 4rem !important;
  }
  .md\:ml-16 {
    margin-left: 4rem !important;
  }
  .md\:mr-16 {
    margin-right: 4rem !important;
  }
  .md\:mt-16 {
    margin-top: 4rem !important;
  }
  .md\:mx-16 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .md\:my-16 {
    margin-bottom: 4rem !important;
    margin-top: 4rem !important;
  }
}

@media (min-width: 60em) {
  .lg\:m-auto {
    margin: auto !important;
  }
  .lg\:mb-auto {
    margin-bottom: auto !important;
  }
  .lg\:ml-auto {
    margin-left: auto !important;
  }
  .lg\:mr-auto {
    margin-right: auto !important;
  }
  .lg\:mt-auto {
    margin-top: auto !important;
  }
  .lg\:mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .lg\:my-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
  }
  .lg\:m-0 {
    margin: 0 !important;
  }
  .lg\:mb-0 {
    margin-bottom: 0 !important;
  }
  .lg\:ml-0 {
    margin-left: 0 !important;
  }
  .lg\:mr-0 {
    margin-right: 0 !important;
  }
  .lg\:mt-0 {
    margin-top: 0 !important;
  }
  .lg\:mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .lg\:my-0 {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }
  .lg\:m-1 {
    margin: 0.25rem !important;
  }
  .lg\:mb-1 {
    margin-bottom: 0.25rem !important;
  }
  .lg\:ml-1 {
    margin-left: 0.25rem !important;
  }
  .lg\:mr-1 {
    margin-right: 0.25rem !important;
  }
  .lg\:mt-1 {
    margin-top: 0.25rem !important;
  }
  .lg\:mx-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .lg\:my-1 {
    margin-bottom: 0.25rem !important;
    margin-top: 0.25rem !important;
  }
  .lg\:m-2 {
    margin: 0.5rem !important;
  }
  .lg\:mb-2 {
    margin-bottom: 0.5rem !important;
  }
  .lg\:ml-2 {
    margin-left: 0.5rem !important;
  }
  .lg\:mr-2 {
    margin-right: 0.5rem !important;
  }
  .lg\:mt-2 {
    margin-top: 0.5rem !important;
  }
  .lg\:mx-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .lg\:my-2 {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
  }
  .lg\:m-4 {
    margin: 1rem !important;
  }
  .lg\:mb-4 {
    margin-bottom: 1rem !important;
  }
  .lg\:ml-4 {
    margin-left: 1rem !important;
  }
  .lg\:mr-4 {
    margin-right: 1rem !important;
  }
  .lg\:mt-4 {
    margin-top: 1rem !important;
  }
  .lg\:mx-4 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .lg\:my-4 {
    margin-bottom: 1rem !important;
    margin-top: 1rem !important;
  }
  .lg\:m-6 {
    margin: 1.5rem !important;
  }
  .lg\:mb-6 {
    margin-bottom: 1.5rem !important;
  }
  .lg\:ml-6 {
    margin-left: 1.5rem !important;
  }
  .lg\:mr-6 {
    margin-right: 1.5rem !important;
  }
  .lg\:mt-6 {
    margin-top: 1.5rem !important;
  }
  .lg\:mx-6 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .lg\:my-6 {
    margin-bottom: 1.5rem !important;
    margin-top: 1.5rem !important;
  }
  .lg\:m-8 {
    margin: 2rem !important;
  }
  .lg\:mb-8 {
    margin-bottom: 2rem !important;
  }
  .lg\:ml-8 {
    margin-left: 2rem !important;
  }
  .lg\:mr-8 {
    margin-right: 2rem !important;
  }
  .lg\:mt-8 {
    margin-top: 2rem !important;
  }
  .lg\:mx-8 {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .lg\:my-8 {
    margin-bottom: 2rem !important;
    margin-top: 2rem !important;
  }
  .lg\:m-12 {
    margin: 3rem !important;
  }
  .lg\:mb-12 {
    margin-bottom: 3rem !important;
  }
  .lg\:ml-12 {
    margin-left: 3rem !important;
  }
  .lg\:mr-12 {
    margin-right: 3rem !important;
  }
  .lg\:mt-12 {
    margin-top: 3rem !important;
  }
  .lg\:mx-12 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .lg\:my-12 {
    margin-bottom: 3rem !important;
    margin-top: 3rem !important;
  }
  .lg\:m-16 {
    margin: 4rem !important;
  }
  .lg\:mb-16 {
    margin-bottom: 4rem !important;
  }
  .lg\:ml-16 {
    margin-left: 4rem !important;
  }
  .lg\:mr-16 {
    margin-right: 4rem !important;
  }
  .lg\:mt-16 {
    margin-top: 4rem !important;
  }
  .lg\:mx-16 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .lg\:my-16 {
    margin-bottom: 4rem !important;
    margin-top: 4rem !important;
  }
}

/*
================================================================================
Overflow
================================================================================
*/
.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

/*
================================================================================
Padding
================================================================================
*/
.p-0 {
  padding: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.py-0 {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.py-1 {
  padding-bottom: 0.25rem !important;
  padding-top: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.py-2 {
  padding-bottom: 0.5rem !important;
  padding-top: 0.5rem !important;
}

.p-3 {
  padding: 0.75rem !important;
}

.pb-3 {
  padding-bottom: 0.75rem !important;
}

.pl-3 {
  padding-left: 0.75rem !important;
}

.pr-3 {
  padding-right: 0.75rem !important;
}

.pt-3 {
  padding-top: 0.75rem !important;
}

.px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.py-3 {
  padding-bottom: 0.75rem !important;
  padding-top: 0.75rem !important;
}

.p-4 {
  padding: 1rem !important;
}

.pb-4 {
  padding-bottom: 1rem !important;
}

.pl-4 {
  padding-left: 1rem !important;
}

.pr-4 {
  padding-right: 1rem !important;
}

.pt-4 {
  padding-top: 1rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.py-4 {
  padding-bottom: 1rem !important;
  padding-top: 1rem !important;
}

.p-6 {
  padding: 1.5rem !important;
}

.pb-6 {
  padding-bottom: 1.5rem !important;
}

.pl-6 {
  padding-left: 1.5rem !important;
}

.pr-6 {
  padding-right: 1.5rem !important;
}

.pt-6 {
  padding-top: 1.5rem !important;
}

.px-6 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.py-6 {
  padding-bottom: 1.5rem !important;
  padding-top: 1.5rem !important;
}

.p-8 {
  padding: 2rem !important;
}

.pb-8 {
  padding-bottom: 2rem !important;
}

.pl-8 {
  padding-left: 2rem !important;
}

.pr-8 {
  padding-right: 2rem !important;
}

.pt-8 {
  padding-top: 2rem !important;
}

.px-8 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.py-8 {
  padding-bottom: 2rem !important;
  padding-top: 2rem !important;
}

@media (min-width: 37.5em) {
  .sm\:p-0 {
    padding: 0 !important;
  }
  .sm\:pb-0 {
    padding-bottom: 0 !important;
  }
  .sm\:pl-0 {
    padding-left: 0 !important;
  }
  .sm\:pr-0 {
    padding-right: 0 !important;
  }
  .sm\:pt-0 {
    padding-top: 0 !important;
  }
  .sm\:px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .sm\:py-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }
  .sm\:p-1 {
    padding: 0.25rem !important;
  }
  .sm\:pb-1 {
    padding-bottom: 0.25rem !important;
  }
  .sm\:pl-1 {
    padding-left: 0.25rem !important;
  }
  .sm\:pr-1 {
    padding-right: 0.25rem !important;
  }
  .sm\:pt-1 {
    padding-top: 0.25rem !important;
  }
  .sm\:px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .sm\:py-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }
  .sm\:p-2 {
    padding: 0.5rem !important;
  }
  .sm\:pb-2 {
    padding-bottom: 0.5rem !important;
  }
  .sm\:pl-2 {
    padding-left: 0.5rem !important;
  }
  .sm\:pr-2 {
    padding-right: 0.5rem !important;
  }
  .sm\:pt-2 {
    padding-top: 0.5rem !important;
  }
  .sm\:px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .sm\:py-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }
  .sm\:p-3 {
    padding: 0.75rem !important;
  }
  .sm\:pb-3 {
    padding-bottom: 0.75rem !important;
  }
  .sm\:pl-3 {
    padding-left: 0.75rem !important;
  }
  .sm\:pr-3 {
    padding-right: 0.75rem !important;
  }
  .sm\:pt-3 {
    padding-top: 0.75rem !important;
  }
  .sm\:px-3 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .sm\:py-3 {
    padding-bottom: 0.75rem !important;
    padding-top: 0.75rem !important;
  }
  .sm\:p-4 {
    padding: 1rem !important;
  }
  .sm\:pb-4 {
    padding-bottom: 1rem !important;
  }
  .sm\:pl-4 {
    padding-left: 1rem !important;
  }
  .sm\:pr-4 {
    padding-right: 1rem !important;
  }
  .sm\:pt-4 {
    padding-top: 1rem !important;
  }
  .sm\:px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .sm\:py-4 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }
  .sm\:p-6 {
    padding: 1.5rem !important;
  }
  .sm\:pb-6 {
    padding-bottom: 1.5rem !important;
  }
  .sm\:pl-6 {
    padding-left: 1.5rem !important;
  }
  .sm\:pr-6 {
    padding-right: 1.5rem !important;
  }
  .sm\:pt-6 {
    padding-top: 1.5rem !important;
  }
  .sm\:px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .sm\:py-6 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }
  .sm\:p-8 {
    padding: 2rem !important;
  }
  .sm\:pb-8 {
    padding-bottom: 2rem !important;
  }
  .sm\:pl-8 {
    padding-left: 2rem !important;
  }
  .sm\:pr-8 {
    padding-right: 2rem !important;
  }
  .sm\:pt-8 {
    padding-top: 2rem !important;
  }
  .sm\:px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .sm\:py-8 {
    padding-bottom: 2rem !important;
    padding-top: 2rem !important;
  }
}

@media (min-width: 45em) {
  .md\:p-0 {
    padding: 0 !important;
  }
  .md\:pb-0 {
    padding-bottom: 0 !important;
  }
  .md\:pl-0 {
    padding-left: 0 !important;
  }
  .md\:pr-0 {
    padding-right: 0 !important;
  }
  .md\:pt-0 {
    padding-top: 0 !important;
  }
  .md\:px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .md\:py-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }
  .md\:p-1 {
    padding: 0.25rem !important;
  }
  .md\:pb-1 {
    padding-bottom: 0.25rem !important;
  }
  .md\:pl-1 {
    padding-left: 0.25rem !important;
  }
  .md\:pr-1 {
    padding-right: 0.25rem !important;
  }
  .md\:pt-1 {
    padding-top: 0.25rem !important;
  }
  .md\:px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .md\:py-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }
  .md\:p-2 {
    padding: 0.5rem !important;
  }
  .md\:pb-2 {
    padding-bottom: 0.5rem !important;
  }
  .md\:pl-2 {
    padding-left: 0.5rem !important;
  }
  .md\:pr-2 {
    padding-right: 0.5rem !important;
  }
  .md\:pt-2 {
    padding-top: 0.5rem !important;
  }
  .md\:px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .md\:py-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }
  .md\:p-3 {
    padding: 0.75rem !important;
  }
  .md\:pb-3 {
    padding-bottom: 0.75rem !important;
  }
  .md\:pl-3 {
    padding-left: 0.75rem !important;
  }
  .md\:pr-3 {
    padding-right: 0.75rem !important;
  }
  .md\:pt-3 {
    padding-top: 0.75rem !important;
  }
  .md\:px-3 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .md\:py-3 {
    padding-bottom: 0.75rem !important;
    padding-top: 0.75rem !important;
  }
  .md\:p-4 {
    padding: 1rem !important;
  }
  .md\:pb-4 {
    padding-bottom: 1rem !important;
  }
  .md\:pl-4 {
    padding-left: 1rem !important;
  }
  .md\:pr-4 {
    padding-right: 1rem !important;
  }
  .md\:pt-4 {
    padding-top: 1rem !important;
  }
  .md\:px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .md\:py-4 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }
  .md\:p-6 {
    padding: 1.5rem !important;
  }
  .md\:pb-6 {
    padding-bottom: 1.5rem !important;
  }
  .md\:pl-6 {
    padding-left: 1.5rem !important;
  }
  .md\:pr-6 {
    padding-right: 1.5rem !important;
  }
  .md\:pt-6 {
    padding-top: 1.5rem !important;
  }
  .md\:px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .md\:py-6 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }
  .md\:p-8 {
    padding: 2rem !important;
  }
  .md\:pb-8 {
    padding-bottom: 2rem !important;
  }
  .md\:pl-8 {
    padding-left: 2rem !important;
  }
  .md\:pr-8 {
    padding-right: 2rem !important;
  }
  .md\:pt-8 {
    padding-top: 2rem !important;
  }
  .md\:px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .md\:py-8 {
    padding-bottom: 2rem !important;
    padding-top: 2rem !important;
  }
}

@media (min-width: 60em) {
  .lg\:p-0 {
    padding: 0 !important;
  }
  .lg\:pb-0 {
    padding-bottom: 0 !important;
  }
  .lg\:pl-0 {
    padding-left: 0 !important;
  }
  .lg\:pr-0 {
    padding-right: 0 !important;
  }
  .lg\:pt-0 {
    padding-top: 0 !important;
  }
  .lg\:px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .lg\:py-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }
  .lg\:p-1 {
    padding: 0.25rem !important;
  }
  .lg\:pb-1 {
    padding-bottom: 0.25rem !important;
  }
  .lg\:pl-1 {
    padding-left: 0.25rem !important;
  }
  .lg\:pr-1 {
    padding-right: 0.25rem !important;
  }
  .lg\:pt-1 {
    padding-top: 0.25rem !important;
  }
  .lg\:px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .lg\:py-1 {
    padding-bottom: 0.25rem !important;
    padding-top: 0.25rem !important;
  }
  .lg\:p-2 {
    padding: 0.5rem !important;
  }
  .lg\:pb-2 {
    padding-bottom: 0.5rem !important;
  }
  .lg\:pl-2 {
    padding-left: 0.5rem !important;
  }
  .lg\:pr-2 {
    padding-right: 0.5rem !important;
  }
  .lg\:pt-2 {
    padding-top: 0.5rem !important;
  }
  .lg\:px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .lg\:py-2 {
    padding-bottom: 0.5rem !important;
    padding-top: 0.5rem !important;
  }
  .lg\:p-3 {
    padding: 0.75rem !important;
  }
  .lg\:pb-3 {
    padding-bottom: 0.75rem !important;
  }
  .lg\:pl-3 {
    padding-left: 0.75rem !important;
  }
  .lg\:pr-3 {
    padding-right: 0.75rem !important;
  }
  .lg\:pt-3 {
    padding-top: 0.75rem !important;
  }
  .lg\:px-3 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .lg\:py-3 {
    padding-bottom: 0.75rem !important;
    padding-top: 0.75rem !important;
  }
  .lg\:p-4 {
    padding: 1rem !important;
  }
  .lg\:pb-4 {
    padding-bottom: 1rem !important;
  }
  .lg\:pl-4 {
    padding-left: 1rem !important;
  }
  .lg\:pr-4 {
    padding-right: 1rem !important;
  }
  .lg\:pt-4 {
    padding-top: 1rem !important;
  }
  .lg\:px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .lg\:py-4 {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
  }
  .lg\:p-6 {
    padding: 1.5rem !important;
  }
  .lg\:pb-6 {
    padding-bottom: 1.5rem !important;
  }
  .lg\:pl-6 {
    padding-left: 1.5rem !important;
  }
  .lg\:pr-6 {
    padding-right: 1.5rem !important;
  }
  .lg\:pt-6 {
    padding-top: 1.5rem !important;
  }
  .lg\:px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .lg\:py-6 {
    padding-bottom: 1.5rem !important;
    padding-top: 1.5rem !important;
  }
  .lg\:p-8 {
    padding: 2rem !important;
  }
  .lg\:pb-8 {
    padding-bottom: 2rem !important;
  }
  .lg\:pl-8 {
    padding-left: 2rem !important;
  }
  .lg\:pr-8 {
    padding-right: 2rem !important;
  }
  .lg\:pt-8 {
    padding-top: 2rem !important;
  }
  .lg\:px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .lg\:py-8 {
    padding-bottom: 2rem !important;
    padding-top: 2rem !important;
  }
}

/*
================================================================================
Position
================================================================================
*/
.absolute {
  position: absolute !important;
}

.fixed {
  position: fixed !important;
}

.relative {
  position: relative !important;
}

.static {
  position: static !important;
}

.sticky {
  position: sticky !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-auto {
  bottom: auto !important;
}

.left-0 {
  left: 0 !important;
}

.left-auto {
  left: auto !important;
}

.right-0 {
  right: 0 !important;
}

.right-auto {
  right: auto !important;
}

.top-0 {
  top: 0 !important;
}

.top-auto {
  top: auto !important;
}

@media (min-width: 37.5em) {
  .sm\:absolute {
    position: absolute !important;
  }
  .sm\:fixed {
    position: fixed !important;
  }
  .sm\:relative {
    position: relative !important;
  }
  .sm\:static {
    position: static !important;
  }
  .sm\:sticky {
    position: sticky !important;
  }
  .sm\:bottom-0 {
    bottom: 0 !important;
  }
  .sm\:bottom-auto {
    bottom: auto !important;
  }
  .sm\:left-0 {
    left: 0 !important;
  }
  .sm\:left-auto {
    left: auto !important;
  }
  .sm\:right-0 {
    right: 0 !important;
  }
  .sm\:right-auto {
    right: auto !important;
  }
  .sm\:top-0 {
    top: 0 !important;
  }
  .sm\:top-auto {
    top: auto !important;
  }
}

@media (min-width: 45em) {
  .md\:absolute {
    position: absolute !important;
  }
  .md\:fixed {
    position: fixed !important;
  }
  .md\:relative {
    position: relative !important;
  }
  .md\:static {
    position: static !important;
  }
  .md\:sticky {
    position: sticky !important;
  }
  .md\:bottom-0 {
    bottom: 0 !important;
  }
  .md\:bottom-auto {
    bottom: auto !important;
  }
  .md\:left-0 {
    left: 0 !important;
  }
  .md\:left-auto {
    left: auto !important;
  }
  .md\:right-0 {
    right: 0 !important;
  }
  .md\:right-auto {
    right: auto !important;
  }
  .md\:top-0 {
    top: 0 !important;
  }
  .md\:top-auto {
    top: auto !important;
  }
}

@media (min-width: 60em) {
  .lg\:absolute {
    position: absolute !important;
  }
  .lg\:fixed {
    position: fixed !important;
  }
  .lg\:relative {
    position: relative !important;
  }
  .lg\:static {
    position: static !important;
  }
  .lg\:sticky {
    position: sticky !important;
  }
  .lg\:bottom-0 {
    bottom: 0 !important;
  }
  .lg\:bottom-auto {
    bottom: auto !important;
  }
  .lg\:left-0 {
    left: 0 !important;
  }
  .lg\:left-auto {
    left: auto !important;
  }
  .lg\:right-0 {
    right: 0 !important;
  }
  .lg\:right-auto {
    right: auto !important;
  }
  .lg\:top-0 {
    top: 0 !important;
  }
  .lg\:top-auto {
    top: auto !important;
  }
}

/*
================================================================================
Shadow
================================================================================
*/
.shadow {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.shadow-lg {
  box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.2) !important;
}

.shadow-none {
  box-shadow: none !important;
}

/*
================================================================================
SVG
================================================================================
*/
/*
         * Combine with a text-color utility to set the fill color of an SVG.
         *
         * Credit: https://tailwindcss.com
         */
.fill-current {
  fill: currentColor !important;
}

/*
         * Combine with a text-color utility to set the stroke color of an SVG.
         *
         * Credit: https://tailwindcss.com
         */
.stroke-current {
  stroke: currentColor !important;
}

/*
================================================================================
Table layout
================================================================================
*/
.table-auto {
  table-layout: auto !important;
}

.table-fixed {
  table-layout: fixed !important;
}

/*
================================================================================
Width
================================================================================
*/
.w-auto {
  width: auto !important;
}

.w-1\/12 {
  width: 8.33333333% !important;
}

.w-1\/10 {
  width: 10% !important;
}

.w-1\/6 {
  width: 16.66666667% !important;
}

.w-1\/5 {
  width: 20% !important;
}

.w-1\/4 {
  width: 25% !important;
}

.w-3\/10 {
  width: 30% !important;
}

.w-1\/3 {
  width: 33.33333333% !important;
}

.w-2\/5 {
  width: 40% !important;
}

.w-5\/12 {
  width: 41.66666667% !important;
}

.w-1\/2 {
  width: 50% !important;
}

.w-7\/12 {
  width: 58.33333333% !important;
}

.w-3\/5 {
  width: 60% !important;
}

.w-2\/3 {
  width: 66.66666667% !important;
}

.w-7\/10 {
  width: 70% !important;
}

.w-3\/4 {
  width: 75% !important;
}

.w-4\/5 {
  width: 80% !important;
}

.w-5\/6 {
  width: 83.33333333% !important;
}

.w-9\/10 {
  width: 90% !important;
}

.w-11\/12 {
  width: 91.66666667% !important;
}

.w-full {
  width: 100% !important;
}

@media (min-width: 37.5em) {
  .sm\:w-auto {
    width: auto !important;
  }
  .sm\:w-1\/12 {
    width: 8.33333333% !important;
  }
  .sm\:w-1\/10 {
    width: 10% !important;
  }
  .sm\:w-1\/6 {
    width: 16.66666667% !important;
  }
  .sm\:w-1\/5 {
    width: 20% !important;
  }
  .sm\:w-1\/4 {
    width: 25% !important;
  }
  .sm\:w-3\/10 {
    width: 30% !important;
  }
  .sm\:w-1\/3 {
    width: 33.33333333% !important;
  }
  .sm\:w-2\/5 {
    width: 40% !important;
  }
  .sm\:w-5\/12 {
    width: 41.66666667% !important;
  }
  .sm\:w-1\/2 {
    width: 50% !important;
  }
  .sm\:w-7\/12 {
    width: 58.33333333% !important;
  }
  .sm\:w-3\/5 {
    width: 60% !important;
  }
  .sm\:w-2\/3 {
    width: 66.66666667% !important;
  }
  .sm\:w-7\/10 {
    width: 70% !important;
  }
  .sm\:w-3\/4 {
    width: 75% !important;
  }
  .sm\:w-4\/5 {
    width: 80% !important;
  }
  .sm\:w-5\/6 {
    width: 83.33333333% !important;
  }
  .sm\:w-9\/10 {
    width: 90% !important;
  }
  .sm\:w-11\/12 {
    width: 91.66666667% !important;
  }
  .sm\:w-full {
    width: 100% !important;
  }
}

@media (min-width: 45em) {
  .md\:w-auto {
    width: auto !important;
  }
  .md\:w-1\/12 {
    width: 8.33333333% !important;
  }
  .md\:w-1\/10 {
    width: 10% !important;
  }
  .md\:w-1\/6 {
    width: 16.66666667% !important;
  }
  .md\:w-1\/5 {
    width: 20% !important;
  }
  .md\:w-1\/4 {
    width: 25% !important;
  }
  .md\:w-3\/10 {
    width: 30% !important;
  }
  .md\:w-1\/3 {
    width: 33.33333333% !important;
  }
  .md\:w-2\/5 {
    width: 40% !important;
  }
  .md\:w-5\/12 {
    width: 41.66666667% !important;
  }
  .md\:w-1\/2 {
    width: 50% !important;
  }
  .md\:w-7\/12 {
    width: 58.33333333% !important;
  }
  .md\:w-3\/5 {
    width: 60% !important;
  }
  .md\:w-2\/3 {
    width: 66.66666667% !important;
  }
  .md\:w-7\/10 {
    width: 70% !important;
  }
  .md\:w-3\/4 {
    width: 75% !important;
  }
  .md\:w-4\/5 {
    width: 80% !important;
  }
  .md\:w-5\/6 {
    width: 83.33333333% !important;
  }
  .md\:w-9\/10 {
    width: 90% !important;
  }
  .md\:w-11\/12 {
    width: 91.66666667% !important;
  }
  .md\:w-full {
    width: 100% !important;
  }
}

@media (min-width: 60em) {
  .lg\:w-auto {
    width: auto !important;
  }
  .lg\:w-1\/12 {
    width: 8.33333333% !important;
  }
  .lg\:w-1\/10 {
    width: 10% !important;
  }
  .lg\:w-1\/6 {
    width: 16.66666667% !important;
  }
  .lg\:w-1\/5 {
    width: 20% !important;
  }
  .lg\:w-1\/4 {
    width: 25% !important;
  }
  .lg\:w-3\/10 {
    width: 30% !important;
  }
  .lg\:w-1\/3 {
    width: 33.33333333% !important;
  }
  .lg\:w-2\/5 {
    width: 40% !important;
  }
  .lg\:w-5\/12 {
    width: 41.66666667% !important;
  }
  .lg\:w-1\/2 {
    width: 50% !important;
  }
  .lg\:w-7\/12 {
    width: 58.33333333% !important;
  }
  .lg\:w-3\/5 {
    width: 60% !important;
  }
  .lg\:w-2\/3 {
    width: 66.66666667% !important;
  }
  .lg\:w-7\/10 {
    width: 70% !important;
  }
  .lg\:w-3\/4 {
    width: 75% !important;
  }
  .lg\:w-4\/5 {
    width: 80% !important;
  }
  .lg\:w-5\/6 {
    width: 83.33333333% !important;
  }
  .lg\:w-9\/10 {
    width: 90% !important;
  }
  .lg\:w-11\/12 {
    width: 91.66666667% !important;
  }
  .lg\:w-full {
    width: 100% !important;
  }
}

/*
================================================================================
Alignment
================================================================================
*/
.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

/*
================================================================================
Color
================================================================================
*/
.color-transparent {
  color: transparent;
}

.color-primary {
  color: #502a7a;
}

.color-black {
  color: #000;
}

.color-white {
  color: #fff;
}

.color-link {
  color: #39c;
}

.color-gray-10 {
  color: #f9fafa;
}

.color-gray-20 {
  color: #f0f2f3;
}

.color-gray-30 {
  color: #e7e9ec;
}

.color-gray-40 {
  color: #d6dadd;
}

.color-gray-50 {
  color: #adb5bd;
}

.color-gray-60 {
  color: #8a96a1;
}

.color-gray-70 {
  color: #5f6b78;
}

.color-gray-80 {
  color: #3a4148;
}

.color-gray-90 {
  color: #202428;
}

.color-blue-10 {
  color: #ebf5fa;
}

.color-blue-20 {
  color: #d1e8f3;
}

.color-blue-30 {
  color: #9acde6;
}

.color-blue-40 {
  color: #67b3d9;
}

.color-blue-50 {
  color: #39c;
}

.color-blue-60 {
  color: #2d86b3;
}

.color-blue-70 {
  color: #246b8e;
}

.color-blue-80 {
  color: #154258;
}

.color-blue-90 {
  color: #0f2e3d;
}

.color-info {
  color: #2d86b3;
}

.color-info-light {
  color: #d1e8f3;
}

.color-info-text {
  color: #154258;
}

.color-success {
  color: #20c372;
}

.color-success-light {
  color: #b6f3d5;
}

.color-success-text {
  color: #126b3f;
}

.color-danger {
  color: #d03a40;
}

.color-danger-light {
  color: #f3cecf;
}

.color-danger-text {
  color: #a1262b;
}

.color-warning {
  color: #ffca34;
}

.color-warning-light {
  color: #fff2cc;
}

.color-warning-text {
  color: #7b5b00;
}

.color-text {
  color: #3a4148;
}

.color-link-focus {
  color: #246b8e;
}

@media (min-width: 37.5em) {
  .sm\:color-transparent {
    color: transparent;
  }
  .sm\:color-primary {
    color: #502a7a;
  }
  .sm\:color-black {
    color: #000;
  }
  .sm\:color-white {
    color: #fff;
  }
  .sm\:color-link {
    color: #39c;
  }
  .sm\:color-gray-10 {
    color: #f9fafa;
  }
  .sm\:color-gray-20 {
    color: #f0f2f3;
  }
  .sm\:color-gray-30 {
    color: #e7e9ec;
  }
  .sm\:color-gray-40 {
    color: #d6dadd;
  }
  .sm\:color-gray-50 {
    color: #adb5bd;
  }
  .sm\:color-gray-60 {
    color: #8a96a1;
  }
  .sm\:color-gray-70 {
    color: #5f6b78;
  }
  .sm\:color-gray-80 {
    color: #3a4148;
  }
  .sm\:color-gray-90 {
    color: #202428;
  }
  .sm\:color-blue-10 {
    color: #ebf5fa;
  }
  .sm\:color-blue-20 {
    color: #d1e8f3;
  }
  .sm\:color-blue-30 {
    color: #9acde6;
  }
  .sm\:color-blue-40 {
    color: #67b3d9;
  }
  .sm\:color-blue-50 {
    color: #39c;
  }
  .sm\:color-blue-60 {
    color: #2d86b3;
  }
  .sm\:color-blue-70 {
    color: #246b8e;
  }
  .sm\:color-blue-80 {
    color: #154258;
  }
  .sm\:color-blue-90 {
    color: #0f2e3d;
  }
  .sm\:color-info {
    color: #2d86b3;
  }
  .sm\:color-info-light {
    color: #d1e8f3;
  }
  .sm\:color-info-text {
    color: #154258;
  }
  .sm\:color-success {
    color: #20c372;
  }
  .sm\:color-success-light {
    color: #b6f3d5;
  }
  .sm\:color-success-text {
    color: #126b3f;
  }
  .sm\:color-danger {
    color: #d03a40;
  }
  .sm\:color-danger-light {
    color: #f3cecf;
  }
  .sm\:color-danger-text {
    color: #a1262b;
  }
  .sm\:color-warning {
    color: #ffca34;
  }
  .sm\:color-warning-light {
    color: #fff2cc;
  }
  .sm\:color-warning-text {
    color: #7b5b00;
  }
  .sm\:color-text {
    color: #3a4148;
  }
  .sm\:color-link-focus {
    color: #246b8e;
  }
}

@media (min-width: 45em) {
  .md\:color-transparent {
    color: transparent;
  }
  .md\:color-primary {
    color: #502a7a;
  }
  .md\:color-black {
    color: #000;
  }
  .md\:color-white {
    color: #fff;
  }
  .md\:color-link {
    color: #39c;
  }
  .md\:color-gray-10 {
    color: #f9fafa;
  }
  .md\:color-gray-20 {
    color: #f0f2f3;
  }
  .md\:color-gray-30 {
    color: #e7e9ec;
  }
  .md\:color-gray-40 {
    color: #d6dadd;
  }
  .md\:color-gray-50 {
    color: #adb5bd;
  }
  .md\:color-gray-60 {
    color: #8a96a1;
  }
  .md\:color-gray-70 {
    color: #5f6b78;
  }
  .md\:color-gray-80 {
    color: #3a4148;
  }
  .md\:color-gray-90 {
    color: #202428;
  }
  .md\:color-blue-10 {
    color: #ebf5fa;
  }
  .md\:color-blue-20 {
    color: #d1e8f3;
  }
  .md\:color-blue-30 {
    color: #9acde6;
  }
  .md\:color-blue-40 {
    color: #67b3d9;
  }
  .md\:color-blue-50 {
    color: #39c;
  }
  .md\:color-blue-60 {
    color: #2d86b3;
  }
  .md\:color-blue-70 {
    color: #246b8e;
  }
  .md\:color-blue-80 {
    color: #154258;
  }
  .md\:color-blue-90 {
    color: #0f2e3d;
  }
  .md\:color-info {
    color: #2d86b3;
  }
  .md\:color-info-light {
    color: #d1e8f3;
  }
  .md\:color-info-text {
    color: #154258;
  }
  .md\:color-success {
    color: #20c372;
  }
  .md\:color-success-light {
    color: #b6f3d5;
  }
  .md\:color-success-text {
    color: #126b3f;
  }
  .md\:color-danger {
    color: #d03a40;
  }
  .md\:color-danger-light {
    color: #f3cecf;
  }
  .md\:color-danger-text {
    color: #a1262b;
  }
  .md\:color-warning {
    color: #ffca34;
  }
  .md\:color-warning-light {
    color: #fff2cc;
  }
  .md\:color-warning-text {
    color: #7b5b00;
  }
  .md\:color-text {
    color: #3a4148;
  }
  .md\:color-link-focus {
    color: #246b8e;
  }
}

@media (min-width: 60em) {
  .lg\:color-transparent {
    color: transparent;
  }
  .lg\:color-primary {
    color: #502a7a;
  }
  .lg\:color-black {
    color: #000;
  }
  .lg\:color-white {
    color: #fff;
  }
  .lg\:color-link {
    color: #39c;
  }
  .lg\:color-gray-10 {
    color: #f9fafa;
  }
  .lg\:color-gray-20 {
    color: #f0f2f3;
  }
  .lg\:color-gray-30 {
    color: #e7e9ec;
  }
  .lg\:color-gray-40 {
    color: #d6dadd;
  }
  .lg\:color-gray-50 {
    color: #adb5bd;
  }
  .lg\:color-gray-60 {
    color: #8a96a1;
  }
  .lg\:color-gray-70 {
    color: #5f6b78;
  }
  .lg\:color-gray-80 {
    color: #3a4148;
  }
  .lg\:color-gray-90 {
    color: #202428;
  }
  .lg\:color-blue-10 {
    color: #ebf5fa;
  }
  .lg\:color-blue-20 {
    color: #d1e8f3;
  }
  .lg\:color-blue-30 {
    color: #9acde6;
  }
  .lg\:color-blue-40 {
    color: #67b3d9;
  }
  .lg\:color-blue-50 {
    color: #39c;
  }
  .lg\:color-blue-60 {
    color: #2d86b3;
  }
  .lg\:color-blue-70 {
    color: #246b8e;
  }
  .lg\:color-blue-80 {
    color: #154258;
  }
  .lg\:color-blue-90 {
    color: #0f2e3d;
  }
  .lg\:color-info {
    color: #2d86b3;
  }
  .lg\:color-info-light {
    color: #d1e8f3;
  }
  .lg\:color-info-text {
    color: #154258;
  }
  .lg\:color-success {
    color: #20c372;
  }
  .lg\:color-success-light {
    color: #b6f3d5;
  }
  .lg\:color-success-text {
    color: #126b3f;
  }
  .lg\:color-danger {
    color: #d03a40;
  }
  .lg\:color-danger-light {
    color: #f3cecf;
  }
  .lg\:color-danger-text {
    color: #a1262b;
  }
  .lg\:color-warning {
    color: #ffca34;
  }
  .lg\:color-warning-light {
    color: #fff2cc;
  }
  .lg\:color-warning-text {
    color: #7b5b00;
  }
  .lg\:color-text {
    color: #3a4148;
  }
  .lg\:color-link-focus {
    color: #246b8e;
  }
}

/*
================================================================================
Leading
================================================================================
*/
.leading-none {
  line-height: 1;
}

.leading-tight {
  line-height: 1.2;
}

.leading-normal {
  line-height: 1.6;
}

.leading-loose {
  line-height: 2;
}

/*
================================================================================
Size
================================================================================
*/
.size-base {
  font-size: 16px;
}

.size-xs {
  font-size: 65%;
}

.size-sm {
  font-size: 80%;
}

.size-caption {
  font-size: 90%;
}

.size-normal {
  font-size: 100%;
}

.size-lg {
  font-size: 112%;
}

.size-xl {
  font-size: 125%;
}

/*
================================================================================
Ellipsis
================================================================================
*/
/*
         * Truncate long text with an ellipsis.
         */
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*
         * Reset the properties of the `truncate` class to default values.
         */
.truncate-none {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

@media (min-width: 37.5em) {
  /*
         * Truncate long text with an ellipsis.
         */
  .sm\:truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /*
         * Reset the properties of the `truncate` class to default values.
         */
  .sm\:truncate-none {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (min-width: 45em) {
  /*
         * Truncate long text with an ellipsis.
         */
  .md\:truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /*
         * Reset the properties of the `truncate` class to default values.
         */
  .md\:truncate-none {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

@media (min-width: 60em) {
  /*
         * Truncate long text with an ellipsis.
         */
  .lg\:truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /*
         * Reset the properties of the `truncate` class to default values.
         */
  .lg\:truncate-none {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

/*
================================================================================
Vertical alignment
================================================================================
*/
.align-baseline {
  vertical-align: baseline !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-top {
  vertical-align: top !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

/*
================================================================================
Visibility
================================================================================
*/
/*
         * Hide visually and from screenreaders, but maintain layout.
         */
.invisible {
  visibility: hidden !important;
}

.visible {
  visibility: visible !important;
}

/*
         * Hide only visually, but have it available for screen readers:
         * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
         * Credit: https://github.com/h5bp/html5-boilerplate
         *
         * 1. The `focusable` modifier allows the element to be focusable
         *    when navigated to via keyboard.
         */
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.visually-hidden--focusable:focus, .visually-hidden--focusable:active {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
  /* 1 */
}

/*
===============================================================================
User bar
===============================================================================
*/
.user-bar {
  -moz-box-align: center;
       align-items: center;
  background-color: #3a4148;
  display: -moz-box;
  display: flex;
  font-size: 0.8125rem;
  height: 63px;
  -moz-box-pack: justify;
       justify-content: space-between;
  line-height: 1.2;
  position: relative;
}

.user-bar__dashboard-link {
  color: #adb5bd;
  font-size: 0.8125rem;
  font-weight: 300;
  padding: 0 20px;
  -moz-transition: color 150ms ease-out;
  transition: color 150ms ease-out;
}

.user-bar__dashboard-link:active, .user-bar__dashboard-link:focus, .user-bar__dashboard-link:hover {
  color: #fff;
  text-decoration: none;
}

/* Button
============================================================================ */
.user-bar__btn {
  background-color: transparent;
  border: 0;
  color: #8a96a1;
  display: block;
  font-size: 0.8125rem;
  margin: 0;
  margin-left: 20px;
  padding: 0;
  position: absolute;
  -moz-transition: color 150ms ease-out, margin-left 0 linear;
  transition: color 150ms ease-out, margin-left 0 linear;
}

.user-bar__btn:active, .user-bar__btn:focus, .user-bar__btn:hover {
  color: #5f6b78;
}

.user-bar__btn:active > .user-bar__btn-icon span,
.user-bar__btn:focus > .user-bar__btn-icon span,
.user-bar__btn:hover > .user-bar__btn-icon span {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='146' height='30' viewBox='0 0 146 30' fill='%235f6b78'><path d='M94.258 10H51.743C49.123 10 47 12.24 47 15c0 2.762 2.126 5 4.743 5h42.515C96.873 20 99 17.762 99 15c0-2.76-2.123-5-4.742-5zM15 0L0 15l15 15V20h22V10H15M146 15L131 0v10h-22v10h22v10'/></svg>") no-repeat 0 0;
  background-size: auto 6px;
}

.user-bar__btn:hover > .user-bar__btn-icon::after {
  background-color: #5f6b78;
}

.user-bar__btn:hover > .user-bar__btn-icon::before {
  background-color: #5f6b78;
}

.user-bar__btn-text {
  font-family: "Lato", sans-serif;
}

@media (min-width: 37.5em) {
  .user-bar__btn {
    margin-left: 25px;
  }
  .user-bar__btn--has-menu {
    margin-left: 80px;
  }
}

@media (min-width: 57.5em) {
  .user-bar__btn {
    margin-left: 30px;
    z-index: 3;
  }
  .user-bar__btn--has-menu {
    margin-left: 240px;
    padding-left: 0;
  }
}

.user-bar__btn-icon {
  background-color: transparent;
  border: 0;
  -moz-box-sizing: content-box;
       box-sizing: content-box;
  display: inline-block;
  height: 20px;
  margin-bottom: 0;
  padding: 0;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 20px;
  margin-right: 7px;
}

.user-bar__btn-icon::after, .user-bar__btn-icon::before,
.user-bar__btn-icon > span {
  background-color: #8a96a1;
  border-radius: 1px;
  display: block;
  height: 2px;
  margin-top: 9px;
  position: absolute;
  left: 0;
  -moz-transition: all 150ms ease-out;
  transition: all 150ms ease-out;
  width: 20px;
}

.user-bar__btn-icon::after, .user-bar__btn-icon::before {
  content: "";
}

.user-bar__btn-icon::before {
  top: -6px;
}

.user-bar__btn-icon > span {
  top: 0;
}

.user-bar__btn-icon::after {
  top: 6px;
}

.user-bar__btn-icon--active::before {
  -moz-transform: translate(0, 6px) rotate(45deg);
       transform: translate(0, 6px) rotate(45deg);
}

.user-bar__btn-icon--active::after {
  -moz-transform: translate(0, -6px) rotate(-45deg);
       transform: translate(0, -6px) rotate(-45deg);
}

.user-bar__btn-icon--active > span {
  opacity: 0;
}

.user-bar__btn-icon > span {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='146' height='30' viewBox='0 0 146 30' fill='%238a96a1'><path d='M94.258 10H51.743C49.123 10 47 12.24 47 15c0 2.762 2.126 5 4.743 5h42.515C96.873 20 99 17.762 99 15c0-2.76-2.123-5-4.742-5zM15 0L0 15l15 15V20h22V10H15M146 15L131 0v10h-22v10h22v10'/></svg>") no-repeat 0 0;
  background-size: auto 6px;
  height: 6px;
  top: -2px;
  width: 20px;
}

[aria-expanded="false"] > .user-bar__btn-icon > span {
  background-position: 100% 0;
}

.user-bar__btn-icon--has-menu > span {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='146' height='30' viewBox='0 0 146 30' fill='%238a96a1'><path d='M94.258 10H51.743C49.123 10 47 12.24 47 15c0 2.762 2.126 5 4.743 5h42.515C96.873 20 99 17.762 99 15c0-2.76-2.123-5-4.742-5zM15 0L0 15l15 15V20h22V10H15M146 15L131 0v10h-22v10h22v10'/></svg>") no-repeat 0 0;
  background-size: auto 6px;
}

.user-bar__btn-icon--has-menu::before {
  background-color: #8a96a1;
}

.user-bar__btn-icon--has-menu::after {
  background-color: #8a96a1;
}

/* Profile
============================================================================ */
.user-bar__profile {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  height: 60px;
  -moz-box-pack: right;
       justify-content: right;
  padding-right: 15px;
  position: relative;
}

.user-bar__profile::after {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='496 497.5 8 5'><path fill='%23fff' d='M497.048 497.972c-.252-.295-.526-.295-.825 0-.297.25-.297.523 0 .818l3.366 3.272c.25.25.524.25.822 0l3.364-3.272c.298-.295.298-.568 0-.818-.274-.273-.56-.273-.858 0L500 500.63l-2.952-2.658z'/></svg>") no-repeat 0 0;
  content: "";
  display: inline-block;
  height: 5px;
  margin-left: 0.5em;
  margin-top: 0.2em;
  vertical-align: middle;
  width: 8px;
}

.user-bar__avatar {
  height: auto;
  vertical-align: initial;
  width: 100%;
}

.user-bar__avatar-container {
  border-radius: 9999px;
  box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.4);
  display: inline-block;
  height: 28px;
  overflow: hidden;
  width: 28px;
}

.user-bar__avatar-container--count {
  border: 1px solid #d6dadd;
  border-radius: 50%;
  box-shadow: none;
  text-align: center;
}

.user-bar__avatar-container--add {
  background-color: #f9fafa;
  border: 1px solid #d6dadd;
  border-radius: 50%;
  box-shadow: none;
  overflow: hidden;
  text-align: center;
  vertical-align: top;
}

.user-bar__avatar-container--add:hover {
  border: 1px solid #8a96a1;
}

.user-bar__count {
  color: #8a96a1;
  display: block;
  font-size: 0.75rem;
  line-height: 2.1;
}

.user-bar__plus {
  -moz-box-align: center;
       align-items: center;
  background-color: #f9fafa;
  color: #8a96a1;
  display: -moz-box;
  display: flex;
  font-size: 0.75rem;
  height: 100%;
  -moz-box-pack: center;
       justify-content: center;
  line-height: 2.1;
}

.user-bar__plus:hover {
  color: #50AB87;
  cursor: pointer;
}

.user-bar__user-name {
  color: #fff;
  display: none;
  font-weight: 100;
  margin-bottom: 0;
  margin-left: 0.75em;
}

@media (min-width: 31.25em) {
  .user-bar__user-name {
    display: block;
  }
}

/* Profile menu
============================================================================ */
.user-bar__profile-menu {
  background-color: #3a4148;
  border-radius: 4px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  font-size: 0.8125rem;
  list-style: none;
  margin: 0;
  max-width: 300px;
  min-width: 200px;
  position: absolute;
  top: 70px;
  right: 10px;
  z-index: 5;
}

.user-bar__profile-menu::before {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #3a4148;
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  top: -7px;
  right: 6px;
  z-index: 2;
}

@media (min-width: 31.25em) {
  .user-bar__profile-menu::before {
    right: 40px;
  }
}

.user-bar__profile-menu::after {
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
}

.user-bar__profile-menu--hide {
  -webkit-animation: hide-profile-menu 150ms ease-in forwards;
          animation: hide-profile-menu 150ms ease-in forwards;
}

.user-bar__profile-menu--show {
  -webkit-animation: show-profile-menu 250ms ease-out forwards;
          animation: show-profile-menu 250ms ease-out forwards;
}

/**
 * 1. Icon position might change depending on used fonts.
 */
.user-bar__logout-icon {
  line-height: 1;
  margin-right: 6px;
  stroke: #adb5bd;
  position: relative;
  top: 0.1em;
  /* 1 */
  vertical-align: initial;
  width: 17px;
}

:active > .user-bar__logout-icon,
:focus > .user-bar__logout-icon,
:hover > .user-bar__logout-icon {
  stroke: #ffca34;
}

/* Animations
============================================================================ */
@-webkit-keyframes show-profile-menu {
  0% {
    opacity: 0;
    transform: scale(0.5);
    transform-origin: right top;
    visibility: visible;
  }
  70% {
    opacity: 1;
    transform: scale(1.075);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    transform-origin: right top;
    visibility: visible;
  }
}
@keyframes show-profile-menu {
  0% {
    opacity: 0;
    -moz-transform: scale(0.5);
         transform: scale(0.5);
    -moz-transform-origin: right top;
         transform-origin: right top;
    visibility: visible;
  }
  70% {
    opacity: 1;
    -moz-transform: scale(1.075);
         transform: scale(1.075);
  }
  100% {
    opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1);
    -moz-transform-origin: right top;
         transform-origin: right top;
    visibility: visible;
  }
}

@-webkit-keyframes hide-profile-menu {
  0% {
    opacity: 1;
    transform: scale(1);
    transform-origin: right top;
    visibility: visible;
  }
  100% {
    opacity: 0;
    transform: scale(0.5);
    transform-origin: right top;
  }
}

@keyframes hide-profile-menu {
  0% {
    opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1);
    -moz-transform-origin: right top;
         transform-origin: right top;
    visibility: visible;
  }
  100% {
    opacity: 0;
    -moz-transform: scale(0.5);
         transform: scale(0.5);
    -moz-transform-origin: right top;
         transform-origin: right top;
  }
}

/*
===============================================================================
User bar
===============================================================================
*/
.user-bar-admin {
  font: Regular 13px/16px Lato;
  -moz-box-align: center;
       align-items: center;
  background-color: #202428;
  box-shadow: 0px 0px 3px #00000066;
  display: -moz-box;
  display: flex;
  height: 60px;
  -moz-box-pack: justify;
       justify-content: space-between;
  position: relative;
}

.user-bar-admin__dashboard-link {
  color: #ADB5BD;
  font-size: 13px;
  font-weight: 300;
  padding: 0 20px;
  -moz-transition: color 150ms ease-out;
  transition: color 150ms ease-out;
}

.user-bar-admin__dashboard-link:active, .user-bar-admin__dashboard-link:focus, .user-bar-admin__dashboard-link:hover {
  color: #fff;
  text-decoration: none;
}

/* Button
============================================================================ */
.user-bar-admin__btn {
  background-color: transparent;
  border: 0;
  color: #cfd4d8;
  font-size: 0.8125rem;
  margin: 0;
  padding: 1em 1.5em;
  -moz-transition: color 150ms ease-out;
  transition: color 150ms ease-out;
}

.user-bar-admin__btn:active, .user-bar-admin__btn:focus, .user-bar-admin__btn:hover {
  color: #fff;
}

.user-bar-admin__btn-text {
  font-family: "Lato", sans-serif;
}

.user-bar-admin__btn-icon {
  background-color: transparent;
  border: 0;
  -moz-box-sizing: content-box;
       box-sizing: content-box;
  display: inline-block;
  height: 20px;
  margin-bottom: 0;
  padding: 0;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 20px;
  margin-right: 7px;
}

.user-bar-admin__btn-icon::after, .user-bar-admin__btn-icon::before,
.user-bar-admin__btn-icon > span {
  background-color: #adb5bd;
  border-radius: 1px;
  display: block;
  height: 2px;
  margin-top: 9px;
  position: absolute;
  left: 0;
  -moz-transition: all 150ms ease-out;
  transition: all 150ms ease-out;
  width: 20px;
}

.user-bar-admin__btn-icon::after, .user-bar-admin__btn-icon::before {
  content: "";
}

.user-bar-admin__btn-icon::before {
  top: -6px;
}

.user-bar-admin__btn-icon > span {
  top: 0;
}

.user-bar-admin__btn-icon::after {
  top: 6px;
}

.user-bar-admin__btn-icon--active::before {
  -moz-transform: translate(0, 6px) rotate(45deg);
       transform: translate(0, 6px) rotate(45deg);
}

.user-bar-admin__btn-icon--active::after {
  -moz-transform: translate(0, -6px) rotate(-45deg);
       transform: translate(0, -6px) rotate(-45deg);
}

.user-bar-admin__btn-icon--active > span {
  opacity: 0;
}

.user-bar-admin__btn-icon > span {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='146' height='30' viewBox='0 0 146 30' fill='%23ccc'><path d='M94.258 10H51.743C49.123 10 47 12.24 47 15c0 2.762 2.126 5 4.743 5h42.515C96.873 20 99 17.762 99 15c0-2.76-2.123-5-4.742-5zM15 0L0 15l15 15V20h22V10H15M146 15L131 0v10h-22v10h22v10'/></svg>") no-repeat 0 0;
  background-size: auto 6px;
  height: 6px;
  top: -2px;
  width: 20px;
}

[aria-expanded="false"] > .user-bar-admin__btn-icon > span {
  background-position: 100% 0;
}

/* Profile
============================================================================ */
.user-bar-admin__profile {
  -moz-box-align: center;
       align-items: center;
  display: -moz-box;
  display: flex;
  height: 60px;
  -moz-box-pack: right;
       justify-content: right;
  padding-right: 15px;
  position: relative;
}

.user-bar-admin__profile::after {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='496 497.5 8 5'><path fill='%23fff' d='M497.048 497.972c-.252-.295-.526-.295-.825 0-.297.25-.297.523 0 .818l3.366 3.272c.25.25.524.25.822 0l3.364-3.272c.298-.295.298-.568 0-.818-.274-.273-.56-.273-.858 0L500 500.63l-2.952-2.658z'/></svg>") no-repeat 0 0;
  content: "";
  display: inline-block;
  height: 5px;
  margin-left: 0.5em;
  margin-top: 0.2em;
  vertical-align: middle;
  width: 8px;
}

.user-bar-admin__avatar {
  vertical-align: initial;
  height: auto;
  width: 100%;
}

.user-bar-admin__avatar-container {
  border-radius: 9999px;
  box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.4);
  display: inline-block;
  height: 28px;
  overflow: hidden;
  width: 28px;
}

.user-bar-admin__avatar-container--count {
  text-align: center;
  border-radius: 50%;
  border: 1px solid #ccc;
  box-shadow: none;
}

.user-bar-admin__avatar-container--add {
  background-color: #f9fafa;
  border-radius: 50%;
  border: 1px solid #ccc;
  box-shadow: none;
  text-align: center;
  overflow: hidden;
  vertical-align: top;
}

.user-bar-admin__avatar-container--add:hover {
  border: 1px solid #8a96a1;
}

.user-bar-admin__count {
  color: #8a96a1;
  display: block;
  font-size: 12px;
  line-height: 2.1;
}

.user-bar-admin__plus {
  background-color: #f9fafa;
  color: #8a96a1;
  display: -moz-box;
  display: flex;
  font-size: 12px;
  height: 100%;
  line-height: 2.1;
  -moz-box-align: center;
       align-items: center;
  -moz-box-pack: center;
       justify-content: center;
}

.user-bar-admin__plus:hover {
  color: #50AB87;
  cursor: pointer;
}

.user-bar-admin__user-name {
  color: #fff;
  display: none;
  font-weight: 100;
  margin-bottom: 0;
  margin-left: 0.75em;
}

@media (min-width: 31.25em) {
  .user-bar-admin__user-name {
    display: block;
  }
}

/* Profile menu
============================================================================ */
.user-bar-admin__profile-menu {
  background-color: #37424D;
  border-radius: 4px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  font-size: 13px;
  list-style: none;
  margin: 0;
  max-width: 300px;
  min-width: 200px;
  position: absolute;
  top: 70px;
  right: 10px;
  z-index: 5;
}

.user-bar-admin__profile-menu::before {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #37424D;
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  top: -7px;
  right: 6px;
  z-index: 2;
}

@media (min-width: 31.25em) {
  .user-bar-admin__profile-menu::before {
    right: 40px;
  }
}

.user-bar-admin__profile-menu::after {
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
}

.user-bar-admin__profile-menu--hide {
  -webkit-animation: hide-profile-menu 150ms ease-in forwards;
          animation: hide-profile-menu 150ms ease-in forwards;
}

.user-bar-admin__profile-menu--show {
  -webkit-animation: show-profile-menu 250ms ease-out forwards;
          animation: show-profile-menu 250ms ease-out forwards;
}

.user-bar-admin__profile-menu-item {
  border-top: 1px solid #505963;
}

.user-bar-admin__profile-menu-item .name {
  color: #fff;
  font-size: 14px;
  text-align: center;
  margin-bottom: 0px;
  padding-top: 10px;
}

.user-bar-admin__profile-menu-item .rol {
  color: #8A96A1;
  text-align: center;
  padding-bottom: 18px;
}

.user-bar-admin__profile-menu-item .user-bar-admin__avatar-container {
  display: block;
  margin: auto;
  margin-top: 15px;
  height: 82px;
  width: 82px;
}

.user-bar-admin__profile-menu-item:first-child {
  border-top: 0;
}

.user--info {
  background: #2D363E;
  border-radius: 4px 4px 0px 0px;
  padding-top: 15px;
}

.user-bar-admin__profile-menu-link {
  border-radius: 3px;
  color: #ADB5BD;
  display: block;
  font-size: 0.8125rem;
  font-weight: 400;
  min-width: 180px;
  padding: 1em;
  text-decoration: none;
  -moz-transition: background-color 200ms ease-out, color 200ms ease-out;
  transition: background-color 200ms ease-out, color 200ms ease-out;
}

.user-bar-admin__profile-menu-link:active, .user-bar-admin__profile-menu-link:focus, .user-bar-admin__profile-menu-link:hover {
  background-color: #9fa8b2;
  color: #fff;
  text-decoration: none;
}

.user-bar-admin__profile-menu-link--logout {
  background-color: #2D363E;
  font-size: 0.75rem;
  position: relative;
}

.user-bar-admin__profile-menu-link--logout:active, .user-bar-admin__profile-menu-link--logout:focus, .user-bar-admin__profile-menu-link--logout:hover {
  background-color: #122;
}

.user-bar-admin__profile-menu-link--logout:active > .user-bar-admin__logout-icon, .user-bar-admin__profile-menu-link--logout:focus > .user-bar-admin__logout-icon, .user-bar-admin__profile-menu-link--logout:hover > .user-bar-admin__logout-icon {
  color: #b55;
}

/**
 * 1. Icon position might change depending on used fonts.
 */
.user-bar-admin__logout-icon {
  line-height: 1;
  margin-right: 0.4em;
  stroke: #ADB5BD;
  position: relative;
  top: 0.1em;
  /* 1 */
  -moz-transition: stroke 150ms ease-out;
  transition: stroke 150ms ease-out;
  vertical-align: top;
  width: 0.9375rem;
}

:active > .user-bar-admin__logout-icon,
:focus > .user-bar-admin__logout-icon,
:hover > .user-bar-admin__logout-icon {
  stroke: #b55;
}

.dashboard .user-bar-admin__logout-icon {
  top: 0.1em;
  /* 1 */
}

/* Animations
============================================================================ */
@keyframes show-profile-menu {
  0% {
    opacity: 0;
    -moz-transform: scale(0.5);
         transform: scale(0.5);
    -moz-transform-origin: right top;
         transform-origin: right top;
    visibility: visible;
  }
  70% {
    opacity: 1;
    -moz-transform: scale(1.075);
         transform: scale(1.075);
  }
  100% {
    opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1);
    -moz-transform-origin: right top;
         transform-origin: right top;
    visibility: visible;
  }
}

@keyframes hide-profile-menu {
  0% {
    opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1);
    -moz-transform-origin: right top;
         transform-origin: right top;
    visibility: visible;
  }
  100% {
    opacity: 0;
    -moz-transform: scale(0.5);
         transform: scale(0.5);
    -moz-transform-origin: right top;
         transform-origin: right top;
  }
}

.db-heading__title {
  font-size: 24px;
  padding: 40px 0px;
}

.db-heading--admin {
  background: #fff;
  box-shadow: 0px 3px 6px #00000029;
  padding: 12px 0;
  margin-bottom: 50px;
}

.db-heading--admin h1, .db-heading--admin .h1 {
  border-top: 1px solid #e7e9ec;
  font-size: 24px;
  padding-top: 12px;
  padding-left: 30px;
}

/*
================================================================================
Dashboard heading
================================================================================
*/
.db-heading {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.db-heading__title {
  color: #202428;
  font-size: 1.5rem;
  font-weight: normal;
  padding: 15px;
}

@media (min-width: 37.5em) {
  .db-heading__title {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/*
===============================================================================
Dashboard menu
===============================================================================
*/
.dashboard-menu {
  display: -moz-box;
  display: flex;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0px;
  left: 0;
  -moz-transform: translate(-300px, 0);
       transform: translate(-300px, 0);
  width: 220px;
  z-index: 2;
}

.dashboard-menu--enter {
  -webkit-animation: db-menu-enter 200ms linear;
          animation: db-menu-enter 200ms linear;
}

.dashboard-menu--leave {
  animation: db-menu-enter 200ms linear reverse;
}

.dashboard-menu--visible {
  -moz-transform: translate(0, 0);
       transform: translate(0, 0);
}

@media (min-width: 68.75em) {
  .dashboard-menu {
    box-shadow: 0px 0px 3px #00000066;
    -moz-transform: translate(0, 0);
         transform: translate(0, 0);
    position: absolute;
    top: 0px;
    left: 0;
    width: auto;
  }
  .dashboard-menu--visible {
    display: -moz-box;
    display: flex;
  }
}

.dashboard-menu__avatar {
  -moz-box-align: center;
       align-items: center;
  border-bottom: 1px solid #E7E9EC;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-flow: column;
  height: 160px;
  -moz-box-pack: center;
       justify-content: center;
  padding: 10px 0;
}

.dashboard-menu__avatar .user-bar__avatar-container {
  height: 103px;
  width: 103px;
}

.dashboard-menu__overlay {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

@media (min-width: 68.75em) {
  .dashboard-menu__overlay {
    display: none;
  }
}

/* Sections
============================================================================ */
.dashboard-menu__col-sections {
  background: #fff;
  box-shadow: 3px 1px 3px #0000000D;
  display: none;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow: auto;
  position: relative;
  width: 60px;
  z-index: 2;
}

@media (min-width: 37.5em) {
  .dashboard-menu__col-sections {
    display: block;
  }
}

@media (min-width: 57.5em) {
  .dashboard-menu__col-sections {
    display: none;
  }
}

.dashboard-menu__section {
  border-left: 2px solid transparent;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  display: block;
  font-size: 0.5625rem;
  height: 60px;
  margin: 0;
  padding: 0 5px;
  position: relative;
  text-align: center;
  -moz-transition: background-color 150ms ease-out, opacity 150ms ease-out;
  transition: background-color 150ms ease-out, opacity 150ms ease-out;
}

.dashboard-menu__section--user .user-bar__avatar-container {
  height: 46px;
  margin: 7px 0;
  width: 46px;
}

.dashboard-menu__section--user:hover {
  border-left: 2px solid transparent !important;
}

.dashboard-menu__section--header {
  background-color: #b11830;
  box-shadow: 0px 0px 3px #00000066;
}

.dashboard-menu__section--header:hover {
  background-color: #b11830 !important;
  border-left: 2px solid transparent !important;
}

.dashboard-menu__section--header .dashboard-menu__header--logo {
  filter: invert(1);
}

.dashboard-menu__section--logout {
  -moz-box-align: center;
       align-items: center;
  background-color: #f9fafa;
  border-top: 1px solid #e7e9ec;
  bottom: 0;
  color: #5f6b78;
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  position: absolute;
  width: 100%;
}

.dashboard-menu__section--logout .dashboard-menu__tile {
  height: auto;
  filter: invert(10%) sepia(60%) saturate(5980%) hue-rotate(342deg) brightness(113%) contrast(90%);
  margin-bottom: 5px;
  padding-top: 10px;
}

.dashboard-menu__section--logout span {
  color: #5f6b78;
  font-size: 10px;
}

.dashboard-menu__section--logout:hover {
  border-left: 2px solid transparent !important;
  color: #3a4148 !important;
}

.dashboard-menu__section--active, .dashboard-menu__section:hover {
  border-left: 2px solid #b11830;
  opacity: 1;
}

.dashboard-menu__section--active > .dashboard-menu__tile, .dashboard-menu__section:hover > .dashboard-menu__tile {
  filter: invert(10%) sepia(60%) saturate(5980%) hue-rotate(342deg) brightness(113%) contrast(90%);
}

.dashboard-menu__tile {
  display: block;
  filter: invert(63%) sepia(8%) saturate(490%) hue-rotate(167deg) brightness(92%) contrast(96%);
  height: 100%;
  margin: 0px auto 0;
  width: 20px;
}

.dashboard-menu__header {
  -moz-box-align: center;
       align-items: center;
  background-color: #b11830;
  display: -moz-box;
  display: flex;
  text-align: center;
  -moz-box-pack: center;
       justify-content: center;
}

.dashboard-menu__header--logo {
  height: 35px;
  margin-bottom: 14px;
  margin-top: 14px;
  text-align: center;
}

.dashboard-menu__header .user-bar__btn {
  display: block;
  padding: 0px;
  left: 0;
}

@media (min-width: 37.5em) {
  .dashboard-menu__header .user-bar__btn {
    display: none;
  }
}

.dashboard-menu__header .user-bar__btn .user-bar__btn-icon::before {
  background-color: #fff;
}

.dashboard-menu__header .user-bar__btn .user-bar__btn-icon span {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='146' height='30' viewBox='0 0 146 30' fill='%23fff'><path d='M94.258 10H51.743C49.123 10 47 12.24 47 15c0 2.762 2.126 5 4.743 5h42.515C96.873 20 99 17.762 99 15c0-2.76-2.123-5-4.742-5zM15 0L0 15l15 15V20h22V10H15M146 15L131 0v10h-22v10h22v10'/></svg>") no-repeat 0 0;
  background-size: auto 6px;
}

.dashboard-menu__header .user-bar__btn .user-bar__btn-icon::after {
  background-color: #fff;
}

/* Submenus
============================================================================ */
.dashboard-menu__col-submenus {
  background-color: #fff;
  box-shadow: 3px 1px 3px #0000000D;
  display: block;
  -moz-transform: translate(-220px, 0);
       transform: translate(-220px, 0);
  width: 220px;
  z-index: 1;
}

.dashboard-menu__col-submenus--visible {
  -moz-transition: transform 200ms ease-out, -moz-transform 200ms ease-out;
  transition: transform 200ms ease-out;
  transition: transform 200ms ease-out, -moz-transform 200ms ease-out;
  -moz-transform: translate(0, 0);
       transform: translate(0, 0);
}

.dashboard-menu__col-submenus--show {
  -moz-transform: translate(0, 0);
       transform: translate(0, 0);
}

@media (min-width: 37.5em) {
  .dashboard-menu__col-submenus {
    display: none;
  }
}

@media (min-width: 57.5em) {
  .dashboard-menu__col-submenus {
    display: block;
  }
}

.dashboard-menu__submenu {
  padding-bottom: 30px;
}

.dashboard-menu__link-group {
  list-style: none;
  margin-left: 0;
  border-left: 2px solid transparent;
}

.dashboard-menu__link-group:last-child {
  padding-bottom: 15px;
}

.dashboard-menu__link-group--active {
  border-left: 2px solid #b11830;
}

.dashboard-menu__link-group--active > li a.dashboard-menu__links-title {
  color: #b11830;
  text-decoration: none;
}

.dashboard-menu__link-group--active > li a img.dashboard-menu__links-icon {
  filter: invert(10%) sepia(60%) saturate(5980%) hue-rotate(342deg) brightness(113%) contrast(90%);
}

.dashboard-menu__link-group:active, .dashboard-menu__link-group:focus, .dashboard-menu__link-group:hover {
  background-color: #fff;
  border-left: 2px solid #b11830;
  border-radius: 0;
  opacity: 1;
}

.dashboard-menu__link-group:active > li a.dashboard-menu__links-title, .dashboard-menu__link-group:focus > li a.dashboard-menu__links-title, .dashboard-menu__link-group:hover > li a.dashboard-menu__links-title {
  color: #b11830;
  text-decoration: none;
}

.dashboard-menu__link-group:active > li a img.dashboard-menu__links-icon, .dashboard-menu__link-group:focus > li a img.dashboard-menu__links-icon, .dashboard-menu__link-group:hover > li a img.dashboard-menu__links-icon {
  filter: invert(10%) sepia(60%) saturate(5980%) hue-rotate(342deg) brightness(113%) contrast(90%);
}

.dashboard-menu__link-group-container {
  height: -moz-calc(100vh - 110px);
  height: calc(100vh - 110px);
  overflow: auto;
  padding-top: 15px;
}

.dashboard-menu__links-arrow {
  background: url("../img/icons/chevron-up.svg") no-repeat center center;
  background-size: 100%;
  color: #5f6b78;
  font-size: 1.125rem;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 5px;
  -moz-transform: translate(0, -50%) rotate(180deg);
       transform: translate(0, -50%) rotate(180deg);
  -moz-transition: transform 150ms ease-out, -moz-transform 150ms ease-out;
  transition: transform 150ms ease-out;
  transition: transform 150ms ease-out, -moz-transform 150ms ease-out;
  width: 16px;
}

.dashboard-menu__links-title--active .dashboard-menu__links-arrow {
  -moz-transform: translate(0, -50%) rotate(0deg);
       transform: translate(0, -50%) rotate(0deg);
}

.dashboard-menu__links-icon {
  display: inline-block;
  filter: invert(62%) sepia(16%) saturate(254%) hue-rotate(167deg) brightness(93%) contrast(90%);
  height: 18px;
  margin-right: 0.75em;
  vertical-align: top;
  width: 18px;
}

.dashboard-menu__links-title {
  border-radius: 3px;
  border-left: 2px solid transparent;
  color: #3a4148;
  cursor: pointer;
  display: block;
  font-size: 0.8125rem;
  line-height: 1.4;
  opacity: 0.8;
  overflow: hidden;
  padding: 0.6em 2em 0.6em 1em;
  position: relative;
  -moz-transition: opacity 150ms ease-out;
  transition: opacity 150ms ease-out;
  height: 50px;
  display: -moz-box;
  display: flex;
  -moz-box-align: center;
       align-items: center;
  /* &:active,
    &:focus,
    &:hover {
        background-color: #fff;
        border-left: 2px solid $color-ujed;
        border-radius: 0;
        color: $color-ujed;
        opacity: 1;
        text-decoration: none;

        & > .dashboard-menu__links-icon {
            filter: invert(10%) sepia(60%) saturate(5980%) hue-rotate(342deg) brightness(113%) contrast(90%);
        }
    } */
}

.dashboard-menu__links-title--logout {
  -moz-box-align: center;
       align-items: center;
  color: #fff;
  display: -moz-box;
  display: flex;
  font-size: 14px;
  height: 100%;
  margin-bottom: 0px;
  padding: 0px 20px;
  position: absolute;
  right: 0;
}

.dashboard-menu__links-title--logout:active, .dashboard-menu__links-title--logout:focus, .dashboard-menu__links-title--logout:hover {
  border-left: 2px solid transparent !important;
  background-color: #515b64;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
}

.dashboard-menu__links-title--current, .dashboard-menu__links-title--current:active, .dashboard-menu__links-title--current:focus, .dashboard-menu__links-title--current:hover {
  color: #3a4148;
  opacity: 1;
  text-decoration: none;
}

.dashboard-menu__popup {
  box-shadow: 0px 0px 5px 1px #0000000D;
  position: fixed;
  z-index: 100;
  display: block;
  left: 41px;
  width: 160px;
}

.dashboard-menu__popup .dashboard-menu__link-title {
  background-color: #fff;
  color: #b11830;
  height: 60px;
  text-align: center;
  display: -moz-box;
  display: flex;
  -moz-box-align: center;
       align-items: center;
  font-size: 12px;
  padding-left: 10px;
}

.dashboard-menu__popup .dashboard-menu__link {
  padding-left: 10px;
  text-align: left;
}

.dashboard-menu__popup .dashboard-menu__link::active,
.dashboard-menu__popup .dashboard-menu__link:focus,
.dashboard-menu__popup .dashboard-menu__link:hover {
  background-color: #5f6b78;
}

/* Links
============================================================================ */
.dashboard-menu__link-list {
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0;
}

.dashboard-menu__link {
  color: #5f6b78;
  background-color: #f9fafa;
  display: block;
  font-size: 0.75rem;
  line-height: 1.2;
  overflow: hidden;
  padding: 11px 15px 11px 35px;
  position: relative;
  text-decoration: none;
  -moz-transition: color 150ms ease-out, padding 150ms ease-out;
  transition: color 150ms ease-out, padding 150ms ease-out;
}

.dashboard-menu__link::after {
  border-bottom: 7px solid transparent;
  border-top: 7px solid transparent;
  border-right: 7px solid #f7f7f7;
  content: "";
  display: block;
  height: 0;
  width: 0;
  display: none;
  position: absolute;
  top: 50%;
  right: 0;
  -moz-transform: translate(0, -50%);
       transform: translate(0, -50%);
}

.dashboard-menu__link::before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 30px;
  width: 0;
}

li:first-child > .dashboard-menu__link::before {
  top: 0.4em;
}

li:last-child > .dashboard-menu__link::before {
  bottom: 0.4em;
  top: auto;
}

li:first-child:last-child > .dashboard-menu__link::before {
  height: 0;
}

.dashboard-menu__link:active, .dashboard-menu__link:focus, .dashboard-menu__link:hover {
  color: #3a4148;
  font-weight: 600;
  padding: 11px 15px 11px 35px;
  text-decoration: none;
}

.dashboard-menu__link--active {
  text-decoration: none;
}

.dashboard-menu__link--active::after {
  display: block;
}

/* Filter
============================================================================ */
.dashboard-menu__filter-container {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
  height: 50px;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
  z-index: 2;
}

.dashboard-menu__filter {
  background-color: #2a2a2d;
  border: 1px solid #3A4148;
  border-radius: 3px;
  color: #8A96A1;
  display: block;
  font-size: 0.875rem;
  margin: 0 auto 10px;
  padding: 0.5em 1.7em 0.4em 0.5em;
  position: relative;
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out;
  width: 90%;
}

.dashboard-menu__filter::-moz-placeholder {
  color: #8A96A1;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
}

.dashboard-menu__filter:-ms-input-placeholder {
  color: #8A96A1;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
}

.dashboard-menu__filter::placeholder {
  color: #8A96A1;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
}

.dashboard-menu__filter:active, .dashboard-menu__filter:focus {
  background-color: #fff;
  color: #333;
}

.dashboard-menu__filter:active::-moz-placeholder, .dashboard-menu__filter:focus::-moz-placeholder {
  color: #333;
}

.dashboard-menu__filter:active:-ms-input-placeholder, .dashboard-menu__filter:focus:-ms-input-placeholder {
  color: #333;
}

.dashboard-menu__filter:active::placeholder, .dashboard-menu__filter:focus::placeholder {
  color: #333;
}

.dashboard-menu__filter-btn {
  background-color: transparent;
  border: 0;
  color: #777;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 17px;
  right: 18px;
  -moz-transition: color 150ms ease-out;
  transition: color 150ms ease-out;
  z-index: 2;
}

.dashboard-menu__filter-btn:active, .dashboard-menu__filter-btn:focus, .dashboard-menu__filter-btn:hover {
  color: #d03a40;
  cursor: pointer;
}

/* Animations
============================================================================ */
@-webkit-keyframes db-menu-enter {
  0% {
    transform: translate(-300px, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes db-menu-enter {
  0% {
    -moz-transform: translate(-300px, 0);
         transform: translate(-300px, 0);
  }
  100% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0);
  }
}

@-webkit-keyframes db-submenus-enter {
  0% {
    transform: translate(-220px, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}

@keyframes db-submenus-enter {
  0% {
    -moz-transform: translate(-220px, 0);
         transform: translate(-220px, 0);
  }
  100% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0);
  }
}

/*
===============================================================================
Dashboard menu
===============================================================================
*/
.dashboard-menu-admin {
  display: -moz-box;
  display: flex;
  height: -moz-calc(100vh - 60px);
  height: calc(100vh - 60px);
  overflow: hidden;
  position: absolute;
  top: 60px;
  left: 0;
  -moz-transform: translate(-300px, 0);
       transform: translate(-300px, 0);
  width: 100%;
  z-index: 2;
}

.dashboard-menu-admin--enter {
  -webkit-animation: db-menu-enter 200ms linear;
          animation: db-menu-enter 200ms linear;
}

.dashboard-menu-admin--leave {
  animation: db-menu-enter 200ms linear reverse;
}

.dashboard-menu-admin--visible {
  -moz-transform: translate(0, 0);
       transform: translate(0, 0);
}

@media (min-width: 68.75em) {
  .dashboard-menu-admin {
    display: -moz-box !important;
    display: flex !important;
    -moz-transform: translate(0, 0);
         transform: translate(0, 0);
  }
}

@media (min-width: 68.75em) {
  .dashboard-menu-admin {
    width: auto;
    position: absolute;
    top: 60px;
    left: 0;
  }
}

.dashboard-menu-admin__overlay {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

@media (min-width: 68.75em) {
  .dashboard-menu-admin__overlay {
    display: none;
  }
}

/* Sections
============================================================================ */
.dashboard-menu-admin__col-sections {
  background: #2d3035;
  box-shadow: 1px 0 3px 0 rgba(0, 0, 0, 0.5);
  display: block;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow: auto;
  position: relative;
  width: 80px;
  z-index: 2;
}

.dashboard-menu-admin__section {
  border-bottom: 1px solid #222;
  border-top: 1px solid #393c43;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  display: block;
  font-size: 0.5625rem;
  height: 80px;
  margin: 0;
  opacity: 0.5;
  padding: 0 5px;
  position: relative;
  text-align: center;
  -moz-transition: background-color 150ms ease-out, opacity 150ms ease-out;
  transition: background-color 150ms ease-out, opacity 150ms ease-out;
}

.dashboard-menu-admin__section--active {
  background-color: #50AB87;
  opacity: 1;
}

.dashboard-menu-admin__section:hover {
  background-color: #37424D;
  opacity: 1;
}

.dashboard-menu-admin__tile {
  display: block;
  filter: invert(1);
  height: 40px;
  margin: 10px auto 0;
  width: 40px;
}

.dashboard-menu-admin__tile-within-invert {
  filter: invert(0) !important;
}

/* Submenus
============================================================================ */
.dashboard-menu-admin__col-submenus {
  background-color: #37424D;
  width: 220px;
  -moz-transform: translate(-220px, 0);
       transform: translate(-220px, 0);
  z-index: 1;
}

.dashboard-menu-admin__col-submenus--visible {
  -moz-transition: transform 200ms ease-out, -moz-transform 200ms ease-out;
  transition: transform 200ms ease-out;
  transition: transform 200ms ease-out, -moz-transform 200ms ease-out;
  -moz-transform: translate(0, 0);
       transform: translate(0, 0);
}

.dashboard-menu-admin__col-submenus--show {
  -moz-transform: translate(0, 0);
       transform: translate(0, 0);
}

.dashboard-menu-admin__submenu {
  padding-bottom: 30px;
}

.dashboard-menu-admin__link-group {
  list-style: none;
  margin-bottom: 10px;
  margin-left: 0;
}

.dashboard-menu-admin__link-group:last-child {
  padding-bottom: 15px;
}

.dashboard-menu-admin__link-group-container {
  height: -moz-calc(100vh - 110px);
  height: calc(100vh - 110px);
  overflow: auto;
  padding-top: 15px;
}

.dashboard-menu-admin__links-arrow {
  background: url("../img/icons/chevron-up.svg") no-repeat center center;
  background-size: 100%;
  color: #fff;
  filter: invert(1);
  font-size: 1.125rem;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 0;
  -moz-transform: translate(0, -50%) rotate(180deg);
       transform: translate(0, -50%) rotate(180deg);
  -moz-transition: transform 150ms ease-out, -moz-transform 150ms ease-out;
  transition: transform 150ms ease-out;
  transition: transform 150ms ease-out, -moz-transform 150ms ease-out;
  width: 16px;
}

.dashboard-menu-admin__links-title--active .dashboard-menu-admin__links-arrow {
  -moz-transform: translate(0, -50%) rotate(90deg);
       transform: translate(0, -50%) rotate(90deg);
}

.dashboard-menu-admin__links-icon {
  display: inline-block;
  filter: invert(1);
  height: 18px;
  margin-right: 0.75em;
  vertical-align: top;
  width: 18px;
}

.dashboard-menu-admin__links-title {
  border-radius: 3px;
  color: #adb5bd;
  cursor: pointer;
  display: block;
  font-size: 0.8125rem;
  line-height: 1.4;
  margin: 0 12px 0 0;
  opacity: 0.8;
  overflow: hidden;
  padding: 0.6em 2em 0.6em 1em;
  position: relative;
  -moz-transition: opacity 150ms ease-out;
  transition: opacity 150ms ease-out;
}

.dashboard-menu-admin__links-title:active, .dashboard-menu-admin__links-title:focus, .dashboard-menu-admin__links-title:hover, .dashboard-menu-admin__links-title--active {
  color: #fff;
  opacity: 1;
}

.dashboard-menu-admin__links-title--current, .dashboard-menu-admin__links-title--current:active, .dashboard-menu-admin__links-title--current:focus, .dashboard-menu-admin__links-title--current:hover {
  color: #fff;
  opacity: 1;
}

/* Links
============================================================================ */
.dashboard-menu-admin__link-list {
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0;
}

.dashboard-menu-admin__link {
  color: #ADB5BD;
  background-color: #2D363E;
  display: block;
  font-size: 0.75rem;
  line-height: 1.2;
  overflow: hidden;
  padding: 11px 15px 11px 35px;
  position: relative;
  text-decoration: none;
  -moz-transition: color 150ms ease-out, padding 150ms ease-out;
  transition: color 150ms ease-out, padding 150ms ease-out;
}

.dashboard-menu-admin__link::after {
  border-bottom: 7px solid transparent;
  border-top: 7px solid transparent;
  border-right: 7px solid #f7f7f7;
  content: "";
  display: block;
  height: 0;
  width: 0;
  display: none;
  position: absolute;
  top: 50%;
  right: 0;
  -moz-transform: translate(0, -50%);
       transform: translate(0, -50%);
}

.dashboard-menu-admin__link::before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 30px;
  width: 0;
}

li:first-child > .dashboard-menu-admin__link::before {
  top: 0.4em;
}

li:last-child > .dashboard-menu-admin__link::before {
  bottom: 0.4em;
  top: auto;
}

li:first-child:last-child > .dashboard-menu-admin__link::before {
  height: 0;
}

.dashboard-menu-admin__link:active, .dashboard-menu-admin__link:focus, .dashboard-menu-admin__link:hover {
  color: #fff;
  padding: 11px 15px 11px 35px;
  text-decoration: none;
}

.dashboard-menu-admin__link--active {
  text-decoration: none;
}

.dashboard-menu-admin__link--active::after {
  display: block;
}

/* Filter
============================================================================ */
.dashboard-menu-admin__filter-container {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
  height: 50px;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
  z-index: 2;
}

.dashboard-menu-admin__filter {
  background-color: #2a2a2d;
  border: 1px solid #3A4148;
  border-radius: 3px;
  color: #8A96A1;
  display: block;
  font-size: 0.875rem;
  margin: 0 auto 10px;
  padding: 0.5em 1.7em 0.4em 0.5em;
  position: relative;
  -moz-transition: background-color 150ms ease-out, border-color 150ms ease-out;
  transition: background-color 150ms ease-out, border-color 150ms ease-out;
  width: 90%;
}

.dashboard-menu-admin__filter::-moz-placeholder {
  color: #8A96A1;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
}

.dashboard-menu-admin__filter:-ms-input-placeholder {
  color: #8A96A1;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
}

.dashboard-menu-admin__filter::placeholder {
  color: #8A96A1;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
}

.dashboard-menu-admin__filter:active, .dashboard-menu-admin__filter:focus {
  background-color: #fff;
  color: #333;
}

.dashboard-menu-admin__filter:active::-moz-placeholder, .dashboard-menu-admin__filter:focus::-moz-placeholder {
  color: #333;
}

.dashboard-menu-admin__filter:active:-ms-input-placeholder, .dashboard-menu-admin__filter:focus:-ms-input-placeholder {
  color: #333;
}

.dashboard-menu-admin__filter:active::placeholder, .dashboard-menu-admin__filter:focus::placeholder {
  color: #333;
}

.dashboard-menu-admin__filter-btn {
  background-color: transparent;
  border: 0;
  color: #777;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 17px;
  right: 18px;
  -moz-transition: color 150ms ease-out;
  transition: color 150ms ease-out;
  z-index: 2;
}

.dashboard-menu-admin__filter-btn:active, .dashboard-menu-admin__filter-btn:focus, .dashboard-menu-admin__filter-btn:hover {
  color: #d03a40;
  cursor: pointer;
}

/* Animations
============================================================================ */
@keyframes db-menu-enter {
  0% {
    -moz-transform: translate(-300px, 0);
         transform: translate(-300px, 0);
  }
  100% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0);
  }
}

@keyframes db-submenus-enter {
  0% {
    -moz-transform: translate(-220px, 0);
         transform: translate(-220px, 0);
  }
  100% {
    -moz-transform: translate(0, 0);
         transform: translate(0, 0);
  }
}

/*
===============================================================================
Main
===============================================================================
*/
.main {
  background-color: #f5f6f7;
  height: -moz-calc(100vh - 60px);
  height: calc(100vh - 60px);
  overflow: auto;
  padding-left: 0px;
  padding-right: 0px;
  -moz-transition: padding-left 0ms linear;
  transition: padding-left 0ms linear;
  width: 100%;
}

.main--admin {
  padding-left: 0px;
}

@media (min-width: 68.75em) {
  .main--admin {
    padding-left: 80px;
  }
}

@media (min-width: 37.5em) {
  .main--has-menu {
    padding-left: 60px;
  }
  .main--has-menu-admin {
    padding-left: 0px;
  }
}

@media (min-width: 57.5em) {
  .main--has-menu {
    padding-left: 220px;
    padding-right: 0px;
  }
  .main--has-menu-admin {
    padding-left: 300px;
    padding-right: 0px;
  }
}

.main-content {
  margin: 0 auto;
  max-width: 1450px;
}

/*
================================================================================
Dashboard panel
================================================================================
*/
.db-panel {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
  overflow: auto;
  padding: 15px 30px;
  position: relative;
}

/* Heading
============================================================================= */
.db-panel__title {
  border-bottom: 1px solid #ccc;
  color: #8a96a1;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  margin: -1em 0 2.5rem -30px;
  padding: 1em 30px 1.6em;
  text-align: left;
  text-transform: uppercase;
  width: -moz-calc(100% + 60px);
  width: calc(100% + 60px);
}

.db-panel__title-link {
  display: inline-block;
  font-weight: 400;
  margin-left: 0.3em;
  text-transform: none;
}
