@charset "UTF-8";
@keyframes radio-ripple {
  0% {
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0); }
  50% {
    box-shadow: 0px 0px 0px 0.25rem rgba(0, 0, 0, 0.1); }
  100% {
    box-shadow: 0px 0px 0px 0.75rem rgba(0, 0, 0, 0); } }

@-webkit-keyframes btn-touch {
  100% {
    width: 600px;
    height: 600px;
    border-radius: 600px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    margin: -300px; } }

@keyframes btn-touch {
  100% {
    width: 600px;
    height: 600px;
    border-radius: 600px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    margin: -300px; } }

/*
  HTML5 Reset :: style.css
  ----------------------------------------------------------
  We have learned much from/been inspired by/taken code where offered from:

  Eric Meyer          :: https://meyerweb.com
  HTML5 Doctor        :: https://html5doctor.com
  and the HTML5 Boilerplate :: https://html5boilerplate.com

-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent; }

article, aside, figure, footer, header, nav, section, details, summary {
  display: block; }

/* Handle box-sizing while better addressing child elements:
   https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box;
  min-height: 100%; }

body {
  min-height: 100vh; }

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

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects
*/
img,
object,
embed {
  max-width: 100%; }

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
   In fact, it *will* cause problems with Google Maps' controls at small size.
  If this is the case for you, try uncommenting the following:

#map img {
    max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll; }

/* we use a lot of ULs that aren't bulleted.
  don't forget to restore the bullets within content. */
ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

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

input, select {
  vertical-align: middle; }

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */ }

input[type="radio"] {
  vertical-align: text-bottom; }

input[type="checkbox"] {
  vertical-align: bottom; }

.ie7 input[type="checkbox"] {
  vertical-align: baseline; }

.ie6 input {
  vertical-align: text-bottom; }

select, input, textarea {
  font-size: 1rem; }

table {
  font-size: inherit;
  font: 100%; }

small {
  font-size: 85%; }

strong {
  font-weight: bold; }

td, td img {
  vertical-align: top; }

/* Make sure sup and sub don't mess with your line-heights https://gist.github.com/413930 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* standardize any monospaced elements */
pre, code, kbd, samp {
  font-family: monospace, sans-serif; }

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer; }

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
  margin: 0; }

/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible; }

/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic; }

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before, .clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden; }

.clearfix:after {
  clear: both; }

.clearfix {
  zoom: 1; }

/* specify padding and margin to override correctly */
nav ul, nav ul ul {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  nav ul a, nav ul ul a {
    text-decoration: none; }

*:focus {
  outline: none; }

select, input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

body {
  background: white;
  font-weight: 400; }

body, p, li, ul, a, td {
  font-family: BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: #000a0a;
  font-size: 1em;
  line-height: 1.2em; }

h1 {
  color: #000a0a;
  font-size: 4rem;
  line-height: 1.2em; }

h2 {
  color: #000a0a;
  font-size: 3rem;
  line-height: 1.2em; }

h3 {
  color: #000a0a;
  font-size: 1.5rem;
  line-height: 1.2em; }

h4 {
  color: #000a0a;
  font-size: 1.1rem;
  line-height: 1.2em; }

h5 {
  color: #000a0a;
  font-size: 1rem;
  line-height: 1.2em; }

h6 {
  color: #000a0a;
  font-size: 1rem;
  line-height: 1.2em; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center; }

.small-text {
  font-size: 0.9rem; }

.large-text {
  font-size: 1.125em; }

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

ul, ol {
  list-style-position: outside;
  padding-left: 1.5em; }

ul {
  list-style-type: disc; }

ol {
  list-style-type: decimal; }

a {
  text-decoration: underline; }
  a.no-decoration {
    text-decoration: none; }

div {
  box-sizing: border-box; }

.ds-hide {
  display: none; }

.row {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  margin: -1rem auto 0 auto; }
  .row.fluid, .row .row {
    width: 100%; }
  .row.limited {
    max-width: 100%; }
  .row.full-height {
    height: 100vh; }
  .row.collapsed {
    margin-top: 0; }
  .row > div {
    padding: 1rem 0.5rem 0 0.5rem;
    background-clip: content-box;
    flex-basis: 100%; }
  .row.centralized {
    display: flex;
    justify-content: center;
    align-items: center; }
  .row .columns {
    padding-right: .625rem;
    padding-left: .625rem; }

.row > .small-0 {
  flex-basis: 0%;
  max-width: 0%; }

.row > .small-offset-0 {
  margin-left: 0%; }

.row > .small-1 {
  flex-basis: 8.33%;
  max-width: 8.33%; }

.row > .small-offset-1 {
  margin-left: 8.33%; }

.row > .small-2 {
  flex-basis: 16.66%;
  max-width: 16.66%; }

.row > .small-offset-2 {
  margin-left: 16.66%; }

.row > .small-3 {
  flex-basis: 25%;
  max-width: 25%; }

.row > .small-offset-3 {
  margin-left: 25%; }

.row > .small-4 {
  flex-basis: 33.33%;
  max-width: 33.33%; }

.row > .small-offset-4 {
  margin-left: 33.33%; }

.row > .small-5 {
  flex-basis: 41.66%;
  max-width: 41.66%; }

.row > .small-offset-5 {
  margin-left: 41.66%; }

.row > .small-6 {
  flex-basis: 50%;
  max-width: 50%; }

.row > .small-offset-6 {
  margin-left: 50%; }

.row > .small-7 {
  flex-basis: 58.33%;
  max-width: 58.33%; }

.row > .small-offset-7 {
  margin-left: 58.33%; }

.row > .small-8 {
  flex-basis: 66.66%;
  max-width: 66.66%; }

.row > .small-offset-8 {
  margin-left: 66.66%; }

.row > .small-9 {
  flex-basis: 75%;
  max-width: 75%; }

.row > .small-offset-9 {
  margin-left: 75%; }

.row > .small-10 {
  flex-basis: 83.33%;
  max-width: 83.33%; }

.row > .small-offset-10 {
  margin-left: 83.33%; }

.row > .small-11 {
  flex-basis: 91.66%;
  max-width: 91.66%; }

.row > .small-offset-11 {
  margin-left: 91.66%; }

.row > .small-12 {
  flex-basis: 100%;
  max-width: 100%; }

.row > .small-offset-12 {
  margin-left: 100%; }

@media (min-device-width: 600px) and (max-device-width: 1023px), (min-device-width: 1024px) {
  .row > .medium-0 {
    flex-basis: 0%;
    max-width: 0%; }
  .row > .medium-offset-0 {
    margin-left: 0%; }
  .row > .medium-1 {
    flex-basis: 8.33%;
    max-width: 8.33%; }
  .row > .medium-offset-1 {
    margin-left: 8.33%; }
  .row > .medium-2 {
    flex-basis: 16.66%;
    max-width: 16.66%; }
  .row > .medium-offset-2 {
    margin-left: 16.66%; }
  .row > .medium-3 {
    flex-basis: 25%;
    max-width: 25%; }
  .row > .medium-offset-3 {
    margin-left: 25%; }
  .row > .medium-4 {
    flex-basis: 33.33%;
    max-width: 33.33%; }
  .row > .medium-offset-4 {
    margin-left: 33.33%; }
  .row > .medium-5 {
    flex-basis: 41.66%;
    max-width: 41.66%; }
  .row > .medium-offset-5 {
    margin-left: 41.66%; }
  .row > .medium-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .row > .medium-offset-6 {
    margin-left: 50%; }
  .row > .medium-7 {
    flex-basis: 58.33%;
    max-width: 58.33%; }
  .row > .medium-offset-7 {
    margin-left: 58.33%; }
  .row > .medium-8 {
    flex-basis: 66.66%;
    max-width: 66.66%; }
  .row > .medium-offset-8 {
    margin-left: 66.66%; }
  .row > .medium-9 {
    flex-basis: 75%;
    max-width: 75%; }
  .row > .medium-offset-9 {
    margin-left: 75%; }
  .row > .medium-10 {
    flex-basis: 83.33%;
    max-width: 83.33%; }
  .row > .medium-offset-10 {
    margin-left: 83.33%; }
  .row > .medium-11 {
    flex-basis: 91.66%;
    max-width: 91.66%; }
  .row > .medium-offset-11 {
    margin-left: 91.66%; }
  .row > .medium-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .row > .medium-offset-12 {
    margin-left: 100%; } }

@media (min-device-width: 1024px) {
  .row > .large-0 {
    flex-basis: 0%;
    max-width: 0%; }
  .row > .large-offset-0 {
    margin-left: 0%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-1 {
    flex-basis: 8.33%;
    max-width: 8.33%; }
  .row > .large-offset-1 {
    margin-left: 8.33%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-2 {
    flex-basis: 16.66%;
    max-width: 16.66%; }
  .row > .large-offset-2 {
    margin-left: 16.66%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-3 {
    flex-basis: 25%;
    max-width: 25%; }
  .row > .large-offset-3 {
    margin-left: 25%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-4 {
    flex-basis: 33.33%;
    max-width: 33.33%; }
  .row > .large-offset-4 {
    margin-left: 33.33%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-5 {
    flex-basis: 41.66%;
    max-width: 41.66%; }
  .row > .large-offset-5 {
    margin-left: 41.66%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-6 {
    flex-basis: 50%;
    max-width: 50%; }
  .row > .large-offset-6 {
    margin-left: 50%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-7 {
    flex-basis: 58.33%;
    max-width: 58.33%; }
  .row > .large-offset-7 {
    margin-left: 58.33%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-8 {
    flex-basis: 66.66%;
    max-width: 66.66%; }
  .row > .large-offset-8 {
    margin-left: 66.66%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-9 {
    flex-basis: 75%;
    max-width: 75%; }
  .row > .large-offset-9 {
    margin-left: 75%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-10 {
    flex-basis: 83.33%;
    max-width: 83.33%; }
  .row > .large-offset-10 {
    margin-left: 83.33%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-11 {
    flex-basis: 91.66%;
    max-width: 91.66%; }
  .row > .large-offset-11 {
    margin-left: 91.66%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; }
  .row > .large-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .row > .large-offset-12 {
    margin-left: 100%; }
  .row .columns {
    padding-right: .9375rem;
    padding-left: .9375rem; } }

.primary-text {
  color: #066; }

.accent-text {
  color: #ff9800; }

.success-text {
  color: #43ac6a; }

.error-text {
  color: #b00020; }

.warning-text {
  color: #CC3300; }

.white-text {
  color: #fff; }

.gray-lighter-text {
  color: #f6faff; }

.gray-light-text {
  color: #dbdfe9; }

.gray-normal-text {
  color: #999da6; }

.gray-dark-text {
  color: #5d6068; }

.gray-darker-text {
  color: #1d2027; }

.primary-background {
  background-color: #066; }

.light-primary-background {
  background-color: #f2f7f7; }

.accent-background {
  background-color: #ff9800; }

.light-accent-background {
  background-color: #fffaf2; }

.gray-lighter-background {
  background-color: #f6faff; }

.gray-light-background {
  background-color: #dbdfe9; }

.gray-normal-background {
  background-color: #999da6; }

.gray-dark-background {
  background-color: #5d6068; }

.gray-darker-background {
  background-color: #1d2027; }

.success-background {
  background-color: #43ac6a; }

.error-background {
  background-color: #b00020; }

.warning-background {
  background-color: #CC3300; }

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

a, a:active {
  color: #0066CC;
  transition: color .3s; }

a:visited {
  color: #6633FF; }

a:hover {
  color: #ff9800; }

@font-face {
  font-family: 'ds_bidu_icons';
  src: url(data:application/font-woff;base64,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) format("woff2"), url(data:application/font-woff;base64, ) format("woff"), url(data:image/svg+xml;base64, ?#ds_bidu_icons) format("svg");
  font-weight: normal;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: 'ds_bidu_icons';
    src: url(data:image/svg+xml;base64, #ds_bidu_icons) format("svg"); } }

[data-icon]:before {
  content: attr(data-icon); }

[data-icon]:before,
[class^="ds-icon-"]:before,
[class*=" ds-icon-"]:before {
  display: inline-block;
  font-family: "ds_bidu_icons";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-rendering: optimizeLegibility;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased; }

.ds-icon-arrow-up:before {
  content: ""; }

.ds-icon-close:before {
  content: ""; }

.ds-icon-arrow-down:before {
  content: ""; }

.ds-icon-mobile-menu:before {
  content: ""; }

.ds-icon-search:before {
  content: ""; }

.ds-icon-youtube:before {
  content: ""; }

.ds-icon-twitter:before {
  content: ""; }

.ds-icon-linkedin:before {
  content: ""; }

.ds-icon-github:before {
  content: ""; }

.ds-icon-facebook:before {
  content: ""; }

.margin-x-small {
  margin: 0.25em; }

.padding-x-small {
  padding: 0.25em; }

.margin-top-x-small {
  margin-top: 0.25em; }

.padding-top-x-small {
  padding-top: 0.25em; }

.margin-left-x-small {
  margin-left: 0.25em; }

.padding-left-x-small {
  padding-left: 0.25em; }

.margin-right-x-small {
  margin-right: 0.25em; }

.padding-right-x-small {
  padding-right: 0.25em; }

.margin-bottom-x-small {
  margin-bottom: 0.25em; }

.padding-bottom-x-small {
  padding-bottom: 0.25em; }

.margin-small {
  margin: 0.5em; }

.padding-small {
  padding: 0.5em; }

.margin-top-small {
  margin-top: 0.5em; }

.padding-top-small {
  padding-top: 0.5em; }

.margin-left-small {
  margin-left: 0.5em; }

.padding-left-small {
  padding-left: 0.5em; }

.margin-right-small {
  margin-right: 0.5em; }

.padding-right-small {
  padding-right: 0.5em; }

.margin-bottom-small {
  margin-bottom: 0.5em; }

.padding-bottom-small {
  padding-bottom: 0.5em; }

.margin-normal {
  margin: 0.75em; }

.padding-normal {
  padding: 0.75em; }

.margin-top-normal {
  margin-top: 0.75em; }

.padding-top-normal {
  padding-top: 0.75em; }

.margin-left-normal {
  margin-left: 0.75em; }

.padding-left-normal {
  padding-left: 0.75em; }

.margin-right-normal {
  margin-right: 0.75em; }

.padding-right-normal {
  padding-right: 0.75em; }

.margin-bottom-normal {
  margin-bottom: 0.75em; }

.padding-bottom-normal {
  padding-bottom: 0.75em; }

.margin-large {
  margin: 1em; }

.padding-large {
  padding: 1em; }

.margin-top-large {
  margin-top: 1em; }

.padding-top-large {
  padding-top: 1em; }

.margin-left-large {
  margin-left: 1em; }

.padding-left-large {
  padding-left: 1em; }

.margin-right-large {
  margin-right: 1em; }

.padding-right-large {
  padding-right: 1em; }

.margin-bottom-large {
  margin-bottom: 1em; }

.padding-bottom-large {
  padding-bottom: 1em; }

.margin-x-large {
  margin: 2.25em; }

.padding-x-large {
  padding: 2.25em; }

.margin-top-x-large {
  margin-top: 2.25em; }

.padding-top-x-large {
  padding-top: 2.25em; }

.margin-left-x-large {
  margin-left: 2.25em; }

.padding-left-x-large {
  padding-left: 2.25em; }

.margin-right-x-large {
  margin-right: 2.25em; }

.padding-right-x-large {
  padding-right: 2.25em; }

.margin-bottom-x-large {
  margin-bottom: 2.25em; }

.padding-bottom-x-large {
  padding-bottom: 2.25em; }

ul.horizontal {
  display: flex; }
  ul.horizontal li {
    flex: 1; }

ul.list {
  list-style-type: none;
  display: block;
  padding: 0; }
  ul.list li {
    flex-direction: column;
    flex-wrap: nowrap;
    overflow: hidden;
    display: block;
    padding-left: 40px;
    position: relative;
    display: flex; }
    ul.list li span {
      display: block; }
      ul.list li span.title {
        font-size: 1.25em; }
      ul.list li span.subtitle {
        font-size: 0.85em;
        color: #999da6;
        margin-top: 0.25em; }
    ul.list li.item-with-icon {
      flex-direction: row;
      padding-left: 5px; }
      ul.list li.item-with-icon span.list-icon {
        width: 35px; }
        ul.list li.item-with-icon span.list-icon i, ul.list li.item-with-icon span.list-icon span {
          max-width: 35px; }
      ul.list li.item-with-icon span.list-icon {
        display: flex;
        justify-content: center;
        align-items: center; }
      ul.list li.item-with-icon span.list-body {
        flex-direction: column; }

@media (min-device-width: 0px) and (max-device-width: 599px) {
  .hide-for-small-only {
    display: none; }
  .small-centered {
    margin-right: auto;
    margin-left: auto;
    float: none;
    clear: both; }
  .show-for-large {
    display: none; } }

@media (min-device-width: 600px) and (max-device-width: 1023px), (min-device-width: 1024px) {
  .show-for-small-only {
    display: none; }
  .show-for-large {
    display: none; } }

@media (min-device-width: 1024px) {
  .hide-for-large-only {
    display: none; }
  .show-for-large {
    display: block; } }

div[class^="form-row"] {
  margin-bottom: 1em; }

input.simple-input,
textarea.simple-input {
  border-radius: 4px;
  border: 1px solid #5d6068;
  width: 100%;
  line-height: 2.5rem;
  padding: 0 0.5em 0 0.5em;
  height: 2.5rem; }
  input.simple-input:focus,
  textarea.simple-input:focus {
    border: 2px solid #066; }

.search-submit {
  color: #5d6068; }

.form-row-text {
  position: relative; }
  .form-row-text input,
  .form-row-text textarea {
    border-radius: 4px;
    border: 1px solid #5d6068;
    width: 100%;
    line-height: 2.5rem;
    padding: 0 0.5em 0 0.5em;
    height: 2.5rem;
    transition: all 0.1s ease-in-out;
    caret-color: #066; }
  .form-row-text input {
    height: 2.5rem; }
  .form-row-text textarea {
    height: auto;
    padding-top: 0.5em; }
  .form-row-text label {
    position: absolute;
    cursor: text;
    line-height: 4rem;
    top: -13px;
    transition: color, line-height 0.2s ease-in-out;
    width: 100%;
    display: flex; }
    .form-row-text label:after, .form-row-text label:before {
      border: 1px solid transparent;
      border-top: 1px solid #5d6068;
      content: "";
      display: block;
      box-sizing: border-box;
      flex-grow: 1;
      transition: box-shadow 0.1s ease-in-out; }
    .form-row-text label:after {
      margin: 13px 0 0 4px;
      border-radius: 0 4px; }
    .form-row-text label:before {
      max-width: 8px;
      margin: 13px 4px 0 0;
      border-radius: 4px 0; }
  .form-row-text input::-webkit-datetime-edit,
  .form-row-text input::-webkit-calendar-picker-indicator,
  .form-row-text input::-webkit-clear-button,
  .form-row-text input::-webkit-inner-spin-button {
    visibility: hidden; }
  .form-row-text.active input,
  .form-row-text.active textarea, .form-row-text.filled input,
  .form-row-text.filled textarea {
    border-top-color: transparent; }
  .form-row-text.active label, .form-row-text.filled label {
    line-height: 1.5em; }
    .form-row-text.active label:after, .form-row-text.active label:before, .form-row-text.filled label:after, .form-row-text.filled label:before {
      border-top: 1px solid #5d6068; }
  .form-row-text.active input::-webkit-datetime-edit,
  .form-row-text.active input::-webkit-calendar-picker-indicator,
  .form-row-text.active input::-webkit-clear-button,
  .form-row-text.active input::-webkit-inner-spin-button, .form-row-text.filled input::-webkit-datetime-edit,
  .form-row-text.filled input::-webkit-calendar-picker-indicator,
  .form-row-text.filled input::-webkit-clear-button,
  .form-row-text.filled input::-webkit-inner-spin-button {
    visibility: visible; }
  .form-row-text.active input,
  .form-row-text.active textarea {
    border-color: #066;
    border-top-color: transparent;
    box-shadow: inset 1px -1px 0 0 #066, inset -1px 0 0 0 #066; }
  .form-row-text.active label {
    color: #066; }
    .form-row-text.active label:after, .form-row-text.active label:before {
      border-top: 1px solid #066;
      box-shadow: inset 0 1px 0 0 #066; }
  .form-row-text label abbr {
    border: none;
    text-decoration: none;
    padding-right: 0.2em;
    cursor: inherit; }

.form-row select {
  border-radius: 4px;
  border: 1px solid #5d6068;
  height: 2.5rem;
  padding: 0 20px 0 0.5em;
  background-color: inherit;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28102, 102, 102%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -15px center;
  background-repeat: no-repeat;
  background-origin: content-box;
  width: 100%; }

.form-row label {
  cursor: default; }
  .form-row label + select {
    display: block;
    margin-top: 0.5em; }
  .form-row label abbr {
    border: none;
    text-decoration: none;
    padding-right: 0.2em;
    cursor: inherit; }

.form-row .radio-button.inline {
  display: inline-block; }

.form-row .radio-button input[type="radio"] {
  display: none; }
  .form-row .radio-button input[type="radio"]:checked + label:before {
    border-color: #5d6068;
    animation: radio-ripple 0.2s linear forwards; }
  .form-row .radio-button input[type="radio"]:checked + label:after {
    transform: scale(1); }

.form-row .radio-button label {
  display: inline-block;
  height: 1rem;
  position: relative;
  padding: 0 1.5rem;
  margin-bottom: 0;
  cursor: pointer;
  vertical-align: bottom; }
  .form-row .radio-button label:before, .form-row .radio-button label:after {
    position: absolute;
    content: "";
    border-radius: 50%;
    transition: all 0.3s ease;
    transition-property: transform, border-color; }
  .form-row .radio-button label:before {
    left: 0;
    top: 0;
    width: 1rem;
    height: 1rem;
    border: 2px solid #5d6068; }
  .form-row .radio-button label:after {
    top: 0.25rem;
    left: 0.25rem;
    width: 0.5rem;
    height: 0.5rem;
    transform: scale(0);
    background: #066; }

.form-row.field-with-errors label:after, .form-row.field-with-errors label:before, .form-row-text.field-with-errors label:after, .form-row-text.field-with-errors label:before {
  border-top: 1px solid #b00020; }

.form-row.field-with-errors input, .form-row-text.field-with-errors input {
  border-color: #b00020;
  border-top-color: transparent; }

.form-row.field-with-errors label, .form-row.field-with-errors span, .form-row-text.field-with-errors label, .form-row-text.field-with-errors span {
  color: #b00020; }

form button,
form input[type="submit"],
button.button,
input.button,
a.button {
  border-radius: 4px;
  border: 1px solid #5d6068;
  padding: 0 0.5em 0 0.5em;
  transition: all 0.1s ease-in-out;
  caret-color: #066;
  min-height: 2.5rem;
  font-size: 1rem; }
  form button.full-width,
  form input[type="submit"].full-width,
  button.button.full-width,
  input.button.full-width,
  a.button.full-width {
    width: 100%; }
  form button.primary-background,
  form input[type="submit"].primary-background,
  button.button.primary-background,
  input.button.primary-background,
  a.button.primary-background {
    background-color: #066;
    border-color: #003333; }
  form button.accent-background,
  form input[type="submit"].accent-background,
  button.button.accent-background,
  input.button.accent-background,
  a.button.accent-background {
    background-color: #ff9800;
    border-color: #cc7a00; }
  form button.rounded,
  form input[type="submit"].rounded,
  button.button.rounded,
  input.button.rounded,
  a.button.rounded {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 2px 2px 3px #999;
    border: none; }
  form button:hover,
  form input[type="submit"]:hover,
  button.button:hover,
  input.button:hover,
  a.button:hover {
    text-decoration: none; }

a.button {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center; }
  a.button:hover, a.button:active, a.button:visited {
    color: inherit; }

table.table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table.table thead {
    background: #dbdfe9;
    color: #0a0a0a; }
    table.table thead tr th, table.table thead tr td {
      padding: 0.5rem 0.625rem 0.625rem; }
  table.table tbody {
    border: 1px solid #f6faff;
    background-color: #fefefe; }
    table.table tbody tr th, table.table tbody tr td {
      padding: 0.5rem 0.625rem 0.625rem; }
  table.table:not(.striped) tr:not(:last-child) {
    border: 1px solid #f1f1f1; }
  table.table.striped tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f3f4f8; }
  table.table.center tr th, table.table.center tr td {
    text-align: center; }
  table.table.hover tbody tr:hover {
    background: #f7f8fa; }
  table.table.hover.striped tbody tr:nth-child(even):hover {
    background: #f7f8fa; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 0.9rem;
  font-weight: 400;
  min-height: 200px;
  overflow: hidden;
  width: 100%;
  z-index: 1;
  position: relative;
  border-radius: 2px;
  box-sizing: border-box; }
  .card.full-height {
    height: 100%; }
  .card .card-title {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    display: block;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: stretch;
    -ms-flex-pack: stretch;
    justify-content: stretch;
    line-height: normal;
    -webkit-perspective-origin: 165px 56px;
    perspective-origin: 165px 56px;
    -webkit-transform-origin: 165px 56px;
    transform-origin: 165px 56px;
    box-sizing: border-box; }

ul.tab-navigator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  -webkit-padding-start: 0;
  position: relative;
  overflow-x: hidden; }
  ul.tab-navigator > li {
    padding: 20px 0;
    overflow: hidden;
    text-align: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex: 1;
    cursor: pointer;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none; }
  ul.tab-navigator > .indicator {
    height: 3px;
    position: absolute;
    margin-left: 0;
    bottom: 0;
    -webkit-transition: margin 0.5s ease;
    transition: margin 0.5s ease; }

.navigator-drawer > [data-tab] {
  display: none; }
  .navigator-drawer > [data-tab].active {
    display: block; }

.wave-effect {
  position: relative;
  overflow: hidden; }
  .wave-effect .material-circle {
    width: 0px;
    height: 0px;
    position: absolute;
    background: black; }
    .wave-effect .material-circle.animated {
      opacity: 0.2;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      -webkit-animation: btn-touch 0.75s ease-out;
      animation: btn-touch 0.75s ease-out; }

.sidebar {
  border-right: 1px solid #dbdfe9; }
  .sidebar h4 {
    color: #999da6;
    text-transform: uppercase;
    font-size: 0.9rem; }
  .sidebar > * {
    margin-bottom: 0.75em; }
  .sidebar li {
    margin-bottom: 0.5em; }
  .sidebar a, .sidebar a:visited {
    color: #5d6068;
    font-size: 0.9rem; }
    .sidebar a:hover, .sidebar a:visited:hover {
      color: #000a0a;
      text-decoration: underline; }

.topbar {
  width: 100%;
  position: fixed;
  padding: 0.5em;
  top: 0;
  transition: top 0.3s;
  z-index: 9; }
  .topbar i, .topbar .ds-icon-search, .topbar .ds-icon-close, .topbar .ds-icon-mobile-menu {
    font-size: 1.5rem; }
  .topbar a, .topbar a:active, .topbar a:visited {
    color: #5d6068; }
  .topbar .ds-icon-mobile-menu {
    float: right; }
    .topbar .ds-icon-mobile-menu span {
      float: left;
      margin-top: 0.3rem;
      font-size: 1rem; }
  .topbar .close-menu {
    margin-top: 5px; }
  .topbar .menu-list {
    height: 100%;
    width: 80%;
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
    position: fixed;
    z-index: 10;
    top: 0;
    right: 0;
    background-color: white;
    overflow-x: hidden;
    transition: 0.5s; }
    .topbar .menu-list .menu-title {
      padding-top: 1rem;
      padding-right: 0;
      border-bottom: 1px solid #dbdfe9; }
      .topbar .menu-list .menu-title label {
        margin-right: 0; }
    .topbar .menu-list li {
      transition: 0.3s; }
      .topbar .menu-list li a {
        display: block; }
        .topbar .menu-list li a i {
          float: right; }
      .topbar .menu-list li .parent-links {
        font-weight: 600; }
      .topbar .menu-list li .parent-dashed {
        border-bottom: 3px solid; }
  .topbar .children-menu li {
    padding: 0.75em; }
  .topbar .parent-links:focus, .topbar .children-menu li:focus {
    outline: #066 auto 5px; }
  .topbar #mobile-menu:checked + .menu-list {
    display: block; }
  .topbar #mobile-menu + .menu-list {
    display: none; }
  .topbar #search-menu:checked + #search-text,
  .topbar #search-menu:checked + #search-text + .search-submit {
    display: block; }
  .topbar #search-menu + #search-text,
  .topbar #search-menu + #search-text + .search-submit {
    display: none; }
  .topbar .logo-container {
    padding-top: 0; }
    .topbar .logo-container .logo {
      height: 3rem; }
  .topbar .search-container {
    padding-top: 0;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    display: flex;
    flex-wrap: wrap; }
    .topbar .search-container .search-field {
      position: relative;
      margin-top: 1em; }
    .topbar .search-container .search-submit {
      background-color: transparent;
      border: none;
      position: absolute;
      right: 1.5rem;
      top: 5.2rem; }
    .topbar .search-container .search-submit:focus {
      outline: none; }
  .topbar #search-text {
    display: none;
    width: 100%;
    height: 2.5rem; }
  .topbar a:hover {
    opacity: .9;
    color: #066; }

.below-header {
  margin-top: 5.4rem; }

.back-menu {
  bottom: 0;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateZ(0);
  transition: opacity .2s linear;
  visibility: hidden;
  z-index: 0; }

.active-back-menu {
  z-index: 9;
  opacity: .7;
  visibility: visible; }

@media (min-device-width: 1024px) {
  .topbar {
    z-index: 10;
    padding: 0.75em; }
    .topbar #mobile-menu + .menu-list {
      display: block; }
    .topbar .menu-list {
      position: static;
      box-shadow: none;
      padding-left: 0.5rem; }
      .topbar .menu-list li.field-parent:hover i:before, .topbar .menu-list li.field-parent i:before {
        content: "";
        font-size: 1.2rem; }
      .topbar .menu-list li.field-parent {
        padding-right: 0; }
      .topbar .menu-list li .parent-dashed {
        border-bottom: 0; }
      .topbar .menu-list li a i {
        float: none;
        vertical-align: sub; }
      .topbar .menu-list li.field-parent:hover > ul {
        display: block; }
      .topbar .menu-list ul.children-menu {
        position: absolute;
        display: none;
        background: white;
        padding-top: 0.75em;
        border-radius: 6px; }
        .topbar .menu-list ul.children-menu li {
          padding: 1em; }
        .topbar .menu-list ul.children-menu li a:hover {
          text-decoration: underline;
          font-weight: 600; }
    .topbar .menu ul {
      display: -webkit-flex;
      -webkit-flex-wrap: wrap;
      display: flex;
      flex-wrap: wrap; }
      .topbar .menu ul li {
        flex: auto;
        -webkit-flex: auto;
        -ms-flex: auto; }
    .topbar .search-container {
      padding-top: 0.5em;
      position: relative; }
      .topbar .search-container .search-field {
        margin-top: 0; }
      .topbar .search-container #search-menu + #search-text {
        display: block; }
      .topbar .search-container #search-menu + #search-text + .search-submit {
        display: block;
        top: .9rem;
        right: 1rem;
        position: absolute; }
  .below-header {
    margin-top: 4.4rem; } }

.elevation-2 {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2); }

.elevation-3 {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); }

.footer-container {
  background: #f5f5f5; }
  .footer-container .footer-title {
    font-size: 1.125em;
    font-weight: 600; }
  .footer-container ul {
    list-style-type: none;
    padding-left: 0; }
    .footer-container ul li a {
      text-decoration: none;
      color: #5d6068; }
    .footer-container ul li a:hover {
      text-decoration: underline;
      color: #066;
      font-weight: 600; }
  .footer-container .icons-section a {
    text-decoration: none; }
    .footer-container .icons-section a i {
      font-size: 2rem;
      margin-right: 0.5em; }
  .footer-container .icons-section a:hover {
    color: #066; }
  .footer-container .icons-section a:visited {
    color: #5d6068; }
  .footer-container .copyright-text {
    margin-top: 0.75em;
    font-size: 0.9rem; }
  @media (min-device-width: 1024px) {
    .footer-container .row > div {
      text-align: left; }
    .footer-container .copyright-text {
      margin-top: 3rem; }
      .footer-container .copyright-text p {
        padding: 2rem; } }

.collapsible-container .collapsible-title i {
  float: right; }

