/* Forms and form controls */
.account-dropdown {
  display: none !important;
}
@media (width > 768px) {
.account-dropdown {
    display: flex !important;
}
  }
.account-dropdown.dropdown {
  padding: 0.5rem;
}
.account-dropdown.dropdown > button {
  padding: 0.5rem;
  width: 100%;
}
.account-dropdown.dropdown > button:hover,
.account-dropdown.dropdown > button:active,
.account-dropdown.dropdown > button:focus {
  background-color: var(--medium-purple);
}
.account-dropdown.dropdown > button svg {
  color: var(--scampi-500);
  opacity: 0.5;
}
.account-dropdown.dropdown > button:hover svg,
.account-dropdown.dropdown > button:active svg,
.account-dropdown.dropdown > button:focus svg {
  opacity: 1;
}
.account-dropdown--info {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: 100%;
}
.account-dropdown--info .primary,.account-dropdown--info .secondary {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
.account-dropdown--info .secondary {
    opacity: 0.75;
    font-size: 0.875rem;
  }
.account-dropdown--info .chevron {
    position: absolute;
    top: 5px;
    right: 0;
  }
.calendar-dropdown {
  position: relative;
}
.calendar-dropdown .simple-calendar {
    background: white;
    position: absolute;
    left: 0;
    z-index: calc(infinity);
    padding: 1rem;
    box-shadow: rgb(99 99 99 / 0.2) 0 2px 8px 0;
    font-size: 0.875rem;
  }
:is(.calendar-dropdown .simple-calendar) table,:is(.calendar-dropdown .simple-calendar) td,:is(.calendar-dropdown .simple-calendar) th {
      border: none;
      background: none;
    }
:is(.calendar-dropdown .simple-calendar) td {
      font-size: 0.875rem;
    }
:is(.dark-mode .calendar-dropdown) .simple-calendar {
      background: var(--gray-700);
      color: white;
    }
:is(:is(.dark-mode .calendar-dropdown) .simple-calendar) a {
        color: white;
      }
.active:is(:is(:is(.dark-mode .calendar-dropdown) .simple-calendar) a),:is(:is(:is(.dark-mode .calendar-dropdown) .simple-calendar) a):hover {
          color: black;
        }
.radio-button,
.checkbox {
  align-items: center;
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  gap: 0 0.5rem;
  margin-top: 1rem;
  margin-bottom: 0.25rem;
}
:is(.radio-button,.checkbox) label {
    font-weight: normal;
    margin: 0;
  }
:is(.radio-button,.checkbox) .hint {
    grid-column: 2;
    margin: 0.1rem 0 0;
  }
.checkbox-inline:is(.radio-button,.checkbox) {
    gap: 1rem;
    margin: 0;
  }
.checkbox-inline:is(.radio-button,.checkbox) > * {
      align-items: center;
      display: flex;
      gap: 0.25rem;
    }
.disabled:is(.radio-button,.checkbox) label {
    opacity: 0.5;
  }
.checkbox-button-group,
.radio-button-inline-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
:is(.checkbox-button-group,.radio-button-inline-group) .radio-button,:is(.checkbox-button-group,.radio-button-inline-group) .checkbox {
    gap: 0.25rem;
    margin-top: 0.25rem;
  }
:is(.checkbox-button-group,.radio-button-inline-group) .hint {
    flex: 1 0 100%;
  }
legend + .checkbox,
legend + .radio-button {
  margin-top: 0.25rem;
}
.checkbox-observer:not(.checked) .when-checked {
      display: none;
    }
.color-dropdown .color-field-button {
    border: 1px solid var(--light-gray);
  }
.color-dropdown .color-field {
    padding: 1rem;
  }
.form-control:has(input:disabled) label{
    opacity: 0.5;
  }
form {
  --border-color: var(--medium-gray);
  --border-radius: 4px;
  --input-padding: 0.5rem 0.75rem;
  --input-border: 1px solid var(--medium-gray);
  --button-padding: 0.25rem 0.75rem;
}
form label {
    display: block;
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0.3rem;
    margin-top: 1rem;
  }
:is(form label) input,:is(form label) select {
      margin-top: 0.3rem;
    }
.multiline:is(form label) {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
.multiline:is(form label) > span {
        display: flex;
        gap: 0.5rem;
      }
form form-field {
    display: block;
  }
form .field,form form-field {
    margin-bottom: 1rem;
    width: 100%;
  }
form .inline-fields {
    display: flex;
    gap: 1rem;
    width: 100%;
  }
:is(form .inline-fields) > * {
      flex: 1;
    }
.number:is(:is(form .inline-fields) > *) {
        max-width: 100px;
      }
.narrow:is(:is(form .inline-fields) > *) {
        max-width: 150px;
      }
.wide:is(:is(form .inline-fields) > *) {
        min-width: 250px;
      }
:is(:is(form .inline-fields) > *) input,:is(:is(form .inline-fields) > *) textarea {
        width: 100%;
      }
:is(form .inline-fields) remove-nested-item {
      max-width: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
form label:nth-child(1) {
    margin-top: 0;
  }
form label.is-required::after {
    content: "*";
    color: var(--scampi-700);
    margin-left: 1px;
  }
form div.is-required label::after {
    content: "*";
    color: var(--scampi-700);
    margin-left: 1px;
  }
:is(form dl.hint) dt {
      font-weight: bold;
      margin-top: 1rem;
    }
form input.primary {
    font-size: 1.125rem;
  }
form input[type="email"],form input[type="text"],form input[type="date"],form input[type="datetime-local"],form input[type="number"],form input[type="tel"],form input[type="password"],form textarea {
    border: var(--input-border);
    border-radius: var(--border-radius);
    padding: var(--input-padding);
    width: 100%;
  }
form .limited-width {
    width: 10rem !important;
  }
form textarea {
    display: block;
    resize: vertical;
  }
form input[type="email"]:focus,form input[type="text"]:focus,form input[type="datetime-local"]:focus,form input[type="number"]:focus,form input[type="tel"]:focus,form input[type="password"]:focus,form input[type="submit"]:focus,form textarea:focus,form button:focus-visible,form a:focus-visible {
    outline: 3px solid var(--scampi-200);
  }
form .input-group {
    align-items: center;
    border-radius: var(--border-radius);
    display: inline-flex;
  }
:is(form .input-group):focus-within {
      outline: 3px solid var(--scampi-200);
    }
:is(form .input-group) input {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      width: auto;
    }
:is(:is(form .input-group) input):focus {
        outline: none;
      }
:is(form .input-group) span {
      background-color: var(--light-purple);
      border: var(--input-border);
      border-left: none;
      border-radius: var(--border-radius);
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      padding: var(--input-padding);
    }
form .url-field {
    align-items: center;
    border: var(--input-border);
    border-radius: var(--border-radius);
    display: flex;
    margin-top: 0.3rem;
  }
.suffix:is(form .url-field) input[type="text"] {
        padding-left: 1rem;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
.suffix:is(form .url-field) {

      padding-right: 1rem;
    }
:is(form .url-field) span {
      align-items: center;
      margin-left: 0.75rem;
      opacity: 0.75;
      white-space: nowrap;
    }
:is(form .url-field) input[type="text"] {
      border: none;
      padding: 0.5rem 0.75rem 0.5rem 2px;
      margin: 0;
    }
:is(form .url-field) input[type="text"]:focus {
      box-shadow: none;
    }
form .url-field:focus-within {
    box-shadow: 0 0 0 0.1rem rgb(21 125 251 / 25%);
  }
form .color-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    box-sizing: border-box;
  }
:is(form .color-field) > div {
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      position: relative;
    }
:is(form .color-field) .text-field-wrapper {
      position: relative;
    }
:is(form .color-field) .fa-brush {
      background-color: var(--brush-background-color, transparent);
      border-radius: 4px;
      color: var(--brush-color, var(--light-gray));
      padding: 3px 1px;
    }
:is(form .color-field) .swatch {
      cursor: pointer;
    }
.selected:is(:is(form .color-field) .swatch) {
        outline: 4px solid var(--medium-blue);
      }
:is(form .color-field) input[type="text"] {
      width: 7em;
    }
:is(form .color-field) input[type="color"] {
      background-color: var(--light-gray);
      border: 1px solid var(--light-gray);
      border-radius: var(--border-radius);
      cursor: pointer;
      display: block;
      height: 42px;
      margin: 0;
      padding: 0;
      width: 42px;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
    }
:is(form .color-field) input[type="color"]::-webkit-color-swatch-wrapper {
      padding: 0;
    }
:is(form .color-field) input[type="color"]::-webkit-color-swatch {
      border: none;
    }
:is(form .color-field) .invalid-hex {
      border-color: var(--danger-color);
    }
:is(form .color-field) .a11y-info {
      font-size: 0.875rem;
    }
:is(:is(form .color-field) .a11y-info) h3 {
        margin: 0.25rem 0 0;
      }
:is(:is(form .color-field) .a11y-info) p {
        color: var(--dark-gray);
        margin-bottom: 0.25rem;
      }
:is(form .color-field) .open-a11y-modal {
      background-color: inherit;
      border: 0;
      cursor: pointer;
    }
:is(form .color-field) .contrast-ratio {
      background-color: var(--danger-color);
      border-radius: 2px;
      color: white;
      font-size: 0.875rem;
      line-height: 1rem;
      padding: 0 2px;
      position: absolute;
      top: -5px;
      right: -5px;
      z-index: 1;
    }
.pass-aa:is(form .color-field) .contrast-ratio {
        background-color: var(--success-color);
      }
:is(form .choose-or-create) nav {
      text-align: right;
    }
:is(form .choose-or-create) .with-intent-choose,:is(form .choose-or-create) .with-intent-create {
      display: none;
    }
.intent-create:is(form .choose-or-create) [data-intent="create"] {
        display: none;
      }
.intent-create:is(form .choose-or-create) .with-intent-create {
        display: block;
      }
.intent-choose:is(form .choose-or-create) [data-intent="choose"] {
        display: none;
      }
.intent-choose:is(form .choose-or-create) .with-intent-choose {
        display: block;
      }
form .button-field {
    display: flex;
  }
:is(form .button-field) input[type="text"] {
      border-color: var(--success-border);
      border-radius: 4px 0 0 4px;
      border-right: none;
    }
:is(form .button-field) input[type="text"]:focus {
      outline: 3px solid var(--green-100);
    }
:is(form .button-field) input[type="submit"] {
      border-color: var(--success-border);
      border-radius: 0 4px 4px 0;
    }
form select {
    display: block;
    border: var(--input-border);
    border-radius: var(--border-radius);
    padding: var(--input-padding);
    padding-right: 2rem;
    width: 100%;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat, repeat;
    background-position:
      right 0.7em top 50%,
      0 0;
    background-size:
      0.65em auto,
      100%;
  }
form fieldset {
    border: none;
    margin: 0;
    padding: 0;
  }
:is(form fieldset) *:has(.sr-only) {
      position: relative;
    }
:is(form fieldset) h2 {
      color: var(--heading-color);
      font-size: var(--text-xl);
      font-weight: 500;
      margin: 2rem auto 1rem;
      max-width: 820px;
      padding-bottom: 0.5rem;
    }
:is(form fieldset) ul.error-list {
      margin-bottom: 1rem;
    }
form legend {
    font-weight: bold;
    padding: 0;
    margin-bottom: 0.5rem;
  }
:is(form legend):has( + p.hint) {
      margin-bottom: 0;
    }
:is(form .radio-buttons) label {
      display: inline-block;
    }
form footer {
    align-items: center;
    justify-content: flex-end;
    display: flex;
    gap: 1rem;
    margin: 0;
    padding: 1rem;
  }
:is(form footer) a {
      color: var(--link-color);
      text-decoration: none;
    }
:is(:is(form footer) a):hover {
        color: var(--link-color-hover);
        text-decoration: underline;
      }
:is(form footer) a:not(.simple) {
      display: block;
      padding: var(--button-padding);
    }
form nav {
    text-align: center;
  }
form .textarea-autogrow {
    overflow-y: auto !important;
  }
form .grid-cols {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
  }
@media (width > 768px) {
form .grid-cols {
      grid-template-columns: 1fr 1fr;
  }
    }
.choices {
  margin-bottom: 0 !important;
}
.label-with-toggle {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 1rem 0 0.3rem;
}
.label-with-toggle label {
    margin: 0;
  }
.list-dropdown {
  border: 1px solid var(--light-gray);
  border-radius: 0.25rem;
}
.list-dropdown button {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
.nested-item textarea {
    min-height: 42px;
  }
.password_strength {
  width: 300px;
  height: 10px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; /* Remove default styling */
}
/* Fallback for browsers that support styling parts of progress */
.password_strength::-webkit-progress-bar {
  background-color: #eee;
  border-radius: 10px;
}
.password_strength::-webkit-progress-value {
  border-radius: 10px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  background-color: var(--gray-500);
}
/* For Firefox */
.password_strength::-moz-progress-bar {
  border-radius: 10px;
  -moz-transition: background-color 0.3s;
  transition: background-color 0.3s;
  background-color: var(--gray-500);
}
.password_strength.red::-webkit-progress-value { background-color: var(--red); }
.password_strength.orange::-webkit-progress-value { background-color: var(--orange-500); }
.password_strength.green::-webkit-progress-value { background-color: var(--green); }
.password_strength.red::-moz-progress-bar { background-color: var(--red); }
.password_strength.orange::-moz-progress-bar { background-color: var(--orange-500); }
.password_strength.green::-moz-progress-bar { background-color: var(--green); }
/*
  Automatically generated by select_with_caret:generate_css rake task.
  Do not edit this file manually.
*/
select.select-with-caret {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tIUZvbnQgQXdlc29tZSBQcm8gNi43LjIgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTI0NCA3Yy0xMS43LTkuMy0yOC4zLTkuMy00MCAwTDQ0IDEzNWMtMTMuOCAxMS0xNiAzMS4yLTUgNDVzMzEuMiAxNiA0NSA1TDIyNCA3MyAzNjQgMTg1YzEzLjggMTEgMzMuOSA4LjggNDUtNXM4LjgtMzMuOS01LTQ1TDI0NCA3ek00MDQgMzc3YzEzLjgtMTEgMTYtMzEuMiA1LTQ1cy0zMS4yLTE2LTQ1LTVMMjI0IDQzOSA4NCAzMjdjLTEzLjgtMTEtMzMuOS04LjgtNDUgNXMtOC44IDMzLjkgNSA0NUwyMDQgNTA1YzExLjcgOS4zIDI4LjMgOS4zIDQwIDBMNDA0IDM3N3oiLz48L3N2Zz4=");
  background-position:
    right 0.7em top 50%,
    0 0;
  background-repeat: no-repeat, repeat;
  background-size:
    0.65em auto,
    100%;
  border: none;
  margin: 0;
  padding: 0 1.5rem 0 0.25rem;
  width: inherit;
}
.dark-mode select.select-with-caret {
  background-color: inherit;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tIUZvbnQgQXdlc29tZSBQcm8gNi43LjIgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI0NCA3Yy0xMS43LTkuMy0yOC4zLTkuMy00MCAwTDQ0IDEzNWMtMTMuOCAxMS0xNiAzMS4yLTUgNDVzMzEuMiAxNiA0NSA1TDIyNCA3MyAzNjQgMTg1YzEzLjggMTEgMzMuOSA4LjggNDUtNXM4LjgtMzMuOS01LTQ1TDI0NCA3ek00MDQgMzc3YzEzLjgtMTEgMTYtMzEuMiA1LTQ1cy0zMS4yLTE2LTQ1LTVMMjI0IDQzOSA4NCAzMjdjLTEzLjgtMTEtMzMuOS04LjgtNDUgNXMtOC44IDMzLjkgNSA0NUwyMDQgNTA1YzExLjcgOS4zIDI4LjMgOS4zIDQwIDBMNDA0IDM3N3oiLz48L3N2Zz4=");
}
slug-field slug-preview {
    color: var(--base-hint-color);
    display: block;
    font-size: var(--text-xs);
    margin-top: 0.25rem;
  }
slug-field slug-value {
    font-weight: bold;
  }
slug-field .hint.reminder {
    color: var(--danger-color);
  }
.star-form {
  position: absolute;
  right: 8px;
  top: calc(50% - 12px);
  width: 30px;
}
.star-form button {
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 9999px;
  }
:is(.star-form button):hover:not([aria-disabled="true"]) {
      background-color: var(--gray-200);
    }
.starred:is(.star-form button) {
      color: var(--yellow-500);
    }
.star {
  color: var(--yellow-500);
}
:scope .subform {
  margin-left: 1.65rem;
}
:is(:scope .subform) a:not(.btn) {
    color: var(--dark-purple);
    text-decoration: none;
  }
:is(:is(:scope .subform) a:not(.btn)):hover,:is(:is(:scope .subform) a:not(.btn)):active,:is(:is(:scope .subform) a:not(.btn)):focus {
      text-decoration: underline;
    }
.subform-no-indent .subform {
  margin-left: 0;
}
:is(.subform-no-indent .subform) a:not(.btn) {
    color: var(--base-text-color);
  }

/*# sourceMappingURL=/assets/application-forms-0780441b.css.map */