#payment_method_month, #payment_method_year {
  width: 100%;
  height:32px;
  margin-top:2px;
}
#ccv-container > .field {
  margin-bottom: 0;
}

.paymentInput.identified {
  border-color:#2ecc71;
}

.paymentInput.identified:focus {
  border-color:#2ecc71;
  box-shadow: 0 0 .1875em #2ecc71;
}

.cc-num__wrap {
  position:relative;
}
.credit_card {
  text-indent:32px;
}
.cc_card {
  position:relative;
  display:block;
  left: 6px;
  top: -17px;
  margin-top:-10px;
  width:28px;
  height:19px;
  background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPGc+CgkJPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjExMSw3Ni4yOTZjMCwyLjg0NCwyLjMwNSw1LjE0OCw1LjE0Nyw1LjE0OGg4MS44OTEgICAgYzIuODQxLDAsNS4xNDctMi4zMDUsNS4xNDctNS4xNDh2LTMyLjg5SDMuMTExVjc2LjI5NnogTTY5LjY3OSw1NS42OTdoMTUuOTE0djE1LjkxNEg2OS42NzlWNTUuNjk3eiBNOTAuMTQ5LDE3LjUwM0g4LjI1OCAgICBjLTIuODQyLDAtNS4xNDcsMi4zMDUtNS4xNDcsNS4xNDd2Ny42OTNoOTIuMTg2VjIyLjY1Qzk1LjI5NywxOS44MDgsOTIuOTksMTcuNTAzLDkwLjE0OSwxNy41MDN6Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+) no-repeat center center;
  background-size: 100%;
}

.cc_card.inline {
  left: 0px;
  top: 5px;
  margin-top: 0px;
  display: inline-block;
}

.cc_card_valid {
  position:relative;
  display:block;
  left:calc(100% - 22px);
  top:-23px;
  margin-top:-10px;
  width:28px;
  height:19px;
  margin-bottom: -15px;
}
.cc_card_valid.font-warning-sign {
  color:red;
}

.cardInfo__cc-exp,
.cardInfo__cc-cvc {
  float:left;
  max-width:4.875em;
}

.cardInfo__cc-exp {
  margin-right:.75em;
}

.credit_card.visa + .cc_card {
  background:url(https://dv36c15u2wg3n.cloudfront.net/assets/cards/visa-db1bf36c5087e161f768df434188299de70e408e00c121bfcd61e0e60d3491c5.png) no-repeat center center;
  background-size: 99%;
}

.credit_card.amex + .cc_card {
  background:url(https://dv36c15u2wg3n.cloudfront.net/assets/cards/amex-f04508a2259a10979cab4abb76ececf1de7a7c684ff5e9757aa7157d0230d105.png) no-repeat center center;
  background-size: 99%;
}

.credit_card.mastercard + .cc_card {
  background:url(https://dv36c15u2wg3n.cloudfront.net/assets/cards/mastercard-e62ef149ccf6e68e7cedd40c73b405fbd3d5e9f890b31781dc6c6324fc61910f.png) no-repeat center center;
  background-size: 99%;
}

.credit_card.dinersclub + .cc_card {
  background:url(https://dv36c15u2wg3n.cloudfront.net/assets/cards/diners-0bba3842e7e4f6dc7a861cd66a522fa78f5ca95ad6a0c04ecefca2f9fd4eb3b6.png) no-repeat center center;
  background-size: 99%;
}

.credit_card.discover + .cc_card {
  background:url(https://dv36c15u2wg3n.cloudfront.net/assets/cards/discover-af90db9625517ae5368fb9f95e3aafa0d8a28318dc396328b3d152a4a020ba5d.png) no-repeat center center;
  background-size: 99%;
}
#form-errors {
  background: #bd4b4b;
  color: white;
  padding: 10px;
  margin: 20px;
  font-size: 120%;
}

.pass-graybar {
    height: 3px;
    background-color: #ccc;
    width: 100%;
    position: relative;
    top: -6px;
}
.pass-colorbar {
    height: 3px;
    background-image: url(https://dv36c15u2wg3n.cloudfront.net/assets/passwordstrength-d97d90d4801bb5d1df100beef60406e8365aad7db86d0abfaee997c1b56a00b4.jpg);
    position: absolute;
    top: 0;
    left: 0;
}
.pass-percent,
.pass-text {
    font-size: 1em;
}
.pass-percent {
    margin-right: 5px;
}

/*


*/

@font-face {
  font-family: 'ctm-user-signup';
  src: url(https://dv36c15u2wg3n.cloudfront.net/assets/ctm-user-signup-d0f974f22622ea0de2a59bdaf9006481a0c8f6ea858eb1a318ebd6ac277eb45c.eot);
  src: url(https://dv36c15u2wg3n.cloudfront.net/assets/ctm-user-signup-d0f974f22622ea0de2a59bdaf9006481a0c8f6ea858eb1a318ebd6ac277eb45c.eot#iefix) format('embedded-opentype'),
       url(https://dv36c15u2wg3n.cloudfront.net/assets/ctm-user-signup-20ded0d29b8e0e8fa013e874c3cd21e0cf24d84ce16124194770345eb6393482.woff) format('woff'),
       url(https://dv36c15u2wg3n.cloudfront.net/assets/ctm-user-signup-d264081b55fdbd255f2b25b7f337caaef8af77761dfeb0baa00a2fb06be9fd19.ttf) format('truetype'),
       url(https://dv36c15u2wg3n.cloudfront.net/assets/ctm-user-signup-3df2a6351358d5affbc244537b14acee91dbbcac73a56e9d783cc4c64c0a3f53.svg) format('svg');
  font-weight: normal; font-style: normal;
}
.icon-checkmark:before {
  content: '\e80c';
}
.icon-secured-letter:before {
  content: '\e811';
}
.icon-credit-card:before {
  content: '\e80d';
}
.icon-inbox:before {
  content: '\e80e';
}
.icon-protect:before {
  content: '\e80f';
  margin: 2px -1px 0 0;
}
.icon-user:before {
  content: '\e810';
}
html {
  /*background: url(https://dv36c15u2wg3n.cloudfront.net/assets/userflow_bg-d591ee4fee5131bc3f487bf3255e383036e9004f8cde8952f7b86294cf1d0ce8.svg) no-repeat center center fixed !important;*/
  background: #F5FCFE !important;
  background-size: cover!important;
}
html.narrow-form {
  background: #F5FCFE !important;
}
body {
  background: transparent;
}

#sign-up-wrapper header {
  height: 70px;
  display: flex;
  align-items: center;
  /*justify-content: center;*/
  border-bottom: 1px solid #ccc;
}
#sign-up-wrapper header .ctm-logo {
  width: auto;
  height: 42px;
  margin-left: 42px;
}
#sign-up-wrapper footer {
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 0 0 0;
  border-top: solid 1px #ccc;
}
#sign-up-wrapper .continue.button,
#sign-up-wrapper footer .button {
  margin-bottom: 0;
  margin-left: 8px;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 42px;
  padding: 0 32px;
  background-color: #03bdf5;
  color: #fff !important;
}
#sign-up-wrapper .continue.button:hover,
#sign-up-wrapper footer .button:hover {
  background-color: #00a1d6;
}
#sign-up-wrapper .continue.button i,
#sign-up-wrapper footer .button i {
  font-size: 14px;
  margin-left: 8px;
  opacity: 0.3;
}
#sign-up-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow-x: auto;
}
#sign-up-wrapper .sign-up-window {
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  xalign-items: center;
  xjustify-content: center;
  height: 100%;
  padding: 20px;
}
#sign-up-wrapper .sign-up-window .sign-up-card {
  /*border: 1px solid #ccc;*/
  border-radius: var(--border-radius);
  background: #fff;
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
#sign-up-wrapper:not(.narrow-form) .sign-up-window .sign-up-card {
  box-shadow: rgba(0, 0, 0, 0.07) 0px 0px 0px 1px, rgba(0, 0, 0, 0.08) 0px 2px 3px -1px, rgba(0, 0, 0, 0.02) 0px 1px 0px 0px;
}
#sign-up-wrapper.narrow-form .sign-up-window .sign-up-card {
  background: transparent;
}
#sign-up-wrapper .timeline-scroll {
  display: none;
  padding: 30px;
  background: #f6f6f9;
  overflow-x: auto;
}
#sign-up-wrapper .sign-up-timeline {
  /*background: #f6f6f9;*/
  display: flex;
  /*padding: 30px;*/
  align-items: center;
  justify-content: space-between;
  min-width: 800px;
}
#sign-up-wrapper .su-icon {
  font-family: "ctm-user-signup";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 24px;
}
#sign-up-wrapper .su-step {
  flex-grow: 1;
  text-align: center;
  background-color: #f6f6f9;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  position: relative;
}
#sign-up-wrapper .su-step .su-icon {
  display: none;
}
#sign-up-wrapper .su-step.active .su-icon {
  border: solid 2px #6493df;
  width: 41px;
  align-self: center;
  border-radius: 50%;
  height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  background-color: #6493df;
  z-index: 1;
}
#sign-up-wrapper .su-step.active .su-icon.icon-checkmark,
#sign-up-wrapper .su-step.active .su-timeline-number {
  display: none
}
#sign-up-wrapper .su-step.complete .su-icon,
#sign-up-wrapper .su-step.complete .su-timeline-number {
  display: none;
}
#sign-up-wrapper .su-step.complete .su-icon.icon-checkmark {
  border: solid 2px #6493df;
  width: 30px;
  align-self: center;
  border-radius: 50%;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  background-color: #6493df;
  z-index: 1;
}
#sign-up-wrapper .su-icon.icon-checkmark {
  font-size: 18px;
  display: none;
}
#sign-up-wrapper .su-icon.icon-secured-letter {
  font-weight: 100;
}
#sign-up-wrapper .su-icon.icon-protect {
  font-weight: 600;
}
#sign-up-wrapper .su-icon.icon-user {
  font-weight: 600;
}
#sign-up-wrapper .su-timeline-number {
  border: solid 2px #ccc;
  width: 30px;
  align-self: center;
  border-radius: 50%;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-weight: 600;
  background-color: #f6f6f9;
  z-index: 1;
}
#sign-up-wrapper .verify-email.complete,
#sign-up-wrapper .confirm-email.complete,
#sign-up-wrapper .profile.complete {
  cursor: pointer;
}
#sign-up-wrapper .check-inbox {
  flex-basis: 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
#sign-up-wrapper .check-inbox p {
  margin: 4px
}
#sign-up-wrapper .timeline-dot {
  height: 10px;
  width: 10px;
  background-color: #ccc;
  border-radius: 50%;
  margin: 5px 0;
  z-index: 1;
}
#sign-up-wrapper .check-inbox.complete .timeline-dot {
  background-color: #6493df;
}
#sign-up-wrapper .check-inbox .horz-line {
  width: 100%
}
#sign-up-wrapper .font-info-2 {
  margin: 4px;
  font-size: 11px;
  color: #b1b1b1;
}
#sign-up-wrapper .check-inbox-text .font-info-2:before {
  vertical-align: 4px;
}
#sign-up-wrapper .horz-line {
  border-bottom: solid 2px #ccc;
  width: 50%;
  position: absolute;
  top: 50%;
  z-index: 0;
}
#sign-up-wrapper .horz-line.start {
  left: 0;
}
#sign-up-wrapper .horz-line.end {
  margin-left: 50%;
}
#sign-up-wrapper .active .horz-line.start {
  border-bottom: solid 2px #6493df;
}
#sign-up-wrapper .complete .horz-line {
  border-bottom: solid 2px #6493df;
}
#sign-up-wrapper .su-step:first-of-type .horz-line {
  margin-left: 50%;
  width: 50%;
}
#sign-up-wrapper .su-step:last-of-type .horz-line {
  left: 0;
  width: 50%;
}
#sign-up-wrapper .step-label {
  position: absolute;
  top: 35px;
  font-size: 12px;
}
#sign-up-wrapper .active .step-label {
  top: 44px;
}
#sign-up-wrapper .col-2-fields {
  display: flex;
  flex-direction: column;
}
#sign-up-wrapper .col-2-fields .field {
  width: 100%;
}
#sign-up-wrapper .sign-up-content {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
#sign-up-wrapper .sign-up-content h2 {
  font-weight: 600;
  font-size: 22px;
  margin: 0 0 16px;
}
#sign-up-wrapper .sign-up-content input {
  width: 100%;
  border-radius: var(--border-radius);
}
#sign-up-wrapper .sign-up-content .why-text {
  max-width: 400px;
  margin-top: 30px;
}
#sign-up-wrapper .sign-up-content .why-text h4 {
  font-weight: 600;
  font-size: 14px;
}
#sign-up-wrapper .details-left {
  margin-bottom: 50px;
}
#sign-up-wrapper .details-right {
  flex-basis: 350px;
}
#sign-up-wrapper.narrow-form .details-right {
  flex-basis: 500px;
}
#sign-up-wrapper.narrow-form  #wizard-buttons,
#sign-up-wrapper.narrow-form  #signup_summary {
  display: none;
}
#sign-up-wrapper.narrow-form .details-right.checkout-summary {
  display: flex;
  align-items: center;
}
#sign-up-wrapper.narrow-form .icon-reason {
  width: 32px;
}
#sign-up-wrapper ul.summary-reasons {
  display:none;
}
#sign-up-wrapper.narrow-form ul.summary-reasons {
  display:block;
  list-style: none;
  padding: 0;
}
#sign-up-wrapper.narrow-form .summary-reasons {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

#sign-up-wrapper.narrow-form .summary-reasons li {
  position: relative;
  padding-left: 60px;
  margin-bottom: 42px;
  font-size: 1em;
  color: #333;
}

#sign-up-wrapper.narrow-form  .summary-reasons li b {
  font-size: 1.1em;
}
#sign-up-wrapper.narrow-form  .icon-reason {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
}

#sign-up-wrapper .checkout-summary hr {
  border-bottom: solid 1px #ccc;
}
#sign-up-wrapper .checkout-summary h3 {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
}
#sign-up-wrapper .item-cost-split {
  display: flex;
  justify-content: space-between;
  margin: 8px 0;
}
#sign-up-wrapper .item-cost-split.promo-code-section {
  display: flex;
  align-items: center;
  align-content: center;
}
#sign-up-wrapper .select-length label {
  display: block;
  width: calc(100% - 30px);
  float: right;
}
#sign-up-wrapper .select-length span {
  float: right;
  text-align: right;
}

#sign-up-wrapper .select-length {
  padding: 4px 8px;
}
#sign-up-wrapper .select-plan {
  padding: 4px 8px;
}
#sign-up-wrapper .summary-spacer {
  height: 16px;
}
#sign-up-wrapper .starting-balance {
  min-width: 90px;
  padding: 4px 8px;
}
#sign-up-wrapper .field {
  margin-bottom: 16px;
}
@media only screen and (min-width: 545px) {
  #sign-up-wrapper .sign-up-window {
      padding: 0px;
  }
  #sign-up-wrapper .sign-up-content {
      padding: 0px;
  }
}
@media only screen and (min-width: 961px) {
  #sign-up-wrapper .sign-up-content {
      padding: 50px;
      display: flex;
      justify-content: space-between;
      flex-direction: row;
      min-height: 842px;
  }
  #sign-up-wrapper .step-4 .sign-up-content {
      flex-direction: row;
  }
  #sign-up-wrapper .col-2-fields {
      flex-direction: row;
      justify-content: space-between;
  }
  #sign-up-wrapper .col-2-fields .field {
      width: 48%;
  }

  #sign-up-wrapper .col-2-fields .field input {
      width: 100%
  }
  #sign-up-wrapper .details-left {
    margin-bottom: 0;
    margin-right: 100px;
    flex-grow: 1;
    overflow:hidden;
    position:relative; /* so the slignIn effect is boxed */
  }
}
@keyframes slideInRight {
  from {
    transform: translate3d(100vw, 0px, 0);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes slideOutRight {
  from {
    transform: translate3d(0px, 0px, 0);
    opacity: 1;
  }
  to {
    transform: translate3d(100vw, 0, 0);
    opacity: 0;
  }
}
@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0px, 0);
    opacity: 1;
  }
  to {
    transform: translate3d(-100vw, 0, 0);
    opacity: 0;
  }
}
@keyframes slideInLeft {
  from {
    /*transform: translate3d(-100vw, 0px, 0);*/
    transform: translate(-100vw, 0px);
    opacity: 0;
  }
  to {
    transform: translate(0px, 0px);
    /*transform: translate3d(0px, 0, 0);*/
    opacity: 1;
  }
}

.signup_section {
  overflow:hidden;
}

.signup_section.in {
  top:0;
  animation-duration: 0.3s;
  animation-fill-mode: both;
  animation-name: slideInRight;
  transition: all 0.3s ease-in-out;
  position:absolute;
}
.signup_section.out {
  top:0;
  animation-duration: 0.3s;
  animation-fill-mode: both;
  animation-name: slideOutLeft;
  transition: all 0.3s ease-in-out;
  position:absolute;
}
.signup_section.left-in {
  animation-duration: 0.3s;
  animation-fill-mode: both;
  animation-name: slideInLeft;
  transition: all 0.3s ease-in-out;
  position:absolute;
}
.signup_section.right-out {
  animation-duration: 0.3s;
  animation-fill-mode: both;
  animation-name: slideOutRight;
  transition: all 0.3s ease-in-out;
  position:absolute;
}
.signup_section.right-out label,
.signup_section.out label {
  display:none;
}
.signup_section.stable {
  animation-name: none;
  transition: none;
}
.signup_section .field select {
  width: 100%;
  padding: 6px;
}
form {
  margin-bottom:0;
}
#messages .alert {
  border-radius:0;
}
.agreement-paragraph {
  min-height: 160px;
}
#signup_user_email {
  max-width: 350px;
}
#sign-up-wrapper .link-google {
  display: block;
  width: 200px;
  height: 38px;
  padding: 0.375rem 0.75rem;
  border-width: 1px;
  outline: 0px;
  user-select: none;
  cursor: pointer;
  background-color: unset;
  color: rgba(0, 0, 0, 0.62);
  border-radius: 0.375rem;
  box-shadow: rgba(0, 0, 0, 0.07) 0px 0px 0px 1px, rgba(0, 0, 0, 0.08) 0px 2px 3px -1px, rgba(0, 0, 0, 0.02) 0px 1px 0px 0px;
  isolation: isolate;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  transition-property: background-color, background, border-color, color, fill, stroke, opacity, box-shadow, transform;
  transition-duration: 100ms;
  font-family: inherit;
  letter-spacing: normal;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.38462;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.07);
  gap: 1rem;
  position: relative;
  -webkit-box-pack: start;
  justify-content: flex-start;
}
#sign-up-wrapper .link-google:hover {
  background-color: rgba(0, 0, 0, 0.03);
}
#sign-up-wrapper .link-google .google-icon {
  width: 26px;
  height: 26px;
  display: inline-block;
}
#sign-up-wrapper .link-google span {
  box-sizing: border-box;
  margin: 0px;
  font-size: 1.3125rem;
  font-family: inherit;
  letter-spacing: normal;
  font-weight: 500;
  line-height: 1.38462;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
#sign-up-wrapper .or-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 16px 0;
  max-width: 350px;
}
#sign-up-wrapper .or-divider .line-left,
#sign-up-wrapper .or-divider .line-right {
  background: #ccc;
  height: 2px;
  display:inline-block;
  width: calc(50% - 40px);
}
#sign-up-wrapper .or-divider .line-left {
  margin-right: 20px;
}
#sign-up-wrapper .or-divider .line-right {
  margin-left: 20px;
}
.narrow-form #wizard-step {
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  border-radius: var(--border-radius);
  padding: 20px;
  max-width: 450px;
  min-width: 420px;
  background: #fff;
  position: relative;
}
.narrow-form #wizard-step .why-text {
  margin: 0 -20px;
  background: #f6f6f9;
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 20px;
  max-width: 600px;
}
.narrow-form #wizard-step .why-text {
  margin: 0 -55px;
}

/* flex for narrow-form */
/* Style the outer container to center the form on the page */
.narrow-form #wizard-step .signup_section {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Style the form itself with Flexbox for vertical stacking */
.narrow-form #wizard-step form {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  width: 100%;
  max-width: 400px; /* Limit width for larger screens */
  height: 600px;
}

/* Style the heading */
.narrow-form #wizard-step form h3 {
  margin-bottom: 10px;
  font-size: 24px;
  color: #333; /* Dark gray for readability */
}

/* Style the welcome paragraph */
.narrow-form #wizard-step .why-text p {
  margin-bottom: 20px;
  color: #666; /* Lighter gray for secondary text */
  text-align: left;
}

/* Style the Google sign-up button */
.narrow-form #wizard-step .link-google {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 4px;
  cursor: pointer; /* Indicate it's clickable */
  margin-bottom: 20px;
  width: 100%; /* Full width of the form */
  height: 42px;
}

.narrow-form #wizard-step .link-google .google-icon {
  width: 20px;
  height: 20px;
  margin-right: 10px;
  /* Background is already set in your inline style, so no need to repeat */
}

.narrow-form #wizard-step .link-google span {
  font-size: 16px;
}

/* Style the "or" divider */
.narrow-form #wizard-step .or-divider {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 20px;
}

.narrow-form #wizard-step .or-divider .line-left,
.narrow-form #wizard-step .or-divider .line-right {
  flex: 1; /* Equal width for both lines */
  height: 1px;
  background-color: #ccc; /* Light gray line */
}

.narrow-form #wizard-step .or-divider strong {
  margin: 0 10px; /* Spacing around "or" */
  color: #666;
}

/* Style the email input field container */
.narrow-form #wizard-step .field.textfield {
  width: 100%;
  margin-bottom: 20px;
}

.narrow-form #wizard-step .field.textfield label {
  display: block;
  margin-bottom: 5px;
  color: #333;
}

.narrow-form #wizard-step .field.textfield input[type="text"],
input.text {
  width: 100%;
  font-size: 16px;
  height: 42px;
}
.narrow-form #wizard-step .field.textfield input[type="text"]:focus {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Hide the clear-break div since Flexbox handles layout */
.narrow-form #wizard-step .clear-break {
  display: none;
}

/* Style the submit button */
.narrow-form #wizard-step button.callout.button.continue {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 0;
}
/* Ensure the button is a positioning context */
#sign-up-wrapper .button-with-loading {
  position: relative;
  transition: background-color, box-shadow 0.8s ease;
}
#sign-up-wrapper .error-message {
  color: #dc3545;
  font-size: 14px;
  margin-top: 10px;
}

/* Style the loading carets container */
.button-with-loading .loading-dots {
  display: none; /* Hidden by default */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  gap: 5px; /* Space between carets */
}
#sign-up-wrapper .button-with-loading.processing {
  background-color: #0288d1;
  cursor: not-allowed;
  box-shadow: inset 0 3px 4px rgba(0, 0, 0, 0.2);
}

/* Show loading carets when processing */
.button-with-loading.processing .loading-dots {
  display: flex;
}
.button-with-loading.processing .ll {
  display: none;
}

/* Hide original text and caret when processing */
.button-with-loading.processing > .button-text,
.button-with-loading.processing > .font-caret-right {
  visibility: hidden;
}

/* Style and animate each caret */
.loading-dots i {
  font-size: 24px; /* Larger size, adjust as needed */
  opacity: 0;
  animation: caret-fade 1.5s infinite;
}

/* Stagger the animation for each caret */
.loading-dots .caret2 {
  animation-delay: 0.5s;
}

.loading-dots .caret3 {
  animation-delay: 1s;
}

/* Animation keyframes for fading effect */
@keyframes caret-fade {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}

.narrow-form #wizard-step button.callout.button.continue i {
  margin-left: 5px; /* Space for the caret icon */
}

.narrow-form #wizard-step .why-text a {
  color: #007bff;
  text-decoration: none;
}

.narrow-form #wizard-step .why-text a:hover {
  text-decoration: underline; /* Underline on hover for links */
}
#card-form {
  max-width: 310px;
}

body.payment_processing .checkout-summary,
body.payment_processing form {
  display:none;
}
.loader-status {
  width: 400px;
  margin: 0 auto;
  text-align: center;
}
.step-loader {
  position: absolute;
  top: 0;
  height: 80px;
  width: 100%;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.5s linear;
}
.step-loader .lll {
  text-align: center;
  width: 100%;
  display: block;
  line-height: 42px;
}
.loader-active .step-loader {
  visibility: visible;
  opacity: 1;
}
.signup_section {
  transition: opacity 0.5s linear;
  opacity: 1;
}
.loader-active .signup_section {
  opacity: 0.6;
}
.cc_card {
  top: -22px;
}
.cc_card_valid {
  top: -27px;
}
ctm-phone-input.text,
ctm-phone-input.text::part(tel), ctm-phone-input.text::part(box), ctm-phone-input.text::part(country), ctm-phone-input.text::part(form) {
  height: 42px;
  line-height: 42px;
  font-size: 16px;
}
ctm-phone-input.text::part(form) {
  border-bottom: 1px solid #ccc;
}
ctm-phone-input.text::part(form):hover {
  border-color: var(--primary-color);
}
/* for small screens high the checkout-summary */
@media (max-width: 960px) {
  .narrow-form #sign-up-wrapper.narrow-form .details-right.checkout-summary {
    display: none;
  }
}

.progress {
  border-radius: 0;
}
.progress .progress-bar {
  background: #03bdf5;
}

/* Enhance animation properties for smoother transitions */
@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0);
    visibility: hidden;
    opacity: 0;
  }
}

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  to {
    transform: translate3d(-100%, 0, 0);
    visibility: hidden;
    opacity: 0;
  }
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

html.narrow-form #wizard-step #messages {
  margin: -20px;
  margin-bottom: 20px;
}
#card_country {
  height: 42px;
  font-size: 14px;
}
#wizard-step .select2-container .select2-choice {
  height:42px;
  line-height:42px;
}
