html {
  box-sizing: border-box;
  font-size: 16px;
}

*, *:before, *:after {
  box-sizing: inherit;
}

* {
    font-size: 1rem
}

body {
    margin: 0;
    color: #fff;
    background: #391EAA;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

ol,
ul {
    margin: .5rem;
    padding-left: 1rem
}

img {
  max-width: 100%;
  height: auto;
}

article,
aside,
section,
figcaption,
figure,
main,
details,
menu {
    display: block
}

summary {
    display: list-item
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline
}

audio,
video {
    display: inline-block
}

svg:not(:root) {
    overflow: hidden
}

input {
    overflow: visible
}

dfn {
    font-style: italic
}


h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    color: #424242;
    display: block;
    margin-top: -.25rem
}

h1 {
    font-size: 2rem
}

h2 {
    font-size: 1.6875rem
}

h3 {
    font-size: 1.4375rem
}

h4 {
    font-size: 1.1875rem
}

h5 {
    font-size: 1rem
}

h6 {
    font-size: .8125rem
}

p {
    margin: .5rem
}

b,
strong {
    font-weight: 700
}

hr {
    box-sizing: content-box;
    border: 0;
    overflow: visible;
    line-height: 1.25em;
    margin: .5rem;
    height: .0625rem;
    background: linear-gradient(to right, #bdbdbd, #8c8c8c, #bdbdbd)
}

blockquote {
    display: block;
    position: relative;
    font-style: italic;
    background: #eee;
    margin: .5rem;
    padding: 0.5rem 0.5rem 1.5rem;
    border-left: .25rem solid #505050;
    border-radius: 0 .125rem .125rem 0
}

blockquote:after {
    position: absolute;
    font-style: normal;
    font-size: .875rem;
    color: #505050;
    left: .625rem;
    bottom: 0;
    content: "— " attr(cite)
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace
}

code {
    border-radius: .125rem;
    background: #e6e6e6;
    padding: 0.125rem 0.25rem
}

pre {
    overflow: auto;
    border-radius: 0 .125rem .125rem 0;
    background: #e6e6e6;
    padding: .75rem;
    margin: .5rem;
    border-left: .25rem solid #1565c0
}

kbd {
    border-radius: .125rem;
    background: #0c0c0c;
    color: #fafafa;
    padding: 0.125rem 0.25rem
}

small,
sup,
sub {
    font-size: .75em
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

sup,
sub {
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

a {
    color: #0277bd;
    text-decoration: underline;
    opacity: 1;
    transition: opacity 0.3s
}

a:visited {
    color: #01579b
}

figcaption {
    font-size: .8125rem;
    color: #424242
}

textarea {
    overflow: auto
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

input:not([type]),
[type="text"],
[type="email"],
[type="number"],
[type="search"],
[type="password"],
[type="url"],
[type="tel"],
textarea,
select {
    box-sizing: border-box;
    background: #fafafa;
    color: #212121;
    border: .0625rem solid #c9c9c9;
    border-radius: .125rem;
    margin: .25rem;
    padding: 0.5rem 0.75rem
}

input:not([type="button"]):not([type="submit"]):not([type="reset"]):hover,
input:not([type="button"]):not([type="submit"]):not([type="reset"]):focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus {
    border-color: #0288d1;
    box-shadow: none
}

input:not([type="button"]):not([type="submit"]):not([type="reset"]):invalid,
input:not([type="button"]):not([type="submit"]):not([type="reset"]):focus:invalid,
textarea:invalid,
textarea:focus:invalid,
select:invalid,
select:focus:invalid {
    border-color: #d32f2f;
    box-shadow: none
}

input:not([type="button"]):not([type="submit"]):not([type="reset"])[readonly],
textarea[readonly],
select[readonly] {
    background: #e5e5e5;
    border-color: #c9c9c9
}

select:not([multiple]):not([size]) {
    padding-right: 1.5rem;
    background: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1.5"><path fill="%23212121" d="M.25.75h.5L.5 1"/></svg>') no-repeat right;
    background-color: #fafafa;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

select:not([multiple]):not([size])[readonly] {
    background-color: #e5e5e5
}

select {
    max-width: 100%
}

option {
    overflow: hidden;
    text-overflow: ellipsis
}

::-webkit-input-placeholder {
    opacity: 1;
    color: #616161
}

::-moz-placeholder {
    opacity: 1;
    color: #616161
}

::-ms-placeholder {
    opacity: 1;
    color: #616161
}

::placeholder {
    opacity: 1;
    color: #616161
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button
}

button {
    overflow: visible;
    text-transform: none
}

button,
[type="button"],
[type="submit"],
[type="reset"],
a.button,
label.button,
.button,
a[role="button"],
label[role="button"],
[role="button"] {
    display: inline-block;
    background: rgba(220, 220, 220, 0.75);
    color: #212121;
    border: 0;
    border-radius: .125rem;
    padding: 0.5rem 0.75rem;
    margin: .5rem;
    text-decoration: none;
    transition: background 0.3s;
    cursor: pointer
}

button:hover,
button:focus,
[type="button"]:hover,
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus,
[type="reset"]:hover,
[type="reset"]:focus,
a.button:hover,
a.button:focus,
label.button:hover,
label.button:focus,
.button:hover,
.button:focus,
a[role="button"]:hover,
a[role="button"]:focus,
label[role="button"]:hover,
label[role="button"]:focus,
[role="button"]:hover,
[role="button"]:focus {
    background: #dcdcdc;
    opacity: 1
}

input:disabled,
input[disabled],
textarea:disabled,
textarea[disabled],
select:disabled,
select[disabled],
button:disabled,
button[disabled],
.button:disabled,
.button[disabled],
[role="button"]:disabled,
[role="button"][disabled] {
    cursor: not-allowed;
    opacity: .75
}

input[type="file"] {
    border: 0;
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%)
}

.button-group {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    border: .0625rem solid #bdbdbd;
    border-radius: .125rem;
    margin: .5rem
}

.button-group>button,
.button-group [type="button"],
.button-group>[type="submit"],
.button-group>[type="reset"],
.button-group>.button,
.button-group>[role="button"] {
    margin: 0;
    -webkit-box-flex: 1;
    max-width: 100%;
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
    text-align: center;
    border: 0;
    border-radius: 0
}

.button-group>:not(:first-child) {
    border-left: .0625rem solid #bdbdbd
}

@media screen and (max-width: 767px) {
    .button-group {
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        flex-direction: column
    }
    .button-group>:not(:first-child) {
        border: 0;
        border-top: .0625rem solid #bdbdbd
    }
}

[type="checkbox"],
[type="radio"] {
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%)
}

.input-group [type="checkbox"]+label,
.input-group [type="radio"]+label {
    position: relative;
    display: inline-block;
    margin-left: 1.25rem;
    cursor: pointer
}

.input-group [type="checkbox"]+label:before,
.input-group [type="radio"]+label:before {
    display: inline-block;
    position: absolute;
    top: .375rem;
    left: 0;
    width: 1rem;
    height: 1rem;
    content: '';
    border: .0625rem solid #bdbdbd;
    border-radius: .125rem;
    background: #fafafa;
    color: #212121;
    margin-left: -1.25rem
}

.input-group [type="checkbox"]+label:hover:before,
.input-group [type="checkbox"]+label:focus:before,
.input-group [type="radio"]+label:hover:before,
.input-group [type="radio"]+label:focus:before {
    border-color: #0288d1
}

.input-group [type="checkbox"]:focus+label:before,
.input-group [type="radio"]:focus+label:before {
    border-color: #0288d1
}

.input-group [type="radio"]+label:before,
.input-group [type="radio"]+label:after {
    border-radius: 50%
}

.input-group [type="checkbox"][disabled]+label,
.input-group [type="radio"][disabled]+label,
.input-group [type="checkbox"]:disabled+label,
.input-group [type="radio"]:disabled+label {
    cursor: not-allowed
}

.input-group [type="checkbox"][disabled]+label:before,
.input-group [type="checkbox"][disabled]+label:after,
.input-group [type="radio"][disabled]+label:before,
.input-group [type="radio"][disabled]+label:after,
.input-group [type="checkbox"]:disabled+label:before,
.input-group [type="checkbox"]:disabled+label:after,
.input-group [type="radio"]:disabled+label:before,
.input-group [type="radio"]:disabled+label:after {
    opacity: .75
}

.input-group [type="checkbox"]:checked+label:after,
.input-group [type="radio"]:checked+label:after {
    position: absolute;
    background: #212121;
    content: '';
    margin-left: -1.25rem;
    top: .625rem;
    left: .25rem;
    width: .625rem;
    height: .625rem
}

.input-group [type="checkbox"]+label.switch:before,
.input-group [type="radio"]+label.switch:before {
    top: .5rem;
    width: 1.75rem;
    height: .875rem;
    border: 0;
    border-radius: .5rem;
    background: #c9c9c9;
    margin-left: -2.375rem
}

.input-group [type="checkbox"]+label.switch:after,
.input-group [type="radio"]+label.switch:after {
    display: inline-block;
    content: '';
    position: absolute;
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
    background: #e0e0e0;
    border-radius: 100%;
    top: .3125rem;
    margin-left: -3rem;
    transition: left 0.3s
}

.input-group [type="checkbox"]:checked+label.switch:before,
.input-group [type="radio"]:checked+label.switch:before {
    background: #dcdcdc
}

.input-group [type="checkbox"]:checked+label.switch:after,
.input-group [type="radio"]:checked+label.switch:after {
    left: 1.75rem;
    width: 1.25rem;
    height: 1.25rem;
    top: .3125rem;
    margin-left: -3rem;
    background: #0277bd
}

button.primary,
[type="button"].primary,
[type="submit"].primary,
[type="reset"].primary,
.button.primary,
[role="button"].primary {
    background: rgba(2, 119, 189, 0.9);
    color: #fafafa
}

button.primary:hover,
button.primary:focus,
[type="button"].primary:hover,
[type="button"].primary:focus,
[type="submit"].primary:hover,
[type="submit"].primary:focus,
[type="reset"].primary:hover,
[type="reset"].primary:focus,
.button.primary:hover,
.button.primary:focus,
[role="button"].primary:hover,
[role="button"].primary:focus {
    background: #0277bd
}

button.secondary,
[type="button"].secondary,
[type="submit"].secondary,
[type="reset"].secondary,
.button.secondary,
[role="button"].secondary {
    background: rgba(198, 40, 40, 0.9);
    color: #fafafa
}

button.secondary:hover,
button.secondary:focus,
[type="button"].secondary:hover,
[type="button"].secondary:focus,
[type="submit"].secondary:hover,
[type="submit"].secondary:focus,
[type="reset"].secondary:hover,
[type="reset"].secondary:focus,
.button.secondary:hover,
.button.secondary:focus,
[role="button"].secondary:hover,
[role="button"].secondary:focus {
    background: #c62828
}

button.tertiary,
[type="button"].tertiary,
[type="submit"].tertiary,
[type="reset"].tertiary,
.button.tertiary,
[role="button"].tertiary {
    background: rgba(95, 145, 51, 0.9);
    color: #fafafa
}

button.tertiary:hover,
button.tertiary:focus,
[type="button"].tertiary:hover,
[type="button"].tertiary:focus,
[type="submit"].tertiary:hover,
[type="submit"].tertiary:focus,
[type="reset"].tertiary:hover,
[type="reset"].tertiary:focus,
.button.tertiary:hover,
.button.tertiary:focus,
[role="button"].tertiary:hover,
[role="button"].tertiary:focus {
    background: #5f9133
}

button.inverse,
[type="button"].inverse,
[type="submit"].inverse,
[type="reset"].inverse,
.button.inverse,
[role="button"].inverse {
    background: rgba(12, 12, 12, 0.9);
    color: #fafafa
}

button.inverse:hover,
button.inverse:focus,
[type="button"].inverse:hover,
[type="button"].inverse:focus,
[type="submit"].inverse:hover,
[type="submit"].inverse:focus,
[type="reset"].inverse:hover,
[type="reset"].inverse:focus,
.button.inverse:hover,
.button.inverse:focus,
[role="button"].inverse:hover,
[role="button"].inverse:focus {
    background: #0c0c0c
}

button.small,
[type="button"].small,
[type="submit"].small,
[type="reset"].small,
.button.small,
[role="button"].small {
    border-radius: .0625rem;
    padding: 0.25rem 0.375rem
}

button.large,
[type="button"].large,
[type="submit"].large,
[type="reset"].large,
.button.large,
[role="button"].large {
    border-radius: .25rem;
    padding: 0.75rem 1.125rem
}

header {
    display: block;
    white-space: nowrap;
}

header .logo {
    color: #f5f5f5;
    font-size: 1.75rem;
    line-height: 1.3125em;
    margin: 0.0625rem 0.375rem 0.0625rem 0.0625rem;
    transition: opacity 0.3s
}

header button,
header [type="button"],
header a.button,
header label.button,
header .button,
header a[role="button"],
header label[role="button"],
header [role="button"] {
    background: #12171a;
    color: #f5f5f5;
    vertical-align: top;
    margin: 0.125rem 0
}

header button:hover,
header button:focus,
header [type="button"]:hover,
header [type="button"]:focus,
header a.button:hover,
header a.button:focus,
header label.button:hover,
header label.button:focus,
header .button:hover,
header .button:focus,
header a[role="button"]:hover,
header a[role="button"]:focus,
header label[role="button"]:hover,
header label[role="button"]:focus,
header [role="button"]:hover,
header [role="button"]:focus {
    background: #20292e
}

header .logo,
header a.button,
header a[role="button"] {
    text-decoration: none
}

header.row {
    box-sizing: content-box
}

nav {
    display: block;
    margin: 0;
    padding: 0;
}

nav a,
nav a:visited {
    display: block;
    color: #145caf;
    text-decoration: none
}

nav .sublink-1 {
    padding-left: 1rem;
    position: relative
}

nav .sublink-1:before {
    position: absolute;
    left: .1875rem;
    top: -.0625rem;
    content: '';
    height: 100%;
    border: .0625rem solid #bdbdbd;
    border-left: 0
}

nav .sublink-2 {
    padding-left: 2rem;
    position: relative
}

nav .sublink-2:before {
    position: absolute;
    left: .1875rem;
    top: -.0625rem;
    content: '';
    height: 100%;
    border: .0625rem solid #bdbdbd;
    border-left: 0
}

footer {
    display: block;
    background: #192024;
    color: #f5f5f5;
    margin: 1rem 0 0;
    padding: 1.5rem 0.5rem 0.75rem;
    font-size: .875rem
}

footer a,
footer a:visited {
    color: #0288d1
}

header.sticky,
footer.sticky {
    position: -webkit-sticky;
    position: sticky;
    z-index: 1101
}

header.sticky {
    top: 0
}

footer.sticky {
    bottom: 0
}

.drawer-toggle:before {
    position: relative;
    top: .4375rem;
    font-family: sans-serif;
    font-size: 2.5rem;
    line-height: .125;
    content: '\2261'
}

.drawer {
    display: block;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    width: 320px;
    height: 100vh;
    overflow-y: auto;
    background: #eceff1;
    border: .0625rem solid #c9c9c9;
    margin: 0;
    z-index: 1110
}

.drawer:not(.right) {
    left: -320px;
    transition: left 0.3s
}

.drawer.right {
    right: -320px;
    transition: right 0.3s
}

.drawer .close {
    position: absolute;
    top: .75rem;
    right: .25rem;
    z-index: 1111;
    padding: 0
}

@media screen and (max-width: 320px) {
    .drawer {
        width: 100%
    }
}

@media screen and (min-width: 768px) {
    .drawer:not(.persistent) {
        position: static;
        height: 100%;
        z-index: 1100
    }
    .drawer:not(.persistent) .close {
        display: none
    }
    .drawer-toggle:not(.persistent) {
        display: none
    }
}

:checked+.drawer:not(.right) {
    left: 0
}

:checked+.drawer.right {
    right: 0
}

table {
    border-collapse: separate;
    border-spacing: 0;
    border: .0625rem solid #c9c9c9;
    margin: 0 auto
}

table caption {
    font-size: 1.5rem;
    margin: .5rem
}

table tr {
    padding: .5rem
}

table th,
table td {
    padding: .625rem;
    border-left: .0625rem solid #c9c9c9;
    border-top: .0625rem solid #c9c9c9
}

table td {
    background: #fafafa
}

table thead th {
    border-top: 0
}

table th {
    background: #e6e6e6
}

table th:first-child,
table td:first-child {
    border-left: 0
}

@media screen and (max-width: 767px) {
    table:not(.preset) {
        border-collapse: collapse;
        border: 0;
        width: 100%
    }
    table:not(.preset) thead,
    table:not(.preset) th {
        border: 0;
        height: 1px;
        width: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        clip: rect(0 0 0 0);
        -webkit-clip-path: inset(100%);
        clip-path: inset(100%)
    }
    table:not(.preset) tr {
        display: block;
        border: .0625rem solid #c9c9c9;
        background: #fafafa;
        margin-bottom: .625rem
    }
    table:not(.preset) td {
        display: block;
        border: 0;
        border-bottom: .0625rem solid #c9c9c9;
        text-align: right;
        min-height: 1.5rem
    }
    table:not(.preset) td:before {
        content: attr(data-label);
        float: left;
        font-weight: 700
    }
    table:not(.preset) td:last-child {
        border-bottom: 0
    }
}

@media screen and (min-width: 768px) {
    table.horizontal,
    table.scrollable {
        display: -webkit-box;
        -webkit-box-flex: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        display: -webkit-flex;
        display: flex;
        -webkit-flex: 0 1 auto;
        flex: 0 1 auto;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        padding: .5rem
    }
    table.horizontal caption,
    table.scrollable caption {
        -webkit-box-flex: 1;
        max-width: 100%;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%
    }
    table.horizontal thead,
    table.horizontal tbody,
    table.scrollable thead,
    table.scrollable tbody {
        display: -webkit-box;
        -webkit-box-flex: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        display: -webkit-flex;
        display: flex
    }
    table.horizontal thead,
    table.scrollable thead {
        z-index: 999
    }
    table.horizontal tr,
    table.scrollable tr {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex
    }
    table.horizontal thead,
    table.horizontal tbody {
        -webkit-flex-flow: row nowrap;
        flex-flow: row nowrap
    }
    table.horizontal tbody {
        overflow: auto;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-flex: 1 0 0;
        flex: 1 0 0
    }
    table.horizontal tr {
        -webkit-box-flex: 1;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-flex: 1 0 auto;
        flex: 1 0 auto
    }
    table.horizontal th,
    table.horizontal td {
        width: 100%;
        border: .0625rem solid #c9c9c9
    }
    table.horizontal th:not(:first-child),
    table.horizontal td:not(:first-child) {
        border-top: 0
    }
    table.horizontal th {
        text-align: right
    }
    table.horizontal thead tr:first-child {
        padding-left: 0
    }
    table.horizontal tbody tr:first-child>td {
        padding-left: 1.25rem
    }
    table.scrollable {
        overflow: auto;
        max-height: 400px;
        border: 0;
        padding-top: 0
    }
    table.scrollable thead,
    table.scrollable tbody {
        -webkit-box-flex: 1;
        max-width: 100%;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
        border: .0625rem solid #c9c9c9
    }
    table.scrollable tbody {
        border-top: 0;
        margin-top: -0.0625rem
    }
    table.scrollable tr {
        -webkit-box-flex: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
        padding: 0
    }
    table.scrollable th,
    table.scrollable td {
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 0%;
        flex: 1 0 0%;
        overflow: hidden;
        text-overflow: ellipsis
    }
    table.scrollable thead {
        position: sticky;
        top: 0
    }
}

@media screen and (max-width: 767px) {
    table.horizontal.preset,
    table.scrollable.preset {
        display: -webkit-box;
        -webkit-box-flex: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        display: -webkit-flex;
        display: flex;
        -webkit-flex: 0 1 auto;
        flex: 0 1 auto;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        padding: .5rem
    }
    table.horizontal.preset caption,
    table.scrollable.preset caption {
        -webkit-box-flex: 1;
        max-width: 100%;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%
    }
    table.horizontal.preset thead,
    table.horizontal.preset tbody,
    table.scrollable.preset thead,
    table.scrollable.preset tbody {
        display: -webkit-box;
        -webkit-box-flex: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        display: -webkit-flex;
        display: flex
    }
    table.horizontal.preset thead,
    table.scrollable.preset thead {
        z-index: 999
    }
    table.horizontal.preset tr,
    table.scrollable.preset tr {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex
    }
    table.horizontal.preset thead,
    table.horizontal.preset tbody {
        -webkit-flex-flow: row nowrap;
        flex-flow: row nowrap
    }
    table.horizontal.preset tbody {
        overflow: auto;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-flex: 1 0 0;
        flex: 1 0 0
    }
    table.horizontal.preset tr {
        -webkit-box-flex: 1;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-flex: 1 0 auto;
        flex: 1 0 auto
    }
    table.horizontal.preset th,
    table.horizontal.preset td {
        width: 100%;
        border: .0625rem solid #c9c9c9
    }
    table.horizontal.preset th:not(:first-child),
    table.horizontal.preset td:not(:first-child) {
        border-top: 0
    }
    table.horizontal.preset th {
        text-align: right
    }
    table.horizontal.preset thead tr:first-child {
        padding-left: 0
    }
    table.horizontal.preset tbody tr:first-child>td {
        padding-left: 1.25rem
    }
    table.scrollable.preset {
        overflow: auto;
        max-height: 400px;
        border: 0;
        padding-top: 0
    }
    table.scrollable.preset thead,
    table.scrollable.preset tbody {
        -webkit-box-flex: 1;
        max-width: 100%;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
        border: .0625rem solid #c9c9c9
    }
    table.scrollable.preset tbody {
        border-top: 0;
        margin-top: -0.0625rem
    }
    table.scrollable.preset tr {
        -webkit-box-flex: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
        padding: 0
    }
    table.scrollable.preset th,
    table.scrollable.preset td {
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 0%;
        flex: 1 0 0%;
        overflow: hidden;
        text-overflow: ellipsis
    }
    table.scrollable.preset thead {
        position: sticky;
        top: 0
    }
}

table.striped tr:nth-of-type(2n)>td {
    background: #e5e5e5
}

@media screen and (max-width: 767px) {
    table.striped:not(.preset) tr:nth-of-type(2n) {
        background: #e5e5e5
    }
}

.card {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-pack: justify;
    -webkit-box-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-self: center;
    align-self: center;
    position: relative;
    width: 100%;
    background: #fafafa;
    border: .0625rem solid #acacac;
    margin: .5rem;
    overflow: hidden
}

.card>.section {
    box-sizing: border-box;
    margin: 0;
    border: 0;
    border-radius: 0;
    border-bottom: .0625rem solid #c9c9c9;
    padding: .5rem;
    width: 100%
}

.card>.section.media {
    height: 200px;
    padding: 0;
    -o-object-fit: cover;
    object-fit: cover
}

.card>.section:last-child {
    border-bottom: 0
}

@media screen and (min-width: 320px) {
    .card {
        max-width: 320px
    }
}

@media screen and (min-width: 480px) {
    .card.large {
        max-width: 480px
    }
}

@media screen and (min-width: 240px) {
    .card.small {
        max-width: 240px
    }
}

.card.fluid {
    max-width: 100%;
    width: auto
}

.card.warning {
    background: #ffca28;
    border: .0625rem solid #e8b825
}

.card.warning>.section {
    border-bottom: .0625rem solid #e8b825
}

.card.warning>.section:last-child {
    border-bottom: 0
}

.card.error {
    background: #b71c1c;
    color: #fafafa;
    border: .0625rem solid #a71a1a
}

.card.error>.section {
    border-bottom: .0625rem solid #a71a1a
}

.card.error>.section:last-child {
    border-bottom: 0
}

.card>.section.dark {
    background: #e0e0e0
}

.card>.section.darker {
    background: #bdbdbd
}

.card>.section.double-padded {
    padding: .75rem
}

.tabs {
    width: 100%;
    opacity: 1;
    display: -webkit-box;
    -webkit-box-pack: justify;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}

.tabs>label {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-order: 1;
    order: 1;
    display: inline-block;
    height: 1.5rem;
    cursor: pointer;
    transition: background 0.3s;
    background: #e6e6e6;
    border: .0625rem solid #bdbdbd;
    padding: .75rem
}

.tabs>label:hover,
.tabs>label:focus {
    background: rgba(230, 230, 230, 0.8)
}

.tabs>[type="radio"],
.tabs>[type="checkbox"] {
    display: none;
    visibility: hidden
}

.tabs>label+div {
    -webkit-flex-basis: auto;
    flex-basis: auto;
    -webkit-order: 2;
    order: 2;
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%);
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top;
    transition: -webkit-transform 0.3s,
    transform 0.3s
}

.tabs>label:not(:first-of-type) {
    border-left: 0
}

.tabs>:checked+label {
    background: #eee;
    border-bottom-color: #0277bd
}

.tabs>:checked+label:hover,
.tabs>:checked+label:focus {
    background: rgba(238, 238, 238, 0.8)
}

.tabs>:checked+label+div {
    box-sizing: border-box;
    position: relative;
    height: 400px;
    width: 100%;
    overflow: auto;
    margin: 0;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    background: #fafafa;
    border: .0625rem solid #bdbdbd;
    border-top: 0;
    padding: .5rem;
    clip: auto;
    -webkit-clip-path: inset(0%);
    clip-path: inset(0%)
}

.tabs.stacked {
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    flex-direction: column
}

.tabs.stacked>label {
    -webkit-order: initial;
    order: initial
}

.tabs.stacked>:checked+label {
    border: .0625rem solid #bdbdbd
}

.tabs.stacked>label+div {
    -webkit-order: initial;
    order: initial;
    -webkit-transform-origin: top;
    transform-origin: top
}

.tabs.stacked>label:not(:first-of-type) {
    border: .0625rem solid #bdbdbd;
    border-top: 0
}

.tabs.stacked>:checked+label+div {
    height: auto
}

@media screen and (max-width: 767px) {
    .tabs {
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        flex-direction: column
    }
    .tabs>label {
        -webkit-order: initial;
        order: initial
    }
    .tabs>:checked+label {
        border: .0625rem solid #bdbdbd
    }
    .tabs>label+div {
        -webkit-order: initial;
        order: initial
    }
    .tabs>label:not(:first-of-type) {
        border: .0625rem solid #bdbdbd;
        border-top: 0
    }
}

mark {
    background: #0277bd;
    color: #fafafa;
    font-size: .9375em;
    line-height: 1em;
    border-radius: .125rem;
    padding: 0.125em 0.25em
}

mark.inline-block {
    display: inline-block
}

.toast {
    position: fixed;
    background: #424242;
    bottom: 1.5rem;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fafafa;
    border-radius: 2rem;
    padding: 0.75rem 1.5rem;
    z-index: 1111
}

.tooltip {
    position: relative;
    display: inline-block
}

.tooltip:before,
.tooltip:after {
    position: absolute;
    opacity: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%);
    transition: all 0.3s;
    z-index: 1010;
    left: 50%
}

.tooltip:not(.bottom):before,
.tooltip:not(.bottom):after {
    bottom: 75%
}

.tooltip.bottom:before,
.tooltip.bottom:after {
    top: 75%
}

.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus:before,
.tooltip:focus:after {
    opacity: 1;
    clip: auto;
    -webkit-clip-path: inset(0%);
    clip-path: inset(0%)
}

.tooltip:before {
    content: '';
    background: transparent;
    border: .5rem solid transparent;
    left: 50%;
    left: calc(50% - .5rem)
}

.tooltip:not(.bottom):before {
    border-top-color: #212121
}

.tooltip.bottom:before {
    border-bottom-color: #212121
}

.tooltip:after {
    content: attr(aria-label);
    background: #212121;
    border-radius: .125rem;
    color: #fafafa;
    padding: .5rem;
    white-space: nowrap;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.tooltip:not(.bottom):after {
    margin-bottom: 1rem
}

.tooltip.bottom:after {
    margin-top: 1rem
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.45)
}

.modal .card {
    margin: 0 auto;
    max-height: 50vh;
    overflow: auto
}

.modal .card .close {
    position: absolute;
    top: .75rem;
    right: .25rem;
    padding: 0
}

:checked+.modal {
    display: -webkit-box;
    -webkit-box-flex: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex: 0 1 auto;
    flex: 0 1 auto;
    z-index: 1200
}

:checked+.modal .card .close {
    z-index: 1211
}

mark.secondary {
    background: #e53935
}

mark.tertiary {
    background: #689f38
}

mark.tag {
    border-radius: 200px;
    padding: 0.25em 0.5em
}

mark.inline-block {
    font-size: 1em;
    line-height: 1.375em;
    padding: .375em
}

.toast.small {
    border-radius: 1.5rem;
    padding: 0.5rem 1rem
}

.toast.large {
    border-radius: 3rem;
    padding: 1.125rem 2.25rem
}

progress {
    display: block;
    vertical-align: baseline;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: .625rem;
    width: 90%;
    width: calc(100% - 1rem);
    margin: .5rem .5rem;
    border: 0;
    border-radius: .125rem;
    background: #e0e0e0;
    color: #0277bd
}

progress::-webkit-progress-value {
    background: #0277bd;
    border-top-left-radius: .125rem;
    border-bottom-left-radius: .125rem
}

progress::-webkit-progress-bar {
    background: #e0e0e0
}

progress::-moz-progress-bar {
    background: #0277bd;
    border-top-left-radius: .125rem;
    border-bottom-left-radius: .125rem
}

progress[value="1000"]::-webkit-progress-value {
    border-radius: .125rem
}

progress[value="1000"]::-moz-progress-bar {
    border-radius: .125rem
}

@-webkit-keyframes spinner-donut-anim {
    0% {
        -webkit-transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(360deg)
    }
}

@keyframes spinner-donut-anim {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

progress.inline {
    display: inline-block;
    vertical-align: middle;
    width: 60%
}

progress.secondary {
    color: #e53935
}

progress.secondary::-webkit-progress-value {
    background: #e53935
}

progress.secondary::-moz-progress-bar {
    background: #e53935
}

progress.tertiary {
    color: #689f38
}

progress.tertiary::-webkit-progress-value {
    background: #689f38
}

progress.tertiary::-moz-progress-bar {
    background: #689f38
}

.spinner-donut.secondary {
    border: .25rem solid #ffebee;
    border-left: .25rem solid #c62828
}

.spinner-donut.tertiary {
    border: .25rem solid #e8f5e9;
    border-left: .25rem solid #2e7d32
}

.spinner-donut.large {
    border-width: .375rem;
    width: 2rem;
    height: 2rem
}

.hidden {
    display: none !important
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    border: 0 !important;
    padding: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(100%) !important;
    clip-path: inset(100%) !important;
    overflow: hidden !important
}

ul.breadcrumbs {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    list-style: none;
    margin: .5rem;
    padding: 0
}

ul.breadcrumbs li {
    -webkit-box-flex: 1;
    max-width: 100%;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-basis: 0;
    flex-basis: 0;
    position: relative;
    text-align: center;
    background: #e6e6e6;
    height: 2rem;
    line-height: 2rem;
    margin-right: 1.125rem
}

ul.breadcrumbs li:before,
ul.breadcrumbs li:after {
    content: "";
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
    border: 0 solid #e6e6e6;
    border-width: 1rem 1rem
}

ul.breadcrumbs li:before {
    left: -1rem;
    border-left-color: transparent
}

ul.breadcrumbs li:after {
    left: 100%;
    border-color: transparent;
    border-left-color: #e6e6e6
}

ul.breadcrumbs li:first-child:before {
    border: 0
}

ul.breadcrumbs li:last-child {
    margin-right: 0
}

ul.breadcrumbs li:last-child:after {
    border: 0
}

.close {
    display: inline-block;
    width: 1.5rem;
    font-family: sans-serif;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 700;
    border-radius: 2rem;
    background: rgba(230, 230, 230, 0);
    vertical-align: top;
    cursor: pointer;
    transition: background 0.3s
}

.close:hover,
.close:focus {
    background: #e6e6e6
}

.close:before {
    content: "\00D7";
    display: block;
    text-align: center
}

.bordered {
    border: 1px solid rgba(0, 0, 0, 0.25) !important
}

.rounded {
    border-radius: .125rem !important
}

.circular {
    border-radius: 50% !important
}

.responsive-margin {
    margin: .25rem !important
}

@media screen and (min-width: 768px) {
    .responsive-margin {
        margin: .375rem !important
    }
}

@media screen and (min-width: 1280px) {
    .responsive-margin {
        margin: .5rem !important
    }
}

.responsive-padding {
    padding: 0.125rem 0.25rem !important
}

@media screen and (min-width: 768px) {
    .responsive-padding {
        padding: 0.25rem 0.375rem !important
    }
}

@media screen and (min-width: 1280px) {
    .responsive-padding {
        padding: 0.375rem 0.5rem !important
    }
}

.shadowed {
    box-shadow: 0 .25rem .25rem 0 rgba(0, 0, 0, 0.125), 0 .125rem .125rem -.125rem rgba(0, 0, 0, 0.25) !important
}

@media screen and (max-width: 767px) {
    .hidden-sm {
        display: none !important
    }
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
    .hidden-md {
        display: none !important
    }
}

@media screen and (min-width: 1280px) {
    .hidden-lg {
        display: none !important
    }
}

@media screen and (max-width: 767px) {
    .visually-hidden-sm {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        border: 0 !important;
        padding: 0 !important;
        clip: rect(0 0 0 0) !important;
        -webkit-clip-path: inset(100%) !important;
        clip-path: inset(100%) !important;
        overflow: hidden !important
    }
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
    .visually-hidden-md {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        border: 0 !important;
        padding: 0 !important;
        clip: rect(0 0 0 0) !important;
        -webkit-clip-path: inset(100%) !important;
        clip-path: inset(100%) !important;
        overflow: hidden !important
    }
}

@media screen and (min-width: 1280px) {
    .visually-hidden-lg {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        border: 0 !important;
        padding: 0 !important;
        clip: rect(0 0 0 0) !important;
        -webkit-clip-path: inset(100%) !important;
        clip-path: inset(100%) !important;
        overflow: hidden !important
    }
}