.white {
  background-color: #ffffff; }

.white-text {
  color: #ffffff; }

.black {
  background-color: #000000; }

.black-text {
  color: #000000; }

.black-highlight {
  background-color: #3e3e3e; }

.black-highlight-text {
  color: #3e3e3e; }

.strike-through {
  text-decoration: line-through; }

.dark-grey {
  background-color: #2d2d2d; }

.dark-grey-text {
  color: #2d2d2d; }

.light-grey {
  background-color: #777; }

.light-grey-text {
  color: #777; }

.lightish-grey {
  background-color: #d6d6d6; }

.lightish-grey-text {
  color: #d6d6d6; }

.lighter-grey {
  background-color: #f3f3f3; }

.lighter-grey-text {
  color: #f3f3f3; }

.lightest-grey {
  background-color: #efefef; }

.lightest-grey-text {
  color: #efefef; }

.shadow-grey {
  background-color: #d3d3d3; }

.shadow-grey-text {
  color: #d3d3d3; }

.green {
  background-color: #376e26; }

.green-text {
  color: #376e26; }

.light-green {
  background-color: #4a9035; }

.light-green-text {
  color: #4a9035; }

.light-blue {
  background-color: #E7E9F1; }

.light-blue-text {
  color: #E7E9F1; }

.dark-blue {
  background-color: #293b6e; }

.dark-blue-text {
  color: #293b6e; }

.blue-highlight {
  background-color: #4a67b3; }

.red {
  background-color: #dc0423; }

.red-text {
  color: #dc0423; }

.yellow {
  background-color: #ffff00; }

.yellow::before {
  background-color: #ffff00; }

.yellow::marker {
  background-color: #ffff00; }

.update-highlight {
  background-color: #ffff00;
  display: inline !important; }

.update-highlight:before {
  background-color: #ffff00;
  display: inline !important; }

.consumerlab-blue {
  background-color: #1C449B; }

.consumerlab-blue-text {
  color: #1C449B; }

.passedTest {
  background-color: rgba(74, 144, 53, 0.3); }

.failedTest {
  background-color: rgba(220, 4, 35, 0.3); }

.registration .checkout {
  padding: 2rem 2.5rem; }
  .registration .checkout .checkout-hero {
    margin-bottom: 1rem; }
    .registration .checkout .checkout-hero h1 {
      font-size: 2rem;
      line-height: 1.15; }
    .registration .checkout .checkout-hero p {
      font-size: 1.1rem; }
  .registration .checkout .newsletter-intro {
    font-size: 0.9rem; }
    .registration .checkout .newsletter-intro h3 {
      font-size: 1.3rem;
      font-weight: 700; }
  .registration .checkout .checkout-price-notice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    max-width: 640px;
    margin: 0 auto 1.5rem;
    padding: 0.75rem 1.25rem;
    border: 1px solid #f1d58a;
    border-radius: 0.75rem;
    background-color: #fff8e5;
    color: #6b4d00; }
    .registration .checkout .checkout-price-notice .icon {
      flex-shrink: 0;
      width: 1rem;
      opacity: 0.7; }
  .registration .checkout .checkout-main {
    padding-right: 2rem; }
  .registration .checkout .checkout-body {
    position: relative; }
    .registration .checkout .checkout-body::before {
      content: "";
      position: absolute;
      top: 0;
      right: 15px;
      left: 15px;
      border-top: 1px solid #dedede; }
  .registration .checkout #checkout-plan {
    border-top: 0; }
  .registration .checkout .checkout-section {
    border-top: 1px solid #dedede;
    padding: 1.75rem 0; }
    .registration .checkout .checkout-section h2 {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin: 0 0 1.25rem;
      font-size: 1.4rem;
      font-weight: 700; }
  .registration .checkout .checkout-sign-in-panel .checkout-note {
    margin: 0.75rem 0 0; }
  .registration .checkout .checkout-email-field {
    position: relative; }
    .registration .checkout .checkout-email-field .form-control {
      padding-right: 2.5rem; }
  .registration .checkout .checkout-email-checking {
    position: absolute;
    top: 50%;
    right: 0.85rem;
    margin-top: -0.5rem;
    color: #6c6c6c; }
  .registration .checkout .checkout-code-boxes {
    position: relative;
    display: flex;
    gap: 0.5rem;
    max-width: 20rem; }
    .registration .checkout .checkout-code-boxes input {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      padding: 0;
      border: 0;
      outline: none;
      background: transparent;
      color: transparent;
      caret-color: transparent;
      font-size: 16px; }
      .registration .checkout .checkout-code-boxes input::selection {
        background: transparent; }
  .registration .checkout .checkout-code-box {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    height: 3.25rem;
    border: 1px solid #dedede;
    border-radius: 0.5rem;
    background-color: #ffffff;
    font-size: 1.5rem;
    font-weight: 600; }
    .registration .checkout .checkout-code-box.active {
      border-color: #1C449B;
      box-shadow: 0 0 0 3px rgba(28, 68, 155, 0.15); }
  .registration .checkout .checkout-sign-in-button {
    margin-top: 0;
    background-color: #1C449B; }
    .registration .checkout .checkout-sign-in-button:active, .registration .checkout .checkout-sign-in-button:focus, .registration .checkout .checkout-sign-in-button:hover {
      background-color: #103075; }
  .registration .checkout .checkout-send-code-button {
    margin-top: 0.75rem;
    background-color: #ffffff;
    box-shadow: inset 0 0 0 1px #1C449B;
    color: #1C449B; }
    .registration .checkout .checkout-send-code-button:active, .registration .checkout .checkout-send-code-button:focus, .registration .checkout .checkout-send-code-button:hover {
      background-color: rgba(28, 68, 155, 0.08); }
  .registration .checkout .checkout-wallet-button {
    margin-top: 1.5rem; }
    .registration .checkout .checkout-wallet-button .third-party-payment-container {
      justify-content: center; }
    .registration .checkout .checkout-wallet-button #paypal-button-recurly {
      margin-top: 0; }
    .registration .checkout .checkout-wallet-button #apple-pay-button-container {
      width: 100%;
      height: 48px; }
  .registration .checkout .checkout-note {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    color: #6c6c6c; }
  .registration .checkout .plan-options {
    display: flex;
    flex-direction: column;
    gap: 0.75rem; }
  .registration .checkout .plan-options-divider {
    margin: 0.75rem 0 0;
    color: #6c6c6c; }
  .registration .checkout .checkout-more-plans {
    align-self: center;
    width: auto;
    margin: 0;
    padding: 0.25rem 0.5rem;
    border-radius: 0;
    background: none;
    color: #1C449B;
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: none; }
    .registration .checkout .checkout-more-plans:active, .registration .checkout .checkout-more-plans:focus, .registration .checkout .checkout-more-plans:hover {
      background: none;
      text-decoration: underline; }
    .registration .checkout .checkout-more-plans img {
      width: 0.75em;
      height: 0.75em;
      margin-left: 0.25rem; }
  .registration .checkout .plan-option {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0;
    padding: 1rem 1.25rem;
    border: 2px solid #dedede;
    border-radius: 0.75rem;
    background-color: #ffffff;
    font-size: 1rem;
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s; }
    .registration .checkout .plan-option:hover {
      border-color: #4a67b3; }
    .registration .checkout .plan-option.selected {
      border-color: #1C449B;
      background-color: #E7E9F1; }
    .registration .checkout .plan-option:focus-within {
      box-shadow: 0 0 0 3px rgba(28, 68, 155, 0.25); }
    .registration .checkout .plan-option input[type=radio] {
      flex-shrink: 0;
      width: 1.35rem;
      height: 1.35rem;
      margin: 0;
      accent-color: #1C449B; }
  .registration .checkout .plan-option-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0; }
  .registration .checkout .plan-option-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #2d2d2d; }
  .registration .checkout .plan-option-badge {
    margin-top: 0.3rem;
    padding: 0.15rem 0.6rem;
    border-radius: 1rem;
    background-color: #dc0423;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    vertical-align: middle; }
  .registration .checkout .plan-option-detail {
    color: #6c6c6c;
    font-size: 0.95rem; }
    .registration .checkout .plan-option-detail s {
      margin-right: 0.25rem; }
  .registration .checkout .plan-option-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    white-space: nowrap; }
    .registration .checkout .plan-option-price strong {
      font-size: 1.4rem;
      color: #2d2d2d; }
  .registration .checkout .plan-option-unit {
    color: #6c6c6c;
    font-size: 0.9rem; }
  .registration .checkout .checkout-sign-in p {
    margin: 0 0 0.25rem; }
  .registration .checkout .checkout-account-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    background-color: #f3f3f3; }
    .registration .checkout .checkout-account-summary p {
      margin: 0; }
  .registration .checkout .checkout-account-email {
    color: #6c6c6c;
    word-break: break-word; }
  .registration .checkout #payment-options.checkout-payment-options {
    flex-direction: column;
    flex-wrap: nowrap;
    margin: 0;
    border: 1px solid #dedede;
    border-radius: 0.75rem;
    overflow: hidden; }
    .registration .checkout #payment-options.checkout-payment-options .nav-item + .nav-item {
      border-top: 1px solid #dedede; }
    .registration .checkout #payment-options.checkout-payment-options .nav-item .nav-link {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 0.85rem;
      width: auto;
      height: auto;
      margin: 0;
      padding: 0.9rem 1.1rem;
      border: 0;
      border-radius: 0;
      background-color: #ffffff;
      color: #2d2d2d; }
      .registration .checkout #payment-options.checkout-payment-options .nav-item .nav-link:hover {
        background-color: #f3f3f3; }
      .registration .checkout #payment-options.checkout-payment-options .nav-item .nav-link.active {
        background-color: #E7E9F1; }
    .registration .checkout #payment-options.checkout-payment-options .payment-option-check {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      width: 1.35rem;
      height: 1.35rem;
      margin-left: 0.4rem;
      border: 2px solid #6c6c6c;
      border-radius: 50%;
      background-color: #ffffff; }
      .registration .checkout #payment-options.checkout-payment-options .payment-option-check .icon {
        width: 0.8rem;
        visibility: hidden;
        filter: brightness(0) invert(1); }
    .registration .checkout #payment-options.checkout-payment-options .active .payment-option-check {
      border-color: #1C449B;
      background-color: #1C449B; }
      .registration .checkout #payment-options.checkout-payment-options .active .payment-option-check .icon {
        visibility: visible; }
    .registration .checkout #payment-options.checkout-payment-options .payment-option-label {
      flex: 1;
      min-width: 0;
      font-size: 1rem;
      font-weight: 600;
      text-align: left;
      color: #2d2d2d; }
    .registration .checkout #payment-options.checkout-payment-options .payment-option-logo {
      flex: 1;
      min-width: 0;
      line-height: 1;
      text-align: left; }
      .registration .checkout #payment-options.checkout-payment-options .payment-option-logo img {
        width: auto;
        height: 26px; }
    .registration .checkout #payment-options.checkout-payment-options .payment-option-logos {
      display: flex;
      flex-shrink: 0;
      align-items: center;
      gap: 0.35rem; }
      .registration .checkout #payment-options.checkout-payment-options .payment-option-logos img {
        width: auto;
        height: 22px; }
    .registration .checkout #payment-options.checkout-payment-options .payment-option-stack {
      display: flex;
      flex: 1;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.4rem;
      min-width: 0; }
      .registration .checkout #payment-options.checkout-payment-options .payment-option-stack .payment-option-label {
        flex: none; }
    .registration .checkout #payment-options.checkout-payment-options .payment-option-icon-label {
      display: flex;
      align-items: center;
      gap: 0.6rem; }
      .registration .checkout #payment-options.checkout-payment-options .payment-option-icon-label .icon {
        flex-shrink: 0;
        width: 1.1rem;
        opacity: 0.7; }
    .registration .checkout #payment-options.checkout-payment-options .payment-option-saved-detail {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      text-align: left; }
      .registration .checkout #payment-options.checkout-payment-options .payment-option-saved-detail img {
        width: auto;
        height: 22px; }
      .registration .checkout #payment-options.checkout-payment-options .payment-option-saved-detail span {
        display: inline;
        font-size: 0.9rem;
        font-weight: 400;
        color: #6c6c6c; }
  .registration .checkout #payment-tabs {
    margin-top: 1.5rem; }
  .registration .checkout .payment-type-title {
    display: none; }
  .registration .checkout .checkout-card-form label {
    display: block;
    white-space: nowrap; }
  .registration .checkout .checkout-card-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.5rem; }
    .registration .checkout .checkout-card-label label {
      margin-bottom: 0; }
  .registration .checkout .checkout-cvv-help {
    font-size: 0.85rem;
    white-space: nowrap; }
  .registration .checkout .checkout-card-expiration {
    display: flex;
    gap: 0.75rem; }
    .registration .checkout .checkout-card-expiration .payment-container-field {
      flex: 1;
      min-width: 0; }
  .registration .checkout .press {
    margin-top: 3rem;
    padding: 2.5rem 0 1rem;
    border-top: 1px solid #dedede; }
  .registration .checkout .checkout-terms {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #dedede;
    font-size: 0.8rem; }
  .registration .checkout .checkout-wallet-account {
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    background-color: #f3f3f3; }
    .registration .checkout .checkout-wallet-account p {
      margin: 0 0 0.5rem; }
  .registration .checkout .checkout-submit {
    padding-top: 1.5rem;
    border-top: 1px solid #dedede; }
    .registration .checkout .checkout-submit #payment-submit button {
      margin-top: 1.5rem;
      padding: 0.75em 0;
      font-size: 1.2rem; }
  .registration .checkout .checkout-total {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem; }
  .registration .checkout .checkout-total-plan {
    flex: 1;
    min-width: 0; }
    .registration .checkout .checkout-total-plan p {
      margin: 0; }
    .registration .checkout .checkout-total-plan .summary-plan-name {
      font-size: 1.25rem;
      font-weight: 700;
      color: #2d2d2d; }
    .registration .checkout .checkout-total-plan .summary-plan-description {
      margin-top: 0.25rem;
      font-size: 0.9rem;
      color: #6c6c6c; }
  .registration .checkout .checkout-total-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    white-space: nowrap; }
    .registration .checkout .checkout-total-price strong {
      font-size: 2rem;
      font-weight: 400;
      line-height: 1.1;
      color: #2d2d2d; }
  .registration .checkout .checkout-total-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6c6c6c;
    text-transform: uppercase; }
  .registration .checkout .checkout-trust {
    padding: 1.5rem;
    border: 1px solid #dedede;
    border-top: 4px solid #376e26;
    border-radius: 0.75rem;
    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); }
  .registration .checkout .checkout-trust-badge {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(55, 110, 38, 0.25);
    border-radius: 0.6rem;
    background-color: rgba(55, 110, 38, 0.07); }
    .registration .checkout .checkout-trust-badge p {
      margin: 0;
      font-size: 0.875rem;
      color: #6c6c6c; }
    .registration .checkout .checkout-trust-badge strong {
      font-size: 1.05rem;
      color: #376e26; }
  .registration .checkout .checkout-trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #376e26; }
    .registration .checkout .checkout-trust-icon .icon {
      width: 1.1rem;
      filter: brightness(0) invert(1); }
  .registration .checkout .checkout-trust-list {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none; }
    .registration .checkout .checkout-trust-list li {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      margin-bottom: 0.75rem;
      font-size: 0.875rem;
      color: #6c6c6c; }
    .registration .checkout .checkout-trust-list strong {
      color: #2d2d2d; }
    .registration .checkout .checkout-trust-list .icon {
      flex-shrink: 0;
      width: 1.1rem;
      margin-top: 0.15rem;
      opacity: 0.7; }
  .registration .checkout .checkout-payment-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0.25rem 0 0.75rem; }
    .registration .checkout .checkout-payment-logos img {
      width: auto;
      height: 24px; }
  .registration .checkout .checkout-security-links {
    margin: 0;
    font-size: 0.875rem; }
  .registration .checkout .checkout-secure-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: auto;
    padding: 0.2rem 0.65rem;
    border-radius: 1rem;
    background-color: rgba(55, 110, 38, 0.1);
    color: #376e26;
    font-size: 0.8rem;
    font-weight: 600; }
    .registration .checkout .checkout-secure-tag .icon {
      width: 0.75rem;
      filter: invert(33%) sepia(56%) saturate(479%) hue-rotate(61deg) brightness(91%) contrast(89%); }
  .registration .checkout .plan-option-notice {
    color: #dc0423;
    font-size: 0.9rem;
    font-weight: 500; }
  .registration .checkout .checkout-benefits {
    margin: 1.75rem 0 2.5rem;
    padding: 1.5rem;
    border-radius: 0.75rem;
    background-color: rgba(28, 68, 155, 0.05); }
    .registration .checkout .checkout-benefits h3 {
      margin: 0 0 1.25rem;
      font-size: 1.1rem;
      font-weight: 700;
      text-align: center; }
  .registration .checkout .checkout-benefit-list {
    margin: 0;
    padding: 0;
    list-style: none; }
    .registration .checkout .checkout-benefit-list li {
      display: flex;
      align-items: center;
      gap: 0.85rem;
      margin-bottom: 1rem;
      font-size: 0.95rem;
      font-weight: 400;
      line-height: 1.45;
      color: #2d2d2d; }
      .registration .checkout .checkout-benefit-list li:last-child {
        margin-bottom: 0; }
    .registration .checkout .checkout-benefit-list strong {
      font-weight: 700; }
  .registration .checkout .checkout-benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: #1C449B; }
    .registration .checkout .checkout-benefit-icon .icon {
      width: 1rem;
      filter: brightness(0) invert(1); }
  .registration .checkout .checkout-help {
    margin: 1.5rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid #dedede;
    font-size: 0.875rem;
    color: #6c6c6c; }

@media (max-width: 991.98px) {
  .registration .checkout {
    padding: 0; }
    .registration .checkout .checkout-main {
      padding-right: 15px; }
    .registration .checkout .checkout-aside {
      margin-top: 1rem; } }

@media (max-width: 575.98px) {
  .registration .checkout .checkout-hero h1 {
    font-size: 1.5rem; }
  .registration .checkout .plan-option {
    padding: 0.85rem 1rem;
    gap: 0.75rem; }
  .registration .checkout .plan-option-price strong {
    font-size: 1.15rem; }
  .registration .checkout .plan-option-title {
    font-size: 1.05rem; }
  .registration .checkout .plan-option-badge {
    padding: 0.1rem 0.45rem;
    font-size: 0.65rem; }
  .registration .checkout .checkout-card-form label {
    font-size: 0.9rem; }
  .registration .checkout .checkout-card-label {
    gap: 0.35rem; }
  .registration .checkout .checkout-cvv-help {
    font-size: 0.78rem; }
  .registration .checkout .checkout-card-expiration {
    gap: 0.4rem; }
  .registration .checkout #payment-options.checkout-payment-options .nav-item .nav-link {
    gap: 0.6rem;
    padding: 0.8rem 0.85rem; }
  .registration .checkout #payment-options.checkout-payment-options .payment-option-logos img {
    height: 18px; }
  .registration .checkout #payment-options.checkout-payment-options .payment-option-logo img {
    height: 22px; } }

@media (max-width: 374.98px) {
  .registration .checkout .plan-option-savings {
    display: none; } }
