 {
  /**
 * Global Reset of all HTML Elements
 *
 * Resetting all of our HTML Elements ensures a smoother
 * visual transition between browsers. If you don't believe me,
 * try temporarily commenting out this block of code, then go
 * and look at Mozilla versus Safari, both good browsers with
 * a good implementation of CSS. The thing is, all browser CSS
 * defaults are different and at the end of the day if visual
 * consistency is what we're shooting for, then we need to
 * make sure we're resetting all spacing elements.
 *
 */
  /* lato-regular - latin-ext_latin */
  /* lato-italic - latin-ext_latin */
  /* lato-700 - latin-ext_latin */
  /* lato-700italic - latin-ext_latin */
  /* lato-900 - latin-ext_latin */
  /* lato-900italic - latin-ext_latin */
}
html, body {
  border: 0;
  font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
div, span, object, iframe, img, table, caption, thead, tbody, tfoot, tr, tr, td, article, aside, canvas, details, figure, hgroup, menu, nav, footer, header, section, summary, mark, audio, video {
  border: 0;
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, cit, code, del, dfn, em, ins, q, samp, small, strong, sub, sup, b, i, hr, dl, dt, dd, fieldset, legend, label {
  border: 0;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}
article, aside, canvas, figure, figure img, figcaption, hgroup, footer, header, nav, section, audio, video {
  display: block;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
table caption, table th, table td {
  text-align: left;
  vertical-align: middle;
}
a img {
  border: 0;
}
:focus {
  outline: 0;
}
input {
  -webkit-appearance: none;
}
.vertical-middle {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: local(''), url(https://d28eig0q47vbfl.cloudfront.net/0c12b29a6cdcc054a50d.woff2) format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url(https://d28eig0q47vbfl.cloudfront.net/8abd6f45180d32e8f904.woff) format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  font-display: fallback;
  src: local(''), url(https://d28eig0q47vbfl.cloudfront.net/50ce55811b09c95427e7.woff2) format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url(https://d28eig0q47vbfl.cloudfront.net/afebcf22513e7016a169.woff) format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: fallback;
  src: local(''), url(https://d28eig0q47vbfl.cloudfront.net/8484c9f08bdee36a8277.woff2) format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url(https://d28eig0q47vbfl.cloudfront.net/2db720700fc418af10ad.woff) format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  font-display: fallback;
  src: local(''), url(https://d28eig0q47vbfl.cloudfront.net/8fe4804dae6863e84074.woff2) format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url(https://d28eig0q47vbfl.cloudfront.net/63d239663b19dbd0966d.woff) format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  font-display: fallback;
  src: local(''), url(https://d28eig0q47vbfl.cloudfront.net/f311d23e2f1c6b461d7d.woff2) format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url(https://d28eig0q47vbfl.cloudfront.net/e337cb46dc66c143e463.woff) format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 900;
  font-display: fallback;
  src: local(''), url(https://d28eig0q47vbfl.cloudfront.net/2e789c740a475421f4ed.woff2) format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url(https://d28eig0q47vbfl.cloudfront.net/8c438d08befcd50ef371.woff) format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
html {
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
* {
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  box-sizing: border-box;
}
body {
  overscroll-behavior: none;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  position: relative;
  min-height: 100%;
  background-color: #F8F8FC;
  color: #2C282C;
  font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
body.DARK {
  background-color: #2B2B2B;
  color: #dddddd;
}
body.table {
  display: table;
  width: 100%;
}
body.table #app {
  display: table-cell;
  vertical-align: middle;
}
body.scrollable {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
}
body.loaded .body-loading {
  display: none;
}
.body-loading {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.loading-text {
  text-align: center;
  color: #494953;
  font-size: 12px;
  font-weight: 300;
  margin-top: 32px;
}
.loading-text.DARK {
  color: rgba(187, 187, 187, 0.85);
}
.loader-wrap {
  margin: 100px auto 0;
  text-align: center;
}
.loader {
  width: 64px;
  height: 64px;
  border: 4px solid #EBE9ED;
  /* Light grey */
  border-top: 4px solid #00C4DB;
  /* Blue */
  border-radius: 50%;
  animation: spin 1.5s linear infinite;
  display: inline-block;
  vertical-align: middle;
}
.loader.DARK {
  border-color: #45494A;
  border-top-color: #00C4DB;
}

