/* Minification failed. Returning unminified contents.
(3308,24): run-time error CSS1031: Expected selector, found '='
(3308,24): run-time error CSS1025: Expected comma or open brace, found '='
(3516,17): run-time error CSS1030: Expected identifier, found 'init('
(3516,17): run-time error CSS1031: Expected selector, found 'init('
(3516,17): run-time error CSS1025: Expected comma or open brace, found 'init('
 */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*::after, *::before {
  box-sizing: border-box;
}

/*
 / {bp}-d-{type} || d-{type}
 / ie d-block || desktop-d-block (will only have display of block on desktop)
 /
 / You can also extend these classes via the PLACEHOLDER via something like `@extend %d-none`. See https://csswizardry.com/2014/01/extending-silent-classes-in-sass/
 */
.d-none {
  display: none !important;
}

@media (min-width: 0) and (max-width: 641px) {
  .sm-d-none {
    display: none !important;
  }
}
@media (min-width: 642px) and (max-width: 990px) {
  .md-d-none {
    display: none !important;
  }
}
@media (min-width: 991px) {
  .lg-d-none {
    display: none !important;
  }
}
.d-flex {
  display: flex !important;
}

@media (min-width: 0) and (max-width: 641px) {
  .sm-d-flex {
    display: flex !important;
  }
}
@media (min-width: 642px) and (max-width: 990px) {
  .md-d-flex {
    display: flex !important;
  }
}
@media (min-width: 991px) {
  .lg-d-flex {
    display: flex !important;
  }
}
.d-inline-block {
  display: inline-block !important;
}

@media (min-width: 0) and (max-width: 641px) {
  .sm-d-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 642px) and (max-width: 990px) {
  .md-d-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 991px) {
  .lg-d-inline-block {
    display: inline-block !important;
  }
}
.d-block {
  display: block !important;
}

@media (min-width: 0) and (max-width: 641px) {
  .sm-d-block {
    display: block !important;
  }
}
@media (min-width: 642px) and (max-width: 990px) {
  .md-d-block {
    display: block !important;
  }
}
@media (min-width: 991px) {
  .lg-d-block {
    display: block !important;
  }
}
.flex-justify-content--space-between {
  justify-content: space-between;
}

.flex-justify-content--center {
  justify-content: center;
}

.flex-justify-content--space-around {
  justify-content: space-around;
}

.flex-justify-content--center {
  justify-content: center;
}

.flex-align-items--center {
  align-items: center;
}

.flex-direction--column {
  flex-direction: column;
}

@media (min-width: 0) {
  .font-h1 {
    font-family: HNM;
    font-size: 1.5rem;
  }
}
@media (min-width: 991px) {
  .font-h1 {
    font-family: HNM;
    font-size: 1.5rem;
  }
}

@media (min-width: 0) {
  .font-h2 {
    font-family: HNM;
    font-size: 1.5rem;
  }
}
@media (min-width: 991px) {
  .font-h2 {
    font-family: HNM;
    font-size: 1.5rem;
  }
}

@media (min-width: 0) {
  .font-h3 {
    font-family: HNM;
    font-size: 1.25rem;
  }
}
@media (min-width: 991px) {
  .font-h3 {
    font-family: HNM;
    font-size: 1.25rem;
  }
}

@media (min-width: 0) {
  .font-body {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .font-body {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}

@media (min-width: 0) {
  .font-micro {
    font-family: HNR;
    font-size: 0.75rem;
    line-height: 18px;
  }
}
@media (min-width: 991px) {
  .font-micro {
    font-family: HNR;
    font-size: 0.75rem;
    line-height: 18px;
  }
}

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

@font-face {
  font-family: "HNL";
  src: url("https://assets.trainingpeaks.com/fonts/helvetica-neue-45-light.woff2");
}
@font-face {
  font-family: "HNR";
  src: url("https://assets.trainingpeaks.com/fonts/helvetica-neue-55-roman.woff2");
}
@font-face {
  font-family: "HNM";
  src: url("https://assets.trainingpeaks.com/fonts/helvetica-neue-65-medium.woff2");
}
@font-face {
  font-family: "HNB";
  src: url("https://assets.trainingpeaks.com/fonts/helvetica-neue-75-bold.woff2");
}
.light-font {
  font-family: HNL !important;
}

.normal-font {
  font-family: HNR !important;
}

.medium-font {
  font-family: HNM !important;
}

.italic-font {
  font-family: HNR !important;
  font-style: italic !important;
}

.bold-font {
  font-family: HNB !important;
}

.shadow-box {
  box-shadow: 0 0 30px 10px rgba(200, 200, 200, 0.3);
}

.radius--large {
  border-radius: 10px;
}

.radius--med {
  border-radius: 7px;
}

.radius--small {
  border-radius: 5px;
}

.width--full {
  width: 100%;
}

.height--full {
  height: 100%;
}

/*
 / {bp}-{type}{direction}-{size} (bp and direction are optional) ((direction is up and not just only ie only using min width)
 / ie p-1 || desktop-pt-1
 /
 / You can also extend these classes via the PLACEHOLDER via something like `@extend %p-3b`. See https://csswizardry.com/2014/01/extending-silent-classes-in-sass/
 */
.pt-0 {
  padding-top: 0 !important;
}

.pr-0,
.two-column-layout__right-component,
.two-column-layout__left-component {
  padding-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.two-column-layout__right-component,
.two-column-layout__left-component {
  padding-left: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-1 {
  padding-top: 4px !important;
}

.pr-1 {
  padding-right: 4px !important;
}

.pb-1 {
  padding-bottom: 4px !important;
}

.pl-1 {
  padding-left: 4px !important;
}

.p-1 {
  padding: 4px !important;
}

.pt-2 {
  padding-top: 8px !important;
}

.pr-2 {
  padding-right: 8px !important;
}

.pb-2 {
  padding-bottom: 8px !important;
}

.pl-2 {
  padding-left: 8px !important;
}

.p-2 {
  padding: 8px !important;
}

.pt-3 {
  padding-top: 12px !important;
}

.pr-3, .parental-consent-form .cf:last-child, .free-purchase-form .cf:last-child {
  padding-right: 12px !important;
}

.pb-3,
.two-column-layout__left-component {
  padding-bottom: 12px !important;
}

.pl-3, .parental-consent-form .cf:last-child, .free-purchase-form .cf:last-child {
  padding-left: 12px !important;
}

.p-3 {
  padding: 12px !important;
}

.pt-4 {
  padding-top: 16px !important;
}

.pr-4 {
  padding-right: 16px !important;
}

.pb-4 {
  padding-bottom: 16px !important;
}

.pl-4 {
  padding-left: 16px !important;
}

.p-4 {
  padding: 16px !important;
}

.pt-5 {
  padding-top: 20px !important;
}

.pr-5 {
  padding-right: 20px !important;
}

.pb-5 {
  padding-bottom: 20px !important;
}

.pl-5 {
  padding-left: 20px !important;
}

.p-5 {
  padding: 20px !important;
}

.pt-6 {
  padding-top: 24px !important;
}

.pr-6 {
  padding-right: 24px !important;
}

.pb-6 {
  padding-bottom: 24px !important;
}

.pl-6 {
  padding-left: 24px !important;
}

.p-6 {
  padding: 24px !important;
}

.pt-7 {
  padding-top: 28px !important;
}

.pr-7 {
  padding-right: 28px !important;
}

.pb-7 {
  padding-bottom: 28px !important;
}

.pl-7 {
  padding-left: 28px !important;
}

.p-7 {
  padding: 28px !important;
}

.pt-8 {
  padding-top: 32px !important;
}

.pr-8 {
  padding-right: 32px !important;
}

.pb-8 {
  padding-bottom: 32px !important;
}

.pl-8 {
  padding-left: 32px !important;
}

.p-8 {
  padding: 32px !important;
}

.pt-9 {
  padding-top: 36px !important;
}

.pr-9 {
  padding-right: 36px !important;
}

.pb-9 {
  padding-bottom: 36px !important;
}

.pl-9 {
  padding-left: 36px !important;
}

.p-9 {
  padding: 36px !important;
}

.pt-10 {
  padding-top: 40px !important;
}

.pr-10 {
  padding-right: 40px !important;
}

.pb-10 {
  padding-bottom: 40px !important;
}

.pl-10 {
  padding-left: 40px !important;
}

.p-10 {
  padding: 40px !important;
}

.pt-11 {
  padding-top: 44px !important;
}

.pr-11 {
  padding-right: 44px !important;
}

.pb-11 {
  padding-bottom: 44px !important;
}

.pl-11 {
  padding-left: 44px !important;
}

.p-11 {
  padding: 44px !important;
}

@media (min-width: 0) {
  .sm-pt-0 {
    padding-top: 0 !important;
  }
  .sm-pr-0 {
    padding-right: 0 !important;
  }
  .sm-pb-0 {
    padding-bottom: 0 !important;
  }
  .sm-pl-0 {
    padding-left: 0 !important;
  }
  .sm-p-0 {
    padding: 0 !important;
  }
  .sm-pt-1 {
    padding-top: 4px !important;
  }
  .sm-pr-1 {
    padding-right: 4px !important;
  }
  .sm-pb-1 {
    padding-bottom: 4px !important;
  }
  .sm-pl-1 {
    padding-left: 4px !important;
  }
  .sm-p-1 {
    padding: 4px !important;
  }
  .sm-pt-2 {
    padding-top: 8px !important;
  }
  .sm-pr-2 {
    padding-right: 8px !important;
  }
  .sm-pb-2 {
    padding-bottom: 8px !important;
  }
  .sm-pl-2 {
    padding-left: 8px !important;
  }
  .sm-p-2 {
    padding: 8px !important;
  }
  .sm-pt-3 {
    padding-top: 12px !important;
  }
  .sm-pr-3 {
    padding-right: 12px !important;
  }
  .sm-pb-3 {
    padding-bottom: 12px !important;
  }
  .sm-pl-3 {
    padding-left: 12px !important;
  }
  .sm-p-3 {
    padding: 12px !important;
  }
  .sm-pt-4 {
    padding-top: 16px !important;
  }
  .sm-pr-4 {
    padding-right: 16px !important;
  }
  .sm-pb-4 {
    padding-bottom: 16px !important;
  }
  .sm-pl-4 {
    padding-left: 16px !important;
  }
  .sm-p-4 {
    padding: 16px !important;
  }
  .sm-pt-5 {
    padding-top: 20px !important;
  }
  .sm-pr-5 {
    padding-right: 20px !important;
  }
  .sm-pb-5 {
    padding-bottom: 20px !important;
  }
  .sm-pl-5 {
    padding-left: 20px !important;
  }
  .sm-p-5 {
    padding: 20px !important;
  }
  .sm-pt-6 {
    padding-top: 24px !important;
  }
  .sm-pr-6 {
    padding-right: 24px !important;
  }
  .sm-pb-6 {
    padding-bottom: 24px !important;
  }
  .sm-pl-6 {
    padding-left: 24px !important;
  }
  .sm-p-6 {
    padding: 24px !important;
  }
  .sm-pt-7 {
    padding-top: 28px !important;
  }
  .sm-pr-7 {
    padding-right: 28px !important;
  }
  .sm-pb-7 {
    padding-bottom: 28px !important;
  }
  .sm-pl-7 {
    padding-left: 28px !important;
  }
  .sm-p-7 {
    padding: 28px !important;
  }
  .sm-pt-8 {
    padding-top: 32px !important;
  }
  .sm-pr-8 {
    padding-right: 32px !important;
  }
  .sm-pb-8 {
    padding-bottom: 32px !important;
  }
  .sm-pl-8 {
    padding-left: 32px !important;
  }
  .sm-p-8 {
    padding: 32px !important;
  }
  .sm-pt-9 {
    padding-top: 36px !important;
  }
  .sm-pr-9 {
    padding-right: 36px !important;
  }
  .sm-pb-9 {
    padding-bottom: 36px !important;
  }
  .sm-pl-9 {
    padding-left: 36px !important;
  }
  .sm-p-9 {
    padding: 36px !important;
  }
  .sm-pt-10 {
    padding-top: 40px !important;
  }
  .sm-pr-10 {
    padding-right: 40px !important;
  }
  .sm-pb-10 {
    padding-bottom: 40px !important;
  }
  .sm-pl-10 {
    padding-left: 40px !important;
  }
  .sm-p-10 {
    padding: 40px !important;
  }
  .sm-pt-11 {
    padding-top: 44px !important;
  }
  .sm-pr-11 {
    padding-right: 44px !important;
  }
  .sm-pb-11 {
    padding-bottom: 44px !important;
  }
  .sm-pl-11 {
    padding-left: 44px !important;
  }
  .sm-p-11 {
    padding: 44px !important;
  }
}
@media (min-width: 642px) {
  .md-pt-0 {
    padding-top: 0 !important;
  }
  .md-pr-0 {
    padding-right: 0 !important;
  }
  .md-pb-0 {
    padding-bottom: 0 !important;
  }
  .md-pl-0,
  .two-column-layout__left-component {
    padding-left: 0 !important;
  }
  .md-p-0 {
    padding: 0 !important;
  }
  .md-pt-1 {
    padding-top: 4px !important;
  }
  .md-pr-1 {
    padding-right: 4px !important;
  }
  .md-pb-1 {
    padding-bottom: 4px !important;
  }
  .md-pl-1 {
    padding-left: 4px !important;
  }
  .md-p-1 {
    padding: 4px !important;
  }
  .md-pt-2 {
    padding-top: 8px !important;
  }
  .md-pr-2 {
    padding-right: 8px !important;
  }
  .md-pb-2 {
    padding-bottom: 8px !important;
  }
  .md-pl-2 {
    padding-left: 8px !important;
  }
  .md-p-2 {
    padding: 8px !important;
  }
  .md-pt-3 {
    padding-top: 12px !important;
  }
  .md-pr-3 {
    padding-right: 12px !important;
  }
  .md-pb-3 {
    padding-bottom: 12px !important;
  }
  .md-pl-3 {
    padding-left: 12px !important;
  }
  .md-p-3 {
    padding: 12px !important;
  }
  .md-pt-4 {
    padding-top: 16px !important;
  }
  .md-pr-4 {
    padding-right: 16px !important;
  }
  .md-pb-4 {
    padding-bottom: 16px !important;
  }
  .md-pl-4 {
    padding-left: 16px !important;
  }
  .md-p-4 {
    padding: 16px !important;
  }
  .md-pt-5 {
    padding-top: 20px !important;
  }
  .md-pr-5 {
    padding-right: 20px !important;
  }
  .md-pb-5 {
    padding-bottom: 20px !important;
  }
  .md-pl-5 {
    padding-left: 20px !important;
  }
  .md-p-5 {
    padding: 20px !important;
  }
  .md-pt-6 {
    padding-top: 24px !important;
  }
  .md-pr-6 {
    padding-right: 24px !important;
  }
  .md-pb-6 {
    padding-bottom: 24px !important;
  }
  .md-pl-6 {
    padding-left: 24px !important;
  }
  .md-p-6 {
    padding: 24px !important;
  }
  .md-pt-7 {
    padding-top: 28px !important;
  }
  .md-pr-7 {
    padding-right: 28px !important;
  }
  .md-pb-7 {
    padding-bottom: 28px !important;
  }
  .md-pl-7 {
    padding-left: 28px !important;
  }
  .md-p-7 {
    padding: 28px !important;
  }
  .md-pt-8 {
    padding-top: 32px !important;
  }
  .md-pr-8 {
    padding-right: 32px !important;
  }
  .md-pb-8 {
    padding-bottom: 32px !important;
  }
  .md-pl-8 {
    padding-left: 32px !important;
  }
  .md-p-8 {
    padding: 32px !important;
  }
  .md-pt-9 {
    padding-top: 36px !important;
  }
  .md-pr-9 {
    padding-right: 36px !important;
  }
  .md-pb-9 {
    padding-bottom: 36px !important;
  }
  .md-pl-9 {
    padding-left: 36px !important;
  }
  .md-p-9 {
    padding: 36px !important;
  }
  .md-pt-10 {
    padding-top: 40px !important;
  }
  .md-pr-10 {
    padding-right: 40px !important;
  }
  .md-pb-10 {
    padding-bottom: 40px !important;
  }
  .md-pl-10 {
    padding-left: 40px !important;
  }
  .md-p-10 {
    padding: 40px !important;
  }
  .md-pt-11 {
    padding-top: 44px !important;
  }
  .md-pr-11 {
    padding-right: 44px !important;
  }
  .md-pb-11 {
    padding-bottom: 44px !important;
  }
  .md-pl-11 {
    padding-left: 44px !important;
  }
  .md-p-11 {
    padding: 44px !important;
  }
}
@media (min-width: 991px) {
  .lg-pt-0 {
    padding-top: 0 !important;
  }
  .lg-pr-0 {
    padding-right: 0 !important;
  }
  .lg-pb-0,
  .two-column-layout__left-component {
    padding-bottom: 0 !important;
  }
  .lg-pl-0 {
    padding-left: 0 !important;
  }
  .lg-p-0 {
    padding: 0 !important;
  }
  .lg-pt-1 {
    padding-top: 4px !important;
  }
  .lg-pr-1 {
    padding-right: 4px !important;
  }
  .lg-pb-1 {
    padding-bottom: 4px !important;
  }
  .lg-pl-1 {
    padding-left: 4px !important;
  }
  .lg-p-1 {
    padding: 4px !important;
  }
  .lg-pt-2 {
    padding-top: 8px !important;
  }
  .lg-pr-2 {
    padding-right: 8px !important;
  }
  .lg-pb-2 {
    padding-bottom: 8px !important;
  }
  .lg-pl-2 {
    padding-left: 8px !important;
  }
  .lg-p-2 {
    padding: 8px !important;
  }
  .lg-pt-3 {
    padding-top: 12px !important;
  }
  .lg-pr-3 {
    padding-right: 12px !important;
  }
  .lg-pb-3 {
    padding-bottom: 12px !important;
  }
  .lg-pl-3 {
    padding-left: 12px !important;
  }
  .lg-p-3 {
    padding: 12px !important;
  }
  .lg-pt-4 {
    padding-top: 16px !important;
  }
  .lg-pr-4 {
    padding-right: 16px !important;
  }
  .lg-pb-4 {
    padding-bottom: 16px !important;
  }
  .lg-pl-4 {
    padding-left: 16px !important;
  }
  .lg-p-4 {
    padding: 16px !important;
  }
  .lg-pt-5 {
    padding-top: 20px !important;
  }
  .lg-pr-5,
  .two-column-layout__left-component {
    padding-right: 20px !important;
  }
  .lg-pb-5 {
    padding-bottom: 20px !important;
  }
  .lg-pl-5 {
    padding-left: 20px !important;
  }
  .lg-p-5 {
    padding: 20px !important;
  }
  .lg-pt-6 {
    padding-top: 24px !important;
  }
  .lg-pr-6 {
    padding-right: 24px !important;
  }
  .lg-pb-6 {
    padding-bottom: 24px !important;
  }
  .lg-pl-6 {
    padding-left: 24px !important;
  }
  .lg-p-6 {
    padding: 24px !important;
  }
  .lg-pt-7 {
    padding-top: 28px !important;
  }
  .lg-pr-7 {
    padding-right: 28px !important;
  }
  .lg-pb-7 {
    padding-bottom: 28px !important;
  }
  .lg-pl-7 {
    padding-left: 28px !important;
  }
  .lg-p-7 {
    padding: 28px !important;
  }
  .lg-pt-8 {
    padding-top: 32px !important;
  }
  .lg-pr-8 {
    padding-right: 32px !important;
  }
  .lg-pb-8 {
    padding-bottom: 32px !important;
  }
  .lg-pl-8 {
    padding-left: 32px !important;
  }
  .lg-p-8 {
    padding: 32px !important;
  }
  .lg-pt-9 {
    padding-top: 36px !important;
  }
  .lg-pr-9 {
    padding-right: 36px !important;
  }
  .lg-pb-9 {
    padding-bottom: 36px !important;
  }
  .lg-pl-9 {
    padding-left: 36px !important;
  }
  .lg-p-9 {
    padding: 36px !important;
  }
  .lg-pt-10 {
    padding-top: 40px !important;
  }
  .lg-pr-10 {
    padding-right: 40px !important;
  }
  .lg-pb-10 {
    padding-bottom: 40px !important;
  }
  .lg-pl-10 {
    padding-left: 40px !important;
  }
  .lg-p-10 {
    padding: 40px !important;
  }
  .lg-pt-11 {
    padding-top: 44px !important;
  }
  .lg-pr-11 {
    padding-right: 44px !important;
  }
  .lg-pb-11 {
    padding-bottom: 44px !important;
  }
  .lg-pl-11 {
    padding-left: 44px !important;
  }
  .lg-p-11 {
    padding: 44px !important;
  }
}
.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-1 {
  margin-top: 4px !important;
}

.mr-1 {
  margin-right: 4px !important;
}

.mb-1 {
  margin-bottom: 4px !important;
}

.ml-1 {
  margin-left: 4px !important;
}

.m-1 {
  margin: 4px !important;
}

.mt-2 {
  margin-top: 8px !important;
}

.mr-2 {
  margin-right: 8px !important;
}

.mb-2 {
  margin-bottom: 8px !important;
}

.ml-2 {
  margin-left: 8px !important;
}

.m-2 {
  margin: 8px !important;
}

.mt-3 {
  margin-top: 12px !important;
}

.mr-3 {
  margin-right: 12px !important;
}

.mb-3 {
  margin-bottom: 12px !important;
}

.ml-3 {
  margin-left: 12px !important;
}

.m-3 {
  margin: 12px !important;
}

.mt-4 {
  margin-top: 16px !important;
}

.mr-4 {
  margin-right: 16px !important;
}

.mb-4 {
  margin-bottom: 16px !important;
}

.ml-4 {
  margin-left: 16px !important;
}

.m-4 {
  margin: 16px !important;
}

.mt-5 {
  margin-top: 20px !important;
}

.mr-5 {
  margin-right: 20px !important;
}

.mb-5 {
  margin-bottom: 20px !important;
}

.ml-5 {
  margin-left: 20px !important;
}

.m-5 {
  margin: 20px !important;
}

.mt-6 {
  margin-top: 24px !important;
}

.mr-6 {
  margin-right: 24px !important;
}

.mb-6 {
  margin-bottom: 24px !important;
}

.ml-6 {
  margin-left: 24px !important;
}

.m-6 {
  margin: 24px !important;
}

.mt-7 {
  margin-top: 28px !important;
}

.mr-7 {
  margin-right: 28px !important;
}

.mb-7 {
  margin-bottom: 28px !important;
}

.ml-7 {
  margin-left: 28px !important;
}

.m-7 {
  margin: 28px !important;
}

.mt-8 {
  margin-top: 32px !important;
}

.mr-8 {
  margin-right: 32px !important;
}

.mb-8 {
  margin-bottom: 32px !important;
}

.ml-8 {
  margin-left: 32px !important;
}

.m-8 {
  margin: 32px !important;
}

.mt-9 {
  margin-top: 36px !important;
}

.mr-9 {
  margin-right: 36px !important;
}

.mb-9 {
  margin-bottom: 36px !important;
}

.ml-9 {
  margin-left: 36px !important;
}

.m-9 {
  margin: 36px !important;
}

.mt-10 {
  margin-top: 40px !important;
}

.mr-10 {
  margin-right: 40px !important;
}

.mb-10 {
  margin-bottom: 40px !important;
}

.ml-10 {
  margin-left: 40px !important;
}

.m-10 {
  margin: 40px !important;
}

.mt-11 {
  margin-top: 44px !important;
}

.mr-11 {
  margin-right: 44px !important;
}

.mb-11 {
  margin-bottom: 44px !important;
}

.ml-11 {
  margin-left: 44px !important;
}

.m-11 {
  margin: 44px !important;
}

@media (min-width: 0) {
  .sm-mt-0 {
    margin-top: 0 !important;
  }
  .sm-mr-0 {
    margin-right: 0 !important;
  }
  .sm-mb-0 {
    margin-bottom: 0 !important;
  }
  .sm-ml-0 {
    margin-left: 0 !important;
  }
  .sm-m-0 {
    margin: 0 !important;
  }
  .sm-mt-1 {
    margin-top: 4px !important;
  }
  .sm-mr-1 {
    margin-right: 4px !important;
  }
  .sm-mb-1 {
    margin-bottom: 4px !important;
  }
  .sm-ml-1 {
    margin-left: 4px !important;
  }
  .sm-m-1 {
    margin: 4px !important;
  }
  .sm-mt-2 {
    margin-top: 8px !important;
  }
  .sm-mr-2 {
    margin-right: 8px !important;
  }
  .sm-mb-2 {
    margin-bottom: 8px !important;
  }
  .sm-ml-2 {
    margin-left: 8px !important;
  }
  .sm-m-2 {
    margin: 8px !important;
  }
  .sm-mt-3 {
    margin-top: 12px !important;
  }
  .sm-mr-3 {
    margin-right: 12px !important;
  }
  .sm-mb-3 {
    margin-bottom: 12px !important;
  }
  .sm-ml-3 {
    margin-left: 12px !important;
  }
  .sm-m-3 {
    margin: 12px !important;
  }
  .sm-mt-4 {
    margin-top: 16px !important;
  }
  .sm-mr-4 {
    margin-right: 16px !important;
  }
  .sm-mb-4 {
    margin-bottom: 16px !important;
  }
  .sm-ml-4 {
    margin-left: 16px !important;
  }
  .sm-m-4 {
    margin: 16px !important;
  }
  .sm-mt-5 {
    margin-top: 20px !important;
  }
  .sm-mr-5 {
    margin-right: 20px !important;
  }
  .sm-mb-5 {
    margin-bottom: 20px !important;
  }
  .sm-ml-5 {
    margin-left: 20px !important;
  }
  .sm-m-5 {
    margin: 20px !important;
  }
  .sm-mt-6 {
    margin-top: 24px !important;
  }
  .sm-mr-6 {
    margin-right: 24px !important;
  }
  .sm-mb-6 {
    margin-bottom: 24px !important;
  }
  .sm-ml-6 {
    margin-left: 24px !important;
  }
  .sm-m-6 {
    margin: 24px !important;
  }
  .sm-mt-7 {
    margin-top: 28px !important;
  }
  .sm-mr-7 {
    margin-right: 28px !important;
  }
  .sm-mb-7 {
    margin-bottom: 28px !important;
  }
  .sm-ml-7 {
    margin-left: 28px !important;
  }
  .sm-m-7 {
    margin: 28px !important;
  }
  .sm-mt-8 {
    margin-top: 32px !important;
  }
  .sm-mr-8 {
    margin-right: 32px !important;
  }
  .sm-mb-8 {
    margin-bottom: 32px !important;
  }
  .sm-ml-8 {
    margin-left: 32px !important;
  }
  .sm-m-8 {
    margin: 32px !important;
  }
  .sm-mt-9 {
    margin-top: 36px !important;
  }
  .sm-mr-9 {
    margin-right: 36px !important;
  }
  .sm-mb-9 {
    margin-bottom: 36px !important;
  }
  .sm-ml-9 {
    margin-left: 36px !important;
  }
  .sm-m-9 {
    margin: 36px !important;
  }
  .sm-mt-10 {
    margin-top: 40px !important;
  }
  .sm-mr-10 {
    margin-right: 40px !important;
  }
  .sm-mb-10 {
    margin-bottom: 40px !important;
  }
  .sm-ml-10 {
    margin-left: 40px !important;
  }
  .sm-m-10 {
    margin: 40px !important;
  }
  .sm-mt-11 {
    margin-top: 44px !important;
  }
  .sm-mr-11 {
    margin-right: 44px !important;
  }
  .sm-mb-11 {
    margin-bottom: 44px !important;
  }
  .sm-ml-11 {
    margin-left: 44px !important;
  }
  .sm-m-11 {
    margin: 44px !important;
  }
}
@media (min-width: 642px) {
  .md-mt-0 {
    margin-top: 0 !important;
  }
  .md-mr-0 {
    margin-right: 0 !important;
  }
  .md-mb-0 {
    margin-bottom: 0 !important;
  }
  .md-ml-0 {
    margin-left: 0 !important;
  }
  .md-m-0 {
    margin: 0 !important;
  }
  .md-mt-1 {
    margin-top: 4px !important;
  }
  .md-mr-1 {
    margin-right: 4px !important;
  }
  .md-mb-1 {
    margin-bottom: 4px !important;
  }
  .md-ml-1 {
    margin-left: 4px !important;
  }
  .md-m-1 {
    margin: 4px !important;
  }
  .md-mt-2 {
    margin-top: 8px !important;
  }
  .md-mr-2 {
    margin-right: 8px !important;
  }
  .md-mb-2 {
    margin-bottom: 8px !important;
  }
  .md-ml-2 {
    margin-left: 8px !important;
  }
  .md-m-2 {
    margin: 8px !important;
  }
  .md-mt-3 {
    margin-top: 12px !important;
  }
  .md-mr-3 {
    margin-right: 12px !important;
  }
  .md-mb-3 {
    margin-bottom: 12px !important;
  }
  .md-ml-3 {
    margin-left: 12px !important;
  }
  .md-m-3 {
    margin: 12px !important;
  }
  .md-mt-4 {
    margin-top: 16px !important;
  }
  .md-mr-4 {
    margin-right: 16px !important;
  }
  .md-mb-4 {
    margin-bottom: 16px !important;
  }
  .md-ml-4 {
    margin-left: 16px !important;
  }
  .md-m-4 {
    margin: 16px !important;
  }
  .md-mt-5 {
    margin-top: 20px !important;
  }
  .md-mr-5 {
    margin-right: 20px !important;
  }
  .md-mb-5 {
    margin-bottom: 20px !important;
  }
  .md-ml-5 {
    margin-left: 20px !important;
  }
  .md-m-5 {
    margin: 20px !important;
  }
  .md-mt-6 {
    margin-top: 24px !important;
  }
  .md-mr-6 {
    margin-right: 24px !important;
  }
  .md-mb-6 {
    margin-bottom: 24px !important;
  }
  .md-ml-6 {
    margin-left: 24px !important;
  }
  .md-m-6 {
    margin: 24px !important;
  }
  .md-mt-7 {
    margin-top: 28px !important;
  }
  .md-mr-7 {
    margin-right: 28px !important;
  }
  .md-mb-7 {
    margin-bottom: 28px !important;
  }
  .md-ml-7 {
    margin-left: 28px !important;
  }
  .md-m-7 {
    margin: 28px !important;
  }
  .md-mt-8 {
    margin-top: 32px !important;
  }
  .md-mr-8 {
    margin-right: 32px !important;
  }
  .md-mb-8 {
    margin-bottom: 32px !important;
  }
  .md-ml-8 {
    margin-left: 32px !important;
  }
  .md-m-8 {
    margin: 32px !important;
  }
  .md-mt-9 {
    margin-top: 36px !important;
  }
  .md-mr-9 {
    margin-right: 36px !important;
  }
  .md-mb-9 {
    margin-bottom: 36px !important;
  }
  .md-ml-9 {
    margin-left: 36px !important;
  }
  .md-m-9 {
    margin: 36px !important;
  }
  .md-mt-10 {
    margin-top: 40px !important;
  }
  .md-mr-10 {
    margin-right: 40px !important;
  }
  .md-mb-10 {
    margin-bottom: 40px !important;
  }
  .md-ml-10 {
    margin-left: 40px !important;
  }
  .md-m-10 {
    margin: 40px !important;
  }
  .md-mt-11 {
    margin-top: 44px !important;
  }
  .md-mr-11 {
    margin-right: 44px !important;
  }
  .md-mb-11 {
    margin-bottom: 44px !important;
  }
  .md-ml-11 {
    margin-left: 44px !important;
  }
  .md-m-11 {
    margin: 44px !important;
  }
}
@media (min-width: 991px) {
  .lg-mt-0 {
    margin-top: 0 !important;
  }
  .lg-mr-0 {
    margin-right: 0 !important;
  }
  .lg-mb-0 {
    margin-bottom: 0 !important;
  }
  .lg-ml-0 {
    margin-left: 0 !important;
  }
  .lg-m-0 {
    margin: 0 !important;
  }
  .lg-mt-1 {
    margin-top: 4px !important;
  }
  .lg-mr-1 {
    margin-right: 4px !important;
  }
  .lg-mb-1 {
    margin-bottom: 4px !important;
  }
  .lg-ml-1 {
    margin-left: 4px !important;
  }
  .lg-m-1 {
    margin: 4px !important;
  }
  .lg-mt-2 {
    margin-top: 8px !important;
  }
  .lg-mr-2 {
    margin-right: 8px !important;
  }
  .lg-mb-2 {
    margin-bottom: 8px !important;
  }
  .lg-ml-2 {
    margin-left: 8px !important;
  }
  .lg-m-2 {
    margin: 8px !important;
  }
  .lg-mt-3 {
    margin-top: 12px !important;
  }
  .lg-mr-3 {
    margin-right: 12px !important;
  }
  .lg-mb-3 {
    margin-bottom: 12px !important;
  }
  .lg-ml-3 {
    margin-left: 12px !important;
  }
  .lg-m-3 {
    margin: 12px !important;
  }
  .lg-mt-4 {
    margin-top: 16px !important;
  }
  .lg-mr-4 {
    margin-right: 16px !important;
  }
  .lg-mb-4 {
    margin-bottom: 16px !important;
  }
  .lg-ml-4 {
    margin-left: 16px !important;
  }
  .lg-m-4 {
    margin: 16px !important;
  }
  .lg-mt-5 {
    margin-top: 20px !important;
  }
  .lg-mr-5 {
    margin-right: 20px !important;
  }
  .lg-mb-5 {
    margin-bottom: 20px !important;
  }
  .lg-ml-5 {
    margin-left: 20px !important;
  }
  .lg-m-5 {
    margin: 20px !important;
  }
  .lg-mt-6 {
    margin-top: 24px !important;
  }
  .lg-mr-6 {
    margin-right: 24px !important;
  }
  .lg-mb-6 {
    margin-bottom: 24px !important;
  }
  .lg-ml-6 {
    margin-left: 24px !important;
  }
  .lg-m-6 {
    margin: 24px !important;
  }
  .lg-mt-7 {
    margin-top: 28px !important;
  }
  .lg-mr-7 {
    margin-right: 28px !important;
  }
  .lg-mb-7 {
    margin-bottom: 28px !important;
  }
  .lg-ml-7 {
    margin-left: 28px !important;
  }
  .lg-m-7 {
    margin: 28px !important;
  }
  .lg-mt-8 {
    margin-top: 32px !important;
  }
  .lg-mr-8 {
    margin-right: 32px !important;
  }
  .lg-mb-8 {
    margin-bottom: 32px !important;
  }
  .lg-ml-8 {
    margin-left: 32px !important;
  }
  .lg-m-8 {
    margin: 32px !important;
  }
  .lg-mt-9 {
    margin-top: 36px !important;
  }
  .lg-mr-9 {
    margin-right: 36px !important;
  }
  .lg-mb-9 {
    margin-bottom: 36px !important;
  }
  .lg-ml-9 {
    margin-left: 36px !important;
  }
  .lg-m-9 {
    margin: 36px !important;
  }
  .lg-mt-10 {
    margin-top: 40px !important;
  }
  .lg-mr-10 {
    margin-right: 40px !important;
  }
  .lg-mb-10 {
    margin-bottom: 40px !important;
  }
  .lg-ml-10 {
    margin-left: 40px !important;
  }
  .lg-m-10 {
    margin: 40px !important;
  }
  .lg-mt-11 {
    margin-top: 44px !important;
  }
  .lg-mr-11 {
    margin-right: 44px !important;
  }
  .lg-mb-11 {
    margin-bottom: 44px !important;
  }
  .lg-ml-11 {
    margin-left: 44px !important;
  }
  .lg-m-11 {
    margin: 44px !important;
  }
}
.m-center {
  margin: 0 auto;
}

ul, ol {
  list-style-position: inside;
}
ul li, ol li {
  line-height: 1.8rem;
}

.container {
  padding-right: 22.5px;
  padding-left: 22.5px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.flex-row {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-left: -22.5px;
  margin-right: -22.5px;
  position: relative;
}
@media (min-width: 991px) {
  .flex-row {
    flex-direction: row;
  }
}
@media (max-width: 990px) {
  .flex-row--reverse--mobile {
    flex-direction: column-reverse;
  }
  .flex-row--reverse--mobile .col:first-of-type {
    padding-bottom: 0;
    padding-top: 12px;
  }
  .flex-row--reverse--mobile .col:last-of-type {
    padding-bottom: 12px;
    padding-top: 0;
  }
}

.col {
  padding: 12px 0;
}
.col:first-of-type {
  padding-top: 0;
}
.col:last-of-type {
  padding-bottom: 0;
}
@media (min-width: 991px) {
  .col {
    padding: 0 22.5px;
  }
  .col:first-of-type {
    padding-left: 0;
  }
  .col:last-of-type {
    padding-right: 0;
  }
}

.container--small {
  padding-right: 6px;
  padding-left: 6px;
}
.container--small .flex-row {
  margin-left: -6px;
  margin-right: -6px;
}
@media (max-width: 990px) {
  .container--small .flex-row--reverse--mobile .col:first-of-type {
    padding-bottom: 0;
    padding-top: 6px;
  }
  .container--small .flex-row--reverse--mobile .col:last-of-type {
    padding-bottom: 6px;
    padding-top: 0;
  }
}
.container--small .col {
  padding: 6px 0;
}
.container--small .col:first-of-type {
  padding-top: 0;
}
.container--small .col:last-of-type {
  padding-bottom: 0;
}
@media (min-width: 991px) {
  .container--small .col {
    padding: 0 6px;
  }
  .container--small .col:first-of-type {
    padding-left: 0;
  }
  .container--small .col:last-of-type {
    padding-right: 0;
  }
}

.container--medium {
  padding-right: 22.5px;
  padding-left: 22.5px;
}
.container--medium .flex-row {
  margin-left: -22.5px;
  margin-right: -22.5px;
}
@media (max-width: 990px) {
  .container--medium .flex-row--reverse--mobile .col:first-of-type {
    padding-bottom: 0;
    padding-top: 12px;
  }
  .container--medium .flex-row--reverse--mobile .col:last-of-type {
    padding-bottom: 12px;
    padding-top: 0;
  }
}
.container--medium .col {
  padding: 12px 0;
}
.container--medium .col:first-of-type {
  padding-top: 0;
}
.container--medium .col:last-of-type {
  padding-bottom: 0;
}
@media (min-width: 991px) {
  .container--medium .col {
    padding: 0 22.5px;
  }
  .container--medium .col:first-of-type {
    padding-left: 0;
  }
  .container--medium .col:last-of-type {
    padding-right: 0;
  }
}

@media (min-width: 0) {
  .sm-col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .sm-col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .sm-col-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .sm-col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .sm-col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .sm-col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .sm-col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .sm-col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .sm-col-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .sm-col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .sm-col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .sm-col-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 642px) {
  .md-col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .md-col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .md-col-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .md-col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .md-col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .md-col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .md-col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .md-col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .md-col-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .md-col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .md-col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .md-col-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 991px) {
  .lg-col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .lg-col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .lg-col-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .lg-col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .lg-col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .lg-col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .lg-col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .lg-col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .lg-col-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .lg-col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .lg-col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .lg-col-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

@media (min-width: 0) {
  input[type=text], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=url] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  input[type=text], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=url] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
input[type=text], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=url] {
  width: 100%;
  padding: 13px 16px;
  border-radius: 4px;
  border: none;
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px inset;
  background: #EDEDED;
  height: 44px;
  transition: background 0.2s ease-in-out;
}
input[type=text]:read-only:active, input[type=text]:read-only:focus, input[type=password]:read-only:active, input[type=password]:read-only:focus, input[type=number]:read-only:active, input[type=number]:read-only:focus, input[type=email]:read-only:active, input[type=email]:read-only:focus, input[type=tel]:read-only:active, input[type=tel]:read-only:focus, input[type=url]:read-only:active, input[type=url]:read-only:focus {
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px inset;
  outline: none;
}
input[type=text]:active, input[type=text]:focus, input[type=password]:active, input[type=password]:focus, input[type=number]:active, input[type=number]:focus, input[type=email]:active, input[type=email]:focus, input[type=tel]:active, input[type=tel]:focus, input[type=url]:active, input[type=url]:focus {
  box-shadow: none;
  outline: none;
  background: rgb(216.6, 216.6, 216.6);
  transition: background 0.2s ease-in-out;
}
input[type=text]:hover, input[type=password]:hover, input[type=number]:hover, input[type=email]:hover, input[type=tel]:hover, input[type=url]:hover {
  background: rgb(216.6, 216.6, 216.6);
  transition: background 0.2s ease-in-out;
}
input[type=checkbox] {
  background-color: #ffffff;
}

@media (min-width: 0) {
  select {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  select {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
select {
  -moz-appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
  background-position: 100% center;
  background-repeat: no-repeat;
  background-color: #EDEDED;
  border: none;
  border-radius: 0.25rem;
  padding: 12px 20px 12px 8px;
  height: auto;
  cursor: pointer;
  height: 44px;
  transition: background 0.2s ease-in-out;
}
select:focus, select:hover {
  background-color: rgb(216.6, 216.6, 216.6);
  transition: background 0.2s ease-in-out;
  border: none;
  outline: 0;
}
select option {
  background: white;
}

@media (min-width: 0) {
  .btn, .btn__empty {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .btn, .btn__empty {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
.btn, .btn__empty {
  background-color: #005695;
  color: #ffffff;
  cursor: pointer;
  border: none;
  border-radius: 4px;
  padding: 18px;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s ease-in-out;
  display: block;
  width: 100%;
}
.btn:hover, .btn__empty:hover {
  color: #ffffff;
  background-color: #004A80;
  transition: background 0.2s ease-in-out;
}
.btn:active, .btn__empty:active {
  color: #ffffff;
  background-color: #003359;
  transition: background 0.2s ease-in-out;
}
.btn__empty {
  border: 1px solid #005695;
  background-color: #ffffff;
  color: #005695;
  transition: background 0.2s ease-in-out;
}
.btn__empty:hover {
  color: #ffffff;
  background-color: #005695;
  transition: background color 0.2s ease-in-out;
}
.btn__empty:active {
  color: #ffffff;
  background-color: rgb(0, 56.5637583893, 98);
  transition: background color 0.2s ease-in-out;
}

@media (min-width: 0) {
  .field-validation-error {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .field-validation-error {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
.field-validation-error {
  background: #F04124;
  color: #fff;
  display: block;
  padding: 11px 16px;
  width: 100%;
  margin-bottom: 24px;
}

nav {
  z-index: 9999;
  background-color: #fff;
  position: static;
  width: 100%;
  height: 3rem;
  top: 0;
  box-shadow: 0 0 10px rgba(45, 45, 45, 0.08);
}

#logo {
  padding-top: 0.875rem;
  padding-left: 1.5rem;
  cursor: pointer;
  display: inline-block;
}

.logo__svg {
  color: #005695;
  fill: currentColor;
  overflow: hidden;
  width: 10rem;
}

@media (min-width: 991px) {
  nav {
    left: 0;
    height: 6rem;
  }
  .with-environment-info nav {
    height: 126px;
  }
  .display-environment > div {
    font-size: 0.75em;
  }
  #logo {
    padding-top: 2.5rem;
  }
  .logo__svg {
    width: 13rem;
  }
}
#navContainer {
  position: relative;
  margin-right: auto;
  height: 100%;
}

@media (min-width: 0) {
  #navContainer {
    margin-left: 19px;
  }
}
@media (min-width: 642px) {
  #navContainer {
    margin-left: 50px;
  }
}
@media (min-width: 991px) {
  #navContainer {
    width: 960px;
    margin-left: auto;
    margin-right: auto;
    max-width: unset;
    min-width: unset;
  }
}
.display-environment {
  background-color: #fff000;
  z-index: 9999;
  text-align: center;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 140px;
  height: auto;
  opacity: 0.3;
  transition: opacity 0.2s ease-out;
}
.display-environment:hover {
  opacity: 1;
}
.display-environment > div {
  margin: 0 auto;
  width: auto;
  padding: 5px;
  font-size: 0.5rem;
  color: #CA4141;
  font-family: HNB;
}

#pageWrap {
  max-width: 1090px;
  margin: 0 auto;
}

@media (min-width: 991px) {
  .nav-container {
    margin-bottom: 48px;
    height: 96px;
  }
}
.nav-container {
  height: 48px;
  margin-bottom: 33px;
}
.nav-container nav {
  position: fixed;
  width: 100%;
}
.nav-container nav #logo {
  padding: 0;
}
.nav-container #navContainer {
  align-items: center;
  display: flex;
}

.pageContent {
  padding: 0 19px 96px;
}
@media (min-width: 642px) {
  .pageContent {
    padding: 0 50px 96px;
  }
}

.cc-group {
  display: block;
}
@media (min-width: 642px) {
  .cc-group {
    display: flex;
  }
}

.cc-icon, .cc-icon__paypal, .cc-icon__discover, .cc-icon__mc, .cc-icon__visa, .cc-icon__amex {
  height: 27px;
  min-width: 43px;
  display: inline-block;
  margin-right: 8px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.cc-icon__amex {
  background-image: url("/assets/images/payment/amex.svg");
}
.cc-icon__visa {
  background-image: url("/assets/images/payment/visa.svg");
}
.cc-icon__mc {
  background-image: url("/assets/images/payment/mastercard.svg");
}
.cc-icon__discover {
  background-image: url("/assets/images/payment/discover.svg");
}
.cc-icon__paypal {
  background-image: url("/assets/images/payment/paypal_100x26.png");
  width: 80px;
}

.icon, .icon__binder, .icon__lock {
  position: relative;
  margin: 3px;
  width: 14px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.icon__lock {
  background-image: url("/assets/icons/lock.svg");
  width: 16px;
  min-width: 16px;
  height: 16px;
  margin-right: 3px;
  margin-top: 1px;
  top: 3px;
}
.icon__binder {
  margin: 3px 2px;
  width: 10px;
}
.icon__binder:before {
  content: "";
  height: 17px;
  width: 14px;
  border: 1px solid #808285;
  position: absolute;
  bottom: -4px;
  border-radius: 1px;
}
.icon__binder:after {
  content: "";
  position: absolute;
  height: 10px;
  border-top: 2px solid #808285;
  border-bottom: 2px solid #808285;
  width: 6px;
  left: -2px;
  bottom: 0px;
  border-radius: 1px;
}

.billing-address-form {
  position: relative;
}
.billing-address-form input,
.billing-address-form select {
  width: 100%;
}
.billing-address-form .valid + .field-validation-error {
  display: none;
}
.billing-address-form .field-validation-error {
  margin-bottom: 0;
}
.billing-address-form .billing-info__invalid {
  border-bottom: 2px solid #f04124;
}
.billing-address-form button[type=submit]:disabled {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.38);
}

.clearfix:after {
  content: " "; /* Older browser do not support empty content */
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
}

@keyframes active-beacon {
  to {
    transform: scale(1.5, 1.5);
  }
}
.progress-bar-wrapper {
  height: 59px;
  width: 100%;
  padding: 0;
  position: relative;
}
.progress-bar-wrapper .progressbar:after {
  content: "";
  width: 100%;
  border-bottom: 1px solid #F6145B;
  position: absolute;
  top: 44px;
  z-index: -1;
}
.progress-bar-wrapper .progressbar li {
  list-style-type: none;
  float: left;
  position: relative;
  color: rgba(246, 20, 91, 0.4);
  max-width: 300px;
  width: 33%;
}
@media (min-width: 0) {
  .progress-bar-wrapper .progressbar li {
    font-family: inherit;
    font-size: 0.75rem;
  }
}
@media (min-width: 991px) {
  .progress-bar-wrapper .progressbar li {
    font-family: inherit;
    font-size: 1.5rem;
  }
}
.progress-bar-wrapper .progressbar li.active {
  color: #F6145B;
}
.progress-bar-wrapper .progressbar li.active:before {
  background-color: #F6145B;
  animation: active-beacon 0.4s 1 ease-in, active-beacon 0.8s 0.4s 1 reverse ease-out;
}
.progress-bar-wrapper .progressbar li.active:after {
  display: none;
}
.progress-bar-wrapper .progressbar li:before {
  width: 16px;
  height: 16px;
  content: "";
  line-height: 30px;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  position: absolute;
  left: calc(50% - 8px);
  top: 36px;
  z-index: 0;
  background-color: #ffffff;
}
.progress-bar-wrapper .progressbar li:after {
  width: 16px;
  height: 16px;
  content: "";
  line-height: 30px;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  position: absolute;
  left: calc(50% - 8px);
  top: 36px;
  z-index: 0;
  background-color: rgba(246, 20, 91, 0.4);
}

.free-purchase-form {
  position: relative;
}
.free-purchase-form .submit-payment {
  background: #F6145B;
  transition: background 0.2s ease-in-out;
}
.free-purchase-form .submit-payment:hover {
  transition: background 0.2s ease-in-out;
  background: rgb(226.7172131148, 8.6827868852, 77.1803278689);
}
.free-purchase-form .submit-payment:active {
  outline: none;
  border: none;
  background: rgb(197.2459016393, 7.5540983607, 67.1475409836);
  transition: background 0.2s ease-in-out;
}
.free-purchase-form .submit-payment:disabled {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.38);
}
.free-purchase-form input[type=checkbox] {
  display: inline-flex;
}
.parental-consent-form {
  position: relative;
}
.parental-consent-form .submit-button {
  background: #F6145B;
  transition: background 0.2s ease-in-out;
}
.parental-consent-form .submit-button:hover {
  transition: background 0.2s ease-in-out;
  background: rgb(226.7172131148, 8.6827868852, 77.1803278689);
}
.parental-consent-form .submit-button:active {
  outline: none;
  border: none;
  background: rgb(197.2459016393, 7.5540983607, 67.1475409836);
  transition: background 0.2s ease-in-out;
}
.parental-consent-form .submit-button:disabled {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.38);
}
.parental-consent-form .submit-button .submitting-overlay {
  display: flex;
  justify-content: center;
  align-items: center;
}
.purchase-payment-form {
  position: relative;
}
@keyframes bounce-bg {
  10% {
    background-color: rgba(0, 0, 0, 0.05);
  }
  80% {
    background-color: rgba(10, 87, 147, 0.05);
  }
}
@keyframes bounce-bg-reverse {
  10% {
    background-color: rgba(0, 0, 0, 0.05);
  }
  80% {
    background-color: none;
  }
}
.purchase-payment-form .card {
  border: 1px solid #c8c8c8;
  height: auto;
  min-height: 38px;
}
@media (min-width: 0) {
  .purchase-payment-form .card {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .purchase-payment-form .card {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
.purchase-payment-form .card {
  animation: bounce-bg-rv 0.5s 1 ease-in-out;
}
.purchase-payment-form .card input, .purchase-payment-form .card:hover {
  cursor: pointer;
  border-color: rgba(10, 87, 147, 0.3);
}
.purchase-payment-form #newCardWrapper {
  display: none;
  margin-top: 32px;
  position: relative;
}
.purchase-payment-form #newCardWrapper .cf {
  margin-top: 8px;
}
.purchase-payment-form .submit-payment {
  background: #F6145B;
  transition: background 0.2s ease-in-out;
}
.purchase-payment-form .submit-payment:hover {
  transition: background 0.2s ease-in-out;
  background: rgb(226.7172131148, 8.6827868852, 77.1803278689);
}
.purchase-payment-form .submit-payment:active {
  outline: none;
  border: none;
  background: rgb(197.2459016393, 7.5540983607, 67.1475409836);
  transition: background 0.2s ease-in-out;
}
.purchase-payment-form .submit-payment:disabled {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.38);
}
.purchase-payment-form input[type=checkbox] {
  display: inline-flex;
}
.purchase-payment-form .zoura_payment {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: auto;
}
.purchase-payment-form .z_hppm_iframe {
  width: 100%;
  margin-bottom: 10px;
  min-height: 550px;
}
.purchase-payment-form #z_hppm_iframe {
  z-index: 2;
}
.purchase-payment-form .payment-method-selected {
  background-color: rgba(10, 87, 147, 0.05);
  color: #0A5793;
  border-color: rgba(10, 87, 147, 0.3);
  animation: bounce-bg 0.5s 1 ease-in-out;
}

@media (min-width: 0px) and (max-width: 570px) {
  #z_hppm_iframe {
    min-height: 480px;
  }
}
@media (min-width: 570px) and (max-width: 710px) {
  #z_hppm_iframe {
    min-height: 395px;
  }
}
@media (min-width: 710px) and (max-width: 990px) {
  #z_hppm_iframe {
    min-height: 320px;
  }
}
@media (min-width: 990px) and (max-width: 1075px) {
  #z_hppm_iframe {
    min-height: 395px;
  }
}
@media (min-width: 1075px) {
  #z_hppm_iframe {
    min-height: 320px;
  }
}
@media (min-width: 991px) {
  .totals-container {
    position: -webkit-sticky;
    position: sticky;
    top: 130px;
    align-self: flex-start;
  }
}
.totals-container {
  width: 100%;
}
.totals-container .totals__product-name {
  word-break: break-word;
}
.totals-container .totals__line-item:not(:last-of-type) {
  padding-bottom: 24px;
}
.totals-container .totals .bundlePremiumWithPlanContainer input[type=checkbox] + label::after {
  content: "Add Premium";
}
.totals-container .totals .bundlePremiumWithPlanContainer input[type=checkbox]:checked + label::after {
  content: "Remove Premium";
}
.totals-container .totals .bundlePremiumWithPlanNoTrialContainer input[type=checkbox]:checked + label {
  display: none;
  padding: 0;
}
.totals-container .totals .bundleOfferChip {
  border-radius: 15px;
  height: 24px;
  line-height: 24px;
}

.coupon .coupon__inputContainer {
  align-items: center;
  display: flex;
  position: relative;
  padding: 0;
}
.coupon__input {
  padding-right: 62px;
}
.coupon__input:read-only:active {
  box-shadow: none;
}
.coupon__input--applied[type=text] {
  background: transparent;
  box-shadow: none;
  cursor: default;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coupon__input--apply-error[type=text] {
  border-bottom: none;
  border-radius: 4px 4px 0 0;
}
.coupon__input:not(:placeholder-shown) + .coupon__action {
  display: block;
}
@media (min-width: 0) {
  .coupon__action {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .coupon__action {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
.coupon__action {
  background: none;
  border: 1px solid transparent;
  padding: 7px;
  color: #0A5793;
  cursor: pointer;
  display: none;
  position: absolute;
  right: 6px;
  border-radius: 5px;
  transition: border-color 0.3s ease-in-out;
}
.coupon__action:hover {
  border-color: #0A5793;
  transition: border-color 0.3s ease-in-out;
}
.coupon__action:active, .coupon__action:focus {
  outline: none;
}
@media (min-width: 0) {
  .coupon__message {
    font-family: HNR;
    font-size: 0.75rem;
    line-height: 18px;
  }
}
@media (min-width: 991px) {
  .coupon__message {
    font-family: HNR;
    font-size: 0.75rem;
    line-height: 18px;
  }
}
.coupon__message {
  background: #F04124;
  color: #ffffff;
  display: block;
  font-style: italic;
  padding: 10px;
}

@media (min-width: 0) {
  .message-container {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .message-container {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .message-container {
    padding: 24px 45px;
  }
}
.message-container {
  margin-bottom: 24px;
  padding: 24px;
  line-height: 24px;
}
.message-container--error {
  color: #F04124;
}
.message-container__list {
  list-style-position: inside;
}
.message-container__message:not(:only-child):not(:last-of-type) {
  margin-bottom: 8px;
}

.training-plan-purchase-confirmation {
  width: 100%;
}
.training-plan-purchase-confirmation p {
  line-height: 29px;
}
.training-plan-purchase-confirmation .findNewPlanBtn {
  max-width: 560px;
  margin: auto;
}
.training-plan-purchase-confirmation .applyTrainingPlanContainerV2 {
  max-width: 560px;
  margin: auto;
}
@media (min-width: 0) {
  .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 h2 {
    font-family: HNM;
    font-size: 1.5rem;
  }
}
@media (min-width: 991px) {
  .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 h2 {
    font-family: HNM;
    font-size: 1.5rem;
  }
}
@media (min-width: 0) {
  .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 p, .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 span, .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 .startMondayIcon {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 p, .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 span, .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 .startMondayIcon {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
.training-plan-purchase-confirmation .applyTrainingPlanContainerV2 p, .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 span, .training-plan-purchase-confirmation .applyTrainingPlanContainerV2 .startMondayIcon {
  color: #636569;
}
.training-plan-purchase-confirmation .applyTrainingPlanContainerV2 .apply {
  border: none;
}
.training-plan-purchase-confirmation .successContainer, .training-plan-purchase-confirmation .linksContainer {
  width: 100%;
  display: flex;
}
.training-plan-purchase-confirmation .successContainer .TPLink, .training-plan-purchase-confirmation .linksContainer .TPLink {
  text-align: center;
}
.training-plan-purchase-confirmation .successContainer .TPLinkButton, .training-plan-purchase-confirmation .linksContainer .TPLinkButton {
  text-decoration: none;
}

@media (min-width: 0) {
  input[type=text], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=url] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  input[type=text], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=url] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
input[type=text], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=url] {
  width: 100%;
  padding: 13px 16px;
  border-radius: 4px;
  border: none;
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px inset;
  background: #EDEDED;
  height: 44px;
  transition: background 0.2s ease-in-out;
}
input[type=text]:read-only:active, input[type=text]:read-only:focus, input[type=password]:read-only:active, input[type=password]:read-only:focus, input[type=number]:read-only:active, input[type=number]:read-only:focus, input[type=email]:read-only:active, input[type=email]:read-only:focus, input[type=tel]:read-only:active, input[type=tel]:read-only:focus, input[type=url]:read-only:active, input[type=url]:read-only:focus {
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px inset;
  outline: none;
}
input[type=text]:active, input[type=text]:focus, input[type=password]:active, input[type=password]:focus, input[type=number]:active, input[type=number]:focus, input[type=email]:active, input[type=email]:focus, input[type=tel]:active, input[type=tel]:focus, input[type=url]:active, input[type=url]:focus {
  box-shadow: none;
  outline: none;
  background: rgb(216.6, 216.6, 216.6);
  transition: background 0.2s ease-in-out;
}
input[type=text]:hover, input[type=password]:hover, input[type=number]:hover, input[type=email]:hover, input[type=tel]:hover, input[type=url]:hover {
  background: rgb(216.6, 216.6, 216.6);
  transition: background 0.2s ease-in-out;
}
input[type=checkbox] {
  background-color: #ffffff;
}

[data-braintree-id=card] {
  border: none;
}

[data-braintree-id=card-sheet-header] {
  border: 1px solid #b5b5b5;
  border-radius: 4px;
}

.braintree-sheet__content.braintree-sheet__content--form {
  padding-bottom: 0;
}

@media (min-width: 0) {
  [data-braintree-id=cardholder-name-field-group] .braintree-form__label,
  [data-braintree-id=cardholder-name-field-group] .braintree-form__descriptor,
  [data-braintree-id=number-field-group] .braintree-form__label,
  [data-braintree-id=number-field-group] .braintree-form__descriptor,
  [data-braintree-id=expiration-date-field-group] .braintree-form__label,
  [data-braintree-id=expiration-date-field-group] .braintree-form__descriptor,
  [data-braintree-id=cvv-field-group] .braintree-form__label,
  [data-braintree-id=cvv-field-group] .braintree-form__descriptor,
  [data-braintree-id=postal-code-field-group] .braintree-form__label,
  [data-braintree-id=postal-code-field-group] .braintree-form__descriptor {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  [data-braintree-id=cardholder-name-field-group] .braintree-form__label,
  [data-braintree-id=cardholder-name-field-group] .braintree-form__descriptor,
  [data-braintree-id=number-field-group] .braintree-form__label,
  [data-braintree-id=number-field-group] .braintree-form__descriptor,
  [data-braintree-id=expiration-date-field-group] .braintree-form__label,
  [data-braintree-id=expiration-date-field-group] .braintree-form__descriptor,
  [data-braintree-id=cvv-field-group] .braintree-form__label,
  [data-braintree-id=cvv-field-group] .braintree-form__descriptor,
  [data-braintree-id=postal-code-field-group] .braintree-form__label,
  [data-braintree-id=postal-code-field-group] .braintree-form__descriptor {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
[data-braintree-id=cardholder-name-field-group] .braintree-form__label,
[data-braintree-id=cardholder-name-field-group] .braintree-form__descriptor,
[data-braintree-id=number-field-group] .braintree-form__label,
[data-braintree-id=number-field-group] .braintree-form__descriptor,
[data-braintree-id=expiration-date-field-group] .braintree-form__label,
[data-braintree-id=expiration-date-field-group] .braintree-form__descriptor,
[data-braintree-id=cvv-field-group] .braintree-form__label,
[data-braintree-id=cvv-field-group] .braintree-form__descriptor,
[data-braintree-id=postal-code-field-group] .braintree-form__label,
[data-braintree-id=postal-code-field-group] .braintree-form__descriptor {
  color: rgba(0, 0, 0, 0.6) !important;
  font-size: 0.75rem !important;
}
@media (min-width: 0) {
  [data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field,
  [data-braintree-id=number-field-group] .braintree-form__hosted-field,
  [data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field,
  [data-braintree-id=cvv-field-group] .braintree-form__hosted-field,
  [data-braintree-id=postal-code-field-group] .braintree-form__hosted-field {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  [data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field,
  [data-braintree-id=number-field-group] .braintree-form__hosted-field,
  [data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field,
  [data-braintree-id=cvv-field-group] .braintree-form__hosted-field,
  [data-braintree-id=postal-code-field-group] .braintree-form__hosted-field {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
[data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field,
[data-braintree-id=number-field-group] .braintree-form__hosted-field,
[data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field,
[data-braintree-id=cvv-field-group] .braintree-form__hosted-field,
[data-braintree-id=postal-code-field-group] .braintree-form__hosted-field {
  width: 100%;
  padding: 13px 16px;
  border-radius: 4px;
  border: none;
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px inset;
  background: #EDEDED;
  height: 44px;
  transition: background 0.2s ease-in-out;
}
[data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field:read-only:active, [data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field:read-only:focus,
[data-braintree-id=number-field-group] .braintree-form__hosted-field:read-only:active,
[data-braintree-id=number-field-group] .braintree-form__hosted-field:read-only:focus,
[data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field:read-only:active,
[data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field:read-only:focus,
[data-braintree-id=cvv-field-group] .braintree-form__hosted-field:read-only:active,
[data-braintree-id=cvv-field-group] .braintree-form__hosted-field:read-only:focus,
[data-braintree-id=postal-code-field-group] .braintree-form__hosted-field:read-only:active,
[data-braintree-id=postal-code-field-group] .braintree-form__hosted-field:read-only:focus {
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px inset;
  outline: none;
}
[data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field:active, [data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field:focus,
[data-braintree-id=number-field-group] .braintree-form__hosted-field:active,
[data-braintree-id=number-field-group] .braintree-form__hosted-field:focus,
[data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field:active,
[data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field:focus,
[data-braintree-id=cvv-field-group] .braintree-form__hosted-field:active,
[data-braintree-id=cvv-field-group] .braintree-form__hosted-field:focus,
[data-braintree-id=postal-code-field-group] .braintree-form__hosted-field:active,
[data-braintree-id=postal-code-field-group] .braintree-form__hosted-field:focus {
  box-shadow: none;
  outline: none;
  background: rgb(216.6, 216.6, 216.6);
  transition: background 0.2s ease-in-out;
}
[data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field:hover,
[data-braintree-id=number-field-group] .braintree-form__hosted-field:hover,
[data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field:hover,
[data-braintree-id=cvv-field-group] .braintree-form__hosted-field:hover,
[data-braintree-id=postal-code-field-group] .braintree-form__hosted-field:hover {
  background: rgb(216.6, 216.6, 216.6);
  transition: background 0.2s ease-in-out;
}
[data-braintree-id=cardholder-name-field-group] .braintree-form__hosted-field.braintree-form__field--valid,
[data-braintree-id=number-field-group] .braintree-form__hosted-field.braintree-form__field--valid,
[data-braintree-id=expiration-date-field-group] .braintree-form__hosted-field.braintree-form__field--valid,
[data-braintree-id=cvv-field-group] .braintree-form__hosted-field.braintree-form__field--valid,
[data-braintree-id=postal-code-field-group] .braintree-form__hosted-field.braintree-form__field--valid {
  border-color: #bfbfbf !important;
}
@media (min-width: 0) {
  [data-braintree-id=cardholder-name-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=number-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=expiration-date-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=cvv-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=postal-code-field-group] [data-braintree-id=number-field-error] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  [data-braintree-id=cardholder-name-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=number-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=expiration-date-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=cvv-field-group] [data-braintree-id=number-field-error],
  [data-braintree-id=postal-code-field-group] [data-braintree-id=number-field-error] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
[data-braintree-id=cardholder-name-field-group] [data-braintree-id=number-field-error],
[data-braintree-id=number-field-group] [data-braintree-id=number-field-error],
[data-braintree-id=expiration-date-field-group] [data-braintree-id=number-field-error],
[data-braintree-id=cvv-field-group] [data-braintree-id=number-field-error],
[data-braintree-id=postal-code-field-group] [data-braintree-id=number-field-error] {
  font-size: 0.75rem !important;
}

@media (min-width: 0) {
  [data-braintree-id=choose-a-way-to-pay] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  [data-braintree-id=choose-a-way-to-pay] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}

@media (min-width: 0) {
  [data-braintree-id=payment-options-container] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  [data-braintree-id=payment-options-container] {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}

html {
  margin-left: calc(100vw - 100%);
}

.plan-checkout .account-iframe-wrapper iframe {
  border-radius: 10px;
  box-shadow: 0 0 30px 10px rgba(200, 200, 200, 0.3);
  overflow: hidden;
  position: relative;
}

@media (min-width: 0) {
  p {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}
@media (min-width: 991px) {
  p {
    font-family: HNR;
    font-size: 1.0625rem;
  }
}

a {
  color: #005695;
}
a:hover {
  color: #004A80;
}
a:active {
  color: #003359;
}

hr {
  border-color: #c8c8c8;
  border-style: solid;
  border-width: 1px;
  border-bottom: none;
  border-left: none;
  border-right: none;
}

#z_hppm_iframe {
  background-color: #ffffff !important;
}

.hidden {
  visibility: hidden;
}

.submitting-overlay {
  position: absolute;
  z-index: 3;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.8);
  pointer-events: none;
}
.submitting-overlay img {
  zoom: 50%;
}
/* eslint-disable */
window.analyticsHelper = {

	init: function (withoutOntrust = false) {

		this._clients = [];
		this._loadedClients = 0;
		this._onLoad = [];
		this._session_id = null;
		this._client_id = null;

		window.OptanonWrapper = function () {
			// Check if analytics cookies are consented to
			if (window.OnetrustActiveGroups && window.OnetrustActiveGroups.includes('C0002')) {

				let { OnetrustActiveGroups } = window; 

				let performanceCookies = OnetrustActiveGroups.includes('C0002')
					? 'granted'
					: 'denied';

				let targetingCookies = OnetrustActiveGroups.includes('C0004')
					? 'granted'
					: 'denied';

				if (typeof gtag === 'function') {
					gtag('consent', 'update', {
						'ad_storage': targetingCookies,
						'analytics_storage': performanceCookies,
						'ad_user_data': targetingCookies,
						'ad_personalization': targetingCookies
					});
				}

				analytics.page({
					adStorageConsentState: targetingCookies,
					analyticsStorageConsentState: performanceCookies,
					adUserDataConsentState: targetingCookies,
					adPersonalizationConsentState: targetingCookies
				});
			}
		};

		let segmentIoApiKey = TrainingPeaksJavascriptConfiguration.getSegmentApiKey();
		!function () {
			var i = "analytics", analytics = window[i] = window[i] || []; if (!analytics.initialize) if (analytics.invoked) window.console && console.error && console.error("Segment snippet included twice."); else {
				analytics.invoked = !0;
				analytics.methods = ["trackSubmit", "trackClick", "trackLink", "trackForm", "pageview", "identify", "reset", "group", "track", "ready", "alias", "debug", "page", "screen", "once", "off", "on", "addSourceMiddleware", "addIntegrationMiddleware", "setAnonymousId", "addDestinationMiddleware", "register"];
				analytics.factory = function (e) { return function () { if (window[i].initialized) return window[i][e].apply(window[i], arguments); var n = Array.prototype.slice.call(arguments); if (["track", "screen", "alias", "group", "page", "identify"].indexOf(e) > -1) { var c = document.querySelector("link[rel='canonical']"); n.push({ __t: "bpc", c: c && c.getAttribute("href") || void 0, p: location.pathname, u: location.href, s: location.search, t: document.title, r: document.referrer }) } n.unshift(e); analytics.push(n); return analytics } }; for (var n = 0; n < analytics.methods.length; n++) { var key = analytics.methods[n]; analytics[key] = analytics.factory(key) } analytics.load = function (key, n) { var t = document.createElement("script"); t.type = "text/javascript"; t.async = !0; t.setAttribute("data-global-segment-analytics-key", i); t.src = "https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js"; var r = document.getElementsByTagName("script")[0]; r.parentNode.insertBefore(t, r); analytics._loadOptions = n };
				analytics._writeKey = segmentIoApiKey;;
				analytics.SNIPPET_VERSION = "5.2.1";
			}

			//trigger custom even on document that other places can listen to and know that the analytics object has been loaded
			analytics.ready(() => {
				analytics.page();
				document.dispatchEvent(new CustomEvent('analyticsLoaded', {}));
			});

			if (withoutOntrust || typeof (window.withOneTrust) === 'undefined') {
				analytics.load(segmentIoApiKey);
			} else if (window.withOneTrust) {
				window.withOneTrust(analytics, { consentModel: () => 'opt-in' })
					.load(segmentIoApiKey);
			}

			if (typeof (gtag) !== 'undefined') {
				gtag('config', TrainingPeaksJavascriptConfiguration.getGtagKey());
			}

		}();
	},

	checkAndSetGaProps: function (resolve) {
		resolve();
		return;
		if (typeof (gtag) !== 'undefined') {
			Promise.all([
				new Promise(re => gtag('get', TrainingPeaksJavascriptConfiguration.getGtagKey(), 'session_id', re)),
				new Promise(re => gtag('get', TrainingPeaksJavascriptConfiguration.getGtagKey(), 'client_id', re))
			]).then(values => {
				this._session_id = values[0];
				this._client_id = values[1];

			}).catch((e) => {
				Rollbar.info(e);
			}).finally(resolve);
		}
	},

	loaded: function () {
		return this._loadedClients === this._clients.length;
	},

	onLoad: function (fn) {

		if (fn) {
			this._onLoad.push(fn);
		}

		const retry = [];
		if (this.loaded()) {
			this._onLoad.forEach(function (fn) { fn(); });
			this._onLoad = [];
		}
	},

	identify: function (userId) {
		this._clients.forEach(function (client) { client().identify(userId); });
	},

	track: function (eventName, properties) {

		const getPropsWithIdentifiers = (props) => ({
			...props,
			client_id: this._client_id,
			session_id: this._session_id
		});

		if (this._client_id === null || this._session_id === null) {
			this.checkAndSetGaProps(() => {
				this._clients.forEach(function (client) { client().track(eventName, getPropsWithIdentifiers(properties)); });
			});
		} else {
			this._clients.forEach(function (client) { client().track(eventName, getPropsWithIdentifiers(properties)); });
        }
	},

	getItemCategoryBySku: function (skuUpper) {
		
		if (!skuUpper) {
			return;
		}
		const sku = skuUpper.toLowerCase();
		let itemCategory = 'other';

		if (sku.startsWith('tp')) {
			return "TrainingPlan";
		} else if (sku.startsWith('cm')) {
			return "CoachMatch";
		} else if (sku.startsWith('wko')) {
			return "WKO";
		} else if (sku.startsWith('sca')) {
			return "AthleteSub";
		} else if (sku.startsWith('ubc') || sku.startsWith('lbc')) {
			return "Coach";
		} else if (sku.startsWith('cc')) {
			return "CoachConsultation";
		}
		return itemCategory;
	},

	getConversionNameBySku: function (skuUpper) {
		if (!skuUpper) {
			return "";
		}

		const sku = skuUpper.toLowerCase();

		if (sku.startsWith('tp')) {
			return "Purchase_Training_Plan_www";
		} else if (sku.startsWith('cm')) {
			return "Purchase_CoachMatch_www";
		} else if (sku.startsWith('wko')) {
			return "Purchase_WKO_www";
		} else if (sku.startsWith('sca')) {
			return "Purchase_Premium_www";
		} else if (sku.startsWith('ubc') || sku.startsWith('lbc')) {
			return "Purchase_Coach_Upgrade_www";
		}
		return ""
    },

	purchase: function (props) {

		const sku = (props.product_details?.item_id || props.sku)?.toLowerCase();

		const sessionStorageKey = window.btoa(`${sku}-${props.value || props.price}`);
		const purchaseCached = sessionStorage.getItem(sessionStorageKey);

		//ignoring duplicate events
		if (purchaseCached) {
			return;
		}
		sessionStorage.setItem(sessionStorageKey, "1");

			const itemCategory = this.getItemCategoryBySku(sku);

			const with_subscription = sessionStorage.getItem('bundlePlanAndPremiumStorage') === 'true';

			this.track('PurchaseItem', {
					...props,
					with_subscription,
					itemCategory,
					sku: (props.product_details?.item_id || props.sku),
					event_category: 'ecommerce',
			});
    },


	hasSegmentIoAnonymousId: function () {
		return window.analytics && window.analytics.user && window.analytics.user() && window.analytics.user().anonymousId();
	},
	
	getSegmentIoAnonymousId: function () {
		return window.analytics.user().anonymousId();
	}
};

analyticsHelper.init();
