/* Native Optimizely Forms skin. The vendor stylesheet is disabled in appsettings. */
.invited-form,
.Form__MainBody {
  color: var(--app-body-text, #2a2a2a);
  font-family: var(--app-body-font, Montserrat, sans-serif);
}

.invited-form .Form__Element,
.Form__MainBody .Form__Element { margin: 0 0 1.5rem; }
.invited-form label,
.Form__MainBody label { display: block; margin-bottom: .75rem; font-size: 1rem; font-weight: 400; }
.invited-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.invited-form select,
.invited-form textarea,
.Form__MainBody input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.Form__MainBody select,
.Form__MainBody textarea {
  width: 100%; min-height: 3rem; border: 1px solid #c5c5c5; background: #fff;
  padding: .75rem; color: inherit; font: inherit; border-radius: 0;
}
.invited-form textarea, .Form__MainBody textarea { min-height: 7rem; resize: vertical; }
.invited-form input:focus, .invited-form select:focus, .invited-form textarea:focus,
.Form__MainBody input:focus, .Form__MainBody select:focus, .Form__MainBody textarea:focus {
  outline: 2px solid var(--theme-color-primary-medium, #777); outline-offset: 1px;
}
.invited-form .FormSubmitButton,
.Form__MainBody .FormSubmitButton {
  min-width: 18rem; border: 2px solid #2a2a2a; border-radius: 0; background: #2a2a2a;
  color: #fff; padding: 1.25rem 2.5rem; font-weight: 600; letter-spacing: 3px; text-transform: none;
}
.invited-form .FormSubmitButton:hover, .Form__MainBody .FormSubmitButton:hover { background: transparent; color: #2a2a2a; }
.invited-form .Form__Element__ValidationError, .Form__MainBody .Form__Element__ValidationError { color: #a32020; margin-top: .5rem; }
.invited-form--hero {
  background: #faf9f7; padding: clamp(1.5rem, 2vw, 2.5rem);
  display: flex; flex-direction: column; min-width: 0; box-sizing: border-box;
  max-height: min(37.5rem, 70vh); max-height: min(37.5rem, 70dvh);
  color: #525252;
}
.invited-form--hero__title,
.invited-form--hero .Form__Title {
  flex: 0 0 auto; margin: 0 0 1.25rem; padding-bottom: 1.25rem;
  border-bottom: 1px solid #ccc; font-size: clamp(1.5rem, 2vw, 2rem); font-weight: 400;
}
.invited-form--hero-titled .Form__Title { display: none; }
.invited-form--hero__intro { margin: 0 0 1.25rem; }
.invited-form--hero__scroll {
  min-height: 0; overflow-y: auto; scrollbar-gutter: stable;
  padding: 3px; /* Keep focus outlines visible at the scroll edges. */
}
.invited-form--hero .Form__MainBody { color: inherit; }
.invited-form--hero label { margin-bottom: .5rem; font-size: .875rem; line-height: 1.5; }
.invited-form--hero input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),
.invited-form--hero select,
.invited-form--hero textarea {
  box-sizing: border-box; min-height: 0; padding: .375rem .625rem;
  border-color: #dce0e5; background: transparent; font-size: 1rem; line-height: 1.5;
}
.invited-form--hero textarea { min-height: 4rem; }
.invited-form--hero .FormSubmitButton {
  display: block; justify-self: center; width: auto; max-width: 100%; min-width: min(14rem, 100%);
  margin: 1.5rem auto 0; padding: .875rem 2rem; font-size: .875rem; letter-spacing: 2px;
}
@media (min-width: 1024px) {
  .invited-form--hero { height: 37.5rem; max-height: calc(100vh - 180px); max-height: calc(100dvh - 180px); }
}
.invited-tab-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr); gap: 1.5rem; align-items: stretch; }
.invited-tab-form__fields { min-width: 0; }
.invited-tab-form__image { min-height: 100%; overflow: hidden; }
.invited-tab-form__image img { width: 100%; height: 100%; min-height: 28rem; object-fit: cover; }
.invited-tab-form--no-image { display: block; max-width: 42rem; margin-inline: auto; }
.invited-form--two-column .Form__MainBody { display: block; }
.invited-form--two-column .FormStep { margin: 0; min-width: 0; }
/* Native fields live inside FormStep, not directly inside Form__MainBody. */
@media (min-width: 768px) {
  .invited-form--two-column .FormStep { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .invited-form--two-column .FormStep > .Form__Element { grid-column: 1 / -1; min-width: 0; margin: 0; }
  .invited-form--two-column .FormStep > .FormTextbox:nth-child(-n+4) { grid-column: auto; }
}
.invited-tab-form { gap: 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.invited-tab-form__fields { font-family: var(--font-body, Montserrat, sans-serif); }
.invited-tab-form .Form__Element__Caption { font-size: 14px; font-weight: 500; line-height: 20px; margin-bottom: 16px; }
.invited-tab-form input:not([type=hidden]):not([type=submit]):not([type=checkbox]):not([type=radio]),
.invited-tab-form select,
.invited-tab-form textarea {
  min-height: 0; padding: 8px 12px; border-color: #d1d5db; background: var(--app-bg, #faf9f7);
  font-size: 16px; line-height: 24px; box-sizing: border-box;
}
.invited-tab-form textarea { min-height: 60px; }
:is(.invited-tab-form, .invited-form--hero, .invited-form-selector) .FormChoice fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; border: 0; padding: 0; }
:is(.invited-tab-form, .invited-form--hero, .invited-form-selector) .FormChoice legend { width: 100%; }
:is(.invited-tab-form, .invited-form--hero, .invited-form-selector) .FormChoice fieldset > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
:is(.invited-tab-form, .invited-form--hero, .invited-form-selector) .FormChoice input { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--app-body-text, #525252); }
:is(.invited-tab-form, .invited-form--hero, .invited-form-selector) .FormChoice .FormChoice__Label { display: inline; margin: 0; font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
.invited-tab-form .FormSubmitButton { justify-self: start; width: auto; min-width: 0; margin-top: 16px; padding: 12px 20px; font-size: 22px; line-height: normal; letter-spacing: normal; }
.invited-tab-form__image { position: relative; min-height: 28rem; }
.invited-tab-form__image img { position: absolute; inset: 0; min-height: 0; }
@media (max-width: 767px) {
  .invited-tab-form { grid-template-columns: 1fr; }
  .invited-tab-form__image { min-height: 0; aspect-ratio: 4 / 3; }
}
@media (max-width: 699px) {
  .invited-form .FormSubmitButton, .Form__MainBody .FormSubmitButton { width: 100%; min-width: 0; }
  .invited-tab-form { grid-template-columns: 1fr; }
  .invited-tab-form__image { order: 2; }
  .invited-tab-form__image img { min-height: 16rem; max-height: 24rem; }
}
.invited-native-form-loading {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1.5rem;
    background: rgba(0, 0, 0, .45);
    color: #fff;
    text-align: center;
}
.invited-native-form-loading[hidden] { display: none; }
.invited-native-form-loading__spinner {
    width: 48px;
    height: 48px;
    border: 4px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: invited-native-form-spin .75s linear infinite;
}
@keyframes invited-native-form-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .invited-native-form-loading__spinner { animation: none; }
}

.invited-form-selector > .invited-form {
  width: 100%;
  max-width: 56.25rem;
  margin-inline: auto;
}
@media (min-width: 700px) {
  .invited-form-selector .FormSubmitButton {
    display: block;
    width: 100%;
    max-width: 18rem;
    min-width: 0;
    margin-inline: auto;
  }
}
.invited-form-selector__panel { margin-top: 2rem; }
.invited-form-selector__panel[hidden] { display: none !important; }
