@import url("https://fonts.googleapis.com/css?family=Lato:400,400i,900,900i|Teko:700");
/*! normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
}

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

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

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

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

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

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

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

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

/*
BASELINE Vars
These are the variables that set values in baseline.scss
--
** Typography Variables
*/
/*
** Selection Variables(user selecting content on the website)
*/
/*
BREAKPOINT Vars
These are the variables that set values in baseline.scss
*/
/*
GRID GUTTER def
*/
/*
** fonts used
Lato: 
- weights: regular, black(900)
- styles: normal, italic

Teko:
- weight: 700
- transform: uppercase
*/
.dl-container {
  margin: 0 auto;
  padding: 0 1.5rem;
  width: 100%;
  display: block;
}

@media (min-width: 768px) {
  .dl-container:not(.fluid) {
    width: 768px;
  }
}

@media (min-width: 992px) {
  .dl-container:not(.fluid) {
    width: 992px;
  }
}

@media (min-width: 1200px) {
  .dl-container:not(.fluid) {
    width: 1200px;
  }
}

.dl-row {
  display: block;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

.dl-row:after {
  display: block;
  content: "";
  clear: both;
  width: 100%;
}

.dl-table {
  width: 100%;
  display: block;
}

@media (min-width: 768px) {
  .dl-table {
    display: table;
  }
}

.table-row,
.table-head {
  display: table-row;
}

.table-col {
  display: block;
  vertical-align: middle;
  padding: 0 15px;
  width: 100%;
}

@media (min-width: 0) {
  [class*=table-col-xs] {
    display: table-cell;
  }
}

@media (min-width: 768px) {
  [class*=table-col-sm] {
    display: table-cell;
  }
}

@media (min-width: 992px) {
  [class*=table-col-md] {
    display: table-cell;
  }
}

@media (min-width: 1200px) {
  [class*=table-col-lg] {
    display: table-cell;
  }
}

[class*=dlc-] {
  padding: 0 1.5rem;
  position: relative;
  min-height: 1px;
  max-width: 100%;
  float: left;
  width: 100%;
  display: block;
}

.dlc-xs-11, .table-col.table-col-xs-11 {
  width: 91.66666667%;
}

.dlc-xs-10, .table-col.table-col-xs-10 {
  width: 83.33333333%;
}

.dlc-xs-9, .table-col.table-col-xs-9 {
  width: 75%;
}

.dlc-xs-8, .table-col.table-col-xs-8 {
  width: 66.66666667%;
}

.dlc-xs-7, .table-col.table-col-xs-7 {
  width: 58.33333333%;
}

.dlc-xs-6, .table-col.table-col-xs-6 {
  width: 50%;
}

.dlc-xs-5, .table-col.table-col-xs-5 {
  width: 41.66666667%;
}

.dlc-xs-4, .table-col.table-col-xs-4 {
  width: 33.33333333%;
}

.dlc-xs-3, .table-col.table-col-xs-3 {
  width: 25%;
}

.dlc-xs-2, .table-col.table-col-xs-2 {
  width: 16.66666667%;
}

.dlc-xs-1, .table-col.table-col-xs-1 {
  width: 8.33333333%;
}

.dlc-offset-xs-11 {
  margin-left: 91.66666667%;
}

.dlc-offset-xs-10 {
  margin-left: 83.33333333%;
}

.dlc-offset-xs-9 {
  margin-left: 75%;
}

.dlc-offset-xs-8 {
  margin-left: 66.66666667%;
}

.dlc-offset-xs-7 {
  margin-left: 58.33333333%;
}

.dlc-offset-xs-6 {
  margin-left: 50%;
}

.dlc-offset-xs-5 {
  margin-left: 41.66666667%;
}

.dlc-offset-xs-4 {
  margin-left: 33.33333333%;
}

.dlc-offset-xs-3 {
  margin-left: 25%;
}

.dlc-offset-xs-2 {
  margin-left: 16.66666667%;
}

.dlc-offset-xs-1 {
  margin-left: 8.33333333%;
}

@media (min-width: 768px) {
  .dlc-sm-11, .table-col.table-col-sm-11 {
    width: 91.66666667%;
  }
  .dlc-sm-10, .table-col.table-col-sm-10 {
    width: 83.33333333%;
  }
  .dlc-sm-9, .table-col.table-col-sm-9 {
    width: 75%;
  }
  .dlc-sm-8, .table-col.table-col-sm-8 {
    width: 66.66666667%;
  }
  .dlc-sm-7, .table-col.table-col-sm-7 {
    width: 58.33333333%;
  }
  .dlc-sm-6, .table-col.table-col-sm-6 {
    width: 50%;
  }
  .dlc-sm-5, .table-col.table-col-sm-5 {
    width: 41.66666667%;
  }
  .dlc-sm-4, .table-col.table-col-sm-4 {
    width: 33.33333333%;
  }
  .dlc-sm-3, .table-col.table-col-sm-3 {
    width: 25%;
  }
  .dlc-sm-2, .table-col.table-col-sm-2 {
    width: 16.66666667%;
  }
  .dlc-sm-1, .table-col.table-col-sm-1 {
    width: 8.33333333%;
  }
  .dlc-offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .dlc-offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .dlc-offset-sm-9 {
    margin-left: 75%;
  }
  .dlc-offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .dlc-offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .dlc-offset-sm-6 {
    margin-left: 50%;
  }
  .dlc-offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .dlc-offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .dlc-offset-sm-3 {
    margin-left: 25%;
  }
  .dlc-offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .dlc-offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .dlc-offset-sm-0 {
    margin-left: 0%;
  }
}

@media (min-width: 992px) {
  .dlc-md-11, .table-col.table-col-md-11 {
    width: 91.66666667%;
  }
  .dlc-md-10, .table-col.table-col-md-10 {
    width: 83.33333333%;
  }
  .dlc-md-9, .table-col.table-col-md-9 {
    width: 75%;
  }
  .dlc-md-8, .table-col.table-col-md-8 {
    width: 66.66666667%;
  }
  .dlc-md-7, .table-col.table-col-md-7 {
    width: 58.33333333%;
  }
  .dlc-md-6, .table-col.table-col-md-6 {
    width: 50%;
  }
  .dlc-md-5, .table-col.table-col-md-5 {
    width: 41.66666667%;
  }
  .dlc-md-4, .table-col.table-col-md-4 {
    width: 33.33333333%;
  }
  .dlc-md-3, .table-col.table-col-md-3 {
    width: 25%;
  }
  .dlc-md-2, .table-col.table-col-md-2 {
    width: 16.66666667%;
  }
  .dlc-md-1, .table-col.table-col-md-1 {
    width: 8.33333333%;
  }
  .dlc-offset-md-11 {
    margin-left: 91.66666667%;
  }
  .dlc-offset-md-10 {
    margin-left: 83.33333333%;
  }
  .dlc-offset-md-9 {
    margin-left: 75%;
  }
  .dlc-offset-md-8 {
    margin-left: 66.66666667%;
  }
  .dlc-offset-md-7 {
    margin-left: 58.33333333%;
  }
  .dlc-offset-md-6 {
    margin-left: 50%;
  }
  .dlc-offset-md-5 {
    margin-left: 41.66666667%;
  }
  .dlc-offset-md-4 {
    margin-left: 33.33333333%;
  }
  .dlc-offset-md-3 {
    margin-left: 25%;
  }
  .dlc-offset-md-2 {
    margin-left: 16.66666667%;
  }
  .dlc-offset-md-1 {
    margin-left: 8.33333333%;
  }
  .dlc-offset-md-0 {
    margin-left: 0%;
  }
}

@media (min-width: 1200px) {
  .dlc-lg-11, .table-col.table-col-lg-11 {
    width: 91.66666667%;
  }
  .dlc-lg-10, .table-col.table-col-lg-10 {
    width: 83.33333333%;
  }
  .dlc-lg-9, .table-col.table-col-lg-9 {
    width: 75%;
  }
  .dlc-lg-8, .table-col.table-col-lg-8 {
    width: 66.66666667%;
  }
  .dlc-lg-7, .table-col.table-col-lg-7 {
    width: 58.33333333%;
  }
  .dlc-lg-6, .table-col.table-col-lg-6 {
    width: 50%;
  }
  .dlc-lg-5, .table-col.table-col-lg-5 {
    width: 41.66666667%;
  }
  .dlc-lg-4, .table-col.table-col-lg-4 {
    width: 33.33333333%;
  }
  .dlc-lg-3, .table-col.table-col-lg-3 {
    width: 25%;
  }
  .dlc-lg-2, .table-col.table-col-lg-2 {
    width: 16.66666667%;
  }
  .dlc-lg-1, .table-col.table-col-lg-1 {
    width: 8.33333333%;
  }
  .dlc-offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .dlc-offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .dlc-offset-lg-9 {
    margin-left: 75%;
  }
  .dlc-offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .dlc-offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .dlc-offset-lg-6 {
    margin-left: 50%;
  }
  .dlc-offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .dlc-offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .dlc-offset-lg-3 {
    margin-left: 25%;
  }
  .dlc-offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .dlc-offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .dlc-offset-lg-0 {
    margin-left: 0%;
  }
}

/*
BASELINE.scss
This should hold your baseline styles.
If you're targeting elements across the entire site, this is a good place to do it
*/
html {
  font-size: 62.5%;
}

@media (min-width: 768px) {
  html {
    font-size: 62.5%;
  }
}

@media (min-width: 992px) {
  html {
    font-size: 62.5%;
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  color: #2A2A3D;
  position: relative;
  margin: 0;
  padding: 0;
}

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

*:focus {
  outline: none;
}

a, .btn, .server-message-card .btn-dismiss-message, .checkin-step-controls .step-control, button {
  -webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 900;
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
}

a {
  text-decoration: none;
}

a:hover, a:active, a:focus {
  text-decoration: none;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #FFF inset;
  -webkit-text-fill-color: #2A2A3D;
}

::-moz-selection {
  background: #000;
  color: #fff;
  text-shadow: none;
}

::selection {
  background: #000;
  color: #fff;
  text-shadow: none;
}

::-moz-selection {
  background: #000;
  color: #fff;
  text-shadow: none;
}

img::-moz-selection {
  background: transparent;
}

img::selection {
  background: transparent;
}

img::-moz-selection {
  background: transparent;
}

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

iframe {
  border: 0;
  outline: none;
}

.italic {
  font-style: italic;
}

.dl-row.gutter-half {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.dl-row.gutter-half [class*=dlc-] {
  padding: 0 0.75rem;
}

.hidden {
  display: none;
}

.cookie_notice,
.no-script-notice {
  background: #ff9c93;
  color: #260000;
  border: solid 1px #230000;
  padding: 1.5rem;
  font-size: 1.2rem;
}

#app .no-script-notice {
  position: fixed;
  padding: 1.5rem;
  width: 30rem;
  height: 30rem;
  font-size: .75em;
  background: #2A2A3D;
  color: #EAEAEC;
  top: calc(50% - 15rem);
  left: calc(50% - 15rem);
}

#app .no-script-notice .btn:not(:last-child), #app .no-script-notice .server-message-card .btn-dismiss-message:not(:last-child), .server-message-card #app .no-script-notice .btn-dismiss-message:not(:last-child), #app .no-script-notice .checkin-step-controls .step-control:not(:last-child), .checkin-step-controls #app .no-script-notice .step-control:not(:last-child) {
  margin-bottom: 1.5rem;
}

#app .no-script-notice .notice--content {
  padding: 1.5rem 0;
  text-align: center;
}

#unsupported-browser-notice {
  color: #fff;
  line-height: 1.5;
  border-radius: 0;
  border-top-right-radius: .3rem;
  padding: .75rem;
  padding-left: 4.5rem;
  font-size: .9rem;
  display: none;
  border: 0.1rem solid #8DD625;
  border-left: 0;
  border-bottom: 0;
  z-index: 13;
  position: fixed;
  bottom: 0;
  left: 20rem;
  color: #fff;
}

@media (min-width: 992px) {
  #unsupported-browser-notice {
    width: 28rem;
    display: block;
  }
}

@media (min-width: 1200px) {
  #unsupported-browser-notice {
    width: 32rem;
  }
}

#unsupported-browser-notice a {
  color: #2A2A3D;
  cursor: pointer;
  font-weight: bold;
  padding: .1rem .25rem;
  margin: 0 .25rem;
  background: #8DD625;
  text-transform: uppercase;
  display: inline-block;
  transition: background-color 0.3s ease-out;
}

#unsupported-browser-notice a:focus, #unsupported-browser-notice a:hover {
  background-color: #8DDB12;
}

.unsupported-notice {
  position: relative;
  text-align: center;
  padding: 1.5rem 0;
  min-height: 100vh;
}

.unsupported-notice-content {
  color: #EAEAEC;
  background: #36364E;
  font-size: .75em;
}

@media (min-width: 768px) {
  .unsupported-notice-content {
    position: fixed;
    top: calc(50% - 15rem);
    left: calc(50% - 15rem);
    width: 30rem;
    height: auto;
  }
}

.unsupported-notice-content--inner {
  padding: 1.5rem;
}

.unsupported-notice-content--inner p {
  padding: .75rem 0;
}

.unsupported-notice-header {
  background: #2A2A3D;
  padding: 0.75rem 1.5rem;
}

.unsupported-notice a:not(.btn) {
  color: #8DD625;
}

.unsupported-notice .unsupported-notice-buttons {
  padding-top: 0.75rem;
}

.unsupported-notice .unsupported-notice-buttons .btn:not(:last-child), .unsupported-notice .unsupported-notice-buttons .server-message-card .btn-dismiss-message:not(:last-child), .server-message-card .unsupported-notice .unsupported-notice-buttons .btn-dismiss-message:not(:last-child), .unsupported-notice .unsupported-notice-buttons .checkin-step-controls .step-control:not(:last-child), .checkin-step-controls .unsupported-notice .unsupported-notice-buttons .step-control:not(:last-child) {
  margin-bottom: 1.5rem;
}

.padding--10 {
  padding: 1rem;
}

.padding--15 {
  padding-top: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.padding-top--5 {
  padding-top: .5rem;
}

.padding-top--10 {
  padding-top: 1rem;
}

.padding-top--15 {
  padding-top: 1.5rem;
}

.padding-top--20 {
  padding-top: 2rem;
}

.padding-top--25 {
  padding-top: 2.5rem;
}

@media (min-width: 768px) {
  .padding-top--sm--40 {
    padding-top: 4rem;
  }
}

.padding-right--5 {
  padding-right: .5rem;
}

.padding-right--10 {
  padding-right: 1rem;
}

.padding-right--15 {
  padding-right: 1.5rem;
}

.padding-right--20 {
  padding-right: 2rem;
}

.padding-right--25 {
  padding-right: 2.5rem;
}

.padding-bottom--5 {
  padding-bottom: .5rem;
}

.padding-bottom--10 {
  padding-bottom: 1rem;
}

.padding-bottom--15 {
  padding-bottom: 1.5rem;
}

.padding-bottom--20 {
  padding-bottom: 2rem;
}

.padding-bottom--25 {
  padding-bottom: 2.5rem;
}

.padding-left--5 {
  padding-left: .5rem;
}

.padding-left--10 {
  padding-left: 1rem;
}

.padding-left--15 {
  padding-left: 1.5rem;
}

.padding-left--20 {
  padding-left: 2rem;
}

.padding-left--25 {
  padding-left: 2.5rem;
}

.margin-top--5 {
  margin-top: .5rem;
}

.margin-top--10 {
  margin-top: 1rem;
}

.margin-top--15 {
  margin-top: 1.5rem;
}

.margin-top--20 {
  margin-top: 2rem;
}

.margin-top--25 {
  margin-top: 2.5rem;
}

.margin-right--5 {
  margin-right: .5rem;
}

.margin-right--10 {
  margin-right: 1rem;
}

.margin-right--15 {
  margin-right: 1.5rem;
}

.margin-right--20 {
  margin-right: 2rem;
}

.margin-right--25 {
  margin-right: 2.5rem;
}

.margin-bottom--5 {
  margin-bottom: .5rem;
}

.margin-bottom--10 {
  margin-bottom: 1rem;
}

.margin-bottom--15 {
  margin-bottom: 1.5rem;
}

.margin-bottom--20 {
  margin-bottom: 2rem;
}

.margin-bottom--25 {
  margin-bottom: 2.5rem;
}

.margin-left--5 {
  margin-left: .5rem;
}

.margin-left--10 {
  margin-left: 1rem;
}

.margin-left--15 {
  margin-left: 1.5rem;
}

.margin-left--20 {
  margin-left: 2rem;
}

.margin-left--25 {
  margin-left: 2.5rem;
}

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

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

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

.uppercase {
  text-transform: uppercase;
}

.weight--normal {
  font-weight: 400;
}

.weight--strong {
  font-weight: 900;
}

.opacity-transition {
  transition: opacity 0.25s ease-in-out;
}

.opacity-transition--30 {
  opacity: .3;
}

.opacity-transition--50 {
  opacity: .5;
}

.opacity-transition--70 {
  opacity: .7;
}

.highlight,
.green,
.color--green {
  color: #8DD625;
}

.color--gray-light {
  color: #EAEAEC;
}

.color--blue-black {
  color: #2A2A3D;
}

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

.border-color--blue-black {
  border-color: #2A2A3D;
}

.border-color--gray-light {
  border-color: #EAEAEC;
}

.bg--blue {
  background-color: #3C3C55;
}

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

.uppercase {
  text-transform: uppercase;
}

.text-transform--none {
  text-transform: none;
}

.size--10 {
  font-size: 1rem;
}

.size--12 {
  font-size: 1.2rem;
}

.size--14 {
  font-size: 1.4rem;
}

.size--16 {
  font-size: 1.6rem;
}

@media (min-width: 768px) {
  .size--sm--12 {
    font-size: 1.2rem;
  }
}

.line--1 {
  line-height: 1;
}

.line--1_2 {
  line-height: 1.2;
}

.line--1_4 {
  line-height: 1.4;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

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

@keyframes pulse {
  0% {
    background: #8DD625;
  }
  50% {
    background: #fff;
  }
  100% {
    background: #8DD625;
  }
}

.icon, .btn-badge:after {
  font-size: inherit;
  display: inline-block;
  line-height: 1;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1em;
  height: 1em;
  background-size: contain;
}

.icon-cancel-x {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20viewBox%3D%220%200%2053%2052%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EClose%3C%2Ftitle%3E%3Cpath%20d%3D%22M26.464%2013.235L18.632%200H0l15.825%2026.602L0%2052h18.632l7.832-14.59L34.297%2052H52.93L37.103%2026.602%2052.93%200H34.296l-7.833%2013.235z%22%20fill%3D%22%232A2A3D%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
}

.icon-checkbox {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2217%22%3E%3Cpath%20fill%3D%22%2368687B%22%20d%3D%22M2%205v10h10V5H2zM0%203h14v14H0V3z%22%2F%3E%3C%2Fsvg%3E");
}

.icon-checkbox-checked {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2217%22%3E%3Cg%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%238DD625%22%20d%3D%22M2%2015V5h7.122907l1.55238-2H0v14h14V6.999567l-2%202.680217V15%22%2F%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M4.27173%206.89484L2%208.854238l5.075384%205.884412L16.60656%201.77726%2014.18967%200%206.888537%209.92877%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.icon-checkmark-acute.icon--green {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20viewBox%3D%220%200%2017%2017%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3ECheckmark%3C%2Ftitle%3E%3Cpath%20d%3D%22M3.36%206.24L.91%207.97l6.34%208.98%209.74-15.194-2.527-1.62L7.13%2011.58%22%20fill-rule%3D%22nonzero%22%20fill%3D%22%238DD625%22%2F%3E%3C%2Fsvg%3E");
}

.icon-checkmark-right.icon--green {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2234%22%20height%3D%2230%22%20viewBox%3D%220%200%2034%2030%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3ELine%3C%2Ftitle%3E%3Cpath%20d%3D%22M5.038%2010.934L.05%2015.846l13.42%2013.63L33.826%204.497%2028.4.076%2012.977%2018.998%22%20fill-rule%3D%22nonzero%22%20fill%3D%22%238DD625%22%2F%3E%3C%2Fsvg%3E");
}

.icon-refresh, .btn-badge--refresh:after {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20viewBox%3D%220%200%2019%2019%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3ERefresh%3C%2Ftitle%3E%3Cg%20fill%3D%22rgba%28255%2C%20255%2C%20255%2C%200.3%29%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M18.745%201.025C18.59.87%2018.403.79%2018.19.79c-.215%200-.4.08-.557.235L16.027%202.62c-.882-.832-1.89-1.477-3.028-1.934C11.862.23%2010.692%200%209.49%200%207.224%200%205.247.686%203.56%202.057%201.87%203.43.757%205.217.22%207.427v.086c0%20.107.04.2.118.278.078.08.17.118.278.118h2.46c.18%200%20.303-.095.37-.284.345-.824.564-1.306.654-1.446.577-.94%201.343-1.676%202.3-2.212.954-.535%201.984-.803%203.088-.803%201.656%200%203.093.565%204.312%201.693L12.097%206.56c-.156.158-.235.343-.235.557%200%20.215.08.4.235.556.157.157.342.235.556.235h5.536c.213%200%20.4-.078.555-.235.156-.156.235-.34.235-.556V1.582c0-.215-.078-.4-.235-.557zM18.275%2011.072h-2.372c-.182%200-.305.094-.37.284-.347.824-.565%201.305-.656%201.445-.576.94-1.343%201.678-2.298%202.213-.957.536-1.986.803-3.09.803-.8%200-1.57-.148-2.31-.444-.742-.297-1.405-.717-1.99-1.26l1.693-1.694c.156-.156.235-.342.235-.556%200-.214-.08-.4-.235-.556-.157-.157-.342-.235-.556-.235H.79c-.213%200-.4.08-.555.236-.157.156-.235.342-.235.556v5.536c0%20.214.078.4.235.556.156.156.342.235.556.235.215%200%20.4-.08.557-.236L2.94%2016.36c.882.84%201.885%201.487%203.01%201.94%201.124.453%202.288.68%203.49.68%202.258%200%204.227-.686%205.907-2.058%201.68-1.37%202.784-3.16%203.312-5.37.007-.015.01-.044.01-.085%200-.107-.038-.2-.116-.278-.08-.08-.172-.118-.28-.118z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.icon-tutorial, .btn-badge--tutorial:after {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20viewBox%3D%220%200%2019%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3ETutorial%3C%2Ftitle%3E%3Cg%20fill%3D%22rgba%28255%2C%20255%2C%20255%2C%200.3%29%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M9.487%208.24c1.328%200%202.408-1.074%202.408-2.395%200-1.322-1.08-2.397-2.408-2.397-1.328%200-2.408%201.075-2.408%202.397%200%201.32%201.08%202.396%202.407%202.396z%22%2F%3E%3Cpath%20d%3D%22M18.955%202.29c0-.293-.238-.532-.533-.537v-.61c0-.405-.332-.736-.74-.736-.115%200-.224.027-.32.074-.16-.285-.465-.48-.815-.48-.512%200-.93.414-.93.924v.83h-.5c-.126-.406-.507-.7-.955-.7-.45%200-.83.294-.956.7H5.77c-.13-.406-.51-.7-.958-.7-.448%200-.828.294-.956.7h-.5v-.83C3.356.414%202.94%200%202.428%200c-.35%200-.657.195-.815.48-.097-.046-.206-.073-.32-.073-.41%200-.74.33-.74.737v.61c-.296.004-.534.243-.534.537%200%20.296.237.535.532.54v.61c0%20.405.332.735.74.735.115%200%20.224-.027.32-.074.16.288.465.482.816.482.512%200%20.928-.414.928-.923v-.83h.455v3.947c0%20.49.238%201.08.578%201.435l2.186%202.277v12.274c0%20.668.545%201.21%201.216%201.21.67%200%201.216-.542%201.216-1.21v-6.048h.96v6.04c0%20.667.545%201.21%201.216%201.21.67%200%201.216-.543%201.216-1.21L12.4%2010.49l2.186-2.278c.34-.355.578-.945.578-1.435V2.83h.454v.83c0%20.508.417.922.93.922.35%200%20.655-.194.813-.48.098.046.207.073.322.073.408%200%20.74-.33.74-.736v-.61c.295-.005.533-.244.533-.54zM13.16%206.757c-.006.024-.025.073-.038.094l-1.894%201.974H7.746L5.852%206.85c-.012-.02-.032-.07-.038-.094V2.83h7.346v3.926z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.icon .icon-plus, .btn-badge:after .icon-plus, .icon .icon-plus--white, .btn-badge:after .icon-plus--white {
  position: relative;
}

.icon .icon-plus:before, .btn-badge:after .icon-plus:before, .icon .icon-plus--white:before, .btn-badge:after .icon-plus--white:before, .icon .icon-plus:after, .btn-badge:after .icon-plus:after, .icon .icon-plus--white:after, .btn-badge:after .icon-plus--white:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: .3rem;
}

.icon .icon-plus:before, .btn-badge:after .icon-plus:before, .icon .icon-plus--white:before, .btn-badge:after .icon-plus--white:before {
  transform: rotate(90deg);
  moz-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.icon .icon-plus--white:before, .btn-badge:after .icon-plus--white:before, .icon .icon-plus--white:after, .btn-badge:after .icon-plus--white:after {
  background-color: #fff;
}

/*
** BEGIN VUE TRANSITION CLASSES
*/
.fade-enter {
  opacity: 0;
}

.fade-enter-active {
  transition: all 0.5s ease-in-out;
}

.fade-enter-to {
  opacity: 1;
}

.fade-leave {
  opacity: 1;
}

.fade-leave-active {
  transition: all 0.5s ease-in-out;
}

.fade-leave-to {
  opacity: 0;
}

.error-transition-enter {
  transform: translateY(-105%);
}

.error-transition-enter-active {
  transition: all 0.5s ease-in-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  moz-transform-origin: 50% 0;
  transform-origin: 50% 0;
  z-index: 1;
}

.error-transition-enter-to {
  transform: translateY(0);
}

.error-transition-leave {
  transform: translateY(0);
}

.error-transition-leave-active {
  z-index: 1;
  transition: all 0.5s ease-in-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  moz-transform-origin: 50% 0;
  transform-origin: 50% 0;
}

.error-transition-leave-to {
  transform: translateY(-105%);
}

/*
** END VUE TRANSITION CLASSES
*/
button {
  border: 0;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.btn, .server-message-card .btn-dismiss-message, .checkin-step-controls .step-control {
  background-color: #EAEAEC;
  display: inline-block;
  margin: 0;
  font-weight: 900;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 0;
  font-family: "Lato", sans-serif;
  line-height: 1.2;
  text-transform: uppercase;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all 0.25s ease-in-out;
}

.btn:active, .server-message-card .btn-dismiss-message:active, .checkin-step-controls .step-control:active, .btn.active, .server-message-card .active.btn-dismiss-message, .checkin-step-controls .active.step-control, .btn:hover, .server-message-card .btn-dismiss-message:hover, .checkin-step-controls .step-control:hover, .btn:focus, .server-message-card .btn-dismiss-message:focus, .checkin-step-controls .step-control:focus {
  text-decoration: none;
}

.btn.disabled, .server-message-card .disabled.btn-dismiss-message, .checkin-step-controls .disabled.step-control, .btn[disabled], .server-message-card .btn-dismiss-message[disabled], .checkin-step-controls .step-control[disabled] {
  opacity: .4;
  pointer-events: none;
}

.btn.btn-block, .server-message-card .btn-block.btn-dismiss-message, .checkin-step-controls .btn-block.step-control {
  display: block;
  width: 100%;
}

.btn-sm, .server-message-card .btn-dismiss-message {
  font-size: 1rem;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

.btn-sm--plus {
  font-size: 1.2rem;
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

.btn-md {
  font-size: 1rem;
  padding-top: 1.9rem;
  padding-bottom: 1.9rem;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

.btn-md--plus {
  font-size: 1.2rem;
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
  padding-left: 0.6rem;
  padding-right: 0.6rem;
}

.btn-lg, .checkin-step-controls .step-control {
  font-size: 1.4rem;
  padding-top: 2.95rem;
  padding-bottom: 2.95rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.btn-badge {
  position: relative;
  padding-right: 4rem;
}

.btn-badge:after {
  background-color: #36364E;
  font-size: 4rem;
  background-size: 50%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}

.btn-green, .checkin-step-controls .step-control--advance {
  color: #2A2A3D;
  background-color: #8DD625;
}

.btn-green:focus, .checkin-step-controls .step-control--advance:focus, .focus.btn-green, .checkin-step-controls .focus.step-control--advance {
  color: #2A2A3D;
  background-color: #8DDB12;
}

.btn-green:hover, .checkin-step-controls .step-control--advance:hover {
  color: #2A2A3D;
  background-color: #8DDB12;
}

.btn-green:active, .checkin-step-controls .step-control--advance:active, .active.btn-green, .checkin-step-controls .active.step-control--advance {
  color: #2A2A3D;
  background-color: #8DDB12;
}

.btn-blue, .server-message-card .btn-dismiss-message, .checkin-step-controls .step-control--cancel, .checkin-step-controls .step-control--back {
  color: #EAEAEC;
  background-color: #3C3C55;
}

.btn-blue:focus, .server-message-card .btn-dismiss-message:focus, .checkin-step-controls .step-control--cancel:focus, .checkin-step-controls .step-control--back:focus, .focus.btn-blue, .server-message-card .focus.btn-dismiss-message, .checkin-step-controls .focus.step-control--cancel, .checkin-step-controls .focus.step-control--back {
  color: #EAEAEC;
  background-color: #46465F;
}

.btn-blue:hover, .server-message-card .btn-dismiss-message:hover, .checkin-step-controls .step-control--cancel:hover, .checkin-step-controls .step-control--back:hover {
  color: #EAEAEC;
  background-color: #46465F;
}

.btn-blue:active, .server-message-card .btn-dismiss-message:active, .checkin-step-controls .step-control--cancel:active, .checkin-step-controls .step-control--back:active, .active.btn-blue, .server-message-card .active.btn-dismiss-message, .checkin-step-controls .active.step-control--cancel, .checkin-step-controls .active.step-control--back {
  color: #EAEAEC;
  background-color: #46465F;
}

.btn-blue-black, .coach-profile-layout .pc-secondary-button .btn, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control {
  color: #EAEAEC;
  background-color: #2A2A3D;
}

.btn-blue-black:focus, .coach-profile-layout .pc-secondary-button .btn:focus, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message:focus, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message:focus, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control:focus, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control:focus,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn:focus, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message:focus, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message:focus, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control:focus, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control:focus, .focus.btn-blue-black, .coach-profile-layout .pc-secondary-button .focus.btn, .coach-profile-layout .pc-secondary-button .server-message-card .focus.btn-dismiss-message, .server-message-card .coach-profile-layout .pc-secondary-button .focus.btn-dismiss-message, .coach-profile-layout .pc-secondary-button .checkin-step-controls .focus.step-control, .checkin-step-controls .coach-profile-layout .pc-secondary-button .focus.step-control,
.customer--profile-card.coach-profile-card .pc-secondary-button .focus.btn, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .focus.btn-dismiss-message, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .focus.btn-dismiss-message, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .focus.step-control, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .focus.step-control {
  color: #EAEAEC;
  background-color: #46465F;
}

.btn-blue-black:hover, .coach-profile-layout .pc-secondary-button .btn:hover, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message:hover, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message:hover, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control:hover, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control:hover,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn:hover, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message:hover, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message:hover, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control:hover, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control:hover {
  color: #EAEAEC;
  background-color: #46465F;
}

.btn-blue-black:active, .coach-profile-layout .pc-secondary-button .btn:active, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message:active, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message:active, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control:active, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control:active,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn:active, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message:active, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message:active, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control:active, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control:active, .active.btn-blue-black, .coach-profile-layout .pc-secondary-button .active.btn, .coach-profile-layout .pc-secondary-button .server-message-card .active.btn-dismiss-message, .server-message-card .coach-profile-layout .pc-secondary-button .active.btn-dismiss-message, .coach-profile-layout .pc-secondary-button .checkin-step-controls .active.step-control, .checkin-step-controls .coach-profile-layout .pc-secondary-button .active.step-control,
.customer--profile-card.coach-profile-card .pc-secondary-button .active.btn, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .active.btn-dismiss-message, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .active.btn-dismiss-message, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .active.step-control, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .active.step-control {
  color: #EAEAEC;
  background-color: #46465F;
}

.btn-blue-light, .coach-profile-layout .pc-secondary-button .btn, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control {
  color: #fff;
  background-color: #46465F;
}

.btn-blue-light:focus, .coach-profile-layout .pc-secondary-button .btn:focus, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message:focus, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message:focus, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control:focus, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control:focus,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn:focus, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message:focus, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message:focus, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control:focus, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control:focus, .focus.btn-blue-light, .coach-profile-layout .pc-secondary-button .focus.btn, .coach-profile-layout .pc-secondary-button .server-message-card .focus.btn-dismiss-message, .server-message-card .coach-profile-layout .pc-secondary-button .focus.btn-dismiss-message, .coach-profile-layout .pc-secondary-button .checkin-step-controls .focus.step-control, .checkin-step-controls .coach-profile-layout .pc-secondary-button .focus.step-control,
.customer--profile-card.coach-profile-card .pc-secondary-button .focus.btn, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .focus.btn-dismiss-message, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .focus.btn-dismiss-message, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .focus.step-control, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .focus.step-control {
  color: #fff;
  background-color: #2A2A3D;
}

.btn-blue-light:hover, .coach-profile-layout .pc-secondary-button .btn:hover, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message:hover, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message:hover, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control:hover, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control:hover,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn:hover, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message:hover, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message:hover, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control:hover, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control:hover {
  color: #fff;
  background-color: #2A2A3D;
}

.btn-blue-light:active, .coach-profile-layout .pc-secondary-button .btn:active, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message:active, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message:active, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control:active, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control:active,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn:active, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message:active, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message:active, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control:active, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control:active, .active.btn-blue-light, .coach-profile-layout .pc-secondary-button .active.btn, .coach-profile-layout .pc-secondary-button .server-message-card .active.btn-dismiss-message, .server-message-card .coach-profile-layout .pc-secondary-button .active.btn-dismiss-message, .coach-profile-layout .pc-secondary-button .checkin-step-controls .active.step-control, .checkin-step-controls .coach-profile-layout .pc-secondary-button .active.step-control,
.customer--profile-card.coach-profile-card .pc-secondary-button .active.btn, .customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .active.btn-dismiss-message, .server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .active.btn-dismiss-message, .customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .active.step-control, .checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .active.step-control {
  color: #fff;
  background-color: #2A2A3D;
}

.input-wrapper {
  position: relative;
}

.input-wrapper input[type="text"],
.input-wrapper input[type="number"],
.input-wrapper input[type="password"],
.input-wrapper input[type="date"],
.input-wrapper input[type="email"],
.input-wrapper textarea,
.input-wrapper select {
  width: 100%;
  height: 4rem;
  border: .3rem solid transparent;
  border-radius: 0;
  font-size: 1.2rem;
  font-family: "Lato", sans-serif;
  background-color: #fff;
  padding-left: 1.35rem;
  transition: all 0.25s ease-in-out;
}

.input-wrapper input[type="text"]:focus,
.input-wrapper input[type="number"]:focus,
.input-wrapper input[type="password"]:focus,
.input-wrapper input[type="date"]:focus,
.input-wrapper input[type="email"]:focus,
.input-wrapper textarea:focus,
.input-wrapper select:focus {
  border-color: #BDC3C7;
}

.input-wrapper textarea {
  margin: 0;
  display: block;
  outline: none;
  width: 100%;
  max-width: 100%;
}

.input-wrapper label {
  display: block;
  padding-bottom: .5rem;
  font-family: "Lato", sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
}

.input-wrapper .input-unit-indicator {
  position: absolute;
  top: 50%;
  font-size: .8rem;
  transform: translateY(-50%);
  text-transform: uppercase;
}

.input-wrapper textarea {
  max-width: 100%;
  min-height: 15rem;
  padding-right: 1.35rem;
  padding-top: 1.05rem;
}

.input-wrapper--select .select--container {
  position: relative;
  background: #fff;
}

.input-wrapper--select .select--arrow {
  position: absolute;
  right: 1rem;
  bottom: 50%;
  transform: translateY(50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 9px 0 9px;
  border-color: #BDC3C7 transparent transparent transparent;
  pointer-events: none;
}

.input-wrapper--select select {
  height: 4rem;
  border-radius: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

.input-wrapper--number input {
  border: 0.2rem solid #EAEAEC;
  border-left: 0;
  border-right: 0;
  text-align: center;
}

.input-wrapper--number .number-input-control {
  position: absolute;
  top: 0;
  width: 7.5rem;
  height: 100%;
  background: #EAEAEC;
  border: 0.2rem solid #EAEAEC;
  transition: all 0.25s ease-in-out;
}

.input-wrapper--number .number-input-control:hover {
  background: #8DD625;
}

.input-wrapper--number .decrement {
  left: 0;
}

.input-wrapper--number .increment {
  right: 0;
}

.input-wrapper--spirit-of-the-night input {
  opacity: 0;
  position: absolute;
  left: -999rem;
}

.input-wrapper.invalid-value input,
.input-wrapper.invalid-value select {
  border-color: #EC4034;
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.input-wrapper--error-message {
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  color: #EC4034;
  position: absolute;
  bottom: -0.2rem;
  left: 0;
  display: block;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .input-wrapper--error-message {
    text-transform: uppercase;
  }
}

.honeypot-error-message {
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  color: #EC4034;
}

@media (min-width: 768px) {
  .honeypot-error-message {
    text-transform: uppercase;
  }
}

.slider-relative-container {
  position: relative;
  width: 2.8rem;
  height: 23rem;
  margin: 0 auto;
  padding: 0;
}

.checkbox-group,
.radio-group {
  margin: 0 -.75rem;
  position: relative;
}

.checkbox-group:after,
.radio-group:after {
  content: "";
  display: block;
  clear: both;
}

.checkbox-group .input-wrapper--error-message,
.radio-group .input-wrapper--error-message {
  bottom: -0.5rem;
  left: .75rem;
}

.input-wrapper--checkbox, .input-wrapper--radio {
  position: relative;
  display: block;
  width: 50%;
  float: left;
  padding: .75rem;
}

.input-wrapper--checkbox input, .input-wrapper--radio input {
  visibility: hidden;
  opacity: 0;
  width: 0;
  height: 0;
  display: none;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 0;
}

.input-wrapper--checkbox label, .input-wrapper--radio label {
  padding: 0;
}

.input-wrapper .checkbox--label {
  overflow: hidden;
  padding: 1.45rem 1.5rem;
  background: #3C3C55;
  display: block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all 0.25s ease-in-out;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  color: #EAEAEC;
}

.input-wrapper .checkbox--icon {
  display: block;
  width: 2rem;
  height: 2rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - 1.3rem);
  right: 1.5rem;
}

.input-wrapper .checkbox--icon:before, .input-wrapper .checkbox--icon:after {
  content: "";
  display: block;
  transition: all 0.25s ease-in-out;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

.input-wrapper .checkbox--icon:before {
  opacity: 1;
  background-image: url("../images/app-assets/icon-checkbox.svg");
}

.input-wrapper .checkbox--icon:after {
  opacity: 0;
  background-image: url("../images/app-assets/icon-checkbox-checked.svg");
}

.input-wrapper input:checked ~ label .checkbox--label {
  background: #2A2A3D;
}

.input-wrapper input:checked ~ label .checkbox--icon:before {
  opacity: 0;
}

.input-wrapper input:checked ~ label .checkbox--icon:after {
  opacity: 1;
}

.input-wrapper--radio label {
  cursor: pointer;
  text-align: center;
  padding: 1.55rem 1.5rem;
  background-color: #3C3C55;
}

.input-wrapper--radio input:checked ~ label {
  color: #8DD625;
  background: #2A2A3D;
}

label.input-group-label {
  display: block;
  padding-bottom: .5rem;
  padding-left: .75rem;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.5;
}

/*
** BEGIN RANGE RESETS
*/
input[type=range] {
  display: block;
  -webkit-appearance: none;
  /* Hides the slider so that custom slider can be made */
  width: 100%;
  /* Specific width is required for Firefox. */
  background: transparent;
  /* Otherwise white in Chrome */
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
}

input[type=range]:focus {
  outline: none;
  /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}

input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;
  /* Hides the slider so custom styles can be added */
  background: transparent;
  border-color: transparent;
  color: transparent;
}

/*
** END RANGE RESETS
*/
.input-wrapper--range {
  /*
    ** BEGIN TRACK STYLES
    */
  /*
    ** BEGIN THUMB STYLES
    */
  /* Special styling for WebKit/Blink */
}

.input-wrapper--range .range-option-labels {
  position: relative;
  min-height: 3.1rem;
  text-transform: uppercase;
}

.input-wrapper--range .range-option-label {
  display: inline-block;
  background: #2A2A3D;
  top: 1rem;
  position: absolute;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  color: #8DD625;
  padding: 1rem;
}

.input-wrapper--range .range-option-label:nth-child(1) {
  left: 0;
}

.input-wrapper--range .range-option-label:nth-child(2) {
  left: 50%;
  transform: translateX(-50%);
}

.input-wrapper--range .range-option-label:nth-child(3) {
  right: 0;
}

@media (min-width: 768px) {
  .input-wrapper--range .range-option-label {
    padding: 1rem 1.5rem;
  }
}

.input-wrapper--range label {
  text-transform: none !important;
  padding-bottom: 0.75rem !important;
  display: block !important;
}

.input-wrapper--range input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 2rem;
  cursor: pointer;
  box-shadow: 0;
  background: #46465F;
  border-radius: 0;
  border: 0;
}

.input-wrapper--range input[type=range]:focus::-webkit-slider-runnable-track {
  background: #46465F;
}

.input-wrapper--range input[type=range]::-moz-range-track {
  width: 100%;
  height: 2rem;
  cursor: pointer;
  box-shadow: 0;
  background: #46465F;
  border-radius: 0;
  border: 0;
}

.input-wrapper--range input[type=range]::-ms-tooltip {
  display: none;
}

.input-wrapper--range input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: .5rem;
  color: transparent;
}

.input-wrapper--range input[type=range]::-ms-fill-lower {
  background: #46465F;
  border: 0;
  border-radius: 0;
  box-shadow: 0;
  height: 1.2rem;
}

.input-wrapper--range input[type=range]:focus::-ms-fill-lower {
  background: #46465F;
}

.input-wrapper--range input[type=range]::-ms-fill-upper {
  background: #46465F;
  border: 0;
  border-radius: 0;
  box-shadow: 0;
  height: 1.2rem;
}

.input-wrapper--range input[type=range]:focus::-ms-fill-upper {
  background: #46465F;
}

.input-wrapper--range input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: 0;
  height: 2.8rem;
  width: 3.6rem;
  border-radius: .5rem;
  background: #EAEAEC;
  background-image: url("../images/app-assets/thumb-overlay.gif");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  cursor: pointer;
  margin-top: -0.4rem;
  box-shadow: 0 0.2rem 0 0 rgba(0, 0, 0, 0.4);
}

.input-wrapper--range input[type=range]::-moz-range-thumb {
  border: 0;
  height: 2.8rem;
  width: 3.6rem;
  border-radius: .5rem;
  background: #EAEAEC;
  background-image: url("../images/app-assets/thumb-overlay.gif");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  cursor: pointer;
  margin-top: -0.4rem;
  box-shadow: 0 0.2rem 0 0 rgba(0, 0, 0, 0.4);
}

.input-wrapper--range input[type=range]::-ms-thumb {
  border: 0;
  height: 2.8rem;
  width: 3.6rem;
  border-radius: .5rem;
  background: #EAEAEC;
  background-image: url("../images/app-assets/thumb-overlay.gif");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  cursor: pointer;
  margin-top: -0.4rem;
  box-shadow: 0 0.2rem 0 0 rgba(0, 0, 0, 0.4);
  margin-top: 0;
  height: 26px;
  width: 34px;
}

.vertical-range-component {
  position: relative;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .vertical-range-component {
    max-width: 7.6rem;
  }
}

.vertical-range-component .range-header {
  padding-bottom: 2.5rem;
}

.vertical-range-component .range-value {
  text-transform: uppercase;
  text-align: center;
  word-spacing: 7.6rem;
  background: #3C3C55;
  height: 3.6rem;
  font-size: 1rem;
  line-height: 1.2;
  display: table-cell;
  vertical-align: middle;
  width: 8.6rem;
}

@media (min-width: 768px) {
  .vertical-range-component .range-value {
    width: 7.6rem;
  }
}

.vertical-range-component .range-label {
  display: block;
  text-transform: uppercase;
  font-weight: 900;
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 1.3rem;
}

.vertical-range-component .input-wrapper--range {
  transform: rotate(90deg) translateY(-50%);
  moz-transform-origin: top left;
  transform-origin: top left;
  position: absolute;
  width: 18rem;
  left: 50%;
  transform-style: preserve-3d;
}

@media (min-width: 768px) {
  .vertical-range-component .input-wrapper--range {
    width: 21.8rem;
  }
}

.vertical-range-component .input-wrapper--range input[type=range] {
  height: 100%;
}

.vertical-range-component .input-wrapper--range input[type=range]::-webkit-slider-runnable-track {
  background-color: transparent;
  height: 2.4rem;
  border-radius: .7rem;
  background-color: transparent;
  background-repeat: no-repeat;
  background-image: linear-gradient(to right, #2A2A3D 24.5%, #36364E 24.5%, #36364E 25.5%, #2A2A3D 25.5%, #2A2A3D 49.5%, #8585A2 49.5%, #8585A2 50.5%, #2A2A3D 50.5%, #2A2A3D 74.5%, #36364E 74.5%, #36364E 75.5%, #2A2A3D 75.5%);
}

.vertical-range-component .input-wrapper--range input[type=range]:focus::-webkit-slider-runnable-track {
  background-color: transparent;
}

.vertical-range-component .input-wrapper--range input[type=range]::-webkit-slider-thumb {
  height: 3.6rem;
  width: 2.8rem;
  margin-top: -.7rem;
  background-size: contain;
}

.vertical-range-component .input-wrapper--range input[type=range]::-moz-range-track {
  background-color: transparent;
  height: 2.4rem;
  border-radius: .7rem;
  background-color: transparent;
  background-repeat: no-repeat;
  background-image: linear-gradient(to right, #2A2A3D 24.5%, #36364E 24.5%, #36364E 25.5%, #2A2A3D 25.5%, #2A2A3D 49.5%, #8585A2 49.5%, #8585A2 50.5%, #2A2A3D 50.5%, #2A2A3D 74.5%, #36364E 74.5%, #36364E 75.5%, #2A2A3D 75.5%);
}

.vertical-range-component .input-wrapper--range input[type=range]::-moz-range-thumb {
  width: 2.8rem;
  height: 3.6rem;
}

.vertical-range-component .input-wrapper--range input[type=range]::-ms-fill-upper, .vertical-range-component .input-wrapper--range input[type=range]::-ms-fill-lower, .vertical-range-component .input-wrapper--range input[type=range]:focus::-ms-fill-upper, .vertical-range-component .input-wrapper--range input[type=range]:focus::-ms-fill-lower {
  height: 1.2rem;
  background: transparent;
  width: 100%;
}

.vertical-range-component .input-wrapper--range input[type=range]::-ms-track {
  height: 24px;
  overflow: visible;
  background-color: transparent;
  border-radius: 5px;
  border-radius: .7rem;
  background-color: transparent;
  background-repeat: no-repeat;
  background-image: linear-gradient(to right, #2A2A3D 24.5%, #36364E 24.5%, #36364E 25.5%, #2A2A3D 25.5%, #2A2A3D 49.5%, #8585A2 49.5%, #8585A2 50.5%, #2A2A3D 50.5%, #2A2A3D 74.5%, #36364E 74.5%, #36364E 75.5%, #2A2A3D 75.5%);
}

.vertical-range-component .input-wrapper--range input[type=range]::-ms-thumb {
  height: 36px;
  width: 28px;
  margin: 0;
}

.ils-modal--overlay {
  width: 100%;
  height: 100vh;
  display: block;
  z-index: 14;
  background: rgba(0, 0, 0, 0.85);
  position: fixed;
  top: 0;
  left: 0;
}

.ils-modal--container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  width: calc(100% - 4rem);
  background: #3C3C55;
  max-width: 350px;
  max-height: 600px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

@media (max-width: 767px) {
  .ils-modal--container {
    height: calc(100% - 4rem);
  }
}

.ils-modal--header {
  background-color: #2A2A3D;
  background-image: url("../images/ils-logo-monotone.svg");
  background-size: calc(100% - 3rem);
  background-position: center center;
  background-repeat: no-repeat;
  padding: 4.3rem 1.5rem 3.8rem;
}

.ils-modal--close {
  width: 1.5rem;
  height: 1.5rem;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  background-image: url("../images/app-assets/icon-cancel-x.svg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.ils-modal--title {
  text-align: center;
}

.ils-modal--title h2 {
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 2.6rem;
  color: #8DD625;
}

.ils-modal--body {
  padding: 2rem 1.5rem;
  overflow: hidden;
  height: 100%;
  max-height: calc(100% - 17.5rem);
}

.ils-modal--body .terms-of-service,
.ils-modal--body .terms-of-service-modal-body {
  background: #fff;
  font-size: 1rem;
  padding: 0.75rem 1.7rem;
  overflow-y: scroll;
  height: 100%;
  max-height: 37rem;
  color: #2A2A3D;
}

.ils-modal--body .terms-of-service h2,
.ils-modal--body .terms-of-service-modal-body h2 {
  margin-top: 2rem;
}

.ils-modal--body p {
  padding: .75rem 0;
}

.ils-modal--footer {
  padding: 0 1.5rem;
}

@media (min-width: 768px) {
  .ils-modal--footer {
    padding: 1.5rem;
  }
}

.ils-modal.hidden {
  display: none;
}

ils-modal {
  display: none;
}

.modal-component--close-account .ils-modal--body {
  color: #EAEAEC;
  height: auto;
}

.modal-component--close-account p {
  font-size: 1.4rem;
}

.modal-component--close-account .close-account-details {
  text-align: center;
  font-weight: 900;
}

.modal-component--close-account .subscription-expiration-date {
  text-transform: uppercase;
  font-size: 1.2rem;
  color: #EC4034;
}

.modal-component--close-account .cancel-account-disclaimer {
  font-size: 1rem;
  color: #EC4034;
  text-align: center;
  text-transform: uppercase;
  margin: 1.5rem auto;
  max-width: 18rem;
}

.ils-modal--levelup .ils-modal--body {
  padding-left: 0;
  padding-right: 0;
}

.levelup-modal-body {
  line-height: 1.4;
  height: 100%;
  text-align: center;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 768px) {
  .levelup-modal-body .level-indicator {
    margin-bottom: 2rem;
  }
}

.levelup-modal-body .level__value {
  display: inline-block;
  width: 8.5rem;
  height: 8.5rem;
  border-radius: 50%;
  background: #2A2A3D;
  margin: 2rem 0 1rem;
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 5.4rem;
  color: #8DD625;
  line-height: 1;
}

.levelup-modal-body .level__label {
  display: block;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  color: #fff;
}

.levelup-modal-body .technique-banner {
  position: relative;
  width: 100%;
  height: 2.8rem;
  margin: 1rem 0 3rem;
}

.levelup-modal-body .technique-banner__inner {
  height: 100%;
  font-weight: 900;
  color: #2A2A3D;
  background: #8DD625;
  width: 70%;
  border-top-right-radius: .3rem;
  border-bottom-right-radius: .3rem;
  text-align: right;
  padding: .45rem 1rem 0 2.5rem;
  position: absolute;
  top: 0;
  left: -1.5rem;
}

.levelup-modal-body .technique-banner__inner > span {
  display: inline-block;
  padding-bottom: .1rem;
}

@media (min-width: 768px) {
  .levelup-modal-body .technique-banner__inner {
    width: 65%;
  }
}

.ils-modal__inner-content {
  max-width: 24.5rem;
  margin-left: auto;
  margin-right: auto;
}

.ils-modal--skipload-complete .checkmark-container {
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 50%;
  background: #2A2A3D;
  margin: 1rem auto 3rem;
  position: relative;
}

.ils-modal--skipload-complete .icon, .ils-modal--skipload-complete .btn-badge:after {
  font-size: 3rem;
  line-height: 1;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

.customer--profile-card {
  position: fixed;
  bottom: 0;
  left: 0;
  transform: translateY(calc(100% + 3rem));
  text-align: center;
  width: 100%;
  z-index: 13;
  color: #EAEAEC;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border-top: 0.1rem solid #2A2A3D;
  box-shadow: 0px 0.2rem 0.2rem 0.2rem rgba(0, 0, 0, 0.2);
}

@media (min-width: 992px) {
  .customer--profile-card {
    border-top: 0;
    width: auto;
    height: 4.6rem;
    left: auto;
    bottom: auto;
    right: 0;
    top: 0;
    transform: translateY(0);
    box-shadow: none;
  }
}

.customer--profile-card .user-profile-dropdown {
  transition: all 0.25s ease-in-out;
  position: relative;
  height: 15rem;
  background: #36364E;
}

.customer--profile-card .user-profile-dropdown:before {
  display: block;
  width: 6rem;
  height: 6rem;
  box-shadow: 0 0 0 0.1rem #2A2A3D, 0rem 0.1rem 0.2rem 0.2rem rgba(0, 0, 0, 0.2);
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  z-index: -1;
}

@media (min-width: 992px) {
  .customer--profile-card .user-profile-dropdown {
    z-index: 1;
    background: #2A2A3D;
    height: 4.6rem;
    padding-right: 4.5rem;
    padding-left: 1.5rem;
    padding-top: 1rem;
  }
  .customer--profile-card .user-profile-dropdown:hover, .customer--profile-card .user-profile-dropdown:focus {
    background: #36364E;
  }
  .customer--profile-card .user-profile-dropdown:before {
    display: none;
  }
}

.customer--profile-card .user-level-label {
  display: none;
}

@media (min-width: 992px) {
  .customer--profile-card .user-level-label {
    text-transform: uppercase;
    font-family: "Lato", sans-serif;
    font-size: 1rem;
    font-weight: 900;
    display: inline-block;
  }
}

.customer--profile-card .user-level-indicator {
  margin: 0;
  z-index: 9;
  position: absolute;
  top: 1rem;
  right: 50%;
  transform: translateX(150%);
}

.customer--profile-card .user-level-indicator > img {
  padding: 0 .2rem;
}

@media (min-width: 992px) {
  .customer--profile-card .user-level-indicator {
    display: inline-block;
    position: static;
    transform: translateX(0);
  }
}

.customer--profile-card .user-thumbnail {
  width: 6rem;
  height: 6rem;
  display: block;
  position: absolute;
  top: -3rem;
  right: 50%;
  transform: translateX(50%);
  border-width: .4rem;
}

@media (min-width: 992px) {
  .customer--profile-card .user-thumbnail {
    position: static;
    display: inline-block;
    height: 3rem;
    width: 3rem;
    vertical-align: middle;
    border-width: .2rem;
    transform: translateX(0);
  }
}

.customer--profile-card .user-name {
  display: inline-block;
  margin-top: 3.8rem;
  text-align: center;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 1.4rem;
  font-weight: 900;
  color: #EAEAEC;
}

@media (min-width: 992px) {
  .customer--profile-card .user-name {
    margin-top: 0;
  }
}

.customer--profile-card .icon-arrow-down {
  display: none;
}

@media (min-width: 992px) {
  .customer--profile-card .icon-arrow-down {
    width: 1.8rem;
    height: .9rem;
    overflow: hidden;
    display: block;
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
  }
  .customer--profile-card .icon-arrow-down:after {
    content: "";
    display: block;
    position: absolute;
    transform: rotate(45deg) translate(-50%, -50%);
    background: #46465F;
    height: 1.8rem;
    width: 1.8rem;
  }
}

.profile-card--buttons {
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  width: 100%;
}

.profile-card--buttons:after {
  content: "";
  display: block;
  clear: both;
}

.profile-card--buttons .profile-card-buttons--clear-wrap:after {
  content: "";
  display: block;
  clear: both;
}

.profile-card--buttons .pc--btn-wrap {
  width: 50%;
  float: left;
  top: 0;
  bottom: auto;
  padding: 0 .75rem;
}

@media (min-width: 992px) {
  .profile-card--buttons {
    top: 4.6rem;
    bottom: auto;
    background: #2A2A3D;
    transform: translateY(-100%);
    transition: all 0.25s ease-in-out;
  }
  .profile-card--buttons .pc--btn-wrap {
    padding: 0;
  }
  .profile-card--buttons .pc--btn-wrap .btn, .profile-card--buttons .pc--btn-wrap .server-message-card .btn-dismiss-message, .server-message-card .profile-card--buttons .pc--btn-wrap .btn-dismiss-message, .profile-card--buttons .pc--btn-wrap .checkin-step-controls .step-control, .checkin-step-controls .profile-card--buttons .pc--btn-wrap .step-control {
    font-size: 1.4rem;
  }
  .open .profile-card--buttons {
    transform: translateY(0);
  }
}

.coach-profile-layout .user-profile-dropdown,
.customer--profile-card.coach-profile-card .user-profile-dropdown {
  height: 17rem;
}

@media (min-width: 992px) {
  .coach-profile-layout .user-profile-dropdown,
  .customer--profile-card.coach-profile-card .user-profile-dropdown {
    height: 4.6rem;
  }
}

.coach-profile-layout .profile-card--buttons,
.customer--profile-card.coach-profile-card .profile-card--buttons {
  bottom: 0;
}

@media (min-width: 992px) {
  .coach-profile-layout .profile-card--buttons,
  .customer--profile-card.coach-profile-card .profile-card--buttons {
    bottom: auto;
  }
}

.coach-profile-layout .pc-coach-portal-buttons:after,
.customer--profile-card.coach-profile-card .pc-coach-portal-buttons:after {
  content: "";
  display: block;
  clear: both;
}

.coach-profile-layout .pc-secondary-button,
.customer--profile-card.coach-profile-card .pc-secondary-button {
  width: 100%;
  margin-top: .75rem;
  margin-bottom: .75rem;
}

.coach-profile-layout .pc-secondary-button .btn, .coach-profile-layout .pc-secondary-button .server-message-card .btn-dismiss-message, .server-message-card .coach-profile-layout .pc-secondary-button .btn-dismiss-message, .coach-profile-layout .pc-secondary-button .checkin-step-controls .step-control, .checkin-step-controls .coach-profile-layout .pc-secondary-button .step-control,
.customer--profile-card.coach-profile-card .pc-secondary-button .btn,
.customer--profile-card.coach-profile-card .pc-secondary-button .server-message-card .btn-dismiss-message,
.server-message-card .customer--profile-card.coach-profile-card .pc-secondary-button .btn-dismiss-message,
.customer--profile-card.coach-profile-card .pc-secondary-button .checkin-step-controls .step-control,
.checkin-step-controls .customer--profile-card.coach-profile-card .pc-secondary-button .step-control {
  font-size: 1rem;
}

@media (min-width: 992px) {
  .coach-profile-layout .pc-secondary-button,
  .customer--profile-card.coach-profile-card .pc-secondary-button {
    border-top: 0.1rem solid #2A2A3D;
    margin: 0;
  }
}

.coach-profile-layout .pc-buttons-head-coach .pc-secondary-button,
.customer--profile-card.coach-profile-card .pc-buttons-head-coach .pc-secondary-button {
  width: 50%;
}

@media (min-width: 992px) {
  .coach-profile-layout .pc-buttons-head-coach .pc-secondary-button,
  .customer--profile-card.coach-profile-card .pc-buttons-head-coach .pc-secondary-button {
    width: 100%;
  }
}

.customer--profile-card,
.app--nav {
  transition: transform 0.5s ease-out;
}

.app--nav {
  width: 100%;
  background: #2A2A3D;
  height: calc(100vh - 19.6rem);
  padding-top: 2rem;
  overflow-y: scroll;
  z-index: 12;
  position: fixed;
  top: 4.6rem;
  left: 0;
  transform: translateY(-100%);
}

@media (min-width: 992px) {
  .app--nav {
    height: calc(100vh - 11.2rem);
    overflow-y: auto;
    padding-top: 0;
    width: 20rem;
    transform: translateY(0);
  }
}

.coach-profile-layout .app--nav {
  height: calc(100vh - 21.6rem);
}

@media (min-width: 992px) {
  .coach-profile-layout .app--nav {
    height: calc(100vh - 11.2rem);
  }
}

.ils-navigation {
  background-color: #2A2A3D;
  padding: 3rem 0 5rem;
}

@media (min-width: 992px) {
  .ils-navigation {
    padding: 0;
  }
}

.ils-navigation .navigation--ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.ils-navigation .navigation--ul li {
  padding: 0;
  margin: 0;
}

.ils-navigation .navigation--li {
  display: block;
  font-size: 3.2rem;
  line-height: 1.625;
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
}

@media (min-width: 992px) {
  .ils-navigation .navigation--li {
    font-size: 2.2rem;
  }
}

.ils-navigation .navigation--li.active-page .navigation--link {
  background: #fff;
  color: #36364E;
}

.ils-navigation .navigation--li.active-page .navigation-icon--default {
  opacity: 0;
}

.ils-navigation .navigation--li.active-page .navigation-icon--hover {
  opacity: 1;
}

.ils-navigation .navigation--link {
  color: #ffffff;
  display: block;
  line-height: 1;
  padding: 1.5rem 6rem 1rem 1.5rem;
  position: relative;
  text-align: right;
  transition: all 0.25s ease-in-out;
}

.ils-navigation .navigation--link:focus, .ils-navigation .navigation--link:hover {
  background: #36364E;
}

@media (min-width: 992px) {
  .ils-navigation .navigation--link {
    padding: 2.7rem 1.5rem 2.3rem 6.5rem;
    text-align: left;
  }
}

.ils-navigation .navigation-icon-wrap {
  display: block;
  width: 2.6rem;
  height: 3rem;
  position: absolute;
  top: calc(50% - 1.5rem);
  right: 1.5rem;
}

@media (min-width: 992px) {
  .ils-navigation .navigation-icon-wrap {
    width: 3.1rem;
    height: 3.4rem;
    right: auto;
    left: 1.5rem;
    top: calc(50% - 1.7rem);
  }
}

.ils-navigation .navigation-icon {
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  transition: all 0.5s ease-in-out;
}

.ils-navigation .navigation-icon--default {
  opacity: 1;
}

.ils-navigation .navigation-icon--hover {
  opacity: 0;
}

.notification .navigation-title {
  position: relative;
}

.notification .navigation-title:after {
  position: absolute;
  content: "";
  display: block;
  border-radius: 50%;
  background: #8DD625;
  width: .8rem;
  height: .8rem;
  top: calc(50% - .6rem);
  left: -2rem;
}

@media (min-width: 992px) {
  .notification .navigation-title:after {
    left: auto;
    right: -2rem;
  }
}

.accordion {
  padding: 1rem 0 0;
  margin-bottom: 1rem;
  overflow: hidden;
}

.accordion .accordion--toggle-btn {
  text-align: left;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.accordion--state-indicator {
  display: inline-block;
  position: relative;
  height: 1rem;
  width: 1rem;
  line-height: 1;
  margin-right: 1rem;
}

.accordion--state-indicator:before, .accordion--state-indicator:after {
  content: "";
  display: block;
  width: 1rem;
  height: .2rem;
  background: #EAEAEC;
  position: absolute;
  top: calc(50% - .1rem);
}

.accordion--state-indicator:after {
  transition: all 0.25s ease-in-out;
  transform: rotate(90deg);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.accordion--body {
  overflow: hidden;
  background: #EAEAEC;
  position: relative;
  padding-top: 0;
  height: auto;
}

.accordion .body--content {
  width: 100%;
  padding: 2.25rem 1.5rem;
}

.accordion--open .accordion--state-indicator:after {
  transform: rotate(180deg);
}

.server-message-card {
  position: relative;
  top: -2rem;
  width: calc(100% + 1.5rem);
  left: -0.75rem;
  z-index: 3;
  overflow: hidden;
}

.server-message-card__inner {
  border-bottom: 1.5rem solid transparent;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3);
  padding: 2.5rem 2.5rem 1.5rem;
  background-color: #EAEAEC;
  font-size: 1.2rem;
  overflow: hidden;
}

.server-message-card .message-card-heading {
  font-size: 1.4rem;
  line-height: 1.3;
  text-transform: uppercase;
}

.server-message-card .btn-dismiss-message {
  margin-top: 1.2rem;
  min-width: 12rem;
}

.server-message-card--error .server-message-card__inner {
  border-color: #EC4034;
}

.server-message-card--error .message-card-heading {
  color: #EC4034;
}

.server-message-card--success .server-message-card__inner {
  border-color: #8DD625;
}

.server-message-card--success .message-card-heading {
  color: #8DD625;
}

.server-message-card .error-description {
  padding-top: 0.75rem;
}

.server-message-card--checkin {
  position: fixed;
  width: 100%;
  top: 4.6rem;
  left: 0;
  z-index: 3;
}

@media (min-width: 992px) {
  .server-message-card--checkin {
    width: calc(100% - 20rem);
    left: 20rem;
  }
}

.ils-itinerary {
  position: relative;
}

.itinerary-item-header {
  position: relative;
}

.itinerary-item-title {
  padding-top: 0rem;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .itinerary-item-title {
    font-size: 1.2rem;
  }
}

.itinerary-item-body,
.itinerary-item-footer {
  padding: 0 0.75rem 0 1.5rem;
}

.itinerary-item-footer-inner {
  text-transform: uppercase;
  padding: .3rem 1.5rem .8rem;
  font-size: 1rem;
  background: #2A2A3D;
  border-radius: 0 0 0.3rem 0.3rem;
}

.itinerary-item-footer-inner > a {
  color: #EAEAEC;
}

.itinerary-item {
  position: relative;
}

.itinerary-item:not(:last-child):before {
  content: "";
  display: block;
  height: 100%;
  width: .3rem;
  background-color: #2A2A3D;
  position: absolute;
  top: 0;
  left: 0.3rem;
}

.itinerary-item .itinerary-indicator {
  display: block;
  border-radius: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  border: 0.3rem solid #2A2A3D;
  position: absolute;
  top: 50%;
  left: 0.5rem;
}

.itinerary-item--number .itinerary-indicator {
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.6;
  width: 3rem;
  height: 3rem;
  background: #8DD625;
  color: #2A2A3D;
}

.itinerary-item--number .itinerary-item-header {
  background: #2A2A3D;
  color: #EAEAEC;
  border-radius: 0.3rem;
  padding: 0 1.5rem 0 2.5rem;
}

@media (min-width: 768px) {
  .itinerary-item--number .itinerary-item-header {
    padding-left: 3rem;
  }
}

.itinerary-item--bullet .itinerary-indicator {
  width: 2.4rem;
  height: 2.4rem;
  background: #2A2A3D;
}

.itinerary-item--bullet .itinerary-indicator:after {
  content: "";
  display: block;
  width: 1rem;
  height: .3rem;
  background: #2A2A3D;
  position: absolute;
  top: 50%;
  right: -0.3rem;
  transform: translate(100%, -50%);
}

.itinerary-item--bullet .itinerary-item-title {
  padding-left: 3.5rem;
  color: #2A2A3D;
}

.itinerary-item--nobody:not(:last-child) {
  padding: 0 0 4rem 0;
}

.itinerary-item--nobody .itinerary-item-header {
  background: transparent;
}

.ils-module .module-header {
  background-color: #2A2A3D;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  min-height: 5rem;
  border-radius: 0.3rem 0.3rem 0 0;
}

.ils-module .module-title-wrapper {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media (min-width: 768px) {
  .ils-module .module-title-wrapper {
    padding-top: 1.8rem;
    padding-bottom: 2rem;
  }
}

.ils-module .module-header-extended {
  padding-top: 0;
  padding-bottom: 1.5rem;
}

.ils-module .header-text {
  padding-top: 0;
  line-height: 1;
}

.ils-module .module-title {
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.8rem;
  color: #EAEAEC;
}

.ils-module .module-subtitle {
  line-height: 1.2;
  font-size: 1rem;
  color: #8585A2;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .ils-module .module-subtitle {
    font-size: 1.2rem;
  }
}

.ils-module .module-body {
  padding: 1.5rem 1.5rem 2rem;
  background-color: #EAEAEC;
}

.ils-module .module-footer {
  overflow: hidden;
  border-radius: 0 0 0.3rem 0.3rem;
}

.ils-module .highlight {
  color: #8DD625;
  font-weight: 900;
}

@media (min-width: 992px) {
  .ils-module .module-header-extended {
    padding-top: 1.5rem;
  }
}

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

@media (max-width: 767px) {
  .ils-tooltip {
    cursor: pointer;
  }
}

.pointer-events-none {
  pointer-events: none;
}

.tooltip__button {
  font-weight: normal;
  position: relative;
  font-family: "Lato", sans-serif;
  display: block;
  background: transparent;
  color: #2A2A3D;
  text-align: left;
}

.tooltip__label {
  margin-right: 2rem;
  text-transform: uppercase;
  font-size: inherit;
}

.tooltip__label > * {
  padding: .4rem 0 0;
  display: inline-block;
  border-bottom-width: .1rem;
  border-bottom-style: dashed;
}

.tooltip__icon {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - .4rem);
  right: 0;
  text-align: center;
  width: 1.4rem;
  height: 1.4rem;
  pointer-events: none;
  display: block;
}

@media (min-width: 768px) {
  .tooltip__icon {
    top: calc(50% - .6rem);
  }
}

.tooltip__icon .question-mark {
  overflow: hidden;
  background-color: #2A2A3D;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.1rem #EAEAEC;
  display: table-cell;
  width: 1.4rem;
  height: 1.4rem;
  content: "?";
  font-size: 1rem;
  color: #8DD625;
  font-family: "Lato", sans-serif;
  text-align: center;
  vertical-align: middle;
  padding-left: .1rem;
  padding-top: .1rem;
}

@media (min-width: 768px) {
  .tooltip__icon .question-mark {
    padding-left: 0;
    padding-top: 0;
  }
}

.tooltip__content {
  z-index: 10;
  max-width: 25rem;
  width: calc(100vw - 3rem);
  padding-top: 1.2rem;
  opacity: 0;
  transform: translate(0, 100%);
  transition: opacity 0.3s ease-out;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
}

.tooltip__content .content__inner {
  font-weight: normal;
  position: relative;
  display: block;
  width: 100%;
  text-transform: none;
  box-shadow: 0 0 0.3rem 0 rgba(42, 42, 61, 0.4);
  padding: 1.5rem;
  background: #2A2A3D;
  border: .2rem solid #fff;
  color: #EAEAEC;
  font-size: 1.2rem;
  line-height: 1.4;
  font-family: "Lato", sans-serif;
}

.tooltip__link {
  display: block;
  margin-top: 2rem;
}

.tooltip__arrow {
  display: block;
  width: 1.2rem;
  height: .6rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 150%);
  overflow: hidden;
  z-index: 12;
}

.tooltip__arrow:after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  transform: rotate(45deg);
  background: #2A2A3D;
  border: .2rem solid #fff;
  moz-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  position: relative;
  top: .1rem;
}

.header--checkin {
  display: block;
  width: 4rem;
  height: 4rem;
  z-index: 14;
  border-radius: 50%;
  background: #fff;
  border: 0.64rem solid #2A2A3D;
  position: fixed;
  top: calc(4.6rem - 2rem);
  left: 50%;
  transform: translateX(-50%);
}

.header--checkin .plus-symbol {
  width: 2.8rem;
  height: 2.8rem;
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(0deg);
  moz-transform-origin: center;
  transform-origin: center;
  transition: all 0.375s ease-in-out;
}

.header--checkin .plus-symbol:before, .header--checkin .plus-symbol:after {
  content: "";
  display: block;
  position: absolute;
  background-color: #2A2A3D;
  transition: all 0.25s ease-in-out;
}

.header--checkin .plus-symbol:before {
  height: 1.6rem;
  width: .2rem;
  left: calc(50% - .1rem);
  top: calc(50% - .8rem);
}

.header--checkin .plus-symbol:after {
  width: 1.6rem;
  height: .2rem;
  top: calc(50% - .1rem);
  left: calc(50% - .8rem);
}

.header--checkin.checkin-available {
  animation: pulse 5s infinite;
}

.header--checkin.checkin-available.form-open {
  background: #8DD625;
  animation: none;
}

.header--checkin.form-open .plus-symbol,
.header--checkin.alert-open .plus-symbol {
  transform: rotate(225deg);
}

.header--checkin.checkin-unavailable.form-open {
  background: #EC4034;
}

.header--checkin.checkin-unavailable.form-open .plus-symbol {
  transform: rotate(45deg);
}

.header--checkin.checkin-unavailable.form-open .plus-symbol:before, .header--checkin.checkin-unavailable.form-open .plus-symbol:after {
  background-color: #fff;
}

.checkin-form-wrapper {
  transition: all 0.375s ease-in-out;
  top: 4.6rem;
  height: 0;
  color: #EAEAEC;
  position: fixed;
  max-width: 100vw;
  width: 100%;
  background: rgba(42, 42, 61, 0.85);
  z-index: 12;
  overflow: hidden;
}

@media (min-width: 992px) {
  .checkin-form-wrapper {
    width: 100%;
    left: 0;
    padding-left: 20rem;
  }
}

.checkin-form-wrapper.open {
  height: calc(100% - 4.6rem);
}

.checkin-form {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #36364E;
}

@media (max-width: 767px) {
  .checkin-form {
    overflow-y: scroll;
    height: 100%;
    padding-top: 4rem;
  }
}

@media (min-width: 768px) {
  .checkin-form {
    box-shadow: 0 0 1rem -.4rem #000;
    margin-top: 20rem;
    width: 32rem;
    margin-left: auto;
    margin-right: auto;
    padding-top: 1.5rem;
  }
}

@media (min-width: 992px) {
  .checkin-form {
    margin-top: 10rem;
    margin-left: calc(50% - 26rem);
  }
}

.checkin-form--header {
  padding-bottom: 2rem;
}

.checkin-form--heading {
  text-align: center;
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 2.6rem;
  color: #8DD625;
}

.checkin-form--step {
  display: block;
  text-align: center;
  color: #EAEAEC;
  font-size: 1.2rem;
  line-height: 1.25;
  text-transform: uppercase;
}

.checkin-form--fieldset {
  padding: 0 1.5rem;
  width: 32rem;
  margin: 0 auto;
  height: 34rem;
}

.checkin-form .input-wrapper input[type="number"],
.checkin-form .input-wrapper select {
  height: 4.5rem;
}

.checkin-form .input-wrapper--select .select--arrow {
  border-color: #2A2A3D transparent transparent transparent;
}

.checkin-form .workouts-complete {
  text-transform: uppercase;
  text-align: center;
  padding: 1.65rem 1.5rem;
  font-size: 1.2rem;
  color: #BDC3C7;
  border: 0.2rem solid #BDC3C7;
}

.checkin-form .checkin-form-field {
  padding: 1.5rem 0;
}

.checkin-form .checkin-form-field label {
  text-transform: uppercase;
  font-weight: normal;
}

.checkin-form .weekly-checkin-fields .checkin-form-field:first-child {
  padding-top: 0;
}

.checkin-form .weekly-checkin-fields .checkin-form-field label {
  font-weight: 900;
  display: block;
  font-size: 1.2rem;
}

.checkin-form .highlight {
  font-weight: 900;
  padding: 0 .1rem;
}

.checkin-time-label {
  padding-bottom: 1rem;
}

select.checkin-time-select {
  font-size: 1rem;
  font-weight: 900;
  text-transform: uppercase;
}

.tooltip--checkin-window {
  padding-top: 1.5rem;
  display: inline-block;
  font-style: italic;
  border-bottom: .1rem dashed #fff;
  font-weight: 900;
  font-size: 1.2rem;
}

.cardio-assignment--label {
  padding-bottom: .5rem;
}

.cardio-assignment--text {
  font-size: 1.2rem;
  line-height: 1.5;
}

.checkin-step-controls {
  position: relative;
  bottom: 0;
  left: 0;
  width: 100%;
  clear: both;
}

.checkin-step-controls:after {
  content: "";
  display: block;
  clear: both;
}

.checkin-step-controls .step-control {
  display: block;
  float: left;
  width: 50%;
  background-repeat: no-repeat;
  background-size: 5.2rem 5.2rem;
  background-position: center center;
}

.checkin-step-controls .step-control--cancel {
  background-image: url("/images/app-assets/icon-chevron-left.svg");
  background-image: url("/images/app-assets/icon-cancel-x.svg");
}

.checkin-step-controls .step-control--back {
  background-image: url("/images/app-assets/icon-chevron-left.svg");
}

.checkin-step-controls .step-control--advance {
  background-image: url("/images/app-assets/icon-chevron.svg");
}

.weight-input-wrapper.checkin-form-field {
  padding-top: 0;
}

.weight-input-wrapper .number-input-controls:after {
  content: "";
  display: block;
  clear: both;
}

.weight-input-wrapper .number-input-controls input,
.weight-input-wrapper .number-input-controls .number-control {
  border: .2rem solid #eee;
  position: relative;
}

.weight-input-wrapper .number-input-controls input {
  background: #2A2A3D;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 600;
  float: left;
  width: calc(100% - 15rem);
  padding-left: 0;
  text-align: center;
  border-left: 0;
  border-right: 0;
}

.weight-input-wrapper .number-input-controls .number-input-unit {
  font-size: 1rem;
  color: #fff;
  position: absolute;
  right: 8.25rem;
  display: inline-block;
  bottom: 1.65rem;
}

.weight-input-wrapper .number-input-controls .number-control {
  float: left;
  height: 4.5rem;
  width: 7.5rem;
}

.weight-input-wrapper .number-input-controls .number-control:focus, .weight-input-wrapper .number-input-controls .number-control:active, .weight-input-wrapper .number-input-controls .number-control:hover {
  background: #8DD625;
}

.weight-input-wrapper .number-input-controls .number-control--down:before,
.weight-input-wrapper .number-input-controls .number-control--up:before,
.weight-input-wrapper .number-input-controls .number-control--up:after {
  content: "";
  display: block;
  height: .2rem;
  width: 2.3rem;
  border-radius: .1rem;
  background: #2A2A3D;
  position: absolute;
  top: calc(50% - .1rem);
  left: calc(50% - 1.15rem);
}

.weight-input-wrapper .number-input-controls .number-control--up:after {
  height: 2.3rem;
  width: .2rem;
  top: calc(50% - 1.15rem);
  left: calc(50% - .1rem);
}

.server-message-card .btn--begin-weekly-checkin {
  min-width: 20rem;
}

.skipload-banner {
  left: 0;
  width: 100%;
  position: fixed;
  top: 4.6rem;
  padding-top: 2.5rem;
  padding-bottom: .2rem;
  background: #EC4034;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 11;
}

@media (max-width: 767px) {
  .skipload-banner {
    height: 6rem;
  }
}

@media (min-width: 768px) {
  .skipload-banner {
    max-width: 32rem;
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    padding-top: 1.5rem;
    padding-bottom: .5rem;
  }
}

.skipload-banner__countdown-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}

.skipload-banner .countdown-timer {
  width: 8rem;
  display: inline-block;
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 2.6rem;
  color: #EAEAEC;
  line-height: 1.3;
}

.skipload-banner__content {
  display: inline-block;
  padding-top: .5rem;
}

@media (max-width: 767px) {
  #app.skipload-banner--is-active {
    padding-top: 12.6rem;
  }
}

.affiliate-cards-wrapper .affiliate-card {
  border: 1px solid #46465F;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  color: #46465F;
}

.affiliate-cards-wrapper .affiliate-card:not(:last-child) {
  margin-bottom: 1.5rem;
}

.affiliate-cards-wrapper .affiliate-card .card--header {
  padding: 1.5rem 0;
  margin-bottom: 1.5rem;
  border-bottom: 0.1rem solid #BDC3C7;
}

.affiliate-cards-wrapper .affiliate-card .card--title {
  font-size: 1.4rem;
  padding-left: 1.5rem;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 6rem);
}

.affiliate-cards-wrapper .affiliate-card .card--icon {
  display: inline-block;
  width: 5rem;
  vertical-align: middle;
  height: 6rem;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.affiliate-cards-wrapper .affiliate-card .card--body {
  font-size: 1.2rem;
}

.affiliate-cards-wrapper .affiliate-card .card--buttons {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  vertical-align: bottom;
}

.affiliate-cards-wrapper .affiliate-card .card--buttons .btn, .affiliate-cards-wrapper .affiliate-card .card--buttons .server-message-card .btn-dismiss-message, .server-message-card .affiliate-cards-wrapper .affiliate-card .card--buttons .btn-dismiss-message, .affiliate-cards-wrapper .affiliate-card .card--buttons .checkin-step-controls .step-control, .checkin-step-controls .affiliate-cards-wrapper .affiliate-card .card--buttons .step-control {
  color: #8DD625;
  border: 0.1rem solid #BDC3C7;
}

.affiliate-cards-wrapper .affiliate-card .card--buttons .btn:hover, .affiliate-cards-wrapper .affiliate-card .card--buttons .server-message-card .btn-dismiss-message:hover, .server-message-card .affiliate-cards-wrapper .affiliate-card .card--buttons .btn-dismiss-message:hover, .affiliate-cards-wrapper .affiliate-card .card--buttons .checkin-step-controls .step-control:hover, .checkin-step-controls .affiliate-cards-wrapper .affiliate-card .card--buttons .step-control:hover, .affiliate-cards-wrapper .affiliate-card .card--buttons .btn:focus, .affiliate-cards-wrapper .affiliate-card .card--buttons .server-message-card .btn-dismiss-message:focus, .server-message-card .affiliate-cards-wrapper .affiliate-card .card--buttons .btn-dismiss-message:focus, .affiliate-cards-wrapper .affiliate-card .card--buttons .checkin-step-controls .step-control:focus, .checkin-step-controls .affiliate-cards-wrapper .affiliate-card .card--buttons .step-control:focus {
  background-color: #46465F;
}

.affiliate-cards-wrapper .affiliate-card p:not(:last-child) {
  margin-bottom: .75rem;
}

.affiliate-cards-wrapper .affiliate-card--mind-coaching .card--icon {
  background-image: url("/images/app-assets/affiliates/icon-mind-coaching.svg");
}

.affiliate-cards-wrapper .affiliate-card--clean-eats .card--icon {
  background-image: url("/images/app-assets/affiliates/icon-prepared-meals.svg");
}

.affiliate-cards-wrapper .affiliate-card--youth-rx .card--icon {
  background-image: url("/images/app-assets/affiliates/icon-trt.svg");
}

.page--dashboard .affiliate-cards-wrapper {
  padding-top: 1.5rem;
}

@media (min-width: 768px) {
  .page--dashboard .affiliate-cards-wrapper {
    width: 29rem;
  }
}

.page--dashboard .affiliate-card {
  border: 0;
  background: #EAEAEC;
}

.message-applet .module-footer {
  background: #3C3C55;
  padding: 3rem 1.5rem;
}

.message-applet .message-textarea {
  min-height: 9.4rem;
  padding-top: 1rem;
  padding-right: 1.5rem;
}

.message-list:after {
  content: "";
  display: block;
  clear: both;
}

.message-list .coaching-message {
  padding: 1.5rem;
  position: relative;
  border-radius: 0.3rem;
  background-color: #ffffff;
  margin: 1.5rem 0;
  font-size: 1.2rem;
  width: 85%;
}

.message-list .coaching-message:before {
  width: 1rem;
  height: 1rem;
  background-color: #fff;
  content: "";
  display: block;
  transform: rotate(45deg);
  position: absolute;
  top: 2.4rem;
}

.message-list .coaching-message .plan-card {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .message-list .coaching-message {
    width: 80%;
  }
}

@media (min-width: 992px) {
  .message-list .coaching-message {
    width: 70%;
  }
}

.message-list .coaching-message--sent {
  float: right;
}

.message-list .coaching-message--sent .user-thumbnail {
  float: right;
  margin-left: 1rem;
}

.message-list .coaching-message--sent .message-meta {
  float: right;
  text-align: right;
}

.message-list .coaching-message--sent:before {
  right: -.5rem;
}

.message-list .coaching-message--received {
  float: left;
}

.message-list .coaching-message--received .user-thumbnail {
  float: left;
  margin-right: 1rem;
}

.message-list .coaching-message--received .message-meta {
  float: left;
}

.message-list .coaching-message--received:before {
  left: -.5rem;
}

.message-list .coaching-message--loading {
  width: auto;
}

.message-list .message-header:after {
  content: "";
  display: block;
  clear: both;
}

.message-list .message-meta {
  margin-bottom: 1rem;
  padding-top: .2rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.message-list .message-meta .user-name {
  padding: 0;
  font-size: 1.2rem;
  font-style: italic;
}

.message-list .message-posted-info {
  padding: 0;
  font-size: .8rem;
  text-transform: uppercase;
}

.message-list .message-content-wrapper {
  border-top: 0.1rem solid rgba(61, 61, 85, 0.5);
  padding-top: 1rem;
}

.message-list .message-content {
  padding: 0;
  white-space: pre-line;
  word-wrap: break-word;
}

.message-list .user-thumbnail {
  width: 2.7rem;
  height: 2.7rem;
  border-width: .2rem;
  display: inline-block;
}

.message-list .coach-action-alert {
  background: #2A2A3D;
  border-radius: 0.3rem;
  float: left;
  width: 100%;
  margin: 1.5rem 0;
  text-align: center;
}

.message-list .coach-action-alert .alert-icon-wrapper {
  color: #8DD625;
}

.message-list .coach-action-alert .coach-action-description {
  padding: 0;
  color: #8DD625;
  font-weight: 900;
  font-size: 1.2rem;
  text-transform: uppercase;
  display: block;
}

@media (min-width: 768px) {
  .message-list .coach-action-alert .coach-action-description {
    font-size: 1.4rem;
  }
}

@media (min-width: 992px) {
  .message-list .coach-action-alert .coach-action-description {
    display: inline-block;
  }
}

.message-list .coach-action-alert .coach-action-meta {
  padding: 0;
  color: #fff;
  font-size: 1rem;
  text-transform: uppercase;
  display: block;
}

@media (min-width: 768px) {
  .message-list .coach-action-alert .coach-action-meta {
    font-size: 1.2rem;
  }
}

@media (min-width: 992px) {
  .message-list .coach-action-alert .coach-action-meta {
    position: absolute;
    top: calc(50% - .7rem);
    right: 1.5rem;
  }
}

.component-message-entry {
  position: relative;
}

.component-message-entry .message-entry-error-message {
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -160%);
  color: #EC4034;
  font-size: 1rem;
  width: 100%;
  text-align: center;
}

.message-applet .module-body--message-applet {
  padding-right: 0;
  padding-left: 0;
}

.message-applet .message-applet--message-list {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  height: 22rem;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

@media (min-width: 768px) {
  .message-applet .message-applet--message-list {
    height: calc(100vh - 55rem);
  }
}

@media (min-width: 992px) {
  .message-applet .message-applet--message-list {
    height: calc(100vh - 45rem);
  }
}

.message-applet .archive_loading_block {
  visibility: hidden;
  text-align: center;
  font-size: 1rem;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.message-applet .archive_loading_block img {
  display: block;
  margin: 0 auto 1.5rem;
  max-width: 5.9rem;
}

.message-applet .archive_loading_block.visible {
  opacity: 1;
  visibility: visible;
}

body {
  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url("../images/marketing-site/hero-background-3-30-17.jpg");
}

.state--modal-open {
  overflow: hidden;
}

#onboarding-wrapper {
  min-height: 100vh;
  position: relative;
  margin: 0 auto;
  max-width: 100%;
}

@media (min-width: 768px) {
  #onboarding-wrapper {
    max-width: 48rem;
  }
}

.onboarding {
  background: #36364E;
  color: #EAEAEC;
  width: 100%;
  height: 100%;
  min-height: 100vh;
}

@media (min-width: 768px) {
  .onboarding {
    min-height: 54.6rem;
    height: auto;
    max-width: 48rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}

.onboarding--header {
  background: #2A2A3D;
}

.onboarding--steps {
  display: table;
  padding: 2rem 0;
}

.onboarding .step {
  display: table-cell;
  width: 1%;
  position: relative;
  z-index: 1;
  text-align: center;
}

.onboarding .step--label {
  display: block;
  margin-bottom: .5rem;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 900;
}

.onboarding .step--value {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 0.3rem solid #36364E;
  opacity: .7;
  position: relative;
  z-index: 1;
  font-family: "Teko", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.8rem;
  color: #36364E;
  line-height: 1.575;
}

.onboarding .step--value:after {
  background: #8DD625;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.onboarding .step--active .step--value, .onboarding .step--complete .step--value {
  opacity: 1;
  position: relative;
}

.onboarding .step--complete:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 1.2rem;
  transform: translate3d(50%, -50%, 0);
  background: #8DD625;
  height: .3rem;
  width: 100%;
  z-index: -1;
}

.onboarding--form {
  padding: 1.25rem 1.5rem 0;
}

.onboarding .input-wrapper {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.onboarding .input-wrapper--checkbox, .onboarding .input-wrapper--radio {
  padding-top: .75rem;
  padding-bottom: .75rem;
}

.onboarding .input-wrapper--dob {
  padding: 0;
}

.onboarding .input-wrapper--select {
  padding-top: 0;
}

.onboarding .input-wrapper label {
  display: block;
  font-weight: 900;
  color: #EAEAEC;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
  color: #EAEAEC;
}

.onboarding .input-wrapper label.lower {
  text-transform: none;
}

.onboarding--disclaimer {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-transform: uppercase;
  text-align: center;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  color: #fff;
}

.onboarding--disclaimer a {
  font-weight: 900;
  color: #fff;
}

.onboarding--note {
  padding: .75rem 0;
  font-family: "Lato", sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
  color: #EAEAEC;
}

.onboarding--note--feature {
  color: #8DD625;
}

#onboarding-wrapper .tooltip__label {
  text-transform: none;
}

#onboarding-wrapper .tooltip__label > * {
  border-bottom: none;
}

#onboarding-wrapper .tooltip__icon {
  top: 50%;
  transform: translateY(-50%);
  transform-origin: preserve-3d;
}
