.activenow-form-field.activenow-radio-input-component {
  --activenow-radio-accent-color: #6F5BA5;
  --activenow-radio-gap: 16px;
  --activenow-radio-size: 16px;
  --activenow-radio-border-width: 1px;
  --activenow-radio-inner-gap: 3px;

  display: flex;
  flex-direction: row;
  gap: var(--activenow-radio-gap);
  margin-top: 8px;
}

.activenow-form-field.activenow-radio-input-component.activenow-radio-input-component-inline {
  --activenow-radio-accent-color: #2E69FD;
  --activenow-radio-gap: 32px;
  --activenow-radio-size: 20px;
  --activenow-radio-border-width: 2px;

  margin-top: 16px;
}

.activenow-form-field.activenow-radio-input-component .activenow-radio-input-component-option {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  width: auto;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.activenow-form-field.activenow-radio-input-component-inline .activenow-radio-input-component-option {
  margin: 0;
}

.activenow-form-field.activenow-radio-input-component input[type="radio"] {
  display: block;
  align-self: center;
  flex: 0 0 var(--activenow-radio-size);
  width: var(--activenow-radio-size);
  height: var(--activenow-radio-size);
  min-width: var(--activenow-radio-size);
  min-height: var(--activenow-radio-size);
  margin: 0 8px 0 0;
  padding: 0;
  border: var(--activenow-radio-border-width) solid #4B4B4F;
  border-radius: 50%;
  box-sizing: border-box;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.activenow-form-field.activenow-radio-input-component input[type="radio"]:checked {
  border-color: var(--activenow-radio-accent-color);
  background-color: var(--activenow-radio-accent-color);
  box-shadow: inset 0 0 0 var(--activenow-radio-inner-gap) #fff;
}

.activenow-form-field.activenow-radio-input-component .activenow-radio-input-component-label {
  display: inline;
  width: auto;
  margin-top: 1px;
}

.activenow-form-field.activenow-radio-input-component-inline .activenow-radio-input-component-label {
  margin: 0;
  color: #1E1435;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

@media (max-width: 768px) {
  .activenow-form-field.activenow-radio-input-component:not(.activenow-radio-input-component-inline) {
    flex-direction: column;
    gap: 8px;
  }
}

@supports (container-type: inline-size) {
  @container activenow-table-container (max-width: 768px) {
    .activenow-form-field.activenow-radio-input-component-inline {
      flex-direction: column;
      gap: 12px;
    }
  }
}

@supports not (container-type: inline-size) {
  @media (max-width: 768px) {
    .activenow-form-field.activenow-radio-input-component-inline {
      flex-direction: column;
      gap: 12px;
    }
  }
}

.activenow-error {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAApVBMVEUAAADdACLYACfYACfXACjYACfYACfZACbYACfaACbYACfYACfYACfYACfYACfYACfZACbYACfZACb/AADYACfYACfXACjYACfVACvMADPYACfYACfVACvYACfYACfZACbYACfbACTXACjZACbXACjYACfSAC3XACjXACjaACXbACTXACjZACa/AEDYACfYACfYACffACDYACfYACfYACfYACcAAACec2HKAAAANXRSTlMAD2+szu8amfRE6nD95LCQcc1QA07JR5UGBY/sHpcun88HgIWH9hFTgSkxen4EVYLSCH3MkSMZ/egAAAABYktHRACIBR1IAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QkSCiAag73H7AAAAP9JREFUKM91Uul6gkAMHDlERcGKUi20tFjwPqrm/V+tyR5Cv6/kR8jOsJPZ7AI6eo7r+b7nOj20ox8MyMQg6Df4cEStGA0tHo5lPYniOJpINZ6a/wV/mSVSJ/OFMKnSF53Xpd2+euNllnMVcPHO3w+YJEzBPtnP5xdQ0lrSN+9htaqGw/xGIKKtJGbm/Anhsp8Eu8btHgl7c+ERRSx8sHjJi4jIg08US9tjgyMm8p9EqYntkzBSpZVaWylpfvqvudg96+bK7gWYKbtywOsPcNMH5LS8qwOqkQTtkTz0SLqH2Dl2YNpxUUCata82S5tLz4vKwlWR/3kndaifT1gb4BdQmjgfR9t4cQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNy0wOS0xOFQxMDozMjoyNiswMjowML6yBdgAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTctMDktMThUMTA6MzI6MjYrMDI6MDDP771kAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==);
  background-size: 12px 12px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  min-width: 24px;
  min-height: 24px;
}

.checkbox-error{
  background-position-y: 4px;
}

#active-now-submit, #validate-discount-code {
  cursor: pointer;
  margin-top: 5px;
  border: 1px solid #eee;
  padding: 0.375rem 0.75rem;
  border-radius: 5px;
}


#active-now-submit:focus, #validate-discount-code:focus {
  outline: none;
  animation: myColor 0.3s ease-in-out;
}

#active-now-submit {
  background-color: #fff;
  color: rgb(40, 40, 40);
}

#validate-discount-code {
  margin-top: 0;
  text-align: center;
}

@keyframes myColor {
  0% {background: #fff;}
  50% {background: #eee;}
 100% {background: #fff;}
}

.activenow-form-container {
  text-align: left;
  font-size: .9rem;
}

.activenow-form-container .activenow-form-section-header {
  width: 100%;
  margin: 16px 2px 4px;
  color: #6f5ba5;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.activenow-form-container .activenow-parent-toggle-container .activenow-toggle-input-component {
  margin-top: 0;
  margin-bottom: 16px;
}

.activenow-form-container {
  .w-100 { width: 100%; }

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

  .d-flex { display: flex; }

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

  .activenow-form-field {
    width: 100%;
    display: flex;
    align-items: center;

    &.hidden {
      display: none;
    }

    a:link {
      color: black;
    }

    input, select {
      margin: 8px 2px;
      display: inline;
      padding: .45rem 1rem;
      border-radius: 5px;
      border: 1px solid #eee;
      font-size: .9rem;
    }

    label, input[type='checkbox'] {
      width: auto;
      display: inline;
      vertical-align: middle;
      height: -moz-min-content;
      height: min-content;
      margin: 4px;
      margin-bottom: 8px;

      a {
        text-decoration: underline;
      }

      a:hover {
        text-decoration: none;
      }
    }

    label {
      align-self: start;
      margin: 0 5px;
      margin-top: 1px;
    }

    select, input {
      box-sizing: border-box;
      width: 100%;
    }

    select {
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
    }

    input.ios-device:after {
      color: #ccc;
      content: attr(placeholder);
    }
  }

  @media (max-width: 767px) {
    overflow-x: hidden;

    .activenow_confirmation_message {
      width: 200px;
    }
  }

  .activenow_confirmation_message {
    position: fixed;
    top: 100px;
    right: 20px;
    z-index: 1500;
    width: 400px;
    color: #23722b;
    background-color: #daf8dd;
    border-color: #cbf5cf;
    border-radius: 0.25em;
    border-style: solid;
    padding: 10px 20px;

    .close {
      float: right;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1;
      color: #000;
      text-shadow: 0 1px 0 #fff;
      opacity: .5;
      padding: 0;
      background: transparent;
      border: 0;
      -webkit-appearance: none;

      &:hover {
        text-decoration: none;
        opacity: .75;
      }
    }
  }

  .soft-d-none {
    display: none;
  }

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

.activenow-form-class-description {
  width: 100%;
  margin: 10px 0;
  padding: 25px;
  background-color: white;
  color: #333333;

  .activenow-class-row {
    width: 100%;
    border-bottom: 1px solid var(--grey-lightest, #eeeeee);
    padding: 10px 0;

    &:before, &:after {
      content: " ";
      display: table;
    }
    &:after {
      clear: both;
    }

    .activenow-class-label {
      position: relative;
      float: left;
      width: 30%;
      padding-left: 15px;
      padding-right: 15px;
      font-weight: var(--bold-font, 500);
      padding-top: 3px;

      @media (max-width: 767px) {
        float: none;
        width: 100%;
      }
    }

    .activenow-class-value {
      position: relative;
      float: left;
      width: 70%;
      padding-left: 15px;
      padding-right: 15px;
      line-height: 1.75rem;
      margin-block-start: 0;
      margin-block-end: 0;

      @media (max-width: 767px) {
        float: none;
        width: 100%;
      }
    }

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

.activenow-form-section-header + .activenow-form-field.activenow-checkbox-field {
  margin-top: 8px;
}

.activenow-form-section-header + .js-activenow-invoice-section,
.activenow-form-section-header + .activenow-form-field + .js-activenow-invoice-section {
  margin-top: 4px;
}

.activenow-form-field.activenow-checkbox-field {
  align-items: flex-start;
}
