/*! Spectre.css v0.4.4 | MIT License | github.com/picturepan2/spectre */
html {
   font-family: sans-serif;
   -ms-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%
}
body {
   margin: 0
}
article,
aside,
footer,
header,
nav,
section {
   display: block
}
h1 {
   font-size: 2em;
   margin: 0.67em 0
}
figcaption,
figure,
main {
   display: block
}
hr {
   box-sizing: content-box;
   height: 0;
   overflow: visible
}
a {
   background-color: transparent;
   -webkit-text-decoration-skip: objects
}
a:active,
a:hover {
   outline-width: 0
}
address {
   font-style: normal
}
b,
strong {
   font-weight: inherit
}
b,
strong {
   font-weight: bolder
}
code,
kbd,
pre,
samp {
   font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
   font-size: 1em
}
dfn {
   font-style: italic
}
small {
   font-size: 80%;
   font-weight: 400
}
sub,
sup {
   font-size: 75%;
   line-height: 0;
   position: relative;
   vertical-align: baseline
}
sub {
   bottom: -0.25em
}
sup {
   top: -0.5em
}
audio,
video {
   display: inline-block
}
audio:not([controls]) {
   display: none;
   height: 0
}
img {
   border-style: none
}
svg:not(:root) {
   overflow: hidden
}
button,
input,
optgroup,
select,
textarea {
   font-family: inherit;
   font-size: inherit;
   line-height: inherit;
   margin: 0
}
button,
input {
   overflow: visible
}
button,
select {
   text-transform: none
}
button,
html [type = "button"],
[type = "reset"],
[type = "submit"] {
   -webkit-appearance: button
}
button::-moz-focus-inner,
[type = "button"]::-moz-focus-inner,
[type = "reset"]::-moz-focus-inner,
[type = "submit"]::-moz-focus-inner {
   border-style: none;
   padding: 0
}
fieldset {
   border: 0;
   margin: 0;
   padding: 0
}
legend {
   box-sizing: border-box;
   color: inherit;
   display: table;
   max-width: 100%;
   padding: 0;
   white-space: normal
}
progress {
   display: inline-block;
   vertical-align: baseline
}
textarea {
   overflow: auto
}
[type = "checkbox"],
[type = "radio"] {
   box-sizing: border-box;
   padding: 0
}
[type = "number"]::-webkit-inner-spin-button,
[type = "number"]::-webkit-outer-spin-button {
   height: auto
}
[type = "search"] {
   -webkit-appearance: textfield;
   outline-offset: -2px
}
[type = "search"]::-webkit-search-cancel-button,
[type = "search"]::-webkit-search-decoration {
   -webkit-appearance: none
}
::-webkit-file-upload-button {
   -webkit-appearance: button;
   font: inherit
}
details,
menu {
   display: block
}
summary {
   display: list-item;
   outline: none
}
canvas {
   display: inline-block
}
template {
   display: none
}
[hidden] {
   display: none
}
*,
*::before,
*::after {
   box-sizing: inherit
}
html {
   box-sizing: border-box;
   font-size: 20px;
   line-height: 1.5;
   -webkit-tap-highlight-color: transparent
}
body {
   background: #fff;
   color: #404040;
   font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
   font-size: .8rem;
   overflow-x: hidden;
   text-rendering: optimizeLegibility
}
a {
   color: #2440AA;
   outline: none;
   text-decoration: none
}
a:focus {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2)
}
a:focus,
a:hover,
a:active,
a.active {
   color: #203895;
   text-decoration: underline
}
h1,
h2,
h3,
h4,
h5,
h6 {
   color: inherit;
   font-weight: 500;
   line-height: 1.2;
   margin-bottom: .5em;
   margin-top: 0
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
   font-weight: 500
}
h1,
.h1 {
   font-size: 2rem
}
h2,
.h2 {
   font-size: 1.6rem
}
h3,
.h3 {
   font-size: 1.4rem
}
h4,
.h4 {
   font-size: 1.2rem
}
h5,
.h5 {
   font-size: 1rem
}
h6,
.h6 {
   font-size: .8rem
}
p {
   margin: 0 0 1rem
}
a,
ins,
u {
   text-decoration-skip: ink edges
}
abbr[title] {
   border-bottom: .05rem dotted;
   cursor: help;
   text-decoration: none
}
kbd {
   border-radius: .1rem;
   line-height: 1.2;
   padding: .1rem .15rem;
   background: #333;
   color: #fff;
   font-size: .7rem
}
mark {
   background: #ffe9b3;
   color: #404040;
   border-radius: .1rem;
   padding: .05rem
}
blockquote {
   border-left: .1rem solid #ccc;
   margin-left: 0;
   padding: .4rem .8rem
}
blockquote p:last-child {
   margin-bottom: 0
}
ul,
ol {
   margin: .8rem 0 .8rem .8rem;
   padding: 0
}
ul ul,
ul ol,
ol ul,
ol ol {
   margin: .8rem 0 .8rem .8rem
}
ul li,
ol li {
   margin-top: .4rem
}
ul {
   list-style: disc inside
}
ul ul {
   list-style-type: circle
}
ol {
   list-style: decimal inside
}
ol ol {
   list-style-type: lower-alpha
}
dl dt {
   font-weight: bold
}
dl dd {
   margin: .4rem 0 .8rem 0
}
:lang(zh) {
   font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif
}
:lang(ja) {
   font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif
}
:lang(ko) {
   font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif
}
:lang(zh) ins,
:lang(zh) u,
:lang(ja) ins,
:lang(ja) u,
.cjk ins,
.cjk u {
   border-bottom: .05rem solid;
   text-decoration: none
}
:lang(zh) del + del,
:lang(zh) del + s,
:lang(zh) ins + ins,
:lang(zh) ins + u,
:lang(zh) s + del,
:lang(zh) s + s,
:lang(zh) u + ins,
:lang(zh) u + u,
:lang(ja) del + del,
:lang(ja) del + s,
:lang(ja) ins + ins,
:lang(ja) ins + u,
:lang(ja) s + del,
:lang(ja) s + s,
:lang(ja) u + ins,
:lang(ja) u + u,
.cjk del + del,
.cjk del + s,
.cjk ins + ins,
.cjk ins + u,
.cjk s + del,
.cjk s + s,
.cjk u + ins,
.cjk u + u {
   margin-left: .125em
}
.table {
   border-collapse: collapse;
   border-spacing: 0;
   text-align: left;
   width: 100%
}
.table.table-striped tbody tr:nth-of-type(odd) {
   background: #dbdbdb
}
.table.table-hover tbody tr:hover {
   background: #d4d4d4
}
.table tbody tr.active,
.table.table-striped tbody tr.active {
   background: #d4d4d4
}
.table td,
.table th {
   border-bottom: .05rem solid #ccc;
   padding: .6rem .4rem
}
.table th {
   border-bottom-width: .1rem
}
.btn {
   transition: all .2s ease;
   appearance: none;
   background: #fff;
   border: .05rem solid #2440AA;
   border-radius: .1rem;
   color: #2440AA;
   cursor: pointer;
   display: inline-block;
   font-size: .8rem;
   height: 1.8rem;
   line-height: 1rem;
   outline: none;
   padding: .35rem .4rem;
   text-align: center;
   text-decoration: none;
   user-select: none;
   vertical-align: middle;
   white-space: nowrap
}
.btn:focus {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2)
}
.btn:focus,
.btn:hover {
   background: #a2b1eb;
   border-color: #213b9d;
   text-decoration: none
}
.btn:active,
.btn.active {
   background: #213b9d;
   border-color: #1d3388;
   color: #fff;
   text-decoration: none
}
.btn:active.loading::after,
.btn.active.loading::after {
   border-bottom-color: #fff;
   border-left-color: #fff
}
.btn[disabled],
.btn:disabled,
.btn.disabled {
   cursor: default;
   opacity: .5;
   pointer-events: none
}
.btn.btn-primary {
   background: #2440AA;
   border-color: #213b9d;
   color: #fff
}
.btn.btn-primary:focus,
.btn.btn-primary:hover {
   background: #203895;
   border-color: #1d3388;
   color: #fff
}
.btn.btn-primary:active,
.btn.btn-primary.active {
   background: #1e358d;
   border-color: #1b3080;
   color: #fff
}
.btn.btn-primary.loading::after {
   border-bottom-color: #fff;
   border-left-color: #fff
}
.btn.btn-link {
   background: transparent;
   border-color: transparent;
   color: #2440AA
}
.btn.btn-link:focus,
.btn.btn-link:hover,
.btn.btn-link:active,
.btn.btn-link.active {
   color: #203895
}
.btn.btn-sm {
   font-size: .7rem;
   height: 1.4rem;
   padding: .15rem .3rem
}
.btn.btn-lg {
   font-size: .9rem;
   height: 2rem;
   padding: .45rem .6rem
}
.btn.btn-block {
   display: block;
   width: 100%
}
.btn.btn-action {
   width: 1.8rem;
   padding-left: 0;
   padding-right: 0
}
.btn.btn-action.btn-sm {
   width: 1.4rem
}
.btn.btn-action.btn-lg {
   width: 2rem
}
.btn.btn-clear {
   background: transparent;
   border: 0;
   color: currentColor;
   height: .8rem;
   line-height: .8rem;
   margin-left: .2rem;
   margin-right: -2px;
   opacity: 1;
   padding: 0;
   text-decoration: none;
   width: .8rem
}
.btn.btn-clear:hover {
   opacity: .95
}
.btn.btn-clear::before {
   content: "\2715"
}
.btn-group {
   display: inline-flex;
   flex-wrap: wrap
}
.btn-group .btn {
   flex: 1 0 auto
}
.btn-group .btn:first-child:not(:last-child) {
   border-bottom-right-radius: 0;
   border-top-right-radius: 0
}
.btn-group .btn:not(:first-child):not(:last-child) {
   border-radius: 0;
   margin-left: -0.05rem
}
.btn-group .btn:last-child:not(:first-child) {
   border-bottom-left-radius: 0;
   border-top-left-radius: 0;
   margin-left: -0.05rem
}
.btn-group .btn:focus,
.btn-group .btn:hover,
.btn-group .btn:active,
.btn-group .btn.active {
   z-index: 1
}
.btn-group.btn-group-block {
   display: flex
}
.btn-group.btn-group-block .btn {
   flex: 1 0 0
}
.form-group:not(:last-child) {
   margin-bottom: .4rem
}
fieldset {
   margin-bottom: .8rem
}
legend {
   font-size: .9rem;
   font-weight: 500;
   margin-bottom: .8rem
}
.form-label {
   display: block;
   line-height: 1rem;
   padding: .4rem 0
}
.form-label.label-sm {
   padding: .2rem 0
}
.form-label.label-lg {
   padding: .5rem 0
}
.form-input {
   transition: all .2s ease;
   appearance: none;
   background: #fff;
   background-image: none;
   border: .05rem solid #b3b3b3;
   border-radius: .1rem;
   color: #404040;
   display: block;
   font-size: .8rem;
   height: 1.8rem;
   line-height: 1rem;
   max-width: 100%;
   outline: none;
   padding: .35rem .4rem;
   position: relative;
   width: 100%
}
.form-input:focus {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2);
   border-color: #2440AA
}
.form-input::placeholder {
   color: #999
}
.form-input.input-sm {
   font-size: .7rem;
   height: 1.4rem;
   padding: .15rem .3rem
}
.form-input.input-lg {
   font-size: .9rem;
   height: 2rem;
   padding: .45rem .6rem
}
.form-input.input-inline {
   display: inline-block;
   vertical-align: middle;
   width: auto
}
.form-input[type = "file"] {
   height: auto
}
textarea.form-input {
   height: auto
}
.form-input-hint {
   color: #999;
   font-size: .7rem;
   margin-top: .2rem
}
.has-success .form-input-hint,
.is-success + .form-input-hint {
   color: #32b643
}
.has-error .form-input-hint,
.is-error + .form-input-hint {
   color: #e85600
}
.form-select {
   appearance: none;
   border: .05rem solid #b3b3b3;
   border-radius: .1rem;
   color: inherit;
   font-size: .8rem;
   height: 1.8rem;
   line-height: 1rem;
   outline: none;
   padding: .35rem .4rem;
   vertical-align: middle;
   width: 100%
}
.form-select[size],
.form-select[multiple] {
   height: auto
}
.form-select[size] option,
.form-select[multiple] option {
   padding: .1rem .2rem
}
.form-select:not([multiple]):not([size]) {
   background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23667189'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E") no-repeat right 0.35rem center/0.4rem 0.5rem;
   padding-right: 1.2rem
}
.form-select:focus {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2);
   border-color: #2440AA
}
.form-select::-ms-expand {
   display: none
}
.form-select.select-sm {
   font-size: .7rem;
   height: 1.4rem;
   padding: .15rem 1.1rem .15rem .3rem
}
.form-select.select-lg {
   font-size: .9rem;
   height: 2rem;
   padding: .45rem 1.4rem .45rem .6rem
}
.has-icon-left,
.has-icon-right {
   position: relative
}
.has-icon-left .form-icon,
.has-icon-right .form-icon {
   height: .8rem;
   margin: 0 .35rem;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: .8rem
}
.has-icon-left .form-icon {
   left: .05rem
}
.has-icon-left .form-input {
   padding-left: 1.5rem
}
.has-icon-right .form-icon {
   right: .05rem
}
.has-icon-right .form-input {
   padding-right: 1.5rem
}
.form-checkbox,
.form-radio,
.form-switch {
   display: inline-block;
   line-height: 1rem;
   padding: .2rem 1.2rem;
   position: relative
}
.form-checkbox input,
.form-radio input,
.form-switch input {
   clip: rect(0, 0, 0, 0);
   height: 1px;
   margin: -1px;
   overflow: hidden;
   position: absolute;
   width: 1px
}
.form-checkbox input:focus + .form-icon,
.form-radio input:focus + .form-icon,
.form-switch input:focus + .form-icon {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2);
   border-color: #2440AA
}
.form-checkbox input:checked + .form-icon,
.form-radio input:checked + .form-icon,
.form-switch input:checked + .form-icon {
   background: #2440AA;
   border-color: #2440AA
}
.form-checkbox .form-icon,
.form-radio .form-icon,
.form-switch .form-icon {
   transition: all .2s ease;
   border: .05rem solid #b3b3b3;
   cursor: pointer;
   display: inline-block;
   position: absolute
}
.form-checkbox .form-icon,
.form-radio .form-icon {
   background: #fff;
   height: .8rem;
   left: 0;
   top: .3rem;
   width: .8rem
}
.form-checkbox input:active + .form-icon,
.form-radio input:active + .form-icon {
   background: #d4d4d4
}
.form-checkbox .form-icon {
   border-radius: .1rem
}
.form-checkbox input:checked + .form-icon::before {
   background-clip: padding-box;
   border: .1rem solid #fff;
   border-left-width: 0;
   border-top-width: 0;
   content: "";
   height: 12px;
   left: 50%;
   margin-left: -4px;
   margin-top: -8px;
   position: absolute;
   top: 50%;
   transform: rotate(45deg);
   width: 8px
}
.form-checkbox input:indeterminate + .form-icon {
   background: #2440AA;
   border-color: #2440AA
}
.form-checkbox input:indeterminate + .form-icon::before {
   background: #fff;
   content: "";
   height: 2px;
   left: 50%;
   margin-left: -5px;
   margin-top: -1px;
   position: absolute;
   top: 50%;
   width: 10px
}
.form-radio .form-icon {
   border-radius: 50%
}
.form-radio input:checked + .form-icon::before {
   background: #fff;
   border-radius: 50%;
   content: "";
   height: 4px;
   left: 50%;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%);
   width: 4px
}
.form-switch {
   padding-left: 2rem
}
.form-switch .form-icon {
   background: #ccc;
   background-clip: padding-box;
   border-radius: .45rem;
   height: .9rem;
   left: 0;
   top: .25rem;
   width: 1.6rem
}
.form-switch .form-icon::before {
   transition: all .2s ease;
   background: #fff;
   border-radius: 50%;
   content: "";
   display: block;
   height: .8rem;
   left: 0;
   position: absolute;
   top: 0;
   width: .8rem
}
.form-switch input:checked + .form-icon::before {
   left: 14px
}
.form-switch input:active + .form-icon::before {
   background: #dbdbdb
}
.input-group {
   display: flex
}
.input-group .input-group-addon {
   background: #dbdbdb;
   border: .05rem solid #b3b3b3;
   border-radius: .1rem;
   line-height: 1rem;
   padding: .35rem .4rem
}
.input-group .input-group-addon.addon-sm {
   font-size: .7rem;
   padding: .15rem .3rem
}
.input-group .input-group-addon.addon-lg {
   font-size: .9rem;
   padding: .45rem .6rem
}
.input-group .form-input,
.input-group .form-select {
   flex: 1 1 auto
}
.input-group .input-group-btn {
   z-index: 1
}
.input-group .form-input:first-child:not(:last-child),
.input-group .form-select:first-child:not(:last-child),
.input-group .input-group-addon:first-child:not(:last-child),
.input-group .input-group-btn:first-child:not(:last-child) {
   border-bottom-right-radius: 0;
   border-top-right-radius: 0
}
.input-group .form-input:not(:first-child):not(:last-child),
.input-group .form-select:not(:first-child):not(:last-child),
.input-group .input-group-addon:not(:first-child):not(:last-child),
.input-group .input-group-btn:not(:first-child):not(:last-child) {
   border-radius: 0;
   margin-left: -0.05rem
}
.input-group .form-input:last-child:not(:first-child),
.input-group .form-select:last-child:not(:first-child),
.input-group .input-group-addon:last-child:not(:first-child),
.input-group .input-group-btn:last-child:not(:first-child) {
   border-bottom-left-radius: 0;
   border-top-left-radius: 0;
   margin-left: -0.05rem
}
.input-group .form-input:focus,
.input-group .form-select:focus,
.input-group .input-group-addon:focus,
.input-group .input-group-btn:focus {
   z-index: 2
}
.input-group .form-select {
   width: auto
}
.input-group.input-inline {
   display: inline-flex
}
.has-success .form-input,
.form-input.is-success,
.has-success .form-select,
.form-select.is-success {
   border-color: #32b643
}
.has-success .form-input:focus,
.form-input.is-success:focus,
.has-success .form-select:focus,
.form-select.is-success:focus {
   box-shadow: 0 0 0 0.1rem rgba(50, 182, 67, 0.2)
}
.has-error .form-input,
.form-input.is-error,
.has-error .form-select,
.form-select.is-error {
   border-color: #e85600
}
.has-error .form-input:focus,
.form-input.is-error:focus,
.has-error .form-select:focus,
.form-select.is-error:focus {
   box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2)
}
.has-error .form-checkbox .form-icon,
.form-checkbox.is-error .form-icon,
.has-error .form-radio .form-icon,
.form-radio.is-error .form-icon,
.has-error .form-switch .form-icon,
.form-switch.is-error .form-icon {
   border-color: #e85600
}
.has-error .form-checkbox input:checked + .form-icon,
.form-checkbox.is-error input:checked + .form-icon,
.has-error .form-radio input:checked + .form-icon,
.form-radio.is-error input:checked + .form-icon,
.has-error .form-switch input:checked + .form-icon,
.form-switch.is-error input:checked + .form-icon {
   background: #e85600;
   border-color: #e85600
}
.has-error .form-checkbox input:focus + .form-icon,
.form-checkbox.is-error input:focus + .form-icon,
.has-error .form-radio input:focus + .form-icon,
.form-radio.is-error input:focus + .form-icon,
.has-error .form-switch input:focus + .form-icon,
.form-switch.is-error input:focus + .form-icon {
   box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2);
   border-color: #e85600
}
.form-input:not(:placeholder-shown):invalid {
   border-color: #e85600
}
.form-input:not(:placeholder-shown):invalid:focus {
   box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2)
}
.form-input:not(:placeholder-shown):invalid + .form-input-hint {
   color: #e85600
}
.form-input:disabled,
.form-input.disabled,
.form-select:disabled,
.form-select.disabled {
   background-color: #d4d4d4;
   cursor: not-allowed;
   opacity: .5
}
.form-input[readonly] {
   background-color: #dbdbdb
}
input:disabled + .form-icon,
input.disabled + .form-icon {
   background: #d4d4d4;
   cursor: not-allowed;
   opacity: .5
}
.form-switch input:disabled + .form-icon::before,
.form-switch input.disabled + .form-icon::before {
   background: #fff
}
.form-horizontal {
   padding: .4rem
}
.form-horizontal .form-group {
   display: flex
}
.form-horizontal .form-checkbox,
.form-horizontal .form-radio,
.form-horizontal .form-switch {
   margin: .2rem 0
}
.label {
   border-radius: .1rem;
   line-height: 1.2;
   padding: .1rem .15rem;
   background: #d4d4d4;
   color: #4d4d4d;
   display: inline-block
}
.label.label-rounded {
   border-radius: 5rem;
   padding-left: .4rem;
   padding-right: .4rem
}
.label.label-primary {
   background: #2440AA;
   color: #fff
}
.label.label-secondary {
   background: #a2b1eb;
   color: #2440AA
}
.label.label-success {
   background: #32b643;
   color: #fff
}
.label.label-warning {
   background: #ffb700;
   color: #fff
}
.label.label-error {
   background: #e85600;
   color: #fff
}
code {
   border-radius: .1rem;
   line-height: 1.2;
   padding: .1rem .15rem;
   background: #fdf4f4;
   color: #e06870;
   font-size: 85%
}
.code {
   border-radius: .1rem;
   color: #404040;
   position: relative
}
.code::before {
   color: #999;
   content: attr(data-lang);
   font-size: .7rem;
   position: absolute;
   right: .4rem;
   top: .1rem
}
.code code {
   background: #dbdbdb;
   color: inherit;
   display: block;
   line-height: 1.5;
   overflow-x: auto;
   padding: 1rem;
   width: 100%
}
.img-responsive {
   display: block;
   height: auto;
   max-width: 100%
}
.img-fit-cover {
   object-fit: cover
}
.img-fit-contain {
   object-fit: contain
}
.video-responsive {
   display: block;
   overflow: hidden;
   padding: 0;
   position: relative;
   width: 100%
}
.video-responsive::before {
   content: "";
   display: block;
   padding-bottom: 56.25%
}
.video-responsive iframe,
.video-responsive object,
.video-responsive embed {
   border: 0;
   bottom: 0;
   height: 100%;
   left: 0;
   position: absolute;
   right: 0;
   top: 0;
   width: 100%
}
video.video-responsive {
   height: auto;
   max-width: 100%
}
video.video-responsive::before {
   content: none
}
.video-responsive-4-3::before {
   padding-bottom: 75%
}
.video-responsive-1-1::before {
   padding-bottom: 100%
}
.figure {
   margin: 0 0 .4rem 0
}
.figure .figure-caption {
   color: #595959;
   margin-top: .4rem
}
.container {
   margin-left: auto;
   margin-right: auto;
   padding-left: .4rem;
   padding-right: .4rem;
   width: 100%
}
.container.grid-xl {
   max-width: 1296px
}
.container.grid-lg {
   max-width: 976px
}
.container.grid-md {
   max-width: 856px
}
.container.grid-sm {
   max-width: 616px
}
.container.grid-xs {
   max-width: 496px
}
.show-xs,
.show-sm,
.show-md,
.show-lg,
.show-xl {
   display: none !important
}
.columns {
   display: flex;
   flex-wrap: wrap;
   margin-left: -0.4rem;
   margin-right: -0.4rem
}
.columns.col-gapless {
   margin-left: 0;
   margin-right: 0
}
.columns.col-gapless > .column {
   padding-left: 0;
   padding-right: 0
}
.columns.col-oneline {
   flex-wrap: nowrap;
   overflow-x: auto
}
.column {
   flex: 1;
   max-width: 100%;
   padding-left: .4rem;
   padding-right: .4rem
}
.column.col-12,
.column.col-11,
.column.col-10,
.column.col-9,
.column.col-8,
.column.col-7,
.column.col-6,
.column.col-5,
.column.col-4,
.column.col-3,
.column.col-2,
.column.col-1 {
   flex: none
}
.col-12 {
   width: 100%
}
.col-11 {
   width: 91.66666667%
}
.col-10 {
   width: 83.33333333%
}
.col-9 {
   width: 75%
}
.col-8 {
   width: 66.66666667%
}
.col-7 {
   width: 58.33333333%
}
.col-6 {
   width: 50%
}
.col-5 {
   width: 41.66666667%
}
.col-4 {
   width: 33.33333333%
}
.col-3 {
   width: 25%
}
.col-2 {
   width: 16.66666667%
}
.col-1 {
   width: 8.33333333%
}
.col-auto {
   flex: 0 0 auto;
   max-width: none;
   width: auto
}
.col-mx-auto {
   margin-left: auto;
   margin-right: auto
}
.col-ml-auto {
   margin-left: auto
}
.col-mr-auto {
   margin-right: auto
}
@media (max-width : 1280px) {
   .col-xl-12,
   .col-xl-11,
   .col-xl-10,
   .col-xl-9,
   .col-xl-8,
   .col-xl-7,
   .col-xl-6,
   .col-xl-5,
   .col-xl-4,
   .col-xl-3,
   .col-xl-2,
   .col-xl-1 {
      flex: none
   }
   .col-xl-12 {
      width: 100%
   }
   .col-xl-11 {
      width: 91.66666667%
   }
   .col-xl-10 {
      width: 83.33333333%
   }
   .col-xl-9 {
      width: 75%
   }
   .col-xl-8 {
      width: 66.66666667%
   }
   .col-xl-7 {
      width: 58.33333333%
   }
   .col-xl-6 {
      width: 50%
   }
   .col-xl-5 {
      width: 41.66666667%
   }
   .col-xl-4 {
      width: 33.33333333%
   }
   .col-xl-3 {
      width: 25%
   }
   .col-xl-2 {
      width: 16.66666667%
   }
   .col-xl-1 {
      width: 8.33333333%
   }
   .hide-xl {
      display: none !important
   }
   .show-xl {
      display: block !important
   }
}
@media (max-width : 960px) {
   .col-lg-12,
   .col-lg-11,
   .col-lg-10,
   .col-lg-9,
   .col-lg-8,
   .col-lg-7,
   .col-lg-6,
   .col-lg-5,
   .col-lg-4,
   .col-lg-3,
   .col-lg-2,
   .col-lg-1 {
      flex: none
   }
   .col-lg-12 {
      width: 100%
   }
   .col-lg-11 {
      width: 91.66666667%
   }
   .col-lg-10 {
      width: 83.33333333%
   }
   .col-lg-9 {
      width: 75%
   }
   .col-lg-8 {
      width: 66.66666667%
   }
   .col-lg-7 {
      width: 58.33333333%
   }
   .col-lg-6 {
      width: 50%
   }
   .col-lg-5 {
      width: 41.66666667%
   }
   .col-lg-4 {
      width: 33.33333333%
   }
   .col-lg-3 {
      width: 25%
   }
   .col-lg-2 {
      width: 16.66666667%
   }
   .col-lg-1 {
      width: 8.33333333%
   }
   .hide-lg {
      display: none !important
   }
   .show-lg {
      display: block !important
   }
}
@media (max-width : 840px) {
   .col-md-12,
   .col-md-11,
   .col-md-10,
   .col-md-9,
   .col-md-8,
   .col-md-7,
   .col-md-6,
   .col-md-5,
   .col-md-4,
   .col-md-3,
   .col-md-2,
   .col-md-1 {
      flex: none
   }
   .col-md-12 {
      width: 100%
   }
   .col-md-11 {
      width: 91.66666667%
   }
   .col-md-10 {
      width: 83.33333333%
   }
   .col-md-9 {
      width: 75%
   }
   .col-md-8 {
      width: 66.66666667%
   }
   .col-md-7 {
      width: 58.33333333%
   }
   .col-md-6 {
      width: 50%
   }
   .col-md-5 {
      width: 41.66666667%
   }
   .col-md-4 {
      width: 33.33333333%
   }
   .col-md-3 {
      width: 25%
   }
   .col-md-2 {
      width: 16.66666667%
   }
   .col-md-1 {
      width: 8.33333333%
   }
   .hide-md {
      display: none !important
   }
   .show-md {
      display: block !important
   }
}
@media (max-width : 600px) {
   .col-sm-12,
   .col-sm-11,
   .col-sm-10,
   .col-sm-9,
   .col-sm-8,
   .col-sm-7,
   .col-sm-6,
   .col-sm-5,
   .col-sm-4,
   .col-sm-3,
   .col-sm-2,
   .col-sm-1 {
      flex: none
   }
   .col-sm-12 {
      width: 100%
   }
   .col-sm-11 {
      width: 91.66666667%
   }
   .col-sm-10 {
      width: 83.33333333%
   }
   .col-sm-9 {
      width: 75%
   }
   .col-sm-8 {
      width: 66.66666667%
   }
   .col-sm-7 {
      width: 58.33333333%
   }
   .col-sm-6 {
      width: 50%
   }
   .col-sm-5 {
      width: 41.66666667%
   }
   .col-sm-4 {
      width: 33.33333333%
   }
   .col-sm-3 {
      width: 25%
   }
   .col-sm-2 {
      width: 16.66666667%
   }
   .col-sm-1 {
      width: 8.33333333%
   }
   .hide-sm {
      display: none !important
   }
   .show-sm {
      display: block !important
   }
}
@media (max-width : 480px) {
   .col-xs-12,
   .col-xs-11,
   .col-xs-10,
   .col-xs-9,
   .col-xs-8,
   .col-xs-7,
   .col-xs-6,
   .col-xs-5,
   .col-xs-4,
   .col-xs-3,
   .col-xs-2,
   .col-xs-1 {
      flex: none
   }
   .col-xs-12 {
      width: 100%
   }
   .col-xs-11 {
      width: 91.66666667%
   }
   .col-xs-10 {
      width: 83.33333333%
   }
   .col-xs-9 {
      width: 75%
   }
   .col-xs-8 {
      width: 66.66666667%
   }
   .col-xs-7 {
      width: 58.33333333%
   }
   .col-xs-6 {
      width: 50%
   }
   .col-xs-5 {
      width: 41.66666667%
   }
   .col-xs-4 {
      width: 33.33333333%
   }
   .col-xs-3 {
      width: 25%
   }
   .col-xs-2 {
      width: 16.66666667%
   }
   .col-xs-1 {
      width: 8.33333333%
   }
   .hide-xs {
      display: none !important
   }
   .show-xs {
      display: block !important
   }
}
.navbar {
   align-items: stretch;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between
}
.navbar .navbar-section {
   align-items: center;
   display: flex;
   flex: 1 0 0
}
.navbar .navbar-section:last-child {
   justify-content: flex-end
}
.navbar .navbar-center {
   align-items: center;
   display: flex;
   flex: 0 0 auto
}
.navbar .navbar-brand {
   font-size: .9rem;
   font-weight: 500;
   text-decoration: none
}
.accordion input:checked ~ .accordion-header .icon,
.accordion[open] .accordion-header .icon {
   transform: rotate(90deg)
}
.accordion input:checked ~ .accordion-body,
.accordion[open] .accordion-body {
   max-height: 50rem
}
.accordion .accordion-header {
   display: block;
   padding: .2rem .4rem
}
.accordion .accordion-header .icon {
   transition: all .2s ease
}
.accordion .accordion-body {
   margin-bottom: .4rem;
   max-height: 0;
   overflow: hidden;
   transition: max-height .2s ease
}
summary.accordion-header::-webkit-details-marker {
   display: none
}
.form-autocomplete {
   position: relative
}
.form-autocomplete .form-autocomplete-input {
   align-content: flex-start;
   display: flex;
   flex-wrap: wrap;
   height: auto;
   min-height: 1.6rem;
   padding: .1rem
}
.form-autocomplete .form-autocomplete-input.is-focused {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2);
   border-color: #2440AA
}
.form-autocomplete .form-autocomplete-input .form-input {
   border-color: transparent;
   box-shadow: none;
   display: inline-block;
   flex: 1 0 auto;
   height: 1.2rem;
   line-height: .8rem;
   margin: .1rem;
   width: auto
}
.form-autocomplete .menu {
   left: 0;
   position: absolute;
   top: 100%;
   width: 100%
}
.avatar {
   font-size: .8rem;
   height: 1.6rem;
   width: 1.6rem;
   background: #2440AA;
   border-radius: 50%;
   color: rgba(255, 255, 255, 0.85);
   display: inline-block;
   font-weight: 300;
   line-height: 1.25;
   margin: 0;
   position: relative;
   vertical-align: middle
}
.avatar.avatar-xs {
   font-size: .4rem;
   height: .8rem;
   width: .8rem
}
.avatar.avatar-sm {
   font-size: .6rem;
   height: 1.2rem;
   width: 1.2rem
}
.avatar.avatar-lg {
   font-size: 1.2rem;
   height: 2.4rem;
   width: 2.4rem
}
.avatar.avatar-xl {
   font-size: 1.6rem;
   height: 3.2rem;
   width: 3.2rem
}
.avatar img {
   border-radius: 50%;
   height: 100%;
   position: relative;
   width: 100%;
   z-index: 1
}
.avatar .avatar-icon,
.avatar .avatar-presence {
   background: #fff;
   bottom: 14.64%;
   height: 50%;
   padding: .1rem;
   position: absolute;
   right: 14.64%;
   transform: translate(50%, 50%);
   width: 50%;
   z-index: 2
}
.avatar .avatar-presence {
   background: #999;
   box-shadow: 0 0 0 .1rem #fff;
   border-radius: 50%;
   height: .5em;
   width: .5em
}
.avatar .avatar-presence.online {
   background: #32b643
}
.avatar .avatar-presence.busy {
   background: #e85600
}
.avatar .avatar-presence.away {
   background: #ffb700
}
.avatar[data-initial]::before {
   color: currentColor;
   content: attr(data-initial);
   left: 50%;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%);
   z-index: 1
}
.badge {
   position: relative;
   white-space: nowrap
}
.badge[data-badge]::after,
.badge:not([data-badge])::after {
   background: #2440AA;
   background-clip: padding-box;
   border-radius: .5rem;
   box-shadow: 0 0 0 0.1rem #fff;
   color: #fff;
   content: attr(data-badge);
   display: inline-block;
   transform: translate(-0.1rem, -0.5rem)
}
.badge[data-badge]::after {
   font-size: .7rem;
   height: .9rem;
   line-height: 1;
   min-width: .9rem;
   padding: .1rem .2rem;
   text-align: center;
   white-space: nowrap
}
.badge:not([data-badge])::after,
.badge[data-badge = ""]::after {
   height: 6px;
   min-width: 6px;
   padding: 0;
   width: 6px
}
.badge.btn::after {
   position: absolute;
   top: 0;
   right: 0;
   transform: translate(50%, -50%)
}
.badge.avatar::after {
   position: absolute;
   top: 14.64%;
   right: 14.64%;
   transform: translate(50%, -50%);
   z-index: 100
}
.badge.avatar-xs::after {
   content: "";
   height: .4rem;
   min-width: .4rem;
   padding: 0;
   width: .4rem
}
.breadcrumb {
   list-style: none;
   margin: .2rem 0;
   padding: .2rem 0
}
.breadcrumb .breadcrumb-item {
   color: #595959;
   display: inline-block;
   margin: 0;
   padding: .2rem 0
}
.breadcrumb .breadcrumb-item:not(:last-child) {
   margin-right: .2rem
}
.breadcrumb .breadcrumb-item:not(:last-child) a {
   color: #595959
}
.breadcrumb .breadcrumb-item:not(:first-child)::before {
   color: #ccc;
   content: "/";
   padding-right: .2rem
}
.bar {
   background: #d4d4d4;
   border-radius: .1rem;
   display: flex;
   flex-wrap: nowrap;
   height: .8rem;
   width: 100%
}
.bar.bar-sm {
   height: .2rem
}
.bar .bar-item {
   background: #2440AA;
   color: #fff;
   display: block;
   font-size: .7rem;
   flex-shrink: 0;
   line-height: .8rem;
   height: 100%;
   position: relative;
   text-align: center;
   width: 0
}
.bar .bar-item:first-child {
   border-bottom-left-radius: .1rem;
   border-top-left-radius: .1rem
}
.bar .bar-item:last-child {
   border-bottom-right-radius: .1rem;
   border-top-right-radius: .1rem;
   flex-shrink: 1
}
.bar-slider {
   height: .1rem;
   margin: .4rem 0;
   position: relative
}
.bar-slider .bar-item {
   left: 0;
   padding: 0;
   position: absolute
}
.bar-slider .bar-item:not(:last-child):first-child {
   background: #d4d4d4;
   z-index: 1
}
.bar-slider .bar-slider-btn {
   background: #2440AA;
   border: 0;
   border-radius: 50%;
   height: .6rem;
   padding: 0;
   position: absolute;
   right: 0;
   top: 50%;
   transform: translate(50%, -50%);
   width: .6rem
}
.bar-slider .bar-slider-btn:active {
   box-shadow: 0 0 0 0.1rem #2440AA
}
.card {
   background: #fff;
   border: .05rem solid #ccc;
   border-radius: .1rem;
   display: flex;
   flex-direction: column
}
.card .card-header,
.card .card-body,
.card .card-footer {
   padding: .8rem;
   padding-bottom: 0
}
.card .card-header:last-child,
.card .card-body:last-child,
.card .card-footer:last-child {
   padding-bottom: .8rem
}
.card .card-image {
   padding-top: .8rem
}
.card .card-image:first-child {
   padding-top: 0
}
.card .card-image:first-child img {
   border-top-left-radius: .1rem;
   border-top-right-radius: .1rem
}
.card .card-image:last-child img {
   border-bottom-left-radius: .1rem;
   border-bottom-right-radius: .1rem
}
.chip {
   align-items: center;
   background: #d4d4d4;
   border-radius: 5rem;
   color: #595959;
   display: inline-flex;
   font-size: 90%;
   height: 1.2rem;
   line-height: .8rem;
   margin: .1rem;
   max-width: 100%;
   padding: .2rem .4rem;
   text-decoration: none;
   vertical-align: middle
}
.chip.active {
   background: #2440AA;
   color: #fff
}
.chip .avatar {
   margin-left: -0.4rem;
   margin-right: .2rem
}
.dropdown {
   display: inline-block;
   position: relative
}
.dropdown .menu {
   animation: slide-down .15s ease 1;
   display: none;
   left: 0;
   max-height: 50vh;
   overflow-y: auto;
   position: absolute;
   top: 100%
}
.dropdown.dropdown-right .menu {
   left: auto;
   right: 0
}
.dropdown.active .menu,
.dropdown .dropdown-toggle:focus + .menu,
.dropdown .menu:hover {
   display: block
}
.dropdown .btn-group .dropdown-toggle:nth-last-child(2) {
   border-bottom-right-radius: .1rem;
   border-top-right-radius: .1rem
}
.empty {
   background: #dbdbdb;
   border-radius: .1rem;
   color: #595959;
   text-align: center;
   padding: 3.2rem 1.6rem
}
.empty .empty-icon {
   margin-bottom: .8rem
}
.empty .empty-title,
.empty .empty-subtitle {
   margin: .4rem auto
}
.empty .empty-action {
   margin-top: .8rem
}
.menu {
   box-shadow: 0 .05rem .2rem rgba(51, 51, 51, 0.3);
   background: #fff;
   border-radius: .1rem;
   list-style: none;
   margin: 0;
   min-width: 180px;
   padding: .4rem;
   transform: translateY(.2rem);
   z-index: 100
}
.menu.menu-nav {
   background: transparent;
   box-shadow: none
}
.menu .menu-item {
   margin-top: 0;
   padding: 0 .4rem;
   text-decoration: none;
   user-select: none
}
.menu .menu-item > a {
   border-radius: .1rem;
   color: inherit;
   display: block;
   margin: 0 -.4rem;
   padding: .2rem .4rem;
   text-decoration: none
}
.menu .menu-item > a:focus,
.menu .menu-item > a:hover {
   background: #a2b1eb;
   color: #2440AA
}
.menu .menu-item > a:active,
.menu .menu-item > a.active {
   background: #a2b1eb;
   color: #2440AA
}
.menu .menu-item + .menu-item {
   margin-top: .2rem
}
.menu .menu-badge {
   float: right;
   padding: .2rem 0
}
.menu .menu-badge .btn {
   margin-top: -0.1rem
}
.modal {
   align-items: center;
   bottom: 0;
   display: none;
   justify-content: center;
   left: 0;
   opacity: 0;
   overflow: hidden;
   padding: .4rem;
   position: fixed;
   right: 0;
   top: 0
}
.modal:target,
.modal.active {
   display: flex;
   opacity: 1;
   z-index: 400
}
.modal:target .modal-overlay,
.modal.active .modal-overlay {
   background: rgba(219, 219, 219, 0.75);
   bottom: 0;
   cursor: default;
   display: block;
   left: 0;
   position: absolute;
   right: 0;
   top: 0
}
.modal:target .modal-container,
.modal.active .modal-container {
   animation: slide-down .2s ease 1;
   max-width: 640px;
   width: 100%;
   z-index: 1
}
.modal.modal-sm .modal-container {
   max-width: 320px;
   padding: 0 .4rem
}
.modal.modal-lg .modal-overlay {
   background: #fff
}
.modal.modal-lg .modal-container {
   box-shadow: none;
   max-width: 960px
}
.modal-container {
   box-shadow: 0 .2rem .5rem rgba(51, 51, 51, 0.3);
   background: #fff;
   border-radius: .1rem;
   display: block;
   padding: 0 .8rem;
   text-align: left
}
.modal-container .modal-header {
   padding: .8rem
}
.modal-container .modal-body {
   max-height: 50vh;
   overflow-y: auto;
   padding: .8rem;
   position: relative
}
.modal-container .modal-footer {
   padding: .8rem;
   text-align: right
}
.nav {
   display: flex;
   flex-direction: column;
   list-style: none;
   margin: .2rem 0
}
.nav .nav-item a {
   color: #595959;
   padding: .2rem .4rem;
   text-decoration: none
}
.nav .nav-item a:focus,
.nav .nav-item a:hover {
   color: #2440AA
}
.nav .nav-item.active > a {
   color: #404040;
   font-weight: bold
}
.nav .nav-item.active > a:focus,
.nav .nav-item.active > a:hover {
   color: #2440AA
}
.nav .nav {
   margin-bottom: .4rem;
   margin-left: .8rem
}
.pagination {
   display: flex;
   list-style: none;
   margin: .2rem 0;
   padding: .2rem 0
}
.pagination .page-item {
   margin: .2rem .05rem
}
.pagination .page-item span {
   display: inline-block;
   padding: .2rem .2rem
}
.pagination .page-item a {
   border-radius: .1rem;
   color: #595959;
   display: inline-block;
   padding: .2rem .4rem;
   text-decoration: none
}
.pagination .page-item a:focus,
.pagination .page-item a:hover {
   color: #2440AA
}
.pagination .page-item.disabled a {
   cursor: default;
   opacity: .5;
   pointer-events: none
}
.pagination .page-item.active a {
   background: #2440AA;
   color: #fff
}
.pagination .page-item.page-prev,
.pagination .page-item.page-next {
   flex: 1 0 50%
}
.pagination .page-item.page-next {
   text-align: right
}
.pagination .page-item .page-item-title {
   margin: 0
}
.pagination .page-item .page-item-subtitle {
   margin: 0;
   opacity: .5
}
.panel {
   border: .05rem solid #ccc;
   border-radius: .1rem;
   display: flex;
   flex-direction: column
}
.panel .panel-header,
.panel .panel-footer {
   flex: 0 0 auto;
   padding: .8rem
}
.panel .panel-nav {
   flex: 0 0 auto
}
.panel .panel-body {
   flex: 1 1 auto;
   overflow-y: auto;
   padding: 0 .8rem
}
.popover {
   display: inline-block;
   position: relative
}
.popover .popover-container {
   content: attr(data-tooltip);
   opacity: 0;
   left: 50%;
   padding: .4rem;
   position: absolute;
   top: 0;
   transform: translate(-50%, -50%) scale(0);
   transition: transform .2s ease;
   width: 320px;
   z-index: 400
}
.popover :focus + .popover-container,
.popover:hover .popover-container,
.popover .popover-container:hover {
   display: block;
   opacity: 1;
   transform: translate(-50%, -100%) scale(1)
}
.popover.popover-right .popover-container {
   left: 100%;
   top: 50%
}
.popover.popover-right :focus + .popover-container,
.popover.popover-right:hover .popover-container,
.popover.popover-right .popover-container:hover {
   transform: translate(0, -50%) scale(1)
}
.popover.popover-bottom .popover-container {
   left: 50%;
   top: 100%
}
.popover.popover-bottom :focus + .popover-container,
.popover.popover-bottom:hover .popover-container,
.popover.popover-bottom .popover-container:hover {
   transform: translate(-50%, 0) scale(1)
}
.popover.popover-left .popover-container {
   left: 0;
   top: 50%
}
.popover.popover-left :focus + .popover-container,
.popover.popover-left:hover .popover-container,
.popover.popover-left .popover-container:hover {
   transform: translate(-100%, -50%) scale(1)
}
.popover .card {
   box-shadow: 0 .2rem .5rem rgba(51, 51, 51, 0.3);
   border: 0
}
.step {
   display: flex;
   flex-wrap: nowrap;
   list-style: none;
   margin: .2rem 0;
   width: 100%
}
.step .step-item {
   flex: 1 1 0;
   margin-top: 0;
   min-height: 1rem;
   text-align: center;
   position: relative
}
.step .step-item:not(:first-child)::before {
   background: #2440AA;
   content: "";
   height: 2px;
   left: -50%;
   position: absolute;
   top: 9px;
   width: 100%
}
.step .step-item a {
   color: #999;
   display: inline-block;
   padding: 20px 10px 0;
   text-decoration: none
}
.step .step-item a::before {
   background: #2440AA;
   border: .1rem solid #fff;
   border-radius: 50%;
   content: "";
   display: block;
   height: .6rem;
   left: 50%;
   position: absolute;
   top: .2rem;
   transform: translateX(-50%);
   width: .6rem;
   z-index: 1
}
.step .step-item.active a::before {
   background: #fff;
   border: .1rem solid #2440AA
}
.step .step-item.active ~ .step-item::before {
   background: #ccc
}
.step .step-item.active ~ .step-item a::before {
   background: #ccc
}
.tab {
   align-items: center;
   border-bottom: .05rem solid #ccc;
   display: flex;
   flex-wrap: wrap;
   list-style: none;
   margin: .2rem 0 .15rem 0
}
.tab .tab-item {
   margin-top: 0
}
.tab .tab-item a {
   border-bottom: .1rem solid transparent;
   color: inherit;
   display: block;
   margin: 0 .4rem 0 0;
   padding: .4rem .2rem .3rem .2rem;
   text-decoration: none
}
.tab .tab-item a:focus,
.tab .tab-item a:hover {
   color: #2440AA
}
.tab .tab-item.active a,
.tab .tab-item a.active {
   border-bottom-color: #2440AA;
   color: #2440AA
}
.tab .tab-item.tab-action {
   flex: 1 0 auto;
   text-align: right
}
.tab .tab-item .btn-clear {
   margin-top: -0.2rem
}
.tab.tab-block .tab-item {
   flex: 1 0 0;
   text-align: center
}
.tab.tab-block .tab-item a {
   margin: 0
}
.tab.tab-block .tab-item .badge[data-badge]::after {
   position: absolute;
   right: .1rem;
   top: .1rem;
   transform: translate(0, 0)
}
.tab:not(.tab-block) .badge {
   padding-right: 0
}
.tile {
   align-content: space-between;
   align-items: flex-start;
   display: flex
}
.tile .tile-icon,
.tile .tile-action {
   flex: 0 0 auto
}
.tile .tile-content {
   flex: 1 1 auto
}
.tile .tile-content:not(:first-child) {
   padding-left: .4rem
}
.tile .tile-content:not(:last-child) {
   padding-right: .4rem
}
.tile .tile-title,
.tile .tile-subtitle {
   line-height: 1rem
}
.tile.tile-centered {
   align-items: center
}
.tile.tile-centered .tile-content {
   overflow: hidden
}
.tile.tile-centered .tile-title,
.tile.tile-centered .tile-subtitle {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   margin-bottom: 0
}
.toast {
   background: rgba(51, 51, 51, 0.9);
   border-color: #333;
   border: .05rem solid #333;
   border-radius: .1rem;
   color: #fff;
   display: block;
   padding: .4rem
}
.toast.toast-primary {
   background: rgba(36, 64, 170, 0.9);
   border-color: #2440AA
}
.toast.toast-success {
   background: rgba(50, 182, 67, 0.9);
   border-color: #32b643
}
.toast.toast-warning {
   background: rgba(255, 183, 0, 0.9);
   border-color: #ffb700
}
.toast.toast-error {
   background: rgba(232, 86, 0, 0.9);
   border-color: #e85600
}
.toast a {
   color: #fff;
   text-decoration: underline
}
.toast a:focus,
.toast a:hover,
.toast a:active,
.toast a.active {
   opacity: .75
}
.toast .btn-clear {
   margin: 4px -2px 4px 4px
}
.tooltip {
   position: relative
}
.tooltip::after {
   background: rgba(51, 51, 51, 0.9);
   border-radius: .1rem;
   bottom: 100%;
   color: #fff;
   content: attr(data-tooltip);
   display: block;
   font-size: .7rem;
   left: 50%;
   max-width: 320px;
   opacity: 0;
   overflow: hidden;
   padding: .2rem .4rem;
   pointer-events: none;
   position: absolute;
   text-overflow: ellipsis;
   transform: translate(-50%, .4rem);
   transition: all .2s ease;
   white-space: pre;
   z-index: 300
}
.tooltip:focus::after,
.tooltip:hover::after {
   opacity: 1;
   transform: translate(-50%, -0.2rem)
}
.tooltip[disabled],
.tooltip.disabled {
   pointer-events: auto
}
.tooltip.tooltip-right::after {
   bottom: 50%;
   left: 100%;
   transform: translate(-0.2rem, 50%)
}
.tooltip.tooltip-right:focus::after,
.tooltip.tooltip-right:hover::after {
   transform: translate(.2rem, 50%)
}
.tooltip.tooltip-bottom::after {
   bottom: auto;
   top: 100%;
   transform: translate(-50%, -0.4rem)
}
.tooltip.tooltip-bottom:focus::after,
.tooltip.tooltip-bottom:hover::after {
   transform: translate(-50%, .2rem)
}
.tooltip.tooltip-left::after {
   bottom: 50%;
   left: auto;
   right: 100%;
   transform: translate(.4rem, 50%)
}
.tooltip.tooltip-left:focus::after,
.tooltip.tooltip-left:hover::after {
   transform: translate(-0.2rem, 50%)
}
@keyframes loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes slide-down{0%{opacity:0;transform:translateY(-1.6rem)}100%{opacity:1;transform:translateY(0)}}
.text-primary {
   color: #2440AA
}
a.text-primary:focus,
a.text-primary:hover {
   color: #203895
}
.text-secondary {
   color: #95a7e9
}
a.text-secondary:focus,
a.text-secondary:hover {
   color: #8095e4
}
.text-gray {
   color: #999
}
a.text-gray:focus,
a.text-gray:hover {
   color: #8c8c8c
}
.text-light {
   color: #fff
}
a.text-light:focus,
a.text-light:hover {
   color: #f2f2f2
}
.text-success {
   color: #32b643
}
a.text-success:focus,
a.text-success:hover {
   color: #2da23c
}
.text-warning {
   color: #ffb700
}
a.text-warning:focus,
a.text-warning:hover {
   color: #e6a500
}
.text-error {
   color: #e85600
}
a.text-error:focus,
a.text-error:hover {
   color: #cf4d00
}
.bg-primary {
   background: #2440AA
}
.bg-secondary {
   background: #a2b1eb
}
.bg-dark {
   background: #333
}
.bg-gray {
   background: #dbdbdb
}
.bg-success {
   background: #32b643
}
.bg-warning {
   background: #ffb700
}
.bg-error {
   background: #e85600
}
.c-hand {
   cursor: pointer
}
.c-move {
   cursor: move
}
.c-zoom-in {
   cursor: zoom-in
}
.c-zoom-out {
   cursor: zoom-out
}
.c-not-allowed {
   cursor: not-allowed
}
.c-auto {
   cursor: auto
}
.d-block {
   display: block
}
.d-inline {
   display: inline
}
.d-inline-block {
   display: inline-block
}
.d-flex {
   display: flex
}
.d-inline-flex {
   display: inline-flex
}
.d-none,
.d-hide {
   display: none !important
}
.d-visible {
   visibility: visible
}
.d-invisible {
   visibility: hidden
}
.text-hide {
   background: transparent;
   border: 0;
   color: transparent;
   font-size: 0;
   line-height: 0;
   text-shadow: none
}
.text-assistive {
   border: 0;
   clip: rect(0, 0, 0, 0);
   height: 1px;
   margin: -1px;
   overflow: hidden;
   padding: 0;
   position: absolute;
   width: 1px
}
.divider,
.divider-vert {
   display: block;
   position: relative
}
.divider[data-content]::after,
.divider-vert[data-content]::after {
   background: #fff;
   color: #999;
   content: attr(data-content);
   display: inline-block;
   font-size: .7rem;
   padding: 0 .4rem;
   transform: translateY(-.65rem)
}
.divider {
   border-top: .05rem solid #ccc;
   height: .05rem;
   margin: .4rem 0
}
.divider[data-content] {
   margin: .8rem 0
}
.divider-vert {
   display: block;
   padding: .8rem
}
.divider-vert::before {
   border-left: .05rem solid #ccc;
   bottom: .4rem;
   content: "";
   display: block;
   left: 50%;
   position: absolute;
   top: .4rem;
   transform: translateX(-50%)
}
.divider-vert[data-content]::after {
   left: 50%;
   padding: .2rem 0;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%)
}
.loading {
   color: transparent !important;
   min-height: .8rem;
   pointer-events: none;
   position: relative
}
.loading::after {
   animation: loading 500ms infinite linear;
   border: .1rem solid #2440AA;
   border-radius: 50%;
   border-right-color: transparent;
   border-top-color: transparent;
   content: "";
   display: block;
   height: .8rem;
   left: 50%;
   margin-left: -0.4rem;
   margin-top: -0.4rem;
   position: absolute;
   top: 50%;
   width: .8rem;
   z-index: 1
}
.loading.loading-lg {
   min-height: 2rem
}
.loading.loading-lg::after {
   height: 1.6rem;
   margin-left: -0.8rem;
   margin-top: -0.8rem;
   width: 1.6rem
}
.clearfix::after,
.container::after {
   clear: both;
   content: "";
   display: table
}
.float-left {
   float: left !important
}
.float-right {
   float: right !important
}
.relative {
   position: relative
}
.absolute {
   position: absolute
}
.fixed {
   position: fixed
}
.centered {
   display: block;
   float: none;
   margin-left: auto;
   margin-right: auto
}
.flex-centered {
   align-items: center;
   display: flex;
   justify-content: center
}
.m-0 {
   margin: 0
}
.mb-0 {
   margin-bottom: 0
}
.ml-0 {
   margin-left: 0
}
.mr-0 {
   margin-right: 0
}
.mt-0 {
   margin-top: 0
}
.mx-0 {
   margin-left: 0;
   margin-right: 0
}
.my-0 {
   margin-bottom: 0;
   margin-top: 0
}
.m-1 {
   margin: .2rem
}
.mb-1 {
   margin-bottom: .2rem
}
.ml-1 {
   margin-left: .2rem
}
.mr-1 {
   margin-right: .2rem
}
.mt-1 {
   margin-top: .2rem
}
.mx-1 {
   margin-left: .2rem;
   margin-right: .2rem
}
.my-1 {
   margin-bottom: .2rem;
   margin-top: .2rem
}
.m-2 {
   margin: .4rem
}
.mb-2 {
   margin-bottom: .4rem
}
.ml-2 {
   margin-left: .4rem
}
.mr-2 {
   margin-right: .4rem
}
.mt-2 {
   margin-top: .4rem
}
.mx-2 {
   margin-left: .4rem;
   margin-right: .4rem
}
.my-2 {
   margin-bottom: .4rem;
   margin-top: .4rem
}
.p-0 {
   padding: 0
}
.pb-0 {
   padding-bottom: 0
}
.pl-0 {
   padding-left: 0
}
.pr-0 {
   padding-right: 0
}
.pt-0 {
   padding-top: 0
}
.px-0 {
   padding-left: 0;
   padding-right: 0
}
.py-0 {
   padding-bottom: 0;
   padding-top: 0
}
.p-1 {
   padding: .2rem
}
.pb-1 {
   padding-bottom: .2rem
}
.pl-1 {
   padding-left: .2rem
}
.pr-1 {
   padding-right: .2rem
}
.pt-1 {
   padding-top: .2rem
}
.px-1 {
   padding-left: .2rem;
   padding-right: .2rem
}
.py-1 {
   padding-bottom: .2rem;
   padding-top: .2rem
}
.p-2 {
   padding: .4rem
}
.pb-2 {
   padding-bottom: .4rem
}
.pl-2 {
   padding-left: .4rem
}
.pr-2 {
   padding-right: .4rem
}
.pt-2 {
   padding-top: .4rem
}
.px-2 {
   padding-left: .4rem;
   padding-right: .4rem
}
.py-2 {
   padding-bottom: .4rem;
   padding-top: .4rem
}
.rounded {
   border-radius: .1rem
}
.circle {
   border-radius: 50%
}
.text-left {
   text-align: left
}
.text-right {
   text-align: right
}
.text-center {
   text-align: center
}
.text-justify {
   text-align: justify
}
.text-lowercase {
   text-transform: lowercase
}
.text-uppercase {
   text-transform: uppercase
}
.text-capitalize {
   text-transform: capitalize
}
.text-normal {
   font-weight: normal
}
.text-bold {
   font-weight: bold
}
.text-italic {
   font-style: italic
}
.text-large {
   font-size: 1.2em
}
.text-ellipsis {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap
}
.text-clip {
   overflow: hidden;
   text-overflow: clip;
   white-space: nowrap
}
.text-break {
   hyphens: auto;
   word-break: break-word;
   word-wrap: break-word
} /*! Spectre.css Experimentals v0.4.4 | MIT License | github.com/picturepan2/spectre */
.calendar {
   border: .05rem solid #ccc;
   border-radius: .1rem;
   display: block;
   min-width: 280px;
   text-align: center
}
.calendar .calendar-nav {
   align-items: center;
   background: #dbdbdb;
   border-top-left-radius: .1rem;
   border-top-right-radius: .1rem;
   display: flex;
   font-size: .9rem;
   padding: .4rem
}
.calendar .calendar-header,
.calendar .calendar-body {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding: .4rem 0
}
.calendar .calendar-header .calendar-date,
.calendar .calendar-body .calendar-date {
   flex: 0 0 14.28%;
   max-width: 14.28%
}
.calendar .calendar-header {
   background: #dbdbdb;
   border-bottom: .05rem solid #ccc;
   color: #999;
   font-size: .7rem
}
.calendar .calendar-body {
   color: #595959
}
.calendar .calendar-date {
   border: 0;
   padding: .2rem
}
.calendar .calendar-date .date-item {
   transition: all .2s ease;
   appearance: none;
   background: transparent;
   border: .05rem solid transparent;
   border-radius: 50%;
   color: #595959;
   cursor: pointer;
   font-size: .7rem;
   height: 1.4rem;
   line-height: 1rem;
   outline: none;
   padding: .1rem;
   position: relative;
   text-align: center;
   text-decoration: none;
   vertical-align: middle;
   white-space: nowrap;
   width: 1.4rem
}
.calendar .calendar-date .date-item.date-today {
   border-color: #95a7e9;
   color: #2440AA
}
.calendar .calendar-date .date-item:focus {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2)
}
.calendar .calendar-date .date-item:focus,
.calendar .calendar-date .date-item:hover {
   background: #afbcee;
   border-color: #95a7e9;
   color: #2440AA;
   text-decoration: none
}
.calendar .calendar-date .date-item:active,
.calendar .calendar-date .date-item.active {
   background: #213b9d;
   border-color: #1d3388;
   color: #fff
}
.calendar .calendar-date .date-item.badge::after {
   position: absolute;
   top: 3px;
   right: 3px;
   transform: translate(50%, -50%)
}
.calendar .calendar-date.disabled .date-item,
.calendar .calendar-date.disabled .calendar-event,
.calendar .calendar-date .date-item:disabled,
.calendar .calendar-date .calendar-event:disabled {
   cursor: default;
   opacity: .25;
   pointer-events: none
}
.calendar .calendar-range {
   position: relative
}
.calendar .calendar-range::before {
   background: #a2b1eb;
   content: "";
   height: 1.4rem;
   left: 0;
   position: absolute;
   right: 0;
   top: 50%;
   transform: translateY(-50%)
}
.calendar .calendar-range.range-start::before {
   left: 50%
}
.calendar .calendar-range.range-end::before {
   right: 50%
}
.calendar .calendar-range .date-item {
   color: #2440AA
}
.calendar.calendar-lg .calendar-body {
   padding: 0
}
.calendar.calendar-lg .calendar-body .calendar-date {
   border-bottom: .05rem solid #ccc;
   border-right: .05rem solid #ccc;
   display: flex;
   flex-direction: column;
   height: 5.5rem;
   padding: 0
}
.calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n) {
   border-right: 0
}
.calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7) {
   border-bottom: 0
}
.calendar.calendar-lg .date-item {
   align-self: flex-end;
   height: 1.4rem;
   margin-right: .2rem;
   margin-top: .2rem
}
.calendar.calendar-lg .calendar-range::before {
   top: 19px
}
.calendar.calendar-lg .calendar-range.range-start::before {
   left: auto;
   width: 19px
}
.calendar.calendar-lg .calendar-range.range-end::before {
   right: 19px
}
.calendar.calendar-lg .calendar-events {
   flex-grow: 1;
   line-height: 1;
   overflow-y: auto;
   padding: .2rem
}
.calendar.calendar-lg .calendar-event {
   background: #a2b1eb;
   border-radius: .1rem;
   color: #2440AA;
   font-size: .7rem;
   display: block;
   margin: .1rem auto;
   overflow: hidden;
   padding: 3px 4px;
   text-align: left;
   text-overflow: ellipsis;
   white-space: nowrap
}
.carousel {
   background: #dbdbdb;
   display: block;
   overflow: hidden;
   position: relative;
   width: 100%
}
.carousel .carousel-container {
   height: 100%;
   left: 0;
   position: relative
}
.carousel .carousel-container::before {
   content: "";
   display: block;
   padding-bottom: 56.25%
}
.carousel .carousel-container .carousel-item {
   animation: carousel-slideout 1s ease-in-out 1;
   height: 100%;
   left: 0;
   margin: 0;
   opacity: 0;
   position: absolute;
   top: 0;
   width: 100%
}
.carousel .carousel-container .carousel-item:hover .item-prev,
.carousel .carousel-container .carousel-item:hover .item-next {
   opacity: 1
}
.carousel .carousel-container .item-prev,
.carousel .carousel-container .item-next {
   background: rgba(204, 204, 204, 0.25);
   border-color: rgba(204, 204, 204, 0.5);
   color: #ccc;
   opacity: 0;
   position: absolute;
   top: 50%;
   transition: all .4s ease;
   transform: translateY(-50%);
   z-index: 200
}
.carousel .carousel-container .item-prev {
   left: 1rem
}
.carousel .carousel-container .item-next {
   right: 1rem
}
.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1),
.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2),
.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3),
.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) {
   animation: carousel-slidein .75s ease-in-out 1;
   opacity: 1;
   z-index: 100
}
.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1),
.carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2),
.carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3),
.carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) {
   color: #ccc
}
.carousel .carousel-nav {
   bottom: .4rem;
   display: flex;
   justify-content: center;
   left: 50%;
   position: absolute;
   transform: translateX(-50%);
   width: 10rem;
   z-index: 200
}
.carousel .carousel-nav .nav-item {
   color: rgba(204, 204, 204, 0.5);
   display: block;
   flex: 1 0 auto;
   height: 1.6rem;
   margin: .2rem;
   max-width: 2.5rem;
   position: relative
}
.carousel .carousel-nav .nav-item::before {
   background: currentColor;
   content: "";
   display: block;
   height: .1rem;
   position: absolute;
   top: .5rem;
   width: 100%
}
@keyframes carousel-slidein{0%{transform:translateX(100%)}100%{transform:translateX(0)}}
@keyframes carousel-slideout{0%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(-50%)}}
.comparison-slider {
   height: 50vh;
   overflow: hidden;
   position: relative;
   width: 100%
}
.comparison-slider .comparison-before,
.comparison-slider .comparison-after {
   height: 100%;
   left: 0;
   margin: 0;
   overflow: hidden;
   position: absolute;
   top: 0
}
.comparison-slider .comparison-before img,
.comparison-slider .comparison-after img {
   height: 100%;
   object-fit: none;
   object-position: left center;
   position: absolute;
   width: 100%
}
.comparison-slider .comparison-before {
   width: 100%;
   z-index: 1
}
.comparison-slider .comparison-before .comparison-label {
   right: .8rem
}
.comparison-slider .comparison-after {
   max-width: 100%;
   min-width: 0;
   z-index: 2
}
.comparison-slider .comparison-after::before {
   background: transparent;
   content: "";
   cursor: default;
   height: 100%;
   left: 0;
   position: absolute;
   right: .8rem;
   top: 0;
   z-index: 1
}
.comparison-slider .comparison-after::after {
   background: currentColor;
   border-radius: 50%;
   box-shadow: 0 -5px, 0 5px;
   color: #fff;
   content: "";
   height: 3px;
   position: absolute;
   right: .4rem;
   top: 50%;
   transform: translate(50%, -50%);
   width: 3px
}
.comparison-slider .comparison-after .comparison-label {
   left: .8rem
}
.comparison-slider .comparison-resizer {
   animation: first-run 1.5s 1 ease-in-out;
   cursor: ew-resize;
   height: .8rem;
   left: 0;
   max-width: 100%;
   min-width: .8rem;
   opacity: 0;
   outline: none;
   position: relative;
   resize: horizontal;
   top: 50%;
   transform: translateY(-50%) scaleY(30);
   width: 0
}
.comparison-slider .comparison-label {
   background: rgba(51, 51, 51, 0.5);
   bottom: .8rem;
   color: #fff;
   padding: .2rem .4rem;
   position: absolute;
   user-select: none
}
@keyframes first-run{0%{width:0}25%{width:2.4rem}50%{width:.8rem}75%{width:1.2rem}100%{width:0}}
.filter .filter-tag#tag-0:checked ~ .filter-nav .chip[for = "tag-0"],
.filter .filter-tag#tag-1:checked ~ .filter-nav .chip[for = "tag-1"],
.filter .filter-tag#tag-2:checked ~ .filter-nav .chip[for = "tag-2"],
.filter .filter-tag#tag-3:checked ~ .filter-nav .chip[for = "tag-3"],
.filter .filter-tag#tag-4:checked ~ .filter-nav .chip[for = "tag-4"],
.filter .filter-tag#tag-5:checked ~ .filter-nav .chip[for = "tag-5"],
.filter .filter-tag#tag-6:checked ~ .filter-nav .chip[for = "tag-6"],
.filter .filter-tag#tag-7:checked ~ .filter-nav .chip[for = "tag-7"],
.filter .filter-tag#tag-8:checked ~ .filter-nav .chip[for = "tag-8"] {
   background: #2440AA;
   color: #fff
}
.filter .filter-tag#tag-1:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-1"]),
.filter .filter-tag#tag-2:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-2"]),
.filter .filter-tag#tag-3:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-3"]),
.filter .filter-tag#tag-4:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-4"]),
.filter .filter-tag#tag-5:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-5"]),
.filter .filter-tag#tag-6:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-6"]),
.filter .filter-tag#tag-7:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-7"]),
.filter .filter-tag#tag-8:checked ~ .filter-body .filter-item:not([data-tag ~= "tag-8"]) {
   display: none
}
.filter .filter-nav {
   margin: .4rem 0
}
.filter .filter-body {
   display: flex;
   flex-wrap: wrap
}
.meter {
   appearance: none;
   background: #dbdbdb;
   border: 0;
   border-radius: .1rem;
   display: block;
   width: 100%;
   height: .8rem
}
.meter::-webkit-meter-inner-element {
   display: block
}
.meter::-webkit-meter-bar,
.meter::-webkit-meter-optimum-value,
.meter::-webkit-meter-suboptimum-value,
.meter::-webkit-meter-even-less-good-value {
   border-radius: .1rem
}
.meter::-webkit-meter-bar {
   background: #dbdbdb
}
.meter::-webkit-meter-optimum-value {
   background: #32b643
}
.meter::-webkit-meter-suboptimum-value {
   background: #ffb700
}
.meter::-webkit-meter-even-less-good-value {
   background: #e85600
}
.meter::-moz-meter-bar,
.meter:-moz-meter-optimum,
.meter:-moz-meter-sub-optimum,
.meter:-moz-meter-sub-sub-optimum {
   border-radius: .1rem
}
.meter:-moz-meter-optimum::-moz-meter-bar {
   background: #32b643
}
.meter:-moz-meter-sub-optimum::-moz-meter-bar {
   background: #ffb700
}
.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
   background: #e85600
}
.off-canvas {
   display: flex;
   height: 100%;
   left: 0;
   overflow: hidden;
   position: fixed;
   top: 0;
   width: 100%
}
.off-canvas .off-canvas-sidebar {
   background: #dbdbdb;
   height: 100%;
   left: 0;
   padding: .8rem;
   position: absolute;
   top: 0;
   transform: translateX(-100%);
   transition: transform .25s ease;
   width: 10rem;
   z-index: 300
}
.off-canvas .off-canvas-content {
   flex: 1 1 auto;
   overflow-y: auto;
   padding: .8rem .8rem .8rem 4rem
}
.off-canvas .off-canvas-checkbox:checked ~ .off-canvas-sidebar {
   transform: translateX(0)
}
.off-canvas .off-canvas-checkbox:checked ~ .off-canvas-toggle {
   background: rgba(51, 51, 51, 0.1);
   border-color: transparent;
   border-radius: 0;
   bottom: 0;
   height: 100%;
   left: 0;
   right: 0;
   top: 0;
   width: 100%
}
.off-canvas .off-canvas-checkbox:checked ~ .off-canvas-toggle .icon {
   display: none
}
.off-canvas .off-canvas-toggle {
   display: block;
   left: .8rem;
   padding-left: 0;
   padding-right: 0;
   position: absolute;
   top: .8rem;
   transition: none;
   width: 2rem;
   z-index: 200
}
@media (min-width : 960px) {
   .off-canvas .off-canvas-sidebar {
      flex: 0 0 auto;
      position: static;
      transform: translateX(0)
   }
   .off-canvas .off-canvas-content {
      padding-left: .8rem
   }
   .off-canvas .off-canvas-toggle {
      display: none
   }
}
.parallax {
   display: block;
   height: auto;
   position: relative;
   width: auto
}
.parallax .parallax-content {
   box-shadow: 0 1rem 2.1rem rgba(51, 51, 51, 0.3);
   height: auto;
   transform: perspective(1000px);
   transform-style: preserve-3d;
   transition: all .4s ease;
   width: 100%
}
.parallax .parallax-content::before {
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%
}
.parallax .parallax-front {
   align-items: center;
   color: #fff;
   display: flex;
   height: 100%;
   justify-content: center;
   left: 0;
   position: absolute;
   text-align: center;
   text-shadow: 0 0 20px rgba(51, 51, 51, 0.75);
   top: 0;
   transform: translateZ(50px) scale(.95);
   transition: all .4s ease;
   width: 100%;
   z-index: 1
}
.parallax .parallax-top-left {
   height: 50%;
   position: absolute;
   width: 50%;
   z-index: 100;
   left: 0;
   top: 0
}
.parallax .parallax-top-left:hover ~ .parallax-content {
   transform: perspective(1000px) rotateX(3deg) rotateY(-3deg)
}
.parallax .parallax-top-left:hover ~ .parallax-content::before {
   background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%)
}
.parallax .parallax-top-left:hover ~ .parallax-content .parallax-front {
   transform: translate3d(4.5px, 4.5px, 50px) scale(.95)
}
.parallax .parallax-top-right {
   height: 50%;
   position: absolute;
   width: 50%;
   z-index: 100;
   right: 0;
   top: 0
}
.parallax .parallax-top-right:hover ~ .parallax-content {
   transform: perspective(1000px) rotateX(3deg) rotateY(3deg)
}
.parallax .parallax-top-right:hover ~ .parallax-content::before {
   background: linear-gradient(-135deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%)
}
.parallax .parallax-top-right:hover ~ .parallax-content .parallax-front {
   transform: translate3d(-4.5px, 4.5px, 50px) scale(.95)
}
.parallax .parallax-bottom-left {
   height: 50%;
   position: absolute;
   width: 50%;
   z-index: 100;
   bottom: 0;
   left: 0
}
.parallax .parallax-bottom-left:hover ~ .parallax-content {
   transform: perspective(1000px) rotateX(-3deg) rotateY(-3deg)
}
.parallax .parallax-bottom-left:hover ~ .parallax-content::before {
   background: linear-gradient(45deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%)
}
.parallax .parallax-bottom-left:hover ~ .parallax-content .parallax-front {
   transform: translate3d(4.5px, -4.5px, 50px) scale(.95)
}
.parallax .parallax-bottom-right {
   height: 50%;
   position: absolute;
   width: 50%;
   z-index: 100;
   bottom: 0;
   right: 0
}
.parallax .parallax-bottom-right:hover ~ .parallax-content {
   transform: perspective(1000px) rotateX(-3deg) rotateY(3deg)
}
.parallax .parallax-bottom-right:hover ~ .parallax-content::before {
   background: linear-gradient(-45deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%)
}
.parallax .parallax-bottom-right:hover ~ .parallax-content .parallax-front {
   transform: translate3d(-4.5px, -4.5px, 50px) scale(.95)
}
.progress {
   appearance: none;
   background: #d4d4d4;
   border: 0;
   border-radius: .1rem;
   color: #2440AA;
   height: .2rem;
   position: relative;
   width: 100%
}
.progress::-webkit-progress-bar {
   background: transparent;
   border-radius: .1rem
}
.progress::-webkit-progress-value {
   background: #2440AA;
   border-radius: .1rem
}
.progress::-moz-progress-bar {
   background: #2440AA;
   border-radius: .1rem
}
.progress:indeterminate {
   animation: progress-indeterminate 1.5s linear infinite;
   background: #d4d4d4 linear-gradient(to right, #2440AA 30%, #d4d4d4 30%) top left/150% 150% no-repeat
}
.progress:indeterminate::-moz-progress-bar {
   background: transparent
}
@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}
.slider {
   appearance: none;
   background: transparent;
   display: block;
   width: 100%;
   height: 1.2rem
}
.slider:focus {
   box-shadow: 0 0 0 0.1rem rgba(36, 64, 170, 0.2);
   outline: none
}
.slider::-webkit-slider-thumb {
   -webkit-appearance: none;
   background: #2440AA;
   border: 0;
   border-radius: 50%;
   height: .6rem;
   margin-top: -.25rem;
   transition: transform .2s ease;
   width: .6rem
}
.slider::-moz-range-thumb {
   background: #2440AA;
   border: 0;
   border-radius: 50%;
   height: .6rem;
   transition: transform .2s ease;
   width: .6rem
}
.slider::-ms-thumb {
   background: #2440AA;
   border: 0;
   border-radius: 50%;
   height: .6rem;
   transition: transform .2s ease;
   width: .6rem
}
.slider:active::-webkit-slider-thumb {
   transform: scale(1.25)
}
.slider:active::-moz-range-thumb {
   transform: scale(1.25)
}
.slider:active::-ms-thumb {
   transform: scale(1.25)
}
.slider:disabled::-webkit-slider-thumb,
.slider.disabled::-webkit-slider-thumb {
   background: #ccc;
   transform: scale(1)
}
.slider:disabled::-moz-range-thumb,
.slider.disabled::-moz-range-thumb {
   background: #ccc;
   transform: scale(1)
}
.slider:disabled::-ms-thumb,
.slider.disabled::-ms-thumb {
   background: #ccc;
   transform: scale(1)
}
.slider::-webkit-slider-runnable-track {
   background: #d4d4d4;
   border-radius: .1rem;
   height: .1rem;
   width: 100%
}
.slider::-moz-range-track {
   background: #d4d4d4;
   border-radius: .1rem;
   height: .1rem;
   width: 100%
}
.slider::-ms-track {
   background: #d4d4d4;
   border-radius: .1rem;
   height: .1rem;
   width: 100%
}
.slider::-ms-fill-lower {
   background: #2440AA
}
.timeline .timeline-item {
   display: flex;
   margin-bottom: 1.2rem;
   position: relative
}
.timeline .timeline-item::before {
   background: #ccc;
   content: "";
   height: 100%;
   left: 11px;
   position: absolute;
   top: 1.2rem;
   width: 2px
}
.timeline .timeline-item .timeline-left {
   flex: 0 0 auto
}
.timeline .timeline-item .timeline-content {
   flex: 1 1 auto;
   padding: 2px 0 2px .8rem
}
.timeline .timeline-item .timeline-icon {
   border-radius: 50%;
   color: #fff;
   display: block;
   height: 1.2rem;
   text-align: center;
   width: 1.2rem
}
.timeline .timeline-item .timeline-icon::before {
   border: .1rem solid #2440AA;
   border-radius: 50%;
   content: "";
   display: block;
   height: .4rem;
   left: .4rem;
   position: absolute;
   top: .4rem;
   width: .4rem
}
.timeline .timeline-item .timeline-icon.icon-lg {
   background: #2440AA;
   line-height: 1rem
}
.timeline .timeline-item .timeline-icon.icon-lg::before {
   content: none
} /*! Spectre.css Icons v0.4.4 | MIT License | github.com/picturepan2/spectre */
.icon {
   box-sizing: border-box;
   display: inline-block;
   font-size: inherit;
   font-style: normal;
   height: 1em;
   position: relative;
   text-indent: -9999px;
   vertical-align: middle;
   width: 1em
}
.icon::before,
.icon::after {
   display: block;
   left: 50%;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%)
}
.icon.icon-2x {
   font-size: 1.6rem
}
.icon.icon-3x {
   font-size: 2.4rem
}
.icon.icon-4x {
   font-size: 3.2rem
}
.accordion .icon,
.btn .icon,
.toast .icon,
.menu .icon {
   vertical-align: -10%
}
.btn-lg .icon {
   vertical-align: -15%
}
.icon-arrow-down::before,
.icon-arrow-left::before,
.icon-arrow-right::before,
.icon-arrow-up::before,
.icon-downward::before,
.icon-back::before,
.icon-forward::before,
.icon-upward::before {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-right: 0;
   content: "";
   height: .65em;
   width: .65em
}
.icon-arrow-down::before {
   transform: translate(-50%, -75%) rotate(225deg)
}
.icon-arrow-left::before {
   transform: translate(-25%, -50%) rotate(-45deg)
}
.icon-arrow-right::before {
   transform: translate(-75%, -50%) rotate(135deg)
}
.icon-arrow-up::before {
   transform: translate(-50%, -25%) rotate(45deg)
}
.icon-back::after,
.icon-forward::after {
   background: currentColor;
   content: "";
   height: .1rem;
   width: .8em
}
.icon-downward::after,
.icon-upward::after {
   background: currentColor;
   content: "";
   height: .8em;
   width: .1rem
}
.icon-back::after {
   left: 55%
}
.icon-back::before {
   transform: translate(-50%, -50%) rotate(-45deg)
}
.icon-downward::after {
   top: 45%
}
.icon-downward::before {
   transform: translate(-50%, -50%) rotate(-135deg)
}
.icon-forward::after {
   left: 45%
}
.icon-forward::before {
   transform: translate(-50%, -50%) rotate(135deg)
}
.icon-upward::after {
   top: 55%
}
.icon-upward::before {
   transform: translate(-50%, -50%) rotate(45deg)
}
.icon-caret::before {
   border-top: .3em solid currentColor;
   border-right: .3em solid transparent;
   border-left: .3em solid transparent;
   content: "";
   height: 0;
   transform: translate(-50%, -25%);
   width: 0
}
.icon-menu::before {
   background: currentColor;
   box-shadow: 0 -.35em, 0 .35em;
   content: "";
   height: .1rem;
   width: 100%
}
.icon-apps::before {
   background: currentColor;
   box-shadow: -.35em -.35em, -.35em 0, -.35em .35em, 0 -.35em, 0 .35em, .35em -.35em, .35em 0, .35em .35em;
   content: "";
   height: 3px;
   width: 3px
}
.icon-resize-horiz::before,
.icon-resize-horiz::after,
.icon-resize-vert::before,
.icon-resize-vert::after {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-right: 0;
   content: "";
   height: .45em;
   width: .45em
}
.icon-resize-horiz::before,
.icon-resize-vert::before {
   transform: translate(-50%, -90%) rotate(45deg)
}
.icon-resize-horiz::after,
.icon-resize-vert::after {
   transform: translate(-50%, -10%) rotate(225deg)
}
.icon-resize-horiz::before {
   transform: translate(-90%, -50%) rotate(-45deg)
}
.icon-resize-horiz::after {
   transform: translate(-10%, -50%) rotate(135deg)
}
.icon-more-horiz::before,
.icon-more-vert::before {
   background: currentColor;
   box-shadow: -.4em 0, .4em 0;
   border-radius: 50%;
   content: "";
   height: 3px;
   width: 3px
}
.icon-more-vert::before {
   box-shadow: 0 -.4em, 0 .4em
}
.icon-plus::before,
.icon-minus::before,
.icon-cross::before {
   background: currentColor;
   content: "";
   height: .1rem;
   width: 100%
}
.icon-plus::after,
.icon-cross::after {
   background: currentColor;
   content: "";
   height: 100%;
   width: .1rem
}
.icon-cross::before {
   width: 100%
}
.icon-cross::after {
   height: 100%
}
.icon-cross::before,
.icon-cross::after {
   transform: translate(-50%, -50%) rotate(45deg)
}
.icon-check::before {
   border: .1rem solid currentColor;
   border-right: 0;
   border-top: 0;
   content: "";
   height: .5em;
   width: .9em;
   transform: translate(-50%, -75%) rotate(-45deg)
}
.icon-stop {
   border: .1rem solid currentColor;
   border-radius: 50%
}
.icon-stop::before {
   background: currentColor;
   content: "";
   height: .1rem;
   transform: translate(-50%, -50%) rotate(45deg);
   width: 1em
}
.icon-shutdown {
   border: .1rem solid currentColor;
   border-radius: 50%;
   border-top-color: transparent
}
.icon-shutdown::before {
   background: currentColor;
   content: "";
   height: .5em;
   top: .1em;
   width: .1rem
}
.icon-refresh::before {
   border: .1rem solid currentColor;
   border-radius: 50%;
   border-right-color: transparent;
   content: "";
   height: 1em;
   width: 1em
}
.icon-refresh::after {
   border: .2em solid currentColor;
   border-top-color: transparent;
   border-left-color: transparent;
   content: "";
   height: 0;
   left: 80%;
   top: 20%;
   width: 0
}
.icon-search::before {
   border: .1rem solid currentColor;
   border-radius: 50%;
   content: "";
   height: .75em;
   left: 5%;
   top: 5%;
   transform: translate(0, 0) rotate(45deg);
   width: .75em
}
.icon-search::after {
   background: currentColor;
   content: "";
   height: .1rem;
   left: 80%;
   top: 80%;
   transform: translate(-50%, -50%) rotate(45deg);
   width: .4em
}
.icon-edit::before {
   border: .1rem solid currentColor;
   content: "";
   height: .4em;
   transform: translate(-40%, -60%) rotate(-45deg);
   width: .85em
}
.icon-edit::after {
   border: .15em solid currentColor;
   border-top-color: transparent;
   border-right-color: transparent;
   content: "";
   height: 0;
   left: 5%;
   top: 95%;
   transform: translate(0, -100%);
   width: 0
}
.icon-delete::before {
   border: .1rem solid currentColor;
   border-bottom-left-radius: .1rem;
   border-bottom-right-radius: .1rem;
   border-top: 0;
   content: "";
   height: .75em;
   top: 60%;
   width: .75em
}
.icon-delete::after {
   background: currentColor;
   box-shadow: -.25em .2em, .25em .2em;
   content: "";
   height: .1rem;
   top: .05rem;
   width: .5em
}
.icon-share {
   border: .1rem solid currentColor;
   border-radius: .1rem;
   border-right: 0;
   border-top: 0
}
.icon-share::before {
   border: .1rem solid currentColor;
   border-left: 0;
   border-top: 0;
   content: "";
   height: .4em;
   left: 100%;
   top: .25em;
   transform: translate(-125%, -50%) rotate(-45deg);
   width: .4em
}
.icon-share::after {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-right: 0;
   border-radius: 75% 0;
   content: "";
   height: .5em;
   width: .6em
}
.icon-flag::before {
   background: currentColor;
   content: "";
   height: 1em;
   left: 15%;
   width: .1rem
}
.icon-flag::after {
   border: .1rem solid currentColor;
   border-bottom-right-radius: .1rem;
   border-left: 0;
   border-top-right-radius: .1rem;
   content: "";
   height: .65em;
   top: 35%;
   left: 60%;
   width: .8em
}
.icon-bookmark::before {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-top-left-radius: .1rem;
   border-top-right-radius: .1rem;
   content: "";
   height: .9em;
   width: .8em
}
.icon-bookmark::after {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-left: 0;
   border-radius: .1rem;
   content: "";
   height: .5em;
   transform: translate(-50%, 35%) rotate(-45deg) skew(15deg, 15deg);
   width: .5em
}
.icon-download,
.icon-upload {
   border-bottom: .1rem solid currentColor
}
.icon-download::before,
.icon-upload::before {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-right: 0;
   content: "";
   height: .5em;
   width: .5em;
   transform: translate(-50%, -60%) rotate(-135deg)
}
.icon-download::after,
.icon-upload::after {
   background: currentColor;
   content: "";
   height: .6em;
   top: 40%;
   width: .1rem
}
.icon-upload::before {
   transform: translate(-50%, -60%) rotate(45deg)
}
.icon-upload::after {
   top: 50%
}
.icon-time {
   border: .1rem solid currentColor;
   border-radius: 50%
}
.icon-time::before {
   background: currentColor;
   content: "";
   height: .4em;
   transform: translate(-50%, -75%);
   width: .1rem
}
.icon-time::after {
   background: currentColor;
   content: "";
   height: .3em;
   transform: translate(-50%, -75%) rotate(90deg);
   transform-origin: 50% 90%;
   width: .1rem
}
.icon-mail::before {
   border: .1rem solid currentColor;
   border-radius: .1rem;
   content: "";
   height: .8em;
   width: 1em
}
.icon-mail::after {
   border: .1rem solid currentColor;
   border-right: 0;
   border-top: 0;
   content: "";
   height: .5em;
   transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg);
   width: .5em
}
.icon-people::before {
   border: .1rem solid currentColor;
   border-radius: 50%;
   content: "";
   height: .45em;
   top: 25%;
   width: .45em
}
.icon-people::after {
   border: .1rem solid currentColor;
   border-radius: 50% 50% 0 0;
   content: "";
   height: .4em;
   top: 75%;
   width: .9em
}
.icon-message {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-radius: .1rem;
   border-right: 0
}
.icon-message::before {
   border: .1rem solid currentColor;
   border-bottom-right-radius: .1rem;
   border-left: 0;
   border-top: 0;
   content: "";
   height: .8em;
   left: 65%;
   top: 40%;
   width: .7em
}
.icon-message::after {
   background: currentColor;
   border-radius: .1rem;
   content: "";
   height: .3em;
   left: 10%;
   top: 100%;
   transform: translate(0, -90%) rotate(45deg);
   width: .1rem
}
.icon-photo {
   border: .1rem solid currentColor;
   border-radius: .1rem
}
.icon-photo::before {
   border: .1rem solid currentColor;
   border-radius: 50%;
   content: "";
   height: .25em;
   left: 35%;
   top: 35%;
   width: .25em
}
.icon-photo::after {
   border: .1rem solid currentColor;
   border-bottom: 0;
   border-left: 0;
   content: "";
   height: .5em;
   left: 60%;
   transform: translate(-50%, 25%) rotate(-45deg);
   width: .5em
}
.icon-link::before,
.icon-link::after {
   border: .1rem solid currentColor;
   border-radius: 5em 0 0 5em;
   border-right: 0;
   content: "";
   height: .5em;
   width: .75em
}
.icon-link::before {
   transform: translate(-70%, -45%) rotate(-45deg)
}
.icon-link::after {
   transform: translate(-30%, -55%) rotate(135deg)
}
.icon-location::before {
   border: .1rem solid currentColor;
   border-radius: 50% 50% 50% 0;
   content: "";
   height: .8em;
   transform: translate(-50%, -60%) rotate(-45deg);
   width: .8em
}
.icon-location::after {
   border: .1rem solid currentColor;
   border-radius: 50%;
   content: "";
   height: .2em;
   transform: translate(-50%, -80%);
   width: .2em
}
.icon-emoji {
   border: .1rem solid currentColor;
   border-radius: 50%
}
.icon-emoji::before {
   border-radius: 50%;
   box-shadow: -.17em -.15em, .17em -.15em;
   content: "";
   height: .1em;
   width: .1em
}
.icon-emoji::after {
   border: .1rem solid currentColor;
   border-bottom-color: transparent;
   border-radius: 50%;
   border-right-color: transparent;
   content: "";
   height: .5em;
   transform: translate(-50%, -40%) rotate(-135deg);
   width: .5em
}
.specPage .facet {
   padding: 1rem 0
}
.specPage .facet > .label {
   float: left;
   width: 6rem;
   padding: 0;
   background: none;
   line-height: 1.5;
   font-weight: bold
}
.specPage .facet > .statement {
   margin-left: 6rem
}
.specPage .facet > .statement > .tab {
   margin-top: 0
}
.specPage .facet > .statement > .tab .tab-item a {
   padding-top: 0
}
.specPage .facet > .statement p {
   margin: 0
}
.specPage .facet > .statement p + p {
   margin: 1rem 0 0
}
.specPage .facet > .statement .emptyStatement {
   font-size: .7rem;
   font-weight: 400
}
.specPage .facet > .statement .dtBox .ident {
   display: inline-block;
   padding: 0 0.5rem 0 0;
   font-weight: 400
}
.specPage .facet > .statement .dataValue.ident {
   display: inline-block;
   width: 6rem;
   text-align: right;
   padding: 0 0.8rem 0 0
}
.specPage .facet > .statement .facetTabbedContent {
   display: none
}
.specPage .facet > .statement .facetTabbedContent.active {
   display: block
}
.specPage .facet > .statement .facetTabbedContent#attributes_tabbedContent_compact .ident {
   font-weight: 400
}
.specPage .facet > .statement .facetTabbedContent .constraint {
   margin-bottom: 1rem
}
.specPage .facet + .facet {
   border-top: .5px solid #666666
}
.specPage .facet.letter {
   min-height: 5rem
}
.specPage .facet.letter .label {
   font-size: 3rem;
   line-height: .7
}
.specPage .facet.letter a.overviewLink {
   display: inline-block;
   padding: 0 .2rem
}
.specPage .facet.letter a.overviewLink.element:before {
   content: '<'
}
.specPage .facet.letter a.overviewLink.element:after {
   content: '>'
}
.specPage .facet.letter a.overviewLink.attribute {
   padding: 0 .3rem
}
.specPage .ident {
   font-weight: bold
}
.specPage .ident.attribute:before {
   content: '@'
}
.specPage .chapterLinksBox {
   font-size: .75rem;
   font-weight: 400
}
.specPage .chapterLinksBox:before {
   display: block;
   content: 'Referenced in Chapters:';
   margin-top: .5rem;
   font-weight: bold
}
.specPage .chapterLinksBox .chapterLink.desc {
   font-weight: bold
}
.specPage .chapterLinksBox .chapterLink + .chapterLink {
   padding-left: .5rem
}
.specPage .attributeDef {
   padding: .3rem .6rem .3rem 1.6rem;
   border-radius: .3rem;
   text-indent: -1rem
}
.specPage .attributeDef .attributeUsage {
   font-size: .7rem;
   font-weight: 400;
   font-style: italic
}
.specPage .attributeDef .attributeDesc {
   font-size: .7rem;
   font-weight: 400
}
.specPage .attributeDef .attributeValues {
   font-size: .7rem;
   font-weight: 400
}
.specPage .attributeDef:nth-of-type(2n+1) {
   background-color: #f5f5f5
}
.specPage .memberOf .groupDesc {
   padding-left: .5rem;
   font-size: .7rem;
   font-weight: 400
}
.specPage .classBox {
   border-left: .5px solid #999999;
   border-top: .5px solid #999999;
   padding: 0 0 0 .5rem;
   margin: .5rem 0;
   overflow: visible
}
.specPage .classBox .classHeading {
   background-color: #f5f5f5;
   padding: 0 0 .1rem .5rem;
   margin-left: -.5rem;
   border-bottom: .5px solid #999999
}
.specPage .classBox .classHeading .classLabel {
   font-weight: bold
}
.specPage .classBox .classHeading .classDesc {
   padding-left: .5rem;
   font-size: .7rem;
   font-weight: bold
}
.specPage .classBox > .attributes.class {
   margin-left: 0
}
.specPage .classBox .attributeDef .attributeUsage {
   display: none
}
.specPage .classBox .attributeDef .attributeDesc {
   font-size: .7rem
}
.specPage .classBox .attributeDef .attributeValues {
   display: none
}
.specPage .classBox .attributeDef:nth-of-type(2n+1) {
   background-color: #ffffff
}
.specPage .classBox .elementRef {
   padding: .3rem .6rem .3rem 1.6rem;
   text-indent: -1.2rem;
   line-height: 1.2;
   margin-bottom: .5rem
}
.specPage .classBox .elementRef .link_odd_elementSpec {
   font-weight: bold
}
.specPage .classBox .elementDesc {
   padding-left: .5rem;
   font-size: .7rem;
   font-weight: 400
}
.specPage .classBox .elementDef {
   padding: .3rem .6rem .3rem 1.6rem;
   border-radius: .3rem;
   text-indent: -1rem
}
.specPage .code code {
   background-color: #f5f5f5;
   border: .5px solid #cccccc
}
.specPage .indent1 .indent {
   margin-left: 1em
}
.specPage .element {
   color: #000080;
   color: #4767b1
}
.specPage .element .attribute {
   color: #008080;
   color: #f98859
}
.specPage .element .attributevalue {
   color: #dd1144;
   color: #a14415
}
.specPage .comment {
   color: #999988;
   color: #208420;
   font-style: italic
}
.specPage .schematronText {
   margin-bottom: .5rem
}
.specsLayout {
   height: 100%
}
.specsLayout .figure-caption {
   font-size: smaller;
   font-style: italic
}
.specsLayout .top-navigation {
   background-color: #e5e5e5;
   border-bottom: .5px solid #999999;
   padding: .3rem;
   margin: -20px 0 .2rem 0;
   height: 2rem;
   position: sticky;
   top: 0;
   z-index: 5
}
.specsLayout .top-navigation .buttonbox {
   position: absolute;
   left: .8rem
}
.specsLayout .top-navigation .searchbox {
   position: absolute;
   right: .8rem
}
.specsLayout .top-navigation .searchbox #tipue_search_input {
   float: left;
   width: 200px;
   background-color: #ffffff;
   border: none;
   padding: .2rem .5rem .2rem .5rem;
   height: 1.4rem;
   border-radius: 3px;
   -moz-appearance: none;
   -webkit-appearance: none;
   box-sizing: border-box;
   border: .5px solid #213b9d;
   outline: 0;
   margin: 0
}
.specsLayout .top-navigation .searchbox .tipue_search_button {
   position: relative;
   float: left;
   width: 1.7rem;
   height: 1.4rem;
   margin-left: -3px;
   background-color: #2440aa;
   border: .5px solid #213b9d;
   border-radius: 0 3px 3px 0;
   box-sizing: border-box;
   cursor: pointer;
   outline: 0
}
.specsLayout .top-navigation .searchbox .tipue_search_button .tipue_search_icon {
   color: #ffffff;
   margin: 0
}
.specsLayout #top-navigation-content {
   background-color: #f5f5f5;
   padding: .5rem 1rem;
   box-shadow: 0 0 .5rem #000000;
   margin: -.5rem 0 1rem 0;
   width: 100%
}
.specsLayout .col-8 {
   padding: .5rem 1rem
}
.specsLayout > .col-4 {
   height: 100vh;
   overflow: auto;
   position: sticky;
   top: 0;
   margin-top: -20px;
   margin-bottom: -20px;
   padding: .5rem 1rem;
   background-color: #f5f5f5;
   border-left: .5px solid #999999
}
@media screen and (-webkit-min-device-pixel-ratio : 0) {
   .specsLayout > .col-4 {
      position: -webkit-sticky
   }
}
.specsLayout > .col-4 #tipue_search_input {
   float: left;
   width: calc(100% - 2rem);
   background-color: #ffffff;
   border: none;
   padding: .2rem .5rem .2rem .5rem;
   height: 1.4rem;
   border-radius: 3px;
   -moz-appearance: none;
   -webkit-appearance: none;
   box-sizing: border-box;
   border: .5px solid #213b9d;
   outline: 0;
   margin: 0
}
.specsLayout > .col-4 .tipue_search_button {
   position: relative;
   float: left;
   width: 1.7rem;
   height: 1.4rem;
   margin-left: -3px;
   background-color: #2440aa;
   border: .5px solid #213b9d;
   border-radius: 0 3px 3px 0;
   box-sizing: border-box;
   cursor: pointer;
   outline: 0
}
.specsLayout > .col-4 .tipue_search_button .tipue_search_icon {
   color: #ffffff;
   margin: 0
}
body {
   display: flex;
   min-height: 100vh;
   flex-direction: column;
   padding-left: inherit;
   padding-right: inherit
}
.content {
   flex: 1
}
code,
kbd,
pre,
samp {
   font-family: 'Courier'
}
header.navbar {
   position: sticky;
   top: 0;
   background-color: #333;
   margin-bottom: 20px;
   z-index: 1000
}
@media screen and (-webkit-min-device-pixel-ratio : 0) {
   header.navbar {
      position: -webkit-sticky
   }
}
header.navbar a {
   font-size: .8rem
}
header.navbar a i.icon {
   margin-top: -14px
}
header.navbar a.top-menu-link {
   color: #fff
}
header.navbar a.top-menu-link:focus {
   background: #2440AA;
   color: #fff
}
header.navbar a.top-menu-link:hover {
   background: #2440AA;
   color: #fff
}
header.navbar a.menu-link {
   color: #333
}
header.navbar .menu {
   z-index: 1000
}
header.navbar .navbar-brand {
   margin: 14px 14px 0 14px
}
header.navbar .navbar-brand img {
   height: 40px
}
header.navbar .logo {
   margin-right: 20px;
   height: 30px
}
header.navbar section div.guidelines-warning {
   width: 400px
}
header.navbar #socialLinks {
   flex-grow: 0
}
header.navbar #menu-accordion {
   color: #fff;
   background-color: inherit
}
header.navbar #menu-accordion a {
   color: #fff
}
header.navbar #menu-accordion .accordion-body .menu {
   background-color: inherit
}
.newsMenu .divider {
   margin: .2rem 0 .8rem
}
.newsMenu p.tile-title {
   margin: .1rem 0 -.2rem
}
.startCarousel {
   margin: 0 0 30px;
   box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
   overflow: visible;
   z-index: 1
}
.startCarousel .carousel-container {
   border-radius: 5px;
   overflow: hidden
}
.startCarousel .carousel-container::before {
   padding-bottom: 33.25%
}
.startCarousel .carousel-nav {
   bottom: -2rem
}
.columns.column {
   margin-left: 0;
   margin-right: 0
}
footer {
   margin-top: 20px;
   background-color: #333;
   color: #fff;
   padding-bottom: 30px
}
footer a {
   color: #fff;
   font-weight: 300
}
footer a:visited,
footer a:hover,
footer a:active {
   color: #fff
}
footer .institutions {
   padding: 20px
}
footer .institutions a.institutionsLink img {
   height: 80px
}
p.sectionToc a {
   display: block;
   margin-top: .4rem;
   margin-left: 1rem;
   text-indent: -1rem
}
p.sectionToc a.level-3 {
   margin-left: 2.5em
}
p.sectionToc a.level-4 {
   margin-left: 4em
}
p.mainToc {
   margin: 0 0 0.2rem
}
a.link_odd_elementSpec:before {
   content: '<'
}
a.link_odd_elementSpec:after {
   content: '>'
}
a.guidelines-edit {
   margin-left: 10px;
   float: right;
   opacity: .2
}
p.gloss {
   padding: .2rem .4rem;
   background: #ebebeb
}
p.gloss {
   margin-top: -10px
}
h2:hover a.guidelines-edit,
h3:hover a.guidelines-edit,
h4:hover a.guidelines-edit,
h5:hover a.guidelines-edit,
h6:hover a.guidelines-edit {
   opacity: 1
}
.wovenodd-col1 {
   vertical-align: top
}
.wovenodd-col2 .table td,
.wovenodd-col2 .table th {
   border-bottom: none
}
.wovenodd-col2 .table.table-striped tbody tr:nth-of-type(2n+1) {
   background: #f5f5f5
}
.wovenodd-col2 .schematronText {
   margin-bottom: .8rem
}
.wovenodd-col2 img {
   max-width: 100%
}
.wovenodd-col2 .code code {
   background-color: #f5f5f5;
   border: .5px solid #cccccc
}
.wovenodd-col2 .code .indent1 .indent {
   margin-left: 1em
}
.wovenodd-col2 .code .element {
   color: #000080;
   color: #4767b1
}
.wovenodd-col2 .code .element .attribute {
   color: #008080;
   color: #f98859
}
.wovenodd-col2 .code .element .attributevalue {
   color: #dd1144;
   color: #a14415
}
.wovenodd-col2 .code .comment {
   color: #999988;
   color: #208420;
   font-style: italic
}
div.tile {
   margin-left: 1rem
}
div.tile + div.tile {
   margin-top: .5rem
}
div.tile + p,
div.tile + h1,
div.tile + h2,
div.tile + h3,
div.tile + h4,
div.tile + h5,
div.tile + h6 {
   margin-top: 1em
}
.newsMenu h1,
.newsMenu h2,
.newsMenu h3,
.newsMenu h4,
.newsMenu h5,
.newsMenu h6 {
   margin-left: unset
}
.newsMenu h5.tile-title {
   margin-bottom: 0
}
ul.nav li.nav-item:first-child {
   margin-top: 0
}
ul.nav li.nav-item:first-child a {
   padding-top: 0
}
.projects .card,
.conferences .card {
   margin-bottom: 1rem;
   box-shadow: 0 5px 15px #00000033;
   height: calc(100% - 1rem);
   justify-content: space-between
}
.projects .card .card-image,
.conferences .card .card-image {
   overflow: hidden
}
.projects .card img.mei-project-image,
.conferences .card img.mei-project-image {
   width: 100%;
   height: 150px
}
.example-tile-icon {
   align-content: space-around;
   align-items: center;
   background: #5755d9;
   border-radius: .1rem;
   color: #fff;
   display: flex;
   display: -ms-flexbox;
   -ms-flex-align: center;
   -ms-flex-line-pack: distribute;
   font-size: 1.2rem;
   height: 2rem;
   width: 2rem
}
.newsTitle small {
   display: block;
   color: #666666;
   font-size: 70%
}
.newsEntry {
   margin-left: 1rem;
   margin-bottom: 3rem
}
.icon {
   color: #ffffff
}
.tutorialBox h3 {
   font-size: 1rem;
   margin: .8rem 0 0
}
.tutorialBox .tutorialGoal {
   margin-top: .5rem
}
.tutorialBox .tutorialGoal:before {
   font-weight: bold;
   content: "Goal: "
}
.tutorialBox .task:before {
   font-weight: bold;
   content: "Task: "
}
.tutorialBox #stepBox {
   margin: 2rem 0
}
.tutorialBox #btn-openFullFileModal {
   font-size: .65rem;
   font-weight: 400;
   cursor: pointer
}
.tutorialBox #btn-toggleHint {
   font-size: .65rem;
   font-weight: 400;
   cursor: pointer
}
.tutorialBox #btn-toggleHint:focus {
   box-shadow: none
}
.tutorialBox #editorBox {
   height: 5rem;
   margin: .5rem 0;
   background-color: #e5e5e5;
   border: .5px solid #999999;
   border-radius: .3rem;
   padding: .3rem
}
.tutorialBox #editorBox #editor {
   background-color: transparent;
   font-size: .9rem;
   font-family: 'Courier';
   height: 100%
}
.tutorialBox #editorBox #editor * {
   font-family: 'Courier'
}
.tutorialBox #fullFileModal a#fullFileModalCloseBack {
   background-color: #333333;
   opacity: .9
}
.tutorialBox #fullFileModal .modal-body {
   height: 20rem
}
.tutorialBox #fullFileModal .modal-body #fullFileContent {
   background-color: transparent;
   font-size: .7rem;
   font-family: 'Courier';
   height: 100%
}
.tutorialBox #fullFileModal .modal-body #fullFileContent * {
   font-family: 'Courier'
}
.tutorialBox #acknowledgments {
   font-size: .7rem;
   margin: 3rem 0 0
}
.tutorialBox #acknowledgments h3 {
   font-size: .8rem
}
.tutorialBox #acknowledgments p {
   margin-bottom: .2rem
}
.tutorialBox #acknowledgments #ackList {
   font-size: .7rem;
   list-style-type: none;
   margin: .5rem 0
}
.tutorialBox #acknowledgments #ackList .name {
   font-weight: 500
}
.tutorialBox #acknowledgments #ackList .affiliation {
   font-weight: 300;
   color: #666666
}
.tutorialBox #acknowledgments #ackList .affiliation:before {
   content: ' | '
}
.tutorialBox pre.codeblock {
   background-color: #f5f5f5;
   border: .5px solid #999999;
   border-radius: .5rem;
   padding: .5rem 1rem;
   font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
   font-size: 0.7rem;
   overflow: auto
}
.tutorialBox pre.codeblock + label {
   font-size: .7rem;
   font-weight: 100;
   position: relative;
   top: -.9rem;
   left: .5rem
}
.tutorialBox #rendering {
   min-height: 4rem;
   margin: 0 .5rem .5rem
}
.tutorialBox #nextStepButton {
   margin: .5rem 0 2.5rem
}
.tutorialBox #instruction h1 {
   font-size: 1rem;
   margin: .8rem 0 .2rem
}
.tutorialBox #instruction h2 {
   font-size: .9rem;
   margin: .8rem 0 .1rem
}
.tutorialBox #instruction h3 {
   font-size: .8rem;
   margin: .8rem 0 0
}
.sampleCode pre {
   overflow: auto;
   background-color: #f5f5f5;
   padding: .5rem;
   border-radius: .25rem
}
.sampleCode pre code {
   background: unset
}
.attributeDef .attributeUsage,
.attributeDef .attributeDesc {
   margin-left: .3rem
}
.attributeDef .attributeClasses {
   font-weight: 300
}
.attributeDef .attributeClasses:before {
   content: '(→ ';
   margin-left: 5px
}
.attributeDef .attributeClasses:after {
   content: ')'
}
table.wovenodd {
   border-collapse: collapse;
   width: 100%
}
table.wovenodd > tbody > tr > td {
   border: .5px solid #cccccc;
   padding: .3rem
}
table.wovenodd > tbody > tr > td table thead {
   display: none
}
.oldGuidelines .panel {
   border: none
}
.oldGuidelines table.wovenodd {
   border: none
}
.oldGuidelines table.wovenodd td .label {
   border-radius: 0;
   padding: 0;
   background: none;
   color: unset;
   display: inline;
   font-weight: bolder
}
.oldGuidelines table.wovenodd .wovenodd-col2 .attributeDef {
   padding: .6rem .4rem
}
.oldGuidelines table.wovenodd .wovenodd-col2 .attributeDef .attribute {
   font-weight: bolder
}
.oldGuidelines table.wovenodd .wovenodd-col2 .attributeDef:nth-of-type(2n+1) {
   background: #f5f5f5
}
.oldGuidelines table.wovenodd .wovenodd-col2 .specChildren .specChild {
   margin: 0 0 .4rem 2rem;
   text-indent: -2rem
}
.oldGuidelines table.wovenodd .wovenodd-col2 .specChildren .specChild .specChildModule {
   font-weight: bolder
}
.oldGuidelines .pre {
   background-color: #f5f5f5;
   border: .5px solid #cccccc;
   font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
   border-radius: .1rem;
   font-size: 85%;
   color: inherit;
   display: block;
   line-height: 1.5;
   overflow-x: auto;
   padding: 1rem;
   width: 100%
}
.oldGuidelines .pre .indent2,
.oldGuidelines .pre .indent3,
.oldGuidelines .pre .indent4,
.oldGuidelines .pre .indent5,
.oldGuidelines .pre .indent6,
.oldGuidelines .pre .indent7,
.oldGuidelines .pre .indent8 {
   margin-left: 1em
}
.oldGuidelines .pre .element {
   color: #000080;
   color: #4767b1
}
.oldGuidelines .pre .element .attribute {
   color: #008080;
   color: #f98859
}
.oldGuidelines .pre .element .attributevalue {
   color: #dd1144;
   color: #a14415;
   margin-left: -.4rem
}
.oldGuidelines .pre .element .attributevalue .link_odd {
   margin-left: -.4rem
}
.oldGuidelines .pre .comment {
   color: #999988;
   color: #208420;
   font-style: italic
}
.oldGuidelines .textwidget .pre {
   margin-bottom: 1.2rem
}
.oldGuidelines .textwidget .att:before {
   content: "@"
}
.oldGuidelines .textwidget ul.specList {
   list-style-type: none;
   margin-left: 2rem
}
.oldGuidelines .textwidget ul.specList .specList-elementSpec {
   font-weight: 700;
   margin-right: .4rem
}
.oldGuidelines .textwidget dl {
   width: 100%;
   overflow: hidden
}
.oldGuidelines .textwidget dl dt {
   float: left;
   width: 30%;
   box-sizing: border-box;
   padding: .6rem .4rem
}
.oldGuidelines .textwidget dl dd {
   float: left;
   width: 70%;
   box-sizing: border-box;
   padding: .6rem .4rem;
   margin: 0
}
.oldGuidelines .textwidget dl dd:after {
   content: 'none';
   color: transparent
}
.oldGuidelines .textwidget dl dt:nth-of-type(2n+1),
.oldGuidelines .textwidget dl dd:nth-of-type(2n+1) {
   background: #dbdbdb
}
.oldGuidelines .textwidget .specDesc .att {
   margin-right: 10px
}
.oldGuidelines .textwidget table.specDesc td.Attribute {
   font-weight: 700;
   vertical-align: top
}
.oldGuidelines .sortedInitials.well {
   border: .5px solid #ccc;
   border-radius: 5px;
   background-color: #f5f5f5;
   margin: 0 10px 30px;
   padding: 0 10px 10px
}
.oldGuidelines .sortedInitials.well a {
   text-decoration: none;
   margin-right: 1rem;
   display: inline-block
}
.oldGuidelines .panel-grid-cell + .panel-grid-cell {
   padding-left: 1rem
}
.oldGuidelines .guidelinesList {
   list-style-type: none
}
.smufl {
   width: 1.5em;
   vertical-align: bottom
}
#bibbase_header .nav {
   display: block !important;
   flex-direction: unset
}
.bibbase_paper {
   margin-bottom: 15px
}
.bibbase_paper_title > a {
   font-weight: bold
}
br.bibbase_paper_content {
   display: block
}
.bibbase_amazon {
   display: none
}
.bibliography .bibbase_group {
   color: #333;
   font-size: 1.2rem
}
.bibliography .bibbase_group:before {
   border-color: #333
}
.bibliography .bibbase_group:after {
   border-color: #333
}
.bibliography .bibbase_group .bibbase_group_count {
   display: inline;
   position: relative;
   top: -0.5em;
   font-size: small;
   margin-left: 2px
}
.mec-proceedings-section-divider {
   color: #333;
   font-size: 1.2rem;
   font-weight: 400;
   margin-top: 2rem;
   text-align: center;
   display: flex;
   flex-direction: row;
   line-height: 1.0em
}
.mec-proceedings-section-divider:before {
   border-top: 2px solid #333;
   content: '';
   display: table-cell;
   position: relative;
   top: 0.5em;
   flex: auto;
   margin-right: 0
}
.mec-proceedings-section-divider:after {
   border-top: 2px solid #333;
   content: '';
   display: table-cell;
   position: relative;
   top: 0.5em;
   flex: auto;
   margin-left: 0.25em
}
.mec-proceedings #bibbase_header {
   display: none
}
.mec2020-register {
   font-weight: bold;
   border: 1px solid #2440AA
}
.mec2020-register:hover {
   border: none;
   border: 1px solid white
}
.mec2020-page h2,
.mec2020-page h3,
.mec2020-page h4,
.mec2020-page h5 {
   margin: .5em 0 .5em 0
}
.mec2020-page .mec2020-logo {
   height: 6em
}
.mec2020-page .mec2020-program-row-main {
   margin: 30px 0 30px 15px
}
.mec2020-page .mec2020-program-row-main .mec2020-program-title {
   margin: 10px 0 10px 0
}
.mec2020-page .mec2020-program-row-main .mec2020-program-title .mec2020-presentation {
   background-color: #d4d4d4
}
.mec2020-page .mec2020-program-row-main .workshop {
   width: 185pt;
   height: 190pt
}
.mec2020-page .mec2020-program-row-main .workshop-title {
   width: 160pt;
   height: 105pt
}
.mec2020-page .mec2020-program-row-main .poster-session {
   width: 370pt;
   height: 520pt
}
.mec2020-page .mec2020-program-row-main .mec2020-program-speakers {
   font-style: italic;
   font-size: 0.7rem
}
.mec2020-page .mec2020-program-row-main .unconference {
   height: 95pt
}
.mec2020-page .mec2020-program-row-main .small-card {
   width: 250px
}
.mec2020-page .mec2020-program-row-main .card {
   margin: 20px 0 20px 0;
   box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)
}
.mec2020-page .mec2020-program-row-main .card .card-title {
   font-weight: bold
}
.mec2020-page .mec2020-abstract {
   font-size: 20px;
   font-weight: bold
}
.mec2020-page .mec2020-program-row-main {
   margin: 30px 0 30px 0;
   background-color: #f4f4f4;
   padding: 20px 10px 20px 10px
}
.mec2021-page {
   margin-top: 2em
}
.mec2021-page h2,
.mec2021-page h3,
.mec2021-page h4,
.mec2021-page h5 {
   margin: 1em 0 .5em 0
}
.mec2021-page .mec2021-logo {
   height: 6em
}
.mec2021-page .mec2021-program-row-main {
   margin: 30px 0 30px 15px
}
.mec2021-page .mec2021-program-row-main .mec2021-program-title {
   margin: 10px 0 10px 0
}
.mec2021-page .mec2021-program-row-main .mec2021-program-title .mec2021-presentation {
   background-color: #d4d4d4
}
.mec2021-page .mec2021-program-row-main .workshop {
   width: 185pt;
   height: 190pt
}
.mec2021-page .mec2021-program-row-main .workshop-title {
   width: 160pt;
   height: 105pt
}
.mec2021-page .mec2021-program-row-main .poster-session {
   width: 370pt;
   height: 520pt
}
.mec2021-page .mec2021-program-row-main .mec2021-program-speakers {
   font-style: italic;
   font-size: 0.7rem
}
.mec2021-page .mec2021-program-row-main .unconference {
   height: 95pt
}
.mec2021-page .mec2021-program-row-main .small-card {
   width: 250px
}
.mec2021-page .mec2021-program-row-main .card {
   margin: 20px 0 20px 0;
   box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)
}
.mec2021-page .mec2021-program-row-main .card .card-title {
   font-weight: bold
}

#versionWarning {
    background-color: #ffd429;
    position: relative;
    top: -20px;
    padding: 4px 10px;
    z-index: 1;
}

#versionWarning .icon {
    color: #000000;
}
